@font-face{font-family:Aeonik;src:url('/fonts/aeonik-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Hellix;src:url('/fonts/hellix-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Hellix;src:url('/fonts/hellix-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#000;--ink:#fff;--accent:#32a9ff;--muted:#b2b2b2;--line:#292929;--gutter:32px;--ease:cubic-bezier(.16,1,.3,1)}
html{scrollbar-color:#555 #000;scroll-padding-top:100px}body{font-family:Hellix,sans-serif;font-size:17px;line-height:1.45;background:#000;color:#fff}h1,h2,h3{font-family:Aeonik,sans-serif;font-weight:500;letter-spacing:0;line-height:1.08}h2{font-size:clamp(36px,3.83vw,58px)}h3{font-size:30px}button,input,textarea{font-family:Hellix,sans-serif}.shell{width:calc(100% - 64px);max-width:1200px;margin-inline:auto}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:22px}.eyebrow:before{content:'•';margin-right:8px}.button{border-radius:0;padding:17px 23px;min-height:54px;font-size:16px;gap:20px;font-weight:600}.button-outline{background:#0d0d0d;border:1px solid #242424;color:#fff}.button-accent{background:#32a9ff;color:#071019}.button-accent:hover{background:#72c4ff}.button-outline:hover{background:#202020;border-color:#555}.button .icon{transition:transform .3s var(--ease)}.button:hover .icon{transform:translate(2px,-2px)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:30;background:#000;border-bottom:1px solid #141414;backdrop-filter:none;transition:transform .5s var(--ease)}.site-header:has(.mega-menu.is-open){transform:none}.nav-inner{height:80px;justify-content:flex-start;gap:45px}.wordmark{gap:9px}.wordmark img{width:20px;height:27px;filter:invert(1)}.wordmark>span{font-family:Aeonik,sans-serif;font-size:22px;font-weight:500;line-height:1}.desktop-nav{gap:26px;font-size:14px;color:#b2b2b2;font-weight:400}.nav-dropdown{display:flex;align-items:center;gap:7px;border:0;padding:16px 0;background:none;color:inherit;font-size:14px}.nav-dropdown .icon{width:12px;height:12px;transition:transform .4s}.nav-dropdown[aria-expanded=true] .icon{transform:rotate(180deg)}.nav-dropdown:hover,.nav-dropdown[aria-expanded=true]{color:#fff}.nav-project{margin-left:auto;font-size:14px;min-height:44px;padding:12px 16px;gap:25px}.nav-project .icon{width:16px;height:16px}.menu-toggle,.nav-panel{display:none}.mega-menu{position:absolute;left:0;right:0;top:100%;background:#080808;border-bottom:1px solid #282828;display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .5s var(--ease),opacity .35s,visibility .5s}.mega-menu.is-open{grid-template-rows:1fr;opacity:1;visibility:visible}.mega-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:45px;overflow:hidden;min-height:0}.mega-grid>div,.mega-image{margin-block:35px}.mega-grid>div>a{display:flex;justify-content:space-between;gap:15px;font-size:19px;padding:12px 0;border-bottom:1px solid #282828}.mega-grid a:hover{color:#32a9ff}.mega-image img{width:100%;height:140px;object-fit:cover;object-position:top}.mega-image>span{display:flex;justify-content:space-between;margin-top:12px;font-size:14px}
.reference-hero{position:relative;isolation:isolate;overflow:hidden;padding:100px 0 45px}.hero-atmosphere{position:absolute;inset:0 4% 20%;z-index:-1;background:linear-gradient(#232a34 25%,#1c222a 62%,#000);transform-origin:top;animation:atmosphere 12s ease-in-out infinite alternate}.hero-intro h1{font-size:clamp(58px,7.65vw,110px);line-height:1;max-width:1160px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-top:38px}.hero-bottom p{max-width:480px;color:#c0c5cd;font-size:19px}.hero-gallery{margin:85px 0 32px;padding-left:max(32px,calc((100vw - 1200px)/2));overflow:visible}.gallery-track{display:flex;gap:30px;width:max-content;animation:gallery-drift 22s ease-in-out infinite alternate}.gallery-project{display:block;width:min(65vw,940px);flex-shrink:0}.gallery-browser{border:1px solid #3b5262;border-radius:8px;overflow:hidden;background:#111}.gallery-browser>img{width:100%;aspect-ratio:14/9;object-fit:cover;object-position:top}.gallery-caption{display:flex;justify-content:space-between;gap:20px;font-size:15px;color:#a9a9a9;margin-top:17px}.gallery-caption>span:last-child{display:flex;align-items:center;gap:10px}.gallery-caption>span:first-child{color:white}.screen-bar{height:27px;background:#0b0e11;border-bottom:1px solid #20262c}.screen-bar>span{background:#404b56}.screen-bar>i{font-size:11px;color:#909ba5}.hero-controls{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#aaa;margin-top:30px}.hero-controls>a{display:flex;align-items:center;gap:12px}.hero-controls button{border:0;background:none;color:#aaa;padding:12px 0}.gallery-paused .gallery-track,.gallery-paused .hero-atmosphere{animation-play-state:paused}@keyframes gallery-drift{to{transform:translateX(-18vw)}}@keyframes atmosphere{to{transform:scale(1.06) translateY(-10px);opacity:.8}}
.fw-site{position:relative;aspect-ratio:14/9;overflow:hidden;container-type:inline-size;background:#405143 url('/images/studio/farmingwatch-original-background.jpg') center/cover no-repeat;color:#f9fafb;font-family:Arial,sans-serif}.fw-site::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,23,17,.25),transparent 70%)}.fw-nav{position:absolute;inset:7% 7% auto;display:flex;align-items:center;justify-content:space-between;gap:5%;font-size:1.25cqw}.fw-site .fw-nav>img{width:25%;height:auto;max-height:none}.fw-nav>div{display:flex;align-items:center;gap:2.2cqw}.fw-shop{padding:.7cqw 1.8cqw;background:#f9fafb;color:#17251d;border-radius:.5cqw;font-weight:700}.fw-hero{position:absolute;left:7%;right:7%;top:33%}.fw-headline{font-size:6.3cqw;font-weight:700;line-height:1.14;letter-spacing:-.04em}.fw-description{font-size:1.7cqw;line-height:1.6;margin-top:2.2cqw}.fw-description em{font-style:normal;color:#99e259}.fw-start{display:inline-flex;align-items:center;gap:2cqw;padding:1.1cqw 1.8cqw;margin-top:3cqw;border-radius:.45cqw;background:#f9fafb;color:#16291d;font-size:1.45cqw;font-weight:700}.fw-start b{font-size:2cqw}
.process-section{position:relative;isolation:isolate;padding:170px 0 100px}.process-atmosphere{position:absolute;top:0;left:4%;right:4%;height:570px;background:linear-gradient(#232a34 65%,#000);z-index:-1}.center-heading{text-align:center;margin-bottom:85px}.center-heading h2{line-height:1.15}.process-steps{width:76%;margin:auto;position:relative}.process-steps:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(transparent,#262626,transparent)}.process-step{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-bottom:80px}.process-step>img{width:100%;aspect-ratio:1.6;object-fit:cover}.process-step h3{font-size:31px;margin:17px 0 20px}.process-step p{font-size:16px;color:#a9a9a9;max-width:350px}.step-number{color:#777;font-size:12px}.polished-project{position:relative;width:82%;margin:135px auto 0;border:1px solid #2c4a5d;border-radius:8px;overflow:hidden;min-height:470px}.polished-browser{position:absolute;inset:0}.polished-browser .fw-site{height:100%}.polished-project:after{content:'';position:absolute;inset:0;background:linear-gradient(#0005,#000b 42%,#000 100%)}.polished-copy{position:relative;z-index:1;text-align:center;padding:165px 25px 55px}.polished-copy h2{font-size:clamp(38px,4.7vw,64px)}.polished-copy p{margin:22px auto;color:#b2b2b2;font-size:16px;max-width:300px}.polished-copy .button{margin-top:5px}
.case-banner{position:relative;min-height:680px;overflow:hidden}.banner-slide{position:relative;min-height:680px;display:flex;align-items:flex-end;padding:80px 0}.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}.banner-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#000 2%,#0009 50%,#0001 90%),linear-gradient(90deg,#0006,transparent 80%)}.banner-copy{position:relative;z-index:1}.case-name{display:block;font-size:20px;margin-bottom:18px}.banner-copy h2{font-size:44px;max-width:530px}.banner-copy>p:not(.eyebrow){max-width:390px;margin:22px 0;color:#ddd;font-size:18px}.case-next{position:absolute;z-index:2;right:5%;top:46%;width:54px;height:54px;border-radius:50%;border:1px solid #fff5;background:#fff2;color:#fff;display:grid;place-items:center}.case-next .icon{transform:rotate(45deg)}.case-next:hover{background:#fff4}.case-dots{display:flex;position:absolute;z-index:2;right:5%;bottom:60px;gap:10px}.case-dots button{width:36px;height:32px;padding:0;border:0;background:transparent;position:relative}.case-dots button:after{content:'';position:absolute;inset:15px 0;background:#777;height:2px}.case-dots button[aria-pressed=true]:after{background:#fff}.banner-slide.is-active{animation:case-enter .7s var(--ease)}@keyframes case-enter{from{opacity:.45}to{opacity:1}}
.specialty{padding-block:120px}.specialty>h2{max-width:900px;margin-bottom:75px}.specialty-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.specialty-card{position:relative;isolation:isolate;overflow:hidden;background:#191919;min-height:510px;padding:35px}.card-label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#999}.specialty-copy{position:relative;z-index:1;max-width:290px;margin-top:115px}.specialty-copy p{font-size:16px;color:#aaa;margin:20px 0}.specialty-copy>a{display:flex;align-items:center;justify-content:space-between;font-size:15px;border-bottom:1px solid #383838;padding:11px 0}.specialty-copy>a:hover{color:var(--accent)}.growth-art{position:absolute;right:-12%;bottom:0;width:58%;height:70%;background:#0a0a0a;z-index:-1}.growth-art i{position:absolute;width:145%;height:90%;border:1px solid #414141;border-radius:50%;left:-20%;top:-45%;transform:rotate(35deg)}.growth-art i:nth-child(2){top:-30%;left:0}.growth-art i:nth-child(3){top:-13%;left:22%}.growth-art>span{position:absolute;bottom:20%;left:25%;font-family:Aeonik;font-size:110px;color:#777}.systems-art{display:flex;justify-content:center;gap:20px;margin:40px -5px -50px;transform:rotate(-15deg)}.systems-art img{width:60px;height:60px;object-fit:contain;filter:grayscale(1) invert(1);opacity:.7}.systems-art img:nth-child(2){transform:translateY(-20px)}.systems-card .specialty-copy{margin-top:95px}
.about-section{background:#fff;color:#101010;padding:130px 0 0}.about-section .center-heading{margin-bottom:60px}.about-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:14px;grid-template-rows:1fr 1fr}.about-card{background:#f4f4f4;padding:30px;min-width:0}.about-card h3{font-size:29px}.about-card .card-label{display:block;margin-bottom:30px;font-size:10px;color:#696969}.about-card p{color:#666;font-size:16px;margin-top:20px}.client-names{display:flex;flex-direction:column;gap:14px;color:#666;font-size:15px;margin-top:30px}.clients-card h3{font-size:26px}.approach-card h3{font-size:30px}.stack-card{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;gap:35px}.stack-card .card-label{margin-bottom:20px}.stack-card a,.people-card a{display:flex;gap:14px;align-items:center;margin-top:20px;font-size:14px}.stack-icons{display:grid;grid-template-columns:repeat(3,1fr);align-content:center;gap:25px}.stack-icons img{width:50px;height:50px;object-fit:contain}.people-card{grid-column:3;grid-row:1/3;padding:0;display:flex;flex-direction:column}.people-card>img{height:52%;min-height:230px;width:100%;object-fit:cover}.people-card>div{padding:30px}.platforms{background:#fff;color:#111;padding:55px 0;margin-top:25px;overflow:hidden}.platform-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.platform-heading h2{font-family:Hellix,sans-serif;font-size:15px;font-weight:400;color:#666}.platform-heading button{background:none;border:0;color:#666;padding:12px 0;font-size:14px}.platform-marquee{overflow:hidden}.platform-track{display:flex;gap:50px;width:max-content;animation:platform-loop 40s linear infinite}.platform-logo{display:flex;gap:10px;align-items:center;white-space:nowrap;font-size:16px;filter:grayscale(1)}.platform-logo img{width:32px;height:32px;object-fit:contain}.platform-track.is-paused{animation-play-state:paused}@keyframes platform-loop{to{transform:translateX(-50%)}}
.project-feature{background:linear-gradient(#1a1a1a,#000);padding:120px 0 75px;overflow:hidden}.feature-inner{display:grid;grid-template-columns:.8fr 1.6fr;align-items:end;gap:55px;min-height:550px}.feature-copy{position:relative;z-index:1;padding-bottom:35px}.feature-copy h2{font-size:38px;line-height:1.1}.feature-copy p:not(.eyebrow){font-size:16px;color:#aaa;margin:20px 0}.project-feature .project-screen{width:calc(100% + 230px);border:1px solid #36505f;border-radius:8px;box-shadow:none;transform:translateY(var(--preview-y,0px)) rotateX(var(--preview-rotate,0deg));align-self:start}.contact-band{background:linear-gradient(#252c36 40%,#000);padding:100px 0 130px;position:relative;border-top:4px solid #32a9ff}.contact-band-inner{display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:center;max-width:1050px}.contact-band-art{height:380px;overflow:hidden;mask-image:linear-gradient(#000 75%,transparent)}.contact-band-art img{height:100%;width:100%;object-fit:cover;object-position:left top}.contact-band h2{font-size:clamp(48px,5.5vw,76px)}.contact-band p{font-size:18px;color:#b6bac2;margin:25px 0}.reference-footer{padding-top:85px;background:#000}.footer-grid{display:grid;grid-template-columns:1.6fr 1.2fr .8fr .7fr;gap:50px}.footer-grid>div>p{font-size:25px;line-height:1.2;max-width:310px;margin-bottom:28px}.footer-grid .eyebrow{display:block;font-size:10px;margin-bottom:25px}.footer-grid a{display:flex;align-items:center;gap:10px;font-size:14px;color:#b2b2b2;padding-block:8px}.footer-grid a .icon{width:12px;height:12px}.footer-grid a:hover{color:#fff}.footer-outline{font-family:Aeonik,sans-serif;font-weight:500;font-size:26.5vw;line-height:.83;color:transparent;-webkit-text-stroke:1px #262626;letter-spacing:-.035em;overflow:hidden;padding:45px 0 35px;user-select:none}.footer-outline span{display:block}.footer-outline span:last-child{text-align:right}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:#888;padding-block:30px}.footer-bottom>div{display:flex;gap:25px}
.contact-page{background:linear-gradient(#232a34,#000 80%);padding:100px 0 130px;min-height:85vh}.contact-inner{max-width:1264px;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.contact h2{font-size:clamp(50px,5.5vw,78px);letter-spacing:0}.contact-copy>p:not(.contact-kicker){color:#b2b2b2;font-size:19px}.contact-email{font-size:17px;color:#ddd}.contact-form-area{background:#0b0b0b;border:1px solid #353535;padding:40px;min-width:0}.conversation-progress{list-style:none;display:flex;justify-content:space-between;gap:16px;margin:0 0 40px;padding:0;color:#888;font-size:14px}.conversation-progress li{display:flex;align-items:center;gap:8px}.conversation-progress li>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #555;border-radius:50%;flex-shrink:0}.conversation-progress li[aria-current]{color:#fff}.conversation-progress li[aria-current]>span{background:#32a9ff;border-color:#32a9ff;color:#000}.conversation-stage{min-height:380px}.step-title{font-size:36px;outline:none}.step-note{color:#aaa;margin:17px 0 30px;font-size:17px}.contact .service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact .service-options span{border-radius:0;min-height:65px;padding:12px 14px;font-size:16px;border-color:#414141;justify-content:flex-start;background:#151515}.contact .service-options label:last-child{grid-column:1/-1}.contact .service-options input:checked+span{background:#153248;border-color:#32a9ff;color:#fff}.contact .service-options label:hover span{border-color:#32a9ff}.conversation-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:30px}.conversation-back{margin-right:auto;background:none;border:0;color:#ccc;padding:14px 0}.conversation-privacy{color:#999;font-size:14px;text-align:right;margin-top:24px}.conversation-privacy a{text-decoration:underline;text-underline-offset:4px}.contact .form-row{grid-template-columns:1fr;gap:0}.contact .form-field input,.contact .form-field textarea{background:#151515;border:1px solid #444;padding:14px;font-size:17px;color:#fff}.contact .form-field input::placeholder,.contact .form-field textarea::placeholder{color:#999}.contact .form-field label,.contact .form-field label span{color:#bbb;font-size:15px}.contact .field-error:empty{display:none}.conversation-recap{padding:18px;background:#181818;color:#aaa;font-size:15px}.conversation-budget{border-top:1px solid #333;margin-top:25px}.conversation-budget summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;padding:18px 0;color:#ccc;list-style:none}.conversation-budget summary>span{color:#999;font-size:14px}.conversation-budget summary b{font-size:20px;margin-left:8px}.budget-picker{padding:20px;margin:0;border:1px solid #353535}.budget-picker legend{font-size:16px}.budget-picker legend>span{display:block;font-size:13px;color:#999}.budget-stage{padding:15px 0}.budget-stage #budget-title{font-family:Aeonik;font-size:25px}.budget-stage #budget-note{font-size:15px;color:#aaa;margin-top:10px}.budget-options{display:flex;flex-wrap:wrap;gap:8px}.budget-options label{flex:1 0 40%;position:relative;cursor:pointer}.budget-options input{position:absolute;opacity:0;width:1px;height:1px}.budget-options span{display:block;border:1px solid #444;padding:12px;text-align:center;font-size:14px}.budget-options input:checked+span{border-color:#32a9ff;background:#153248}.budget-options input:focus-visible+span{outline:2px solid #32a9ff;outline-offset:3px}.budget-unsure{flex-basis:100%!important}.budget-footnote{font-size:13px;color:#999;margin-top:15px}.budget-track{height:2px;background:#333;margin:5px 0 20px}.budget-track>span{display:block;height:100%;width:calc(var(--budget-progress)*100%);background:#32a9ff}.preview-note{margin-top:25px;color:#aaa;border-color:#32a9ff}.contact .form-success h3{letter-spacing:0}.contact .form-status{color:#b2cfe4}.skip-link{background:#32a9ff;color:#000}
@media(min-width:1600px){.shell{max-width:1440px}.hero-gallery{padding-left:max(32px,calc((100vw - 1440px)/2))}.hero-intro h1{font-size:110px}.process-steps{width:80%}}
@media(max-width:1099px){.nav-inner{gap:25px}.desktop-nav{gap:18px}.process-steps{width:90%}.process-step{gap:65px}.specialty-card{padding:25px}.specialty-copy{max-width:240px}.about-card{padding:22px}.people-card{padding:0}.people-card>div{padding:22px}.about-card h3{font-size:25px}.stack-card{gap:20px}.stack-icons{gap:16px}.stack-icons img{width:40px;height:40px}.contact-band-inner{gap:60px}.footer-grid{gap:25px}.contact-inner{gap:40px}.contact-form-area{padding:28px}.conversation-progress li{flex-direction:column;align-items:flex-start}.contact .service-options span{font-size:15px}}
@media(max-width:799px){.shell{width:calc(100% - 40px)}.nav-inner{height:70px;gap:20px}.wordmark>span{font-size:21px}.wordmark img{width:18px;height:25px}.desktop-nav,.nav-project,.mega-menu{display:none}.nav-enhanced .menu-toggle{display:flex;align-items:center;justify-content:center;gap:14px;margin-left:auto;border:1px solid #333;background:#0d0d0d;color:#fff;padding:10px 12px;min-height:42px;font-size:14px}.menu-glyph{position:relative;display:block;width:18px;height:12px}.menu-glyph i{position:absolute;top:2px;left:0;right:0;height:1px;background:#fff;transition:transform .4s var(--ease)}.menu-glyph i:last-child{top:10px}.menu-open .menu-glyph i:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-glyph i:last-child{transform:translateY(-4px) rotate(-45deg)}.nav-enhanced .nav-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .5s var(--ease),opacity .3s,visibility .5s;background:#070707}.nav-panel-clip{overflow:hidden;min-height:0}.nav-panel nav{display:flex;align-items:stretch;flex-direction:column;padding:10px 25px 35px;gap:0}.nav-panel nav a{display:flex;align-items:center;justify-content:space-between;font:500 27px Aeonik;border-bottom:1px solid #282828;padding:22px 0;transform:translateY(-12px);opacity:0;transition:transform .45s var(--ease),opacity .3s}.menu-open .nav-panel{grid-template-rows:1fr;opacity:1;visibility:visible}.menu-open .nav-panel nav a{transform:none;opacity:1;transition-delay:.08s}.menu-open .nav-panel nav a:nth-child(2){transition-delay:.12s}.menu-open .nav-panel nav a:nth-child(3){transition-delay:.16s}.menu-open .nav-panel nav a:nth-child(4){transition-delay:.2s}.reference-hero{padding:70px 0 40px}.hero-atmosphere{inset:0 0 20%}.hero-intro h1{font-size:clamp(46px,9vw,70px)}.hero-bottom{display:block;margin-top:30px}.hero-bottom p{font-size:18px;max-width:460px}.hero-bottom .button{margin-top:26px}.hero-gallery{padding-left:20px;margin-top:55px}.gallery-project{width:83vw}.gallery-track{gap:20px}.gallery-caption{font-size:13px;gap:10px}.gallery-caption>span:last-child{font-size:12px}.gallery-caption .icon{width:14px;height:14px}.hero-controls{font-size:13px}.process-section{padding:90px 0 70px}.process-atmosphere{left:0;right:0;height:480px}.center-heading{margin-bottom:60px}.center-heading h2{font-size:36px}.process-steps{width:100%}.process-step{gap:35px;margin-bottom:55px}.process-step h3{font-size:25px;margin:12px 0 15px}.process-step p{font-size:15px}.process-steps:before{display:none}.polished-project{width:100%;margin-top:75px;min-height:410px}.polished-copy{padding:125px 20px 45px}.case-banner,.banner-slide{min-height:580px}.banner-slide{padding-block:60px}.banner-copy h2{font-size:36px}.banner-copy>p:not(.eyebrow){font-size:17px;max-width:320px}.case-next{right:20px;top:30%;width:45px;height:45px}.case-dots{right:20px;bottom:30px}.specialty{padding-block:80px}.specialty>h2{font-size:36px;margin-bottom:45px}.specialty-grid{grid-template-columns:1fr 1fr;gap:12px}.specialty-card{padding:25px 20px;min-height:540px}.specialty-copy{margin-top:125px}.specialty-copy h3{font-size:28px}.growth-art{height:50%;width:100%;right:-45%}.systems-art{gap:10px}.systems-art img{width:42px;height:42px}.systems-card .specialty-copy{margin-top:110px}.about-section{padding-top:80px}.about-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.people-card{grid-column:2;grid-row:2}.stack-card{grid-column:1;grid-row:2;grid-template-columns:1fr;align-content:start}.people-card>img{min-height:180px;height:45%}.stack-icons{margin-top:20px}.project-feature{padding:70px 0 60px}.feature-inner{grid-template-columns:1fr;gap:40px;min-height:0}.feature-copy{max-width:500px;padding:0}.project-feature .project-screen{width:calc(100% + 70px);grid-row:1}.feature-copy h2{font-size:36px}.contact-band{padding:65px 0 85px}.contact-band-inner{grid-template-columns:.8fr 1fr;gap:35px}.contact-band-art{height:310px}.contact-band h2{font-size:42px}.contact-band p{font-size:17px}.contact-band .button{font-size:14px;padding:15px}.reference-footer{padding-top:60px}.footer-grid{grid-template-columns:1.3fr 1fr;gap:40px}.footer-grid>div>p{font-size:23px}.footer-outline{padding-top:65px}.footer-bottom{font-size:12px;align-items:flex-start;flex-direction:column;gap:10px}.contact-page{padding:65px 0 90px}.contact-inner{grid-template-columns:1fr;max-width:660px;gap:45px}.contact h2{font-size:60px}.contact-form-area{padding:30px}.conversation-progress li{flex-direction:row}.conversation-stage{min-height:380px}.contact .service-options span{font-size:16px}}
@media(max-width:480px){.hero-intro h1{font-size:clamp(41px,11.4vw,55px)}.hero-intro h1 br{display:none}.hero-bottom p{font-size:17px;max-width:330px}.hero-controls{gap:12px}.hero-controls .icon{width:15px}.gallery-caption>span:last-child{display:none}.reference-hero{padding-top:58px}.process-step{grid-template-columns:1fr;gap:20px;margin-bottom:50px}.process-step>img{max-width:100%;aspect-ratio:1.7}.process-step>div{padding-inline:10px}.process-step h3{font-size:30px}.process-step p{font-size:17px}.process-section .center-heading h2{font-size:34px}.center-heading .eyebrow{margin-bottom:18px}.polished-project{min-height:385px}.polished-copy h2{font-size:36px}.polished-copy{padding-top:100px}.polished-browser .fw-site{width:160%;transform:translateX(-20%)}.banner-copy h2{font-size:34px}.banner-copy>p:not(.eyebrow){max-width:270px}.banner-image{object-position:35% center}.specialty-grid{grid-template-columns:1fr}.specialty-card{min-height:480px;padding:28px}.specialty-copy{max-width:270px;margin-top:95px}.specialty-copy h3{font-size:32px}.growth-art{width:65%;right:-12%;height:65%}.systems-art{justify-content:flex-end;margin-top:30px}.systems-art img{width:52px;height:52px}.systems-card .specialty-copy{margin-top:85px}.about-grid{gap:10px}.about-card{padding:20px}.about-card h3{font-size:25px}.about-card p{font-size:15px}.about-card .card-label{font-size:9px;letter-spacing:.08em;margin-bottom:20px}.clients-card,.approach-card{grid-column:1/-1}.stack-card{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr 1fr;gap:20px}.stack-icons{grid-template-columns:repeat(2,1fr);gap:18px}.stack-icons img{width:38px;height:38px}.people-card{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;padding:0}.people-card>img{height:100%;min-height:310px}.people-card>div{padding:20px}.people-card h3{font-size:25px}.people-card a{font-size:13px;gap:8px}.platform-heading{align-items:flex-start;gap:20px}.platform-heading h2{font-size:14px;max-width:230px}.platform-heading button{font-size:13px;padding:0}.platforms .wrap{padding-inline:20px}.platform-track{gap:32px}.platform-logo{font-size:14px}.platform-logo img{width:27px;height:27px}.contact-band-inner{grid-template-columns:1fr;gap:25px}.contact-band-art{height:260px;width:100%;mask-image:linear-gradient(#000 65%,transparent)}.contact-band h2{font-size:48px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:nth-child(2){grid-row:2/4}.footer-grid a{font-size:14px}.footer-grid>div>p{max-width:330px}.footer-outline{font-size:27vw;padding-block:45px 25px}.contact h2{font-size:50px}.contact-inner{padding-inline:20px}.contact-form-area{padding:25px 18px}.conversation-progress{gap:10px;font-size:13px;margin-bottom:30px}.conversation-progress li{flex-direction:column;align-items:flex-start}.step-title{font-size:32px}.contact .service-options{gap:8px}.contact .service-options span{font-size:14px;padding:12px 9px;min-height:66px}.service-options span:before{flex-shrink:0}.conversation-budget summary{font-size:14px}.conversation-budget summary>span{font-size:12px}.budget-picker{padding:15px}.conversation-privacy{text-align:left}.contact .contact-email{font-size:16px}.contact .button{font-size:15px;padding:15px}.contact-copy>p:not(.contact-kicker){font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.project-feature .project-screen{transform:none}.hero-controls button{display:none}}
/* The owner-selected cinematic hero, October 1. Archive grey was a rendering fault. */
.cinema-hero{position:relative;isolation:isolate;padding-top:65px;overflow:hidden;background:#000}.hero-rays{position:absolute;top:0;left:50%;transform:translateX(-50%);width:1800px;height:650px;color:#1a1d21;z-index:-1;mask-image:linear-gradient(#000,transparent 85%)}.showcase-frame{position:relative;width:800px;max-width:calc(100% - 48px);height:460px;margin:auto;border:1px solid #34414e;background:#020304;overflow:hidden;box-shadow:0 12px 70px -25px #0d324f;mask-image:linear-gradient(#000 65%,transparent 100%)}.showcase-poster{position:absolute;inset:26px 30px -100px;overflow:hidden;perspective:1100px}.showcase-poster img{width:100%;height:100%;object-fit:cover;object-position:top;transform:rotateY(-14deg) rotateZ(8deg) scale(1.08);filter:brightness(.48);transform-origin:center}.showcase-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 10%,#000a 85%)}.project-reel{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;opacity:0;transition:opacity .4s}.showcase-frame.is-playing .project-reel{opacity:1}.reel-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:114px;height:114px;display:grid;place-items:center;border:1px solid #ffffff28;border-radius:50%;color:#fff;background:linear-gradient(#1a1a1ae8,#32302be8);backdrop-filter:blur(8px);transition:background .3s,opacity .3s}.reel-play svg{width:45px;height:45px;fill:currentColor}.pause-shape{display:none}.is-playing .play-shape{display:none}.is-playing .pause-shape{display:block}.is-playing .reel-play{opacity:.25}.is-playing .reel-play:hover,.is-playing .reel-play:focus-visible{opacity:1}.reel-status{position:absolute;top:25px;left:25px;color:white;font-size:14px}.cinema-copy{position:relative;text-align:center;margin-top:-125px;padding-bottom:60px;pointer-events:none}.cinema-copy h1{font-size:clamp(46px,4.5vw,72px);line-height:1.04;max-width:1150px;margin:auto;font-weight:500}.cinema-copy>p{font-size:18px;color:#b2b2b2;margin:38px auto 45px;max-width:620px;line-height:1.4}.cinema-copy .button{pointer-events:auto}.button-white{background:#fff;color:#111;border:1px solid #ddd}.button-white:hover{background:#ddd}.hero-client-strip{display:flex;align-items:center;justify-content:center;border-top:1px solid #1c1c1c;border-bottom:1px solid #1c1c1c;min-height:74px;margin-top:0;color:#818181;font-size:16px}.hero-client-strip>span{min-width:310px;text-align:center;padding:23px 50px;border-inline:1px solid #171717;height:74px;display:grid;place-items:center}.hero-client-strip img{width:180px;height:auto;filter:grayscale(1);opacity:.48}.process-atmosphere{display:none}.process-section{padding-top:170px}.contact-band,.contact-page{background:#000}.contact-band{border-top:1px solid #222}.growth-arrow{position:absolute;bottom:20%;left:25%;width:90px;height:90px;color:#777}.contact h1{font-size:clamp(50px,5.5vw,78px);line-height:1.04;letter-spacing:0}.platforms.is-paused .platform-track{animation-play-state:paused}.platform-logo-wide img{width:120px}.about-section .eyebrow{color:#076fab}.about-section .card-label{color:#666}.polished-project:after{background:linear-gradient(#0007,#000d 42%,#000 100%)}
@media(min-width:1600px){.shell{max-width:1200px}}
@media(max-width:799px){.cinema-hero{padding-top:45px}.showcase-frame{height:380px;max-width:calc(100% - 40px)}.cinema-copy{margin-top:-100px;padding-bottom:55px}.cinema-copy h1{font-size:44px;max-width:620px}.cinema-copy>p{font-size:17px;margin-block:28px 32px;max-width:490px}.reel-play{width:88px;height:88px;top:40%}.reel-play svg{width:34px;height:34px}.hero-client-strip>span{min-width:0;flex:1;padding:20px;font-size:14px}.hero-client-strip img{width:160px}.process-section{padding-top:95px}.contact h1{font-size:60px}}
@media(max-width:480px){.cinema-hero{padding-top:35px}.showcase-frame{height:285px;max-width:calc(100% - 40px)}.showcase-poster{inset:15px 16px -30px}.reel-play{top:38%;width:74px;height:74px}.reel-play svg{width:30px;height:30px}.cinema-copy{margin-top:-75px;padding-bottom:45px}.cinema-copy h1{font-size:clamp(34px,9.2vw,43px);line-height:1.05}.cinema-copy>p{font-size:16px;margin:25px auto 30px;max-width:335px}.desktop-break{display:none}.hero-client-strip{min-height:65px}.hero-client-strip>span{font-size:12px;height:65px;padding:15px 12px}.hero-client-strip img{width:145px}.contact h1{font-size:50px}}
.about-card .card-label,.footer-grid .eyebrow{font-size:11px}

.contact .budget-picker{background:#101010;color:#fff;border-radius:0;box-shadow:none}.contact .step-title{font-size:36px;line-height:1.12}.contact .budget-stage{background:transparent}.contact .budget-footnote{color:#aaa}@media(max-width:480px){.contact .step-title{font-size:32px}}

/* Final fidelity corrections from the independent review. */
.project-feature{background:#000}
.growth-art{right:-8%;bottom:0;width:62%;height:70%;background:#080808;transform:none}
.service-browser{position:absolute;left:0;top:0;width:110%;height:110%;border:1px solid #343434;overflow:hidden;background:#0d0d0d;transform:perspective(700px) rotateY(-8deg);transform-origin:left}
.service-browser-bar{height:24px;display:flex;gap:5px;align-items:center;padding:0 10px;border-bottom:1px solid #333;background:#171717}
.growth-art .service-browser-bar i{position:static;width:4px;height:4px;border:0;border-radius:50%;background:#666;transform:none}
.service-browser>img{width:100%;height:100%;object-fit:cover;object-position:top;filter:grayscale(1) brightness(.6)}
.growth-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#191919 0%,#191919a0 30%,transparent 85%)}
.systems-art{display:block;position:absolute;top:0;right:-18%;height:76%;width:70%;margin:0;transform:none;z-index:-1;opacity:.6}
.systems-art svg{width:100%;height:100%;object-fit:cover}
.systems-card .specialty-copy{margin-top:150px}
@media(min-width:800px) and (max-height:800px){.cinema-hero{padding-top:32px}.showcase-frame{height:345px}.cinema-copy{margin-top:-90px;padding-bottom:40px}.cinema-copy h1{font-size:clamp(46px,4.3vw,62px)}.cinema-copy>p{margin:24px auto 28px;font-size:17px}.reel-play{width:96px;height:96px;top:40%}.hero-client-strip{min-height:65px}.hero-client-strip>span{height:65px;padding-block:18px}}
@media(max-width:799px){.growth-art{right:-28%;width:90%;height:65%}.systems-card .specialty-copy{margin-top:140px}}
@media(max-width:480px){.growth-art{right:-12%;width:72%;height:66%}.systems-art{right:-12%;width:75%;height:70%}.systems-card .specialty-copy{margin-top:120px}}
/* October 1 side-by-side: reference measurements govern navigation and hero. */
.site-header .nav-inner{height:84px;width:84%;max-width:1200px;gap:70px}
.wordmark>span{font-size:21px}.wordmark img{width:19px;height:27px}
.desktop-nav{gap:56px;font-family:Hellix,sans-serif;font-size:16px;font-weight:600;color:#fff}
.nav-dropdown{font-size:16px;font-weight:600;padding:30px 0}.nav-dropdown>.icon{display:none}
.nav-project{font-size:16px;min-height:53px;padding:16px 23px;gap:24px}
.cinema-hero{padding-top:65px}
.showcase-frame{width:812px;height:449px;max-width:calc(100% - 48px);border-color:#34414e;mask-image:linear-gradient(#000 67%,transparent 100%)}
.showcase-poster{inset:27px 31px 0;perspective:none}
.showcase-poster img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:none;filter:brightness(.6)}
.showcase-poster:after{background:linear-gradient(transparent 30%,#0008 80%,#000)}
.reel-play{top:52%;width:116px;height:116px}.reel-play svg{width:45px;height:45px}
.cinema-copy{width:84%;max-width:1200px;margin-top:-114px;padding-bottom:64px}
.cinema-copy h1{font-size:70.5px;line-height:1.05;max-width:1200px;font-weight:500;letter-spacing:0}
.cinema-copy>p{font:500 17.6px/1.4 Aeonik,sans-serif;margin:35px auto 46px;max-width:600px;color:#b2b2b2}
.cinema-copy .button{font-size:16px;min-height:53px;padding:17px 23px;gap:20px}
.hero-rays{width:1800px;height:650px;top:12px;color:#171a1e}
.hero-client-strip{min-height:74px}.hero-client-strip>span{height:74px;min-width:340px;padding:23px 40px}
.hero-image-reel{position:relative;overflow:hidden;margin-top:78px;padding-bottom:28px}
.hero-image-track{display:flex;width:max-content;animation:hero-images-travel 65s linear infinite;transform:translateX(-110px)}
.hero-image-group{display:flex;flex-shrink:0;gap:53px;padding-right:53px}
.hero-image-group figure{flex:0 0 468px;width:468px;height:278px;overflow:hidden}
.hero-image-group img{width:100%;height:100%;object-fit:cover}
.image-reel-toggle{position:absolute;right:24px;bottom:0;width:30px;height:26px;display:grid;place-items:center;background:#000;border:0;color:#999;padding:3px}
.image-reel-toggle svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.reel-resume-icon{display:none}.hero-image-reel.is-paused .reel-pause-icon{display:none}.hero-image-reel.is-paused .reel-resume-icon{display:block}
.hero-image-reel.is-paused .hero-image-track,.hero-image-reel.is-offscreen .hero-image-track{animation-play-state:paused}
@keyframes hero-images-travel{from{transform:translateX(-110px)}to{transform:translateX(calc(-50% - 110px))}}
@media(max-width:1199px) and (min-width:800px){.site-header .nav-inner{width:90%;gap:42px}.desktop-nav{gap:32px}.nav-project{padding-inline:18px;font-size:15px}.cinema-copy{width:94%}.cinema-copy h1{font-size:clamp(46px,5.5vw,65px)}.showcase-frame{width:70vw;height:39vw}.cinema-copy{margin-top:-9vw}.reel-play{width:95px;height:95px}.hero-image-group figure{flex-basis:36vw;width:36vw;height:21.4vw}.hero-image-group{gap:4vw;padding-right:4vw}}
@media(max-width:799px){.site-header .nav-inner{width:calc(100% - 40px);height:70px;gap:20px}.wordmark>span{font-size:21px}.cinema-hero{padding-top:40px}.showcase-frame{width:calc(100% - 40px);max-width:none;height:360px}.showcase-poster{inset:20px 22px 0}.cinema-copy{width:calc(100% - 40px);margin-top:-95px;padding-bottom:50px}.cinema-copy h1{font-size:44px;line-height:1.06}.cinema-copy>p{font-size:17px;margin:28px auto 32px}.reel-play{width:88px;height:88px;top:48%}.reel-play svg{width:34px;height:34px}.hero-client-strip>span{min-width:0;flex:1;padding:20px;font-size:14px}.hero-image-reel{margin-top:52px}.hero-image-group{gap:24px;padding-right:24px}.hero-image-group figure{width:64vw;flex-basis:64vw;height:38vw}}
@media(max-width:480px){.showcase-frame{height:275px}.showcase-poster{inset:15px 16px 0}.cinema-copy{margin-top:-70px;padding-bottom:42px}.cinema-copy h1{font-size:clamp(32px,8.7vw,41px);line-height:1.07}.cinema-copy>p{font-size:16px;margin:25px auto 30px;max-width:330px}.reel-play{width:76px;height:76px;top:46%}.reel-play svg{width:31px;height:31px}.hero-client-strip,.hero-client-strip>span{height:65px;min-height:65px}.hero-client-strip>span{padding:15px 12px;font-size:12px}.hero-image-reel{margin-top:40px}.hero-image-group{gap:20px;padding-right:20px}.hero-image-group figure{width:78vw;flex-basis:78vw;height:46.3vw}}
@media(prefers-reduced-motion:reduce){.hero-image-track{animation:none;transform:none}.hero-image-reel{overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:20px}.hero-image-group{padding-right:0}.hero-image-group figure{scroll-snap-align:center}.hero-image-group[aria-hidden=true],.image-reel-toggle{display:none}}
.hero-image-reel{padding-bottom:44px}.image-reel-toggle{width:44px;height:44px}

/* Narrow reference layout: full-bleed media and a left-aligned reading flow. */
@media(max-width:799px){
  .site-header .nav-inner{height:54px;width:calc(100% - 40px)}
  .wordmark{gap:7px}.wordmark>span{font-size:17px}.wordmark img{width:16px;height:22px}
  .nav-enhanced .menu-toggle{border:0;background:transparent;padding:10px;min-height:44px;width:44px;margin-right:-10px}
  .menu-toggle [data-menu-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .menu-glyph{width:24px;height:20px}
  .menu-glyph i{top:2px}.menu-glyph i:last-child{top:18px}
  .menu-glyph:before{content:'';position:absolute;left:0;right:0;top:10px;height:1px;background:#fff;transition:opacity .2s}
  .menu-open .menu-glyph i:first-child{transform:translateY(8px) rotate(45deg)}
  .menu-open .menu-glyph i:last-child{transform:translateY(-8px) rotate(-45deg)}
  .menu-open .menu-glyph:before{opacity:0}
  .cinema-hero{padding-top:0}.hero-rays{display:none}
  .showcase-frame{width:100%;max-width:none;height:clamp(340px,76.4vw,540px);border:0;box-shadow:none;background:#000;mask-image:linear-gradient(#000 58%,transparent 100%)}
  .showcase-poster{inset:0}.showcase-poster img{object-position:center top;filter:brightness(.6)}
  .showcase-poster:after{background:linear-gradient(transparent 35%,#0008 85%,#000)}
  .reel-play{top:31%;width:88px;height:88px}.reel-play svg{width:40px;height:40px}
  .cinema-copy{width:calc(100% - 40px);text-align:left;margin-top:clamp(-232px,-33.33vw,-150px);padding-bottom:76px}
  .cinema-copy h1{font-size:44px;line-height:1.07;text-wrap:initial;margin:0;max-width:650px}
  .cinema-copy h1 br{display:none}
  .cinema-copy>p{max-width:600px;font-size:16px;line-height:1.4;margin:24px 0 40px}
  .cinema-copy .desktop-break{display:none}
  .cinema-copy .button{font-size:14px;min-height:48px;padding:13px 19px;gap:20px}
  .hero-client-strip,.hero-client-strip>span{height:48px;min-height:48px}
  .hero-client-strip>span{padding:12px;font-size:12px}
  .hero-client-strip img{max-width:150px}
  .hero-image-reel{margin-top:44px}
  .hero-image-group{gap:24px;padding-right:24px}
  .hero-image-group figure{width:46vw;flex-basis:46vw;height:29.2vw}
}
@media(max-width:480px){
  .cinema-copy h1{font-size:clamp(30px,9.23vw,40px)}
  .cinema-copy{padding-bottom:64px}
  .reel-play{width:80px;height:80px}.reel-play svg{width:35px;height:35px}
  .hero-image-group figure{width:70vw;flex-basis:70vw;height:44.4vw}
}

/* Mobile navigation occupies the viewport without moving the page beneath it. */
@media(max-width:799px){
  html.mobile-menu-open{overflow:hidden}
  .site-header.menu-open{transform:none;border-bottom-color:#000}
  .nav-enhanced .nav-panel{position:absolute;top:100%;left:0;width:100%;height:calc(100dvh - 54px);display:block;background:#000;overflow-y:auto;overscroll-behavior:contain;grid-template-rows:none;opacity:0;visibility:hidden;clip-path:inset(0 0 100%);transition:clip-path .5s var(--ease),opacity .25s,visibility .5s}
  .menu-open .nav-panel{clip-path:inset(0);opacity:1;visibility:visible}
  .nav-panel-clip{overflow:visible;min-height:100%}
  .nav-panel nav{padding:18px 20px 40px;gap:0}
  .nav-panel nav>.mobile-primary-link,.mobile-nav-group>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:86px;padding:24px 0;border:0;font:500 26px/1.2 Aeonik,sans-serif;color:#fff;background:none;list-style:none;cursor:pointer}
  .mobile-nav-group>summary::-webkit-details-marker{display:none}
  .nav-panel nav>.mobile-primary-link .icon,.mobile-nav-group>summary .icon{width:24px;height:24px;stroke-width:1}
  .mobile-nav-group[open] .nav-plus{transform:rotate(45deg)}
  .nav-plus{transition:transform .3s var(--ease)}
  .nav-panel nav>.mobile-primary-link,.mobile-nav-group{transform:translateY(-12px);opacity:0;transition:transform .45s var(--ease),opacity .3s}
  .menu-open .nav-panel nav>.mobile-primary-link,.menu-open .mobile-nav-group{transform:none;opacity:1;transition-delay:.08s}
  .menu-open .mobile-nav-group:nth-child(2){transition-delay:.12s}
  .menu-open .nav-panel nav>.mobile-primary-link:nth-child(3){transition-delay:.16s}
  .menu-open .nav-panel nav>.mobile-primary-link:nth-child(4){transition-delay:.2s}
  .mobile-submenu{padding:0 0 18px}
  .nav-panel .mobile-submenu a{padding:12px 0;font:400 17px/1.4 Hellix,sans-serif;border:0;color:#b2b2b2;transform:none;opacity:1}
  .nav-panel .mobile-submenu a:hover{color:#fff}
}
@media(prefers-reduced-motion:reduce){.nav-panel,.nav-panel nav>a,.mobile-nav-group,.menu-glyph i,.nav-plus{transition:none!important}}

/* Reference uses fluid rem sizing; scope that scale to the desktop opening. */
@media(min-width:800px){
  .reference-site{--hero-unit:calc(10px + .4166666667vw)}
  .site-header .nav-inner{height:calc(5.375 * var(--hero-unit));width:calc(100% - 15 * var(--hero-unit));max-width:none;padding-right:calc(.75 * var(--hero-unit));gap:calc(5.25 * var(--hero-unit))}
  .wordmark>span{font-size:calc(1.3125 * var(--hero-unit))}.wordmark img{width:calc(1.1875 * var(--hero-unit));height:calc(1.6875 * var(--hero-unit))}
  .desktop-nav{gap:calc(3.5 * var(--hero-unit));font-size:var(--hero-unit)}
  .nav-dropdown{font-size:var(--hero-unit)}
  .nav-project{font-size:var(--hero-unit);line-height:1;min-height:0;padding:calc(1.125 * var(--hero-unit)) calc(1.5 * var(--hero-unit));gap:var(--hero-unit)}
  .cinema-hero{padding-top:calc(4.125 * var(--hero-unit))}
  .showcase-frame{width:calc(51.8125 * var(--hero-unit));height:calc(28.672 * var(--hero-unit))}
  .showcase-poster{inset:calc(1.75 * var(--hero-unit)) calc(2 * var(--hero-unit)) 0}
  .showcase-poster img{object-fit:contain;object-position:center top}
  .reel-play{top:calc(15.242 * var(--hero-unit));width:calc(7.5 * var(--hero-unit));height:calc(7.5 * var(--hero-unit))}
  .reel-play svg{width:calc(2.75 * var(--hero-unit));height:calc(2.75 * var(--hero-unit))}
  .cinema-copy{width:calc(100% - 48px);max-width:calc(74 * var(--hero-unit));margin-top:calc(-7.25 * var(--hero-unit));padding-bottom:calc(4 * var(--hero-unit))}
  .cinema-copy h1{font-size:calc(4.5 * var(--hero-unit));line-height:1.05;max-width:none}
  .cinema-copy>p{font-size:calc(1.125 * var(--hero-unit));line-height:1.4;max-width:calc(38.5 * var(--hero-unit));margin:calc(2.25 * var(--hero-unit)) auto calc(3 * var(--hero-unit))}
  .cinema-copy .button{font-size:var(--hero-unit);line-height:1;min-height:0;padding:calc(1.125 * var(--hero-unit)) calc(1.5 * var(--hero-unit));gap:var(--hero-unit)}
  .cinema-copy .button .icon{width:calc(.75 * var(--hero-unit));height:var(--hero-unit)}
  .hero-client-strip,.hero-client-strip>span{height:calc(4.5 * var(--hero-unit));min-height:calc(4.5 * var(--hero-unit))}
  .hero-client-strip>span{min-width:calc(22 * var(--hero-unit));padding-block:var(--hero-unit)}
  .hero-image-reel{margin-top:calc(5 * var(--hero-unit))}
  .hero-image-group{gap:calc(3.25 * var(--hero-unit));padding-right:calc(3.25 * var(--hero-unit))}
  .hero-image-group figure{width:calc(29.5 * var(--hero-unit));flex-basis:calc(29.5 * var(--hero-unit));height:calc(17.875 * var(--hero-unit))}
}
@media(min-width:800px) and (max-width:1440px){.reference-site{--hero-unit:calc(13.0031217482px + .2081165453vw)}}
@media(min-width:800px) and (max-width:1100px){
  .site-header .nav-inner{width:calc(100% - 64px);gap:32px;padding-right:0}.desktop-nav{gap:28px}
  .cinema-copy h1{font-size:clamp(44px,5.2vw,57px)}
}

@media(min-width:1101px){.site-header .nav-inner{gap:calc(5.2 * var(--hero-unit))}.desktop-nav{display:grid;grid-template-columns:calc(9.625 * var(--hero-unit)) calc(8.892 * var(--hero-unit)) auto;gap:0}.reel-play{top:calc(15.242 * var(--hero-unit) - 1px)}}

/* Counter-moving client and case-study marquees. */
.hero-client-strip{overflow:hidden;justify-content:flex-start}
.hero-client-track{display:flex;width:max-content;animation:hero-clients-travel 65s linear infinite}
.hero-client-group{display:flex;flex-shrink:0;min-width:100vw}
.hero-client-group>span{display:grid;place-items:center;flex:1 0 calc(22 * var(--hero-unit,16px));height:calc(4.5 * var(--hero-unit,16px));padding:16px 30px;border-right:1px solid #171717;white-space:nowrap;text-align:center}
.hero-client-strip.is-paused .hero-client-track,.hero-client-strip.is-offscreen .hero-client-track{animation-play-state:paused}
.hero-image-track{animation-direction:reverse}
@keyframes hero-clients-travel{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:799px){.hero-client-group>span{flex-basis:220px;height:48px;padding:12px 20px;font-size:12px}}
@media(prefers-reduced-motion:reduce){
 .hero-client-track{animation:none;transform:none;width:100%}
 .hero-client-group{min-width:0;width:100%}
 .hero-client-group>span{flex:1;min-width:0;padding:12px;font-size:12px}
 .hero-client-group[aria-hidden=true],.hero-client-group>span[aria-hidden=true]{display:none}
}

/* Reference lighting: seven travelling blue highlights and an unclipped frame glow. */
.hero-lighting{position:absolute;inset:0 0 auto;height:calc(52 * var(--hero-unit,16px));z-index:-1;pointer-events:none;mask-image:linear-gradient(#000 60%,transparent 100%)}
.hero-lighting .hero-rays{position:absolute;inset:0 auto auto 0;width:100%;height:auto;transform:none;z-index:0;mask-image:linear-gradient(transparent,#000 16%,#000 40%,transparent 90%)}
.hero-video-glow{position:absolute;left:50%;top:calc(4.125 * var(--hero-unit,16px));transform:translateX(-50%);width:calc(51.8125 * var(--hero-unit,16px));max-width:calc(100% - 48px);height:calc(28.672 * var(--hero-unit,16px));background:#000;box-shadow:0 0 250px 0 rgba(0,148,255,.25)}
.showcase-frame{box-shadow:none}
.hero-ray-light{offset-distance:0%;offset-rotate:auto;offset-anchor:0px 0px;animation:hero-ray-travel 6s cubic-bezier(.25,1,.5,1) infinite}
@keyframes hero-ray-travel{from{offset-distance:0%}to{offset-distance:100%}}
.cinema-hero.hero-motion-paused .hero-ray-light,.hero-lighting.is-offscreen .hero-ray-light{animation-play-state:paused}
@media(max-width:799px){.hero-lighting{display:none}}
@media(prefers-reduced-motion:reduce){.hero-ray-highlights{display:none}}

/* Motion timing sampled from Apple global navigation, October 1, 2026. */
:root{--motion-ease:cubic-bezier(.4,0,.6,1);--motion-feedback:320ms;--motion-item:240ms;--motion-panel:422ms}
.reference-site a,.reference-site button,.mobile-nav-group>summary{transition:color var(--motion-feedback) var(--motion-ease),background-color var(--motion-feedback) var(--motion-ease),border-color var(--motion-feedback) var(--motion-ease),opacity var(--motion-item) var(--motion-ease)}
.reference-site .button{transition:color var(--motion-feedback) var(--motion-ease),background-color var(--motion-feedback) var(--motion-ease),border-color var(--motion-feedback) var(--motion-ease),transform 160ms var(--motion-ease)}
.button:active{transform:scale(.98)}
.button .icon,.case-next .icon,.nav-plus,.menu-glyph i{transition:transform var(--motion-item) var(--motion-ease)}
.menu-glyph:before{transition:opacity var(--motion-item) var(--motion-ease)}
.site-header{transition:transform var(--motion-feedback) var(--motion-ease)}
.mega-menu{transition:grid-template-rows var(--motion-panel) var(--motion-ease),opacity var(--motion-item) var(--motion-ease),visibility var(--motion-panel)}
.mega-grid>div,.mega-grid>.mega-image{opacity:0;transform:translateY(-8px);transition:opacity var(--motion-item) var(--motion-ease),transform var(--motion-item) var(--motion-ease)}
.mega-menu.is-open .mega-grid>div,.mega-menu.is-open .mega-grid>.mega-image{opacity:1;transform:none;transition-delay:80ms}
.mega-menu.is-open .mega-grid>:nth-child(2){transition-delay:100ms}.mega-menu.is-open .mega-grid>:nth-child(3){transition-delay:120ms}
.hero-ray-light{animation-timing-function:var(--motion-ease)}
@keyframes hero-ray-travel{from{offset-distance:0%}to{offset-distance:85%}}
.showcase-frame{animation:hero-frame-arrive 640ms cubic-bezier(.16,1,.3,1) both}
.cinema-copy h1{animation:hero-copy-arrive 480ms cubic-bezier(.16,1,.3,1) both}
.cinema-copy>p{animation:hero-copy-arrive 480ms 80ms cubic-bezier(.16,1,.3,1) both}
.cinema-copy>.button{animation:hero-copy-arrive 480ms 160ms cubic-bezier(.16,1,.3,1) both}
@keyframes hero-frame-arrive{from{opacity:.55}to{opacity:1}}
@keyframes hero-copy-arrive{from{opacity:.6;translate:0 10px}to{opacity:1;translate:0 0}}
.banner-slide.is-active{animation:case-enter 422ms var(--motion-ease)}
.case-dots button:after{transition:background-color var(--motion-feedback) var(--motion-ease)}
.reference-site input,.reference-site textarea,.service-options span{transition:border-color var(--motion-feedback) var(--motion-ease),background-color var(--motion-feedback) var(--motion-ease),box-shadow var(--motion-feedback) var(--motion-ease)}
.mega-image img,.about-card img,.hero-image-group img{transition:scale 422ms var(--motion-ease)}
@media(hover:hover){.mega-image:hover img,.hero-image-group figure:hover img{scale:1.025}.case-next:hover .icon{transform:translateX(3px) rotate(45deg)}}
@media(max-width:799px){
 .nav-enhanced .nav-panel{transition:clip-path 320ms var(--motion-ease),opacity 240ms var(--motion-ease),visibility 320ms}
 .menu-open .nav-panel{transition-duration:422ms,240ms,422ms}
 .nav-panel nav>.mobile-primary-link,.mobile-nav-group{transition:transform 240ms var(--motion-ease),opacity 240ms var(--motion-ease);transition-delay:0ms}
 .menu-open .nav-panel nav>.mobile-primary-link,.menu-open .mobile-nav-group{transition-delay:200ms}
 .menu-open .mobile-nav-group:nth-child(2){transition-delay:220ms}
 .menu-open .nav-panel nav>.mobile-primary-link:nth-child(3){transition-delay:240ms}
 .menu-open .nav-panel nav>.mobile-primary-link:nth-child(4){transition-delay:260ms}
}
html.page-motion-hidden .hero-ray-light,html.page-motion-hidden .hero-image-track,html.page-motion-hidden .hero-client-track,html.page-motion-hidden .platform-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
 .showcase-frame,.cinema-copy h1,.cinema-copy>p,.cinema-copy>.button,.banner-slide.is-active{animation:none!important}
 .reference-site a,.reference-site button,.reference-site input,.reference-site textarea{transition:color 120ms linear,background-color 120ms linear,border-color 120ms linear!important}
 .mega-grid>div,.mega-grid>.mega-image{transform:none;transition:none}
 .button:active{transform:none}
}

/* A focused desktop menu: crisp foreground over a fogged, dimmed page. */
.desktop-nav-backdrop{display:none}
@media(min-width:800px){
 html.desktop-menu-open{overflow:hidden}
 .desktop-nav-backdrop{display:block;position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.46);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 320ms var(--motion-ease),visibility 320ms}
 .desktop-menu-open .desktop-nav-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition-duration:422ms}
 .site-header:has(.mega-menu.is-open){background:#000}
 .mega-menu{background:#050607;border-bottom:1px solid #303235}
 .mega-grid{width:calc(100% - 15 * var(--hero-unit));max-width:none;grid-template-columns:1fr 1fr 1.2fr;gap:calc(4 * var(--hero-unit));align-items:start}
 .mega-grid>div,.mega-grid>.mega-image{margin-block:calc(3.5 * var(--hero-unit));min-width:0}
 .mega-grid>div{min-height:calc(20 * var(--hero-unit));padding-right:calc(2 * var(--hero-unit));border-right:1px solid #202327}
 .mega-grid .eyebrow{display:block;font-size:calc(.7 * var(--hero-unit));line-height:1.4;letter-spacing:.15em;margin-bottom:calc(1.25 * var(--hero-unit));color:#32a9ff}
 .mega-grid .eyebrow:before{content:none}
 .mega-grid>div>a{font-size:calc(1.16 * var(--hero-unit));line-height:1.4;border:0;padding:calc(1.05 * var(--hero-unit)) 0;align-items:center;gap:16px}
 .mega-grid>div>a .icon{width:16px;height:16px;color:#92999f}
 .mega-image img{height:calc(14.75 * var(--hero-unit));width:100%;object-fit:cover;object-position:center top}
 .mega-image>span{font-size:calc(.94 * var(--hero-unit));margin-top:18px;color:#b2b2b2}
 .nav-dropdown[aria-expanded=true]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
}
@media(min-width:800px) and (max-width:1100px){.mega-grid{width:calc(100% - 64px);gap:24px}.mega-grid>div{padding-right:16px}.mega-grid>div>a{font-size:16px}.mega-grid>div,.mega-grid>.mega-image{margin-block:32px}.mega-image img{height:170px}}
@media(prefers-reduced-motion:reduce){.desktop-nav-backdrop{transition:opacity 120ms linear,visibility 120ms!important}}
