a[data-link][hidden]{display:none!important}
@font-face { font-family: 'Big Shoulders Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/BigShouldersDisplay-normal-400.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Sora-normal-400.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Sora-normal-600.woff2') format('woff2'); }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/Sora-normal-800.woff2') format('woff2'); }
@font-face { font-family: 'Silkscreen'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Silkscreen-normal-400.woff2') format('woff2'); }

/* ============ CompuMouse · optical snack edition (Y2K chrome, one continuous zoom) ============ */

@property --pp { syntax: '<length>'; inherits: true; initial-value: 16px; }

:root {
  --paper: #f7f0e3;
  --paper2: #ede2cf;
  --ink: #302117;
  --ink2: #624e41;
  --gold: #e9ad49;
  --gold2: #8f6114;
  --deep: #392518;
  --night: #18100c;
  --on: #f6f1ea;
  --on2: #cbc2b4;
  --pink: #f0a493;
  --white: #fffdf9;
  --fd: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif;
  --fb: "Sora", "Segoe UI", system-ui, sans-serif;
  --fp: "Silkscreen", ui-monospace, "Courier New", monospace;
  --r: 22px;
  --rs: 8px;
  --silver: color-mix(in oklab, var(--on2) 55%, var(--paper));
  --chrome-ui: linear-gradient(180deg, #fff 0%, color-mix(in oklab, var(--paper) 70%, #fff) 44%, var(--silver) 54%, color-mix(in oklab, var(--paper) 80%, #fff) 100%);
  --liquid: linear-gradient(180deg, var(--ink) 0%, var(--ink2) 24%, var(--on2) 42%, var(--white) 50%, var(--ink2) 57%, var(--ink) 80%, var(--ink2) 100%);
  --liquid-light: linear-gradient(180deg, #fff 0%, var(--paper) 30%, var(--on2) 46%, var(--ink2) 50%, var(--on2) 58%, #fff 82%, var(--paper2) 100%);
  --bevel: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 0 rgba(48, 33, 23, .16);
  --ring: 0 0 0 1px rgba(48, 33, 23, .2);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --spring: cubic-bezier(.34, 1.56, .64, 1);
  --noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .19 0 0 0 0 .13 0 0 0 0 .09 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
html.rm { scroll-behavior: auto; }
body {
  margin: 0;
  color: var(--ink);
  font: 400 16px/1.6 var(--fb);
  background-color: var(--paper);
  background-image:
    var(--noise),
    radial-gradient(60vw 44vw at 8% 0%, rgba(255, 255, 255, .95), transparent 62%),
    radial-gradient(46vw 46vw at 100% 22%, color-mix(in oklab, var(--pink) 16%, transparent), transparent 62%),
    radial-gradient(50vw 40vw at 0% 70%, rgba(255, 255, 255, .7), transparent 60%);
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; border-radius: 6px; }

.skip { position: absolute; left: 12px; top: -60px; z-index: 200; padding: 10px 16px; background: var(--ink); color: var(--paper); border-radius: 999px; text-decoration: none; }
.skip:focus { top: 12px; }

/* ---------------- shared pieces ---------------- */
.px { font: 400 12px/1.3 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin: 0; }
.px--on { color: var(--on); }

.cap {
  display: inline-flex; align-items: center; gap: .6em; margin: 0;
  padding: 9px 16px; border-radius: 999px;
  font: 400 12px/1 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink);
  background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring), 0 6px 14px -8px rgba(48, 33, 23, .4);
}
.cap--soft { box-shadow: var(--bevel), var(--ring); }

.t { font-family: var(--fd); font-weight: 900; text-transform: uppercase; line-height: .9; letter-spacing: .004em; margin: 0; }
.t > span, .t > em { display: block; position: relative; }
.t .ink { color: var(--ink); }
.lm {
  font-style: italic; color: var(--ink);
  transform-origin: 0 100%;
  transform: skewY(calc(var(--velocity, 0) * -2deg)) scaleY(calc(1 + max(var(--velocity, 0), calc(var(--velocity, 0) * -1)) * .14));
}
.lm::after {
  content: attr(data-t);
  position: absolute; inset: 0;
  color: transparent;
  -webkit-text-stroke: 1px var(--ink);
  background-image: linear-gradient(100deg, transparent 38%, rgba(255, 255, 255, .55) 50%, transparent 62%), var(--liquid);
  background-size: 260% 100%, 100% .9em;
  background-position: calc(50% + var(--px, 0) * 40%) 0, 0 calc(var(--py, 0) * 5px);
  -webkit-background-clip: text; background-clip: text;
  pointer-events: none;
}
.lm--light { color: var(--on); }
.lm--light::after { -webkit-text-stroke: 1px rgba(255, 255, 255, .5); background-image: linear-gradient(100deg, transparent 38%, rgba(255, 255, 255, .7) 50%, transparent 62%), var(--liquid-light); }

/* gel: the Buy colour, and nothing else uses it */
.gel {
  position: relative; overflow: hidden; isolation: isolate;
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  min-height: 58px; padding: 0 32px; border-radius: 999px;
  font: 700 15px/1 var(--fb); letter-spacing: .03em; color: var(--ink); text-decoration: none; white-space: nowrap;
  background:
    radial-gradient(120% 70% at 50% 115%, rgba(255, 243, 210, .9), transparent 60%),
    linear-gradient(180deg, color-mix(in oklab, var(--gold) 62%, #fff) 0%, var(--gold) 52%, color-mix(in oklab, var(--gold) 78%, var(--gold2)) 100%);
  box-shadow: inset 0 0 0 1px var(--gold2), inset 0 -7px 14px rgba(143, 97, 20, .32), 0 10px 22px -8px rgba(143, 97, 20, .6), 0 1px 0 #fff;
  transition: transform .4s var(--spring), box-shadow .3s;
}
.gel::before {
  content: ""; position: absolute; z-index: -1; left: 9%; right: 9%; top: 3px; height: 46%; border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .08));
}
.gel::after {
  content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .55) 46%, transparent 60%);
  transform: translateX(-120%); transition: transform .8s var(--ease);
}
.gel:hover { transform: translateY(-2px) scale(1.03); }
.gel:hover::after { transform: translateX(120%); }
.gel:active { transform: scale(.96); }
.gel--sm { min-height: 44px; padding: 0 20px; font-size: 13px; }
.gel--lg { min-height: 68px; padding: 0 46px; font-size: 17px; }

.pill {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  min-height: 48px; padding: 0 22px; border-radius: 999px; border: 0; cursor: pointer;
  font: 600 14px/1 var(--fb); color: var(--ink); text-decoration: none; white-space: nowrap;
  background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring), 0 6px 14px -8px rgba(48, 33, 23, .45);
  transition: transform .4s var(--spring), box-shadow .3s;
}
.pill:hover { transform: translateY(-2px); box-shadow: var(--bevel), 0 0 0 1px rgba(48, 33, 23, .35), 0 10px 18px -8px rgba(48, 33, 23, .5); }
.pill:active { transform: scale(.96); }
.pill--sm { min-height: 40px; padding: 0 16px; font-size: 12px; }

.chip {
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 40px; padding: 0 14px; border-radius: 999px;
  font: 600 12px/1 var(--fb); color: var(--ink); text-decoration: none;
  background: linear-gradient(180deg, #fff, color-mix(in oklab, var(--paper) 60%, #fff));
  box-shadow: var(--bevel), var(--ring), 0 3px 8px -5px rgba(48, 33, 23, .45);
  transition: transform .35s var(--spring);
}
.chip img { width: 16px; height: 16px; }
.chip:hover { transform: translateY(-2px); }
.chip--icon { width: 44px; min-height: 44px; padding: 0; justify-content: center; }

.bezel {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; flex: none;
  background: conic-gradient(from 200deg, #fff, var(--silver), #fff, var(--ink2), #fff, var(--silver), #fff);
  box-shadow: 0 0 0 1px rgba(48, 33, 23, .3), 0 3px 8px -4px rgba(48, 33, 23, .5);
}
.bezel img { width: 34px; height: 34px; border-radius: 50%; }

/* ---------------- toolbar header ---------------- */
.bar {
  position: fixed; z-index: 90; top: 10px; left: 10px; right: 10px;
  display: flex; align-items: center; gap: 12px;
  height: 58px; padding: 0 8px 0 8px; border-radius: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .86), color-mix(in oklab, var(--paper) 70%, transparent));
  -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  box-shadow: var(--bevel), 0 10px 26px -16px rgba(48, 33, 23, .55);
  transition: transform .5s var(--ease), box-shadow .4s, background .4s;
}
.bar__draw { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.bar__draw rect { fill: none; stroke: rgba(48, 33, 23, .32); stroke-width: 1; vector-effect: non-scaling-stroke; }
html.is-scrolled .bar { background: linear-gradient(180deg, rgba(255, 255, 255, .95), color-mix(in oklab, var(--paper) 88%, transparent)); box-shadow: var(--bevel), 0 14px 30px -14px rgba(48, 33, 23, .6); }
html.js:not(.rm).scroll-down.is-scrolled .bar { transform: translateY(-130%); }

.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; min-height: 44px; }
.brand__name { font: 900 25px/1 var(--fd); text-transform: uppercase; letter-spacing: .01em; }
.bar__end { margin-left: auto; display: flex; align-items: center; gap: 8px; }

#burger {
  width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer; display: grid; place-content: center; gap: 6px;
  background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring);
}
#burger span { display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--ink); transition: transform .35s var(--spring); }
#burger[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
#burger[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }

.dial {
  display: none;
  position: fixed; top: 76px; left: 10px; right: 10px; z-index: 95;
  flex-direction: column; gap: 4px; padding: 12px; border-radius: 26px;
  background: linear-gradient(180deg, #fff, color-mix(in oklab, var(--paper) 80%, #fff));
  box-shadow: var(--bevel), var(--ring), 0 24px 40px -18px rgba(48, 33, 23, .55);
  max-height: calc(100vh - 96px); overflow: auto;
}
.dial.is-open { display: flex; }
.dial a {
  display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 14px; border-radius: 16px;
  font: 600 15px/1 var(--fb); text-decoration: none; color: var(--ink);
}
.dial a b { font: 400 11px/1 var(--fp); letter-spacing: .06em; min-width: 46px; color: var(--ink2); }
.dial a:hover, .dial a.is-active { background: linear-gradient(180deg, color-mix(in oklab, var(--paper2) 80%, var(--silver)), var(--paper)); box-shadow: inset 0 2px 4px rgba(48, 33, 23, .18), inset 0 -1px 0 #fff; }
.dial .pill { margin-top: 6px; align-self: flex-start; }

.gauge { display: none; }

/* ---------------- ×1 the bite ---------------- */
.zoom { position: relative; }
.hero { position: relative; overflow: hidden; --s: 0; --mh: 300px; --cx: 60%; --cy: 232px; }
.stage { position: relative; height: 360px; overflow: hidden; }
.stage::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(240px 240px at var(--cx) var(--cy), rgba(255, 255, 255, .95), transparent 70%),
    radial-gradient(360px 300px at var(--cx) calc(var(--cy) + 40px), color-mix(in oklab, var(--pink) 30%, transparent), transparent 70%);
}
.stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 3; background: linear-gradient(0deg, var(--paper) 0%, transparent 26%); }
.art { position: absolute; inset: 0; z-index: 1; }
.mouse {
  position: absolute; left: var(--cx); top: var(--cy);
  height: var(--mh); width: calc(var(--mh) * .6771);
  margin-left: calc(var(--mh) * .6771 * -.56); margin-top: calc(var(--mh) * -.46);
  transform-origin: 56% 46%;
  transform: translate3d(calc(var(--px, 0) * -10px), calc(var(--py, 0) * -8px), 0) scale(calc(2.6 - 1.6 * var(--s)));
  will-change: transform;
}
.mouse img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(48, 33, 23, .28)); }
.lens {
  position: absolute; width: 240px; height: 240px; left: calc(var(--cx) - 120px); top: calc(var(--cy) - 120px);
  overflow: visible; opacity: calc(1 - var(--s) * 2.2); pointer-events: none;
  transform: translate3d(calc(var(--px, 0) * 6px), calc(var(--py, 0) * 5px), 0);
}
.lens circle, .lens path { fill: none; stroke: var(--ink); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.lens .lens__in { stroke: rgba(255, 255, 255, .9); stroke-dasharray: 2 6; }

.pack, .burst { display: none; }

.readout {
  position: absolute; z-index: 4; left: 16px; bottom: 50px; margin: 0;
  display: inline-flex; align-items: baseline; gap: .5em; padding: 8px 14px; border-radius: 999px;
  font: 400 12px/1 var(--fp); letter-spacing: .06em; text-transform: uppercase; color: var(--ink);
  background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring);
}
.readout b { font: 900 18px/1 var(--fd); letter-spacing: .02em; min-width: 3.2em; }
.readout__cue { display: none; }

.slot { display: inline-block; position: relative; }
.slot--coin { position: absolute; z-index: 5; top: 74px; right: 14px; width: 92px; rotate: -8deg; }
.hint {
  position: absolute; right: 100%; bottom: -6px; margin-right: 6px; white-space: nowrap;
  font: 400 11px/1 var(--fp); letter-spacing: .06em; text-transform: uppercase; color: var(--ink);
  padding: 6px 9px; border-radius: 999px; background: rgba(255, 255, 255, .92); box-shadow: var(--ring);
  rotate: 8deg;
}

.spark { position: absolute; z-index: 4; width: 26px; height: 26px; overflow: visible; pointer-events: none; }
.spark path { fill: #fff;stroke: var(--ink); stroke-width: 1.1; vector-effect: non-scaling-stroke; }
.sp1 { left: 8%; top: 96px; }
.sp2 { left: 40%; top: 300px; width: 18px; height: 18px; }
.sp3 { display: none; }

.frame { display: none; }

.hero__copy { position: relative; z-index: 6; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 0 16px 40px; margin-top: -44px; }
.hero__t { font-size: clamp(36px, 10.6vw, 46px); width: 100%; }
.hero__t > * + * { margin-top: .06em; }
.lede { margin: 0; max-width: 40ch; color: var(--ink2); font-size: 16px; order: 5; }
.cta { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.cta .gel { flex: 1 1 auto; }

/* the UPC price label (the CA box) */
.upc {
  position: relative; display: flex; gap: 14px; width: 100%; max-width: 560px;
  padding: 14px 16px 16px 14px; border-radius: 18px;
  background:
    linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, .7) 50%, transparent 60%),
    linear-gradient(180deg, #fff, color-mix(in oklab, var(--paper) 55%, #fff));
  box-shadow: var(--bevel), 0 14px 30px -18px rgba(48, 33, 23, .6);
  clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 0 100%);
}
.upc__draw { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.upc__draw rect { fill: none; stroke: rgba(48, 33, 23, .35); stroke-width: 1; vector-effect: non-scaling-stroke; }
.upc__bars {
  flex: none; width: 34px; border-radius: 6px; transform-origin: 50% 100%;
  background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 8px, var(--ink) 8px 11px, transparent 11px 13px);
}
.upc__body { min-width: 0; flex: 1; display: grid; gap: 8px; }
.upc__label { margin: 0; font: 400 12px/1.2 var(--fp); letter-spacing: .07em; text-transform: uppercase; color: var(--ink); }
#ca-copy {
  display: grid; gap: 6px; justify-items: start; text-align: left; width: 100%; cursor: pointer;
  padding: 10px 12px; border-radius: 12px; border: 0;
  background: linear-gradient(180deg, color-mix(in oklab, var(--paper2) 60%, #fff), #fff);
  box-shadow: inset 0 2px 5px rgba(48, 33, 23, .16), inset 0 -1px 0 #fff, var(--ring);
  transition: transform .35s var(--spring), box-shadow .3s;
}
#ca-copy:hover { transform: translateY(-1px); }
#ca-copy:active { transform: scale(.98); }
#ca-text { font: 600 13px/1.4 var(--fb); color: var(--ink); word-break: break-all; }
.ca__tap { font: 400 11px/1 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); }
#ca-copy.is-copied { box-shadow: inset 0 2px 5px rgba(48, 33, 23, .16), 0 0 0 2px var(--ink), 0 0 22px color-mix(in oklab, var(--pink) 70%, transparent); }
#ca-copy.is-copied .ca__tap { color: var(--ink); }
.upc__chips { display: flex; flex-wrap: wrap; gap: 6px; }

/* ---------------- dives (each section lives inside a detail of the one before) ---------------- */
.sec { position: relative; }
.dive { position: relative; --s: 1; }
.dive__stage { position: relative; overflow: hidden; display: grid; place-items: center; background: var(--prev, transparent); }
.dive__world { position: relative; z-index: 1; width: 100%; display: grid; place-items: center; padding: 64px 16px 56px; background: var(--g); clip-path: circle(calc((var(--s) * .65 + var(--s) * var(--s) * .35) * 82%) at 50% 50%); }
html.js:not(.rm) .dive__world { position: absolute; inset: 0; padding: 96px 16px 48px; }
.opener__lens { margin-bottom: 4px; }
.opener {
  position: relative; text-align: center; display: grid; justify-items: center; gap: 22px; max-width: 1180px;
  transform: scale(calc(1.3 - var(--s) * .3)); opacity: calc(var(--s) * 2.4 - .5);
}
.opener::before {
  content: attr(data-num); position: absolute; left: 50%; top: 50%; z-index: -1; transform: translate(-50%, -54%);
  font: 900 clamp(150px, 44vw, 480px)/1 var(--fd); letter-spacing: -.01em; white-space: nowrap;
  color: transparent; -webkit-text-stroke: 1.5px rgba(48, 33, 23, .13);
  background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, 0) 70%); -webkit-background-clip: text; background-clip: text;
  pointer-events: none;
}
.opener__t { font-size: clamp(46px, 13vw, 128px); }
.portal {
  position: absolute; left: 50%; top: 50%; z-index: 0; pointer-events: none;
  transform: translate(-50%, -50%) scale(calc(1 + var(--s) * 5.5));
  opacity: calc(1.6 - var(--s) * 1.6);
}
.lensp.lensp--sm { width: 116px; height: 116px; box-shadow: 0 0 0 6px #fff, 0 0 0 7px rgba(48, 33, 23, .3), 0 0 0 11px color-mix(in oklab, var(--silver) 70%, #fff), 0 0 0 12px rgba(48, 33, 23, .22), 0 18px 30px -14px rgba(48, 33, 23, .55); }
.lensp.lensp--sm.lensp--chip img { width: 474px; height: 700px; left: calc(58px - 265px); top: calc(58px - 320px); }
.lensp.lensp--sm.lensp--pin img { width: 948px; height: 1400px; left: calc(58px - 425px); top: calc(58px - 600px); }
.lensp--sm.lensp--nom { display: grid; place-items: center; background: linear-gradient(180deg, color-mix(in oklab, var(--pink) 60%, #fff), var(--pink)); font: 400 26px/1 var(--fp); color: var(--ink); }
.lensp {
  position: relative; display: block; width: 240px; height: 240px; border-radius: 50%; overflow: hidden; background: var(--night);
  box-shadow: 0 0 0 9px #fff, 0 0 0 10px rgba(48, 33, 23, .3), 0 0 0 16px color-mix(in oklab, var(--silver) 70%, #fff), 0 0 0 17px rgba(48, 33, 23, .22), 0 30px 60px -20px rgba(48, 33, 23, .55);
}
.lensp img { position: absolute; max-width: none; }
.lensp--chip img { width: 948px; height: 1400px; left: calc(120px - 530px); top: calc(120px - 640px); }
.lensp--pin img { width: 1896px; height: 2800px; left: calc(120px - 850px); top: calc(120px - 1200px); }
.lensp--coin img { width: 112%; height: 112%; left: -6%; top: -6%; }
.nomp {
  display: inline-block; padding: 18px 30px; border-radius: 26px; border: 8px solid #fff;
  font: 400 54px/1 var(--fp); letter-spacing: .06em; color: var(--ink);
  background: linear-gradient(180deg, color-mix(in oklab, var(--pink) 60%, #fff), var(--pink));
  box-shadow: 0 0 0 1px rgba(48, 33, 23, .25), 0 20px 40px -18px rgba(48, 33, 23, .6); rotate: -6deg;
}
.dive__cue {
  position: absolute; z-index: 3; left: 50%; bottom: 9vh; transform: translateX(-50%); margin: 0; white-space: nowrap;
  font: 400 12px/1 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink);
  padding: 9px 16px; border-radius: 999px; background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring);
  opacity: calc(1 - var(--s) * 3);
}
.dive__cue b { font: 900 18px/1 var(--fd); }

html.js:not(.rm) .dive { height: 170vh; --s: var(--scene, 0); }
html.js:not(.rm) .dive__stage { position: sticky; top: 0; height: 100vh; min-height: 0; }

/* grounds */
.sec--die { --g: radial-gradient(70% 60% at 50% 40%, rgba(255, 255, 255, .8), transparent 70%), repeating-linear-gradient(0deg, rgba(48, 33, 23, .055) 0 1px, transparent 1px 48px), repeating-linear-gradient(90deg, rgba(48, 33, 23, .055) 0 1px, transparent 1px 48px), linear-gradient(180deg, color-mix(in oklab, var(--silver) 40%, var(--paper)), var(--paper2)); }
.sec--sheet { --g: radial-gradient(60% 50% at 30% 30%, rgba(255, 255, 255, .9), transparent 70%), radial-gradient(50% 50% at 80% 70%, color-mix(in oklab, var(--pink) 14%, transparent), transparent 70%), linear-gradient(160deg, var(--paper), color-mix(in oklab, var(--silver) 45%, var(--paper))); }
.sec--gel { --g: radial-gradient(55% 50% at 50% 55%, color-mix(in oklab, var(--pink) 42%, transparent), transparent 72%), radial-gradient(40% 30% at 20% 10%, rgba(255, 255, 255, .85), transparent 70%), linear-gradient(180deg, var(--paper2), color-mix(in oklab, var(--paper2) 70%, var(--pink))); }
.sec--coin { --g: repeating-radial-gradient(circle at 50% 40%, transparent 0 26px, rgba(48, 33, 23, .055) 26px 27px), radial-gradient(70% 60% at 50% 40%, rgba(255, 255, 255, .9), transparent 70%), var(--paper); }
.dive__stage--paper { --prev: transparent; }
.dive__stage--die { --prev: linear-gradient(180deg, var(--paper2), var(--paper2)); }
.dive__stage--sheet { --prev: linear-gradient(160deg, var(--paper), color-mix(in oklab, var(--silver) 45%, var(--paper))); }
.dive__stage--gel { --prev: linear-gradient(180deg, color-mix(in oklab, var(--paper2) 70%, var(--pink)), color-mix(in oklab, var(--paper2) 70%, var(--pink))); }
.sec__body { position: relative; background: var(--g); padding: 24px 16px 110px; }

/* ---------------- ×10 inside the chip ---------------- */
.die { max-width: 1240px; margin: 0 auto; display: grid; gap: 34px; }
.window { margin: 0; }
.window__bezel {
  display: block; padding: 10px; border-radius: 30px;
  background: conic-gradient(from 210deg at 50% 50%, #fff, var(--silver), #fff, var(--ink2) 40%, #fff 55%, var(--silver), #fff);
  box-shadow: 0 0 0 1px rgba(48, 33, 23, .3), 0 30px 60px -30px rgba(48, 33, 23, .7);
}
.window__bezel img { width: 100%; border-radius: 21px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); }
.window figcaption { margin-top: 14px; font-style: italic; color: var(--ink2); font-size: 15px; }
.die__text { display: grid; gap: 18px; align-content: center; justify-items: start; }
.die__desc { margin: 0; font-size: clamp(19px, 2vw, 25px); line-height: 1.5; max-width: 30ch; color: var(--ink); font-weight: 600; }

.cores { position: relative; max-width: 1240px; margin: 70px auto 0; }
.traces { display: none; }
.cores__row { display: grid; gap: 22px; }
.card {
  position: relative; padding: 30px 26px 30px; border-radius: var(--r);
  background: linear-gradient(160deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .5));
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: var(--bevel), var(--ring), 0 26px 50px -30px rgba(48, 33, 23, .7);
  transition: transform .5s var(--spring), box-shadow .4s;
}
.card::before { content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #fff, transparent); }
.card:hover { transform: translateY(-6px); box-shadow: var(--bevel), var(--ring), 0 34px 60px -28px rgba(48, 33, 23, .75); }
.card__num {
  display: block; font: 900 84px/.9 var(--fd); color: var(--ink2);
  text-shadow: 0 1px 0 #fff, 0 2px 0 var(--silver), 0 -1px 0 rgba(48, 33, 23, .35);
}
.card h3 { margin: 14px 0 8px; font: 900 32px/.95 var(--fd); text-transform: uppercase; letter-spacing: .01em; }
.card p { margin: 0; color: var(--ink2); }

/* ---------------- ×100 the sticker sheet ---------------- */
.sheet {
  position: relative; max-width: 1180px; margin: 0 auto; padding: 22px 16px 34px; border-radius: 30px;
  background:
    repeating-linear-gradient(45deg, rgba(48, 33, 23, .03) 0 2px, transparent 2px 12px),
    linear-gradient(135deg, #fff 0%, color-mix(in oklab, var(--paper) 70%, #fff) 40%, color-mix(in oklab, var(--silver) 50%, #fff) 52%, #fff 70%, color-mix(in oklab, var(--paper2) 60%, #fff) 100%);
  box-shadow: var(--bevel), var(--ring), 0 40px 80px -40px rgba(48, 33, 23, .7);
}
.sheet__head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px dashed rgba(48, 33, 23, .3); }
.sheet__hint { margin: 0; color: var(--ink2); font-size: 14px; flex: 1 1 220px; }
.sheet__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; align-items: start; }
.sheet__grid figure { margin: 0; position: relative; }
.sheet__grid figure:nth-child(1) { grid-column: 1 / -1; rotate: -2deg; }
.sheet__grid figure:nth-child(2) { rotate: 2.5deg; }
.sheet__grid figure:nth-child(3) { rotate: -1.5deg; margin-top: 26px; }
.sheet__grid figure:nth-child(4) { grid-column: 1 / -1; rotate: 1.5deg; }
.sheet__grid figure:nth-child(5) { rotate: -2.5deg; }
.sheet__grid figure:nth-child(6) { rotate: 2deg; margin-top: 20px; }
.sheet__grid img,
.stk--photo img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 7px solid #fff; border-radius: 20px; }
.sheet__grid figure:not(.is-stk) img { box-shadow: 0 0 0 1px rgba(48, 33, 23, .18), 0 6px 10px -4px rgba(48, 33, 23, .35); }
.sheet__grid figcaption { margin-top: 12px; font-size: 13px; line-height: 1.45; color: var(--ink2); max-width: 34ch; }
.cut { position: relative; display: block; }
.sheet__extras { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px 26px; margin-top: 34px; padding-top: 24px; border-top: 1px dashed rgba(48, 33, 23, .3); }
.slot--x1 { rotate: 12deg; }
.slot--x2 { rotate: -7deg; }
.slot--x3 { rotate: 4deg; }
.slot--x4 { rotate: 8deg; }
.slot--x5 { rotate: -12deg; }

/* stickers: die-cut, laminated, with a resting dog-ear */
.stk {
  --pp: 16px;
  position: relative; display: block; cursor: grab; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
  filter: drop-shadow(0 2px 2px rgba(48, 33, 23, .28)) drop-shadow(0 6px 10px rgba(48, 33, 23, .12));
  transition: filter .35s var(--ease), scale .35s var(--spring);
}
.stk > img, .stk > b, .stk > svg, .stk > .stk__crop {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--pp)), calc(100% - var(--pp)) 100%, 0 100%);
}
.stk[data-corner="bl"] > img, .stk[data-corner="bl"] > b, .stk[data-corner="bl"] > svg, .stk[data-corner="bl"] > .stk__crop { clip-path: polygon(0 0, 100% 0, 100% 100%, var(--pp) 100%, 0 calc(100% - var(--pp))); }
.stk[data-corner="tr"] > img, .stk[data-corner="tr"] > b, .stk[data-corner="tr"] > svg, .stk[data-corner="tr"] > .stk__crop { clip-path: polygon(0 0, calc(100% - var(--pp)) 0, 100% var(--pp), 100% 100%, 0 100%); }
.stk[data-corner="tl"] > img, .stk[data-corner="tl"] > b, .stk[data-corner="tl"] > svg, .stk[data-corner="tl"] > .stk__crop { clip-path: polygon(var(--pp) 0, 100% 0, 100% 100%, 0 100%, 0 var(--pp)); }
.stk__flap { position: absolute; right: 0; bottom: 0; width: var(--pp); height: var(--pp); pointer-events: none; filter: drop-shadow(-2px -2px 3px rgba(48, 33, 23, .3)); }
.stk__flap i { position: absolute; inset: 0; clip-path: polygon(0 0, 100% 0, 0 100%); background: linear-gradient(315deg, #fff 0%, #f4efe8 40%, color-mix(in oklab, var(--silver) 80%, #fff) 75%, var(--silver) 100%); }
.stk[data-corner="bl"] .stk__flap { left: 0; right: auto; }
.stk[data-corner="bl"] .stk__flap i { clip-path: polygon(0 0, 100% 0, 100% 100%); background: linear-gradient(45deg, #fff 0%, #f4efe8 40%, var(--silver) 100%); }
.stk[data-corner="tr"] .stk__flap { top: 0; bottom: auto; filter: drop-shadow(-2px 2px 3px rgba(48, 33, 23, .3)); }
.stk[data-corner="tr"] .stk__flap i { clip-path: polygon(0 0, 0 100%, 100% 100%); background: linear-gradient(225deg, #fff 0%, #f4efe8 40%, var(--silver) 100%); }
.stk[data-corner="tl"] .stk__flap { top: 0; left: 0; bottom: auto; right: auto; filter: drop-shadow(2px 2px 3px rgba(48, 33, 23, .3)); }
.stk[data-corner="tl"] .stk__flap i { clip-path: polygon(100% 0, 100% 100%, 0 100%); background: linear-gradient(135deg, #fff 0%, #f4efe8 40%, var(--silver) 100%); }
.stk__handle { position: absolute; right: -6px; bottom: -6px; width: 48px; height: 48px; touch-action: none; }
.stk[data-corner="bl"] .stk__handle { left: -6px; right: auto; }
.stk[data-corner="tr"] .stk__handle { top: -6px; bottom: auto; }
.stk[data-corner="tl"] .stk__handle { top: -6px; left: -6px; right: auto; bottom: auto; }
.stk.is-peeling { cursor: grabbing; }
.stk.is-lifted { scale: 1.07; cursor: grabbing; filter: drop-shadow(0 16px 14px rgba(48, 33, 23, .26)) drop-shadow(0 30px 30px rgba(48, 33, 23, .16)); }
.stk.is-slap { animation: slapS .5s var(--ease); }
@keyframes slapS { 0% { scale: 1.07; } 40% { scale: .965; } 70% { scale: 1.015; } 100% { scale: 1; } }
.stk.is-new { animation: newS .55s var(--spring) both; }
@keyframes newS { from { scale: 1.8; opacity: 0; } to { scale: 1; opacity: 1; } }
.stk.is-homing { transition: left .6s var(--ease), top .6s var(--ease), transform .6s var(--ease), filter .35s; }
.stk.is-going { transition: opacity .4s, scale .4s; opacity: 0; scale: .6; }

.stk--coin img, .stk--mini img { width: 100%; border: 6px solid #fff; border-radius: 22px; background: #fff; }
.stk--mini { width: 82px; }
.stk--mini img { border-width: 5px; border-radius: 16px; }
.stk--chip { width: 118px; }
.stk__crop { position: relative; display: block; width: 118px; height: 118px; overflow: hidden; border-radius: 20px; background: var(--night); border: 6px solid #fff; }
.stk__crop img { position: absolute; max-width: none; width: 632px; height: 933px; left: calc(53px - 353px); top: calc(53px - 427px); }
.stk--word b {
  display: block; padding: 14px 20px; border-radius: 18px; border: 6px solid #fff;
  font: 400 30px/1 var(--fp); letter-spacing: .06em; color: var(--ink);
  background: linear-gradient(180deg, color-mix(in oklab, var(--pink) 55%, #fff), var(--pink));
}
.stk--byte b { background: var(--chrome-ui); }
.stk--saved b { font-size: 18px; padding: 10px 14px; background: linear-gradient(180deg, #fff, color-mix(in oklab, var(--pink) 45%, #fff)); }
.stk--star svg { display: block; width: 96px; height: 96px; padding: 14px; border-radius: 22px; background: radial-gradient(circle at 50% 40%, #fff, color-mix(in oklab, var(--paper2) 70%, #fff)); border: 6px solid #fff; overflow: visible; }
.stk--star path { fill: var(--silver); stroke: var(--ink); stroke-width: 1.4; }

.stk-ghost {
  display: block; border-radius: 20px; border: 2px dashed rgba(48, 33, 23, .35);
  background: repeating-linear-gradient(45deg, rgba(48, 33, 23, .04) 0 2px, transparent 2px 9px);
  display: grid; place-items: center;
}
.stk-ghost::after { content: "Peeled"; font: 400 11px/1 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink2); }
#stk-layer { position: absolute; left: 0; top: 0; width: 100%; height: 0; z-index: 80; }
#stk-layer .stk { position: absolute; margin: 0; }
.stars-fx { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 120; pointer-events: none; }

/* ---------------- ×1000 feed CompuMouse ---------------- */
.beat { max-width: 1180px; margin: 0 auto; display: grid; gap: 30px; justify-items: center; }
.dish {
  position: relative; width: min(500px, 88vw); aspect-ratio: 1; border-radius: 50%;
  background:
    radial-gradient(circle at 50% 30%, rgba(255, 255, 255, .95), transparent 46%),
    conic-gradient(from 200deg, #fff, var(--silver), #fff, color-mix(in oklab, var(--ink2) 60%, var(--silver)), #fff, var(--silver), #fff);
  box-shadow: 0 0 0 1px rgba(48, 33, 23, .3), inset 0 0 0 14px rgba(255, 255, 255, .55), inset 0 -20px 40px rgba(48, 33, 23, .2), 0 40px 70px -34px rgba(48, 33, 23, .8);
}
.dish::after {
  content: ""; position: absolute; inset: -6%; border-radius: 50%; z-index: -1; pointer-events: none;
  background: radial-gradient(circle, color-mix(in oklab, var(--pink) 90%, transparent) 30%, transparent 68%);
  opacity: calc(.25 + var(--beat, 0) * .75); transform: scale(calc(.96 + var(--beat, 0) * .06));
}
.dish__grooves { position: absolute; inset: 9%; border-radius: 50%; background: repeating-radial-gradient(circle, rgba(48, 33, 23, .07) 0 1px, transparent 1px 6px); box-shadow: inset 0 0 0 1px rgba(48, 33, 23, .2); }
.dish__mouse { position: absolute; height: 80.8%; width: auto; left: 22.7%; top: 12%; filter: drop-shadow(0 14px 14px rgba(48, 33, 23, .35)); transform-origin: 50% 100%; }
.dish__mouse.is-nom { animation: nom .32s var(--ease); }
@keyframes nom { 0% { transform: scale(1, 1); } 35% { transform: scale(1.05, .95); } 70% { transform: scale(.98, 1.03); } 100% { transform: scale(1, 1); } }
.dish__target {
  position: absolute; left: 53.3%; top: 49.2%; width: 20%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%;
  border: 2px dashed var(--ink); box-shadow: 0 0 0 4px rgba(255, 255, 255, .6);
}
.dish__fx { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 50%; pointer-events: none; }
.dish__nom {
  position: absolute; left: 62%; top: 18%; padding: 8px 12px; border-radius: 12px; border: 4px solid #fff;
  font: 400 20px/1 var(--fp); color: var(--ink); background: var(--pink); box-shadow: 0 0 0 1px rgba(48, 33, 23, .25);
  opacity: 0; rotate: 10deg; pointer-events: none;
}
.dish__nom.is-on { animation: nomPop .6s var(--spring); }
@keyframes nomPop { 0% { opacity: 0; transform: translateY(10px) scale(.6); } 30% { opacity: 1; transform: translateY(0) scale(1.1); } 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-16px) scale(1); } }

.meter {
  width: 100%; max-width: 420px; display: grid; gap: 16px; justify-items: center; text-align: center;
  padding: 26px 22px; border-radius: 30px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .6));
  box-shadow: var(--bevel), var(--ring), 0 30px 60px -34px rgba(48, 33, 23, .7);
}
.lights { display: flex; gap: 16px; padding: 12px 18px; border-radius: 999px; background: linear-gradient(180deg, color-mix(in oklab, var(--silver) 60%, var(--paper2)), #fff); box-shadow: inset 0 2px 6px rgba(48, 33, 23, .25), inset 0 -1px 0 #fff; }
.lights i {
  width: 40px; height: 40px; border-radius: 50%;
  background: radial-gradient(circle at 50% 28%, #fff 0 18%, transparent 40%), linear-gradient(180deg, color-mix(in oklab, var(--silver) 70%, #fff), var(--silver));
  box-shadow: inset 0 -4px 8px rgba(48, 33, 23, .2), 0 0 0 1px rgba(48, 33, 23, .25);
  transition: background .2s, box-shadow .3s, transform .3s var(--spring);
}
.lights i.is-on { background: radial-gradient(circle at 50% 28%, #fff 0 18%, transparent 42%), linear-gradient(180deg, color-mix(in oklab, var(--pink) 70%, #fff), var(--pink)); box-shadow: inset 0 -4px 8px rgba(143, 60, 40, .25), 0 0 0 1px rgba(48, 33, 23, .3), 0 0 18px color-mix(in oklab, var(--pink) 80%, transparent); transform: scale(1.08); }
.lights i.is-close { animation: flick .35s steps(2) 2; }
@keyframes flick { 50% { box-shadow: 0 0 0 2px var(--ink); } }
.meter.is-win .lights { box-shadow: inset 0 2px 6px rgba(48, 33, 23, .25), 0 0 30px color-mix(in oklab, var(--pink) 80%, transparent); }
.chomp {
  position: relative; overflow: hidden; width: 100%; min-height: 64px; border: 0; border-radius: 999px; cursor: pointer;
  font: 900 26px/1 var(--fd); text-transform: uppercase; letter-spacing: .03em; color: var(--ink);
  background: radial-gradient(120% 70% at 50% 115%, color-mix(in oklab, var(--pink) 50%, transparent), transparent 60%), var(--chrome-ui);
  box-shadow: var(--bevel), 0 0 0 1px rgba(48, 33, 23, .3), 0 12px 24px -12px rgba(48, 33, 23, .6);
  transition: transform .25s var(--spring), box-shadow .2s; touch-action: manipulation;
}
.chomp:hover { transform: translateY(-2px); }
.chomp:active, .chomp.is-press { transform: scale(.95); box-shadow: inset 0 3px 8px rgba(48, 33, 23, .3), 0 0 0 1px rgba(48, 33, 23, .3); }
.meter__hint { margin: 0; font-size: 14px; color: var(--ink2); }
.meter__msg { margin: 0; font-weight: 600; min-height: 3em; display: grid; place-items: center; }
.meter__count { margin: 0; font: 400 12px/1.3 var(--fp); letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.meter__count b { font: 900 22px/1 var(--fd); }

/* ---------------- ×10⁴ inside the coin ---------------- */
.steps { list-style: none; margin: 0 auto; padding: 0; max-width: 1180px; display: grid; gap: 22px; }
.step {
  position: relative; padding: 46px 24px 28px; border-radius: 26px;
  background: linear-gradient(180deg, #fff, color-mix(in oklab, var(--paper) 60%, #fff) 60%, color-mix(in oklab, var(--silver) 40%, #fff));
  box-shadow: var(--bevel), var(--ring), 0 26px 50px -30px rgba(48, 33, 23, .7);
  display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: center;
  transition: transform .5s var(--spring);
}
.step:hover { transform: translateY(-5px) rotate(-.6deg); }
.step__hole { position: absolute; top: 14px; left: 50%; width: 54px; height: 14px; margin-left: -27px; border-radius: 999px; background: var(--paper2); box-shadow: inset 0 2px 4px rgba(48, 33, 23, .35), 0 1px 0 #fff; }
.step__bubble {
  grid-row: span 3; width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(circle at 35% 28%, #fff 0 14%, rgba(255, 255, 255, .25) 40%, rgba(255, 255, 255, .1) 70%), color-mix(in oklab, var(--paper2) 50%, #fff);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), inset 0 -8px 14px rgba(48, 33, 23, .12), 0 0 0 1px rgba(48, 33, 23, .2), 0 8px 16px -8px rgba(48, 33, 23, .5);
}
.step__bubble img { width: 40px; height: 40px; }
.step__n { font: 900 46px/.9 var(--fd); color: var(--ink2); text-shadow: 0 1px 0 #fff, 0 -1px 0 rgba(48, 33, 23, .3); }
.step h3 { margin: 0; font: 900 30px/.95 var(--fd); text-transform: uppercase; }
.step p { margin: 0; color: var(--ink2); font-size: 15px; grid-column: 2; }
.buy__end { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 48px; }

/* ---------------- ×∞ the desk ---------------- */
.desk { position: relative; background: var(--night); color: var(--on); padding: 16px 10px 40px; }
.desk::before { content: ""; position: absolute; inset: 0; background: var(--noise); opacity: .6; pointer-events: none; }
.desk__shot { position: relative; margin: 0 auto; max-width: 1400px; }
.desk__bezel {
  display: block; padding: 8px; border-radius: 30px;
  background: conic-gradient(from 210deg, var(--on2), var(--ink2), var(--on), var(--deep) 40%, var(--on2) 60%, var(--ink2), var(--on2));
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9);
}
.desk__bezel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 66% 55%; border-radius: 22px; }
.desk__over { position: absolute; left: 30px; right: 30px; top: 34px; display: grid; gap: 12px; justify-items: start; }
.desk__name { font-size: clamp(54px, 16vw, 200px); }
.desk__tag { font: 600 17px/1.3 var(--fb); color: var(--on); }
.desk__row { position: relative; max-width: 1400px; margin: 30px auto 0; display: grid; gap: 30px; }
.lid {
  position: relative; min-height: 220px; border-radius: 28px; padding: 26px; display: grid; align-content: end; gap: 6px;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 3px),
    linear-gradient(160deg, #fff 0%, var(--silver) 35%, color-mix(in oklab, var(--on2) 80%, var(--ink2)) 55%, var(--silver) 75%, #fff 100%);
  box-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(48, 33, 23, .3), 0 30px 50px -26px rgba(0, 0, 0, .9);
  transition: transform .5s var(--spring);
}
.lid.is-hit { animation: lidHit .5s var(--spring); }
@keyframes lidHit { 40% { transform: scale(.985) translateY(3px); } }
.lid__logo { position: absolute; left: 50%; top: 42%; width: 70px; height: 70px; margin: -35px 0 0 -35px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fff, var(--silver) 60%, var(--ink2)); opacity: .55; box-shadow: inset 0 1px 0 #fff, 0 0 0 1px rgba(48, 33, 23, .2); }
.lid .px { color: var(--ink); }
.lid__sub { margin: 0; color: var(--ink); font-size: 14px; }
.desk__side { display: grid; gap: 18px; align-content: start; }
.brand--foot .brand__name { color: var(--on); font-size: 30px; }
.desk__links { display: flex; flex-wrap: wrap; gap: 10px; }
.chip--dark { color: var(--on); background: rgba(255, 255, 255, .08); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 0 0 1px rgba(255, 255, 255, .25); min-height: 48px; padding: 0 18px; }
.chip--dark img { filter: invert(1); }
.desk__fine { margin: 0; max-width: 62ch; font-size: 13px; line-height: 1.6; color: var(--on2); }
.desk__fine a { color: var(--on); }

/* ---------------- 404 ---------------- */
.lost { min-height: 100vh; display: grid; place-items: center; padding: 40px 18px; text-align: center; }
.lost__box { display: grid; gap: 26px; justify-items: center; max-width: 900px; }
.lost__t { font-size: clamp(54px, 14vw, 150px); }
.lost .slot { rotate: 9deg; }
.lost .stk { width: 120px; }

/* ================= desktop ================= */
@media (min-width: 900px) {
  body { font-size: 17px; }
  .bar { top: 14px; left: 24px; right: 24px; height: 62px; padding: 0 10px 0 12px; border-radius: 32px; }
  .dial { left: auto; right: 24px; width: 380px; top: 84px; }

  .gauge { display: block; position: fixed; z-index: 70; right: 8px; top: 30vh; width: 10px; height: 40vh; border-radius: 999px; background: linear-gradient(90deg, color-mix(in oklab, var(--silver) 70%, var(--paper2)), #fff); box-shadow: inset 0 1px 3px rgba(48, 33, 23, .3), 0 0 0 1px rgba(48, 33, 23, .12); }
  .gauge span { position: absolute; left: 1px; right: 1px; top: 1px; height: 46px; border-radius: 999px; background: linear-gradient(90deg, #fff, var(--silver) 50%, #fff); box-shadow: var(--ring), 0 2px 4px rgba(48, 33, 23, .3); transform: translateY(calc(var(--scroll, 0) * (40vh - 48px))); }

  html.js:not(.rm) .zoom { height: 280vh; }
  .hero { --mh: 78vh; --cx: 74%; --cy: 54vh; height: 100vh; min-height: 680px; }
  html.js:not(.rm) .hero { position: sticky; top: 0; --s: var(--scene, 0); }
  .stage { position: absolute; inset: 0; height: auto; }
  .stage::before {
    background:
      radial-gradient(34vw 34vw at var(--cx) var(--cy), rgba(255, 255, 255, .95), transparent 70%),
      radial-gradient(40vw 34vw at var(--cx) calc(var(--cy) + 10vh), color-mix(in oklab, var(--pink) 30%, transparent), transparent 70%);
  }
  .stage::after { background: linear-gradient(90deg, var(--paper) 0%, color-mix(in oklab, var(--paper) 92%, transparent) 30%, transparent 50%); }
  .lens { width: 520px; height: 520px; left: calc(var(--cx) - 260px); top: calc(var(--cy) - 260px); }
  .pack {
    display: block; position: absolute; left: calc(var(--cx) - 328px); width: 600px; top: 9vh; bottom: 3vh; border-radius: 36px;
    background:
      radial-gradient(60% 40% at 30% 18%, rgba(255, 255, 255, .9), transparent 70%),
      linear-gradient(160deg, #fff 0%, color-mix(in oklab, var(--paper) 70%, #fff) 30%, var(--silver) 50%, color-mix(in oklab, var(--paper) 80%, #fff) 70%, var(--silver) 100%);
    box-shadow: var(--bevel), var(--ring), 0 50px 80px -40px rgba(48, 33, 23, .7);
    opacity: var(--s); transform: scale(calc(.9 + var(--s) * .1));
  }
  .pack__hole { position: absolute; left: 50%; top: 2.4vh; width: 80px; height: 20px; margin-left: -40px; border-radius: 999px; background: var(--paper); box-shadow: inset 0 2px 5px rgba(48, 33, 23, .4), 0 1px 0 #fff; }
  .pack__line { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; font: 400 12px/1 var(--fp); letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
  .pack__bubble { position: absolute; inset: 0; width: 100%; height: 100%; }
  .pack__bubble rect { fill: rgba(255, 255, 255, .22); stroke: rgba(48, 33, 23, .45); stroke-width: 1.4; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--s)); }
  .burst {
    display: grid; place-items: center; position: absolute; z-index: 4; left: calc(var(--cx) - 380px); top: 13vh; width: 170px; height: 170px; margin: 0; padding: 26px;
    text-align: center; font: 900 21px/.95 var(--fd); text-transform: uppercase; color: var(--ink);
    background: radial-gradient(circle at 40% 35%, color-mix(in oklab, var(--pink) 40%, #fff), var(--pink));
    clip-path: polygon(50% 0, 59% 15%, 75% 7%, 77% 24%, 93% 25%, 86% 41%, 100% 50%, 86% 59%, 93% 75%, 77% 76%, 75% 93%, 59% 85%, 50% 100%, 41% 85%, 25% 93%, 23% 76%, 7% 75%, 14% 59%, 0 50%, 14% 41%, 7% 25%, 23% 24%, 25% 7%, 41% 15%);
    opacity: calc(var(--s) * 2 - 1); transform: rotate(-12deg) scale(calc(.6 + var(--s) * .4));
  }
  .burst span { display: block; font: 400 13px/1 var(--fp); letter-spacing: .08em; }

  .slot--coin { top: 100px; right: 56px; width: 156px; }
  .hint { font-size: 12px; }
  .readout { left: auto; right: 34px; bottom: 30px; padding: 10px 18px; }
  .readout b { font-size: 22px; }
  .readout__cue { display: inline; }
  .sp1 { left: calc(var(--cx) - 330px); top: 20vh; width: 34px; height: 34px; }
  .sp2 { left: calc(var(--cx) + 250px); top: 72vh; width: 22px; height: 22px; }
  .sp3 { display: block; left: 47%; top: 15vh; width: 18px; height: 18px; }
  .frame { display: block; position: absolute; inset: 12px; width: calc(100% - 24px); height: calc(100% - 24px); overflow: visible; pointer-events: none; z-index: 7; }
  .frame rect { fill: none; stroke: rgba(48, 33, 23, .3); stroke-width: 1; vector-effect: non-scaling-stroke; }

  .hero__copy { position: absolute; z-index: 6; left: 64px; top: 0; bottom: 0; width: min(600px, 46vw); margin: 0; padding: 96px 0 30px; justify-content: flex-end; gap: 18px; }
  .hero__t { font-size: clamp(48px, min(6vw, 8.5vh), 84px); }
  .lede { order: 0; font-size: 17px; }
  .cta { width: auto; }
  .cta .gel { flex: none; }
  .upc { padding: 16px 20px 16px 16px; }

  .dive__world { padding: 96px 40px 80px; }
  html.js:not(.rm) .dive__world { padding: 110px 40px 60px; }
  html.js:not(.rm) .dive { height: 190vh; }
  .lensp:not(.lensp--sm) { width: 300px; height: 300px; }
  .lensp--chip:not(.lensp--sm) img { left: calc(150px - 530px); top: calc(150px - 640px); }
  .lensp--pin:not(.lensp--sm) img { left: calc(150px - 850px); top: calc(150px - 1200px); }
  .sec__body { padding: 40px 40px 120px; }

  .die { grid-template-columns: 7fr 5fr; align-items: center; gap: 64px; }
  .die__text { order: -1; }
  .cores { margin-top: 30px; }
  .traces { display: block; width: 100%; height: 120px; }
  .traces path { fill: none; stroke: var(--ink2); stroke-width: 1.4; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
  .cores__row { grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: start; }
  .cores__row .card:nth-child(2) { margin-top: 50px; }
  .cores__row .card:nth-child(3) { margin-top: 100px; }

  .sheet { padding: 30px 46px 46px; }
  .sheet__grid { grid-template-columns: repeat(12, 1fr); gap: 40px 30px; }
  .sheet__grid figure:nth-child(1) { grid-column: 1 / 6; }
  .sheet__grid figure:nth-child(2) { grid-column: 6 / 9; margin-top: 60px; }
  .sheet__grid figure:nth-child(3) { grid-column: 9 / 13; margin-top: 10px; }
  .sheet__grid figure:nth-child(4) { grid-column: 2 / 5; margin-top: 16px; }
  .sheet__grid figure:nth-child(5) { grid-column: 5 / 9; margin-top: 10px; }
  .sheet__grid figure:nth-child(6) { grid-column: 9 / 12; margin-top: -20px; }
  .sheet__extras { gap: 30px 48px; }

  .beat { grid-template-columns: 1.15fr .85fr; align-items: center; gap: 60px; }

  .steps { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .step { grid-template-columns: 1fr; justify-items: start; padding: 50px 30px 34px; }
  .step__bubble { grid-row: auto; margin-bottom: 10px; }
  .step p { grid-column: auto; }

  .desk { padding: 24px 24px 50px; }
  .desk__bezel img { aspect-ratio: 16 / 7; }
  .desk__over { left: 70px; top: 50%; transform: translateY(-50%); right: auto; max-width: 46%; }
  .desk__name { font-size: clamp(64px, 8.4vw, 140px); }
  .desk__row { grid-template-columns: 1.1fr .9fr; gap: 48px; margin-top: 40px; }
}

@media (min-width: 1100px) {
  #burger { display: none; }
  .dial {
    display: flex; position: static; width: auto; flex-direction: row; align-items: center; gap: 2px; padding: 5px; margin: 0 auto;
    border-radius: 999px; max-height: none; overflow: visible;
    background: linear-gradient(180deg, color-mix(in oklab, var(--paper2) 70%, var(--silver)), color-mix(in oklab, var(--paper) 80%, #fff));
    box-shadow: inset 0 2px 5px rgba(48, 33, 23, .18), inset 0 -1px 0 #fff;
  }
  .dial a { min-height: 40px; padding: 0 11px; border-radius: 999px; font-size: 13px; gap: 6px; white-space: nowrap; }
  .dial a b { min-width: 0; font-size: 10px; }
  .dial a:hover, .dial a.is-active { background: var(--chrome-ui); box-shadow: var(--bevel), var(--ring), 0 3px 8px -4px rgba(48, 33, 23, .5); }
  .dial .pill { margin: 0 0 0 4px; align-self: center; }
  .bar__end { margin-left: 0; }
}

@media (min-width: 1200px) {
  .hero__copy { left: 80px; }
  .dial a { padding: 0 14px; }
}

@media (max-width: 429px) {
  .brand__name { font-size: 22px; }
  .bar:has(.gel--sm:not([hidden])) .brand__name { display: none; }
  .brand--foot .brand__name { display: inline; font-size: 26px; }
  .cap__tk { display: none; }
}
@media (max-width: 599px) {
  .bar:has(.gel--sm:not([hidden])) .brand:not(.brand--foot) .brand__name { display: none; }
}
@media (max-width: 899px) {
  .hint { right: 4px; bottom: auto; top: 100%; margin: 8px 0 0; rotate: 6deg; }
  .readout { bottom: 54px; }
}

/* ================= motion (only under html.js:not(.rm)) ================= */
html.js:not(.rm) .draw { stroke-dasharray: 1; animation: draw 1s var(--ease) both; }
html.js:not(.rm) .d1 { animation-delay: 0s; }
html.js:not(.rm) .d2 { animation-delay: .12s; }
html.js:not(.rm) .d3 { animation-delay: .3s; }
html.js:not(.rm) .d4 { animation-delay: .42s; }
html.js:not(.rm) .d5 { animation-delay: .55s; }
html.js:not(.rm) .d6 { animation-delay: .68s; }
@keyframes draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
html.js:not(.rm) .spark path { animation: draw 1s var(--ease) .5s both, sparkFill .6s ease 1.3s both, twinkle 3.6s ease-in-out 2s infinite; transform-origin: 50% 50%; transform-box: fill-box; }
@keyframes sparkFill { from { fill: rgba(255, 255, 255, 0); } to { fill: #fff; } }
@keyframes twinkle { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(.7) rotate(20deg); } }

html.js:not(.rm) .hero__t > * { animation: pen 1s var(--ease) .15s both, inkIn .5s ease 1.05s both; }
html.js:not(.rm) .hero__t > * + * { animation-delay: .32s, 1.15s; }
@keyframes pen { from { clip-path: inset(-25% 105% -25% -5%); } to { clip-path: inset(-25% -5% -25% -5%); } }
@keyframes inkIn { from { color: transparent; -webkit-text-stroke: 1.2px var(--ink); } to { color: var(--ink); -webkit-text-stroke: 0 transparent; } }
html.js:not(.rm) .hero__t .lm::after { animation: pour .8s var(--ease) 1.15s both; }
@keyframes pour { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(-25% -5% -25% -5%); } }

html.js:not(.rm) .art { animation: flood 1.05s var(--ease) .9s both; }
@keyframes flood { from { clip-path: circle(0 at var(--cx) var(--cy)); } to { clip-path: circle(150% at var(--cx) var(--cy)); } }
html.js:not(.rm) .stage::before { animation: fadeIn 1.2s ease 1s both; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
html.js:not(.rm) .upc__bars { animation: bars .7s var(--ease) .6s both; }
@keyframes bars { from { transform: scaleY(0); } to { transform: scaleY(1); } }
html.js:not(.rm) .cap--hero { animation: rise .7s var(--spring) .2s both; }
html.js:not(.rm) .lede, html.js:not(.rm) .readout { animation: rise .7s var(--ease) 1.4s both; }
html.js:not(.rm) .cta { animation: pop .6s var(--spring) 1.5s both; }
html.js:not(.rm) .upc { animation: rise .7s var(--ease) 1.6s both; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes pop { from { opacity: 0; transform: scale(.88); } to { opacity: 1; transform: none; } }
html.js:not(.rm) .slot--coin { animation: slap .55s var(--spring) 1.65s both; }
@keyframes slap { from { opacity: 0; transform: scale(1.35) rotate(-6deg); } to { opacity: 1; transform: none; } }
html.js:not(.rm) .slot--coin .stk:not(.is-live) { animation: peek 1.4s var(--ease) 2.5s both; }
@keyframes peek { 0% { --pp: 16px; } 35% { --pp: 44px; } 60% { --pp: 40px; } 100% { --pp: 16px; } }
html.js:not(.rm) .hint { animation: rise .6s var(--ease) 2.3s both, bob 2.6s ease-in-out 3s infinite; }
@keyframes bob { 50% { translate: 0 -4px; } }
html.js:not(.rm) .mouse img { animation: breathe 6s ease-in-out 2s infinite alternate; }
@keyframes breathe { to { transform: translateY(-6px); } }
html.js:not(.rm) .dish__mouse { transition: none; }

/* reveals (kit adds .reveal, then .seen) */
html.js:not(.rm) .reveal:not([data-stagger]) { opacity: 0; translate: 0 28px; transition: opacity .7s var(--ease), translate .9s var(--spring); }
html.js:not(.rm) .reveal.seen:not([data-stagger]) { opacity: 1; translate: 0 0; }
html.js:not(.rm) [data-stagger].reveal > * { opacity: 0; translate: 0 30px; transition: opacity .6s var(--ease), translate .8s var(--spring); transition-delay: calc(var(--i, 0) * 90ms); }
html.js:not(.rm) [data-stagger].reveal.seen > * { opacity: 1; translate: 0 0; }
html.js:not(.rm) .traces.reveal path { stroke-dashoffset: 1; transition: stroke-dashoffset 1.4s var(--ease) .2s; }
html.js:not(.rm) .traces.reveal.seen path { stroke-dashoffset: 0; }
html.js:not(.rm) .traces.reveal { opacity: 1; translate: none; }

html.rm *, html.rm *::before, html.rm *::after { animation: none !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
  html:not(.js) *, html:not(.js) *::before, html:not(.js) *::after { animation: none !important; transition: none !important; }
}
