/* ============================================================
   Mentionova — Content Library base
   Self-contained: tokens (light + dark) + lead-magnet component
   primitives, so any single asset can be embedded on its own.
   Derived from the Mentionova design system (tokens/*.css).
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400;1,6..72,500;1,6..72,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&display=swap');

/* ---------- TOKENS : LIGHT (default) — warm editorial: cream canvas, crisp white cards ---------- */
:root, [data-theme="light"] {
  color-scheme: light;
  /* forest / olive palette */
  --paper-0: #FAF7F2; --paper-1: #FFFFFF;
  --paper-2: #F1EDE4; --paper-3: #E8E1D5;
  --ink-0: #14110E; --ink-1: #46413A;
  --ink-2: #6F695E; --ink-3: #9C968A;
  --line: #E6DFD3; --line-strong: #D6CCBC;
  --signal: #4F6B41; --signal-deep: #3F5733;
  --signal-ink: #FAF7F2;
  --mark-bg: #DEE7D2; --mark-text: #2A3B22;
  --positive: oklch(0.585 0.130 150); --positive-wash: oklch(0.945 0.045 150);
  --negative: #A03A2E; --negative-wash: #F4DDD8;
  --info: oklch(0.575 0.110 245); --info-wash: oklch(0.950 0.035 245);
  --engine-perplexity: oklch(0.545 0.072 205); --engine-claude: oklch(0.680 0.115 52);
  --engine-chatgpt: oklch(0.640 0.110 168); --engine-gemini: oklch(0.585 0.190 285);
  --engine-google: oklch(0.620 0.170 262); --engine-reddit: oklch(0.655 0.185 38);
  --bg: var(--paper-0); --surface: var(--paper-1); --surface-2: var(--paper-2);
  --surface-sunken: var(--paper-3);
  --text: var(--ink-0); --text-muted: var(--ink-1); --text-subtle: var(--ink-2); --text-faint: var(--ink-3);
  --border: var(--line); --border-strong: var(--line-strong);
  --accent: var(--signal); --accent-deep: var(--signal-deep); --accent-ink: var(--signal-ink);
  --primary: var(--ink-0); --primary-text: var(--paper-0); --primary-hover: #2A241F;
  --focus-ring: rgba(79,107,65,0.5); --overlay: oklch(0.205 0.010 75 / 0.45);

  --font-display: 'Newsreader', Georgia, serif;
  --font-sans: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  --r-xs:4px; --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-2xl:28px; --r-pill:999px;
  --shadow-xs: 0 1px 2px oklch(0.20 0.01 75 / 0.05);
  --shadow-sm: 0 1px 2px oklch(0.20 0.01 75 / 0.06), 0 2px 6px oklch(0.20 0.01 75 / 0.05);
  --shadow-md: 0 2px 4px oklch(0.20 0.01 75 / 0.05), 0 8px 24px oklch(0.20 0.01 75 / 0.08);
  --shadow-lg: 0 4px 8px oklch(0.20 0.01 75 / 0.06), 0 18px 48px oklch(0.20 0.01 75 / 0.12);
  --shadow-signal: 0 6px 20px rgba(79,107,65,0.30);
  --shadow-inset: inset 0 1px 2px oklch(0.20 0.01 75 / 0.07);
  --ease-out: cubic-bezier(0.22,1,0.36,1); --ease-inout: cubic-bezier(0.65,0,0.35,1);
  --dur-fast:120ms; --dur-base:200ms; --dur-slow:360ms;
  --content-max:1200px;
}

/* ---------- TOKENS : DARK (also the base for MEDIUM's alternating sections) ---------- */
[data-theme="dark"], [data-theme="medium"] {
  color-scheme: dark;
  /* forest / olive palette (dark) */
  --paper-0: #14110E; --paper-1: #1C1814;
  --paper-2: #24201A; --paper-3: #2E2820;
  --ink-0: #F1ECE3; --ink-1: #CFC8BB;
  --ink-2: #A39C8E; --ink-3: #756E61;
  --line: #2A241F; --line-strong: #3B342B;
  --signal: #8AB267; --signal-deep: #98BF78;
  --signal-ink: #14110E;
  --mark-bg: #1A2416; --mark-text: #DFEFCB;
  --positive: oklch(0.720 0.150 152); --positive-wash: oklch(0.320 0.060 152);
  --negative: #D87265; --negative-wash: #3A211C;
  --info: oklch(0.700 0.120 245); --info-wash: oklch(0.300 0.055 245);
  --engine-perplexity: oklch(0.680 0.080 205); --engine-claude: oklch(0.740 0.120 52);
  --engine-chatgpt: oklch(0.740 0.115 168); --engine-gemini: oklch(0.700 0.175 285);
  --engine-google: oklch(0.720 0.160 262); --engine-reddit: oklch(0.730 0.180 38);
  --primary-hover: #E8E1D5;
  --shadow-signal: 0 6px 22px rgba(138,178,103,0.28);
  --focus-ring: rgba(138,178,103,0.5); --overlay: oklch(0.120 0.010 80 / 0.60);
  --shadow-xs: 0 1px 2px oklch(0 0 0 / 0.30);
  --shadow-sm: 0 1px 2px oklch(0 0 0 / 0.35), 0 2px 6px oklch(0 0 0 / 0.30);
  --shadow-md: 0 2px 4px oklch(0 0 0 / 0.35), 0 8px 24px oklch(0 0 0 / 0.45);
  --shadow-lg: 0 4px 8px oklch(0 0 0 / 0.40), 0 18px 48px oklch(0 0 0 / 0.55);
  --shadow-inset: inset 0 1px 2px oklch(0 0 0 / 0.35);
}

/* ============================================================
   COLOR PALETTE : AMBER (opt-in via data-palette="amber").
   Forest is the default (defined inline in the theme blocks
   above). Amber only re-skins the brand accent + citation
   highlight + destructive; the warm neutrals stay shared.
   ============================================================ */
/* amber on a light surface — the html in light, or any light-tagged
   block (medium-theme zebra sections) under an amber-palette root */
:root[data-palette="amber"]:not([data-theme="dark"]):not([data-theme="medium"]),
[data-palette="amber"] [data-theme="light"] {
  --signal: oklch(0.815 0.150 84); --signal-deep: oklch(0.660 0.140 72); --signal-ink: oklch(0.330 0.085 70);
  --mark-bg: oklch(0.905 0.110 92); --mark-text: oklch(0.300 0.060 65);
  --negative: oklch(0.560 0.165 27); --negative-wash: oklch(0.950 0.040 30);
  --focus-ring: oklch(0.660 0.140 72 / 0.55);
  --shadow-signal: 0 6px 20px oklch(0.66 0.14 72 / 0.28);
}
/* amber on a dark surface — the html in dark/medium, or any dark-tagged
   block (medium-theme zebra sections) under an amber-palette root */
[data-palette="amber"][data-theme="dark"],
[data-palette="amber"][data-theme="medium"],
[data-palette="amber"] [data-theme="dark"] {
  --signal: oklch(0.825 0.155 84); --signal-deep: oklch(0.800 0.150 82); --signal-ink: oklch(0.250 0.070 70);
  --mark-bg: oklch(0.470 0.110 84); --mark-text: oklch(0.965 0.030 92);
  --negative: oklch(0.680 0.170 28); --negative-wash: oklch(0.320 0.070 28);
  --focus-ring: oklch(0.800 0.150 82 / 0.55);
  --shadow-signal: 0 6px 22px oklch(0.66 0.14 72 / 0.30);
}

/* NOTE: the old `@media (prefers-color-scheme: dark)` fallback was removed.
   Every page hard-sets data-theme (and JS applies the saved theme), so it
   was never needed — and its higher-specificity `:root:not(...)` selector
   carried stale amber tokens that overrode the active theme/palette accent
   on system-dark devices (e.g. "dark + forest showed amber" on phones). */

/* ---------- RESET / BASE ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--font-sans); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection { background:var(--mark-bg); color:var(--mark-text); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font-family:inherit; }
:focus-visible { outline:2px solid var(--accent-deep); outline-offset:2px; border-radius:var(--r-xs); }
.tnum { font-variant-numeric:tabular-nums; }

/* ---------- SIGNATURE : citation mark + live dot ---------- */
.mark, mark.mn {
  background:var(--mark-bg); color:var(--mark-text);
  padding:.05em .28em; border-radius:var(--r-xs);
  box-decoration-break:clone; -webkit-box-decoration-break:clone;
  font-weight:var(--fw-medium);
}
.live-dot {
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--positive); box-shadow:0 0 0 0 var(--positive);
  animation:mn-pulse 2s var(--ease-out) infinite; flex:none;
}
@keyframes mn-pulse {
  0% { box-shadow:0 0 0 0 oklch(0.62 0.13 150 / .5); }
  70% { box-shadow:0 0 0 7px oklch(0.62 0.13 150 / 0); }
  100% { box-shadow:0 0 0 0 oklch(0.62 0.13 150 / 0); }
}
@media (prefers-reduced-motion:reduce){ .live-dot{ animation:none; } }

/* ---------- LAYOUT ---------- */
.page { max-width:var(--content-max); margin:0 auto; padding:0 28px; }
.kicker {
  font-family:var(--font-mono); font-size:11px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep);
  display:inline-flex; align-items:center; gap:8px;
}
.kicker.muted { color:var(--text-faint); }
.disp {
  font-family:var(--font-display); font-weight:500; line-height:1.05;
  letter-spacing:-.025em; color:var(--text); margin:0;
}
.disp em { font-style:italic; font-weight:400; }
.disp .sig { color:var(--signal); font-style:italic; font-weight:400; }
.lede { font-size:17px; line-height:1.6; color:var(--text-muted); margin:0; }

/* ---------- NAV / FOOTER ---------- */
.nav { display:flex; align-items:center; gap:18px; height:62px; }
.nav .brand { display:inline-flex; align-items:center; gap:9px; }
.nav .brand .wm { font-family:var(--font-display); font-weight:500; letter-spacing:-.02em; font-size:21px; color:var(--text); }
.nav .meta { margin-left:auto; display:flex; align-items:center; gap:12px; font-family:var(--font-mono); font-size:12px; color:var(--text-subtle); }
.footnote {
  margin-top:64px; padding:28px 0; border-top:1px solid var(--border);
  display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;
  font-family:var(--font-mono); font-size:12px; color:var(--text-subtle);
}
.footnote .wm { font-family:var(--font-display); font-weight:500; font-size:18px; color:var(--text); }

/* ---------- NOVA MARK (logomark) ---------- */
.nova { width:22px; height:22px; flex:none; }

/* ---------- BUTTONS ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--font-sans); font-weight:600; font-size:14px; line-height:1;
  padding:11px 18px; border-radius:var(--r-md); border:1px solid transparent;
  cursor:pointer; transition:all var(--dur-fast) var(--ease-out); white-space:nowrap;
  text-decoration:none;
}
.btn:active { transform:scale(.975); }
.btn .arr { font-family:var(--font-mono); transition:transform var(--dur-base) var(--ease-out); }
.btn:hover .arr { transform:translateX(3px); }
.btn-primary { background:var(--primary); color:var(--primary-text); }
.btn-primary:hover { background:var(--primary-hover); }
.btn-signal { background:var(--signal); color:var(--signal-ink); box-shadow:var(--shadow-signal); }
.btn-signal:hover { filter:brightness(1.04); }
.btn-secondary { background:transparent; color:var(--text); border-color:var(--border-strong); }
.btn-secondary:hover { background:var(--surface-2); border-color:var(--text-faint); }
.btn-ghost { background:transparent; color:var(--text-muted); padding:9px 12px; }
.btn-ghost:hover { color:var(--text); background:var(--surface-2); }
.btn-lg { font-size:15px; padding:14px 22px; }
.btn-sm { font-size:13px; padding:8px 13px; }
.btn-full { width:100%; }

/* ---------- CARD ---------- */
.card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow-sm);
}
.card.md { box-shadow:var(--shadow-md); }
.card.lg { box-shadow:var(--shadow-lg); }
.card.sunken { background:var(--surface-sunken); box-shadow:var(--shadow-inset); }

/* ---------- BADGE / TAG ---------- */
.badge {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.02em;
  padding:3px 9px; border-radius:var(--r-pill); border:1px solid var(--border);
  background:var(--surface-2); color:var(--text-subtle);
}
.badge .d { width:6px; height:6px; border-radius:50%; background:currentColor; }
.badge.signal { color:var(--signal-deep); border-color:color-mix(in oklab,var(--signal) 40%,transparent); background:color-mix(in oklab,var(--signal) 9%,transparent); }
.badge.positive { color:var(--positive); border-color:color-mix(in oklab,var(--positive) 40%,transparent); background:color-mix(in oklab,var(--positive) 9%,transparent); }
.badge.negative { color:var(--negative); border-color:color-mix(in oklab,var(--negative) 40%,transparent); background:color-mix(in oklab,var(--negative) 9%,transparent); }
.badge.info { color:var(--info); border-color:color-mix(in oklab,var(--info) 40%,transparent); background:color-mix(in oklab,var(--info) 9%,transparent); }

/* ---------- ENGINE CHIP ---------- */
.eng { display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:13px; font-weight:500; color:var(--text); white-space:nowrap; }
.eng .dot { width:11px; height:11px; border-radius:50%; flex:none; }
.eng.sm { font-size:11.5px; }
.eng.sm .dot { width:9px; height:9px; }
.eng.lg { font-size:15px; }
.eng.lg .dot { width:13px; height:13px; }
.eng.solid { padding:5px 11px 5px 9px; border-radius:var(--r-pill); border:1px solid var(--border); background:var(--surface); }
.e-perplexity .dot,.dot.e-perplexity { background:var(--engine-perplexity); }
.e-claude .dot,.dot.e-claude { background:var(--engine-claude); }
.e-chatgpt .dot,.dot.e-chatgpt { background:var(--engine-chatgpt); }
.e-gemini .dot,.dot.e-gemini { background:var(--engine-gemini); }
.e-google .dot,.dot.e-google { background:var(--engine-google); }
.e-reddit .dot,.dot.e-reddit { background:var(--engine-reddit); }

/* ---------- STAT TILE ---------- */
.stat { display:flex; flex-direction:column; gap:4px; }
.stat .v { font-family:var(--font-display); font-weight:500; font-size:34px; line-height:1; letter-spacing:-.02em; color:var(--text); font-variant-numeric:tabular-nums; }
.stat .v.sig { color:var(--signal); }
.stat .l { font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint); }
.stat .delta { font-family:var(--font-mono); font-size:12px; font-weight:600; }
.stat .delta.up { color:var(--positive); } .stat .delta.down { color:var(--negative); }

/* ---------- SLIDER ---------- */
.range { -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:var(--r-pill); background:var(--surface-2); outline:none; cursor:pointer; }
.range::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%; background:var(--signal); border:3px solid var(--bg); box-shadow:var(--shadow-sm); cursor:pointer; transition:transform var(--dur-fast); }
.range::-webkit-slider-thumb:hover { transform:scale(1.12); }
.range::-moz-range-thumb { width:20px; height:20px; border-radius:50%; background:var(--signal); border:3px solid var(--bg); cursor:pointer; }
.field-label { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.field-label .l { font-size:13.5px; color:var(--text-muted); font-weight:500; }
.field-label .v { font-family:var(--font-mono); font-size:14px; font-weight:600; color:var(--text); }

/* ---------- INPUT ---------- */
.input { display:inline-flex; align-items:center; gap:0; background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--r-md); overflow:hidden; }
.input .px { font-family:var(--font-mono); font-size:13px; color:var(--text-faint); padding:0 0 0 12px; }
.input input { border:none; background:transparent; outline:none; color:var(--text); font-family:var(--font-mono); font-size:14px; padding:11px 12px; flex:1; min-width:0; }

/* ---------- THEME TOGGLE (shared) ---------- */
.theme-tog {
  position:fixed; top:14px; right:14px; z-index:9999; display:inline-flex; align-items:center; gap:7px;
  padding:6px 11px; border-radius:var(--r-pill); border:1px solid var(--border);
  background:color-mix(in oklab,var(--surface) 80%,transparent); backdrop-filter:blur(8px);
  font-family:var(--font-mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-subtle); cursor:pointer; transition:all var(--dur-base) var(--ease-out);
}
.theme-tog:hover { color:var(--text); border-color:var(--border-strong); }
.theme-tog .sw { display:inline-flex; width:20px; height:20px; border-radius:50%; align-items:center; justify-content:center; background:var(--surface-2); color:var(--signal); }

/* ---------- THEME SWITCH (3-way: light / medium / dark) ---------- */
.theme-switch {
  position:fixed; top:76px; right:16px; z-index:9999;
  display:inline-flex; align-items:center; gap:2px; padding:3px;
  border-radius:var(--r-pill); border:1px solid var(--border);
  background:color-mix(in oklab, var(--surface) 80%, transparent);
  backdrop-filter:blur(10px); box-shadow:var(--shadow-sm);
}
.theme-switch button {
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; padding:0; border:none; border-radius:var(--r-pill);
  background:transparent; color:var(--text-subtle); cursor:pointer;
  transition:color var(--dur-fast), background var(--dur-fast), transform var(--dur-fast);
}
.theme-switch button:hover { color:var(--text); background:var(--surface-2); }
.theme-switch button:active { transform:scale(.92); }
.theme-switch button[aria-pressed="true"] { color:var(--signal-ink); background:var(--signal); }
.theme-switch svg { display:block; }
@media (max-width:560px){ .theme-switch { top:auto; bottom:16px; right:16px; } .theme-switch button { width:28px; height:28px; } }

/* ---------- PALETTE SWITCH (forest / amber) — sits under the theme switch ---------- */
.palette-switch {
  position:fixed; top:120px; right:16px; z-index:9999;
  display:inline-flex; align-items:center; gap:2px; padding:3px;
  border-radius:var(--r-pill); border:1px solid var(--border);
  background:color-mix(in oklab, var(--surface) 80%, transparent);
  backdrop-filter:blur(10px); box-shadow:var(--shadow-sm);
}
.palette-switch button {
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; padding:0; border:none; border-radius:var(--r-pill);
  background:transparent; cursor:pointer; transition:background var(--dur-fast);
}
.palette-switch button:hover { background:var(--surface-2); }
.palette-switch button[aria-pressed="true"] { background:var(--surface-2); box-shadow:inset 0 0 0 1.5px var(--signal); }
.palette-switch .pswatch { width:15px; height:15px; border-radius:50%; box-shadow:inset 0 0 0 1px rgba(0,0,0,0.18); }
@media (max-width:560px){ .palette-switch { top:auto; bottom:58px; right:16px; } .palette-switch button { width:28px; height:28px; } }

/* ---------- SHARED CALCULATOR SHELL ---------- */
.calc { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--shadow-md); background:var(--surface); margin-top:22px; }
@media(max-width:780px){ .calc { grid-template-columns:1fr; } }
.calc .inputs { padding:30px; border-right:1px solid var(--border); }
@media(max-width:780px){ .calc .inputs { border-right:none; border-bottom:1px solid var(--border); } }
.calc .inputs h2 { font-family:var(--font-display); font-weight:500; font-size:23px; margin:0 0 4px; color:var(--text); }
.calc .inputs .sub { font-size:13.5px; color:var(--text-muted); margin:0 0 24px; }
.calc .fld { margin-bottom:22px; }
.calc .fld:last-child { margin-bottom:0; }
.calc .out { padding:30px; background:var(--surface-sunken); display:flex; flex-direction:column; }
.calc .big-label { font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--text-faint); }
.calc .big { font-family:var(--font-display); font-weight:500; font-size:clamp(44px,7vw,64px); line-height:1; letter-spacing:-.03em; margin:8px 0 2px; font-variant-numeric:tabular-nums; color:var(--signal); }
.calc .big.neg { color:var(--negative); }
.calc .big-sub { font-size:14px; color:var(--text-muted); }
.calc .out-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
.calc .out-grid.g3 { grid-template-columns:1fr 1fr 1fr; gap:12px; }
.calc .out-tile { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:14px 16px; }
.calc .out-tile .v { font-family:var(--font-display); font-size:25px; color:var(--text); line-height:1; font-variant-numeric:tabular-nums; }
.calc .out-tile .v.pos { color:var(--positive); }
.calc .out-tile .l { font-family:var(--font-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--text-faint); margin-top:6px; }
.calc .out-cta { margin-top:auto; padding-top:22px; }
.calc .recover-box { background:color-mix(in oklab,var(--signal) 10%,transparent); border:1px solid color-mix(in oklab,var(--signal) 35%,transparent); border-radius:var(--r-md); padding:15px 17px; font-size:13.5px; color:var(--text-muted); line-height:1.5; }
.calc .recover-box b { color:var(--signal-deep); font-weight:600; }
.calc .seg-ctl { display:inline-flex; border:1px solid var(--border); border-radius:var(--r-pill); padding:2px; background:var(--surface-2); flex-wrap:wrap; }
.calc .seg-ctl button { appearance:none; border:none; cursor:pointer; padding:7px 13px; border-radius:var(--r-pill); font-family:var(--font-mono); font-size:11.5px; font-weight:600; background:transparent; color:var(--text-subtle); transition:all var(--dur-fast); }
.calc .seg-ctl button[aria-pressed="true"] { background:var(--ink-0); color:var(--paper-0); }
.calc .splitbar { display:flex; height:34px; border-radius:var(--r-sm); overflow:hidden; margin-top:24px; border:1px solid var(--border); }
.calc .splitbar .seg { display:flex; align-items:center; justify-content:center; font-family:var(--font-mono); font-size:11px; font-weight:600; transition:flex .4s var(--ease-out); white-space:nowrap; overflow:hidden; }
.calc-hero { margin-top:30px; max-width:62ch; }
.calc-hero h1 { font-family:var(--font-display); font-weight:500; font-size:clamp(30px,4.4vw,46px); line-height:1.05; letter-spacing:-.025em; margin:16px 0 0; color:var(--text); }
.calc-hero h1 .sig { color:var(--signal); font-style:italic; font-weight:400; }

/* Mentionova logo: the star spins with scroll (driven by site.js); the satellite dot stays fixed */
.nova-star { transform-box:fill-box; transform-origin:center; will-change:transform; }
