/*  TICK · one sheet
    Paper, charcoal hairlines, hatch bands, a plus texture, crop-mark buttons,
    Figtree for the words and JetBrains Mono for the tape. One added colour:
    the signal red of the burn. Every layout token is in rem where 1rem is one
    pixel of a 1440 wide reference canvas.  */

@font-face {
  font-family: 'Figtree';
  src: url('assets/fonts/figtree-latin.woff2') format('woff2');
  font-weight: 300 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Figtree';
  src: url('assets/fonts/figtree-italic-latin.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('assets/fonts/jetbrainsmono-latin.woff2') format('woff2');
  font-weight: 400 500;
  font-style: normal;
  font-display: block;
}

:root {
  --bg: #efede8;
  --panel: #f2f0eb;
  --rule: #26261f;
  --hair: #bdb9ae;
  --ink: #1a1a17;
  --ink-solid: #131311;
  --on-dark: #f4f2ed;
  --body: #4e4e47;
  --muted: #9e9e98;
  --chev: #57574f;
  --plus: #d6d0c3;
  --signal: #E3001B;
  --nav: #1b1b18;
  --hairline: max(1px, 1rem);
  --bracket: 6rem;
  --sans: 'Figtree', 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --pad-x: 28rem;
  --pad-t: 24rem;
  --pad-b: 23rem;
  --hdr-h: 73rem;
  --hatch-h: 25rem;
  --strip-h: 94rem;
  --lift: 10px;
  --rise: 22px;
  --ed-detail: 1;
  --expo: cubic-bezier(.16, 1, .3, 1);
  --soft: cubic-bezier(.22, .61, .24, 1);
  --win: #faf9f5;
  --book: #f3f1ec;
  --nums: #ebe9e3;
  --rule-soft: rgba(38, 38, 31, .3);
  --rule-faint: rgba(38, 38, 31, .18);
  --grain: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAPhklEQVR42o2c6Y7juq6FacWzHWAD/QDn33n/d/M8JLk/rlT4eh0qtQtodJVjWxLFYXGRSvHf//7H4k9pZrf9u5/OzDY815rZHP9+mtlkZr2Zrb88541XmdnlXG/N7G1mJ6718R0nxjUza8zskHeGeC3NS8fpzOwR15E+qx9//vxTmtlgZgUmXMXJ6E9jZi/c18dBT/z9NrNahNPHZ3ntnRF+uj6a2Qd/F3HSQ1xIHT9Lgjij0N9xjvrOdO3CtR5/31jHOwqsfvz580/alVte2OHaGO95Obta4pkrPhPivW38+4rXunj/I27Cw3mnYcGPuIgTQrYo6EvmXMbPk2aWUYh3HCtpCMd8xM/b+PmJ9d5mtpUYYIgP7lhIGmzGfc9oJnfc4TVOvoT5pF3d8dweJ7TKmEf8f3GEdMV/NOE6Y367COyB8YMzH4Og9vgvKUKygjNAYm+8YIv2TJNr40KmOGAVJ93HyWzxPRRkJxOiEGr8vYgm8B1tHIua1cp7HzJWEnyNDaPvGqHJyQUYfNwa1zY8/vz5xxwT8/zCAxrygm+44vM1Pjf4IZoqfw9xIWe8HsQPcl6FmGKFxb8dc7swXgOtSBqS/r7lfg0OV/gilAZ23MNsnhBAiYlUuJ8mscXPW9lhE409RZAGM3870Sz5oQrzNdmgGRHOMKcK95fOun9+guxKhQEPePYVi6LTvuGvFtyvg27wUV28t4qaYfJugybecPJJcLsIsZbN0oUeCP804wPOmD/pem9mbYg3D/GFFyZdiyYtUOlZFsNdKuVzw+4NWHyBRSy/4K4UwRgENjx7ymaXX6LjiHfS8Q8y19XMHsnZfiCYE/9XAFkpjC6i7iYR7Ma1+ouTXmRnk+PsnQXdDvDj74O8i1rXitkUca4fubZIkDEzWwJwyyTRIzmtZMcNANozvmzHAA+Z/C2RQ3dwFBSbAKjCgDT+IFGrwRwXfN7E3y8xp6QpEzS/AbwZRfNHMxtLYA1+MEXJf6Lw3rL7GmovTOISQb/igiZxlKfjo5K2po1bkJ4sEMDumOAC86tFm8r4nkn8V8BzmiqZmc1BVLoVYJds/XA04RbHVjngbYoaMTk455RnbuRQGwRdQKNNTGOQa2ktk/PeCWNvIvRBNvuZBJZ26wmhfPBQCWm3YhKVg3oVOw1OVKnkmVKco96jAi4wl0Wi3ppxzEsm0iWLWaJwn4KPniFO6oPFvPDQDQzykIx8c8Kz5lIFnOgRF7aJJtViKprjteIXD9GixsFOTwj6xnzUNAcx+Sn+n+Y4BezcApWcId0Du1BmdrB0TChhpUvMlqrfYtdH/D7BdxSO2SSKpY7z62Qjp4xWN0hc6y8pTpmCSOnwNo84+IVcaxWepUB+NgkUWIFiTZLX4cukaF4fpB6bmDaF3QNwaqLcxffc4HcYSBR57wKg//JBVO8jfniAw6nFlpPvYMhkqD/FPG6H60lCqUVg9EuFCHFD5EkbtwCE0lQ3ZPgplyxl0zpJOwy52/9rSyTMGOpr8CgvoQU0EaTPIqIOYPAM+dTtCPAd/5FhvAEPaozZOEj8IRvtjfuC4y+wUQkDppyuB+SozewOcRee4lw/DqqkQy0zQLCKWvWR9OP+whJcEo5HB+FqBCuRI+5gDj7wMTpu4UALk4z+xLWdyeqGB0fYYBdVt4V/SsLZkB7Mol10rHx+gOZU8GOd5HmNk0yT2LqdPM8cysUgsE2icSkmRwrlacLJ3LB3TUQXhNVNKInZ2RED9dHG53eJhGQLAyZ/wT8MUStKkHX0VZVgpire34iQHgggJlSwckhzvO9jDtRO8H5wAFclZsjFbJkk8hYNqDHOLmP2Yr41kscbztucCHjBT/UO6t9BzbTY5FJQ/wjB/aQdaTJkC4OopIGgqlBZeDmqfiHxTClAG9+5YmEBTngXp73DF83QqEu04iNhmVWTAXw5N5Mbc2ZCPHOxrRQVNyerf8lALXa3ic8/hEFU4quXUs4uE0/C2GE+hwh+jG5gks8GgRAJw72dWlkl/HTjaNxfeVzAbtf/Igk0sP+v+G+DQ/coTNbI3g451onfS9WSC2Y9ZJjB5NdI/O2gZyasK4HXh4OFzFn7j6p5qHIRZm3FIIlvTrZcC1YiT91jtwaUiLxKqzf+JElt77CdaeyPQ8jxngkb3DmlH32uTgLqgVt++ylhHg38wYjnC0G9mretKOckf9cpUSVjpgRyFaB5IANnjtZDmJsTQILQLpYZ8weB/hvhKJ1ADLVncMjsZNBpN/cotMJ5psAm3I6ZMy2YMEZy+iuCCgsLfOcDPqsWd5JA6w8gHCXk9V9QtDpgFva+CXqAWXUYc3Vok0muPbE5lZMEJ9bhyEAR5olHNKtaKr6LFCEPAsXkrJ4SkpXf8SqftwhLF9HJ8xsce5lBzCZEPanSS8i7RrTO25RVAkHSvNGhRVjAGALyoQ3YYcxoTg/AZVKefjrh2wQld5k8aBKh1kJbeHV43pd84JhhEjU6MQj1gudmOO4jOPZPTFGJ2ayZJgBWCwbHUVIgVSb/KdVBApDWjr+jVs5IkzrZ2JSgLhB4+4uv/fGBweGKGzisS8o0iTvpMvxuevkOgFljQpfQqZeYHrWqRh39dMpG6rhvwIZGMvcL81Yhr461/OSOpVOuqTGhGtKcvzjfAyF2Fwd6ImPfUF3okAu24GkOOMvtF1B5IrVhKdsrQb2lv2ByrCC9L81lD45TnVDGeXzpBKM936A4WVjM9e7ciBwJW22Ccm8nCd4ck93E1HKQ4MqkE+YEkaRFdUBN/gkV6+C4C4lQOfudIKwJLGHADvUSeZr4/g7q3iDv0sWRV6oyrXs0m9ZhJdQ8K2Tz+nwZhNxKrXGbA8W9Lq3hy06sUkpeJGWhKWyCbWZEJS0a9kgtSuezEYL4SJvL5QjhQjPY/wDjgOqASUXTMs5zzFQoyMS1jqoPGRUvMt0cJYoHI4T3Bo90C7I/kejqBheZ1ClncoOhqrp+6f9rhKqcHXbQJHv+oObVxDGWTCQ64eCJmlkhmYVNWB3M85Luk1ay9Y9jdo3Dtf9V6w+A9WPGIR+w8VI0hXnSAzsVJJq9xQeoM63j/a10oD4zGjoId61UyoA2Xy1UvhzAeGZA6c+CFwcLHZmuLK+Je3UEqpGuEhawQpvvLf7NC8PetSNTjnoBHFYOE5He1TidtwY+6Xj8+fNPDam+gZ61N/CSvptddmNwOtdJ8B+gRhtgoMQpV07dzMAT67WPsIip/7mQkvfbiXInzJINoif6pYvUgqdV0MtBtNyxViY7wEnW0I7NKfbdcLCrEwg8h747FdBJ/MhHwGGXacqsZD1MpZ4AiWmua3ASTcUJp1OpICVC9u90QJk2ai4ZM9yclIQk/SVA8oPPlKPmu96ScjwyGn/B3Cpm8xV2pIJJrL/kWowKz4xvMyfDr8QhDk5L34n3jxmMcguf1DnlnifysFK0dYF2JbSvBdBXcKRomdM2FV48oqVX+xv7TKn5zNTTUjPnDK0cgH9mx/w9Dn3LoHuvRpes5oAv6hy0vodMDT780kGW2uI+AusTPUHqgvRCLViokgYoVno7iW4dot7hNIM+UZLqMsXDAX4o9WG2wiQSnnQBasWFnE4Xh+7MJOh0R5n6Rvl5E2xjTvPnAMIu+agHzERBooEqntGnxM79XjZjwLreTujfheBvzGwLcoKnEM1pEJ0ap7cvZEypQYGwEbN6ogGCLSm1BIQZSbNXhGywuVoZHaVzbQakoP9KQr5QdifmawM0okEuVgEsLlLpLKU/uXNSiCNDV7SgaW+QZwdqdCM2Y3Mi65ppEqV2vx3UTivpnNONg+PfAhspPxlUujk9Ok96eofMYjPU8eVI54Qs+8KCWmmj8yiNCwXFkKGGe0CElPw+nR7GStjNv0rPbC5S6nHD30+g4DcPnYnd15ms+Sk+gq3G3wqVDwisyIR7ctg1aJI1btAOxz9lyLSHYK+eHM8hpd23AK8TTOOMAySnnMlYM2xggLZUX5on2a/dovTzER/WZo43nEh83wIvPni+djJ7btpPmTxI3rQ6QG/J0B+d5Elayn06B+4q591N5v07AsfhVGVLaMwNbTwxp04OH4+iQbuzWQH3vkpUKJrMWdMevYKJIuX5VvoU+p6PU+se0ZF6wml7xHoNjomOPjiBoMJcRtT6PuJr5i8V4OQCJkbIAGf5Fv8zYqGLZOQvyeQ3ALzKcc43zj+UCLmThO5CKgyX45QP8UWN3Dejg+zG0e8qg+lY17t07sGJXHWmiFhAaLtjGp/Me2oH9leZuvsshUNvHPq4FpCkl3B9i9AvBzYoo1gp4xkcuO4deaQD5mL00EmXYevqL+dCVYu8I5I9+phT3+KIBLOU4kBaS+9UVLWZvAS0qCU5/uvUc+Jw3rLTG3zPjlzmBiArARVGcD6GxJb5V6qZv9AOvH8J9xf8Ciuu6R2XRM03EH2BJs83eqJOMc8KXHi6/yp/qS4otamOk32DlqnAzvJ7CaKqFcfs0RuVCOYGPcEKsJalcqUcHqE4pK+pltNIRRCs453nanA6ppbdOjPAy3By2PMfF/BKyAi0cliEBs3kg+Afrd62mVTkBuBVKqZWki788s0HPAF4On6nALDScs4sPYz8vBNHTNzUZ07knDAPk+RzgG/qgJiXLwid4LiRtuVE5TThS3eqdoF20gPN3Tsy3+gSZFFeq3ArzvrlcOBsdCqkFzotbM4kuAYnb0L6FejmN5wKSK3CP/1BnVCSjeQ/T3SG3fATB44TmNMmV8L5tU7W3MNcTI4hDELDsuusRbrjHcXUr8h4OSzp7BzzakTjuwCyqnSccoUzoynhPJ3Bzgz7OEv7bZrME6DTS2cW0ZbZ4cTNaSlmhXRwNLxCKDecO2vxfR6EJRvPanycU8+08Rt9fa/MV9TYt6ZsmOsuC2+/RM9B+gEu6T1scM7rBMWxfDlfog1UO7o8/oroweGh639xBPx2FhacKPYRIW2OUNl01Tr1qkUghRdU3iDCHk4mT190Cns4Ag+d6kuDOMBJvm6LjZK1tJDUyKpZfhmRd61oKlC6VI+hV06p5gTSnR3N7eUc2Sa5mnbbrhmW4kCzw8Bvcgg42qgN22nBAe1tt9i7JqiL+B1+QQEj1CwNTE/Hrx2O9m5yqvpCRGIl5eN8m8LmmBzvKaC5P+sOaMC+ncrDgiOPDPmpz/ktGtE75FftONFGcrpdmqXKzLn6QQj3S75Gh99v5tXHJuecvUlvVMC6yyB0Za6ZSDvBRvl7lsnzPQ+UfzaHCkn50gwy7M6YyZI55Lc77cUe3zM4a6kc//fTgvh/dDU1f690WiQAAAAASUVORK5CYII=");
}

html {
  font-size: clamp(0.72px, 0.069444vw, 1.30px); /* 100vw / 1440 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis-weight: none;
  scroll-behavior: smooth;
  background: var(--bg);
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  padding: var(--pad-t) var(--pad-x) var(--pad-b);
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-weight: 400;
  overflow-x: clip;
}
[hidden] { display: none !important; }
.hidden { display: none !important; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
a { color: inherit; }
img, svg { display: block; }
button { font: inherit; color: inherit; }

/* ─── buttons ────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8rem;
  height: 32rem; min-width: 115rem; padding: 0 16rem;
  border-radius: 0; border: 0; background: transparent;
  font-family: var(--sans); font-size: max(10.5px, 14rem); letter-spacing: -0.015em; line-height: 1;
  color: var(--ink); text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, opacity .18s ease;
}
.btn-solid { background: var(--ink-solid); color: var(--on-dark); }
.btn-solid:hover { background: #2c2c27; }
.btn-ghost { border: var(--hairline) solid var(--hair); }
.btn-ghost:hover { background: rgba(26, 26, 23, .045); }
.btn-icon { min-width: 32rem; width: 32rem; padding: 0; }
.btn-icon svg { width: 16rem; height: 16rem; min-width: 11px; min-height: 11px; }
.btn:disabled { opacity: .5; cursor: default; }

/* crop-mark corners: one charcoal box, kept only where two band masks meet */
.crop { position: relative; }
.crop::before {
  content: ""; position: absolute; inset: calc(-1 * var(--hairline));
  border: var(--hairline) solid var(--rule); pointer-events: none;
  -webkit-mask-image:
    linear-gradient(180deg, #000 0 var(--bracket), transparent var(--bracket) calc(100% - var(--bracket)), #000 calc(100% - var(--bracket)) 100%),
    linear-gradient(90deg, #000 0 var(--bracket), transparent var(--bracket) calc(100% - var(--bracket)), #000 calc(100% - var(--bracket)) 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(180deg, #000 0 var(--bracket), transparent var(--bracket) calc(100% - var(--bracket)), #000 calc(100% - var(--bracket)) 100%),
    linear-gradient(90deg, #000 0 var(--bracket), transparent var(--bracket) calc(100% - var(--bracket)), #000 calc(100% - var(--bracket)) 100%);
  mask-composite: intersect;
}
.cta { height: 32rem; min-width: 133rem; padding: 0 18rem; font-size: max(11px, 15rem); letter-spacing: -0.040em; }

/* the wallet button follows the account and the chain */
.wallet-dot { width: 6rem; height: 6rem; min-width: 4px; min-height: 4px; background: var(--hair); }
.wallet-btn.is-on .wallet-dot { background: var(--ink); }
.wallet-btn.is-off .wallet-dot { background: var(--signal); }
.wallet-btn .wallet-label { font-variant-numeric: tabular-nums; }

/* ─── the frame ──────────────────────────────────────────────────────────── */
.frame {
  display: flex; flex-direction: column;
  height: calc(100dvh - var(--pad-t) - var(--pad-b));
  min-height: min-content;
  overflow: hidden;
  background-color: var(--panel);
  background-image: var(--grain);
  border-top: var(--hairline) solid var(--rule);
  border-bottom: var(--hairline) solid var(--rule);
}

/* header */
.header {
  position: relative; height: var(--hdr-h); flex: 0 0 auto;
  display: flex; align-items: center; gap: 20rem; padding: 0 16rem;
  border-left: var(--hairline) solid var(--rule);
  border-right: var(--hairline) solid var(--rule);
  border-bottom: var(--hairline) solid var(--rule);
  z-index: 5;
}
.brand { display: inline-flex; align-items: center; gap: 10rem; text-decoration: none; color: var(--ink); }
.brand img { width: 34rem; height: 34rem; min-width: 24px; min-height: 24px; }
.brand-name { font-size: max(13px, 17rem); letter-spacing: -0.02em; }
.nav {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  display: flex; gap: 24rem; white-space: nowrap;
}
.nav a {
  display: inline-flex; align-items: center; gap: 5rem;
  font-size: max(11px, 14rem); letter-spacing: -0.015em; color: var(--nav); text-decoration: none;
  transition: opacity .18s ease;
}
.nav a:hover { opacity: .55; }
.nav a svg { width: 9rem; height: 6rem; min-width: 7px; min-height: 5px; color: var(--chev); }
.actions { margin-left: auto; display: flex; align-items: center; gap: 6rem; }

/* burger and drawer, only under 1040px */
.burger {
  display: none; position: relative; width: 34rem; height: 34rem; padding: 0;
  border: 0; background: transparent; cursor: pointer;
}
.burger span, .burger::before, .burger::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 1px;
  background: var(--ink); transform: translate(-50%, -50%);
  transition: transform .24s var(--soft), opacity .18s ease;
}
.burger::before { transform: translate(-50%, calc(-50% - 5rem)); }
.burger::after { transform: translate(-50%, calc(-50% + 5rem)); }
.burger[aria-expanded="true"] span { opacity: 0; }
.burger[aria-expanded="true"]::before { transform: translate(-50%, -50%) rotate(45deg); }
.burger[aria-expanded="true"]::after { transform: translate(-50%, -50%) rotate(-45deg); }
.drawer {
  display: none; position: absolute; left: calc(-1 * var(--hairline)); right: calc(-1 * var(--hairline)); top: 100%;
  background: var(--panel);
  border-left: var(--hairline) solid var(--rule);
  border-right: var(--hairline) solid var(--rule);
  border-bottom: var(--hairline) solid var(--rule);
  padding: 8px 16px 16px;
}
.drawer.is-open { display: block; }
.drawer a { display: block; padding: 12px 0; font-size: 16px; color: var(--nav); text-decoration: none; border-bottom: var(--hairline) solid var(--hair); }
.drawer-cta { display: none; margin-top: 14px; }

/* hatch */
.hatch {
  height: var(--hatch-h); flex: 0 0 auto;
  border-bottom: var(--hairline) solid var(--rule);
  background:
    repeating-linear-gradient(-45deg, var(--rule) 0 1.25rem, transparent 1.25rem 6.25rem),
    var(--panel);
}

/* ─── hero ───────────────────────────────────────────────────────────────── */
.hero {
  position: relative; flex: 1 0 auto; min-height: 0;
  display: flex; flex-direction: column; align-items: center;
  border-left: var(--hairline) solid var(--rule);
  border-right: var(--hairline) solid var(--rule);
  border-bottom: var(--hairline) solid var(--rule);
  isolation: isolate;
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .85;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19'%3E%3Cpath d='M9.5 6.5v6M6.5 9.5h6' stroke='%23d6d0c3' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 19rem 19rem;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, transparent 46%, rgba(0,0,0,.32) 60%, rgba(0,0,0,.78) 74%, #000 86%, #000 100%);
  mask-image: linear-gradient(180deg, transparent 0%, transparent 46%, rgba(0,0,0,.32) 60%, rgba(0,0,0,.78) 74%, #000 86%, #000 100%);
}
.hero > * { position: relative; z-index: 1; }
.lead { flex: 14.8 0 0; min-height: 40rem; width: 100%; }
.gutter { flex: 10.8 0 0; min-height: 26rem; width: 100%; }
.copy { flex: 0 0 auto; padding: 0 26rem; text-align: center; display: flex; flex-direction: column; align-items: center; }
.stage {
  flex: 74.4 0 auto; min-height: 0; width: 100%; overflow: hidden;
  display: flex; align-items: flex-end; justify-content: center;
}

.eyebrow {
  display: inline-flex; align-items: center; gap: 10rem; margin: 0 0 14rem;
  font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .08em; color: var(--body);
}
.eyebrow .chip {
  display: inline-flex; align-items: center; height: 20rem; padding: 0 8rem;
  border: var(--hairline) solid var(--hair); color: var(--ink);
}
.h1 { margin: 0; font-weight: 400; font-size: 58rem; line-height: 1.04; letter-spacing: -0.032em; color: var(--ink); }
.ln { display: block; overflow: hidden; padding: 0 .14em .2em; margin: 0 -.14em -.2em; }
.ln-i { display: block; will-change: transform; }
.ln.dim { color: var(--muted); }
.tagline { margin: 16rem 0 0; font-size: max(14px, 19rem); letter-spacing: -0.02em; line-height: 1.3; color: var(--ink); }
.tagline em { font-style: italic; }
.sub {
  margin: 10rem 0 0; max-width: 46em; font-size: max(13px, 14.5rem); letter-spacing: -0.018em; line-height: 1.3;
  color: var(--body);
}
.sub code { font-family: var(--mono); font-size: .92em; color: var(--ink); }
.ctas { display: flex; gap: 6rem; margin-top: 16rem; }

/* ─── the window: book, tape, metronome ──────────────────────────────────── */
.win {
  width: 68.2%; aspect-ratio: 942 / 439.4;
  container-type: inline-size;
  --e: calc(100cqw / 942);
  --px: max(0.5px, var(--e));
  display: flex; flex-direction: column;
  background-color: var(--win);
  background-image: var(--grain);
  border: var(--px) solid var(--rule); border-bottom: 0;
  border-radius: 5rem 5rem 0 0;
  overflow: hidden;
  box-shadow: inset 0 0 0 calc(4 * var(--e)) var(--win), inset 0 0 0 calc(5 * var(--e)) var(--rule-faint), 0 2rem 10rem rgba(30, 28, 22, .06), 0 22rem 60rem rgba(30, 28, 22, .12);
  font-family: var(--mono); font-weight: 400;
  color: #454545;
}
.win-chrome {
  flex: 0 0 auto; height: calc(48.6 * var(--e));
  display: flex; align-items: center; gap: calc(7.1 * var(--e));
  padding-left: calc(24.8 * var(--e)); padding-right: calc(24.8 * var(--e));
  border-bottom: var(--px) solid var(--rule-soft);
}
.dot { box-sizing: border-box; width: calc(14 * var(--e)); height: calc(14 * var(--e)); border-radius: 50%; flex: 0 0 auto; border: var(--px) solid var(--rule); background: transparent; }
.dot-r { background: var(--rule); }
.dot-y { background: transparent; }
.dot-g { background: transparent; }
.win-note {
  flex: 1 1 auto; min-width: 0; margin: 0 0 0 calc(16 * var(--e));
  font-size: max(11px, calc(9.9 * var(--e))); letter-spacing: calc(.22 * var(--e)); color: #6b6b66;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center;
}
.win-note.is-fresh { animation: note-in .32s var(--soft); }
@keyframes note-in { from { opacity: .2; transform: translateY(calc(2 * var(--e))); } to { opacity: 1; transform: none; } }
.blocks { display: flex; gap: calc(3 * var(--e)); flex: 0 0 auto; }
.blocks i { display: block; width: calc(9 * var(--e)); height: calc(5 * var(--e)); background: #d9d6ce; transition: background-color .16s ease; }
.blocks i.on { background: #26261f; }

.win-head { flex: 0 0 auto; height: calc(41.8 * var(--e)); display: flex; border-bottom: var(--px) solid var(--rule-soft); }
.win-head-l {
  width: calc(212.7 * var(--e)); flex: 0 0 auto;
  padding: calc(5.5 * var(--e)) 0 0 calc(23 * var(--e));
  border-right: var(--px) solid var(--rule-faint);
}
.win-eyebrow { font-size: max(11px, calc(9.9 * var(--e))); line-height: calc(15.6 * var(--e)); color: #a6a6a6; letter-spacing: calc(.30 * var(--e)); white-space: nowrap; }
.win-title { font-size: max(12px, calc(11.2 * var(--e))); line-height: calc(15.6 * var(--e)); color: #343434; letter-spacing: calc(-.47 * var(--e)); white-space: nowrap; }
.win-head-c { flex: 1 1 auto; min-width: 0; display: flex; align-items: flex-end; padding: 0 0 calc(3.85 * var(--e)) calc(52.8 * var(--e)); }
.win-tab { font-size: max(11px, calc(9.9 * var(--e))); color: #ababab; letter-spacing: calc(.25 * var(--e)); white-space: nowrap; }
.win-head-r {
  width: calc(280 * var(--e)); flex: 0 0 auto;
  display: flex; align-items: flex-end; justify-content: space-between;
  padding: 0 calc(16 * var(--e)) calc(3.85 * var(--e)) calc(16 * var(--e));
  border-left: var(--px) solid var(--rule-faint);
}
.win-body { flex: 1 1 auto; min-height: 0; display: flex; position: relative; }

/* the book */
.book { width: calc(212.7 * var(--e)); flex: 0 0 auto; background: var(--book); display: flex; flex-direction: column; min-height: 0; }
.book-rows { flex: 1 1 auto; min-height: 0; overflow: hidden; padding-top: calc(4 * var(--e)); }
.row {
  height: calc(17.89 * var(--e)); display: flex; align-items: center; gap: calc(6 * var(--e));
  padding-left: calc(33.9 * var(--e)); padding-right: calc(10 * var(--e));
  font-size: max(11px, calc(9.93 * var(--e))); letter-spacing: calc(.19 * var(--e)); color: #454545; white-space: nowrap;
}
.row.l2 { padding-left: calc(57.8 * var(--e)); }
.row.l3 { padding-left: calc(90 * var(--e)); }
.row svg { width: calc(9 * var(--e)); height: calc(9 * var(--e)); flex: 0 0 auto; stroke: #9a9a9a; stroke-width: 1.85; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.row .chev { stroke: #979797; width: calc(7 * var(--e)); height: calc(5 * var(--e)); }
.row .amt { font-variant-numeric: tabular-nums; min-width: calc(40 * var(--e)); }
.row .who { color: #9a9a95; overflow: hidden; text-overflow: ellipsis; }
.row.head { color: #6b6b66; }
.row.mine { color: #1a1a17; cursor: pointer; }
.row.mine .who { color: #1a1a17; }
.row.mine:hover .amt { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.row.is-new { animation: row-in .34s var(--expo); }
@keyframes row-in { from { opacity: 0; transform: translateX(calc(-6 * var(--e))); } to { opacity: 1; transform: none; } }
.row.is-out { animation: row-out .22s ease forwards; }
@keyframes row-out { to { opacity: 0; transform: translateX(calc(8 * var(--e))); } }
.row.empty { color: #a6a6a6; }
.book-more { color: #a6a6a6; }

.book-ctl {
  flex: 0 0 auto; display: flex; flex-direction: column; gap: calc(7 * var(--e));
  padding: calc(9 * var(--e)) calc(14 * var(--e)) calc(10 * var(--e)) calc(23 * var(--e));
  border-top: var(--px) solid var(--rule-faint); background: var(--book);
}
.amts { display: flex; gap: calc(4 * var(--e)); align-items: center; }
.amts .lbl { font-size: max(10.5px, calc(8.8 * var(--e))); color: #a6a6a6; letter-spacing: calc(.3 * var(--e)); margin-right: calc(4 * var(--e)); }
.amt-btn {
  height: calc(20 * var(--e)); min-width: calc(34 * var(--e)); padding: 0 calc(6 * var(--e));
  border: var(--px) solid #c9c6bd; background: transparent; cursor: pointer;
  font-family: var(--mono); font-size: max(11px, calc(9.5 * var(--e))); color: #454545; letter-spacing: calc(.2 * var(--e));
  transition: background-color .14s ease, color .14s ease;
}
.amt-btn:hover { background: rgba(26, 26, 23, .045); }
.amt-btn[aria-pressed="true"] { background: var(--ink-solid); color: var(--on-dark); border-color: var(--ink-solid); }
.book-btns { display: flex; gap: calc(8 * var(--e)); }
.bk-btn {
  flex: 1 1 0; height: calc(26 * var(--e)); min-width: 0;
  border: var(--px) solid #bdb9ae; background: transparent; cursor: pointer;
  font-family: var(--mono); font-size: max(11px, calc(10 * var(--e))); letter-spacing: calc(1 * var(--e)); text-transform: uppercase; color: #1a1a17;
  transition: background-color .14s ease, transform .14s var(--expo);
  --bracket: calc(5 * var(--e)); --hairline: var(--px);
}
.bk-btn:hover { background: rgba(26, 26, 23, .045); }
.bk-btn:active { transform: translateY(calc(1 * var(--e))); }
.bk-btn.is-hit { animation: hit .26s var(--expo); }
@keyframes hit { 0% { transform: scale(1); } 40% { transform: scale(.96); } 100% { transform: scale(1); } }
.bk-btn.buy { color: #1a1a17; }
.bk-btn.sell { color: #4e4e47; }
.book-fine { margin: 0; font-size: max(10.5px, calc(8.6 * var(--e))); line-height: 1.35; color: #9a9a95; letter-spacing: calc(.1 * var(--e)); white-space: normal; }

/* the tape and its tick numbers */
.tape-wrap { flex: 1 1 auto; min-width: 0; display: flex; }
.nums {
  width: calc(29.8 * var(--e)); flex: 0 0 auto; background-color: var(--nums); overflow: hidden;
  font-size: max(10.5px, calc(9 * var(--e))); line-height: calc(16.885 * var(--e)); color: #8e8e8e; text-align: center;
  padding-top: calc(6 * var(--e)); font-variant-numeric: tabular-nums;
}
.tape {
  flex: 1 1 auto; min-width: 0; overflow: hidden; position: relative;
  padding: calc(6 * var(--e)) 0 0 calc(32.1 * var(--e));
  font-size: max(11px, calc(9.93 * var(--e))); line-height: calc(16.885 * var(--e)); letter-spacing: calc(.19 * var(--e)); color: #454545;
  white-space: pre; tab-size: 2; font-variant-numeric: tabular-nums;
}
.tape, .nums {
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc(16.885 * var(--e) - 1px), rgba(38, 38, 31, .09) calc(16.885 * var(--e) - 1px), rgba(38, 38, 31, .09) calc(16.885 * var(--e)));
  background-origin: content-box; background-clip: content-box;
}
.nums-in, .tape-in { display: block; }
.nums-in.advance, .tape-in.advance { animation: advance .26s var(--expo); }
@keyframes advance { from { transform: translateY(calc(16.885 * var(--e))); } to { transform: none; } }
.tl { display: block; height: calc(16.885 * var(--e)); }
.tl:empty::after { content: "\200B"; }
.tl .px { color: #1a1a17; }
.tl .bn { color: var(--signal); }
.tl .pl { color: #565656; }
.tl.live { color: #a6a6a6; }
.tl.live .px { color: #a6a6a6; }
.tl.is-print { animation: print .42s var(--expo); }
@keyframes print { 0% { opacity: 0; transform: translateX(calc(-4 * var(--e))); } 100% { opacity: 1; transform: none; } }
.cursor { display: inline-block; width: calc(5.5 * var(--e)); height: calc(11 * var(--e)); background: var(--signal); vertical-align: -1px; animation: blink 1.1s steps(2, start) infinite; }
@keyframes blink { to { visibility: hidden; } }

/* the arrow that carries the imbalance to the pool */
.pool-arrow {
  position: absolute; left: calc(212.7 * var(--e)); top: 50%; z-index: 3;
  padding: calc(3 * var(--e)) calc(8 * var(--e));
  background: var(--win); border: var(--px) solid #26261f;
  font-size: max(11px, calc(9.9 * var(--e))); letter-spacing: calc(.3 * var(--e)); color: #1a1a17; white-space: nowrap;
  pointer-events: none; opacity: 0;
}

/* the metronome */
.metro { width: calc(280 * var(--e)); flex: 0 0 auto; border-left: var(--px) solid var(--rule-faint); position: relative; background: var(--win); }
.metro svg { width: 100%; height: 100%; }
.metro text { font-family: var(--mono); }
.rod { transform-box: view-box; transform-origin: 150px 300px; will-change: transform; }
.blocks-svg rect { transition: fill .16s ease; }
.burn-mark.flash { animation: flash .9s steps(1, end); }
@keyframes flash { 0%, 20%, 40%, 60% { opacity: 1; } 10%, 30%, 50% { opacity: 0; } }
.burn-label { opacity: 0; }
.burn-label.show { animation: burn-up 1.3s var(--soft); }
@keyframes burn-up { 0% { opacity: 0; transform: translateY(6px); } 15% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; transform: translateY(-14px); } }
.weight.dip { animation: dip .5s var(--expo); }
@keyframes dip { 0% { transform: translateY(0); } 35% { transform: translateY(5px); } 100% { transform: translateY(0); } }

/* ─── the strip: the counters ────────────────────────────────────────────── */
.strip {
  flex: 0 0 auto; height: var(--strip-h);
  display: grid; grid-template-columns: repeat(5, 1fr);
  border-left: var(--hairline) solid var(--rule);
  border-right: var(--hairline) solid var(--rule);
}
.cell {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4rem;
  padding: 0 16rem; max-height: 100%; min-width: 0;
}
.cell + .cell { border-left: var(--hairline) solid var(--rule); }
.cell .k { font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.cell .v { font-size: max(18px, 24rem); font-weight: 400; letter-spacing: -0.02em; line-height: 1; color: var(--ink); font-variant-numeric: tabular-nums; }
.cell .v.burn { color: var(--signal); }
.cell .u { font-family: var(--mono); font-size: max(10.5px, 10.5rem); color: var(--chev); letter-spacing: .04em; }
.cell .v.pop { animation: pop .34s var(--expo); }
@keyframes pop { 0% { transform: scale(1); } 35% { transform: scale(1.09); } 100% { transform: scale(1); } }

/* ─── the sheets under the frame ─────────────────────────────────────────── */
.sheet, .footer, .doc {
  background-color: var(--panel);
  background-image: var(--grain);
  border-left: var(--hairline) solid var(--rule);
  border-right: var(--hairline) solid var(--rule);
  border-bottom: var(--hairline) solid var(--rule);
}
.sheet { padding: 56rem 64rem 64rem; }
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32rem; margin-bottom: 36rem; }
.sec-head .kicker { display: block; margin-bottom: 12rem; font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.sec-head h2 { margin: 0; font-weight: 400; font-size: max(24px, 34rem); letter-spacing: -0.025em; line-height: 1.1; color: var(--ink); }
.sec-head .sec-sub { margin: 0; max-width: 34em; font-size: max(12.5px, 14.5rem); line-height: 1.4; color: var(--body); text-align: right; }

.cards { display: grid; grid-template-columns: repeat(4, 1fr); border-top: var(--hairline) solid var(--rule); border-bottom: var(--hairline) solid var(--rule); }
.card { display: flex; flex-direction: column; gap: 14rem; padding: 28rem 24rem 34rem; min-height: 300rem; }
.card + .card { border-left: var(--hairline) solid var(--rule); }
.card .num { font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .1em; color: var(--muted); }
.card img { width: 60rem; height: 60rem; min-width: 44px; min-height: 44px; margin-top: 6rem; }
.card h3 { margin: 8rem 0 0; font-weight: 400; font-size: max(16px, 20rem); letter-spacing: -0.02em; line-height: 1.2; color: var(--ink); }
.card p { margin: 0; font-size: max(12.5px, 13.7rem); line-height: 1.5; color: var(--body); }
.card code { font-family: var(--mono); font-size: .92em; color: var(--ink); }

.laws { border-top: var(--hairline) solid var(--rule); }
.law { display: grid; grid-template-columns: 80rem 1fr; gap: 24rem; align-items: baseline; padding: 18rem 0; border-bottom: var(--hairline) solid var(--rule); }
.tag {
  display: inline-flex; align-items: center; justify-content: center; height: 22rem; min-width: 38rem; padding: 0 8rem;
  border: var(--hairline) solid var(--hair); font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .1em; color: var(--ink);
}
.law p { margin: 0; font-size: max(14px, 17rem); letter-spacing: -0.015em; line-height: 1.4; color: var(--ink); }
.law p code { font-family: var(--mono); font-size: .9em; }
.law-note { margin: 24rem 0 0; font-size: max(12.5px, 13.7rem); line-height: 1.5; color: var(--body); }
.law-note a { color: var(--ink); }

.reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s var(--soft), transform .7s var(--expo); }
.reveal.in { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .06s; }
.reveal.d2 { transition-delay: .12s; }
.reveal.d3 { transition-delay: .18s; }

/* ─── footer ─────────────────────────────────────────────────────────────── */
.footer { display: grid; grid-template-columns: 1.1fr .8fr 1.5fr; gap: 40rem; padding: 40rem 64rem 36rem; }
.foot-brand { display: flex; flex-direction: column; gap: 14rem; }
.foot-brand .brand img { width: 28rem; height: 28rem; }
.foot-line { margin: 0; font-style: italic; font-size: max(13px, 15rem); letter-spacing: -0.015em; color: var(--ink); }
.foot-links { display: flex; flex-direction: column; gap: 8rem; }
.foot-links a { font-family: var(--mono); font-size: max(10.5px, 11.5rem); letter-spacing: .08em; text-transform: uppercase; color: var(--body); text-decoration: none; }
.foot-links a:hover { color: var(--ink); }
.foot-legal { margin: 0; font-family: var(--mono); font-size: max(10.5px, 11rem); line-height: 1.6; color: var(--muted); }
.foot-legal code { font-family: inherit; color: var(--body); }

/* ─── docs ───────────────────────────────────────────────────────────────── */
.frame-doc { height: auto; min-height: 0; overflow: visible; }
.frame-doc .doc { border-bottom: 0; }
.doc { display: grid; grid-template-columns: 240rem 1fr; gap: 64rem; padding: 56rem 64rem 88rem; }
.toc { position: sticky; top: 24rem; align-self: start; display: flex; flex-direction: column; border-top: var(--hairline) solid var(--rule); }
.toc-h { padding: 12rem 0; font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); border-bottom: var(--hairline) solid var(--rule); }
.toc a {
  display: flex; gap: 12rem; padding: 9rem 0; border-bottom: var(--hairline) solid var(--hair);
  font-family: var(--mono); font-size: max(10.5px, 11rem); letter-spacing: .02em; color: var(--body); text-decoration: none;
  transition: color .16s ease;
}
.toc a .n { width: 22rem; flex: 0 0 auto; color: var(--muted); }
.toc a:hover { color: var(--ink); }
.toc a.active { color: var(--ink); }
.toc a.active .n { color: var(--signal); }
.doc article { max-width: 680rem; min-width: 0; }
.doc h1 { margin: 0; font-weight: 400; font-size: max(30px, 48rem); line-height: 1.1; letter-spacing: -0.030em; color: var(--ink); }
.doc .lead { margin: 18rem 0 0; max-width: 40em; font-size: max(14.5px, 17rem); line-height: 1.5; letter-spacing: -0.01em; color: var(--body); }
.doc .note { margin: 24rem 0 0; padding: 12rem 16rem; border: var(--hairline) solid var(--hair); font-family: var(--mono); font-size: max(10.5px, 11rem); line-height: 1.55; color: var(--body); }
.doc section { margin-top: 48rem; padding-top: 40rem; border-top: var(--hairline) solid var(--rule); }
.doc h2 { display: flex; align-items: baseline; gap: 16rem; margin: 0 0 16rem; font-weight: 400; font-size: max(20px, 26rem); letter-spacing: -0.02em; line-height: 1.15; color: var(--ink); }
.doc h2 .n { font-family: var(--mono); font-size: max(10.5px, 12rem); letter-spacing: .08em; color: var(--muted); }
.doc p { margin: 0 0 14rem; font-size: max(13.5px, 15rem); line-height: 1.6; color: var(--body); }
.doc p:last-child { margin-bottom: 0; }
.doc b { font-weight: 500; color: var(--ink); }
.doc code { font-family: var(--mono); font-size: .9em; color: var(--ink); overflow-wrap: anywhere; }
.doc a { color: var(--ink); }
.doc .laws .law { grid-template-columns: 64rem 1fr; padding: 14rem 0; }
.doc .laws .law p { font-size: max(13.5px, 15.5rem); line-height: 1.5; }
.doc .params { width: 100%; border-collapse: collapse; border-top: var(--hairline) solid var(--rule); }
.doc .params th, .doc .params td { padding: 10rem 12rem 10rem 0; border-bottom: var(--hairline) solid var(--hair); text-align: left; vertical-align: top; }
.doc .params th { font-family: var(--mono); font-size: max(10.5px, 11rem); font-weight: 400; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.doc .params td { font-size: max(13px, 14.5rem); line-height: 1.45; color: var(--body); }
.doc .params td:first-child { color: var(--ink); }
.doc .params td:last-child { font-family: var(--mono); font-size: max(11px, 12rem); color: var(--ink); white-space: nowrap; }
.table-wrap { overflow-x: auto; }
.faq details { border-bottom: var(--hairline) solid var(--hair); }
.faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 16rem; padding: 14rem 0; cursor: pointer; list-style: none;
  font-size: max(14px, 16rem); letter-spacing: -0.01em; color: var(--ink);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--mono); font-size: max(13px, 15rem); color: var(--muted); transition: transform .22s var(--soft); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 16rem; max-width: 56em; }

/* ─── entrance: pre-state under .js-anim only ─────────────────────────────── */
.js-anim .brand, .js-anim .nav a, .js-anim .actions > *,
.js-anim .eyebrow, .js-anim .tagline, .js-anim .sub, .js-anim .ctas, .js-anim .win,
.js-anim .doc .lead, .js-anim .doc .note, .js-anim .toc { opacity: 0; }
.js-anim .ln-i { transform: translateY(130%); }
.js-anim .win .dot, .js-anim .win .win-eyebrow, .js-anim .win .win-title, .js-anim .win .win-tab,
.js-anim .win .row, .js-anim .win .nums-in, .js-anim .win .tl, .js-anim .win .book-ctl, .js-anim .win .metro svg { opacity: 0; }

/* ─── breakpoints ────────────────────────────────────────────────────────── */
@media (max-width: 1040px) {
  :root { --pad-x: 22px; --pad-t: 20px; --pad-b: 19px; --hdr-h: 60px; --hatch-h: clamp(22px, 4vw, 26px); --strip-h: 84px; --lift: 9px; --rise: 18px; }
  .nav { display: none; }
  .burger { display: block; width: 42px; height: 42px; }
  .btn { height: 42px; min-width: 0; padding: 0 16px; font-size: 13px; }
  .btn-icon { width: 42px; }
  .cta { height: 48px; min-width: 140px; font-size: 14px; }
  .header { padding: 0 12px; gap: 12px; }
  .brand img { width: 30px; height: 30px; }
  .brand-name { font-size: 16px; }
  .h1 { font-size: clamp(34px, calc(22px + 2.5vw), 48px); }
  .tagline { font-size: 15px; margin-top: 12px; }
  .sub { font-size: clamp(14px, 1.45vw, 16px); line-height: 1.42; max-width: min(44em, 84%); margin-top: 8px; }
  .eyebrow { font-size: 10.5px; margin-bottom: 12px; }
  .eyebrow .chip { height: 20px; padding: 0 8px; }
  .ctas { gap: 8px; margin-top: 16px; }
  .win { width: 80%; border-radius: 7px 7px 0 0; }
  .sheet { padding: 44px 28px 48px; }
  .sec-head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
  .sec-head .sec-sub { text-align: left; }
  .cards { grid-template-columns: 1fr 1fr; }
  .card { min-height: 0; padding: 22px 20px 26px; }
  .card:nth-child(2n+1) { border-left: 0; }
  .card:nth-child(n+3) { border-top: var(--hairline) solid var(--rule); }
  .law { grid-template-columns: 58px 1fr; gap: 14px; padding: 14px 0; }
  .tag { height: 22px; min-width: 38px; padding: 0 8px; font-size: 10.5px; }
  .footer { grid-template-columns: 1fr 1fr; gap: 28px; padding: 32px 28px; }
  .foot-legal { grid-column: 1 / -1; }
  .doc { grid-template-columns: 1fr; gap: 28px; padding: 40px 28px 64px; }
  .toc { position: static; flex-direction: row; flex-wrap: wrap; gap: 0 18px; border-top: 0; border-bottom: var(--hairline) solid var(--rule); padding-bottom: 8px; }
  .toc-h { width: 100%; border-bottom: 0; padding: 0 0 8px; }
  .toc a { border-bottom: 0; padding: 6px 0; font-size: 11px; gap: 6px; }
  .toc a .n { width: auto; }
  .doc section { margin-top: 36px; padding-top: 30px; }
}
@media (max-aspect-ratio: 4/5) {
  .lead { flex-grow: 36; }
  .gutter { flex-grow: 12; }
}
@media (min-width: 621px) and (max-aspect-ratio: 4/5) {
  .win { width: 88%; }
}
@media (max-width: 780px) {
  :root { --strip-h: auto; }
  .strip { grid-template-columns: 1fr 1fr; height: auto; min-height: 112px; }
  .cell { padding: 14px 12px; }
  .cell + .cell { border-left: 0; }
  .cell:nth-child(2n) { border-left: var(--hairline) solid var(--rule); }
  .cell:nth-child(n+3) { border-top: var(--hairline) solid var(--rule); }
  .cell:nth-child(5) { grid-column: 1 / -1; }
  .cards { grid-template-columns: 1fr; }
  .card { border-left: 0; }
  .card:nth-child(n+2) { border-top: var(--hairline) solid var(--rule); }
  .footer { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 620px) {
  :root { --ed-detail: 0; }
  .stage { padding: 0 14px; align-items: stretch; }
  .win { width: 100%; aspect-ratio: auto; align-self: stretch; --e: 1.15px; --px: 1px; }
  .win-chrome { height: 44px; padding-left: 14px; padding-right: 14px; }
  .win-chrome { height: auto; min-height: 44px; padding-top: 10px; padding-bottom: 10px; align-items: flex-start; }
  .win-note { font-size: 12px; white-space: normal; line-height: 1.35; text-align: left; margin-left: 10px; }
  .blocks { display: none; }
  .win-head { height: auto; flex-wrap: wrap; }
  .win-head-l { width: 100%; padding: 8px 14px; border-right: 0; border-bottom: 1px solid var(--rule-faint); }
  .win-head-c { display: none; }
  .win-head-r { display: none; }
  .win-body { flex-direction: column; }
  .metro { order: -1; width: 100%; height: 250px; border-left: 0; border-bottom: 1px solid var(--rule-faint); }
  .book { width: 100%; }
  .book-rows { max-height: 214px; }
  .row { padding-left: 14px; }
  .row.l2 { padding-left: 32px; }
  .book-ctl { padding: 10px 14px 12px; }
  .book-btns { gap: 10px; }
  .bk-btn { height: 40px; font-size: 12px; }
  .amt-btn { height: 28px; min-width: 44px; font-size: 11.5px; }
  .tape-wrap { display: flex; height: 176px; border-top: 1px solid var(--rule-faint); }
  .nums { width: 34px; font-size: 11px; }
  .tape { padding-left: 8px; letter-spacing: 0; font-size: 11px; }
  .pool-arrow { display: none; }
}
@media (max-width: 470px) {
  :root { --pad-x: clamp(10px, 4vw, 22px); --pad-t: clamp(10px, 3vw, 20px); --pad-b: clamp(10px, 3vw, 19px); --hdr-h: 56px; --strip-h: auto; --lift: 7px; --rise: 14px; }
  body { padding-left: max(var(--pad-x), env(safe-area-inset-left)); padding-right: max(var(--pad-x), env(safe-area-inset-right)); padding-bottom: max(var(--pad-b), env(safe-area-inset-bottom)); }
  .h1 { font-size: clamp(20px, calc(8.33vw - 5.16px), 34px); }
  .sub { font-size: 14px; }
  .tagline { font-size: 14px; }
  .ctas { flex-direction: row; }
  .cta { min-width: 0; flex: 1 1 0; padding: 0 12px; }
  .copy { padding: 0 14px; }
  .sheet { padding: 36px 18px 40px; }
  .footer { padding: 28px 18px; }
  .doc { padding: 32px 18px 56px; }
  .law { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 360px) {
  .actions .wallet-btn { display: none; }
  .drawer-cta { display: inline-flex; }
}
@media (max-height: 940px) and (min-width: 1041px) {
  .h1 { font-size: 44rem; }
  .lead { min-height: 24rem; }
  .gutter { min-height: 18rem; }
  .win { aspect-ratio: 942 / 400; }
}

/* ─── less motion ────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
  .cursor { animation: none; }
}
