/* Shail Shift — shailshift.com. Identity kept from the 2026 site: Bebas Neue display, DM Mono labels, Outfit body, acid-lime accent. */
:root{
  --ink:#0a1214; --panel:#111c1f; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.16);
  --txt:#f3f3ee; --mute:rgba(243,243,238,.62); --dim:rgba(243,243,238,.38);
  --acc:#c8ff3e; --acc-ink:#07080c;
  --fD:'Bebas Neue',Impact,'Arial Narrow',sans-serif; --fB:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif; --fM:'DM Mono',ui-monospace,Consolas,monospace;
  --pad:clamp(16px,4vw,56px); --ease:cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --ink:#eef0e8; --panel:#e4e7dc; --line:rgba(10,12,6,.10); --line2:rgba(10,12,6,.20);
  --txt:#0b0d07; --mute:rgba(11,13,7,.66); --dim:rgba(11,13,7,.42);
  --acc:#4c7a00; --acc-ink:#f4f6ee; color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--ink);color:var(--txt);font:400 16px/1.6 var(--fB);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--acc);color:var(--acc-ink);padding:8px 14px}
.skip:focus{left:8px}
.mono{font-family:var(--fM);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.acc{color:var(--acc)} .dim{color:var(--dim)}
.display{font-family:var(--fD);font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:.88}
.display.big{font-size:clamp(64px,13vw,200px)}
.lede{color:var(--mute);font-weight:300;font-size:clamp(16px,1.4vw,19px);line-height:1.7;max-width:46ch}
.link{color:var(--mute);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:3px;transition:color .2s,border-color .2s}
.link:hover{color:var(--acc);border-color:var(--acc)}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--pad) 14px;background:color-mix(in srgb,var(--ink) 78%,transparent);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line)}
.logo{font-family:var(--fD);font-size:24px;letter-spacing:.12em;text-decoration:none;color:var(--txt);white-space:nowrap}
.logo b{color:var(--acc);font-weight:400}
.logo.sm{font-size:18px}
.nav nav{display:flex;align-items:center;gap:clamp(12px,2vw,28px)}
.nav nav a{font-family:var(--fM);font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--mute);transition:color .2s}
.nav nav a:hover{color:var(--txt)}
.nav .cta{color:var(--txt);border:1px solid var(--line2);padding:8px 16px;border-radius:99px;transition:all .25s var(--ease)}
.nav .cta:hover{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.theme{width:38px;height:22px;border:1px solid var(--line2);border-radius:99px;position:relative}
.theme span{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--acc);transition:transform .3s var(--ease)}
:root[data-theme="light"] .theme span{transform:translateX(16px)}
@media(max-width:760px){.nav nav a:not(.cta){display:none}}

/* hero */
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center;
  padding:calc(110px + env(safe-area-inset-top,0px)) var(--pad) 48px}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.eyebrow::before{content:'';width:24px;height:1px;background:var(--acc)}
.hero h1{font-size:clamp(88px,13.5vw,220px);animation:up .9s .1s var(--ease) both}
.hero h1 span{display:block;color:var(--acc)}
.hero .lede{margin-top:22px;animation:up .9s .25s var(--ease) both}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;animation:up .9s .35s var(--ease) both}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border:1px solid var(--line2);border-radius:99px;text-decoration:none;
  font-family:var(--fM);font-size:12px;letter-spacing:.12em;text-transform:uppercase;transition:all .25s var(--ease)}
.btn svg{width:10px;height:10px}
.btn:hover{border-color:var(--acc);color:var(--acc)}
.btn.solid{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:0 10px 30px color-mix(in srgb,var(--acc) 30%,transparent);color:var(--acc-ink)}
.monitor{animation:up 1s .45s var(--ease) both}
.mon-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#000;box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px var(--line2)}
.mon-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s ease}
.mon-frame img.kb{animation:kb 4.5s linear both}
.mon-b{opacity:0}
.mon-hud{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;padding:12px 14px;color:#fff;
  background:linear-gradient(rgba(0,0,0,.45),transparent);font-size:10px;pointer-events:none}
.rec{color:#ff5a4f}
.mon-cap{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:2px;padding:40px 16px 14px;text-decoration:none;color:#fff;
  background:linear-gradient(transparent,rgba(0,0,0,.75))}
.mon-cap strong{font-family:var(--fD);font-weight:400;font-size:clamp(24px,2.6vw,38px);letter-spacing:.03em;line-height:1}
.mon-cap .dim{color:rgba(255,255,255,.55);font-size:9px}
.mon-cap .mono:last-child{font-size:10px;color:var(--acc)}
:root[data-theme="light"] .mon-cap .mono:last-child{color:#c8ff3e}
.ruler{display:flex;gap:3px;margin-top:12px;height:18px;align-items:flex-end}
.ruler button{flex:1;height:8px;background:var(--line2);border-radius:1px;transition:height .25s var(--ease),background .25s}
.ruler button:hover{height:14px;background:var(--mute)}
.ruler button.on{height:18px;background:var(--acc)}
@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:calc(96px + env(safe-area-inset-top,0px))}}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:18px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:28px;width:max-content;animation:mq 70s linear infinite;align-items:center}
.mq-track,.mq-dup{gap:clamp(36px,5vw,72px)}
.mq-dup{display:flex;align-items:center}
/* logo wall */
.logos{border-top:1px solid var(--line)}
.logos-h{padding:22px var(--pad) 0;text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.logos .marquee{border:0;padding:26px 0 30px}
.lg{display:inline-block;flex:none;background:color-mix(in srgb,var(--txt) 64%,transparent);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:background .25s}
.lg:hover{background:var(--txt)}
.lg-t{font-family:var(--fD);font-size:clamp(20px,2vw,28px);letter-spacing:.05em;text-transform:uppercase;color:var(--mute);white-space:nowrap;line-height:1}
.partners{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;margin:14px 0 30px}
.partners .lg-t{font-size:22px}
.marquee:hover .mq-track{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;padding:0 var(--pad);row-gap:28px}.mq-dup{display:none}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.stats div{padding:clamp(24px,4vw,48px) var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.stats div:last-child{border-right:0}
.stats b{font-family:var(--fD);font-weight:400;font-size:clamp(48px,6vw,92px);line-height:.9;color:var(--txt)}
.stats span{color:var(--dim)}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}}

/* sections */
.sec{padding:clamp(64px,9vw,128px) var(--pad);border-bottom:1px solid var(--line)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.sec-head h2{font-size:clamp(48px,7vw,112px);margin-top:10px}

/* selected work */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,32px) clamp(16px,2vw,24px)}
.card{text-decoration:none;display:flex;flex-direction:column;gap:16px}
.card.wide{grid-column:1/-1}
.card-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:var(--panel)}
.card.wide .card-media{aspect-ratio:2.39/1}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-media img{transform:scale(1.03)}
.scrub{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.12);opacity:0;transition:opacity .2s}
.scrub::after{content:'';position:absolute;inset:0 auto 0 0;width:var(--p,0%);background:var(--acc)}
.card:hover .scrub{opacity:1}
.badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#fff;font-family:var(--fM);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.badge svg{width:8px;height:8px;color:#c8ff3e}
.card-info{display:grid;gap:6px}
.card h3{font-family:var(--fD);font-weight:400;font-size:clamp(30px,3.2vw,52px);letter-spacing:.02em;line-height:.95;text-transform:uppercase;transition:color .2s}
.card:hover h3{color:var(--acc)}
.card p{color:var(--mute);font-weight:300;font-size:15px;max-width:60ch}
.card.wide .card-info{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:32px;align-items:end}
.card.wide .card-info .mono:first-child{grid-column:1/-1}
@media(max-width:760px){.grid{grid-template-columns:1fr}.card.wide .card-info{grid-template-columns:1fr}.card.wide .card-media{aspect-ratio:16/9}}

/* index */
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filters button{font-family:var(--fM);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border:1px solid var(--line2);border-radius:99px;color:var(--mute);transition:all .2s}
.filters button:hover{color:var(--txt);border-color:var(--mute)}
.filters button.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}
.ix-head,.row a{display:grid;grid-template-columns:90px minmax(0,2.2fr) minmax(0,1.4fr) minmax(0,1fr) 24px;gap:16px;align-items:center}
.ix-head{padding:0 8px 12px;border-bottom:1px solid var(--line2);font-size:10px}
.ix{list-style:none}
.row a{padding:16px 8px;border-bottom:1px solid var(--line);text-decoration:none;transition:background .2s,padding .3s var(--ease)}
.row a:hover{background:var(--panel);padding-left:16px}
.row .nm{font-family:var(--fD);font-size:clamp(22px,2.2vw,32px);letter-spacing:.03em;line-height:1;text-transform:uppercase;transition:color .2s}
.row a:hover .nm{color:var(--acc)}
.row .cl{color:var(--mute);font-weight:300}
.row .yr,.row .ct{color:var(--dim)}
.row .pl{color:var(--acc)} .row .pl svg{width:10px;height:10px}
.row[hidden]{display:none}
@media(max-width:760px){.ix-head{display:none}.row a{grid-template-columns:56px minmax(0,1fr) 16px;row-gap:2px}.row .cl{grid-column:2;grid-row:2;font-size:14px}.row .ct{display:none}.row .pl{grid-column:3;grid-row:1}}
.peek{position:fixed;top:0;left:0;width:300px;aspect-ratio:16/9;pointer-events:none;z-index:50;border-radius:4px;overflow:hidden;opacity:0;
  transform:translate(-50%,-50%) scale(.9);transition:opacity .2s,transform .3s var(--ease);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.peek.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.peek img{width:100%;height:100%;object-fit:cover}
@media(hover:none){.peek{display:none}}
.feed-h{margin:48px 0 12px}
.feed{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.feed a{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:6px;text-decoration:none;transition:border-color .2s}
.feed a:hover{border-color:var(--acc)}
.feed a>span:nth-child(3){grid-column:2;grid-row:2;font-size:9px}
.feed a>span:last-child{grid-column:3;grid-row:1/3;color:var(--dim)}
.plat{grid-row:1/3;font-family:var(--fM);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:3px;border:1px solid}
.plat.instagram{color:#e1306c;border-color:rgba(225,48,108,.35)} .plat.youtube{color:#ff4e45;border-color:rgba(255,78,69,.35)} .plat.vimeo{color:#1ab7ea;border-color:rgba(26,183,234,.35)}

/* lab — the cream Sudhara breakout from the old site */
.lab{background:#f3eee6;color:#2a241c;padding:clamp(64px,9vw,128px) var(--pad)}
.lab-in{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;max-width:1400px}
.lab .mono{color:#8e7aa0}
.lab h2{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:clamp(56px,8vw,120px);line-height:.95;margin:12px 0 24px;letter-spacing:-.01em}
.lab p{color:rgba(42,36,28,.68);max-width:56ch;margin-bottom:14px;font-weight:300}
.lab-tags{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 28px}
.lab-tags span{font-size:12px;padding:4px 10px;border:1px solid rgba(31,27,22,.16);border-radius:99px;color:rgba(42,36,28,.7)}
.lab-btn{border-color:#8e7aa0;color:#6d5a80}
.lab-btn:hover{background:#8e7aa0;color:#fbf8f3;border-color:#8e7aa0}
.lab-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#fbf8f3;border:1px solid rgba(31,27,22,.10);border-radius:14px;padding:28px 24px 140px;overflow:hidden}
.lab-stats div{display:flex;flex-direction:column}
.lab-stats b{font-family:'Playfair Display',Georgia,serif;font-size:clamp(36px,4vw,56px);line-height:1;color:#2a241c}
.lab-stats span{font-size:12px;color:rgba(42,36,28,.55)}
.lab-wave{position:absolute;left:0;right:0;bottom:0;width:100%;height:130px}
.lab-wave path:first-child{fill:rgba(142,122,160,.28)} .lab-wave path:last-child{fill:rgba(205,170,140,.35)}
@media(max-width:860px){.lab-in{grid-template-columns:1fr}}

/* studio */
.studio{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.studio h2,.teams h2{font-size:clamp(48px,7vw,112px);margin:10px 0 24px}
.studio p{color:var(--mute);font-weight:300;max-width:56ch;margin-bottom:16px;font-size:17px}
.years{display:flex;align-items:flex-end;gap:6px;height:180px;margin:14px 0 36px}
.yb{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;position:relative}
.yb i{width:100%;height:calc(var(--h)*130px);min-height:3px;background:var(--line2);border-radius:2px 2px 0 0;transition:background .2s}
.yb:hover i,.yb:last-child i{background:var(--acc)}
.yb span{font-size:9px;color:var(--dim);letter-spacing:.04em}
.yb em{position:absolute;bottom:calc(var(--h)*130px + 24px);font-style:normal;font-size:9px;color:var(--mute);opacity:0;transition:opacity .2s}
.yb:hover em{opacity:1}
.tl-h{margin-bottom:12px}
.tools{list-style:none;display:grid;gap:8px}
.tools li{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;font-size:14px}
.tools i{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--acc),color-mix(in srgb,var(--acc) 30%,transparent));width:calc(var(--w)*100%)}
@media(max-width:860px){.studio{grid-template-columns:1fr}}

/* contact */
.contact{padding:clamp(72px,10vw,160px) var(--pad);border-bottom:1px solid var(--line)}
.contact h2{margin:14px 0 clamp(32px,5vw,64px)}
.c-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line)}
.c-links a{display:flex;flex-direction:column;gap:6px;padding:22px 18px 22px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:18px;transition:color .2s}
.c-links a:hover{color:var(--acc)}
.c-links strong{font-weight:400}
.c-links i{font-style:normal;color:var(--dim);margin-left:4px;transition:color .2s}
.c-links a:hover i{color:var(--acc)}

.foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:24px var(--pad) calc(24px + env(safe-area-inset-bottom,0px))}
.foot a{text-decoration:none}

/* project page */
.proj{padding-top:calc(96px + env(safe-area-inset-top,0px))}
.p-head{padding:clamp(24px,4vw,56px) var(--pad) clamp(24px,3vw,40px);display:grid;gap:14px}
.back{text-decoration:none;margin-bottom:12px;width:fit-content}
.back:hover{color:var(--acc)}
.p-head h1{font-size:clamp(64px,11vw,180px)}
.p-hero{margin:0 var(--pad);position:relative;border-radius:6px;overflow:hidden;background:var(--panel)}
.p-hero img{width:100%;max-height:82vh;object-fit:cover}
.p-hero figcaption{position:absolute;top:12px;left:14px;color:#fff;font-size:10px;background:rgba(0,0,0,.45);padding:4px 8px;border-radius:3px}
.p-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);padding:clamp(32px,5vw,64px) var(--pad)}
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px 32px;align-content:start}
.meta dd{margin-top:6px;font-size:17px}
.watch{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.watch .btn{text-transform:none;letter-spacing:.02em;font-family:var(--fB);font-size:14px;flex-wrap:wrap}
.watch .btn .mono{font-size:9px;opacity:.7}
@media(max-width:860px){.p-body{grid-template-columns:1fr}}
.frames{padding:0 var(--pad) clamp(48px,6vw,96px)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;margin-top:14px}
.fr{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:var(--panel);cursor:zoom-in}
.fr img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.fr:hover img{transform:scale(1.04)}
.fr span{position:absolute;left:8px;bottom:8px;font-size:9px;color:#fff;background:rgba(0,0,0,.5);padding:3px 6px;border-radius:3px}
.pn{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pn a{display:flex;flex-direction:column;gap:8px;padding:clamp(28px,4vw,56px) var(--pad);text-decoration:none;font-family:var(--fD);font-size:clamp(28px,4vw,60px);text-transform:uppercase;line-height:1;transition:color .2s,background .2s}
.pn a:hover{color:var(--acc);background:var(--panel)}
.pn .nx{text-align:right;align-items:flex-end;border-left:1px solid var(--line)}
.lightbox{margin:auto;border:0;background:transparent;max-width:min(96vw,1600px);padding:0;overflow:visible}
.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(6px)}
.lightbox img{max-height:88vh;width:auto;margin:auto;border-radius:4px}
.lb-x{position:absolute;top:-44px;right:0;color:#fff;font-size:20px;padding:6px 10px}
.nf{min-height:80vh;display:grid;align-content:center;gap:18px;padding:120px var(--pad)}
.nf a{color:var(--acc)}

/* motion */
.rev{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rev.on{opacity:1;transform:none}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes kb{from{transform:scale(1.0)}to{transform:scale(1.06)}}
@keyframes mq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rev{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ---------- the world: walk the reel ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.world{position:relative;height:calc((var(--n) + 2) * 100svh)}
.world-stage{position:sticky;top:0;height:100svh;overflow:hidden;--sky1:#5f9499;--sky2:#2c4a4f;--dive:0;
  background:radial-gradient(120% 90% at 50% 34%,var(--sky1),var(--sky2) 72%,#0a1214 125%)}
.world-stage::after{content:'';position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,rgba(10,18,20,.55));pointer-events:none}
.world-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.world-stage.no-gl{background:linear-gradient(rgba(10,18,20,.35),rgba(10,18,20,.75)),var(--fallback,none) center/cover,radial-gradient(circle at 50% 40%,#5f9499,#2c4a4f)}
.w-hero{position:absolute;inset:calc(92px + env(safe-area-inset-top,0px)) 0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--pad);
  pointer-events:none;color:#fff;opacity:calc(1 - var(--dive) * 2.6);transform:translateY(calc(var(--dive) * -60px));z-index:2}
.w-hero .eyebrow{color:rgba(255,255,255,.78);letter-spacing:.34em;margin-bottom:10px;justify-content:center}
.w-hero .eyebrow::before{display:none}
.w-hero h1{font-size:clamp(76px,12vw,190px);text-shadow:0 6px 40px rgba(0,0,0,.25);animation:up .9s .1s var(--ease) both}
.w-hero h1 span{display:inline;color:#c8ff3e;margin-left:.12em}
.w-hero .lede{color:rgba(255,255,255,.82);margin-top:12px;max-width:52ch;animation:up .9s .25s var(--ease) both}
.w-scroll{position:absolute;z-index:3;opacity:calc(1 - var(--dive) * 4);left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(255,255,255,.8);font-size:10px}
.w-scroll i{width:20px;height:32px;border:1.5px solid rgba(255,255,255,.7);border-radius:12px;position:relative}
.w-scroll i::after{content:'';position:absolute;left:50%;top:6px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:#c8ff3e;animation:wheel 1.6s ease-in-out infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{opacity:0}}
.wcard{position:absolute;left:var(--pad);bottom:calc(84px + env(safe-area-inset-bottom,0px));width:min(440px,calc(100% - 2 * var(--pad)));z-index:3;color:#f3f3ee;
  padding:22px 24px 22px;border-radius:14px;background:rgba(10,18,20,.62);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 80px rgba(0,0,0,.35);opacity:0;transform:translateY(18px);transition:opacity .45s var(--ease),transform .55s var(--ease);pointer-events:none}
.wcard.on{opacity:1;transform:none;pointer-events:auto}
.wc-top{display:flex;justify-content:space-between;gap:12px}
.wc-top .acc{color:#c8ff3e}
.wc-n{color:rgba(255,255,255,.55)}
.wc-t{font-size:clamp(40px,4.4vw,64px);margin:10px 0 8px;line-height:.9}
.wc-l{color:rgba(243,243,238,.75);font-weight:300;font-size:15px;line-height:1.6}
.wc-c{margin-top:10px;color:rgba(243,243,238,.45)}
.wcard .btns{margin-top:18px;animation:none}
.wcard .btn{padding:10px 16px;font-size:11px;color:#f3f3ee;border-color:rgba(255,255,255,.25)}
.wcard .btn.solid{background:#c8ff3e;color:#0a1214;border-color:#c8ff3e}
.wcard .btn svg{width:9px;height:9px}
.wruler{position:absolute;left:var(--pad);right:var(--pad);bottom:calc(30px + env(safe-area-inset-bottom,0px));display:flex;gap:4px;z-index:3;
  opacity:min(1,calc(var(--dive) * 3 - 1.6))}
.wruler button{flex:1;height:22px;position:relative;display:flex;align-items:flex-end}
.wruler button::before{content:'';width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,.28);transition:height .25s var(--ease),background .25s}
.wruler button:hover::before{height:10px;background:rgba(255,255,255,.6)}
.wruler button.on::before{height:12px;background:#c8ff3e}
.wruler em{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-style:normal;font-size:9px;color:#fff;background:rgba(10,18,20,.8);padding:4px 7px;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .2s}
.wruler button:hover em,.wruler button:focus-visible em{opacity:1}
.w-hint{position:absolute;right:var(--pad);top:calc(88px + env(safe-area-inset-top,0px));z-index:3;font-size:9px;color:rgba(255,255,255,.6);opacity:min(1,calc(var(--dive) * 3 - 1.6))}
.world-stage:not(.ready) .wruler,.world-stage:not(.ready) .w-hint{opacity:0}
@media(max-width:760px){
  .wcard{left:12px;right:12px;width:auto;bottom:calc(64px + env(safe-area-inset-bottom,0px));padding:16px 18px}
  .wc-t{font-size:34px;margin:6px 0 4px}
  .wcard .btns{flex-wrap:nowrap;margin-top:12px}.wcard .btn{padding:9px 12px;font-size:10px}
  .wc-l{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .wruler{left:12px;right:12px;bottom:calc(22px + env(safe-area-inset-bottom,0px))}
  .w-hint{display:none}
}

/* teams — studios worked inside as an independent artist (session 9) */
.teams .tm-head{max-width:820px;margin-bottom:clamp(28px,4vw,48px)}
.teams .tm-head p{color:var(--mute);max-width:62ch;margin-top:16px}
.tm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.tm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:clamp(16px,3vw,48px);align-items:start;padding:clamp(20px,2.6vw,32px) 0;border-bottom:1px solid var(--line)}
.tm-id{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tm-id h3{font-family:var(--fD);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1;letter-spacing:.01em}
.tm-id .lg{flex:none;transform:scale(.8);transform-origin:left center}
.tm-what p{color:var(--mute);margin:6px 0 12px;max-width:60ch}
.tm-work{display:flex;flex-wrap:wrap;gap:6px}
.tm-work a{font-size:13px;padding:4px 11px;border:1px solid var(--line2);border-radius:99px;color:var(--txt);text-decoration:none;transition:border-color .2s,color .2s}
.tm-work a:hover{border-color:var(--acc);color:var(--acc)}
.tm-num{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--dim);white-space:nowrap}
.tm-num span:first-child{color:var(--acc)}
@media (max-width:760px){
  .tm{grid-template-columns:minmax(0,1fr) auto}
  .tm-what{grid-column:1 / -1;grid-row:2}
}
