@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:200;src:url(/fonts/SourceSansPro-ExtraLight.f6026c0d.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:400;src:url(/fonts/SourceSansPro-Regular.c74cb4d5.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:600;src:url(/fonts/SourceSansPro-Semibold.92d0153f.woff2) format("woff2")}@font-face{font-display:swap;font-family:Source Sans Pro;font-style:normal;font-weight:700;src:url(/fonts/SourceSansPro-Bold.77b73115.woff2) format("woff2")}:root{--bg:#080808;--accent:#d62828;--fg:#f5f5f6;--muted:#b4b4bc;--line:#35363d;background:var(--bg);color:var(--fg);scroll-behavior:smooth}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:var(--bg);font-family:Source Sans Pro,Arial,sans-serif;font-size:16px;line-height:1.5;margin:0;position:relative;width:100%}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.inline-svg,img{display:block}.eyebrow{color:#b4b4bc;font-size:10px;letter-spacing:3.5px;margin:0 0 20px}h1{font-size:clamp(44px,5.4vw,75px);font-weight:700;letter-spacing:-2.6px;line-height:1.02;margin:0 0 22px}h1 em{color:var(--accent);font-style:normal}.lead{color:#b3b3b8;line-height:1.6;margin:0 0 30px;max-width:360px}.section{border-bottom:1px solid var(--line);position:relative;scroll-margin-top:114px}.kicker{align-items:center;color:#b4b4ba;display:flex;font-size:14px;gap:17px;letter-spacing:.5px;margin:0 0 19px}.kicker b{color:var(--accent)}.kicker i{background:var(--accent);display:block;height:1px;width:37px}h2{font-size:clamp(29px,3vw,40px);font-weight:700;letter-spacing:-1px;line-height:1.1;margin:0}.section-top{align-items:end;display:grid;gap:50px;grid-template-columns:1fr 1fr;margin-bottom:46px}.section-top>p{color:var(--muted);line-height:1.6;margin:0;max-width:350px}@media(max-width:650px){.section{scroll-margin-top:109px}.lead{max-width:340px}.section-top{gap:25px;grid-template-columns:1fr;margin-bottom:30px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #f5f5f5;outline-offset:6px}.skip-link{background:#f5f5f5;color:#080808;left:16px;padding:12px 20px;position:fixed;top:16px;transform:translateY(-180%);z-index:20}.skip-link:focus{transform:none}.visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}select:focus-visible{outline-color:var(--fg)}.container{margin:auto;width:min(89%,1068px)}@media(max-width:850px){.container{width:min(90%,700px)}}.actions{display:flex;gap:26px}.actions,.btn{align-items:center}.btn{background:var(--accent);border:1px solid transparent;border-radius:5px;color:inherit;cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:22px;min-height:48px;padding:14px 21px}.btn .inline-svg,.btn img{flex-shrink:0;height:16px;width:16px}.btn:hover{background:#b82020}.btn-outline{background:transparent;border-color:#fff}.btn-outline:hover{background:hsla(0,0%,100%,.2)}.btn-outline .inline-svg{stroke:currentColor}.red-link{color:var(--accent);font-size:16px}@media(max-width:650px){.actions{gap:20px}}@media(prefers-reduced-motion:no-preference){.btn,.red-link{transition:color .2s,background-color .2s}}.scroll-top{background:var(--accent);border:1px solid var(--accent);border-radius:5px;bottom:max(24px,env(safe-area-inset-bottom));color:var(--fg);cursor:pointer;display:grid;height:44px;padding:0;place-items:center;position:fixed;right:max(24px,env(safe-area-inset-right));width:44px;z-index:10}.scroll-top[hidden]{display:none}.scroll-top:hover{background:#b82020}.scroll-top svg{height:22px;width:22px}.site-header{background-color:rgba(0,0,0,.8);height:90px;inset:0 0 auto;padding-bottom:20px;padding-top:20px;position:fixed;z-index:5}.site-header .logo{width:18%}.site-header .logo .inline-svg,.site-header .logo img{position:relative}.nav-wrap{align-items:center;display:flex;gap:20px;height:100%;justify-content:space-between}.logo{font-size:24px;font-weight:700;letter-spacing:-1.5px;white-space:nowrap}.logo span{color:var(--accent)}.logo .inline-svg,.logo img{height:auto;max-height:42px;object-fit:contain;width:180px}nav{align-items:center;display:flex;gap:25px;height:100%}nav,nav a{position:relative}nav a{font-size:16px}nav a:hover{color:var(--accent)}.nav-contact{background-color:rgba(8,8,8,.5);border:1px solid #d62828;border-radius:5px;color:#f5f5f5;font-size:14px;padding:12px 20px;position:relative;white-space:nowrap}.language-control{display:none;position:relative}.js .language-control{display:block}.language-control select{background:#080808;border:1px solid var(--line);border-radius:5px;color:var(--fg);cursor:pointer;font-size:12px;padding:0 8px}.language-control select,.menu-button{height:40px;line-height:1;min-height:40px;vertical-align:middle}.menu-button{display:none}.menu-button .menu-icon{display:block;height:14px;position:relative;width:16px}.menu-button .menu-icon span{background:currentColor;height:2px;left:0;position:absolute;width:100%}.menu-button .menu-icon span:first-child{top:0}.menu-button .menu-icon span:nth-child(2){top:6px}.menu-button .menu-icon span:nth-child(3){top:12px}.menu-button[aria-expanded=true] .menu-icon span:first-child{top:6px;transform:rotate(45deg)}.menu-button[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-button[aria-expanded=true] .menu-icon span:nth-child(3){top:6px;transform:rotate(-45deg)}@media(max-width:850px){nav{gap:14px}.nav-contact{display:none}}@media(max-width:650px){.site-header{height:85px;padding-bottom:10px}.nav-wrap{flex-wrap:wrap;gap:16px;padding-top:0}.logo{font-size:22px;margin-right:auto}nav{display:flex;flex-wrap:wrap;gap:16px;order:4;padding:12px 0;position:static;width:100%}nav a{font-size:16px}nav a[aria-current]:after{display:none}.js .menu-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:5px;color:var(--fg);cursor:pointer;display:inline-flex;font-size:19px;justify-content:center;min-width:40px;padding:0 8px;position:relative}.js .menu-button:hover,.js .menu-button[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.js .menu-button:active{transform:scale(.94)}.js nav{align-items:stretch;background:#080808;display:flex;flex-flow:column nowrap;height:475px;left:0;max-height:calc(100vh - 85px);max-height:max(0px,100dvh - 85px - env(safe-area-inset-bottom));opacity:0;overflow-y:auto;overscroll-behavior-y:contain;padding:24px 6%;pointer-events:none;position:absolute;right:0;top:85px;transform:translateY(-8px);visibility:hidden}.js nav a{display:block;flex-shrink:0;min-height:44px;padding:10px 0}.js nav{border-bottom:1px solid var(--line)}.js nav.open{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}}@media(prefers-reduced-motion:no-preference){.menu-button{transition:color .2s,border-color .2s,transform .2s}.menu-button .menu-icon span{transition:top .2s,transform .2s,opacity .2s}}@media(prefers-reduced-motion:no-preference)and (max-width:650px){.js nav{transition:opacity .2s,transform .2s,visibility 0s .2s}.js nav.open{transition-delay:0s}}@media(prefers-reduced-motion:no-preference){nav a{transition:color .2s,background-color .2s}}.hero{background:#080808;border-bottom:1px solid var(--line);height:650px;min-height:580px;overflow:hidden;position:relative}.hero h1{font-size:clamp(40px,5vw,74px)}.hero .actions{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%;width:fit-content}.hero-art{inset:0;margin-inline:auto;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);max-width:1200px;position:absolute;width:100%}.hero-art:after{background:linear-gradient(90deg,#080808,#080808 20%,rgba(8,8,8,.95) 37%,rgba(8,8,8,.3) 72%,rgba(8,8,8,.5)),linear-gradient(180deg,rgba(8,8,8,.05),rgba(8,8,8,.15) 45%,rgba(8,8,8,.85));content:""}.hero-art:after,.hero-image{inset:0;pointer-events:none;position:absolute}.hero-image{height:100%;object-fit:cover;object-position:right center;user-select:none;width:100%}.hero-inner{align-items:center;display:flex;height:100%;padding-top:90px;position:relative}.hero-copy{position:relative;width:60%;z-index:1}.hero-terms{color:var(--muted);font-size:14px;left:60%;letter-spacing:3px;line-height:2.1;position:absolute;top:68%}.pager{display:grid;gap:11px;position:absolute;right:0;top:40%}.pager b{color:var(--accent);font-size:16px}.pager i{background:#777;height:1px;width:14px}.pager i:first-of-type{background:var(--accent)}@media(max-width:850px){.hero-copy{width:75%}.hero-terms{display:none}.hero h1{font-size:clamp(44px,7vw,64px)}}@media(max-width:650px){.hero{height:560px;min-height:560px}.hero h1{font-size:clamp(39px,9vw,58px);letter-spacing:-1.8px}.hero-image{object-position:80% center}.hero-art:after{background:linear-gradient(0deg,rgba(8,8,8,.95),rgba(8,8,8,.88) 36%,rgba(8,8,8,.4))}.hero-copy{padding:0;width:100%}.pager{display:none}}@media(max-width:649px){.hero .actions{gap:20px;grid-template-columns:minmax(0,1fr)}}.expertise{background:#080808;padding:53px 0 63px}.features{display:grid;grid-template-columns:minmax(0,1fr);row-gap:45px}.features article{min-width:0;overflow-wrap:anywhere;padding:14px 0 0}.features .inline-svg,.features img{height:31px;margin-bottom:24px;width:31px}.features h3{font-size:16px;font-weight:600;margin:0 0 12px}.features p{color:var(--muted);line-height:1.5;margin:0}@media screen and (max-width:389px){.features{grid-template-columns:minmax(0,1fr);row-gap:24px}}@media screen and (min-width:390px)and (max-width:649px){.features{grid-template-columns:minmax(0,1fr);row-gap:24px}}@media screen and (min-width:650px)and (max-width:849px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}.features article{border-left:1px solid var(--line);padding:14px 20px 0 15px}.features article:nth-child(odd){border-left:0;padding-left:0}}@media screen and (min-width:850px){.features{grid-template-columns:repeat(4,minmax(0,1fr))}.features article{border-left:1px solid var(--line);padding:14px 24px 0 32px}.features article:nth-child(4n+1){border-left:0;padding-left:0}}@media(prefers-reduced-motion:no-preference){.features .inline-svg,.features img{transition:transform .2s}.features article:hover .inline-svg,.features article:hover img{transform:translateY(-3px)}}.technology{padding:53px 0 60px}.technology h2{margin-bottom:20px}.technology-inner{align-items:center;display:grid;gap:60px;grid-template-columns:repeat(2,minmax(0,1fr))}.technology-inner>*{min-width:0}@media(max-width:850px){.technology-inner{gap:25px}}@media(max-width:650px){.technology-inner{grid-template-columns:minmax(0,1fr)}}.technology-inner>div:first-child>p:not(.kicker){color:var(--muted);line-height:1.6;margin:0 0 20px;max-width:350px}.tech-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0}.tech-grid>li{align-items:center;border-bottom:1px solid rgba(53,54,61,.55);border-left:1px solid rgba(53,54,61,.55);color:#96969c;display:flex;flex-direction:column;font-size:14px;gap:14px;justify-content:center;min-height:95px;min-width:0;overflow-wrap:anywhere;padding:12px 4px;text-align:center}.tech-grid>li.tech-last-row{border-bottom:0}.tech-icon{display:block;flex:none;height:30px;width:30px}@media(max-width:649px){.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tech-grid>li.tech-last-row{border-bottom:1px solid rgba(53,54,61,.55)}.tech-grid>li:nth-child(3n+1):nth-last-child(-n+3),.tech-grid>li:nth-child(3n+1):nth-last-child(-n+3)~li{border-bottom:0}}@media(max-width:650px){.technology{padding:45px 0}.tech-grid{margin-top:15px}}.driven{overflow:hidden;padding:50px 0 45px}.driven-art{inset:0;margin-inline:auto;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);max-width:1200px;position:absolute;width:100%}.driven-art:after{background:linear-gradient(90deg,#080808,rgba(8,8,8,.9) 25%,rgba(8,8,8,.2) 45%,rgba(8,8,8,0) 60%),linear-gradient(180deg,#080808,#080808 25%,rgba(8,8,8,.45) 40%,rgba(8,8,8,0) 60%);content:"";inset:0}.driven-art:after,.driven-image{pointer-events:none;position:absolute}.driven-image{bottom:-45px;height:auto;right:0;user-select:none;width:900px}.driven-inner{align-items:center;display:grid;gap:60px;grid-template-columns:repeat(2,minmax(0,1fr));position:relative}.driven-inner>*{min-width:0}@media(max-width:850px){.driven-inner{gap:25px}}@media(max-width:650px){.driven-inner{grid-template-columns:minmax(0,1fr)}}.driven-copy h2{margin-bottom:20px}.driven-copy>p:not(.kicker){color:var(--muted);line-height:1.6;margin:0 0 22px;max-width:445px}.driven-details{border-left:1px solid var(--line);padding-left:38px}.driven-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.driven-stats>div{padding:0 20px}.driven-stats>div:first-child{padding-left:0}.driven-stats>div+div{border-left:1px solid var(--line)}.driven-stats dt{color:var(--accent);font-size:32px;font-weight:600;line-height:1.1;margin-bottom:12px}.driven-stats dd{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.driven-values{color:var(--muted);font-size:12px;justify-self:end;letter-spacing:3px;line-height:2;margin:32px 0 0 auto;padding-right:10px;padding-top:20px;position:relative;text-align:right;width:max-content}.driven-values:before{background:var(--accent);content:"";height:1px;left:0;position:absolute;top:0;width:32px}@media(max-width:850px){.driven-image{height:100%;inset:0;object-fit:cover;object-position:70% bottom;width:100%}.driven-details{padding-left:20px}.driven-stats>div{padding-left:12px;padding-right:12px}}@media(max-width:650px){.driven-art{top:var(--driven-art-top,180px)}.driven-art:after{background:linear-gradient(180deg,rgba(8,8,8,.7),rgba(8,8,8,.15) 60%,rgba(8,8,8,0))}.driven-details{border-left:0;padding-left:0}}.contact{background:#080808;padding:47px 0 55px}.contact-inner{align-items:center;display:grid;gap:60px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-inner>*{min-width:0}@media(max-width:850px){.contact-inner{gap:25px}}@media(max-width:650px){.contact-inner{grid-template-columns:minmax(0,1fr)}}.contact-inner>div{border-left:1px solid var(--line);padding-left:38px}.contact-inner p{color:var(--muted);margin:0 0 17px}.contact-inner .email-js-note{margin:17px 0 0}@media(max-width:650px){.contact-inner>div{border-left:0;padding-left:0}}.contact-pending{line-height:1.6;max-width:320px}footer{background:#080808;border-top:1px solid var(--line)}.footer-inner{align-items:center;display:grid;gap:25px;grid-template-columns:minmax(0,1fr) auto auto;padding:32px 0}.footer-inner .copyright{color:#aaaab2;font-size:16px}.footer-brand{align-items:center;column-gap:32px;display:grid;grid-template-columns:124px max-content;justify-self:start}.footer-brand .logo{display:block;line-height:0;margin:0;width:100%}.footer-brand .logo .inline-svg,.footer-brand .logo img{height:auto;max-height:none;width:100%}.footer-tagline{border-left:1px solid #555;color:#aaaab2;font-size:14px;letter-spacing:2px;line-height:2;margin:0;padding:4px 0 4px 22px;text-align:center}.footer-email{background:none;border:0;color:#aaa;cursor:pointer;font-size:16px;padding:0}.footer-email:hover{color:#d62828}@media(max-width:850px){.footer-inner{grid-template-columns:auto minmax(0,1fr)}.footer-inner small{justify-self:end}.footer-brand{grid-column:1/-1}}@media(max-width:650px){.footer-inner{gap:16px;grid-template-columns:minmax(0,1fr)}.footer-inner small{justify-self:start}.footer-brand{column-gap:16px;margin-bottom:10px}.footer-tagline{font-size:12px;letter-spacing:1px;padding-left:16px}}.contact-dialog-open{overflow:hidden}@media(prefers-reduced-motion:no-preference){.contact-dialog{opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s,transform .2s,display allow-discrete .2s,overlay allow-discrete .2s}.contact-dialog::backdrop{opacity:0;transition:opacity .2s,display allow-discrete .2s,overlay allow-discrete .2s}.contact-dialog[open]{opacity:1;transform:translateY(0) scale(1)}@starting-style{.contact-dialog[open]{opacity:0;transform:translateY(12px) scale(.98)}}.contact-dialog[open]::backdrop{opacity:1}@starting-style{.contact-dialog[open]::backdrop{opacity:0}}}.contact-dialog{background:#080808;border:5px solid var(--line);border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.5);color:var(--fg);font-family:Source Sans Pro,Arial,sans-serif;font-size:16px;margin:auto;max-height:calc(100dvh - 32px);overflow:auto;padding:32px;width:min(660px,100% - 32px)}.contact-dialog::backdrop{backdrop-filter:blur(4px);background:rgba(0,0,0,.75)}.contact-dialog h2{font-size:28px;letter-spacing:0;line-height:1.2;margin-bottom:28px;padding-right:32px}.contact-dialog button:focus-visible{outline-color:#ff8a00}.contact-dialog-close{background:transparent;border:0;border-radius:5px;color:var(--fg);cursor:pointer;display:grid;height:32px;padding:0;place-items:center;position:absolute;right:16px;top:16px;width:32px}.contact-dialog-close svg{height:20px;width:20px}.contact-dialog-close:hover{color:var(--accent)}.contact-form{display:grid;gap:24px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.contact-form input,.contact-form textarea{background:#080808;border:1px solid var(--line);border-radius:5px;color:var(--fg);display:block;font:inherit;line-height:1.5;padding:12px;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:#ff8a00;outline:1px solid #ff8a00;outline-offset:1px}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:var(--accent)}.contact-form input[aria-invalid=true]:focus,.contact-form textarea[aria-invalid=true]:focus{outline-color:var(--accent)}.contact-form input{min-height:48px}.contact-form textarea{min-height:160px;resize:vertical}.contact-form textarea::placeholder{color:var(--muted);opacity:1}.contact-form-field{min-width:0}.contact-form-note,.contact-form-project,.contact-form-status,.contact-form-submit{grid-column:1/-1}.contact-form-error{color:var(--accent);display:block;font-size:13px;line-height:1.5;margin-top:8px}.contact-form-error[hidden]{display:none}.contact-form-note,.contact-form-status{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.contact-form-status:empty{display:none}.contact-form-submit{font-size:14px;justify-content:center}.contact-form-submit:disabled{background:var(--accent);cursor:not-allowed;opacity:.45}@media(max-width:650px){.contact-dialog{padding:24px 20px}.contact-form{gap:20px;grid-template-columns:minmax(0,1fr)}}