@font-face{font-family:InterTight;src:url('./assets/fonts/InterTightVF.ttf');font-display:swap}@font-face{font-family:Syne;src:url('./assets/fonts/SyneVF.ttf');font-display:swap}@font-face{font-family:GeistMono;src:url('./assets/fonts/GeistMonoVF.woff2');font-display:swap}
:root{--ink:#03050a;--ink2:#070b12;--paper:#edf4ff;--blue:#397dff;--cyan:#62d9ff;--line:#9cbfff28;--g:clamp(20px,3.2vw,64px);--display:InterTight,Arial,sans-serif;--body:Syne,Arial,sans-serif;--mono:GeistMono,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);color:var(--paper)}body{margin:0;overflow-x:hidden;background:var(--ink);font-family:var(--body);cursor:auto}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.skip{position:fixed;z-index:9999;top:8px;left:8px;transform:translateY(-150%);padding:12px 16px;background:#fff;color:#000}.skip:focus{transform:none}.noise{position:fixed;z-index:80;inset:-50%;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:noise .18s steps(2) infinite}@keyframes noise{0%{transform:translate(0)}25%{transform:translate(2%,1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,-2%)}}
.cursor{position:fixed;z-index:500;left:0;top:0;width:54px;height:54px;translate:-50% -50%;pointer-events:none;mix-blend-mode:difference;transition:width .25s,height .25s}.cursor i{position:absolute;inset:0;border:1px solid #fff;border-radius:50%}.cursor span{position:absolute;inset:0;display:grid;place-items:center;font:600 8px var(--mono);opacity:0}.cursor.is-project{width:92px;height:92px}.cursor.is-project span{opacity:1}
.brand{display:flex;align-items:center;gap:10px;font:900 24px/.8 var(--display);letter-spacing:-.04em}.brand svg{width:24px;height:30px;fill:none;stroke:#7aabff;stroke-width:1.7}.brand .fill{fill:#397dff66;stroke:#397dff}.nav{position:fixed;z-index:100;left:0;right:0;top:0;height:86px;padding:0 var(--g);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#03050ad9;backdrop-filter:blur(18px)}.nav-center{display:flex;gap:34px;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.15em}.nav-center a{opacity:.65;transition:.2s}.nav-center a:hover{opacity:1;color:#8db9ff}.nav-cta{justify-self:end;display:flex;gap:28px;align-items:center;padding:13px 15px 13px 20px;border:1px solid #8cb7ef55;font:600 9px var(--mono);letter-spacing:.1em;text-transform:uppercase}.nav-cta i{font-style:normal;color:#72a4ff}.menu-button{display:none;border:0;background:none}.menu{position:fixed;z-index:95;inset:86px 0 0;display:flex;flex-direction:column;justify-content:space-between;padding:8vh var(--g);background:#050810;transform:translateY(-110%);transition:transform .7s cubic-bezier(.77,0,.18,1)}.menu.open{transform:none}.menu div{display:flex;flex-direction:column}.menu a{font:800 clamp(42px,8vw,110px)/.9 var(--display);letter-spacing:-.07em;border-bottom:1px solid var(--line);padding:12px 0}.menu small{font:10px var(--mono);color:#729edc}
.intro{position:fixed;z-index:1000;inset:0;background:#01030a;overflow:hidden;transition:opacity .8s,visibility .8s}.intro.is-out{opacity:0;visibility:hidden}.intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:saturate(.3) contrast(1.4) brightness(.45)}.intro::before{content:'';position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 76% 48%,#126de744,transparent 34%),linear-gradient(180deg,#02040933,#020409e8)}.intro-stage{position:absolute;z-index:3;inset:22px;overflow:hidden;border:1px solid #8cbaff38}.intro-stage::before{content:'';position:absolute;z-index:5;left:-20%;right:-20%;top:-3px;height:2px;background:#82b7ff;box-shadow:0 0 24px 7px #237dff;animation:introScan 3.6s .35s both}.intro-slogan{position:absolute;z-index:4;left:4vw;top:18%;display:flex;flex-direction:column;filter:drop-shadow(0 0 26px #3b8eff55)}.intro-slogan span{font:900 clamp(72px,15vw,270px)/.76 var(--display);letter-spacing:-.075em;color:transparent;-webkit-text-stroke:1px #b9d8ff;animation:introNeon 1.15s both}.intro-slogan span:last-child{margin-left:7vw;font-size:clamp(60px,11vw,200px);color:#eff6ff;-webkit-text-stroke:0;text-shadow:0 0 30px #237dff;animation-delay:.18s}.intro-3d{position:absolute;z-index:3;inset:0}.intro-3d canvas{width:100%;height:100%;display:block}.intro-logo{position:absolute;right:3vw;bottom:-9%;width:min(35vw,460px)}.intro-stage.is-3d .intro-logo{display:none}.intro-kicker,.intro-code{position:absolute;z-index:5;color:#7faef0;font:500 8px var(--mono);letter-spacing:.2em}.intro-kicker{left:4vw;top:4vh}.intro-code{left:4vw;bottom:4vh}.intro-skip{position:absolute;z-index:8;right:4vw;bottom:5vh;border:1px solid #8cbaff44;background:#030811b3;padding:12px 16px;font:500 8px var(--mono);letter-spacing:.18em;text-transform:uppercase}.intro-skip:hover{border-color:#6fa8ff;background:#0a1628}@keyframes introScan{0%{top:-3px;opacity:0}10%,85%{opacity:1}100%{top:100%;opacity:0}}@keyframes introNeon{from{opacity:0;transform:translateY(50px);filter:blur(16px)}to{opacity:1;transform:none;filter:none}}
.hero{position:relative;height:100svh;min-height:720px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-media,.hero-shade,.hero-grid,.hero-3d{position:absolute;inset:0}.hero-media video{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.15);opacity:.62}.hero-shade{z-index:1;background:linear-gradient(90deg,#03050a 0,#03050ac7 28%,transparent 70%),linear-gradient(0deg,#03050af2 0,transparent 48%,#03050a99 100%)}.hero-grid{z-index:2;opacity:.22;background-image:linear-gradient(#78aaff22 1px,transparent 1px),linear-gradient(90deg,#78aaff18 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,#000 35%,transparent)}.hero-3d{z-index:3;pointer-events:none}.hero-3d canvas{width:100%;height:100%;display:block}.hero-meta{position:absolute;z-index:4;top:112px;left:var(--g);right:var(--g);display:flex;justify-content:space-between;margin:0;color:#92a3bd;font:500 8px var(--mono);letter-spacing:.18em;text-transform:uppercase}.hero h1{position:absolute;z-index:4;left:var(--g);right:var(--g);top:35%;margin:0;display:flex;align-items:center;font:900 clamp(100px,22vw,410px)/.6 var(--display);letter-spacing:-.095em;white-space:nowrap}.hero h1 span:last-child{color:#f3f7ff}.hero h1 .outline{color:transparent;-webkit-text-stroke:1px #d7e6ff99}.hero-copy{position:absolute;z-index:5;left:var(--g);bottom:7vh;display:flex;align-items:flex-end;gap:4vw}.hero-copy p{margin:0;color:#b4c0d1;font-size:12px;line-height:1.7}.reel-button{display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid #92b9f366;background:transparent;padding:12px 0;text-transform:uppercase;font:600 9px var(--mono);letter-spacing:.1em}.reel-button i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#4b88ff;color:#071020;font-style:normal}.reel-button small{color:#6f8099}.hero-tagline{position:absolute;z-index:5;right:var(--g);bottom:7vh;margin:0;text-align:right;font:900 clamp(30px,4.5vw,80px)/.82 var(--display);letter-spacing:-.06em}.hero-tagline span,.hero-tagline strong{display:block}.hero-tagline strong{color:#4f8dfd}.scroll-cue{position:absolute;z-index:5;right:var(--g);top:50%;display:flex;align-items:center;gap:12px;transform:rotate(90deg) translateX(50%);transform-origin:right top;font:500 7px var(--mono);letter-spacing:.2em}.scroll-cue i{display:block;width:50px;height:1px;background:#9bbcff}.scroll-cue i::after{content:'';display:block;width:35%;height:1px;background:#fff;animation:cue 1.5s infinite}@keyframes cue{from{transform:translateX(0)}to{transform:translateX(180%)}}
.eyebrow{font:600 9px var(--mono)!important;letter-spacing:.18em!important;color:#6598df!important;text-transform:uppercase}.manifest{position:relative;min-height:105vh;padding:18vh var(--g) 10vh;background:radial-gradient(circle at 76% 35%,#173b7533,transparent 30%),#060911;color:var(--paper);overflow:hidden}.manifest-rail{position:absolute;top:0;left:0;display:flex;align-items:center;gap:4vw;width:max-content;padding:1.8vh 0;border-block:1px solid var(--line);white-space:nowrap;font:900 clamp(42px,7vw,130px)/.9 var(--display);letter-spacing:-.055em;color:transparent;-webkit-text-stroke:1px #89b5ef45;animation:rail 18s linear infinite}.manifest-rail i{color:#3e7de3;-webkit-text-stroke:0;font-style:normal;font-size:.55em}@keyframes rail{to{transform:translateX(-50%)}}.manifest-copy{display:grid;grid-template-columns:1fr 2.8fr 1.2fr;align-items:start;gap:4vw;margin-top:8vh}.manifest-copy h2{grid-column:2;margin:0;font:750 clamp(56px,8.5vw,150px)/.85 var(--display);letter-spacing:-.07em}.manifest-copy h2 em{color:#397dff;font-style:normal}.manifest-copy>p:last-child{margin:0;padding-top:10px;color:#93a1b5;font-size:13px;line-height:1.8}.numbers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:15vh;border-block:1px solid var(--line)}.numbers article{padding:4vh 3vw;border-right:1px solid var(--line)}.numbers article:last-child{border:0}.numbers b{display:block;font:800 clamp(70px,9vw,160px)/.8 var(--display);letter-spacing:-.07em}.numbers span{display:block;margin-top:24px;color:#71829b;font:600 9px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.work{padding:16vh var(--g);background:#03050a}.section-head{display:grid;grid-template-columns:1fr 2.2fr 1fr;align-items:end;gap:4vw;margin-bottom:9vh}.section-head h2{margin:0;font:900 clamp(70px,10vw,180px)/.75 var(--display);letter-spacing:-.08em}.section-head h2 span{color:transparent;-webkit-text-stroke:1px #82a7d388}.section-head>p:last-child{color:#7f8c9e;font-size:12px;line-height:1.7}.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12vh 2vw}.project{grid-column:span 5;position:relative}.project-wide{grid-column:span 7}.project-tall{grid-column:2/span 5}.project figure{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#0c111b}.project-wide figure{aspect-ratio:16/9}.project-tall figure{aspect-ratio:3/4}.project img,.project video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .4s}.project video{opacity:0}.project:hover img{transform:scale(1.05)}.project.is-playing video{opacity:1}.project>div{display:grid;grid-template-columns:1fr auto;align-items:end;padding-top:18px}.project>div>span{grid-column:1/-1;color:#6895d4;font:500 8px var(--mono);letter-spacing:.14em}.project h3{margin:14px 0 0;font:800 clamp(30px,4vw,68px)/.82 var(--display);letter-spacing:-.055em}.project small{font:500 9px var(--mono);color:#7f8c9c}.text-link{display:flex;justify-content:space-between;width:min(600px,100%);margin:14vh auto 0;padding:20px 0;border-bottom:1px solid #7299ca66;font:600 10px var(--mono);letter-spacing:.16em}.text-link i{font-style:normal;color:#6aa2ff}
.expertise{padding:16vh var(--g);background:radial-gradient(circle at 85% 18%,#1839632b,transparent 28%),#05080d;color:#f2f6ff}.inverse .eyebrow{color:#9bc0ff!important}.service-list{border-top:1px solid #b1caff2b}.service-list article{position:relative;display:grid;grid-template-columns:8vw 1.2fr 1fr auto;align-items:center;gap:3vw;padding:5vh 1vw;border-bottom:1px solid #b1caff2b;transition:background .3s,padding .3s}.service-list article:hover{padding-inline:2vw;background:#0b111b}.service-list article>span{font:600 9px var(--mono);color:#9bbdec}.service-list h3{margin:0;font:800 clamp(35px,5vw,78px)/.78 var(--display);letter-spacing:-.055em}.service-list p{margin:0;max-width:430px;color:#a4afbf;font-size:12px;line-height:1.7}.service-list i{font-style:normal;font-size:28px}
.process{min-height:110vh;display:grid;grid-template-columns:1.25fr 1fr;background:#070a11}.process-film{position:sticky;top:0;height:100vh;overflow:hidden}.process-film video{width:100%;height:100%;object-fit:cover;filter:saturate(.6) contrast(1.2);opacity:.8}.process-film::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#070a11)}.process-copy{padding:15vh var(--g)}.process-copy h2{margin:5vh 0 10vh;font:900 clamp(52px,7vw,120px)/.8 var(--display);letter-spacing:-.07em}.process-copy ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-copy li{display:grid;grid-template-columns:60px 1fr 1.2fr;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.process-copy b{color:#6798da;font:500 9px var(--mono)}.process-copy span{font:750 24px var(--display)}.process-copy small{color:#77869a;line-height:1.5}
.studio{position:relative;min-height:120vh;padding:17vh var(--g);overflow:hidden;background:radial-gradient(circle at 70% 50%,#132f6433,transparent 35%),#03050a}.studio-orbit{position:absolute;right:-4vw;top:12vh;width:55vw;aspect-ratio:1;display:grid;place-items:center}.studio-orbit span{font:900 25vw/.8 var(--display);letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px #77aaff1f}.studio-orbit i{position:absolute;inset:10%;border:1px solid #71a8fb33;border-radius:50%;animation:orbit 13s linear infinite}.studio-orbit i:nth-of-type(2){inset:22%;transform:rotateX(70deg);animation-duration:9s}.studio-orbit i:nth-of-type(3){inset:3%;transform:rotateY(70deg);animation-duration:17s}@keyframes orbit{to{rotate:360deg}}.studio-copy{position:relative;z-index:2;max-width:780px}.studio-copy h2{margin:5vh 0;font:900 clamp(62px,8vw,142px)/.75 var(--display);letter-spacing:-.075em}.studio-copy h2 em{font-style:normal;color:#4f8dfd}.studio-copy>p:last-child{max-width:570px;color:#8e9caf;font-size:13px;line-height:1.8}.team{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:14vh;border-block:1px solid var(--line);background:#03050ac7}.team article{padding:3vh 2vw;border-right:1px solid var(--line)}.team article:last-child{border:0}.team span,.team a{font:500 8px var(--mono);letter-spacing:.15em;color:#739cd5}.team h3{margin:3vh 0;font:800 clamp(42px,5vw,80px)/.8 var(--display);letter-spacing:-.06em}
.labels{padding:7vh var(--g);border-block:1px solid var(--line);background:#05080e}.labels>p{text-align:center;color:#8292a8;font:600 8px var(--mono);letter-spacing:.25em}.labels>div{display:grid;grid-template-columns:repeat(6,1fr);gap:4vw;align-items:center;margin-top:5vh}.labels img{width:100%;max-height:45px;object-fit:contain;filter:grayscale(1) invert(1);opacity:.48}
.estimate{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:17vh var(--g);background:radial-gradient(circle at 20% 40%,#16386c24,transparent 32%),#05070b;color:var(--paper)}.estimate header h2{margin:5vh 0 3vh;font:900 clamp(62px,8vw,140px)/.76 var(--display);letter-spacing:-.075em}.estimate header>p:last-child{font-size:13px;color:#8493a8}.estimator fieldset{border:0;border-top:1px solid var(--line);padding:3vh 0;margin:0}.estimator legend{display:block;width:100%;margin-bottom:18px;font:600 9px var(--mono);letter-spacing:.15em;color:#7298ce}.estimator button{margin:0 7px 8px 0;padding:12px 16px;border:1px solid #7daeff38;background:#090d14;font:600 9px var(--mono);letter-spacing:.08em}.estimator button:hover{border-color:#699eff;background:#0c121c}.estimator button.active{background:#0d141f;color:#dfeaff;border-color:#5e95f2;box-shadow:inset 0 0 20px #397dff18,0 0 18px #397dff1f}.estimate-result{margin-top:4vh;padding:4vh;border:1px solid #72a7ff35;background:#080d15;color:white;box-shadow:inset 0 0 45px #397dff0d}.estimate-result span,.estimate-result small{display:block;font:500 8px var(--mono);letter-spacing:.15em;color:#8196b6}.estimate-result strong{display:block;margin:3vh 0;font:850 clamp(46px,6vw,90px)/.85 var(--display);letter-spacing:-.06em}
.contact{position:relative;min-height:100vh;padding:17vh var(--g) 6vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;text-align:center}.contact-glow{position:absolute;left:50%;top:50%;width:65vw;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,#1b6cff42,transparent 63%);filter:blur(40px)}.contact>*:not(.contact-glow){position:relative;z-index:2}.contact h2{margin:5vh 0;font:900 clamp(78px,14vw,250px)/.68 var(--display);letter-spacing:-.09em}.contact h2 em{color:transparent;font-style:normal;-webkit-text-stroke:1px #8dbaff}.contact-button{align-self:center;display:flex;align-items:center;gap:6vw;padding:22px 28px;border:1px solid #7facf866;background:#07152a;font:600 10px var(--mono);letter-spacing:.14em}.contact-button i{font-style:normal;color:#6ba6ff;font-size:22px}.contact-meta{display:flex;justify-content:space-between;margin-top:12vh;padding-top:3vh;border-top:1px solid var(--line);font:500 8px var(--mono);letter-spacing:.15em;color:#71839b}footer{height:150px;padding:0 var(--g);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);background:#020307}footer p{font:800 18px var(--display);letter-spacing:-.03em}footer small{color:#8a9bb2;font:500 7px var(--mono);letter-spacing:.12em}
.reel{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:#010205}.reel::backdrop{background:#010205}.reel video{width:100%;height:100%;object-fit:contain}.reel button{position:fixed;z-index:2;right:25px;top:25px;padding:12px 16px;border:1px solid #ffffff44;background:#03050abb;font:600 8px var(--mono);letter-spacing:.15em}.reel[open]{display:block}[data-reveal]{will-change:transform,opacity}
@media(max-width:800px){body{cursor:auto}.cursor{display:none}.nav{height:70px;grid-template-columns:1fr auto}.nav-center,.nav-cta{display:none}.menu-button{display:flex;flex-direction:column;gap:7px;padding:15px;border:0;background:none}.menu-button i{display:block;width:25px;height:1px;background:white}.menu{inset:70px 0 0}.intro-stage{inset:10px}.intro-slogan{left:5vw;top:14%}.intro-slogan span{font-size:20vw}.intro-slogan span:last-child{margin:8px 0 0;font-size:13.8vw}.intro-kicker,.intro-code{left:5vw}.hero{min-height:700px}.hero-meta{top:94px}.hero-meta span:nth-child(2){display:none}.hero h1{top:36%;font-size:26vw}.hero-copy{bottom:5vh;display:block}.hero-copy p{display:none}.hero-tagline{left:var(--g);right:auto;bottom:18vh;text-align:left;font-size:12vw}.scroll-cue{display:none}.manifest{padding-top:22vh}.manifest-copy{display:block}.manifest-copy h2{margin:4vh 0}.manifest-copy>p:last-child{max-width:500px}.numbers{grid-template-columns:1fr}.numbers article{border-right:0;border-bottom:1px solid var(--line)}.section-head{display:block}.section-head h2{margin:4vh 0}.work-grid{display:block}.project{display:block;margin-bottom:12vh}.project figure,.project-wide figure{aspect-ratio:4/5}.service-list article{grid-template-columns:45px 1fr auto}.service-list p{display:none}.process{display:block}.process-film{position:relative;height:60vh}.process-copy{padding-block:10vh}.process-copy li{grid-template-columns:45px 1fr}.process-copy small{grid-column:2;margin-top:8px}.studio{padding-top:12vh}.studio-orbit{width:100vw;opacity:.7}.team{grid-template-columns:1fr}.team article{border-right:0;border-bottom:1px solid var(--line)}.labels>div{grid-template-columns:repeat(3,1fr);gap:7vw}.estimate{display:block}.estimator{margin-top:8vh}.contact-meta{flex-direction:column;gap:18px}footer{height:auto;padding-block:35px;flex-wrap:wrap;gap:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.intro{display:none}.noise,.cursor{display:none}}
.hero-3d canvas,.intro-3d canvas{filter:saturate(1.16) drop-shadow(0 0 24px #217cff66)}
.nav-center button{border:0;background:none;padding:0;color:#8ea0b9;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.15em;cursor:pointer}.nav-center button:hover{color:#8db9ff}
.showreel{padding:15vh var(--g);background:#02040a;border-block:1px solid var(--line)}.showreel header{display:grid;grid-template-columns:.7fr 1.65fr 1fr;align-items:end;gap:4vw;margin-bottom:7vh}.showreel h2{margin:0;font:900 clamp(70px,10vw,175px)/.76 var(--display);letter-spacing:-.08em}.showreel h2 span{color:transparent;-webkit-text-stroke:1px #82a7d388}.format-switch{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.format-switch button{display:flex;min-height:84px;flex-direction:column;justify-content:space-between;padding:14px;border:0;border-right:1px solid var(--line);background:#070a10;color:#71829a;text-align:left;cursor:pointer}.format-switch button:last-child{border:0}.format-switch button.active{background:#0d141f;color:white;box-shadow:inset 0 0 24px #397dff20}.format-switch button.active b{color:#78a8ff}.format-switch b{font:800 22px var(--display)}.format-switch span{font:600 7px var(--mono);letter-spacing:.12em}.showreel-shell{position:relative;width:100%;aspect-ratio:16/9;margin:auto;overflow:hidden;border:1px solid #79aaff38;background:#000;transition:width .7s cubic-bezier(.16,1,.3,1),aspect-ratio .7s}.showreel-shell[data-ratio="vertical"]{width:min(48vh,430px);aspect-ratio:9/16}.showreel-shell[data-ratio="square"]{width:min(72vh,760px);aspect-ratio:1}.showreel-shell video{width:100%;height:100%;object-fit:cover}.showreel-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:18px;background:linear-gradient(transparent,#02040acc);font:600 8px var(--mono);letter-spacing:.14em}.showreel-caption button{border:1px solid #91b8ee66;background:#07111dcc;padding:11px 14px;color:white;font:600 8px var(--mono);letter-spacing:.12em}
@media(max-width:800px){.showreel{padding-block:12vh}.showreel header{display:block}.showreel h2{margin:4vh 0 6vh}.format-switch{margin-bottom:4vh}.format-switch button{min-height:70px;padding:10px}.showreel-shell[data-ratio="vertical"]{width:min(82vw,430px)}.showreel-shell[data-ratio="square"]{width:88vw}}

/* Final composition: separate typography and 3D brand object. */
.intro-slogan{left:4vw;top:20%;width:46vw;gap:10px}.intro-slogan span{font-size:clamp(56px,8vw,138px);line-height:.8}.intro-slogan span:last-child{margin:0;font-size:clamp(44px,6vw,104px)}
@media(max-width:800px){.intro-slogan{left:5vw;top:15%;width:58vw;gap:6px}.intro-slogan span{font-size:13vw}.intro-slogan span:last-child{margin:0;font-size:8.8vw}.hero h1{top:24%;right:auto;display:block;font-size:23vw;line-height:.65}.hero h1 span{display:block}.hero-tagline{font-size:9vw}}
.intro-stage::before{display:none}.hero-grid{opacity:.1}.hero-3d canvas,.intro-3d canvas{filter:saturate(1.05) drop-shadow(0 18px 38px #126bff38)}
.brand-art{position:absolute;z-index:3;display:block;width:auto;object-fit:contain;pointer-events:none;will-change:transform,filter;filter:drop-shadow(0 26px 44px #005dff44);animation:brandCinema 7s cubic-bezier(.37,0,.63,1) infinite alternate}.intro-art{right:1vw;top:49%;height:min(94vh,1020px);transform:translateY(-50%)}.hero-art{right:-2vw;top:52%;height:min(88vh,920px);transform:translateY(-50%);opacity:.88}.intro-slogan{z-index:4}.hero h1,.hero-tagline,.hero-copy,.hero-meta{z-index:4}@keyframes brandCinema{0%{translate:0 8px;scale:.985;filter:drop-shadow(0 20px 36px #005dff30) brightness(.92)}100%{translate:0 -8px;scale:1.015;filter:drop-shadow(0 34px 58px #096cff55) brightness(1.06)}}
@media(max-width:800px){.intro-art{right:-2vw;top:58%;height:62vh}.hero-art{right:-6vw;top:54%;height:62vh;opacity:.82}}
.brand-art{display:none}.motion-x{position:absolute;z-index:3;right:4vw;top:50%;width:min(39vw,620px);aspect-ratio:.72;transform:translateY(-50%);overflow:hidden;clip-path:polygon(0 0,31% 0,50% 31%,69% 0,100% 0,68% 50%,100% 100%,69% 100%,50% 69%,31% 100%,0 100%,32% 50%);background:#07152c;filter:drop-shadow(0 24px 46px #075fff55);isolation:isolate}.motion-x video{width:100%;height:100%;object-fit:cover;filter:saturate(1.25) contrast(1.18) brightness(.82);transform:scale(1.08);animation:xFilm 11s ease-in-out infinite alternate}.motion-x::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#041128aa 0,transparent 32%,#5ba0ff44 50%,transparent 68%,#020713cc 100%);mix-blend-mode:screen}.motion-x i{position:absolute;z-index:2;inset:0;background:linear-gradient(100deg,transparent 38%,#ddecffbb 50%,transparent 62%);transform:translateX(-130%);animation:xLight 5.5s 1.2s ease-in-out infinite}.hero-x{top:51%;opacity:.9}.intro-x{top:53%}@keyframes xFilm{from{transform:scale(1.08) translate3d(-2%,0,0)}to{transform:scale(1.2) translate3d(3%,-2%,0)}}@keyframes xLight{0%,62%{transform:translateX(-130%);opacity:0}72%{opacity:.8}88%,100%{transform:translateX(130%);opacity:0}}
@media(max-width:800px){.motion-x{right:4vw;width:43vw}.intro-x{top:61%}.hero-x{top:49%;right:2vw;width:45vw}}
@media(prefers-reduced-motion:reduce){.motion-x video,.motion-x i{animation:none}}
@media(pointer:fine){body{cursor:none}}
.service-list .service-arrow{display:grid;min-width:44px;min-height:44px;place-items:center;font-style:normal;font-size:28px}
.team a,.contact-meta a{display:inline-flex;min-height:44px;align-items:center}
.estimator button,.intro-skip,.showreel-caption button,.reel button{min-height:44px}
footer small{line-height:1.7}footer small a,footer small button{color:#b2c5df;text-decoration:underline;text-underline-offset:3px}footer small button{display:inline-flex;min-height:44px;align-items:center;border:0;background:none;padding:0 4px;font:inherit;letter-spacing:inherit;cursor:pointer}
.cookie-banner{position:fixed;z-index:1200;left:20px;right:20px;bottom:20px;max-width:590px;margin:auto;padding:20px 22px;border:1px solid #7daeff55;background:#07101df7;box-shadow:0 20px 60px #000b;transform:translateY(150%);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s}
.cookie-banner.is-visible{transform:none;opacity:1;pointer-events:auto}.cookie-banner p{margin:0;color:#b3bfd0;font-size:13px;line-height:1.6}.cookie-banner p a{text-decoration:underline}.cookie-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.cookie-btn{min-height:44px;padding:0 22px;border:1px solid #7daeff55;background:#05080d;color:#fff;cursor:pointer}.cookie-accepter{background:#4f8dfd;color:#06101e;border-color:#4f8dfd}
@media(max-width:800px){.hero-media{background:center/cover url('./showreel-poster-v3.jpg')}.hero-media video{display:none}.motion-x video{animation:none}.team a,.contact-meta a{width:100%;justify-content:center}.cookie-banner{left:12px;right:12px;bottom:12px;padding:17px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-btn{width:100%}}

/* Proof, estimate hand-off and qualified project brief. */
.cases{padding:16vh var(--g);background:radial-gradient(circle at 12% 12%,#123a7924,transparent 30%),#04070d;border-block:1px solid var(--line)}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,42px)}
.case{display:flex;min-width:0;flex-direction:column;border:1px solid #84b0ee27;background:#070b12;transition:transform .45s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s}
.case:hover{transform:translateY(-10px);border-color:#72a7ff72;box-shadow:0 24px 70px #0008,0 0 42px #266fff15}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.7) contrast(1.08);transition:filter .35s,transform .55s}
.case:hover img{filter:saturate(1) contrast(1.03)}
.case>div{display:flex;min-height:255px;flex:1;flex-direction:column;padding:26px}
.case span{color:#6d9fe7;font:600 8px var(--mono);letter-spacing:.14em}
.case h3{margin:24px 0 12px;font:850 clamp(35px,4.3vw,70px)/.78 var(--display);letter-spacing:-.06em}
.case p{margin:0 0 30px;color:#8f9daf;font-size:12px;line-height:1.7}
.case strong{margin-top:auto;color:#c5dbfb;font:600 9px var(--mono);letter-spacing:.11em}
.estimate-continue{display:flex;min-height:48px;align-items:center;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:#d9e8ff;font:600 9px var(--mono);letter-spacing:.12em}
.estimate-continue i{color:#73a8ff;font-style:normal;font-size:18px}
.contact{min-height:auto;text-align:left}
.contact>.eyebrow,.contact>h2,.contact>.contact-intro{text-align:center}
.contact-intro{max-width:650px;margin:0 auto 7vh;color:#9aa8bb;font-size:13px;line-height:1.8}
.project-form{width:min(980px,100%);margin:0 auto;padding:clamp(24px,4vw,52px);border:1px solid #79aaff3d;background:#050a12dc;box-shadow:inset 0 0 70px #286fff0b,0 28px 90px #0008;backdrop-filter:blur(16px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.project-form label{display:flex;min-width:0;flex-direction:column;gap:10px}
.project-form label>span{color:#83a8d9;font:600 8px var(--mono);letter-spacing:.14em;text-transform:uppercase}
.project-form input,.project-form select,.project-form textarea{width:100%;min-height:52px;border:1px solid #79aaff38;border-radius:0;background:#080d15;color:#edf4ff;padding:14px 16px;font:500 13px var(--body);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.project-form textarea{min-height:155px;resize:vertical;line-height:1.65}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#6ca2ff;background:#0a111d;box-shadow:0 0 0 3px #397dff22}
.project-form input[readonly]{color:#9fc2fb;background:#07101d}
.form-message{grid-column:1/-1}.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-submit{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;margin-top:26px;padding:0 22px;border:1px solid #70a5ff70;background:#397dff;color:#050a13;font:700 10px var(--mono);letter-spacing:.14em;cursor:pointer;transition:background .2s,transform .2s}
.form-submit:hover{background:#6ca0ff;transform:translateY(-2px)}.form-submit:disabled{cursor:wait;opacity:.55;transform:none}.form-submit i{font-style:normal;font-size:20px}
.form-state{min-height:24px;margin:18px 0 0;color:#91a1b6;font-size:12px;line-height:1.7}.form-state.is-success{color:#8ee6b7}.form-state.is-error{color:#ff9b9b}.form-state a{text-decoration:underline}
@media(max-width:800px){.cases{padding-block:12vh}.cases .section-head h2{font-size:clamp(48px,14vw,70px);overflow-wrap:anywhere}.case-grid{grid-template-columns:1fr}.case>div{min-height:220px}.contact{padding-top:12vh}.form-grid{grid-template-columns:1fr}.form-message{grid-column:auto}.project-form{padding:22px}.contact h2{font-size:20vw}.contact-intro{margin-bottom:5vh}.form-submit{min-height:56px}.studio-copy h2{font-size:clamp(48px,14vw,70px);overflow-wrap:anywhere}.studio-orbit{right:0;width:calc(100vw - var(--g))}}
