:root{
  --bg:#07070b;
  --bg-2:#0d0d14;
  --ink:#f4f4f7;
  --muted:#9a9aab;
  --line:rgba(255,255,255,.12);
  --violet:#6d28d9;
  --purple:#8b3dff;
  --blue:#2563eb;
  --cyan:#22d3ee;
  --light:#eef0f4;
  --grad:linear-gradient(100deg,#a78bfa 0%,#6d6bff 35%,#38bdf8 70%,#67e8f9 100%);
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(16px,4vw,56px);
  --font:'Poppins',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--purple);color:#fff}

.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.grad{background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradShift 8s ease-in-out infinite alternate}
@keyframes gradShift{to{background-position:100% 0}}

/* line mask reveals */
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.line>span{display:inline-block;will-change:transform}

/* ---------- Loader ---------- */
.loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;align-content:center;gap:24px}
.loader__brand{display:flex;font-weight:700;font-size:clamp(56px,12vw,160px);letter-spacing:-.05em;line-height:1;overflow:hidden}
.loader__brand span{display:inline-block;transform:translateY(110%)}
.loader__count{font-family:var(--mono);font-size:13px;color:var(--muted);letter-spacing:.1em}
.loader__bar{width:min(320px,60vw);height:1px;background:var(--line);overflow:hidden}
.loader__bar i{display:block;height:100%;width:100%;background:var(--grad);transform:scaleX(0);transform-origin:left}

/* ---------- Cursor ---------- */
.cursor{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:0;transition:opacity .4s}.cursor.is-on{opacity:1}
.cursor__dot,.cursor__ring{position:fixed;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}
.cursor__dot{width:6px;height:6px;background:#fff;mix-blend-mode:difference}
.cursor__ring{width:40px;height:40px;border:1px solid rgba(255,255,255,.5);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),background .4s,border-color .4s;mix-blend-mode:difference}
.cursor__label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:0;transition:opacity .3s;color:#000;white-space:nowrap}
.cursor.is-hover .cursor__ring{width:64px;height:64px;background:rgba(255,255,255,.1)}
.cursor.is-label .cursor__ring{width:96px;height:96px;background:#fff;border-color:#fff;mix-blend-mode:normal}
.cursor.is-label .cursor__label{opacity:1}
.cursor.is-label .cursor__dot{opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}
@media (hover:hover) and (pointer:fine){body,a,button{cursor:none}}

/* ---------- Grain ---------- */
.grain{position:fixed;inset:-50%;z-index:80;pointer-events:none;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%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:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-5%,3%)}40%{transform:translate(3%,-6%)}60%{transform:translate(-7%,2%)}80%{transform:translate(5%,5%)}100%{transform:translate(0,0)}}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px var(--pad);mix-blend-mode:difference;transition:transform .6s var(--ease)}
.nav.is-hidden{transform:translateY(-120%)}
.nav__logo{font-weight:700;font-size:24px;letter-spacing:-.04em}
.nav__links{display:flex;gap:36px;font-size:14px}
.link-roll{overflow:hidden;display:inline-block;height:1.5em}
.link-roll span{display:inline-block;position:relative;transition:transform .5s var(--ease)}
.link-roll span::after{content:attr(data-text);position:absolute;left:0;top:100%}
.link-roll:hover span{transform:translateY(-100%)}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:500}
.btn--pill{padding:12px 20px;border:1px solid rgba(255,255,255,.6);border-radius:100px;position:relative;overflow:hidden;isolation:isolate}
.btn--pill::before{content:"";position:absolute;inset:0;background:#fff;border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn--pill:hover{color:#000}
.btn--pill:hover::before{transform:none}
.btn--pill i{font-style:normal;transition:transform .5s var(--ease)}
.btn--pill:hover i{transform:translateX(4px) rotate(-45deg)}
.nav__burger{display:none;width:44px;height:44px;position:relative}
.nav__burger i{position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:transform .5s var(--ease)}
.nav__burger i:first-child{top:18px}.nav__burger i:last-child{top:25px}
.nav__burger[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav__burger[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:55;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:var(--pad);gap:8px;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease)}
.menu a{font-size:clamp(44px,12vw,72px);font-weight:600;letter-spacing:-.04em;line-height:1.1}
.menu.is-open{clip-path:inset(0 0 0 0)}

/* ---------- Aurora ---------- */
.aurora{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.aurora__blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.75;will-change:transform}
.aurora .b1{width:60vw;height:60vw;left:-10vw;top:10vh;background:radial-gradient(circle,#5b21b6 0%,transparent 65%);animation:float1 18s ease-in-out infinite alternate}
.aurora .b2{width:55vw;height:55vw;right:-15vw;top:-10vh;background:radial-gradient(circle,#1d4ed8 0%,transparent 65%);animation:float2 22s ease-in-out infinite alternate}
.aurora .b3{width:45vw;height:45vw;right:5vw;bottom:-15vh;background:radial-gradient(circle,#06b6d4 0%,transparent 65%);opacity:.6;animation:float3 16s ease-in-out infinite alternate}
.aurora .b4{width:30vw;height:30vw;left:35vw;top:40vh;background:radial-gradient(circle,#a855f7 0%,transparent 65%);opacity:.45;animation:float1 20s ease-in-out infinite alternate-reverse}
@keyframes float1{to{transform:translate(18vw,-8vh) scale(1.15)}}
@keyframes float2{to{transform:translate(-20vw,15vh) scale(.9)}}
@keyframes float3{to{transform:translate(-12vw,-20vh) scale(1.2)}}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;padding:110px var(--pad) 36px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:linear-gradient(transparent,var(--bg));z-index:0;pointer-events:none}
.hero>*:not(.aurora):not(.hero__glass):not(.arch3d){position:relative;z-index:1}
.hero.has-3d .hero__glass,.hero.has-3d .aurora{display:none}
.hero__top{display:flex;justify-content:space-between;gap:16px}
.hero__title{font-weight:500;font-size:clamp(56px,10.5vw,180px);line-height:.9;letter-spacing:-.06em;margin:4vh 0 3vh}
.hero__title em{font-style:normal;color:var(--cyan)}
.hero__title .line--indent{padding-left:12vw}
.hero__glass{position:absolute;z-index:0;right:-4vw;top:12vh;width:min(58vw,820px);opacity:.9;mix-blend-mode:screen;pointer-events:none;will-change:transform}
.hero__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.hero__lead{max-width:420px;font-size:clamp(15px,1.2vw,18px);color:#cfcfe0;font-weight:300}
.hero__meta{display:flex;align-items:flex-end;gap:40px;text-align:right}
.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.scroll-cue i{width:1px;height:56px;background:rgba(255,255,255,.2);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-50%;width:100%;height:50%;background:#fff;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{to{top:100%}}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;padding:4vh 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.marquee__track{display:flex;align-items:center;gap:3vw;width:max-content;white-space:nowrap;font-size:clamp(48px,9vw,140px);font-weight:600;letter-spacing:-.05em;line-height:1}
.marquee__track .o{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.7)}
.marquee__track b{font-size:.4em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Studio ---------- */
.studio{position:relative;padding:18vh var(--pad);overflow:hidden}
.studio__vert{position:absolute;right:-2vw;top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:center;font-weight:700;font-size:clamp(120px,22vw,360px);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.08);pointer-events:none;white-space:nowrap}
.studio__grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center}
.studio h2{font-size:clamp(40px,6vw,96px);font-weight:500;line-height:.98;letter-spacing:-.05em;margin-bottom:48px}
.reveal-words .w{display:inline-block;opacity:.15;transition:none}
.studio__copy{display:grid;grid-template-columns:1fr 1fr;gap:32px;color:#bdbdcc;font-weight:300;max-width:760px}
.stats{display:flex;gap:56px;margin-top:64px;flex-wrap:wrap}
.stat strong{display:block;font-size:clamp(48px,6vw,88px);font-weight:600;letter-spacing:-.05em;line-height:1}
.stat>span{font-size:13px;color:var(--muted);line-height:1.3;display:block;margin-top:8px}
.studio__photo{position:relative}
.studio__photo-inner{border-radius:28px;overflow:hidden;aspect-ratio:4/5;clip-path:inset(100% 0 0 0 round 28px);background:#fff}
.studio__photo-inner img{width:100%;height:120%;object-fit:cover;object-position:center 20%}
.glass-chip{position:absolute;left:-28px;bottom:36px;padding:14px 20px;border-radius:100px;background:rgba(10,10,20,.62);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:14px;font-weight:500;box-shadow:0 12px 40px -12px rgba(0,0,0,.6);display:flex;align-items:center;gap:10px}
.dot{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}

/* ---------- Process (light) ---------- */
.process{background:var(--light);color:#0b0b12;padding:16vh var(--pad);border-radius:40px 40px 0 0;position:relative;z-index:2}
.process .eyebrow{color:#6b6b7b}
.big-title{font-size:clamp(44px,8vw,136px);font-weight:500;line-height:.92;letter-spacing:-.06em}
.process__head{display:grid;grid-template-columns:1fr;gap:0;max-width:1400px}
.process__intro{max-width:560px;margin:48px 0 0 auto;font-size:clamp(16px,1.3vw,19px);color:#3b3b48;font-weight:300}
.process__intro strong{font-weight:600;color:#0b0b12}
.process__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:12vh}
.pcard{position:relative;min-height:420px;padding:36px;border-radius:32px;background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.55));border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 60px -30px rgba(40,60,120,.25),inset 0 1px 0 #fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transform-style:preserve-3d;will-change:transform}
.pcard__n{position:absolute;top:32px;left:36px;font-family:var(--mono);font-size:13px;color:#6b6b7b}
.pcard h3{font-size:clamp(40px,4.5vw,72px);font-weight:600;letter-spacing:-.05em;line-height:1;margin-bottom:12px;position:relative;z-index:1}
.pcard p{color:#3b3b48;max-width:260px;position:relative;z-index:1}
.pcard__orb{position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(40px);top:-60px;right:-60px;opacity:.8;transition:transform 1s var(--ease)}
.pcard:hover .pcard__orb{transform:scale(1.35) translate(-20px,20px)}
.o1{background:radial-gradient(circle,#a78bfa,transparent 70%)}
.o2{background:radial-gradient(circle,#60a5fa,transparent 70%)}
.o3{background:radial-gradient(circle,#22d3ee,transparent 70%)}

/* ---------- Services ---------- */
.services{position:relative;padding:18vh var(--pad);background:var(--bg);z-index:2}
.services__head{margin-bottom:10vh}
.svc{list-style:none;border-top:1px solid var(--line)}
.svc__item{border-bottom:1px solid var(--line);position:relative}
.svc__row{width:100%;display:grid;grid-template-columns:80px 1fr 48px;align-items:center;padding:clamp(20px,3.2vw,44px) 0;text-align:left;position:relative}
.svc__row::before{content:"";position:absolute;inset:0 calc(var(--pad)*-1);background:var(--grad);opacity:0;transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease),opacity .6s;z-index:-1}
.svc__n{font-family:var(--mono);font-size:13px;color:var(--muted)}
.svc__name{font-size:clamp(32px,5.5vw,88px);font-weight:500;letter-spacing:-.05em;line-height:1;transition:transform .6s var(--ease),color .4s}
.svc__row:hover .svc__name{transform:translateX(24px)}
.svc__plus{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;position:relative;transition:transform .6s var(--ease),background .4s}
.svc__plus::before,.svc__plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.svc__plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .6s var(--ease)}
.svc__item.is-open .svc__plus{transform:rotate(180deg);background:#fff;color:#000}
.svc__item.is-open .svc__plus::after{transform:translate(-50%,-50%) rotate(0)}
.svc__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.svc__body>div{overflow:hidden}
.svc__body p{padding:0 0 40px 80px;font-size:clamp(16px,1.6vw,24px);color:#c9c9d8;font-weight:300;max-width:900px}
.svc__item.is-open .svc__body{grid-template-rows:1fr}
.svc__float{position:fixed;top:0;left:0;width:340px;height:240px;border-radius:20px;overflow:hidden;pointer-events:none;z-index:20;opacity:0;transform:translate(-50%,-50%) scale(.6);background:#111}
.svc__float img{width:100%;height:100%;object-fit:cover}
@media (hover:none){.svc__float{display:none}}

/* ---------- Kinetic cylinder ---------- */
.kinetic{position:relative;min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:4vw;padding:12vh var(--pad);overflow:hidden;background:radial-gradient(ellipse at 30% 50%,rgba(91,33,182,.35),transparent 60%),radial-gradient(ellipse at 80% 70%,rgba(6,182,212,.18),transparent 55%),var(--bg)}
.kinetic__stage{height:80vh;perspective:1400px;display:grid;place-items:center}
.cyl{position:relative;width:1px;height:100%;transform-style:preserve-3d;transform:rotateX(-12deg)}
.cyl__ring{position:absolute;left:0;transform-style:preserve-3d;animation:spin var(--dur,24s) linear infinite;animation-delay:var(--delay,0s)}
.cyl__ring span{position:absolute;left:0;top:0;font-weight:500;font-size:var(--fs,34px);letter-spacing:.02em;line-height:1;white-space:nowrap;backface-visibility:hidden;-webkit-backface-visibility:hidden;color:#fff}
@keyframes spin{from{transform:rotateY(0)}to{transform:rotateY(-360deg)}}
.kinetic__text h2{font-size:clamp(32px,3.8vw,60px);font-weight:500;line-height:1.02;letter-spacing:-.04em;margin-bottom:32px}
.kinetic__text p:not(.eyebrow){color:#bdbdcc;font-weight:300;max-width:460px}

/* ---------- Why ---------- */
.why{padding:18vh var(--pad);position:relative}
.why__head{margin-bottom:10vh}
.why__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.wcard{position:relative;padding:32px;min-height:300px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;transform-style:preserve-3d;will-change:transform}
.wcard::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.35),transparent 45%);opacity:0;transition:opacity .4s}
.wcard:hover::before{opacity:1}
.wcard__i{position:absolute;top:28px;left:32px;font-size:28px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wcard h3{font-size:clamp(24px,2.2vw,34px);font-weight:600;letter-spacing:-.04em;margin-bottom:10px;position:relative}
.wcard p{color:#b5b5c5;font-weight:300;position:relative}
.wcard--wide{grid-column:1/-1;min-height:220px;background:linear-gradient(110deg,rgba(109,40,217,.35),rgba(37,99,235,.25) 50%,rgba(34,211,238,.2))}
.wcard--wide h3{font-size:clamp(36px,4vw,64px)}

/* ---------- Team ---------- */
.team{padding:6vh var(--pad) 18vh}
.team__row{display:grid;grid-template-columns:1fr 1fr;align-items:baseline;gap:24px;padding:clamp(24px,3vw,40px) 0;border-top:1px solid var(--line);transition:padding .5s var(--ease)}
.team__row:last-child{border-bottom:1px solid var(--line)}
.team__row h3{font-size:clamp(32px,5vw,76px);font-weight:500;letter-spacing:-.05em;line-height:1}
.team__row p{color:var(--muted);font-size:clamp(15px,1.3vw,20px)}
.team__row:not(.team__row--net):hover{padding-left:24px}
.team__row:not(.team__row--net):hover h3{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.tags li{padding:8px 14px;border:1px solid var(--line);border-radius:100px;font-size:13px;color:#cfcfe0;transition:background .3s,color .3s,border-color .3s}
.tags li:hover{background:#fff;color:#000;border-color:#fff}

/* ---------- Clients ---------- */
.clients{padding:14vh 0 18vh;overflow:hidden}
.clients__head{padding:0 var(--pad);margin-bottom:10vh}
.logos{display:flex;flex-direction:column;gap:5vh;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.logos__row{display:flex;align-items:center;gap:clamp(48px,7vw,110px);width:max-content}
.logos__row img{height:clamp(34px,4vw,56px);width:auto;opacity:.65;transition:opacity .4s,transform .4s var(--ease);filter:grayscale(1)}
.logos__row img:hover{opacity:1;transform:scale(1.08);filter:none}

/* ---------- Contact ---------- */
.contact{position:relative;padding:20vh var(--pad) 12vh;overflow:hidden;isolation:isolate;border-top:1px solid var(--line)}
.contact>*:not(.aurora){position:relative;z-index:1}
.aurora--contact .aurora__blob{opacity:.5}
.contact__big{display:block;font-size:clamp(56px,13vw,230px);font-weight:500;letter-spacing:-.06em;line-height:.9}
.contact__big .arrow{font-style:normal;display:inline-block;margin-left:.1em;color:var(--cyan);transition:transform .8s var(--ease)}
.contact__big:hover .arrow{transform:translateX(.15em) rotate(-45deg)}
.contact__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:14vh;padding-top:32px;border-top:1px solid var(--line)}
.contact__grid .mono{margin-bottom:10px}
.link-u{position:relative;font-size:clamp(15px,1.3vw,19px)}
.link-u::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.link-u:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- Footer ---------- */
.footer{padding:0 var(--pad) 28px;overflow:hidden}
.footer__big{white-space:nowrap;font-weight:700;font-size:29vw;letter-spacing:-.07em;line-height:.8;text-align:center;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.05) 95%);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 -2vw;user-select:none}
.footer__big .ch{display:inline-block;background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.04) 92%);-webkit-background-clip:text;background-clip:text;color:transparent}
.footer__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding-top:24px;border-top:1px solid var(--line);margin-top:3vw}

/* ---------- Helpers ---------- */
.fade-up{opacity:0;transform:translateY(40px)}
.no-js .fade-up,.reduced .fade-up{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .why__grid{grid-template-columns:repeat(2,1fr)}
  .process__cards{grid-template-columns:1fr}
  .pcard{min-height:280px}
  .kinetic{grid-template-columns:1fr}
  .kinetic__stage{height:60vh}
}
@media (max-width:820px){
  .nav__links,.nav .btn--pill{display:none}
  .nav__burger{display:block}
  .hero__glass{width:110vw;right:-40vw;top:18vh;opacity:.6}
  .hero__title .line--indent{padding-left:0}
  .hero__bottom{flex-direction:column;align-items:flex-start}
  .hero__meta{width:100%;justify-content:space-between;text-align:left}
  .hero__tags{display:none}
  .studio__grid{grid-template-columns:1fr}
  .studio__copy{grid-template-columns:1fr}
  .stats{gap:32px}
  .glass-chip{left:16px}
  .process{border-radius:28px 28px 0 0}
  .process__intro{margin-left:0}
  .svc__row{grid-template-columns:44px 1fr 40px}
  .svc__body p{padding-left:44px}
  .why__grid{grid-template-columns:1fr}
  .team__row{grid-template-columns:1fr;gap:8px}
  .contact__grid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .grain{display:none}
}

/* ---------- Language switch ---------- */
.lang{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;letter-spacing:.08em;margin-left:auto}
.lang span{opacity:.35}
.lang button{opacity:.45;padding:6px 2px;transition:opacity .3s;position:relative}
.lang button[aria-pressed=true]{opacity:1}
.lang button[aria-pressed=true]::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:currentColor}
.lang button:hover{opacity:1}
.nav .lang{margin-right:8px}
.lang--menu{margin:40px 0 0;font-size:14px}
@media (max-width:820px){.nav .lang{margin-right:0}}

.hero.has-3d{-webkit-user-select:none;user-select:none}

.contact__big .line{padding-bottom:.16em;margin-bottom:-.16em}
.big-title .line{padding-bottom:.12em;margin-bottom:-.12em}
