
main{animation:pagein .6s cubic-bezier(.2,.8,.2,1) both}@keyframes pagein{from{opacity:0;filter:blur(6px);transform:translateY(10px)}}
:root{--bg:#07060d;--bg2:#0e0c19;--ink:#f2efff;--muted:#a49fbd;--line:rgba(255,255,255,.1);--v:#8b5cff;--c:#22d3ee;--r:#ff5a76;--y:#f5c84b;--disp:'Bricolage Grotesque',system-ui,sans-serif;--f:'Manrope',system-ui,sans-serif;--grad:linear-gradient(90deg,var(--v),var(--c) 40%,var(--r) 75%,var(--y))}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;font-family:var(--f);color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:var(--c)}::selection{background:var(--v);color:#fff}
.wrap{max-width:1240px;margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:var(--disp);line-height:1;margin:0 0 .5em;letter-spacing:-.035em;font-weight:800}
h1{font-size:clamp(2.8rem,8.5vw,7.4rem)}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:1.35rem}
.big{font-size:clamp(2.1rem,5.4vw,4.4rem);max-width:15ch}.huge{font-size:clamp(2.6rem,7.5vw,6.4rem);max-width:13ch}
.eyebrow{font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:var(--c);font-weight:700;margin:0 0 18px}
.lead{font-size:1.18rem;color:var(--muted);max-width:620px}.small{font-size:.85rem;color:var(--muted)}
.grad,.reel-head em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.concept-bar{background:#000;color:#8d88a6;font-size:.76rem;text-align:center;padding:6px 12px;position:relative;z-index:30}
.site-header{position:sticky;top:0;z-index:25;background:rgba(7,6,13,.55);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.arc{width:34px;height:34px;border-radius:50%;background:conic-gradient(from 200deg,var(--v),var(--c),var(--r),var(--y),var(--v));-webkit-mask:radial-gradient(circle at 50% 50%,transparent 9px,#000 10px);mask:radial-gradient(circle at 50% 50%,transparent 9px,#000 10px);animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.wordmark{font-family:var(--disp);font-weight:800;font-size:1.25rem;line-height:1}.wordmark small{display:block;font-family:var(--f);font-weight:600;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.site-nav{display:flex;align-items:center;gap:26px}.site-nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;opacity:.8;transition:opacity .2s}.site-nav a:hover,.site-nav a[aria-current]{opacity:1}.site-nav a[aria-current]:not(.btn){background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;border-radius:999px;font-weight:700;font-family:var(--f);font-size:1rem;color:#0a0814!important;text-decoration:none;border:0;cursor:pointer;background:var(--grad);background-size:200% 100%;transition:background-position .5s,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .3s;box-shadow:0 0 0 rgba(139,92,255,0)}
.btn:hover{background-position:100% 0;box-shadow:0 10px 40px -8px rgba(139,92,255,.7)}.btn span{position:relative;pointer-events:none}
.btn-sm{padding:10px 18px;font-size:.88rem}.btn-ghost{background:rgba(255,255,255,.04);color:var(--ink)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.btn-ghost:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
/* hero */
.hero{position:relative;min-height:calc(100svh - 100px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero-gl,.hero-fallback{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-fallback{background:radial-gradient(60% 50% at 20% 70%,rgba(139,92,255,.45),transparent 70%),radial-gradient(50% 40% at 80% 30%,rgba(34,211,238,.35),transparent 70%),radial-gradient(40% 40% at 60% 85%,rgba(255,90,118,.3),transparent 70%);filter:blur(10px);animation:drift 14s ease-in-out infinite alternate}
.gl-on .hero-fallback{display:none}@keyframes drift{to{transform:translate3d(-3%,2%,0) scale(1.08)}}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--bg));z-index:-1}
.hero-in{padding:70px 22px 90px;width:100%}.hero h1{font-size:clamp(2.8rem,7.4vw,6.6rem)}.hero .lead{color:#cfcae6}
.scroll-cue{position:absolute;left:50%;bottom:26px;width:26px;height:42px;border:2px solid rgba(255,255,255,.4);border-radius:14px;transform:translateX(-50%)}.scroll-cue span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
/* kinetic type + reveals */
.kinetic .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.kinetic .w>span{display:inline-block}
.js .kinetic .w>span{transform:translateY(105%) rotate(6deg);opacity:0;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s;transition-delay:calc(var(--i)*70ms)}
.js .kinetic.in .w>span{transform:none;opacity:1}
.hero h1 br~.w>span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
@keyframes sheen{to{background-position:200% 0}}
.js .reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0ms)}.js .reveal.in{opacity:1;transform:none}
/* marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:22px 0;background:var(--bg2)}
.mq-track{display:flex;gap:46px;width:max-content;animation:mq 26s linear infinite}.mq-track span{font-family:var(--disp);font-weight:800;font-size:clamp(1.8rem,4vw,3.2rem);white-space:nowrap}
.mq-track span.o{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.55)}@keyframes mq{to{transform:translateX(-50%)}}
/* reel */
.reel{position:relative}.reel-sticky{padding:90px 0 60px;overflow:hidden}.reel.pinned .reel-sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:96px 0 24px}.reel.pinned .card{flex:0 0 auto;height:min(58vh,600px);width:auto}.reel.pinned .reel-head{margin-bottom:22px}
.reel-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px 30px;margin-bottom:34px}.reel-head h2{margin:0;font-size:clamp(1.9rem,4.4vw,3.6rem);max-width:16ch}.reel-head .eyebrow{flex-basis:100%;margin:0}
.reel-count{font-family:var(--disp);color:var(--muted);margin:0}.reel-count b{color:var(--ink);font-size:2rem}
.reel-track{display:flex;gap:26px;padding:0 22px 0 max(22px,calc((100vw - 1240px)/2 + 22px));will-change:transform}
.card{flex:0 0 min(78vw,520px);aspect-ratio:4/5;border-radius:26px;position:relative;overflow:hidden;text-decoration:none;color:#fff;isolation:isolate;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:translateY(-6px) rotate(-.6deg)}
.card-txt{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(transparent,rgba(0,0,0,.65))}.card-txt h3{font-size:clamp(1.6rem,3vw,2.4rem);margin:6px 0 0}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.reel-bar{height:3px;background:var(--line);margin:34px 22px 0;max-width:1196px;margin-left:max(22px,calc((100vw - 1240px)/2 + 22px));border-radius:2px;overflow:hidden}.reel-bar span{display:block;height:100%;background:var(--grad);transform-origin:left;transform:scaleX(0)}

/* ---------- per-project motion art ---------- */
.card,.case-art{container-type:inline-size}
.art{position:absolute;inset:0;z-index:-1;overflow:hidden}
.art:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);pointer-events:none}
.g1{background:radial-gradient(120% 90% at 80% 10%,#3a1670,#12071f)}.g2{background:radial-gradient(120% 90% at 50% 100%,#5a1a0c,#1d0a06)}.g3{background:radial-gradient(120% 90% at 50% 30%,#06354a,#020c12)}.g4{background:radial-gradient(120% 90% at 50% 40%,#3d2614,#120a05)}.g5{background:linear-gradient(#06020f,#12052a)}
/* 1 pulse: spinning vinyl + equalizer */
.a-pulse .vinyl{position:absolute;width:72cqw;aspect-ratio:1;right:-14cqw;top:-8cqw;border-radius:50%;background:repeating-radial-gradient(circle,#111 0 1.2cqw,#1c1c1c 1.2cqw 1.6cqw);box-shadow:0 0 60px rgba(139,92,255,.5);animation:spin 3.2s linear infinite}
.a-pulse .vinyl:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 30deg,transparent,rgba(255,255,255,.18) 8%,transparent 16%,transparent 50%,rgba(255,255,255,.12) 58%,transparent 66%)}
.a-pulse .vinyl span{position:absolute;inset:34%;border-radius:50%;background:conic-gradient(#8b5cff,#ff5a76,#22d3ee,#8b5cff)}.a-pulse .vinyl span:after{content:"";position:absolute;inset:44%;border-radius:50%;background:#07060d}
.a-pulse .eq{position:absolute;left:7cqw;right:7cqw;bottom:30cqw;height:34cqw;display:flex;align-items:flex-end;gap:1.3cqw}
.a-pulse .eq i{flex:1;height:100%;border-radius:1cqw;background:linear-gradient(to top,#8b5cff,#ff5a76 60%,#f5c84b);transform-origin:bottom;animation:eq calc(.55s + var(--k)*37ms) ease-in-out infinite alternate;animation-delay:calc(var(--k)*-90ms);box-shadow:0 0 14px rgba(255,90,118,.5)}
@keyframes eq{0%{transform:scaleY(.12)}50%{transform:scaleY(.75)}100%{transform:scaleY(.35)}}
/* 2 ramen: bowl, noodles, bubbles, steam, chopsticks */
.a-ramen .bowl{position:absolute;left:12cqw;right:12cqw;top:52cqw;height:38cqw;border-radius:0 0 50% 50%/0 0 100% 100%;background:linear-gradient(#ff7a3d,#c2331f);box-shadow:inset 0 3cqw 0 #f5c84b,0 20px 60px rgba(255,90,40,.45);overflow:hidden}
.a-ramen .bowl svg{position:absolute;left:-10%;width:120%;top:0;height:60%}.a-ramen .bowl path{fill:none;stroke:#ffe29a;stroke-width:4;stroke-linecap:round;animation:slurp 2.4s linear infinite}.a-ramen .bowl path+path{animation-duration:3.1s;opacity:.8}
@keyframes slurp{to{transform:translateX(-25px)}}
.a-ramen .bub i{position:absolute;bottom:58%;left:calc(22% + var(--k)*6.5%);width:3.4cqw;aspect-ratio:1;border-radius:50%;border:.5cqw solid rgba(255,230,180,.8);animation:rise calc(1.8s + var(--k)*.17s) ease-in infinite;animation-delay:calc(var(--k)*-.37s);opacity:0}
@keyframes rise{0%{transform:translateY(0) scale(.4);opacity:0}20%{opacity:1}100%{transform:translateY(-30cqw) scale(1.1);opacity:0}}
.a-ramen .steam i{position:absolute;bottom:62%;left:calc(30% + var(--n,0)*1%);width:6cqw;height:34cqw;border-radius:50%;background:linear-gradient(transparent,rgba(255,255,255,.35),transparent);filter:blur(6px);animation:steam 3.6s ease-in-out infinite}
.a-ramen .steam i:nth-child(2){left:48%;animation-delay:-1.2s}.a-ramen .steam i:nth-child(3){left:66%;animation-delay:-2.4s}
@keyframes steam{0%{transform:translateY(10cqw) scaleX(.6) skewX(10deg);opacity:0}40%{opacity:1}100%{transform:translateY(-12cqw) scaleX(1.4) skewX(-14deg);opacity:0}}
.a-ramen .sticks i{position:absolute;width:64cqw;height:2.2cqw;border-radius:2cqw;background:linear-gradient(90deg,#f5d9a8,#c8955a);right:-6cqw;top:40cqw;transform-origin:right;transform:rotate(-24deg);animation:pick 2.8s ease-in-out infinite}
.a-ramen .sticks i+i{top:44cqw;transform:rotate(-19deg);animation-delay:-.15s}
@keyframes pick{50%{translate:-3cqw -6cqw}}
/* 3 atlas: phone with progress ring, heartbeat, rep bars */
.a-atlas .phone{position:absolute;left:50%;top:7cqw;width:46cqw;height:92cqw;margin-left:-23cqw;border-radius:7cqw;background:#020a0f;border:1.4cqw solid #1f3b47;box-shadow:0 0 0 .4cqw #0a1a22,0 30px 80px rgba(34,211,238,.35);display:flex;flex-direction:column;align-items:center;padding-top:9cqw;animation:float 5s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-2.5cqw) rotate(-1.5deg)}}
.a-atlas .ring{width:30cqw}.a-atlas circle{fill:none;stroke:#0f2a35;stroke-width:9}.a-atlas circle.fill{stroke:#22d3ee;stroke-linecap:round;stroke-dasharray:251;stroke-dashoffset:251;transform:rotate(-90deg);transform-origin:50% 50%;animation:ring 4s cubic-bezier(.6,0,.2,1) infinite;filter:drop-shadow(0 0 4px #22d3ee)}
@keyframes ring{0%{stroke-dashoffset:251}60%,85%{stroke-dashoffset:45}100%{stroke-dashoffset:251}}
.a-atlas b{font-family:var(--disp);font-size:7cqw;margin-top:-20cqw;height:20cqw;display:flex;align-items:center;color:#fff}.a-atlas span{font-size:2.6cqw;color:#7fb7c7;text-transform:uppercase;letter-spacing:.15em}
.a-atlas .ecg{width:36cqw;height:9cqw;margin-top:5cqw}.a-atlas polyline{fill:none;stroke:#a3e635;stroke-width:2.5;stroke-dasharray:260;animation:ecg 1.6s linear infinite;filter:drop-shadow(0 0 3px #a3e635)}
@keyframes ecg{from{stroke-dashoffset:260}to{stroke-dashoffset:-260}}
.a-atlas .reps{display:flex;gap:1.2cqw;align-items:flex-end;height:10cqw;margin-top:4cqw}.a-atlas .reps i{width:3.2cqw;border-radius:1cqw;background:#3b82f6;height:calc(30% + var(--k)*10%);animation:rep 1.8s ease-in-out infinite;animation-delay:calc(var(--k)*.12s);transform-origin:bottom}
@keyframes rep{50%{transform:scaleY(.4);background:#22d3ee}}
/* 4 orbit: rotating 3D bag with orbiting beans */
.a-orbit{perspective:120cqw}
.a-orbit .stage3d{position:absolute;left:50%;top:14cqw;width:34cqw;height:48cqw;margin-left:-17cqw;transform-style:preserve-3d}
.a-orbit .bag{position:absolute;inset:0;transform-style:preserve-3d;animation:turn 7s linear infinite}
.a-orbit .bag i{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-style:normal;font-family:var(--disp);font-weight:800;font-size:5.4cqw;letter-spacing:.1em;color:#f5c84b;backface-visibility:hidden}
.a-orbit .bag small{font-family:var(--f);font-size:2.4cqw;letter-spacing:.2em;color:#e9d3b0;font-weight:600;margin-top:1cqw;text-transform:uppercase}
.a-orbit .f,.a-orbit .b{left:0;width:34cqw;background:linear-gradient(160deg,#5b3a22,#2b1a0e);border-radius:1.5cqw 1.5cqw 3cqw 3cqw;box-shadow:inset 0 3cqw 0 rgba(255,255,255,.08)}
.a-orbit .f{transform:translateZ(7cqw)}.a-orbit .b{transform:rotateY(180deg) translateZ(7cqw)}
.a-orbit .s,.a-orbit .s2{left:10cqw;width:14cqw;background:#3a2414}.a-orbit .s{transform:rotateY(90deg) translateZ(17cqw)}.a-orbit .s2{transform:rotateY(-90deg) translateZ(17cqw)}
@keyframes turn{to{transform:rotateY(360deg)}}
.a-orbit .ring3d{position:absolute;left:50%;top:38cqw;width:0;height:0;transform-style:preserve-3d;transform:rotateX(72deg);animation:orb 5s linear infinite}
.a-orbit .ring3d i{position:absolute;width:5cqw;height:3.4cqw;margin:-1.7cqw 0 0 -2.5cqw;border-radius:50%;background:radial-gradient(circle at 35% 35%,#8a5a35,#3b200d);transform:rotate(calc(var(--k)*45deg)) translateX(34cqw) rotateX(-72deg);box-shadow:0 0 12px rgba(245,200,75,.35)}
.a-orbit .ring3d i:after{content:"";position:absolute;left:48%;top:10%;width:.5cqw;height:80%;background:#1c0f06;border-radius:1cqw}
@keyframes orb{to{transform:rotateX(72deg) rotateZ(360deg)}}
/* 5 neon ward: sweeping stage beams, flickering sign, moving floor grid */
.a-neon .beams i{position:absolute;top:-6cqw;left:50%;width:44cqw;height:120cqw;margin-left:-22cqw;transform-origin:50% 0;background:linear-gradient(rgba(255,47,214,.55),transparent 75%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);mix-blend-mode:screen;animation:sweep 4s ease-in-out infinite alternate}
.a-neon .beams i:nth-child(2){background:linear-gradient(rgba(34,211,238,.55),transparent 75%);animation-duration:5.2s;animation-delay:-1.5s;left:20%}.a-neon .beams i:nth-child(3){background:linear-gradient(rgba(139,92,255,.6),transparent 75%);animation-duration:3.6s;animation-delay:-2.6s;left:80%}
@keyframes sweep{from{transform:rotate(-28deg)}to{transform:rotate(28deg)}}
.a-neon .sign{position:absolute;left:0;right:0;top:30cqw;text-align:center;font-family:var(--disp);font-weight:800;font-size:13cqw;line-height:.9;color:#ffe7fb;text-shadow:0 0 1cqw #fff,0 0 3cqw #ff2fd6,0 0 7cqw #ff2fd6,0 0 14cqw #8b5cff;animation:flicker 5s linear infinite}
@keyframes flicker{0%,18%,22%,62%,64%,100%{opacity:1}20%,63%{opacity:.35}}
.a-neon .floor{position:absolute;left:-50%;right:-50%;bottom:-10%;height:55%;background:linear-gradient(rgba(34,211,238,.5) 2px,transparent 2px) 0 0/100% 8cqw,linear-gradient(90deg,rgba(34,211,238,.5) 2px,transparent 2px) 0 0/8cqw 100%;transform:perspective(60cqw) rotateX(65deg);transform-origin:top;-webkit-mask:linear-gradient(transparent,#000 40%);mask:linear-gradient(transparent,#000 40%);animation:grid 1.2s linear infinite}
@keyframes grid{to{background-position:0 8cqw,0 0}}
.case-art .a-ramen .bowl,.case-art .a-atlas .phone,.case-art .a-orbit .stage3d{top:auto}
.case-art .a-ramen .bowl{top:34cqw;height:30cqw}.case-art .a-ramen .sticks i{top:28cqw}
.case-art .a-atlas .phone{top:5cqw;width:34cqw;height:68cqw;margin-left:-17cqw;padding-top:6cqw}.case-art .a-atlas .ring{width:22cqw}.case-art .a-atlas b{margin-top:-15cqw;height:15cqw;font-size:5cqw}.case-art .a-atlas .ecg{width:26cqw}
.case-art .a-orbit .stage3d{top:10cqw}.case-art .a-orbit .ring3d{top:32cqw}
.case-art .a-pulse .eq{bottom:8cqw;height:28cqw}.case-art .a-neon .sign{top:18cqw}

/* spotlight */
.spot{position:relative}.spot:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(380px circle at var(--mx,-500px) var(--my,-500px),rgba(255,255,255,.14),transparent 45%);z-index:2;transition:opacity .3s}
/* sections */
.sec{padding:110px 0}.how{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.svc{border:1px solid var(--line);border-radius:22px;padding:28px 24px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0));transition:border-color .3s,transform .4s}.svc:hover{border-color:rgba(139,92,255,.6);transform:translateY(-4px)}
.svc p{color:var(--muted);font-size:.96rem;margin:0}.num{font-family:var(--disp);font-weight:800;font-size:.9rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;margin-bottom:26px}
.how-in{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.timeline{list-style:none;margin:0;padding:0 0 0 28px;border-left:2px solid var(--line);position:relative}.timeline:before{content:"";position:absolute;left:-2px;top:0;width:2px;height:100%;background:var(--grad);background-size:100% 300%;transform-origin:top}
.timeline li{position:relative;padding:4px 0 30px}.timeline li:before{content:"";position:absolute;left:-36px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--c);box-shadow:0 0 18px var(--c)}
.timeline b{display:block;font-family:var(--disp);font-size:1.3rem}.timeline span{color:var(--muted)}
.stats-in{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}.stats b{display:block;font-family:var(--disp);font-size:clamp(3.5rem,9vw,7rem);line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stats span{color:var(--muted)}
.cta-band{padding:130px 0;text-align:center;position:relative;overflow:hidden}.cta-band:before{content:"";position:absolute;width:900px;height:900px;left:50%;top:50%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,rgba(139,92,255,.25),rgba(34,211,238,.2),rgba(255,90,118,.22),rgba(139,92,255,.25));border-radius:50%;filter:blur(90px);animation:spin 20s linear infinite;z-index:-1}
.cta-band .huge{margin:0 auto 34px}.cta-band{isolation:isolate}
.phero{padding:110px 0 60px;position:relative;overflow:hidden;isolation:isolate}.phero:before{content:"";position:absolute;right:-10%;top:-30%;width:70vw;height:70vw;max-width:900px;max-height:900px;background:radial-gradient(circle,rgba(139,92,255,.35),transparent 60%);z-index:-1;filter:blur(30px)}
.phero h1{font-size:clamp(2.6rem,7.5vw,6.2rem)}
.cases{display:grid;gap:90px}.case{display:grid;grid-template-columns:1.25fr 1fr;gap:50px;align-items:center}.case:nth-child(even) .case-art{order:2}
.case-art{border-radius:28px;aspect-ratio:4/3;position:relative;overflow:hidden;isolation:isolate}.case-n{position:absolute;right:22px;bottom:4px;font-family:var(--disp);font-weight:800;font-size:7rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.6)}
.case-txt h2{font-size:clamp(2rem,4vw,3.2rem);margin-top:14px}.case-txt p{color:var(--muted)}
.svc-list{display:grid}.svc-row{display:grid;grid-template-columns:90px 1fr 1.2fr;gap:30px;align-items:baseline;padding:38px 0;border-bottom:1px solid var(--line)}.svc-row h2{margin:0}.svc-row p{color:var(--muted);margin:0}.svc-row .num{font-size:1.4rem;margin:0}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0 14px}.price{border:1px solid var(--line);border-radius:22px;padding:28px}.price b{display:block;font-family:var(--disp);font-size:2.6rem;margin:14px 0 4px}.price p{color:var(--muted);margin:0}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person{border:1px solid var(--line);border-radius:24px;padding:30px;background:rgba(255,255,255,.02)}
.av{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:800;font-size:1.6rem;margin-bottom:20px;position:relative;overflow:hidden}.av.g1{background:linear-gradient(135deg,#8b5cff,#ff5a76)}.av.g3{background:linear-gradient(135deg,#22d3ee,#3b82f6)}.av.g5{background:linear-gradient(135deg,#ff2fd6,#8b5cff)}
.role{color:var(--c);font-weight:700;margin-top:-.3em}.person p:last-child{color:var(--muted)}
.principles{display:grid;gap:0}.pr{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.pr b{font-family:var(--disp);font-size:1.6rem}.pr span{color:var(--muted)}
.contact-in{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:.92rem}.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{font:inherit;font-weight:400;color:var(--ink);padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.04);width:100%;transition:border-color .2s,box-shadow .2s}
.form select option{background:var(--bg2)}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--v);box-shadow:0 0 0 4px rgba(139,92,255,.25)}
.chips{border:0;padding:0;margin:0;min-width:0;display:flex;flex-wrap:wrap;gap:10px}.chips legend{font-weight:600;font-size:.92rem;margin-bottom:10px;padding:0}
.chip{position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;inset:0}.chip span{display:inline-block;padding:10px 16px;border-radius:999px;border:1px solid var(--line);font-weight:600;font-size:.9rem;transition:all .2s}
.chip input:checked+span{background:var(--grad);color:#0a0814;border-color:transparent}.chip input:focus-visible+span{box-shadow:0 0 0 3px var(--c)}
.form-msg{background:rgba(34,211,238,.1);border:1px solid rgba(34,211,238,.4);border-radius:14px;padding:14px;margin:0}
.c-card{border:1px solid var(--line);border-radius:24px;padding:30px;background:linear-gradient(160deg,rgba(139,92,255,.16),rgba(34,211,238,.05))}.c-card h3{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c);margin-top:24px;font-family:var(--f)}
.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;margin:-210px 0 0 -210px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(139,92,255,.16),rgba(34,211,238,.06) 40%,transparent 70%);mix-blend-mode:screen}
.page-hero{padding:110px 0 60px}.prose{max-width:760px}.prose h2{font-size:1.6rem;margin-top:1.4em}.prose p{color:#cfcae6}.nf{padding:140px 0}.nf .btn{margin-top:18px}
.section{padding:72px 0}
.site-footer{border-top:1px solid var(--line);padding:70px 0 28px;color:var(--muted);font-size:.93rem;background:#05040a}.site-footer a{color:var(--ink)}
.ftr{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}.brand-ftr{margin-bottom:14px}.ftr-h{font-family:var(--f);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--c)}.ftr-links a{display:block;text-decoration:none;margin-bottom:5px}
.legal{border-top:1px solid var(--line);margin-top:36px;padding-top:20px;font-size:.8rem}
@media (max-width:1000px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
 .nav-toggle{display:block}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(7,6,13,.97);flex-direction:column;align-items:flex-start;padding:18px 22px 24px;gap:16px;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}
 .how-in,.case,.contact-in,.ftr,.team,.price-grid,.pr{grid-template-columns:1fr}.case:nth-child(even) .case-art{order:0}.case{gap:24px}.cases{gap:60px}
 .reel-track{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:none}.reel-track::-webkit-scrollbar{display:none}.card{scroll-snap-align:start;flex-basis:78vw}
 .svc-row{grid-template-columns:1fr;gap:8px}.stats-in{grid-template-columns:1fr;gap:40px}.sec{padding:80px 0}.cta-band{padding:100px 0}
}
@media (max-width:560px){.svc-grid,.form{grid-template-columns:1fr}.cta-row .btn{width:100%}.hero-in{padding:70px 22px 90px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal,.js .kinetic .w>span{opacity:1!important;transform:none!important}}
