/* ════════════════════════════════════════════════════════════════════════
   0x1 · global stylesheet
   Direction C · "One Long Take" · v3 Manrope · LOCKED
   ──────────────────────────────────────────────────────────────────────
   Color discipline: lavender is brand. Cyan is reserved for LIVE DATA only.
   Gold is removed entirely (the burn ribbon in the sankey is the lone
   exception, and is hardcoded warn for semantic burn semantics).
   Type discipline: Manrope for everything UI. JetBrains Mono ONLY inside
   the code terminal and explicit code blocks via --font-code.
   ════════════════════════════════════════════════════════════════════════ */

:root{
  /* ── Surfaces ── */
  --c-void: #050214;
  --c-stage: #07041e;
  --c-surface: #0d0a2c;
  --c-surface-low: #131038;
  --c-surface-mid: #181544;
  --c-surface-high: #211d54;
  --c-border: #1f1c4a;
  --c-border-strong: #322e6e;
  --c-rule: #14123c;

  /* ── Text ── */
  --c-fg: #f0ebff;
  --c-fg-strong: #ffffff;
  --c-muted: #a8a2c8;
  --c-dim: #6b6794;

  /* ── Brand & roles ── */
  --c-primary: #cabeff;
  --c-primary-deep: #947dff;
  --c-primary-darker: #603ce2;
  --on-primary: #1a002e;
  --c-signal: #45e8e0;          /* LIVE DATA ONLY */
  --c-signal-dim: #45e8e055;
  --c-warn: #ffb780;            /* reserved - only the burn ribbon uses this */
  --c-down: #ff7eb5;            /* negative / downside ticks */
  --c-error: #ff7eb5;

  /* ── Gradient (used sparingly) ── */
  --c-gradient: linear-gradient(135deg, #cabeff 0%, #947dff 50%, #45e8e0 100%);
  --c-gradient-soft: linear-gradient(135deg, rgba(202,190,255,0.16), rgba(148,125,255,0.10), rgba(69,232,224,0.12));

  /* ── Fonts ── */
  --font-display: "Manrope", system-ui, sans-serif;
  --font-sans:    "Manrope", system-ui, sans-serif;
  --font-mono:    "Manrope", system-ui, sans-serif;  /* alias - see philosophy above */
  --font-code:    "JetBrains Mono", ui-monospace, Menlo, monospace;

  /* ── Layout tokens ── */
  --max-w: 1320px;
  --gutter: 72px;
  --gutter-sm: 24px;
  --rail-w: 88px;
  --nav-h: 72px;

  /* ── Radii ── */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 22px;
  --r-pill: 999px;

  /* ── Shadows ── */
  --shadow-lift: 0 24px 60px -28px rgba(0,0,0,0.65);
  --shadow-glow-primary: 0 0 24px -6px rgba(202,190,255,0.55);
  --shadow-glow-signal: 0 0 18px -4px rgba(69,232,224,0.55);
}
@media (max-width:980px){ :root{ --gutter:24px; --nav-h:64px; } }

/* ────────────────────────────────────────────────────────────────────
   RESET
   ──────────────────────────────────────────────────────────────────── */
*, *::before, *::after{ box-sizing:border-box; margin:0; padding:0; }
html, body{ background: #000; color:var(--c-fg); font-family:var(--font-sans); font-size:15px; line-height:1.55; -webkit-font-smoothing:antialiased; min-height:100%; }
body{ background:var(--c-void); overflow-x:hidden; display:flex; flex-direction:column; min-height:100vh; }
a{ color:inherit; text-decoration:none; }
button, input, textarea, select{ font:inherit; color:inherit; background:transparent; border:0; outline:0; }
button{ cursor:pointer; }
img, svg, canvas{ display:block; max-width:100%; }
::selection{ background:rgba(202,190,255,0.32); color:var(--c-fg-strong); }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--c-void); }
::-webkit-scrollbar-thumb{ background:var(--c-border-strong); border-radius:5px; border:2px solid var(--c-void); }
::-webkit-scrollbar-thumb:hover{ background:#4a4480; }

/* cosmic backdrop (matches direction C hero) */
body::before{ content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(70% 60% at 50% 10%, rgba(148,125,255,0.10), transparent 70%),
    radial-gradient(50% 50% at 80% 90%, rgba(69,232,224,0.04), transparent 70%);
}
body::after{ content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:0.35;
  background-image:
    radial-gradient(1px 1px at 14% 18%, rgba(240,235,255,0.32), transparent 50%),
    radial-gradient(1px 1px at 82% 26%, rgba(240,235,255,0.22), transparent 50%),
    radial-gradient(1.5px 1.5px at 32% 76%, rgba(240,235,255,0.18), transparent 50%),
    radial-gradient(1px 1px at 68% 82%, rgba(240,235,255,0.22), transparent 50%),
    radial-gradient(1px 1px at 94% 56%, rgba(240,235,255,0.18), transparent 50%),
    radial-gradient(1px 1px at 8% 62%, rgba(240,235,255,0.20), transparent 50%);
}

/* ────────────────────────────────────────────────────────────────────
   NAV
   ──────────────────────────────────────────────────────────────────── */
.nav{ position:sticky; top:0; left:0; right:0; z-index:120; height:var(--nav-h); display:flex; align-items:center; padding:0 32px;
  background: linear-gradient(180deg, rgba(5,2,20,0.92), rgba(5,2,20,0.7));
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border-bottom:1px solid var(--c-border);
}
.nav-inner{ width:100%; max-width:var(--max-w); margin:0 auto; display:flex; align-items:center; gap:24px; }
.brand{ display:flex; align-items:center; gap:12px; flex-shrink:0; }
.brand-mark{ width:32px; height:32px; filter:drop-shadow(0 0 14px rgba(202,190,255,0.18)); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.brand:hover .brand-mark{ transform:rotate(-12deg) scale(1.05); }
.brand-name{ font-family:var(--font-display); font-weight:800; font-size:22px; letter-spacing:-0.03em; color:var(--c-fg-strong); }
.brand-tag{ font-family:var(--font-mono); font-size:9px; font-weight:600; letter-spacing:0.24em; text-transform:uppercase; color:var(--c-muted); padding-left:10px; border-left:1px solid var(--c-border); align-self:center; }
.nav-links{ display:flex; gap:24px; flex:1; justify-content:flex-end; font-family:var(--font-mono); font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--c-muted); }
.nav-links a{ position:relative; padding:6px 0; transition:color .15s ease; }
.nav-links a:hover{ color:var(--c-fg); }
.nav-links a.active{ color:var(--c-primary); }
.nav-links a.active::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:var(--c-primary); border-radius:1px; }
.nav-right{ display:flex; align-items:center; gap:14px; flex-shrink:0; margin-left:auto; }
.nav-toggle{ display:none; width:32px; height:32px; border:1px solid var(--c-border); border-radius:6px; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.nav-toggle::before, .nav-toggle::after{ content:""; width:14px; height:1px; background:var(--c-fg); }
@media (max-width:1080px){
  .nav-links{ position:fixed; top:var(--nav-h); right:0; left:0; flex-direction:column; gap:0; background:rgba(5,2,20,0.98); padding:24px 32px; border-bottom:1px solid var(--c-border); display:none; justify-content:flex-start; }
  .nav-links a{ padding:14px 0; border-bottom:1px solid var(--c-border); }
  .nav-open .nav-links{ display:flex; }
  .nav-toggle{ display:inline-flex; }
}

.live-pill{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border:1px solid var(--c-border); border-radius:var(--r-pill); font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.12em; color:var(--c-muted); background:rgba(255,255,255,0.02); }
.live-pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--c-signal); box-shadow:0 0 8px var(--c-signal); animation: live-pulse 1.8s ease-in-out infinite; }
.live-pill .lbl{ letter-spacing:0.14em; }
.live-pill .pct{ color:var(--c-signal); font-weight:700; font-variant-numeric:tabular-nums; }
.live-pill.hidden{ display:none; }
@keyframes live-pulse{ 0%,100%{ opacity:1; transform:scale(1); } 50%{ opacity:.4; transform:scale(.75); } }
@media (max-width:760px){ .live-pill .lbl{ display:none; } }

/* ────────────────────────────────────────────────────────────────────
   FOOTER
   ──────────────────────────────────────────────────────────────────── */
.footer{ margin-top:auto; padding:48px var(--gutter); border-top:1px solid var(--c-border); font-family:var(--font-mono); font-size:12px; color:var(--c-muted); }
.footer-inner{ max-width:var(--max-w); margin:0 auto; display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; align-items:flex-start; }
.footer-brand{ display:flex; flex-direction:column; gap:14px; min-width:200px; }
.footer-brand .brand{ gap:10px; }
.footer-brand .brand-name{ font-size:18px; }
.footer-brand .tagline{ color:var(--c-muted); font-size:12px; max-width:32ch; line-height:1.5; }
.footer-cols{ display:flex; gap:64px; flex-wrap:wrap; }
.footer-col{ display:flex; flex-direction:column; gap:10px; min-width:120px; }
.footer-col .col-h{ font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.28em; text-transform:uppercase; color:var(--c-fg); margin-bottom:4px; }
.footer-col a{ color:var(--c-muted); font-size:13px; transition:color .15s ease; }
.footer-col a:hover{ color:var(--c-fg-strong); }
.footer-legal{ width:100%; padding-top:32px; margin-top:24px; border-top:1px solid var(--c-border); display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.footer-legal .credit{ color:var(--c-muted); font-size:11px; }

/* ────────────────────────────────────────────────────────────────────
   TYPOGRAPHY
   ──────────────────────────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6{ font-family:var(--font-display); color:var(--c-fg-strong); font-weight:700; line-height:1.1; letter-spacing:-0.025em; }
.h-display{ font-weight:800; font-size:clamp(48px, 8vw, 92px); line-height:0.96; letter-spacing:-0.04em; }
.h-1{ font-weight:800; font-size:clamp(36px, 5.5vw, 64px); line-height:1.0; letter-spacing:-0.035em; }
.h-2{ font-weight:700; font-size:clamp(28px, 4vw, 44px); line-height:1.05; letter-spacing:-0.03em; }
.h-3{ font-weight:700; font-size:clamp(22px, 2.6vw, 28px); line-height:1.15; letter-spacing:-0.02em; }
.h-4{ font-weight:700; font-size:18px; line-height:1.25; letter-spacing:-0.01em; }
.h-accent{ color:var(--c-primary); }
.h-em{ color:var(--c-primary); font-style:normal; font-weight:inherit; }

.lede{ font-family:var(--font-sans); font-size:18px; line-height:1.6; color:var(--c-fg); max-width:54ch; }
.lede + .lede{ margin-top:14px; }
.lede strong{ color:var(--c-fg-strong); font-weight:700; }
.lede em{ color:var(--c-primary); font-style:normal; }
.lede .live{ color:var(--c-signal); font-family:var(--font-mono); font-weight:600; }

.body{ font-size:15px; line-height:1.6; color:var(--c-fg); }
.muted{ color:var(--c-muted); }
.subtle{ color:var(--c-dim); }
.text-fg-strong{ color:var(--c-fg-strong); }
.text-primary{ color:var(--c-primary); }
.text-signal{ color:var(--c-signal); }
.text-warn{ color:var(--c-warn); }

.eyebrow{ display:inline-flex; align-items:center; gap:14px; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase; color:var(--c-muted); margin-bottom:18px; }
.eyebrow .num{ color:var(--c-primary); font-weight:700; }
.eyebrow .rule{ width:48px; height:1px; background:var(--c-primary); opacity:0.7; }
.kicker{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase; color:var(--c-muted); }
.label{ font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--c-muted); }
.code{ font-family:var(--font-code); font-variant-numeric:tabular-nums; }
.num{ font-variant-numeric:tabular-nums; }

/* ────────────────────────────────────────────────────────────────────
   LAYOUT
   ──────────────────────────────────────────────────────────────────── */
.container{ max-width:var(--max-w); margin:0 auto; padding:0 var(--gutter); width:100%; }
.section{ padding:80px 0; position:relative; }
.section-tight{ padding:40px 0; }
.page-head{ padding:88px 0 40px; }
.page-head .eyebrow{ margin-bottom:20px; }
.page-head h1{ max-width:14ch; }
.page-head .lede{ margin-top:16px; max-width:54ch; }
.head-meta{ display:flex; gap:24px; margin-top:24px; padding-top:20px; border-top:1px solid var(--c-border); font-family:var(--font-mono); font-size:12px; color:var(--c-muted); flex-wrap:wrap; }
.head-meta span{ display:inline-flex; gap:6px; }
.head-meta b{ color:var(--c-fg-strong); font-weight:700; }
@media (max-width:980px){ .section{ padding:64px 0; } .page-head{ padding:64px 0 32px; } }
@media (max-width:600px){ .section{ padding:48px 0; } .page-head{ padding:36px 0 24px; } }

main{ flex:1; }

/* ────────────────────────────────────────────────────────────────────
   BUTTONS
   ──────────────────────────────────────────────────────────────────── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:44px; padding:0 22px; border-radius:var(--r-pill); font-family:var(--font-sans); font-size:14px; font-weight:600; letter-spacing:0.01em; transition:transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; border:1px solid transparent; white-space:nowrap; }
.btn:hover:not(:disabled){ transform:translateY(-1px); }
.btn:active:not(:disabled){ transform:translateY(0); }
.btn:disabled{ opacity:0.4; cursor:not-allowed; }
.btn .arrow{ display:inline-block; transition:transform .2s ease; }
.btn:hover:not(:disabled) .arrow{ transform:translateX(3px); }
.btn-primary{ background:var(--c-primary); color:var(--on-primary); font-weight:700; }
.btn-primary:hover:not(:disabled){ background:var(--c-fg-strong); box-shadow:var(--shadow-glow-primary); }
.btn-outline{ border-color:var(--c-border); color:var(--c-fg); }
.btn-outline:hover:not(:disabled){ border-color:var(--c-primary); color:var(--c-primary); }
.btn-ghost{ color:var(--c-muted); background:transparent; }
.btn-ghost:hover:not(:disabled){ color:var(--c-fg); background:rgba(202,190,255,0.05); }
.btn-danger{ background:var(--c-error); color:#420017; font-weight:700; }
.btn-signal{ background:var(--c-signal); color:#003c39; font-weight:700; }
.btn-sm{ height:36px; padding:0 14px; font-size:13px; }
.btn-lg{ height:54px; padding:0 28px; font-size:15px; }
.btn-block{ width:100%; }
.btn-icon{ width:44px; padding:0; }
.btn-icon.btn-sm{ width:36px; }
.btn-square{ border-radius:var(--r-md); }

/* ────────────────────────────────────────────────────────────────────
   CARDS
   ──────────────────────────────────────────────────────────────────── */
.card{ position:relative; background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); box-shadow:var(--shadow-lift); }
.card-pad{ padding:24px; }
.card-pad-lg{ padding:32px; }
.card-pad-sm{ padding:16px; }
.card-quiet{ background:transparent; border:1px dashed var(--c-border); box-shadow:none; }
.card-glow{ border-color:var(--c-primary-deep); box-shadow:var(--shadow-lift), 0 0 60px -20px rgba(148,125,255,0.3); }
.card-hover{ transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.card-hover:hover{ transform:translateY(-3px); border-color:var(--c-primary); box-shadow:var(--shadow-lift), 0 0 30px -10px rgba(202,190,255,0.3); }
.card-header{ padding:14px 24px; border-bottom:1px solid var(--c-border); display:flex; align-items:center; justify-content:space-between; gap:12px; font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--c-muted); }
.card-header .h-ix{ color:var(--c-primary); }
.card-header .h-title{ color:var(--c-fg); }
.card-body{ padding:24px; }
.card-foot{ padding:14px 24px; border-top:1px dashed var(--c-rule); font-size:12px; color:var(--c-muted); line-height:1.5; }
.card-foot strong{ color:var(--c-fg-strong); font-weight:700; }

/* ────────────────────────────────────────────────────────────────────
   INPUTS / FORMS
   ──────────────────────────────────────────────────────────────────── */
.input{ width:100%; height:48px; background:var(--c-surface-low); border:1px solid var(--c-border); border-radius:var(--r-md); padding:0 16px; font-family:var(--font-sans); font-size:15px; color:var(--c-fg); transition:border-color .15s ease, box-shadow .15s ease; }
.input::placeholder{ color:var(--c-dim); }
.input:focus{ border-color:var(--c-primary); box-shadow:0 0 0 3px rgba(202,190,255,0.12); }
.input-lg{ height:60px; font-size:18px; padding:0 20px; }
.input-bare{ background:transparent; border:0; padding:0; height:auto; font-weight:700; font-size:32px; letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.input-bare:focus{ box-shadow:none; }
.input-mono{ font-family:var(--font-code); }

.field{ display:flex; flex-direction:column; gap:6px; }
.field .helper{ font-size:12px; color:var(--c-muted); }
.field .error{ font-size:12px; color:var(--c-error); }
.field-suffix{ position:relative; }
.field-suffix .input{ padding-right:64px; }
.field-suffix .suffix{ position:absolute; right:16px; top:50%; transform:translateY(-50%); font-family:var(--font-mono); font-size:12px; color:var(--c-muted); }

.amount-card{ position:relative; background:var(--c-surface-low); border:1px solid var(--c-border); border-radius:var(--r-md); padding:20px; transition:border-color .2s ease, box-shadow .2s ease; }
.amount-card.danger{ border-color:var(--c-error); box-shadow:0 0 0 3px rgba(255,126,181,0.12); }
.amount-card .lbl{ font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--c-muted); }
.amount-card .row{ display:flex; align-items:baseline; gap:12px; margin-top:10px; }
.amount-card input{ flex:1; min-width:0; background:transparent; border:0; padding:0; font-family:var(--font-display); font-weight:700; font-size:36px; letter-spacing:-0.02em; color:var(--c-fg-strong); font-variant-numeric:tabular-nums; }
.amount-card .ticker{ font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--c-muted); }
.amount-card .max{ position:absolute; right:18px; top:18px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; padding:6px 10px; border:1px solid var(--c-border); border-radius:var(--r-sm); color:var(--c-muted); background:rgba(255,255,255,0.02); cursor:pointer; transition:color .15s ease, border-color .15s ease; }
.amount-card .max:hover{ color:var(--c-primary); border-color:var(--c-primary); }
.amount-card .bal-row{ display:flex; justify-content:space-between; gap:14px; margin-top:14px; font-family:var(--font-mono); font-size:11px; color:var(--c-muted); }
.amount-card .bal-row b{ color:var(--c-fg-strong); font-weight:600; }

/* segmented chips (slippage etc) */
.chips{ display:inline-flex; gap:6px; background:var(--c-surface-low); border:1px solid var(--c-border); padding:4px; border-radius:var(--r-pill); }
.chip{ padding:6px 14px; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:11px; font-weight:600; letter-spacing:0.08em; color:var(--c-muted); cursor:pointer; transition:color .15s ease, background .15s ease; }
.chip:hover{ color:var(--c-fg); }
.chip.active{ background:var(--c-surface-high); color:var(--c-fg-strong); }

/* ────────────────────────────────────────────────────────────────────
   TABLES
   ──────────────────────────────────────────────────────────────────── */
.table{ width:100%; border-collapse:collapse; }
.table-row{ display:grid; gap:16px; align-items:center; padding:14px 24px; border-bottom:1px solid var(--c-border); transition:background .15s ease; }
.table-row.row-head{ font-family:var(--font-mono); font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--c-muted); padding:12px 24px; background:var(--c-surface-low); border-bottom:1px solid var(--c-border); }
.table-row:not(.row-head):hover{ background:rgba(202,190,255,0.04); cursor:pointer; }
.table-row .num{ font-variant-numeric:tabular-nums; }
.table-wrap{ border:1px solid var(--c-border); border-radius:var(--r-lg); overflow:hidden; background:var(--c-surface); }
.table-wrap .table-row:last-child{ border-bottom:0; }

/* ────────────────────────────────────────────────────────────────────
   PILLS / BADGES / STATUS
   ──────────────────────────────────────────────────────────────────── */
.pill{ display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border:1px solid currentColor; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; }
.pill-solid{ border:0; padding:5px 11px; }
.pill-primary{ color:var(--c-primary); }
.pill-live{ color:var(--c-signal); }
.pill-live .d{ width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 8px currentColor; animation:live-pulse 1.8s ease-in-out infinite; }
.pill-warn{ color:var(--c-warn); }
.pill-muted{ color:var(--c-muted); }
.pill-solid.pill-primary{ background:var(--c-primary); color:var(--on-primary); }
.pill-solid.pill-live{ background:var(--c-signal); color:#003c39; }
.pill-solid.pill-warn{ background:var(--c-warn); color:#4e2600; }

.badge{ display:inline-flex; align-items:center; justify-content:center; padding:2px 8px; border-radius:6px; font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; background:var(--c-surface-high); color:var(--c-fg); }

/* ────────────────────────────────────────────────────────────────────
   STATS / KPI
   ──────────────────────────────────────────────────────────────────── */
.stat{ display:flex; flex-direction:column; gap:6px; }
.stat .lbl{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:0.28em; text-transform:uppercase; color:var(--c-muted); }
.stat .val{ font-family:var(--font-display); font-weight:700; font-size:32px; letter-spacing:-0.025em; line-height:1; color:var(--c-fg-strong); font-variant-numeric:tabular-nums; }
.stat .val.live{ color:var(--c-signal); }
.stat .val.lg{ font-size:44px; }
.stat .ctx{ font-family:var(--font-mono); font-size:11px; color:var(--c-muted); }
.stat .delta{ font-family:var(--font-mono); font-size:11px; color:var(--c-signal); }
.stat .delta.neg{ color:var(--c-down); }

.stat-grid-4{ display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); background:rgba(13,10,44,0.6); }
.stat-grid-4 .c{ padding:32px 32px; border-right:1px solid var(--c-border); position:relative; min-height:140px; display:flex; flex-direction:column; gap:6px; }
.stat-grid-4 .c:last-child{ border-right:0; }
.stat-grid-4 .lbl{ font-family:var(--font-mono); font-size:10px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase; color:var(--c-muted); }
.stat-grid-4 .val{ font-family:var(--font-display); font-weight:700; font-size:44px; letter-spacing:-0.03em; color:var(--c-signal); font-variant-numeric:tabular-nums; line-height:1; }
.stat-grid-4 .ctx{ font-family:var(--font-mono); font-size:11px; color:var(--c-muted); margin-top:auto; }
.stat-grid-4 .spark{ position:absolute; left:32px; right:32px; bottom:24px; height:10px; }
.stat-grid-4 .spark canvas{ width:100%; height:100%; }
@media (max-width:860px){ .stat-grid-4{ grid-template-columns:1fr 1fr; } .stat-grid-4 .c:nth-child(2n){ border-right:0; } .stat-grid-4 .c{ border-bottom:1px solid var(--c-border); } }

/* ────────────────────────────────────────────────────────────────────
   TOKEN AVATAR
   ──────────────────────────────────────────────────────────────────── */
.tok{ display:inline-flex; align-items:center; gap:10px; }
.tok-av{ width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:800; font-size:14px; color:var(--c-fg-strong); background:conic-gradient(from var(--ang,210deg) at 50% 50%, var(--c1,#cabeff) 0deg 180deg, var(--c2,#45e8e0) 180deg 360deg); }
.tok-av-sm{ width:24px; height:24px; font-size:11px; }
.tok-av-lg{ width:48px; height:48px; font-size:18px; }
.tok-sym{ font-family:var(--font-display); font-weight:700; color:var(--c-fg-strong); }
.tok-name{ font-family:var(--font-sans); color:var(--c-muted); font-size:12px; }

/* ────────────────────────────────────────────────────────────────────
   TOAST
   ──────────────────────────────────────────────────────────────────── */
.toasts{ position:fixed; right:24px; bottom:24px; z-index:300; display:flex; flex-direction:column; gap:10px; max-width:380px; }
.toast{ background:var(--c-surface); border:1px solid var(--c-border); border-left:3px solid var(--c-primary); border-radius:var(--r-md); padding:14px 18px; display:flex; flex-direction:column; gap:4px; box-shadow:var(--shadow-lift); animation: toastIn .4s cubic-bezier(.2,.7,.2,1) both; }
.toast.success{ border-left-color:var(--c-signal); }
.toast.error{ border-left-color:var(--c-error); }
.toast.warn{ border-left-color:var(--c-warn); }
.toast .t-title{ font-weight:700; color:var(--c-fg-strong); font-size:13px; }
.toast .t-msg{ font-size:12px; color:var(--c-muted); }
.toast .t-link{ font-family:var(--font-code); font-size:11px; color:var(--c-primary); margin-top:4px; }
@keyframes toastIn{ from{ opacity:0; transform:translateX(20px); } to{ opacity:1; transform:none; } }

/* ────────────────────────────────────────────────────────────────────
   MODAL
   ──────────────────────────────────────────────────────────────────── */
.modal-backdrop{ position:fixed; inset:0; background:rgba(5,2,20,0.7); backdrop-filter:blur(4px); z-index:200; display:none; align-items:center; justify-content:center; padding:24px; }
.modal-backdrop.show{ display:flex; }
.modal{ background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r-lg); max-width:480px; width:100%; box-shadow:var(--shadow-lift); animation: modalIn .35s cubic-bezier(.2,.7,.2,1) both; }
.modal-head{ padding:18px 22px; border-bottom:1px solid var(--c-border); display:flex; align-items:center; justify-content:space-between; }
.modal-head h3{ font-size:18px; }
.modal-body{ padding:22px; }
.modal-foot{ padding:14px 22px; border-top:1px solid var(--c-border); display:flex; justify-content:flex-end; gap:10px; }
@keyframes modalIn{ from{ opacity:0; transform:translateY(12px) scale(0.98); } to{ opacity:1; transform:none; } }

/* ────────────────────────────────────────────────────────────────────
   WIZARD STEPS
   ──────────────────────────────────────────────────────────────────── */
.steps{ display:flex; gap:0; border:1px solid var(--c-border); border-radius:var(--r-md); overflow:hidden; background:var(--c-surface); }
.step{ flex:1; padding:18px 22px; display:flex; align-items:center; gap:14px; border-right:1px solid var(--c-border); position:relative; transition:background .2s ease; cursor:pointer; }
.step:last-child{ border-right:0; }
.step.active{ background:rgba(202,190,255,0.05); }
.step.done{ background:rgba(69,232,224,0.04); }
.step .n{ width:32px; height:32px; border-radius:50%; border:1px solid var(--c-border); display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-weight:700; font-size:13px; color:var(--c-muted); flex-shrink:0; }
.step.active .n{ background:var(--c-primary); color:var(--on-primary); border-color:var(--c-primary); }
.step.done .n{ background:var(--c-signal); color:#003c39; border-color:var(--c-signal); }
.step .meta{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.step .meta .k{ font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--c-muted); }
.step.active .meta .k{ color:var(--c-primary); }
.step .meta .t{ font-family:var(--font-display); font-weight:700; font-size:14px; color:var(--c-fg-strong); }
.step .meta .t-sm{ font-size:13px; }
@media (max-width:780px){ .steps{ flex-direction:column; } .step{ border-right:0; border-bottom:1px solid var(--c-border); } .step:last-child{ border-bottom:0; } }

/* ────────────────────────────────────────────────────────────────────
   FILMSTRIP RAIL (used on landing)
   ──────────────────────────────────────────────────────────────────── */
.filmstrip{ position:fixed; left:24px; top:50%; transform:translateY(-50%); z-index:100; display:flex; flex-direction:column; gap:14px; font-family:var(--font-mono); }
.filmstrip .fs-item{ position:relative; display:flex; align-items:center; gap:14px; cursor:pointer; }
.filmstrip .fs-bar{ width:32px; height:32px; border:1px solid var(--c-border); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; transition:border-color .25s ease, transform .3s ease; }
.filmstrip .fs-bar svg{ width:24px; height:24px; opacity:0.45; transition:opacity .3s ease, transform .25s ease; }
.filmstrip .fs-item.active .fs-bar{ border-color:var(--c-primary); transform:scale(1.1); }
.filmstrip .fs-item.active .fs-bar svg{ opacity:1; transform:rotate(calc(var(--scrollAng, 0) * 1deg)); }
.filmstrip .fs-item.done .fs-bar svg{ opacity:0.85; }
.filmstrip .fs-bar > i{ position:absolute; bottom:0; left:0; right:0; height:calc(var(--prog,0)*100%); background:linear-gradient(0deg, rgba(202,190,255,0.16), transparent); pointer-events:none; }
.filmstrip .fs-meta{ display:flex; flex-direction:column; gap:1px; opacity:0; transform:translateX(-6px); transition:opacity .25s ease, transform .25s ease; pointer-events:none; }
.filmstrip .fs-item:hover .fs-meta, .filmstrip .fs-item.active .fs-meta{ opacity:1; transform:none; }
.filmstrip .fs-num{ font-size:9px; letter-spacing:0.18em; color:var(--c-muted); }
.filmstrip .fs-label{ font-family:var(--font-display); font-weight:700; font-size:14px; letter-spacing:-0.01em; color:var(--c-fg-strong); }
.filmstrip .fs-item.active .fs-num{ color:var(--c-primary); }
.filmstrip .fs-conn{ position:absolute; left:16px; top:32px; width:1px; height:14px; background:var(--c-border); }
.filmstrip .fs-item:last-child .fs-conn{ display:none; }
.filmstrip .fs-item.done .fs-conn{ background:var(--c-primary); }
@media (max-width:980px){
  .filmstrip{ position:fixed; left:0; right:0; bottom:0; top:auto; transform:none; flex-direction:row; height:54px; padding:8px 12px; gap:6px; background:rgba(5,2,20,0.92); border-top:1px solid var(--c-border); justify-content:flex-start; overflow-x:auto; backdrop-filter:blur(8px); }
  .filmstrip .fs-meta{ display:none; }
  .filmstrip .fs-conn{ display:none; }
}

/* ────────────────────────────────────────────────────────────────────
   FIGURE TILE (viz wrapper used across pages)
   ──────────────────────────────────────────────────────────────────── */
.tile{ position:relative; border:1px solid var(--c-border); background:var(--c-surface); overflow:hidden; box-shadow:var(--shadow-lift); border-radius:var(--r-lg); }
.tile-bar{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; border-bottom:1px solid var(--c-border); font-family:var(--font-mono); font-size:10px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--c-muted); }
.tile-bar .ix{ color:var(--c-primary); }
.tile-body{ padding:16px; }
.tile-body.bare{ padding:0; }
.tile-foot{ padding:12px 18px; border-top:1px solid var(--c-border); font-family:var(--font-sans); font-weight:500; font-size:12px; color:var(--c-muted); letter-spacing:0; line-height:1.5; }
.tile-foot strong{ color:var(--c-fg-strong); }

/* ────────────────────────────────────────────────────────────────────
   CODE / TERMINAL
   ──────────────────────────────────────────────────────────────────── */
.code-block{ background:#040215; border:1px solid var(--c-border); border-radius:var(--r-lg); padding:18px 20px; font-family:var(--font-code); font-size:13px; line-height:1.7; color:var(--c-fg); overflow:auto; }
.code-block .cm{ color:#6c6890; font-style:italic; }
.code-block .kw{ color:var(--c-primary); }
.code-block .ty{ color:var(--c-primary-deep); }
.code-block .st{ color:#dfd6ff; }
.code-block .fn{ color:var(--c-fg-strong); }
.code-block .nm{ color:#dfd6ff; }
.code-block .sig{ color:var(--c-signal); }

.term{ border:1px solid var(--c-border); background:#040215; border-radius:var(--r-lg); overflow:hidden; }
.term-bar{ height:36px; display:flex; align-items:center; gap:8px; padding:0 16px; background:#0a0626; border-bottom:1px solid var(--c-border); }
.term-bar .dot{ width:10px; height:10px; border-radius:50%; background:#3a3661; }
.term-bar .title{ margin-left:14px; font-family:var(--font-mono); font-size:11px; color:var(--c-muted); }
.term-body{ display:grid; grid-template-columns:1fr 1fr; min-height:520px; font-family:var(--font-code); font-size:13px; line-height:1.85; }
@media (max-width:860px){ .term-body{ grid-template-columns:1fr; } }
.term-code{ padding:24px; white-space:pre; overflow:hidden; color:var(--c-fg); font-family:var(--font-code) !important; }
.term-code .ln{ display:block; position:relative; padding-left:36px; min-height:1.85em; font-family:var(--font-code); }
.term-code .ln::before{ content:attr(data-n); position:absolute; left:0; top:0; width:24px; text-align:right; color:#4a4675; font-family:var(--font-code); }
.term-code .kw{ color:var(--c-primary); }
.term-code .ty{ color:var(--c-primary-deep); }
.term-code .st{ color:#dfd6ff; }
.term-code .cm{ color:#6c6890; font-style:italic; }
.term-code .fn{ color:var(--c-fg-strong); }
.term-code .nm{ color:#dfd6ff; }
.term-annot{ padding:24px; border-left:1px solid var(--c-border); color:var(--c-muted); font-family:var(--font-sans); font-size:13px; line-height:1.55; }
.term-annot .an{ opacity:0; transform:translateX(8px); transition:opacity .35s ease, transform .35s ease; display:flex; gap:10px; align-items:flex-start; margin-bottom:14px; }
.term-annot .an.on{ opacity:1; transform:translateX(0); }
.term-annot .an .ar{ color:var(--c-primary); font-family:var(--font-mono); font-size:11px; font-weight:700; }
.term-cursor{ display:inline-block; width:8px; height:1em; background:var(--c-primary); vertical-align:-2px; animation:term-blink 1s steps(2) infinite; margin-left:2px; }
@keyframes term-blink{ 50%{ opacity:0; } }

/* ────────────────────────────────────────────────────────────────────
   PROGRESS BARS
   ──────────────────────────────────────────────────────────────────── */
.bar{ height:8px; background:var(--c-surface-low); border:1px solid var(--c-border); border-radius:var(--r-pill); overflow:hidden; }
.bar > i{ display:block; height:100%; background:var(--c-primary); transition:width .4s cubic-bezier(.2,.7,.2,1); }
.bar.live > i{ background:var(--c-signal); box-shadow:0 0 12px var(--c-signal); }
.bar-lg{ height:14px; }
.bar-sm{ height:4px; border:0; }

/* ────────────────────────────────────────────────────────────────────
   CALLOUTS / NOTES
   ──────────────────────────────────────────────────────────────────── */
.callout{ padding:16px 18px; background:var(--c-surface-low); border:1px solid var(--c-border); border-left:3px solid var(--c-primary); border-radius:var(--r-md); font-size:14px; line-height:1.5; color:var(--c-fg); }
.callout strong{ color:var(--c-fg-strong); display:block; margin-bottom:6px; font-family:var(--font-mono); font-size:10px; letter-spacing:0.22em; text-transform:uppercase; }
.callout.live{ border-left-color:var(--c-signal); }
.callout.warn{ border-left-color:var(--c-warn); }
.callout.error{ border-left-color:var(--c-error); }

/* ────────────────────────────────────────────────────────────────────
   GRID HELPERS
   ──────────────────────────────────────────────────────────────────── */
.grid-2{ display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
.grid-3{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.grid-4{ display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.grid-asym-58{ display:grid; grid-template-columns: 5fr 8fr; gap:32px; }
.grid-asym-85{ display:grid; grid-template-columns: 8fr 5fr; gap:32px; }
@media (max-width:980px){ .grid-2, .grid-3, .grid-4, .grid-asym-58, .grid-asym-85{ grid-template-columns:1fr; } }

/* ────────────────────────────────────────────────────────────────────
   FLEX / SPACING / TEXT UTILITIES
   ──────────────────────────────────────────────────────────────────── */
.row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.row-tight{ gap:6px; }
.col{ display:flex; flex-direction:column; gap:14px; }
.col-tight{ gap:8px; }
.center{ display:flex; align-items:center; justify-content:center; }
.between{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.stack > * + *{ margin-top:14px; }
.stack-lg > * + *{ margin-top:24px; }

.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-10{margin-top:40px}.mt-12{margin-top:48px}.mt-16{margin-top:64px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}
.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:20px}.p-6{padding:24px}
.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.gap-6{gap:24px}.gap-8{gap:32px}
.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}
.text-xs{font-size:11px}.text-sm{font-size:12px}.text-md{font-size:14px}.text-lg{font-size:16px}.text-xl{font-size:18px}.text-2xl{font-size:22px}.text-3xl{font-size:28px}.text-4xl{font-size:36px}
.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}
.text-right{text-align:right}.text-center{text-align:center}
.uppercase{text-transform:uppercase}
.truncate{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.w-full{width:100%}.h-full{height:100%}
.hidden{display:none}
.border-t{ border-top:1px solid var(--c-border); }
.border-b{ border-bottom:1px solid var(--c-border); }
.rounded-md{ border-radius:var(--r-md); }
.rounded-lg{ border-radius:var(--r-lg); }
.rounded-pill{ border-radius:var(--r-pill); }

/* ────────────────────────────────────────────────────────────────────
   MOBILE / TABLET — comprehensive responsive pass
   Targets: 1080, 980, 760, 600, 480, 360.
   Goal: no horizontal scroll, readable copy, every grid stacks cleanly.
   ──────────────────────────────────────────────────────────────────── */

/* ── ≤1080px : tablet wide ── */
@media (max-width:1080px){
  /* footer columns wrap */
  .footer-cols{ gap:40px; }
  /* page heads */
  .page-head .h-display{ font-size:clamp(40px, 7vw, 64px); }
}

/* ── ≤860px : small tablet / large phone ── */
@media (max-width:860px){
  body{ font-size:14px; }
  /* nav */
  .nav-inner{ gap:14px; }
  .nav-right{ gap:8px; }
  .btn.btn-sm{ padding:8px 14px; font-size:12px; }
  /* footer */
  .footer{ padding:36px 24px; }
  .footer-inner{ flex-direction:column; gap:36px; }
  .footer-brand{ min-width:0; }
  .footer-cols{ gap:28px 36px; }
  .footer-legal{ flex-direction:column; gap:8px; align-items:flex-start; }
  /* hero floating badges out of the way */
  .hero-foot{ font-size:9px; gap:8px; }
  /* page head metadata rows wrap */
  .head-meta{ flex-wrap:wrap; gap:10px; }
  .head-meta span{ font-size:11px; }
}

/* ── ≤760px : phone ── */
@media (max-width:760px){
  /* nav: hide bonding curve pill text (already done at 760, but also pill itself when tight) */
  .nav-right .live-pill{ padding:6px 10px; }
  /* page heads */
  .container.page-head{ padding-top:48px; padding-bottom:32px; }
  .page-head .h-display{ font-size:clamp(34px, 8vw, 48px); }
  /* hero scene foot row stacks */
  .hero-foot{ position:relative; bottom:0; left:0; right:0; flex-direction:column; align-items:flex-start; gap:12px; padding:16px var(--gutter) 32px; }
  .hero-foot .scroll-cue{ display:none; }
  .hero-copy{ padding:96px var(--gutter) 48px; min-height:auto; }
  /* scene padding */
  section.scene{ padding:64px 0 80px; min-height:auto; }
  .scene-layout{ grid-template-columns:1fr; gap:32px; }
  .scene-knot{ display:none; }
  /* float badges hidden on phone (they cover content) */
  .float-badge{ display:none; }
  /* tiles */
  .tile-bar{ font-size:10px; padding:10px 12px; }
  /* telemetry strip */
  .tel-band .c{ padding:20px 18px; min-height:auto; }
  .tel-band .val{ font-size:32px; }
  .tel-band .spark{ display:none; }
  /* terminal */
  .term-body{ font-size:11px; line-height:1.6; min-height:auto; }
  .term-code{ padding:14px; overflow-x:auto; }
  .term-annot{ padding:14px; border-left:0; border-top:1px dashed var(--c-border); }
  /* eco wrap shrinks */
  .eco-wrap{ min-height:360px; aspect-ratio:auto; }
  /* curve wrap shrinks */
  .curve-wrap{ aspect-ratio:1/1; max-height:60vh; }
  /* sun stage shrinks */
  .sun-stage{ max-width:88vw; }
  /* roadmap */
  .road-shot{ grid-template-columns:1fr; gap:8px; }
  .road-shot .mini{ display:none; }
  /* recent launches carousel — narrower cards */
  .tcard{ flex:0 0 220px; height:190px; }
  /* CTA */
  .cta-band{ min-height:auto; height:auto; padding:96px 0 80px; }
  .cta-inner h2{ font-size:clamp(40px, 10vw, 64px); }
}

/* ── ≤600px : narrow phone ── */
@media (max-width:600px){
  /* nav: collapse the curve pill entirely below 600 */
  .nav-right #live-pill{ display:none; }
  /* page heads */
  .page-head .lede{ font-size:15px; }
  /* card pad */
  .card.card-pad-lg{ padding:24px 18px; }
  .card.card-pad{ padding:18px 14px; }
  /* head meta single column */
  .head-meta{ flex-direction:column; gap:6px; }
  /* contracts row + hub grid + alloc tile fee-flow on homepage */
  .contracts-row{ grid-template-columns:1fr !important; }
  .fee-flow{ grid-template-columns:1fr !important; gap:24px !important; }
  .fee-flow > svg, .fee-flow > div:nth-child(2){ display:none !important; }
  .alloc-tile [style*="grid-template-columns:24px"]{ grid-template-columns:18px 1fr !important; }
  .alloc-tile [style*="grid-template-columns:24px"] > div:last-child{ grid-column:1 / -1; text-align:left; font-size:13px; padding-top:6px; }
  /* mint grid */
  .mint-grid{ grid-template-columns:1fr !important; }
  .living-curve{ min-height:380px !important; }
  .node-w, .node-t{ font-size:10px; padding:6px 10px; }
  /* swap kvis */
  .kvis{ min-height:320px; }
  /* launch wizard step indicator */
  .steps{ flex-direction:column; }
  /* table wraps */
  .table-row{ grid-template-columns:1fr !important; gap:4px; padding:12px 0; }
  /* terminal — single column already at 860 */
  .term-pills{ flex-direction:column; gap:6px; }
  /* explore + portfolio holdings rows */
  .holding-row{ flex-wrap:wrap; gap:8px; }
  .gallery, .explore-grid{ grid-template-columns:1fr !important; }
  /* whitepaper sticky TOC: turn off */
  .paper{ grid-template-columns:1fr !important; gap:24px !important; }
  .toc{ position:static !important; max-height:none; }
}

/* ── ≤480px : tiny phone ── */
@media (max-width:480px){
  :root{ --gutter:16px; }
  /* hero typography aggressively scales down */
  h1.lede{ font-size:clamp(40px, 12vw, 56px); }
  h2.title{ font-size:clamp(28px, 8vw, 40px); }
  .hero-deck{ font-size:15px; }
  .hero-mark{ font-size:9px; }
  /* btn lg shrinks */
  .btn.btn-lg{ padding:12px 18px; font-size:14px; height:auto; }
  /* nav brand */
  .brand-name{ font-size:18px; }
  .brand-mark{ width:26px; height:26px; }
  /* page-head padding */
  .container.page-head{ padding-top:40px; padding-bottom:24px; }
  /* mint amount card */
  .amount-card input{ font-size:24px; }
  /* tx-lines */
  .tx-line{ font-size:12px; flex-wrap:wrap; }
  /* fee flow on tiny phone — single column with even smaller cards */
  .fee-flow > div > div{ padding:12px 14px !important; }
  /* terminal code wrap */
  .term-code .ln{ padding-left:24px; }
  .term-code .ln::before{ width:18px; }
  /* tighter card paddings */
  .card.card-pad-lg{ padding:18px 14px; }
}

/* Prevent horizontal scroll regardless of any wide child.
   Use overflow-x:hidden on body only (keeps sticky nav working — overflow:clip on html
   can break position:sticky in some browsers). */
html{ width:100%; max-width:100%; }
body{ overflow-x:hidden; max-width:100vw; width:100%; }
img, svg, canvas, video{ max-width:100%; height:auto; }
/* Any element inside main is fluid — prevents accidental fixed-width children pushing layout */
main{ width:100%; max-width:100%; overflow-x:clip; }

/* belt-and-braces: any absolutely positioned decorative element shouldn't drag layout wider */
@media (max-width:760px){
  /* the floating scene knots that decorate landing scenes */
  .scene-knot{ right:-15% !important; opacity:0.05 !important; }
  /* carousel negative margins must not overflow viewport */
  .carousel{ margin-left:-12px !important; margin-right:-12px !important; }
  /* float badges on the hero hide on mobile (already done in scenes media query) */
  .hero .float-badge{ display:none !important; }
  /* containers cannot exceed viewport — force fluid width */
  .container{ width:100% !important; max-width:100% !important; padding-left:max(16px, var(--gutter)); padding-right:max(16px, var(--gutter)); }
  /* scenes inner padding matches */
  .scene-inner{ width:100% !important; max-width:100% !important; padding-left:max(16px, var(--gutter)); padding-right:max(16px, var(--gutter)); }
  /* head-meta must wrap */
  .head-meta{ width:100%; }
  /* page-head padding tightens */
  .container.page-head{ padding-top:36px; padding-bottom:28px; }
}

/* ────────────────────────────────────────────────────────────────────
   MOTION
   ──────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}
