/* Layout concept: a story in two parts. Darkroom (Part I) is a bencho-style masonry wall of live cards;
   the bridge develops the page into Print (Part II), an editorial paper spread. Tokens mirror the
   "Parth Jairam" design system; JS interpolates every colour token across the bridge. */
:root{
  --bg:#0a0a09; --card:rgba(255,255,255,.08); --surface:#121211; --surface-2:#1b1b1a; --surface-3:#262624;
  --board:#1c1c1b; --glass:rgba(24,24,23,.78);
  --ink:#f2f0ec; --ink-2:#bab7b1; --ink-3:#a09d97; --ink-4:#94918b; --ink-5:#8a8781; --on-ink:#0a0a09;
  --edge:rgba(255,255,255,.14); --edge-strong:rgba(255,255,255,.32); --inlay:rgba(255,255,255,.07);
  --amber:#d9a453; --on-amber:#1a1205; --ok:#8fb57a; --darkroom:#0a0a09; --paper:#eceae5;
  --ring-c:rgba(255,255,255,.2); --lift-a:rgba(21,20,18,0); --lift-b:rgba(21,20,18,0); --float-c:rgba(0,0,0,.7);
  --grain:.07;

  --ring:0 0 0 1px var(--ring-c);
  --focus:0 0 0 2px var(--bg),0 0 0 4px var(--ink-2);
  --lift:0 1px 0 var(--lift-a),0 18px 40px -24px var(--lift-b);
  --float:0 24px 60px -20px var(--float-c);

  --font-sans:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-serif:"Bodoni Moda","Bodoni 72",Didot,Georgia,serif;
  --font-mono:"Martian Mono",ui-monospace,"SF Mono",Menlo,monospace;

  --radius-pill:999px; --radius-card:28px; --radius-skeleton:18px; --radius-control:12px; --radius-inner:10px; --radius-tooltip:8px; --radius-tiny:6px;
  --gutter:20px; --gap:12px; --topbar-h:72px;

  --ease-out:cubic-bezier(.22,1,.36,1); --ease-spring:cubic-bezier(.28,1.3,.36,1); --ease-pop:cubic-bezier(.28,1.4,.36,1);
  --ease-smooth:cubic-bezier(.3,.9,.4,1); --ease-layout:cubic-bezier(.33,.55,.2,1);
  --dur-hover:.16s; --dur-press:.2s; --dur-panel:.36s; --dur-enter:.62s; --dur-develop:1.4s;
  color-scheme:dark;
}
html[data-mode="print"]{color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--font-sans);margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;display:block}
button{font:inherit;color:inherit}
a{color:inherit}
::selection{background:var(--amber);color:var(--on-amber)}
:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-inner)}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.label{font:400 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-5)}
.tnum{font-variant-numeric:tabular-nums}
svg.i{width:16px;height:16px;flex:none}
.i path,.i circle,.i rect,.i line,.i polyline{vector-effect:non-scaling-stroke}

/* grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:90;opacity:var(--grain);background-size:160px 160px;mix-blend-mode:normal;animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* ---------- buttons & pills ---------- */
.btn{appearance:none;border:0;cursor:pointer;font:500 15px/1 var(--font-sans);letter-spacing:-.006em;height:44px;padding:0 22px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap;transition:transform var(--dur-press) var(--ease-pop),background-color var(--dur-hover),color var(--dur-hover),opacity var(--dur-hover),box-shadow var(--dur-hover)}
.btn:active{transform:scale(.96)!important}
.btn-primary{background:var(--ink);color:var(--on-ink)}
.btn-secondary{background:transparent;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--edge-strong)}
.btn-secondary:hover{color:var(--ink);background:var(--card)}
.btn-sm{height:36px;font-size:13px;padding:0 16px}
.btn-gold{position:relative;overflow:hidden;isolation:isolate;color:#1a1205;background:linear-gradient(135deg,#f6e3a8 0%,#e2b862 30%,#c4923a 55%,#efd28d 82%,#d6a54f 100%);background-size:220% 220%;background-position:0% 50%;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(90,60,10,.35),0 10px 28px -14px rgba(217,164,83,.7);transition:transform var(--dur-press) var(--ease-pop),background-position .9s var(--ease-smooth),box-shadow var(--dur-hover)}
.btn-gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.6) 48%,transparent 66%);transform:translateX(-130%);animation:goldSheen 4.2s var(--ease-smooth) 1.4s infinite}
.btn-gold:hover{background-position:100% 50%;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(90,60,10,.35),0 14px 34px -14px rgba(217,164,83,.85)}
@keyframes goldSheen{0%{transform:translateX(-130%)}35%,100%{transform:translateX(130%)}}
.btn:focus-visible{box-shadow:var(--focus);border-radius:var(--radius-pill)}
.icon-btn{appearance:none;border:0;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--ink-2);transition:transform var(--dur-press) var(--ease-pop),background-color var(--dur-hover),color var(--dur-hover)}
.icon-btn:hover{color:var(--ink);background:var(--surface-3)}
.icon-btn:active{transform:scale(.92)}
.icon-btn:focus-visible{border-radius:50%}
.badge{display:inline-flex;align-items:center;gap:6px;font:500 11px/1 var(--font-sans);letter-spacing:.01em;padding:6px 9px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--ink)}
.chip{appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--radius-pill);background:var(--card);color:var(--ink-2);font:500 14px/1 var(--font-sans);white-space:nowrap;transition:background-color var(--dur-hover),color var(--dur-hover),transform var(--dur-press) var(--ease-pop)}
.chip:hover{color:var(--ink)}
.chip:active{transform:scale(.96)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--on-ink)}
.chip sup{font:500 10px/1 var(--font-mono);opacity:.6;top:0}
.chip:focus-visible{border-radius:var(--radius-pill)}
.tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:var(--radius-pill);background:var(--inlay);color:var(--ink-3);font:500 12px/1 var(--font-sans)}
.status{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--radius-pill);background:var(--card);color:var(--ink-2);font:500 13px/1 var(--font-sans);white-space:nowrap}
.dot{position:relative;width:6px;height:6px;border-radius:50%;background:var(--ok);flex:none}
.dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--ok);animation:pulse 2.6s var(--ease-out) infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.6}70%,100%{transform:scale(2.8);opacity:0}}
.kbd{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 5px;border-radius:6px;background:var(--inlay);box-shadow:inset 0 0 0 1px var(--edge);font:500 10.5px/1 var(--font-sans);color:var(--ink-5)}

/* ---------- top bar ---------- */
.topbar{position:fixed;inset:0 0 auto 0;z-index:60;height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--gutter) 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;pointer-events:none}
.topbar>*{pointer-events:auto}
.topbar::before{content:"";position:absolute;inset:0;background:var(--glass);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 1px 0 var(--edge);opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}
.topbar.scrolled.peek::before{opacity:1}
.topbar.scrolled.peek .tb-hide{opacity:1;transform:none;pointer-events:auto}
.topbar.scrolled.peek .island{background:var(--card);box-shadow:none}
.tb-left{display:flex;align-items:center;gap:32px;min-width:0}
.tb-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.tb-left,.tb-right{transition:opacity .2s,transform .26s var(--ease-out)}
.topbar.scrolled .tb-hide{opacity:0;transform:translateY(-10px);pointer-events:none}
.mark{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:var(--ink);font:500 14px/1 var(--font-sans);letter-spacing:-.01em}
.ball-wrap{display:inline-grid;width:28px;height:28px;flex:none}
.ball-mark{width:28px;height:28px;display:block}
.ball-mark .bm-seam path{fill:none;stroke:#2a1608;stroke-width:1.3;stroke-linecap:round}
.ball-mark .bm-ring{fill:none;stroke:rgba(0,0,0,.3);stroke-width:.8}
.mark:hover .ball-wrap{animation:markBounce .75s var(--ease-out)}
@keyframes markBounce{0%{transform:none}22%{transform:translateY(-6px)}46%{transform:translateY(0) scale(1.08,.9)}66%{transform:translateY(-2px)}100%{transform:none}}
.nav{display:flex;gap:24px}
.nav a{font:500 14px/19.5px var(--font-sans);color:var(--ink-3);text-decoration:none;transition:color var(--dur-hover)}
.nav a:hover,.nav a.active{color:var(--ink)}
.island{position:relative;display:flex;align-items:center;gap:10px;height:48px;padding:0 10px 0 16px;border-radius:var(--radius-pill);background:var(--card);color:var(--ink-5);cursor:pointer;border:0;font:400 14px/1 var(--font-sans);min-width:228px;overflow:hidden;transition:background-color .3s,box-shadow .3s,min-width .42s var(--ease-layout),padding .42s var(--ease-layout)}
.topbar.scrolled .island{background:var(--glass);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:var(--ring);color:var(--ink-2)}
.island:hover{color:var(--ink)}
.island:focus-visible{border-radius:var(--radius-pill)}
.isl-text{position:relative;flex:none;width:68px;height:20px;overflow:hidden;text-align:left;white-space:nowrap;transition:width .42s var(--ease-layout)}
.isl-text span{position:absolute;left:0;top:0;line-height:20px;transition:transform .42s var(--ease-out),opacity .3s}
.isl-text span.out{transform:translateY(-100%);opacity:0}
.isl-text span.in{transform:translateY(100%);opacity:0}
.isl-time{margin-left:auto;font:400 11px/1 var(--font-mono);letter-spacing:.04em;color:var(--ink-5);white-space:nowrap;max-width:0;opacity:0;overflow:hidden;transition:max-width .42s var(--ease-layout),opacity .3s}
.island .kbd{flex:none}
.island>.i{flex:none}
.topbar.scrolled .island:hover .isl-time{max-width:120px;opacity:1}
.isl-prog{position:absolute;left:16px;right:16px;bottom:0;height:2px;border-radius:2px;background:transparent;overflow:hidden}
.isl-prog i{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--amber);opacity:0;transition:opacity .3s}
.topbar.scrolled .isl-prog i{opacity:.9}
.split{display:inline-flex;height:36px;border-radius:var(--radius-pill);background:var(--ink);color:var(--on-ink);position:relative}
.split>button,.split>a{appearance:none;border:0;background:none;color:inherit;cursor:pointer;font:500 13px/1 var(--font-sans);display:inline-flex;align-items:center;text-decoration:none;transition:opacity var(--dur-hover),transform var(--dur-press) var(--ease-pop)}
.split>:first-child{padding:0 14px 0 16px;border-radius:var(--radius-pill) 0 0 var(--radius-pill)}
.split>:last-child{padding:0 12px 0 10px;border-left:1px solid color-mix(in srgb,var(--on-ink) 18%,transparent);border-radius:0 var(--radius-pill) var(--radius-pill) 0}
.split>:hover{opacity:.86}
.split>:active{transform:scale(.96)}
.menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;padding:6px;border-radius:18px;background:var(--board);box-shadow:var(--ring),var(--float);display:grid;gap:2px;opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top right;pointer-events:none;transition:opacity .2s,transform .3s var(--ease-spring)}
.menu.open{opacity:1;transform:none;pointer-events:auto}
.menu a,.menu button{appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;color:var(--ink-2);font:500 13px/1 var(--font-sans);text-decoration:none;cursor:pointer;text-align:left}
.menu a:hover,.menu button:hover,.menu a:focus-visible,.menu button:focus-visible{background:var(--card);color:var(--ink)}
.menu .label{padding:8px 12px 4px}
.burger{display:none}

/* ---------- layout ---------- */
.wrap{padding-inline:var(--gutter);max-width:1360px;margin:0 auto}
main{position:relative;z-index:1}
section,[id]{scroll-margin-top:84px}

/* ---------- hero ---------- */
.hero{position:relative;padding:calc(var(--topbar-h) + 60px) var(--gutter) 64px;text-align:center;overflow:hidden}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-inner{position:relative;max-width:984px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.hero-pill{display:inline-flex;align-items:center;gap:10px;height:49px;padding:0 22px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink-2);font:500 16.8px/1 var(--font-sans);overflow:hidden;transition:width .5s var(--ease-layout);white-space:nowrap}
.hero-pill .roll{position:relative;display:inline-block;height:24px;overflow:hidden;vertical-align:middle}
.hero-pill .roll span{display:block;line-height:24px;transition:transform .5s var(--ease-out),opacity .35s}
.hero h1{margin:31px 0 0;font:500 clamp(55px,8.64vw,110px)/1.0 var(--font-sans);letter-spacing:-.04em;text-wrap:balance}
.hero h1 .ch{display:inline-block;will-change:transform}
.hero-sub{margin:24px auto 0;max-width:708px;font:400 20.4px/1.5 var(--font-sans);color:var(--ink-5);text-wrap:balance}
.hero-sub strong{color:var(--ink-2);font-weight:500}
.hero-cta{margin-top:29px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero-cta .btn{height:53px;padding:0 26px;font-size:18px}
.hero-meta{margin-top:67px;display:flex;gap:34px;justify-content:center;flex-wrap:wrap}
.hero-meta div{display:grid;gap:7px;text-align:center}
.hero-meta .label{font-size:13px}
.hero-meta b{font:500 16.8px/1.2 var(--font-sans);color:var(--ink-2)}

/* stickers */
.stickers{position:absolute;inset:0;pointer-events:none;z-index:2}
.sticker{position:absolute;display:block;height:auto;max-width:none;pointer-events:auto;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;touch-action:none;
  translate:var(--x,0px) var(--y,0px);rotate:var(--r,0deg);scale:var(--s,1);
  filter:drop-shadow(0 9px 14px rgba(0,0,0,.5)) drop-shadow(0 2px 3px rgba(0,0,0,.4));
  transition:scale .4s var(--ease-pop),rotate .45s var(--ease-pop),filter .3s,opacity .2s}
.sticker:hover{--s:1.05;rotate:calc(var(--r,0deg) + 3deg)}
.sticker.drag{--s:1.1;cursor:grabbing;rotate:calc(var(--r,0deg) - 4deg);filter:drop-shadow(0 22px 26px rgba(0,0,0,.55)) drop-shadow(0 4px 6px rgba(0,0,0,.4))}
.js .sticker{opacity:0;scale:1.3;rotate:calc(var(--r,0deg) + 12deg)}
.js .sticker.stuck{opacity:1;scale:var(--s,1);rotate:var(--r,0deg)}
.js .sticker.stuck:hover{rotate:calc(var(--r,0deg) + 3deg)}
.js .sticker.stuck.drag{rotate:calc(var(--r,0deg) - 4deg)}
.s-guitar{width:150px;left:calc(50% - 560px);top:150px}
.s-capy{width:184px;left:calc(50% + 360px);top:126px}
.s-camera{width:196px;left:calc(50% + 384px);top:420px}
.s-pixel{width:150px;left:calc(50% - 548px);top:466px}
.s-yc{width:80px;left:calc(50% - 362px);top:94px}
#creator{overflow-x:clip;margin-top:-100px}
.part-head{position:relative}
.part-stickers .sticker{filter:drop-shadow(0 9px 14px rgba(21,20,18,.24)) drop-shadow(0 2px 3px rgba(21,20,18,.2))}
.part-stickers .sticker.drag{filter:drop-shadow(0 22px 26px rgba(21,20,18,.3)) drop-shadow(0 4px 6px rgba(21,20,18,.22))}
.s-camera2{width:230px;right:4%;top:-8px}
.scroll-cue{margin:44px auto 0;width:22px;height:34px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--edge-strong);position:relative}
.scroll-cue::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--ink-3);animation:cue 1.8s var(--ease-out) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{opacity:0}}

/* entrance */
.js .enter{opacity:0;transform:translateY(10px)}
.js .enter.on{opacity:1;transform:none;transition:opacity var(--dur-enter) var(--ease-out),transform var(--dur-enter) var(--ease-out);transition-delay:var(--d,0ms)}
.js .hero h1 .ch{opacity:0;transform:translateY(.45em) rotate(4deg)}
.js .hero h1.on .ch{opacity:1;transform:none;transition:opacity .7s var(--ease-out),transform .9s var(--ease-spring)}

/* ---------- part marks ---------- */
.part{padding-top:84px}
.part-head{display:grid;gap:14px;margin-bottom:40px}
.pmark{display:flex;align-items:center;gap:12px;font:500 13px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-5)}
.pmark::after{content:"";height:1px;flex:0 1 120px;background:var(--edge-strong)}
.p1-title{margin:0;font:500 clamp(40px,6vw,72px)/1 var(--font-sans);letter-spacing:-.035em}
.p1-title .scr{font-family:var(--font-mono);font-weight:400;letter-spacing:-.02em;color:var(--ink-3)}
.part-lede{margin:0;max-width:590px;font:400 17px/1.5 var(--font-sans);color:var(--ink-5);text-wrap:pretty}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px}
.chips::-webkit-scrollbar{display:none}

/* ---------- wall / cards ---------- */
.wall{position:relative;display:flex;gap:var(--gap);align-items:flex-start}
.wall .col{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
.nojs-wall{columns:3 320px;column-gap:var(--gap)}
.nojs-wall .card{break-inside:avoid;margin-bottom:var(--gap)}
.card{position:relative;border-radius:var(--radius-card);background:var(--card);overflow:hidden;isolation:isolate;box-shadow:var(--lift);transition:transform var(--dur-press) var(--ease-pop);min-height:300px;display:flex;flex-direction:column}
.card.h-s{height:300px}.card.h-m{height:380px}.card.h-l{height:470px}
.card[data-detail]{cursor:pointer}
.card[data-detail]:active{transform:scale(.985)}
.card:focus-visible{border-radius:var(--radius-card)}
.card>.badge{position:absolute;top:14px;left:14px;z-index:3}
.corner-logo{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 5px;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:var(--ring);font:500 11px/1 var(--font-mono);letter-spacing:.04em;color:var(--ink-2)}
.corner-logo img{width:20px;height:20px;border-radius:5px;display:block}
.card .meta h3.h3-logo{line-height:0;padding:3px 0 4px}
.h3-logo img{height:18px;width:auto;display:block}
.badge .b-logo{width:14px;height:14px;border-radius:3px;display:block}
.badge .b-wordmark{height:13px;width:auto;display:block}
.card .stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:52px 18px 8px}
.card .meta{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:0 18px 16px}
.card .meta h3{margin:0;font:500 17px/1.25 var(--font-sans);letter-spacing:-.02em}
.card .meta p{margin:2px 0 0;font:400 13px/19.5px var(--font-sans);color:var(--ink-4)}
.card .meta .label{white-space:nowrap;padding-bottom:3px}
.veil{position:absolute;left:0;right:0;bottom:0;height:104px;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:0 14px 14px;background:linear-gradient(to top,var(--bg) 18%,transparent);opacity:0;transform:translateY(4px);transition:opacity var(--dur-panel) var(--ease-spring),transform var(--dur-panel) var(--ease-spring);pointer-events:none}
.card[data-detail]:hover .veil,.card[data-detail]:focus-visible .veil{opacity:1;transform:none}
.namepill{font:500 12.5px/1 var(--font-sans);letter-spacing:-.01em;padding:10px 13px;border-radius:var(--radius-pill);background:var(--glass);backdrop-filter:blur(10px) saturate(1.5);-webkit-backdrop-filter:blur(10px) saturate(1.5);color:var(--ink);box-shadow:var(--ring);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.veil .open{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;flex:none}
.card.leaving{opacity:0;transform:scale(.94);transition:opacity .22s,transform .22s}
.card.entering{animation:cardIn .5s var(--ease-spring) both}
@keyframes cardIn{from{opacity:0;transform:scale(.94)}}

/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(24px)}
.js [data-reveal].in{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*70ms)}

/* placeholders */
.ph{position:relative;width:100%;border-radius:var(--radius-skeleton);background:var(--surface);box-shadow:inset 0 0 0 1px var(--edge);overflow:hidden;display:grid;place-items:center;text-align:center}
.ph::before{content:"";position:absolute;inset:8px;border-radius:calc(var(--radius-skeleton) - 6px);border:1px dashed var(--edge-strong);pointer-events:none}
.ph .label{position:relative;padding:0 14px;max-width:100%}
.ph svg{width:20px;height:20px;color:var(--ink-5);margin:0 auto 10px}
.ph .ph-in{display:grid;place-items:center}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ph.has-img::before,.ph.has-img .ph-in{display:none}
.shimmer::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,var(--inlay) 50%,transparent 70%);transform:translateX(-100%);animation:shim 2.4s var(--ease-smooth) infinite}
@keyframes shim{to{transform:translateX(100%)}}

/* --- demo: eyes --- */
.eyes{width:120px;height:120px;border-radius:30px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;gap:16px;box-shadow:var(--ring)}
.eye{width:22px;height:36px;border-radius:12px;background:var(--surface);position:relative;overflow:hidden;transition:transform .09s}
.eye.blink{transform:scaleY(.12)}
.pupil{position:absolute;left:50%;top:50%;width:12px;height:18px;margin:-9px 0 0 -6px;border-radius:8px;background:var(--ink);transition:transform .12s linear}
.about-copy{margin:16px auto 0;max-width:260px;text-align:center;font:400 13px/19.5px var(--font-sans);color:var(--ink-4)}

/* --- demo: tilt --- */
.tilt-wrap{perspective:900px;width:100%;height:100%;display:grid;place-items:center}
.tilt{position:relative;width:min(100%,280px);aspect-ratio:4/5;border-radius:22px;transform-style:preserve-3d;transition:transform .5s var(--ease-spring);will-change:transform}
.tilt .ph{height:100%;border-radius:22px}
.tilt .glare{position:absolute;inset:0;border-radius:22px;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),color-mix(in srgb,var(--ink) 16%,transparent),transparent 55%);opacity:0;transition:opacity .3s}
.tilt:hover .glare{opacity:1}
.tilt .namepill{position:absolute;left:12px;bottom:12px;transform:translateZ(40px)}

/* --- demo: slide to confirm --- */
.slide{position:relative;width:min(100%,300px);height:52px;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge-strong);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.slide .fill{position:absolute;inset:0 auto 0 0;width:52px;border-radius:var(--radius-pill);background:var(--surface-3)}
.slide .txt{position:absolute;inset:0;display:grid;place-items:center;padding-left:44px;font:500 14px/1 var(--font-sans);color:var(--ink-4);transition:color .3s}
.slide .txt .shine{background:linear-gradient(90deg,var(--ink-5) 0%,var(--ink) 50%,var(--ink-5) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 2.6s linear infinite}
@keyframes shine{from{background-position:100% 0}to{background-position:-100% 0}}
.slide .knob{position:absolute;top:4px;left:4px;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;cursor:grab;border:0;z-index:2}
.slide .knob:active{cursor:grabbing}
.slide .knob:focus-visible{border-radius:50%}
.slide.done .txt{color:var(--ink);padding-left:0;padding-right:44px}
.slide.done .knob{background:var(--ok)}
.phone{width:132px;aspect-ratio:9/19;border-radius:24px;padding:6px;background:var(--surface-3);box-shadow:var(--ring)}
.phone .ph{height:100%;border-radius:19px}
.phone .ph::before{inset:6px;border-radius:14px}
.eyeris-stage{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%}

/* --- demo: nodes --- */
.nodes{position:relative;width:100%;max-width:300px;display:grid;gap:10px}
.node{position:relative;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);font:500 13px/1.2 var(--font-sans);color:var(--ink-3);transition:box-shadow .3s,color .3s,background-color .3s}
.node .n-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--inlay);color:var(--ink-3);flex:none;transition:background-color .3s,color .3s}
.node small{display:block;font:400 11px/1.3 var(--font-mono);letter-spacing:.04em;color:var(--ink-5);margin-top:3px}
.node.active{color:var(--ink);box-shadow:inset 0 0 0 1px var(--amber)}
.node.active .n-ic{background:var(--amber);color:var(--on-amber)}
.node.passed .n-ic{color:var(--ok)}
.wire{position:absolute;left:24px;top:22px;bottom:22px;width:2px;background:var(--inlay);border-radius:2px;z-index:-1}
.wire i{position:absolute;left:-2px;width:6px;height:16px;border-radius:4px;background:var(--amber);top:0;transition:top .6s var(--ease-smooth)}

/* --- demo: checklist --- */
.todo{width:100%;max-width:290px;display:grid;gap:6px}
.todo .it{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-control);background:var(--surface-2);font:400 13px/1.3 var(--font-sans);color:var(--ink-2);transition:color .3s,transform .4s var(--ease-spring),opacity .4s}
.todo .box{width:16px;height:16px;border-radius:5px;box-shadow:inset 0 0 0 1.5px var(--edge-strong);flex:none;display:grid;place-items:center;transition:background-color .25s,box-shadow .25s,transform .35s var(--ease-pop)}
.todo .box svg{width:10px;height:10px;color:var(--bg);opacity:0;transform:scale(.4);transition:opacity .2s,transform .35s var(--ease-pop)}
.todo .it.done{color:var(--ink-5)}
.todo .it.done .box{background:var(--ok);box-shadow:none;transform:scale(1.08)}
.todo .it.done .box svg{opacity:1;transform:none}
.todo .it.done .t{text-decoration:line-through;text-decoration-color:var(--edge-strong)}
.todo.big{max-width:340px;gap:7px}
.todo.big .it{padding:11px 14px;font-size:15px;gap:12px}
.todo.big .box{width:18px;height:18px;border-radius:6px}
.todo.big .box svg{width:11px;height:11px}
.todo .it.mail{position:relative}
.todo .plane{margin-left:auto;flex:none;width:22px;height:22px;display:grid;place-items:center;color:var(--ink-3)}
.todo .plane svg{width:14px;height:14px}
.todo .sent{position:absolute;right:14px;top:0;bottom:0;display:none;align-items:center;font:400 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}
.todo .it.mail.done .plane{color:var(--amber);animation:planeFly .9s var(--ease-out) forwards}
.todo .it.mail.done .sent{display:flex;animation:sentIn .45s .55s var(--ease-spring) both}
@keyframes planeFly{0%{transform:none;opacity:1}22%{transform:translate(-4px,3px) rotate(10deg);opacity:1}100%{transform:translate(80px,-52px) rotate(-16deg) scale(.55);opacity:0}}
@keyframes sentIn{from{opacity:0;transform:translateX(6px)}}
.tower .it{opacity:0;transform:translateY(-30px) scale(.96)}
.tower .it.fell{opacity:1;transform:none}
.tower .it.done,.tower .it.done .t{color:var(--ink-2);text-decoration:none}

/* --- demo: scrubber --- */
.scrub{width:100%;max-width:300px;padding:16px 0 12px;border-radius:18px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);text-align:center;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:ew-resize;position:relative;overflow:hidden}
.scrub .read{font:500 32px/1 var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.scrub .read small{font-size:13px;color:var(--ink-5);margin-left:4px;letter-spacing:0;font-weight:500}
.scrub .sub{margin-top:6px;font:400 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-5)}
.ruler{position:relative;height:44px;margin-top:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 22%,#000 78%,transparent)}
.ruler .strip{position:absolute;left:50%;top:0;height:28px;display:flex;align-items:flex-start;will-change:transform}
.ruler .tk{width:1px;height:10px;background:var(--edge-strong);margin-right:11px;flex:none;position:relative}
.ruler .tk.maj{height:18px;background:var(--ink-4)}
.ruler .tk span{position:absolute;top:22px;left:50%;transform:translateX(-50%);font:400 10px/1 var(--font-mono);color:var(--ink-5);white-space:nowrap;letter-spacing:.04em}
.needle{position:absolute;left:50%;top:-2px;width:2px;height:26px;margin-left:-1px;border-radius:2px;background:var(--amber);z-index:2}
.scrub:focus-visible{border-radius:18px}

/* --- demo: dial --- */
.dial{position:relative;width:220px;max-width:100%}
.dial svg{width:100%;height:auto;overflow:visible}
.dial .trk{fill:none;stroke:var(--inlay);stroke-width:10;stroke-linecap:round}
.dial .val{fill:none;stroke:var(--ink);stroke-width:10;stroke-linecap:round}
.dial .tick{stroke:var(--edge-strong);stroke-width:1.5}
.dial .ndl{stroke:var(--amber);stroke-width:3;stroke-linecap:round}
.dial .hub{fill:var(--amber)}
.dial .tl{fill:var(--ink-5);font:400 10px var(--font-mono)}
.dial .out{margin-top:6px;text-align:center}
.dial .out b{display:block;font:500 32px/1 var(--font-sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums}

/* --- demo: clock --- */
.clock{text-align:center;width:100%}
.clock .read{font:500 44px/1 var(--font-sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.clock .read small{font-size:15px;color:var(--ink-5);margin-left:6px;letter-spacing:0}
.clock .scrub{margin:14px auto 0;cursor:default;padding:4px 0 0}
.clock .mood{margin-top:12px;display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 var(--font-sans);color:var(--ink-3)}

/* --- demo: magnet --- */
.magnet{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:320px}
.mg{appearance:none;border:0;cursor:pointer;height:32px;padding:0 13px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink-2);font:500 13px/1 var(--font-sans);box-shadow:inset 0 0 0 1px var(--edge);transition:transform .35s var(--ease-spring),background-color .2s,color .2s}
.mg:hover{color:var(--ink)}
.mg[aria-pressed="true"]{background:var(--ink);color:var(--on-ink);box-shadow:none}
.mg:focus-visible{border-radius:var(--radius-pill)}
.used{margin-top:14px;min-height:20px;text-align:center;font:400 12.5px/1.4 var(--font-sans);color:var(--ink-4)}
.used b{color:var(--ink);font-weight:500}

/* --- demo: role decode --- */
.role{display:grid;gap:12px;justify-items:center;text-align:center}
.role-t{font:500 48px/1 var(--font-sans);letter-spacing:-.035em;white-space:nowrap}
.role-t.long{white-space:normal;font-size:40px;line-height:1.04;max-width:320px;text-wrap:balance}
.role-t .scr{font-family:var(--font-mono);font-weight:400;letter-spacing:-.02em;color:var(--ink-3)}

/* --- demo: audience seats --- */
.talks{display:grid;gap:14px;justify-items:center;text-align:center;max-width:300px}
.talks .num{font:500 64px/1 var(--font-sans);letter-spacing:-.04em;display:flex;align-items:baseline;margin-top:4px}
.talks p{margin:0;font:400 13px/19.5px var(--font-sans);color:var(--ink-4)}
.seats{display:grid;justify-items:center;gap:12px}
.stagepill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-pill);background:var(--surface-3);font:400 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.stagepill .spk{width:6px;height:6px;border-radius:50%;background:var(--amber)}
.seat-grid{display:grid;grid-template-columns:repeat(10,12px);gap:6px}
.seat-grid i{width:12px;height:12px;border-radius:4px;background:var(--inlay);box-shadow:inset 0 0 0 1px var(--edge);transition:background-color .3s,box-shadow .3s,transform .4s var(--ease-pop)}
.seat-grid i.on{background:var(--ink-3);box-shadow:none;transform:scale(1.06)}

/* --- kenvue --- */
.kv{display:grid;justify-items:center;gap:14px;width:100%}
.streams{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
/* --- kenvue: automation run --- */
.auto{width:100%;max-width:340px;display:grid;gap:12px}
.auto-win{border-radius:16px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--edge);overflow:hidden}
.auto-bar{display:flex;align-items:center;gap:10px;height:34px;padding:0 12px;border-bottom:1px solid var(--edge)}
.auto-dots{display:flex;gap:5px}
.auto-dots i{width:7px;height:7px;border-radius:50%;background:var(--edge-strong)}
.auto-file{font:400 11px/1 var(--font-mono);letter-spacing:.02em;color:var(--ink-3)}
.auto-state{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font:400 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-5);transition:color .3s}
.auto-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.auto[data-phase="run"] .auto-state{color:var(--amber)}
.auto[data-phase="run"] .auto-state::before{animation:autoPulse 1s var(--ease-out) infinite}
.auto[data-phase="done"] .auto-state{color:var(--ok)}
@keyframes autoPulse{50%{opacity:.25}}
.auto-code{padding:10px 0;font:400 min(11px,2.85vw)/1.95 var(--font-mono);color:var(--ink-3)}
.auto-code .ln{display:flex;gap:12px;padding:0 12px;min-height:1.95em;white-space:pre;overflow:hidden;transition:background-color .25s}
.auto-code .ln em{flex:none;width:10px;text-align:right;font-style:normal;color:var(--ink-5);transition:color .25s}
.auto-code .ln.hot{background:var(--inlay)}
.auto-code .ln.hot em{color:var(--amber)}
.auto-code .k{color:var(--ink);font-weight:500}
.auto-code .f{color:var(--ink-2)}
.auto-code .s{color:var(--ink-4)}
.auto-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.auto-steps .st{display:grid;gap:7px}
.auto-steps .st span{display:flex;align-items:center;gap:5px;font:400 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-5);transition:color .3s}
.auto-steps .st i{display:block;height:4px;border-radius:4px;background:var(--inlay);overflow:hidden}
.auto-steps .st b{display:block;height:100%;width:0;border-radius:4px;background:var(--amber)}
.auto-steps .st.on span{color:var(--ink-2)}
.auto-steps .st.done span{color:var(--ink-2)}
.auto-steps .st.done span::after{content:"\2713";color:var(--ok);font-size:11px}
.auto-steps .st.done b{background:var(--ok)}
.auto.big{max-width:500px;gap:16px}
.auto.big .auto-bar{height:40px}
.auto.big .auto-code{font-size:min(13px,3.2vw);padding:14px 0}
@media (max-width:759px){.auto.big .auto-code{font-size:min(12px,2.7vw)}}
@media (max-width:420px){.auto-code .ln{gap:9px;padding:0 10px}}
.auto.big .auto-file{font-size:12px}

/* --- kenvue wordmark chip --- */
.corner-logo.wordmark{padding:0 12px}
.corner-logo.wordmark img{width:auto;height:14px;border-radius:0}
.corner-logo.wordmark.ycw img{height:16px}

/* --- demo: RAG --- */
.rag{width:100%;max-width:330px;display:grid;gap:10px}
.rag-q{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:var(--radius-pill);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);font:500 13px/1 var(--font-sans);color:var(--ink);white-space:nowrap;overflow:hidden}
.rag-q .i{color:var(--ink-4)}
.rag .caret{width:1.5px;height:15px;background:var(--ink-2);flex:none;margin-left:-6px;animation:caretBlink 1s steps(1) infinite}
@keyframes caretBlink{50%{opacity:0}}
.rag-store{padding:10px 12px 12px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--edge);display:grid;gap:9px}
.rag-top{display:flex;justify-content:space-between;align-items:center}
.rag-top [data-step]{color:var(--ink-4)}
.rag-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}
.rag-grid i{aspect-ratio:1/1;border-radius:3px;background:var(--inlay);box-shadow:inset 0 0 0 1px var(--edge);transition:background-color .25s,box-shadow .25s,transform .35s var(--ease-pop)}
.rag-grid i.scan{background:var(--ink-5);box-shadow:none}
.rag-grid i.hit{background:var(--amber);box-shadow:none;transform:scale(1.3)}
.rag-a{min-height:40px;display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;font:400 12.5px/1.4 var(--font-sans);color:var(--ink-2)}
.rag-a [data-a]{display:inline-flex;align-items:center;gap:4px;min-width:0}
.rag-a [data-a] > span:first-child{margin-right:4px;overflow:hidden;text-overflow:ellipsis}
.rag-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:var(--radius-pill);background:var(--surface-3);font:500 10px/1 var(--font-mono);letter-spacing:.06em;color:var(--ink-3)}
.rag .src{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--amber);color:var(--on-amber);font:500 10px/1 var(--font-mono);animation:cardIn .4s var(--ease-spring) both}
.rag.big{max-width:480px;gap:14px}
.rag.big .rag-q{height:48px;font-size:15px}
.rag.big .rag-a{font-size:14px}

/* --- life: guitar strings --- */
.strings{position:relative;height:112px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);display:grid;align-content:center;padding:8px 16px;cursor:crosshair;touch-action:pan-y}
.strings i{display:block;height:15px;position:relative}
.strings i::after{content:"";position:absolute;left:0;right:0;top:50%;height:var(--w,1px);margin-top:calc(var(--w,1px) / -2);background:var(--ink-4);border-radius:2px;transition:background-color .3s}
.strings i:nth-child(1){--w:2.4px}.strings i:nth-child(2){--w:2px}.strings i:nth-child(3){--w:1.7px}.strings i:nth-child(4){--w:1.4px}.strings i:nth-child(5){--w:1.1px}.strings i:nth-child(6){--w:.9px}
.strings i.pluck::after{background:var(--amber);animation:pluck .7s cubic-bezier(.2,.6,.3,1)}
@keyframes pluck{0%{transform:translateY(0)}8%{transform:translateY(-3px)}18%{transform:translateY(2.6px)}30%{transform:translateY(-1.8px)}44%{transform:translateY(1.2px)}60%{transform:translateY(-.6px)}78%{transform:translateY(.3px)}100%{transform:none}}

/* --- life: basketball court --- */
.court{position:relative;height:112px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);touch-action:pan-y}
.court::after{content:"";position:absolute;left:14px;right:14px;bottom:10px;height:1px;background:var(--edge-strong)}
.court .hoop{position:absolute;right:20px;top:34px;width:44px;height:26px;pointer-events:none}
.court .hoop::before{content:"";position:absolute;right:-8px;top:-14px;width:3px;height:40px;background:var(--ink-4);border-radius:2px}
.court .hoop::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--amber);border-radius:2px}
.court .hoop i{position:absolute;left:5px;right:5px;top:3px;height:18px;border:1px dashed var(--ink-5);border-top:0;border-radius:0 0 10px 10px}
.court .ball{position:absolute;left:0;top:0;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--amber);cursor:grab;will-change:transform;background-image:linear-gradient(var(--on-amber),var(--on-amber)),linear-gradient(90deg,var(--on-amber),var(--on-amber));background-size:100% 1px,1px 100%;background-position:center;background-repeat:no-repeat;box-shadow:inset -3px -4px 0 rgba(0,0,0,.18)}
.court .ball:active{cursor:grabbing}
.court .ball{touch-action:none}
.court .ball::after{content:"";position:absolute;inset:-12px;border-radius:50%}
.court .plus{position:absolute;right:30px;top:4px;font:500 12px/1 var(--font-mono);color:var(--amber);animation:plusUp .9s var(--ease-out) forwards;pointer-events:none}
@keyframes plusUp{from{opacity:1;transform:translateY(6px)}to{opacity:0;transform:translateY(-14px)}}

/* ---------- bridge ---------- */
.bridge{position:relative;height:150vh;margin-top:-60px;pointer-events:none}
.bridge-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;padding:0 var(--gutter);overflow:hidden}
.bridge-txt{max-width:1000px;text-align:center}
.bl{margin:0;text-wrap:balance}
.bl-1{font:500 clamp(34px,5.4vw,68px)/1.05 var(--font-sans);letter-spacing:-.035em}
.bl-2{margin-top:18px;font:italic 400 clamp(38px,6.2vw,84px)/1.0 var(--font-serif);letter-spacing:-.02em}
.bl .w{color:var(--ink);opacity:.16;transition:opacity .25s}
.bl .w.lit{opacity:1}

/* ---------- part II ---------- */
.p2-title{margin:0;font:400 clamp(64px,11vw,148px)/.92 var(--font-serif);letter-spacing:-.02em}
.p2-title em{font-style:italic}
.p2-title .lt{display:inline-block}
.js .p2-title .lt{opacity:0;transform:translateY(.35em)}
.js .p2-title.on .lt{opacity:1;transform:none;transition:opacity .8s var(--ease-out),transform 1s var(--ease-spring);transition-delay:calc(var(--i)*45ms)}
.handle{font:500 15px/1 var(--font-sans);color:var(--ink);text-decoration:none;box-shadow:inset 0 -1px 0 var(--edge-strong)}
.handle:hover{box-shadow:inset 0 -1px 0 var(--ink)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin:8px 0 72px}
.stat{padding:22px 20px 20px;border-radius:var(--radius-card);background:var(--card);box-shadow:var(--lift);display:grid;gap:10px;align-content:start}
.stat .num{font:400 clamp(40px,4.6vw,64px)/1 var(--font-serif);letter-spacing:-.02em;display:flex;align-items:baseline}
.stat p{margin:0;font:400 13px/19.5px var(--font-sans);color:var(--ink-4)}
.odo{display:inline-flex;overflow:hidden;height:1em;line-height:1}
.odo .dg{display:inline-flex;flex-direction:column;transition:transform 1.6s var(--ease-smooth)}
.odo .dg span{height:1em;display:block}
.odo .sep{display:block;height:1em}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.sec-head h3{margin:0;font:400 clamp(34px,4.6vw,56px)/1 var(--font-serif);letter-spacing:-.015em}
.sec-head h3 em{font-style:italic}
.sec-head p{margin:0;max-width:420px;font:400 15px/1.55 var(--font-sans);color:var(--ink-4)}

/* reels accordion */
.reels{display:flex;gap:var(--gap);height:520px}
.reel{position:relative;flex:1;min-width:0;border-radius:var(--radius-card);overflow:hidden;background:var(--surface);box-shadow:var(--lift);transition:flex-grow .6s var(--ease-out);cursor:pointer;text-decoration:none;color:var(--ink)}
.reel.on{flex-grow:2}
.reel .ph{position:absolute;inset:0;border-radius:var(--radius-card);height:auto}
.reel .ph::before{border-radius:22px}
.reel .ph .label{writing-mode:vertical-rl;transform:rotate(180deg);transition:opacity .3s}
.reel.on .ph .label{writing-mode:horizontal-tb;transform:none}
.reel .cap{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;opacity:0;transform:translateY(8px);transition:opacity .35s .1s,transform .45s .1s var(--ease-spring)}
.reel.on .cap{opacity:1;transform:none}
.reel .cap .namepill{max-width:70%}
.reel .num{position:absolute;top:14px;left:14px;z-index:2}
.reel:focus-visible{border-radius:var(--radius-card)}

/* topics */
.topics{margin:84px 0 0;border-top:1px solid var(--edge-strong)}
.topic{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid var(--edge-strong);cursor:default}
.topic h4{margin:0;font:400 clamp(34px,5vw,64px)/1.02 var(--font-serif);letter-spacing:-.015em;transition:transform .5s var(--ease-out),font-style .2s}
.topic:hover h4{transform:translateX(14px)}
.topic h4 em{font-style:italic}
.topic p{margin:0;max-width:340px;font:400 14px/1.5 var(--font-sans);color:var(--ink-4);text-align:right}
.hover-img{position:fixed;left:0;top:0;width:220px;aspect-ratio:4/5;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85) rotate(-4deg);transition:opacity .25s,transform .4s var(--ease-spring)}
.hover-img.on{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-4deg)}
.hover-img .ph{height:100%;border-radius:20px;box-shadow:var(--float)}

/* creator wall */
.cwall{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:84px;align-items:start}
.life-head{margin-top:84px}
.cwall.life{margin-top:0;align-items:stretch}
.life-card{height:auto;min-height:0}
.life-card .stage{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;padding:52px 18px 14px}
.life-card .ph{aspect-ratio:1/1;height:auto}
.life-card .carousel{max-width:none}
.life-card .c-slide .ph{aspect-ratio:1/1}
.cwall .card.tall{grid-row:span 2;height:auto;min-height:100%}

/* travel pins */
.life-card .c-dots{display:none}
.pins{position:relative;height:112px;border-radius:14px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);background-image:radial-gradient(circle,var(--edge) 1px,transparent 1.3px);background-size:12px 12px;background-position:6px 6px}
.pins .route{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pins .route path{fill:none;stroke:var(--ink-5);stroke-width:1.3;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.pin{appearance:none;border:0;background:none;padding:6px 8px;transform:translate(-50%,-12px);position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--ink-3);font:400 10px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:var(--radius-pill);transition:color .2s}
.pin.above{flex-direction:column-reverse;transform:translate(-50%,calc(-100% + 12px))}
.pin i{position:relative;width:12px;height:12px;border-radius:50%;background:var(--surface-3);box-shadow:inset 0 0 0 2px var(--ink-4);flex:none;transition:background-color .25s,box-shadow .25s,transform .35s var(--ease-pop)}
.pin:hover{color:var(--ink)}
.pin[aria-pressed="true"]{color:var(--ink)}
.pin[aria-pressed="true"] i{background:var(--amber);box-shadow:none;transform:scale(1.15)}
.pin[aria-pressed="true"] i::after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 1.5px var(--amber);opacity:0;animation:pinPulse 1.8s var(--ease-out) infinite}
@keyframes pinPulse{0%{opacity:.8;transform:scale(.6)}100%{opacity:0;transform:scale(1.5)}}
.flyer{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .2s}
.flyer.on{opacity:1}

/* carousel */
.carousel{width:100%;max-width:320px}
.c-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:20px;cursor:grab}
.c-track::-webkit-scrollbar{display:none}
.c-slide{flex:0 0 100%;scroll-snap-align:center}
.c-slide .ph{aspect-ratio:4/3;border-radius:20px}
.c-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.c-dots button{appearance:none;border:0;padding:0;cursor:pointer;width:6px;height:6px;border-radius:6px;background:var(--edge-strong);transition:width .35s var(--ease-spring),background-color .2s}
.c-dots button[aria-current="true"]{width:18px;background:var(--ink)}

/* develop effect on part II images */
.js .developing .ph{filter:grayscale(1) brightness(.25) contrast(1.4)}
.js .developing.in .ph,.js .developing.in.ph{filter:none;transition:filter var(--dur-develop) var(--ease-smooth)}
.js .ph.developing{filter:grayscale(1) brightness(.25) contrast(1.4)}

/* ---------- contact ---------- */
.contact{padding-top:140px}
.contact h2{margin:0 0 40px;font:400 clamp(52px,9vw,128px)/.94 var(--font-serif);letter-spacing:-.02em;text-wrap:balance}
.contact h2 em{font-style:italic}
.c-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap);align-items:start}
.c-grid.one{grid-template-columns:minmax(0,760px)}
.panel{border-radius:var(--radius-card);background:var(--card);box-shadow:var(--lift);padding:24px;display:grid;gap:18px;align-content:start;min-width:0}
.panel h3{margin:0;font:500 17px/1.25 var(--font-sans);letter-spacing:-.02em}
.panel p{margin:0;font:400 14px/1.55 var(--font-sans);color:var(--ink-4)}
.mailbox{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 14px 18px;border-radius:18px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge);overflow:hidden;max-height:0;opacity:0;padding-block:0;transition:max-height .5s var(--ease-out),opacity .4s,padding .5s var(--ease-out),visibility .5s;visibility:hidden}
.mailbox.open{max-height:90px;opacity:1;padding-block:14px;visibility:visible}
.mailbox code{font:500 15px/1.3 var(--font-mono);letter-spacing:-.02em;color:var(--ink);user-select:all;-webkit-user-select:all;overflow-wrap:anywhere;min-width:0}
.field{position:relative}
.field input{width:100%;height:56px;padding:22px 16px 8px;border-radius:var(--radius-control);border:0;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--edge-strong);font:500 15px/1 var(--font-sans);color:var(--ink);transition:box-shadow .2s}
.field input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--ink-2)}
.field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font:400 15px/1 var(--font-sans);color:var(--ink-5);pointer-events:none;transition:transform .25s var(--ease-out),font-size .25s,top .25s var(--ease-out)}
.field input:focus+label,.field input:not(:placeholder-shown)+label{top:16px;font-size:11px;transform:none;letter-spacing:.02em}
.links{display:grid;gap:4px}
.links a,.links button{appearance:none;border:0;background:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;text-decoration:none;color:var(--ink-2);font:500 14px/1 var(--font-sans);text-align:left;transition:background-color .16s,color .16s,opacity .25s,transform .35s var(--ease-spring)}
.links a:hover,.links button:hover{background:var(--card);color:var(--ink)}
.links .lk-ic{width:32px;height:32px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;color:var(--ink-2);flex:none}
.links .lk-sub{margin-left:auto;font:400 11px/1 var(--font-mono);color:var(--ink-5);letter-spacing:.03em}
.links .hide{display:none}
.empty{font:400 13px/1.5 var(--font-sans);color:var(--ink-5);padding:6px 12px}
.dock{display:flex;align-items:flex-end;justify-content:center;gap:10px;height:76px;padding:10px 14px;border-radius:24px;background:var(--surface-2);box-shadow:var(--ring);width:max-content;max-width:100%;margin:0 auto}
.dock a,.dock button{appearance:none;border:0;cursor:pointer;position:relative;width:46px;height:46px;border-radius:14px;background:var(--surface-3);color:var(--ink);display:grid;place-items:center;text-decoration:none;transform-origin:50% 100%;transition:width .18s var(--ease-out),height .18s var(--ease-out)}
.dock svg{width:20px;height:20px}
.dock .tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);padding:5px 9px;border-radius:8px;background:var(--board);box-shadow:var(--ring);font:500 11.5px/1 var(--font-sans);letter-spacing:.01em;color:var(--ink);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,transform .2s var(--ease-spring)}
.dock a:hover .tip,.dock button:hover .tip,.dock a:focus-visible .tip,.dock button:focus-visible .tip{opacity:1;transform:translateX(-50%)}
.escape-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;min-height:44px}
.escape{transition:transform .35s var(--ease-spring)}

/* ---------- footer ---------- */
footer{padding:56px var(--gutter) calc(14px + env(safe-area-inset-bottom,0px));overflow:hidden}
.f-wrap{max-width:1360px;margin:0 auto;border-top:1px solid var(--edge-strong);padding-top:20px}
.f-row{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap}
.f-links{display:flex;gap:6px;flex-wrap:wrap}
.f-links a{display:inline-flex;align-items:center;height:32px;padding:0 13px;border-radius:var(--radius-pill);background:var(--card);color:var(--ink-2);font:500 13px/1 var(--font-sans);text-decoration:none;transition:background-color var(--dur-hover),color var(--dur-hover),transform var(--dur-press) var(--ease-pop)}
.f-links a:hover{background:var(--ink);color:var(--on-ink)}
.f-links a:active{transform:scale(.96)}
.f-links a:focus-visible{border-radius:var(--radius-pill)}
.f-meta{display:flex;align-items:center;gap:18px;font:400 11px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-5)}
.f-name{margin-top:clamp(10px,1.6vw,20px);font:400 clamp(48px,14.5vw,250px)/.8 var(--font-serif);letter-spacing:-.03em;white-space:nowrap;color:var(--ink);padding-bottom:.08em}
.f-name em{font-style:italic}

/* ---------- detail view ---------- */
.detail{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;visibility:hidden}
.detail.open{visibility:visible}
.d-back{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 70%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.detail.open .d-back{opacity:1}
.d-box{position:relative;width:min(1180px,100%);height:min(720px,calc(100vh - 40px));height:min(720px,calc(100svh - 40px));display:grid;grid-template-columns:1fr 320px;gap:12px;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .3s,transform .5s var(--ease-spring)}
.detail.open .d-box{opacity:1;transform:none}
.d-stage{position:relative;border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--ring);overflow:auto;display:grid;place-items:center;padding:56px 28px 28px;min-width:0}
.d-stage .stage-chrome{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.d-stage .stage-chrome>*{pointer-events:auto}
.d-side{border-radius:var(--radius-card);background:var(--glass);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:var(--ring),var(--float);padding:18px;display:flex;flex-direction:column;gap:16px;overflow:auto;min-width:0}
.d-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.d-head h2{margin:0;font:500 17px/1.25 var(--font-sans);letter-spacing:-.02em}
.d-head p{margin:3px 0 0;font:400 13px/19.5px var(--font-sans);color:var(--ink-4)}
.seg{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;height:36px;padding:3px;border-radius:var(--radius-pill);background:var(--card)}
.seg .ind{position:absolute;top:3px;bottom:3px;left:3px;border-radius:var(--radius-pill);background:var(--surface-3);box-shadow:var(--ring);transition:transform .36s var(--ease-spring),width .36s var(--ease-layout)}
.seg button{position:relative;appearance:none;border:0;background:none;cursor:pointer;font:500 12.5px/1 var(--font-sans);color:var(--ink-3);border-radius:var(--radius-pill);transition:color .16s}
.seg button[aria-selected="true"]{color:var(--ink)}
.seg button:focus-visible{border-radius:var(--radius-pill)}
.d-panel{display:grid;gap:12px;align-content:start;font:400 13.5px/1.6 var(--font-sans);color:var(--ink-3);animation:fadeUp .4s var(--ease-out)}
.d-panel p{margin:0}
.d-panel ul{margin:0;padding-left:18px;display:grid;gap:8px}
.d-panel .tags{display:flex;flex-wrap:wrap;gap:6px}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}}
.d-foot{margin-top:auto;display:grid;gap:8px}
.d-foot .btn{height:40px;font-size:13px}

/* compare */
.compare{position:relative;width:min(100%,520px);aspect-ratio:4/3;border-radius:22px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:pan-y;--x:50%}
.compare .ph{position:absolute;inset:0;height:100%;border-radius:22px}
.compare .after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x))}
.compare>.ph>.ph-in{justify-self:start;margin-left:7%;max-width:36%}
.compare .after .ph>.ph-in{justify-self:end;margin-right:7%;margin-left:0;max-width:36%}
.compare .after .ph{background:var(--surface-3)}
.compare .handle-bar{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:var(--ink)}
.compare .grip{position:absolute;top:50%;left:var(--x);width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--ink);color:var(--on-ink);display:grid;place-items:center;border:0;cursor:ew-resize}
.compare .grip:focus-visible{border-radius:50%}
.compare .tagl,.compare .tagr{position:absolute;top:12px;z-index:2}
.compare .tagl{left:12px}.compare .tagr{right:12px}
.steps{width:min(100%,520px);margin-top:22px;display:grid;gap:12px}
.steps .rail{display:flex;align-items:center;gap:10px}
.steps .dots{flex:1;display:flex;gap:6px}
.steps .dots i{flex:1;height:4px;border-radius:4px;background:var(--inlay);overflow:hidden;position:relative}
.steps .dots i b{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(0);background:var(--ink)}
.steps .now{min-height:52px;font:400 14px/1.5 var(--font-sans);color:var(--ink-3)}
.steps .now strong{display:block;color:var(--ink);font-weight:500;margin-bottom:2px}
.term{width:min(100%,560px);margin-top:20px;border-radius:18px;background:var(--darkroom);box-shadow:var(--ring);padding:14px 16px;font:400 12px/1.8 var(--font-mono);color:#d6d3cd;min-height:150px;white-space:pre-wrap;overflow-wrap:anywhere}
.term .c{color:#8a8781}.term .a{color:#d9a453}.term .g{color:#8fb57a}
.stage-stack{display:grid;justify-items:center;width:100%}

/* ---------- palette ---------- */
.palette{position:fixed;inset:0;z-index:85;display:grid;justify-items:center;align-items:start;padding:14vh 16px 16px;visibility:hidden}
.palette.open{visibility:visible}
.palette .d-back{opacity:0}
.palette.open .d-back{opacity:1}
.pal{position:relative;width:min(560px,100%);border-radius:var(--radius-card);background:var(--board);box-shadow:var(--ring),var(--float);overflow:hidden;opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .2s,transform .35s var(--ease-spring)}
.palette.open .pal{opacity:1;transform:none}
.pal-in{display:flex;align-items:center;gap:10px;padding:0 16px;height:56px;border-bottom:1px solid var(--edge)}
.pal-in input{flex:1;height:100%;border:0;background:none;color:var(--ink);font:400 16px/1 var(--font-sans);min-width:0}
.pal-in input:focus,.pal-in input:focus-visible{outline:none;box-shadow:none}
.pal-in input::placeholder{color:var(--ink-5)}
.pal-list{max-height:min(380px,52vh);overflow:auto;padding:6px}
.pal-list .label{padding:10px 12px 6px}
.pal-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:14px;border:0;background:none;color:var(--ink-2);font:500 14px/1 var(--font-sans);cursor:pointer;text-align:left}
.pal-item .pi{width:28px;height:28px;border-radius:9px;background:var(--surface-3);display:grid;place-items:center;color:var(--ink-3);flex:none}
.pal-item .ph2{margin-left:auto;font:400 11px/1 var(--font-mono);color:var(--ink-5)}
.pal-item.sel{background:var(--card);color:var(--ink)}

/* ---------- toasts ---------- */
.toasts{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:95;display:grid;gap:8px;justify-items:center;pointer-events:none}
.toast{display:inline-flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:var(--radius-pill);background:var(--ink);color:var(--on-ink);font:500 13px/1.2 var(--font-sans);box-shadow:var(--float);animation:toastIn .45s var(--ease-spring) both;max-width:calc(100vw - 32px)}
.toast svg{width:16px;height:16px;flex:none}
.toast.out{animation:toastOut .3s var(--ease-out) both}
@keyframes toastIn{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.97)}}

/* ---------- mobile sheet ---------- */
.sheet{position:fixed;inset:0;z-index:70;visibility:hidden}
.sheet.open{visibility:visible}
.sheet .d-back{opacity:0}.sheet.open .d-back{opacity:1}
.sheet-in{position:absolute;left:12px;right:12px;top:calc(var(--topbar-h) + env(safe-area-inset-top,0px));padding:10px;border-radius:24px;background:var(--board);box-shadow:var(--ring),var(--float);display:grid;gap:2px;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .35s var(--ease-spring)}
.sheet.open .sheet-in{opacity:1;transform:none}
.sheet-in a{padding:14px 12px;border-radius:14px;text-decoration:none;color:var(--ink);font:500 17px/1 var(--font-sans)}
.sheet-in a:hover{background:var(--card)}

/* ---------- responsive ---------- */
@media (max-width:1099px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .cwall{grid-template-columns:repeat(2,1fr)}
  .cwall.life{grid-template-columns:repeat(3,1fr)}
  .reels{height:460px}
}
@media (max-width:1180px){.mark .mark-name{display:none}}
@media (max-width:1000px){.nav{gap:16px}}
@media (max-width:900px){
  .nav,.tb-right .status{display:none}
  .c-grid{grid-template-columns:1fr}
  .d-box{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;height:calc(100vh - 24px);height:calc(100svh - 24px)}
  .d-side{max-height:46vh}
  .detail{padding:12px}
}
@media (max-width:759px){
  :root{--gutter:14px}
  .topbar{grid-template-columns:auto 1fr auto;gap:10px}
  .tb-left{gap:0}
  .mark .mark-name{display:none}
  .island{min-width:0;width:100%;height:42px;justify-self:stretch}
  .tb-right .split,.tb-right .snd{display:none}
  .burger{display:grid}
  .topbar.scrolled .tb-hide{opacity:1;transform:none;pointer-events:auto}
  .topbar.scrolled::before{opacity:1}
  .isl-text{flex:1;width:auto!important}
  .hero{padding-top:calc(var(--topbar-h) + 40px)}
  .hero-meta{gap:18px}
  .part{padding-top:62px}
  .phone{width:108px}
  .eyeris-stage{gap:14px}
  .cwall,.cwall.life{grid-template-columns:1fr}
  .cwall .card.tall{grid-row:auto}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:18px 16px}
  .reels{height:auto;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  .reels::-webkit-scrollbar{display:none}
  .reel{flex:0 0 72%;aspect-ratio:9/16;scroll-snap-align:center}
  .reel.on{flex-grow:0}
  .reel .cap{opacity:1;transform:none}
  .reel .ph .label{writing-mode:horizontal-tb;transform:none}
  .topic{grid-template-columns:1fr}
  .topic p{text-align:left}
  .contact{padding-top:110px}
  .dock{gap:8px;padding:10px}
  .dock a,.dock button{width:42px;height:42px}
  .f-row{flex-direction:column;align-items:flex-start}
}
@media (min-width:760px) and (max-width:1199px){
  .s-guitar{width:104px;left:max(10px,calc(50% - 470px));top:116px}
  .s-capy{width:128px;left:auto;right:max(8px,calc(50% - 470px));top:110px}
  .s-camera{width:136px;left:auto;right:max(10px,calc(50% - 460px));top:auto;bottom:12px}
  .s-pixel{width:108px;left:max(10px,calc(50% - 450px));top:auto;bottom:20px}
  .s-yc{width:70px;left:calc(50% - 150px);top:auto;bottom:34px}
  .hero{padding-bottom:126px}
  .s-camera2{width:150px;top:-48px}
}
@media (max-width:759px){
  .hero{padding-bottom:158px}
  .s-guitar{width:min(70px,18vw);left:calc(50% - min(172px,44vw));top:auto;bottom:28px}
  .s-capy{width:min(96px,24.6vw);left:calc(50% - min(102px,26.2vw));top:auto;bottom:50px}
  .s-camera{width:min(104px,26.7vw);left:calc(50% - min(2px,.5vw));top:auto;bottom:14px}
  .s-pixel{width:min(76px,19.5vw);left:calc(50% + min(98px,25.1vw));top:auto;bottom:54px}
  .s-yc{width:min(54px,13.8vw);left:calc(50% + min(34px,8.7vw));top:auto;bottom:92px}
  .s-camera2{width:104px;right:10px;top:-96px}
}
@media (max-width:420px){.hero-pill{font-size:12.5px;padding:0 14px}.hero h1{font-size:min(55px,15.6vw)}}
@media (hover:none){.hover-img{display:none}.veil{display:none}.island .kbd{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important}
  .grain{animation:none}
  .btn-gold::after{animation:none;display:none}
  .js .enter,.js [data-reveal],.js .hero h1 .ch,.js .p2-title .lt{opacity:1!important;transform:none!important}
  .js .developing .ph,.js .ph.developing{filter:none}
}
