/* ============================================================
   STRAAT — the public site's shared layer: fonts, the critical base, the navbar, the menu, the
   forms, the market clocks and the document pages. Original implementation by Anthony Meijer
   (anthonymeijer.dev, assets/styles.css); copied for Straat 2026-09-17.
   Values come from STRAAT (forge3/design): the --st-* tokens are the generated straat:tokens
   region below, written by `node forge3/design/tools/build.mjs`; rules: forge3/design/DESIGN.md.
   The critical block keeps its own older names (--accent, --accent-light, --watch) byte for byte,
   because the sealed demo inlines it; later rules here override what it gets wrong.
   ============================================================ */

/* critical:start — mirrored into every page's <head> by `node site/tools/critical.js`.
   Anything in here must survive styles.css never arriving. Keep it small. */
/* ---------- fonts ---------- */
@font-face{font-family:'Switzer';src:url('fonts/switzer-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('fonts/switzer-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('fonts/switzer-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('fonts/instrument-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('fonts/instrument-serif-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --bg:#050505;
  --bg-deep:#030303;
  --white:#ffffff;
  --ink:#0a0a0a;
  --gray-1:#8f8f8f;
  --gray-2:#5e5e5e;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(0,0,0,.12);
  --surface:#ececec;
  --surface-2:#e6e6e6;
  --accent:rgb(0,153,255);            /* the electric blue on the dark ground (7:1 on #050505) */
  --accent-light:#0a6fd6;             /* the same blue where it sits on light sheets or under white text (4.6:1) */
  --accent-deep:#0a4fae;              /* gradient anchor only */
  --accent-gradient:linear-gradient(115deg,#050b18 0%,#0a2a66 26%,#0a4fae 44%,#9dd3ff 54%,#0099ff 64%,#0a2350 86%,#04070f 100%);
  --accent-gradient-static:linear-gradient(180deg,#040a18 0%,#0a4fae 45%,#0a6fd6 75%,#9dd3ff 100%);
  --watch:#d8b56b;
  --sans:'Switzer','Inter',system-ui,-apple-system,sans-serif;
  --serif:'Instrument Serif',Georgia,serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --pad:clamp(20px,4vw,48px);
  --radius:24px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:var(--bg-deep);
  color:var(--white);
  font-family:var(--sans);
  font-weight:400;
  font-size:18px;
  line-height:1.5;
  letter-spacing:-0.02em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:var(--white)}
.section-light{--accent:var(--accent-light)}
/* critical:end */

/* Sentinel. Deliberately OUTSIDE the critical block, so it exists only when
   this file actually arrived. scroll.js reads it and stands down if it is
   missing. */
:root{--styles-ok:1}

/* straat:tokens:start — generated by forge3/design/tools/build.mjs from forge3/design/tokens.json; do not edit by hand */
/* STRAAT 1.0.0 · tokens: the custom properties, both sheets
   GENERATED by forge3/design/tools/build.mjs from tokens.json. Do not edit; edit tokens.json and rebuild. */

/* fixed on every sheet: brand, type, layout, the desk register, motion */
:root {
  --st-electric: rgb(0,153,255);
  --st-blue: #0a6fd6;
  --st-blue-deep: rgb(0,60,140);
  --st-blue-pale: #9dd3ff;
  --st-paper: #f1f4f8;
  --st-hero: #05070c;
  --st-navy: #0d1a2c;
  --st-deep: #06090f;
  --st-gradient: linear-gradient(90deg,#003c8c 0%,#0a6fd6 55%,#0099ff 100%);
  --st-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
  --st-sans: 'Switzer', 'Inter', system-ui, -apple-system, sans-serif;
  --st-serif: 'Instrument Serif', Georgia, serif;
  --st-mono: ui-monospace, 'SF Mono', Menlo, Consolas, 'Roboto Mono', 'DejaVu Sans Mono', monospace;
  --st-fs-display: clamp(46px,6.4vw,104px);
  --st-fs-h2: clamp(36px,4.6vw,68px);
  --st-fs-h3: clamp(26px,2.6vw,40px);
  --st-fs-h4: clamp(22px,2vw,30px);
  --st-fs-lede: clamp(17px,1.35vw,21px);
  --st-fs-copy: clamp(16px,1.2vw,18px);
  --st-fs-label: 12px;
  --st-fs-mono: 11px;
  --st-fs-mono-sm: 10px;
  --st-fs-sm: 13px;
  --st-fs-base: 14px;
  --st-fs-lg: 16px;
  --st-fs-xl: 20px;
  --st-fs-2xl: 28px;
  --st-fs-3xl: 40px;
  --st-fs-4xl: 60px;
  --st-lh-display: .96;
  --st-lh-head: 1.04;
  --st-lh-copy: 1.5;
  --st-track-display: -0.05em;
  --st-track-head: -0.04em;
  --st-track-sub: -0.03em;
  --st-track-body: -0.015em;
  --st-track-wordmark: -0.045em;
  --st-weight-wordmark: 600;
  --st-size-die: .3em;
  --st-gap-die: .15em;
  --st-track-label: .1em;
  --st-track-mono: .05em;
  --st-pad: clamp(20px,4vw,48px);
  --st-nav-h: 64px;
  --st-max: 1400px;
  --st-measure: 56ch;
  --st-measure-head: 16ch;
  --st-desk-unit: 4px;
  --st-desk-gap: 16px;
  --st-desk-bar-h: 48px;
  --st-desk-nav-w: 232px;
  --st-desk-nav-w-rail: 48px;
  --st-desk-drawer-w: 460px;
  --st-desk-control-h: 30px;
  --st-desk-control-h-sm: 24px;
  --st-desk-row-h: 40px;
  --st-desk-row-h-compact: 28px;
  --st-desk-fs-title: 20px;
  --st-desk-fs-figure: 24px;
  --st-desk-fs-section: 14px;
  --st-desk-fs-body: 14px;
  --st-desk-fs-secondary: 13px;
  --st-desk-fs-table: 13px;
  --st-desk-fs-label: 12px;
  --st-desk-fs-caps: 10.5px;
  --st-desk-fs-mono: 11px;
  --st-desk-caps-track: .06em;
  --st-desk-measure: 72ch;
  --st-desk-dur: 150ms;
  --st-ease: cubic-bezier(.22,1,.36,1);
  --st-ease-lift: cubic-bezier(.76,0,.24,1);
  --st-dur-1: .25s;
  --st-dur-2: .35s;
  --st-dur-3: .5s;
  --st-dur-4: .8s;
}

/* paper: The default sheet: paper with the dot grid, white cards, ink type, the blue at its light-sheet value. */
:root, .st-paper {
  --st-ground: #f1f4f8;
  --st-ground-2: #e5ebf3;
  --st-card: #ffffff;
  --st-card-bar: #fafbfd;
  --st-dot: rgba(20,40,70,.14);
  --st-hover: rgba(20,40,70,.04);
  --st-sel: rgba(10,111,214,.07);
  --st-veil: rgba(241,244,248,.88);
  --st-ink: #0a0a0a;
  --st-on-ink: #ffffff;
  --st-body: #34404e;
  --st-muted: #5c6778;
  --st-placeholder: #d5dde8;
  --st-line: rgba(20,40,70,.14);
  --st-line-soft: rgba(20,40,70,.08);
  --st-line-strong: rgba(20,40,70,.28);
  --st-line-control: #7b8594;
  --st-accent: #0a6fd6;
  --st-accent-ink: #0966c8;
  --st-accent-fill: #0a6fd6;
  --st-on-accent: #ffffff;
  --st-accent-soft: rgba(10,111,214,.35);
  --st-accent-faint: rgba(10,111,214,.08);
  --st-warn: #b8792a;
  --st-warn-ink: #8a5a1c;
  --st-warn-soft: #fff8ee;
  --st-on-warn: #0a0a0a;
  --st-shadow-window: 0 30px 80px rgba(20,40,70,.14), 0 2px 0 rgba(20,40,70,.04);
  --st-shadow-overlay: 0 18px 40px rgba(20,40,70,.12);
  --st-shadow-desk: 0 12px 32px rgba(20,40,70,.08), 0 1px 0 rgba(20,40,70,.04);
  --st-line-window: rgba(20,40,70,.18);
  --st-cat-1: #2b3440;
  --st-cat-2: #56606e;
  --st-cat-3: #808a98;
  --st-cat-4: #aab2bd;
  --st-cat-5: #cfd5dd;
}

/* night: The dark sheet: the same roles, the blue lifted to the electric value. No shadows of its own beyond black. */
[data-theme="dark"], .st-night, .st-navy, .st-deep, .st-hero {
  --st-ground: #06090f;
  --st-ground-2: #0a0f18;
  --st-card: #0d1422;
  --st-card-bar: #111a2a;
  --st-dot: rgba(157,211,255,.10);
  --st-hover: rgba(255,255,255,.06);
  --st-sel: rgba(0,153,255,.12);
  --st-veil: rgba(5,7,12,.36);
  --st-ink: #ffffff;
  --st-on-ink: #0a0a0a;
  --st-body: #c9d3e0;
  --st-muted: #8d9bb2;
  --st-placeholder: rgba(157,211,255,.18);
  --st-line: rgba(255,255,255,.14);
  --st-line-soft: rgba(255,255,255,.08);
  --st-line-strong: rgba(255,255,255,.24);
  --st-line-control: rgba(255,255,255,.4);
  --st-accent: rgb(0,153,255);
  --st-accent-ink: rgb(0,153,255);
  --st-accent-fill: #0a6fd6;
  --st-on-accent: #ffffff;
  --st-accent-soft: rgba(0,153,255,.35);
  --st-accent-faint: rgba(0,153,255,.12);
  --st-warn: #e8962c;
  --st-warn-ink: #e8962c;
  --st-warn-soft: rgba(232,150,44,.12);
  --st-on-warn: #0a0a0a;
  --st-shadow-window: 0 30px 80px rgba(0,0,0,.4), 0 2px 0 rgba(0,0,0,.2);
  --st-shadow-overlay: 0 18px 40px rgba(0,0,0,.5);
  --st-shadow-desk: 0 12px 32px rgba(0,0,0,.4), 0 1px 0 rgba(0,0,0,.3);
  --st-line-window: rgba(255,255,255,.16);
  --st-cat-1: #e6ecf4;
  --st-cat-2: #b9c3d1;
  --st-cat-3: #8d9bb2;
  --st-cat-4: #62708a;
  --st-cat-5: #3e4a5e;
}

/* brand grounds: Brand grounds: night tokens, only the ground changes. Use for marketing sections, heroes and film frames. */
.st-navy { --st-ground: #0d1a2c; }
.st-deep { --st-ground: #06090f; }
.st-hero { --st-ground: #05070c; }
/* straat:tokens:end */

/* white on the electric blue is 3.0:1; selection sits on the fill (4.93) */
::selection{background:var(--st-accent-fill);color:var(--st-on-accent)}

/* ---------- type ---------- */
.doc h1 em{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  letter-spacing:-0.01em;
}

.num{font-variant-numeric:tabular-nums}

.micro{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1)}
.section-light .micro{color:var(--st-muted)}
.lead{font-size:clamp(20px,1.8vw,24px);line-height:1.45;color:#d6d6d6;max-width:62ch}
.section-light .lead{color:var(--st-body)}

/* ---------- page veil ---------- */
.page-veil{
  position:fixed;inset:0;z-index:90;
  background:var(--bg-deep);
  opacity:1;pointer-events:none;
  transition:opacity .9s var(--ease);
}
.page-veil.is-clear{opacity:0}

/* ---------- appear system ---------- */
[data-appear]{
  opacity:0;
  transform:translateY(40px);
  transition:opacity 1s var(--ease),transform 1s var(--ease);
  transition-delay:var(--appear-delay,0ms);
  will-change:opacity,transform;
}
[data-appear-from="deep"]{transform:translateY(80px)}
[data-appear-from="up"]{transform:translateY(-24px)}
[data-appear].is-inview{opacity:1;transform:none}
/* dead-man's switch: pure CSS reveal at 3s if site.js never arms the observer */
@keyframes appear-failsafe{to{opacity:1;transform:none}}
html:not(.appear-armed) [data-appear]{animation:appear-failsafe 0s linear 3s forwards}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:500;letter-spacing:-0.02em;
  padding:12px 20px;border:1px solid transparent;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
  white-space:nowrap;
}
.btn-dark{background:var(--st-ink);border-color:var(--st-ink);color:var(--st-on-ink)}
.btn-dark:hover{background:var(--st-accent-fill);border-color:var(--st-accent-fill);color:var(--st-on-accent)}

/* ---------- navbar ---------- */
.navbar{
  position:fixed;inset:0 0 auto 0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--pad);
  pointer-events:none;
}
.navbar>*{pointer-events:auto}
.section-light .navbar{padding-top:12px;padding-bottom:12px;background:var(--st-veil);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--st-line);pointer-events:auto}
.nav-logo{
  font-size:20px;font-weight:600;letter-spacing:-0.045em;
  display:inline-flex;align-items:baseline;gap:var(--st-gap-die);
}
.logo-dot{width:var(--st-size-die);height:var(--st-size-die);background:var(--accent-light);display:inline-block}  /* the block's dot: the blue, on both grounds */
.nav-menu-pill{
  --tx:-50%;
  position:absolute;left:50%;transform:translateX(var(--tx));
  display:inline-flex;align-items:center;gap:12px;
  background:rgba(18,18,18,.72);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.14);
  padding:12px 20px;
  font-size:14px;font-weight:500;white-space:nowrap;
  transition:background .35s var(--ease),transform .35s var(--ease),left .5s var(--ease);
}
.nav-menu-pill:hover{background:rgba(30,30,30,.85)}
.menu-glyph{display:grid;grid-template-columns:1fr 1fr;gap:3px;width:11px}
.menu-glyph i{width:4px;height:4px;background:var(--white);transition:transform .4s var(--ease)}
.nav-menu-pill:hover .menu-glyph i{transform:rotate(45deg)}
.pill-divider{width:1px;height:14px;background:rgba(255,255,255,.18)}
.menu-availability{color:var(--gray-1);font-size:13px}
.nav-cta{box-shadow:0 4px 24px rgba(0,0,0,.35)}
.menu-availability,.pill-divider,.nav-cta{transition:opacity .35s var(--ease),visibility 0s}
body.is-scrolled .menu-availability,
body.is-scrolled .pill-divider,
body.is-scrolled .nav-cta{opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s .35s}
body.is-scrolled .nav-menu-pill{--tx:-100%;left:calc(100% - var(--pad))}
body.menu-open .menu-availability,body.menu-open .pill-divider{opacity:0;visibility:hidden}

/* ---------- fullscreen menu: the night ground, no glass ---------- */
.menu-overlay{
  position:fixed;inset:0;z-index:40;
  background:var(--st-hero);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:48px;
  opacity:0;visibility:hidden;
  transition:opacity .5s var(--ease),visibility 0s .5s;
}
.menu-overlay.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
.menu-list{display:flex;flex-direction:column;align-items:center}
.menu-item{
  display:flex;align-items:baseline;gap:16px;
  padding:6px 0;
  opacity:0;transform:translateY(30px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
}
.menu-overlay.is-open .menu-item{opacity:1;transform:none}
.menu-overlay.is-open .menu-item:nth-child(1){transition-delay:.08s}
.menu-overlay.is-open .menu-item:nth-child(2){transition-delay:.14s}
.menu-overlay.is-open .menu-item:nth-child(3){transition-delay:.2s}
.menu-overlay.is-open .menu-item:nth-child(4){transition-delay:.26s}
.menu-overlay.is-open .menu-item:nth-child(5){transition-delay:.32s}
.menu-index{font-family:var(--st-mono);font-size:11px;letter-spacing:.05em;color:#8d9bb2}
.menu-word{
  font-size:clamp(40px,6vw,68px);font-weight:500;letter-spacing:-0.04em;line-height:1.1;
  transition:color .35s var(--ease),font-family .01s .17s;
}
.menu-item:hover .menu-word{font-family:var(--serif);font-style:italic;color:var(--accent)}
.menu-socials{display:flex;gap:28px;font-size:14px;color:#8d9bb2;
  opacity:0;transition:opacity .6s var(--ease) .4s}
.menu-overlay.is-open .menu-socials{opacity:1}
.menu-socials a:hover{color:var(--white)}
body.menu-open{overflow:hidden}

/* ---------- market clocks: square chips; the round sun is the one round dot ---------- */
.time-chip{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(5,10,20,.6);color:var(--white);
  border:1px solid rgba(255,255,255,.14);
  padding:8px 14px;
  font-size:12px;font-weight:500;
}
.time-icon{
  width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fff 0%,var(--accent) 65%);
}

/* ---------- sections shared ---------- */
.section-light{background-color:var(--st-ground);color:var(--st-ink)}

/* ---------- forms on a dark ground ---------- */
.wl-inline{margin-top:auto}
.wl-inline .wl-label{color:#8d9bb2}
.wl-inline .wl-input{background:#0d1422;color:var(--white);border-color:rgba(255,255,255,.4)}
.wl-inline .wl-input::placeholder{color:#8d9bb2}
.wl-inline .wl-status{color:#8d9bb2}
.wl-inline .wl-status.is-ok{color:rgb(0,153,255)}
.wl-inline .wl-status.is-err{color:#e8962c}

/* ---------- forms (signal · alpha): square, the control line at 3:1, focus in the accent ---------- */
.wl-form{max-width:640px}
.wl-label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--st-muted);margin-bottom:12px}
.wl-row{display:flex;gap:12px;flex-wrap:wrap}
.wl-input{
  flex:1 1 280px;min-width:0;
  font:inherit;font-size:18px;letter-spacing:-0.01em;color:var(--st-ink);
  background:var(--st-card);border:1px solid var(--st-line-control);border-radius:0;
  padding:14px 18px;outline:none;
  transition:border-color .3s var(--ease);
}
.wl-input::placeholder{color:var(--st-muted)}
.wl-input:focus-visible{border-color:var(--st-accent);outline:2px solid var(--st-accent);outline-offset:0}
.wl-input[aria-invalid="true"]{border-color:var(--st-warn)}
.wl-submit{white-space:nowrap}
.wl-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.wl-status{min-height:1.5em;margin-top:16px;font-size:15px;color:var(--st-body)}
.wl-status.is-ok{color:var(--st-accent-ink)}
.wl-status.is-err{color:var(--st-warn-ink)}
.wl-form.is-done .wl-row,.wl-form.is-done .wl-check,.wl-form.is-done .wl-fine{display:none}
/* the age confirmation and the fine print under each list form */
.wl-check{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:15px;color:var(--st-body);cursor:pointer}
.wl-check input{width:18px;height:18px;margin:0;accent-color:var(--st-accent);flex:none}
.wl-check input:focus-visible{outline:2px solid var(--st-accent);outline-offset:2px}
.wl-check input[aria-invalid="true"]{outline:2px solid var(--st-warn);outline-offset:2px}
.wl-fine{margin-top:8px;font-size:13px;color:var(--st-muted)}
.wl-fine a{color:inherit;text-decoration:underline}

/* ---------- market chips ---------- */
.mkt-row{display:inline-flex;gap:8px;flex-wrap:wrap}
.time-chip .mkt-name{color:#8d9bb2;font-weight:400}
.time-chip .mkt-time{font-variant-numeric:tabular-nums}
.time-chip .time-icon{background:#3e4a5e}
.time-chip.is-session .time-icon{background:radial-gradient(circle at 35% 35%,#fff 0%,var(--accent) 65%)}

/* ---------- skip link and focus ---------- */
.skip-link{
  position:fixed;top:-48px;left:16px;z-index:100;
  background:var(--st-accent-fill);color:var(--st-on-accent);
  padding:10px 18px;
  font-size:14px;font-weight:500;
  transition:top .3s var(--ease);
}
.skip-link:focus{top:16px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- the document pages (trust, legal, terms, disclosures, the gated shell): paper ---------- */
.doc{
  background-color:var(--st-ground);color:var(--st-ink);
  background-image:radial-gradient(var(--st-dot) .7px,transparent 1px);background-size:12px 12px;
  min-height:100svh;
  padding:clamp(120px,18vh,200px) var(--pad) clamp(96px,14vh,180px);
}
.doc-inner{max-width:64ch;margin:0 auto}
.doc .micro{margin-bottom:20px}
.doc h1{
  font-size:clamp(36px,4.4vw,64px);font-weight:500;line-height:1.05;letter-spacing:-0.04em;
  margin-bottom:clamp(24px,4vh,40px);text-wrap:balance;
}
.doc .lead{color:var(--st-body);margin-bottom:clamp(40px,7vh,72px)}
.doc h2{
  font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-0.03em;line-height:1.18;
  margin:clamp(40px,6vh,64px) 0 16px;padding-top:24px;border-top:1px solid var(--st-line-strong);
}
.doc h2 .idx{font-family:var(--st-mono);font-size:.5em;letter-spacing:.05em;color:var(--st-muted);font-weight:400;margin-right:14px;vertical-align:.3em;font-variant-numeric:tabular-nums}
.doc p,.doc li{font-size:17px;line-height:1.55;color:var(--st-body);margin-bottom:16px}
.doc strong{font-weight:500;color:var(--st-ink)}
.doc ul{padding-left:20px}
.doc li{margin-bottom:8px}
.doc li::marker{color:var(--st-accent)}
.doc a{color:var(--st-ink);text-decoration:underline;text-decoration-color:var(--st-accent-soft);text-underline-offset:3px}
.doc a:hover{color:var(--st-accent-ink);text-decoration-color:currentColor}
.doc table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 24px;background:var(--st-card);border:1px solid var(--st-line)}
.doc th,.doc td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--st-line);vertical-align:top}
.doc th{font-family:var(--st-mono);font-weight:400;color:var(--st-muted);font-size:10px;letter-spacing:.07em;text-transform:uppercase;background:var(--st-card-bar)}

/* ---------- responsive ---------- */
@media (max-width:810px){
  body{font-size:16px}
  .menu-availability,.pill-divider{display:none}
  .nav-cta{padding:10px 16px}
  .nav-menu-pill{padding:10px 16px}
  .mkt-row{gap:6px}
  .time-chip{padding:7px 11px;font-size:11px}
  .doc table{display:block;overflow-x:auto}
}
@media (max-width:480px){
  .wl-submit{width:100%}
  .mkt-row{gap:6px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  [data-appear]{opacity:1;transform:none;transition:none}
  *{scroll-behavior:auto!important}
}

/* ---------- document pages: link row, review slots ---------- */
.doc-links{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--st-muted);margin:-8px 0 40px}
.doc-links a{text-decoration:underline;text-underline-offset:3px}
.doc .slot{background:var(--st-warn-soft);color:var(--st-warn-ink);border:1px dashed var(--st-warn);padding:0 4px;font-style:normal}
.doc table th{white-space:nowrap;vertical-align:top}

/* ---------- the gated shell ---------- */
.shell-inner{max-width:960px}
.shell-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px);margin:clamp(32px,5vh,56px) 0}
.shell-col{display:flex;flex-direction:column;gap:16px;padding:clamp(20px,2.4vw,32px);border:1px solid var(--st-line);background:var(--st-card)}
.shell-col h2{font-size:clamp(20px,1.7vw,26px);font-weight:500;letter-spacing:-0.03em;line-height:1.15;margin:0;border:0;padding:0}
.shell-alpha{border-color:var(--st-accent);box-shadow:inset 0 3px 0 var(--st-accent)}
.shell-list{list-style:none;display:flex;flex-direction:column;margin:0;padding:0}
.shell-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--st-line);font-size:16px}
.shell-list .state{font-family:var(--st-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--st-muted);white-space:nowrap}
.shell-list .state.locked{color:var(--st-accent-ink)}
.shell-list a{text-decoration:underline;text-underline-offset:3px;font-size:14px}
.shell-col .btn{align-self:flex-start;margin-top:auto}
.doc .btn-dark{color:var(--st-on-ink);text-decoration:none}
.doc .btn-dark:hover{color:var(--st-on-accent)}
.shell-foot{margin-top:24px;color:var(--st-muted)}
@media (max-width:810px){ .shell-grid{grid-template-columns:1fr} }

/* ---------- /join (join-v1, breakwise-v1 2026-10-13): the address, then five one-tap questions ---------- */
.join .doc-inner{max-width:760px}
.doc .join-h{font-size:clamp(30px,3.6vw,44px);font-weight:500;letter-spacing:-0.04em;line-height:1.04;margin:12px 0 28px;padding-top:0;border-top:0;outline:none}
.join-h em,.join h1 em{font-family:var(--st-serif);font-style:italic;font-weight:400;letter-spacing:-0.01em}
.join-form{margin-top:32px}
.jq{display:grid;gap:28px}
.jq-q{border:0;margin:0;padding:0;min-width:0}
.jq-q legend{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:0;margin-bottom:12px;font-size:18px;font-weight:500;letter-spacing:-0.02em;color:var(--st-ink)}
.jq-n{font-family:var(--st-mono);font-size:var(--st-fs-mono);letter-spacing:var(--st-track-mono);color:var(--st-muted)}
.jq-hint{font-family:var(--st-mono);font-size:var(--st-fs-mono);letter-spacing:var(--st-track-mono);text-transform:uppercase;color:var(--st-muted)}
.jq-opts{display:flex;flex-wrap:wrap;gap:8px}
.jq-opt{min-height:44px;padding:10px 16px;border:1px solid var(--st-line);background:var(--st-card);color:var(--st-body);font-size:15px;letter-spacing:-0.01em;text-align:left;cursor:pointer;transition:border-color var(--st-dur-1) var(--st-ease),color var(--st-dur-1) var(--st-ease)}
.jq-opt:hover{border-color:var(--st-ink);color:var(--st-ink)}
.jq-opt[aria-pressed="true"]{border-color:var(--st-accent);color:var(--st-accent-ink);box-shadow:inset 0 0 0 1px var(--st-accent)}
.jq-opt:focus-visible,.jq-skip:focus-visible{outline:2px solid var(--st-accent);outline-offset:2px}
.jq-actions{display:flex;align-items:center;gap:20px;padding-top:4px}
.jq-skip{font-size:15px;color:var(--st-body);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}
.join-next{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
.join-foot{margin-top:72px}
.join-foot a{text-decoration:underline;text-underline-offset:2px}
