/* ============================================================
   RADAR · shared site styles
   - radar-console aesthetic, dark default + light theme
   - typography: Inter Tight (display + UI), JetBrains Mono (numerics/code)
   ============================================================ */

/* ===== Theme tokens ===== */
:root,
[data-theme="dark"] {
  --c-bg: 5 8 15;
  --c-bg-soft: 8 12 23;
  --c-panel: 13 19 34;
  --c-panel-2: 19 28 48;
  --c-line: 230 236 245;
  --c-line-a: 0.06;
  --c-line-strong-a: 0.12;
  --c-chalk: 230 236 245;
  --c-mute: 138 150 172;
  --c-mute-2: 92 102 122;

  --signal: #22e88a;
  --signal-soft: #5cf2a8;
  --signal-deep: #10b271;
  --signal-rgb: 34, 232, 138;       /* parametric — use as rgba(var(--signal-rgb), X) */
  --signal-ink: #22e88a;             /* accent TEXT color on this theme */
  --signal-ink-rgb: 34, 232, 138;
  --signal-bg: #22e88a;              /* color used for FILLED signal surfaces (buttons) */
  --signal-bg-ink: #05080f;          /* foreground that goes ON --signal-bg */
  --cyan: #5be9ff;
  --amber: #ffb547;
  --rose: #ff6b8a;

  --grid-stroke: 124 156 200;
  --grid-a: 0.06;
  --grid-fine-a: 0.04;
  --grain-opacity: 0.06;
  --grain-blend: overlay;
  --sweep-blend: screen;

  --surface-from: 19 28 48;
  --surface-to: 11 17 32;
  --surface-border-a: 0.10;

  --vignette-1: rgba(34, 232, 138, 0.10);
  --vignette-2: rgba(91, 233, 255, 0.05);

  --spot-color: rgba(34, 232, 138, 0.08);
  --spot-stop: rgba(34, 232, 138, 0);

  color-scheme: dark;
}

[data-theme="light"] {
  /* Warm-paper neutrals (not blue-white). Higher border opacity for crisp cards. */
  --c-bg: 250 249 245;
  --c-bg-soft: 255 254 251;
  --c-panel: 252 251 247;
  --c-panel-2: 246 244 238;
  --c-line: 24 32 48;
  --c-line-a: 0.11;
  --c-line-strong-a: 0.18;
  --c-chalk: 16 22 36;
  --c-mute: 78 88 108;
  --c-mute-2: 116 128 150;

  /* Signal — DEEP accessible green for white backgrounds */
  --signal: #0a9358;
  --signal-soft: #16a865;
  --signal-deep: #04663b;
  --signal-rgb: 10, 147, 88;
  --signal-ink: #04663b;             /* even deeper for inline text */
  --signal-ink-rgb: 4, 102, 59;
  --signal-bg: #0a9358;
  --signal-bg-ink: #ffffff;

  --grid-stroke: 24 32 48;
  --grid-a: 0.055;
  --grid-fine-a: 0.04;
  --grain-opacity: 0.045;
  --grain-blend: multiply;
  --sweep-blend: multiply;

  --surface-from: 255 254 251;
  --surface-to: 246 244 238;
  --surface-border-a: 0.12;

  --vignette-1: rgba(4, 102, 59, 0.06);
  --vignette-2: rgba(20, 100, 160, 0.04);

  --spot-color: rgba(4, 102, 59, 0.05);
  --spot-stop: rgba(4, 102, 59, 0);

  color-scheme: light;
}

/* ===== Base ===== */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }
body {
  background: rgb(var(--c-bg));
  color: rgb(var(--c-chalk));
  font-family: 'Inter Tight', 'Inter', system-ui, -apple-system, sans-serif;
  font-feature-settings: 'ss01', 'cv11';
  font-size: 16px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  transition: background-color .25s ease, color .25s ease;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

::selection { background: var(--signal); color: #05080f; }

.mono { font-family: 'JetBrains Mono', ui-monospace, monospace; font-feature-settings: 'tnum'; }
.tnum { font-variant-numeric: tabular-nums; }

.container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
@media (max-width: 640px) { .container { padding: 0 20px; } }

.row { display: flex; align-items: center; }
.between { justify-content: space-between; }
.gap-2 { gap: 8px; } .gap-3 { gap: 12px; } .gap-4 { gap: 16px; } .gap-6 { gap: 24px; }

.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--signal);
}
.eyebrow.muted { color: rgb(var(--c-mute)); }

.dot-live {
  display: inline-block;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--signal);
  box-shadow: 0 0 0 0 rgba(34, 232, 138, 0.7);
  animation: pulse-live 2s infinite;
}
@keyframes pulse-live {
  0%   { box-shadow: 0 0 0 0 rgba(34, 232, 138, 0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(34, 232, 138, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 232, 138, 0); }
}

/* ===== Backdrops ===== */
.grid-bg {
  background-image:
    linear-gradient(rgb(var(--grid-stroke) / var(--grid-a)) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--grid-stroke) / var(--grid-a)) 1px, transparent 1px);
  background-size: 56px 56px;
  background-position: -1px -1px;
}
.grid-bg-fine {
  background-image:
    linear-gradient(rgb(var(--grid-stroke) / var(--grid-fine-a)) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--grid-stroke) / var(--grid-fine-a)) 1px, transparent 1px);
  background-size: 24px 24px;
}
.grain::before {
  content: '';
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.5 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
  opacity: var(--grain-opacity);
  pointer-events: none;
  mix-blend-mode: var(--grain-blend);
  z-index: 1;
}
.vignette {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, var(--vignette-1), transparent 60%),
    radial-gradient(ellipse 80% 80% at 50% 100%, var(--vignette-2), transparent 60%);
}
.scanlines::after {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(
    180deg,
    transparent 0px, transparent 2px,
    rgba(255,255,255,0.025) 2px, rgba(255,255,255,0.025) 3px
  );
  mix-blend-mode: overlay;
  z-index: 2;
}

/* ===== Cursor spotlight (dark mode only) ===== */
.cursor-spot {
  position: fixed; inset: 0;
  pointer-events: none;
  z-index: 2;
  background: radial-gradient(
    400px circle at var(--mx, 50%) var(--my, 50%),
    var(--spot-color), var(--spot-stop) 60%);
  transition: opacity .3s ease;
  mix-blend-mode: screen;
}
[data-theme="light"] .cursor-spot { mix-blend-mode: multiply; }

/* ===== Surfaces & buttons ===== */
.surface {
  background: linear-gradient(180deg, rgb(var(--surface-from) / 0.75), rgb(var(--surface-to) / 0.75));
  border: 1px solid rgb(var(--c-line) / var(--surface-border-a));
  border-radius: 12px;
}
.surface-flat {
  background: rgb(var(--c-panel));
  border: 1px solid rgb(var(--c-line) / var(--surface-border-a));
  border-radius: 12px;
}
.surface-hover { transition: border-color .2s ease, transform .2s ease, background .2s ease; }
.surface-hover:hover { border-color: rgba(34, 232, 138, 0.4); transform: translateY(-2px); }

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 500;
  padding: 10px 16px;
  border-radius: 8px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}
.btn-primary {
  background: var(--signal);
  color: #05080f;
  box-shadow: 0 0 0 1px rgba(34,232,138,0.45), 0 12px 32px -8px rgba(34,232,138,0.45);
}
.btn-primary:hover {
  background: var(--signal-soft);
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(34,232,138,0.55), 0 16px 38px -10px rgba(34,232,138,0.65);
}
.btn-ghost {
  color: rgb(var(--c-chalk));
  border-color: rgb(var(--c-line) / 0.18);
}
.btn-ghost:hover {
  border-color: rgba(34, 232, 138, 0.5);
  background: rgba(34, 232, 138, 0.06);
  transform: translateY(-1px);
}
.btn-lg { padding: 12px 20px; font-size: 14px; }
.btn-sm { padding: 7px 12px; font-size: 12px; }

.cta-arrow { width: 14px; height: 14px; transition: transform .2s ease; }
.btn:hover .cta-arrow { transform: translateX(2px); }

/* Magnetic CTA wrapper (positioning handled via JS) */
.magnetic { display: inline-block; transition: transform .15s ease; }

/* ===== Typography scale (editorial) ===== */
.h-display {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.04em;
  line-height: 0.98;
  font-size: clamp(44px, 8vw, 112px);
  text-wrap: balance;
}
.h-1 {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.02;
  font-size: clamp(40px, 6vw, 80px);
  text-wrap: balance;
}
.h-2 {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.06;
  font-size: clamp(28px, 4vw, 48px);
  text-wrap: balance;
}
.h-3 {
  font-family: 'Inter Tight', system-ui, sans-serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.15;
  font-size: clamp(20px, 2.2vw, 24px);
}
.lede {
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.55;
  color: rgb(var(--c-chalk) / 0.72);
  max-width: 62ch;
  text-wrap: pretty;
}

/* ===== Navigation ===== */
.nav-wrap {
  position: sticky; top: 0; z-index: 50;
  background: rgb(var(--c-bg) / 0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgb(var(--c-line) / var(--c-line-a));
}
.nav-inner {
  height: 56px;
  display: flex; align-items: center; justify-content: space-between;
}
.brand {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 600; font-size: 15px; letter-spacing: -0.01em;
}
.brand-mark { width: 26px; height: 26px; flex-shrink: 0; }

.nav-links {
  display: none;
  align-items: center; gap: 6px;
  list-style: none; padding: 0; margin: 0;
}
@media (min-width: 1024px) { .nav-links { display: flex; } }
.nav-link {
  position: relative;
  padding: 8px 12px;
  color: rgb(var(--c-chalk) / 0.78);
  font-size: 13.5px;
  border-radius: 6px;
  transition: color .15s ease, background .15s ease;
}
.nav-link:hover, .nav-link[aria-expanded="true"] { color: rgb(var(--c-chalk)); background: rgb(var(--c-line) / 0.05); }
.nav-link svg { width: 12px; height: 12px; opacity: 0.6; }

/* Mega menu panel */
.mega {
  position: absolute; left: 50%; top: 100%;
  transform: translateX(-50%) translateY(8px);
  width: min(880px, 92vw);
  background: rgb(var(--c-bg-soft) / 0.96);
  backdrop-filter: blur(20px);
  border: 1px solid rgb(var(--c-line) / var(--c-line-a));
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 20px 60px -12px rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.mega.open { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(4px); }
.mega-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; }
.mega-grid.three { grid-template-columns: 1fr 1fr 1fr; gap: 22px; }
.mega-col h4 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgb(var(--c-mute));
  margin: 0 0 12px 0;
  font-weight: 500;
}
.mega-item {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 10px;
  margin: 0 -10px;
  border-radius: 8px;
  transition: background .15s ease;
}
.mega-item:hover { background: rgb(var(--c-line) / 0.05); }
.mega-item-icon {
  flex-shrink: 0;
  width: 32px; height: 32px;
  background: rgb(var(--signal) / 0.08);
  border: 1px solid rgba(34, 232, 138, 0.25);
  border-radius: 7px;
  display: grid; place-items: center;
  color: var(--signal);
}
.mega-item-title { font-size: 13.5px; font-weight: 500; color: rgb(var(--c-chalk)); margin: 0 0 2px 0; }
.mega-item-sub { font-size: 12px; color: rgb(var(--c-mute)); margin: 0; line-height: 1.4; }
.mega-feature {
  position: relative;
  background: rgb(var(--c-panel) / 0.5);
  border: 1px solid rgb(var(--c-line) / var(--c-line-a));
  border-radius: 10px;
  padding: 16px;
  overflow: hidden;
}
.mega-feature-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--signal);
}
.mega-feature h5 {
  font-size: 16px; font-weight: 600; letter-spacing: -0.01em;
  margin: 8px 0 6px 0;
}
.mega-feature p { font-size: 12.5px; color: rgb(var(--c-mute)); line-height: 1.45; margin: 0; }

/* Right-aligned actions */
.nav-actions { display: flex; align-items: center; gap: 6px; }
.kbd-hint {
  display: none;
  align-items: center; gap: 6px;
  padding: 6px 10px;
  border: 1px solid rgb(var(--c-line) / 0.14);
  border-radius: 8px;
  color: rgb(var(--c-mute));
  font-size: 12px;
}
@media (min-width: 768px) { .kbd-hint { display: inline-flex; } }
.kbd-hint:hover { border-color: rgba(34, 232, 138, 0.5); color: rgb(var(--c-chalk)); }
.kbd {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  padding: 2px 5px; border-radius: 3px;
  background: rgb(var(--c-line) / 0.08);
  border: 1px solid rgb(var(--c-line) / 0.10);
}

/* Theme toggle */
.theme-toggle {
  position: relative;
  width: 52px; height: 28px;
  border-radius: 999px;
  border: 1px solid rgb(var(--c-line) / 0.18);
  background: rgb(var(--c-panel) / 0.7);
  display: inline-flex; align-items: center;
  padding: 0 4px;
  transition: border-color .18s ease;
}
.theme-toggle:hover { border-color: rgba(34, 232, 138, 0.55); }
.theme-toggle .knob {
  position: absolute;
  top: 3px; left: 3px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--signal);
  box-shadow: 0 0 10px rgba(34,232,138,0.5);
  transition: transform .22s cubic-bezier(.4,0,.2,1), background .22s ease;
}
[data-theme="light"] .theme-toggle .knob { transform: translateX(24px); background: var(--signal-deep); box-shadow: 0 0 8px rgba(16,178,113,0.35); }
.theme-toggle svg { width: 12px; height: 12px; position: relative; z-index: 1; color: rgb(var(--c-chalk)); }
.theme-toggle .moon, .theme-toggle .sun { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; position: relative; z-index: 1; transition: opacity .2s ease; color: rgb(var(--c-chalk)); }
.theme-toggle .sun { margin-left: auto; }
[data-theme="light"] .theme-toggle .sun { opacity: 0.95; }
[data-theme="light"] .theme-toggle .moon { opacity: 0.4; }
[data-theme="dark"] .theme-toggle .moon { opacity: 0.95; }

/* ===== Command palette ===== */
.palette-shell {
  position: fixed; inset: 0;
  z-index: 100;
  display: none;
  align-items: flex-start; justify-content: center;
  padding: 12vh 16px 16px;
  background: rgb(var(--c-bg) / 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity .15s ease;
}
.palette-shell.open { display: flex; opacity: 1; }
.palette {
  width: min(640px, 100%);
  background: rgb(var(--c-bg-soft));
  border: 1px solid rgb(var(--c-line) / var(--c-line-strong-a));
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 30px 80px -20px rgba(0,0,0,0.6);
  transform: translateY(-8px);
  transition: transform .18s ease;
}
.palette-shell.open .palette { transform: translateY(0); }
.palette-input-row {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid rgb(var(--c-line) / var(--c-line-a));
}
.palette-input-row svg { color: var(--signal); flex-shrink: 0; }
.palette input {
  flex: 1;
  background: transparent;
  border: none; outline: none;
  color: rgb(var(--c-chalk));
  font-size: 15px;
  font-family: inherit;
}
.palette input::placeholder { color: rgb(var(--c-mute)); }
.palette-close-hint {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; color: rgb(var(--c-mute));
  padding: 3px 7px; border-radius: 4px;
  border: 1px solid rgb(var(--c-line) / 0.12);
}
.palette-results { max-height: 60vh; overflow-y: auto; padding: 8px; }
.palette-group-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgb(var(--c-mute));
  padding: 8px 12px 4px;
}
.palette-item {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  cursor: pointer;
  color: rgb(var(--c-chalk));
}
.palette-item:hover, .palette-item[data-active] { background: rgb(var(--signal) / 0.10); }
.palette-item-mark {
  width: 26px; height: 26px;
  border-radius: 6px;
  background: rgb(var(--signal) / 0.10);
  border: 1px solid rgba(34, 232, 138, 0.3);
  display: grid; place-items: center;
  color: var(--signal);
  flex-shrink: 0;
}
.palette-item-title { font-size: 13.5px; }
.palette-item-sub { font-size: 11.5px; color: rgb(var(--c-mute)); margin-left: auto; font-family: 'JetBrains Mono', monospace; }
.palette-empty { padding: 30px 16px; text-align: center; color: rgb(var(--c-mute)); font-size: 13px; }

/* ===== Floating demo CTA (after scroll) ===== */
.float-cta {
  position: fixed; right: 18px; bottom: 18px;
  z-index: 40;
  opacity: 0; pointer-events: none;
  transform: translateY(10px) scale(0.95);
  transition: opacity .2s ease, transform .2s ease;
}
.float-cta.visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }

/* ===== Page transition overlay ===== */
.page-trans {
  position: fixed; inset: 0; z-index: 200;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(180deg, rgb(var(--c-bg-soft) / 0.92), rgb(var(--c-bg) / 0.92));
  transition: opacity .25s ease;
}
.page-trans.show { opacity: 1; }
.page-trans-mark {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  color: var(--signal);
}

/* Initial fade-in for page content */
body { opacity: 0; animation: page-in .35s ease forwards .05s; }
@keyframes page-in { to { opacity: 1; } }

/* ===== Reveal on scroll ===== */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: translateY(0); }

/* ===== Footer ===== */
.footer-wrap {
  position: relative;
  border-top: 1px solid rgb(var(--c-line) / var(--c-line-a));
  padding: 80px 0 32px;
  overflow: hidden;
}
.footer-wrap::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgb(var(--grid-stroke) / 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--grid-stroke) / 0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.4fr 2.4fr;
  gap: 40px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgb(var(--c-line) / var(--c-line-a));
  position: relative;
}
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr; } }
.footer-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
@media (max-width: 900px) { .footer-cols { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .footer-cols { grid-template-columns: repeat(2, 1fr); } }
.footer-col h5 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgb(var(--c-mute)); margin: 0 0 14px 0; font-weight: 500;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.footer-col a { font-size: 13px; color: rgb(var(--c-chalk) / 0.75); transition: color .15s ease; }
.footer-col a:hover { color: rgb(var(--c-chalk)); }
.footer-brand p { font-size: 13.5px; line-height: 1.55; color: rgb(var(--c-chalk) / 0.7); max-width: 36ch; }
.footer-newsletter { margin-top: 20px; }
.footer-newsletter label { display: block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: rgb(var(--c-mute)); margin-bottom: 8px; }
.footer-newsletter .row { display: flex; max-width: 320px; }
.footer-newsletter input {
  flex: 1;
  background: rgb(var(--c-panel));
  border: 1px solid rgb(var(--c-line) / 0.10);
  border-right: none;
  border-radius: 8px 0 0 8px;
  padding: 10px 12px;
  font: inherit;
  font-size: 13px;
  color: rgb(var(--c-chalk));
  outline: none;
}
.footer-newsletter input:focus { border-color: var(--signal); }
.footer-newsletter button {
  background: var(--signal); color: #05080f;
  padding: 0 14px;
  border: none;
  border-radius: 0 8px 8px 0;
  font-size: 13px; font-weight: 500;
}
.footer-bottom {
  padding-top: 24px;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 16px;
  position: relative;
}
.footer-meta { display: flex; gap: 20px; flex-wrap: wrap; color: rgb(var(--c-mute)); font-family: 'JetBrains Mono', monospace; font-size: 11px; }
.footer-meta a:hover { color: rgb(var(--c-chalk)); }
.footer-social { display: flex; gap: 8px; }
.footer-social a {
  width: 32px; height: 32px; border-radius: 7px;
  border: 1px solid rgb(var(--c-line) / 0.10);
  display: grid; place-items: center;
  color: rgb(var(--c-mute));
  transition: border-color .15s ease, color .15s ease;
}
.footer-social a:hover { border-color: rgba(34,232,138,0.55); color: rgb(var(--c-chalk)); }

/* ===== Focus ===== */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ===== Utilities ===== */
.muted { color: rgb(var(--c-mute)); }
.chalk { color: rgb(var(--c-chalk)); }
.signal { color: var(--signal); }
.text-amber { color: var(--amber); }
.text-rose { color: var(--rose); }
.text-cyan { color: var(--cyan); }

.divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgb(var(--c-line) / var(--c-line-strong-a)), transparent);
}

.tag {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 9px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase;
  background: rgb(var(--c-line) / 0.06);
  border: 1px solid rgb(var(--c-line) / 0.10);
  border-radius: 999px;
  color: rgb(var(--c-chalk) / 0.8);
}
.tag.signal { background: rgb(var(--signal) / 0.10); border-color: rgba(34,232,138,0.3); color: var(--signal); }
.tag.amber { background: rgba(255, 181, 71, 0.10); border-color: rgba(255, 181, 71, 0.35); color: var(--amber); }
.tag.rose  { background: rgba(255, 107, 138, 0.10); border-color: rgba(255, 107, 138, 0.35); color: var(--rose); }

/* breadcrumbs */
.crumbs { display: flex; align-items: center; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 11px; color: rgb(var(--c-mute)); }
.crumbs a { transition: color .15s ease; }
.crumbs a:hover { color: var(--signal); }
.crumbs .sep { opacity: 0.4; }

/* ===== Corner brackets ===== */
.corner-brackets { position: relative; }
.corner-brackets::before, .corner-brackets::after {
  content: '';
  position: absolute;
  width: 14px; height: 14px;
  border: 1px solid rgba(34,232,138,0.7);
}
.corner-brackets::before { top: 10px; left: 10px; border-right: none; border-bottom: none; }
.corner-brackets::after { bottom: 10px; right: 10px; border-left: none; border-top: none; }

/* ===== Radar visuals (reusable across pages) ===== */
.radar-stage { position: relative; aspect-ratio: 1 / 1; width: 100%; }
.radar-rings circle { fill: none; stroke: rgba(34, 232, 138, 0.18); stroke-width: 1; }
.radar-rings circle:nth-child(odd) { stroke: rgba(34, 232, 138, 0.10); }
.radar-crosshair line { stroke: rgba(34, 232, 138, 0.10); stroke-width: 1; stroke-dasharray: 2 4; }
.radar-sweep {
  position: absolute; inset: 6%;
  border-radius: 50%;
  background: conic-gradient(from 0deg,
    rgba(34, 232, 138, 0) 0deg,
    rgba(34, 232, 138, 0) 270deg,
    rgba(34, 232, 138, 0.05) 320deg,
    rgba(34, 232, 138, 0.45) 358deg,
    rgba(34, 232, 138, 0.85) 360deg,
    rgba(34, 232, 138, 0) 360deg);
  animation: radar-spin 5s linear infinite;
  mix-blend-mode: var(--sweep-blend);
  -webkit-mask-image: radial-gradient(circle, black 99%, transparent 100%);
          mask-image: radial-gradient(circle, black 99%, transparent 100%);
}
@keyframes radar-spin { to { transform: rotate(360deg); } }
.radar-center-dot {
  position: absolute; left: 50%; top: 50%;
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--signal);
  box-shadow: 0 0 12px rgba(34,232,138,0.9), 0 0 32px rgba(34,232,138,0.4);
  transform: translate(-50%, -50%);
}
.blip { position: absolute; transform: translate(-50%, -50%); pointer-events: none; }
.blip-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--signal);
  box-shadow: 0 0 10px rgba(34, 232, 138, 0.6);
  animation: blip-pulse 2.6s ease-out infinite;
}
@keyframes blip-pulse {
  0%, 70%, 100% { transform: scale(1); opacity: 0.95; }
  10% { transform: scale(1.5); opacity: 1; }
}

/* sr-only */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* hide scrollbar */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* tile bg utility (for compare matrix) */
.cell-on  { background: rgba(34, 232, 138, 0.10); color: var(--signal); }
.cell-off { background: rgba(255, 107, 138, 0.07); color: var(--rose); }
.cell-mid { background: rgba(255, 181, 71, 0.08); color: var(--amber); }

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

/* ============================================================
   POLISH LAYER — site-wide micro-interactions, refined chrome
   ============================================================ */

/* Smoother global type rendering */
body {
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

/* Selection color stays signal-green, but with better contrast in both themes */
[data-theme="light"] ::selection { background: var(--signal-deep); color: #fff; }

/* Surface-hover sheen — applies a faint signal glow on cards across the site */
.surface-hover, .uc-card, .compare-card, .price-card, .quote, .metric, .why-cell,
.mega-feature, .palette-item {
  position: relative;
}
.uc-card::after, .compare-card::after, .price-card::after, .quote::after, .metric::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: radial-gradient(
    200px circle at var(--mx, -200px) var(--my, -200px),
    rgba(34, 232, 138, 0.10),
    transparent 60%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.uc-card:hover::after, .compare-card:hover::after, .price-card:hover::after,
.quote:hover::after, .metric:hover::after { opacity: 1; }

/* Stronger card-hover lift + edge brightening */
.uc-card:hover, .compare-card:hover, .quote:hover, .metric:hover {
  border-color: rgba(34, 232, 138, 0.45);
  transform: translateY(-3px);
  box-shadow: 0 14px 32px -16px rgba(34, 232, 138, 0.30);
}
[data-theme="light"] .uc-card:hover,
[data-theme="light"] .compare-card:hover,
[data-theme="light"] .quote:hover,
[data-theme="light"] .metric:hover {
  border-color: rgba(16, 178, 113, 0.45);
  box-shadow: 0 14px 32px -16px rgba(16, 178, 113, 0.25);
}

/* Button: refined hover physics */
.btn { will-change: transform; }
.btn-primary:active { transform: translateY(0); box-shadow: 0 0 0 1px rgba(34,232,138,0.55), 0 4px 12px -2px rgba(34,232,138,0.35); }
.btn-ghost:active { transform: translateY(0); background: rgba(34, 232, 138, 0.08); }

/* Nav-link underline animation on hover */
.nav-link::after {
  content: '';
  position: absolute;
  left: 12px; right: 12px; bottom: 4px;
  height: 1px;
  background: var(--signal);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.nav-link:hover::after { transform: scaleX(0.55); }
.nav-link[aria-current="page"]::after { transform: scaleX(0.55); }

/* Reveal stagger — children of .reveal-stagger animate in sequence */
.reveal-stagger > * {
  opacity: 0; transform: translateY(12px);
  transition: opacity .65s cubic-bezier(.4,0,.2,1), transform .65s cubic-bezier(.4,0,.2,1);
}
.reveal-stagger.in > * { opacity: 1; transform: translateY(0); }
.reveal-stagger.in > *:nth-child(1) { transition-delay: 0.00s; }
.reveal-stagger.in > *:nth-child(2) { transition-delay: 0.06s; }
.reveal-stagger.in > *:nth-child(3) { transition-delay: 0.12s; }
.reveal-stagger.in > *:nth-child(4) { transition-delay: 0.18s; }
.reveal-stagger.in > *:nth-child(5) { transition-delay: 0.24s; }
.reveal-stagger.in > *:nth-child(6) { transition-delay: 0.30s; }

/* Focus-ring upgrade — more refined ring with offset */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [role="tab"]:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
  border-radius: 6px;
  box-shadow: 0 0 0 6px rgba(34, 232, 138, 0.12);
}

/* Skip-link visible state */
.sr-only:focus, .sr-only:focus-visible {
  position: fixed;
  top: 12px; left: 12px;
  width: auto; height: auto;
  clip: auto;
  padding: 10px 14px;
  background: rgb(var(--c-bg-soft));
  border: 1px solid rgba(34, 232, 138, 0.6);
  border-radius: 8px;
  color: rgb(var(--c-chalk));
  font-size: 13px;
  z-index: 1000;
}

/* Smoother section dividers */
.section + .section { position: relative; }

/* Image guard: prevent layout shift if an <img> loads without dimensions */
img:not([width]):not([height]) { aspect-ratio: attr(aspect-ratio); max-width: 100%; height: auto; }
img { max-width: 100%; height: auto; }

/* Print: don't waste ink on backgrounds */
@media print {
  .grid-bg, .grid-bg-fine, .vignette, .scanlines, .cursor-spot,
  .float-cta, .nav-wrap, .footer-wrap, .marquee, .page-trans {
    display: none !important;
  }
  body { background: #fff !important; color: #000 !important; }
}

/* ============================================================
   LIGHT-MODE COLOR REMEDIATION
   The legacy code hardcodes the dark-theme neon green
   `rgba(34, 232, 138, …)` and `#22e88a` across many surfaces.
   In light mode that reads washed-out and breaks contrast.
   These overrides re-tone those surfaces to the deep-green palette.
   ============================================================ */

[data-theme="light"] {
  /* --- Hero glow highlight (the slash behind "before") --- */
}

/* Button primary — deeper green with white text in light mode */
[data-theme="light"] .btn-primary {
  background: var(--signal-bg);
  color: var(--signal-bg-ink);
  box-shadow:
    0 0 0 1px rgba(var(--signal-rgb), 0.55),
    0 12px 28px -10px rgba(var(--signal-rgb), 0.45);
}
[data-theme="light"] .btn-primary:hover {
  background: var(--signal-soft);
  box-shadow:
    0 0 0 1px rgba(var(--signal-rgb), 0.7),
    0 16px 36px -10px rgba(var(--signal-rgb), 0.55);
}
[data-theme="light"] .btn-ghost {
  border-color: rgba(var(--c-line) / 0.22);
  background: rgb(var(--c-bg-soft));
}
[data-theme="light"] .btn-ghost:hover {
  background: rgba(var(--signal-rgb), 0.06);
  border-color: rgba(var(--signal-rgb), 0.55);
}

/* Pop tag on featured pricing — keep readable */
[data-theme="light"] .price-card.featured .pop {
  background: var(--signal-bg);
  color: #ffffff;
}

/* All signal-tint backgrounds: rebase to deep-green RGB in light mode.
   This catches the rgb(var(--signal) / X) usages, which would render
   buggy in modern browsers because --signal is a hex literal.        */
[data-theme="light"] .tag.signal {
  background: rgba(var(--signal-rgb), 0.10);
  border-color: rgba(var(--signal-rgb), 0.45);
  color: var(--signal-ink);
}

/* Card hover edges — deep green halo, not neon */
[data-theme="light"] .surface-hover:hover,
[data-theme="light"] .uc-card:hover,
[data-theme="light"] .compare-card:hover,
[data-theme="light"] .quote:hover,
[data-theme="light"] .metric:hover,
[data-theme="light"] .why-cell:hover,
[data-theme="light"] .mega-feature:hover {
  border-color: rgba(var(--signal-rgb), 0.45) !important;
}
[data-theme="light"] .uc-card::after,
[data-theme="light"] .compare-card::after,
[data-theme="light"] .price-card::after,
[data-theme="light"] .quote::after,
[data-theme="light"] .metric::after {
  background: radial-gradient(
    240px circle at var(--mx, -200px) var(--my, -200px),
    rgba(var(--signal-rgb), 0.10),
    transparent 60%);
}

/* Card box-shadow on hover */
[data-theme="light"] .uc-card:hover,
[data-theme="light"] .compare-card:hover,
[data-theme="light"] .quote:hover,
[data-theme="light"] .metric:hover {
  box-shadow:
    0 1px 2px rgba(16, 22, 36, 0.04),
    0 16px 36px -18px rgba(var(--signal-rgb), 0.30);
}

/* Resting cards — add a faint shadow so they read as cards on paper */
[data-theme="light"] .uc-card,
[data-theme="light"] .compare-card,
[data-theme="light"] .quote,
[data-theme="light"] .metric,
[data-theme="light"] .price-card,
[data-theme="light"] .why-cell {
  box-shadow: 0 1px 2px rgba(16, 22, 36, 0.03);
}

/* Featured pricing card in light mode */
[data-theme="light"] .price-card.featured {
  border-color: rgba(var(--signal-rgb), 0.6) !important;
  background: rgb(var(--c-bg-soft));
  box-shadow:
    0 0 0 1px rgba(var(--signal-rgb), 0.25),
    0 24px 50px -22px rgba(var(--signal-rgb), 0.35);
}
[data-theme="light"] .price-card li::before { color: var(--signal-ink); }

/* Pipeline panels */
[data-theme="light"] .pipeline,
[data-theme="light"] .sig-tabs,
[data-theme="light"] .roi-card,
[data-theme="light"] .feed-terminal {
  background: rgb(var(--c-bg-soft));
  box-shadow: 0 1px 2px rgba(16, 22, 36, 0.04);
}

/* Signal-type sidebar — selected tab tint */
[data-theme="light"] .sig-tab[aria-selected="true"] {
  background: rgba(var(--signal-rgb), 0.08);
}
[data-theme="light"] .sig-tab .ico {
  background: rgba(var(--signal-rgb), 0.10);
  border-color: rgba(var(--signal-rgb), 0.30);
  color: var(--signal-ink);
}

/* Sig panel recommend box */
[data-theme="light"] .recommend,
[data-theme="light"] .sig-panel .recommend {
  border-color: rgba(var(--signal-rgb), 0.45) !important;
  background: rgba(var(--signal-rgb), 0.05) !important;
  color: var(--signal-ink) !important;
}

/* Sig demo card — surface change */
[data-theme="light"] .sig-card-demo {
  background: rgb(var(--c-panel-2));
  border-color: rgba(var(--c-line) / 0.10);
}
[data-theme="light"] .sig-panel .score,
[data-theme="light"] .sig-card-demo .v.signal { color: var(--signal-ink); }

/* Blip cards on the hero radar console */
[data-theme="light"] .blip-card {
  background: rgb(var(--c-bg-soft));
  border-color: rgba(var(--signal-rgb), 0.55);
  box-shadow: 0 8px 22px rgba(16, 22, 36, 0.08);
}
[data-theme="light"] .blip-card .t1 { color: var(--signal-ink); }
[data-theme="light"] .blip-card .t2 { color: rgb(var(--c-chalk)); }

/* Radar rings + sweep in light mode */
[data-theme="light"] .radar-rings circle {
  stroke: rgba(var(--signal-rgb), 0.28);
}
[data-theme="light"] .radar-rings circle:nth-child(odd) {
  stroke: rgba(var(--signal-rgb), 0.16);
}
[data-theme="light"] .radar-crosshair line {
  stroke: rgba(var(--signal-rgb), 0.18);
}
[data-theme="light"] .radar-sweep {
  background: conic-gradient(from 0deg,
    rgba(var(--signal-rgb), 0) 0deg,
    rgba(var(--signal-rgb), 0) 270deg,
    rgba(var(--signal-rgb), 0.05) 320deg,
    rgba(var(--signal-rgb), 0.45) 358deg,
    rgba(var(--signal-rgb), 0.85) 360deg,
    rgba(var(--signal-rgb), 0) 360deg);
}
[data-theme="light"] .radar-center-dot {
  background: var(--signal-ink);
  box-shadow: 0 0 10px rgba(var(--signal-rgb), 0.6);
}
[data-theme="light"] .blip-dot {
  background: var(--signal-ink);
  box-shadow: 0 0 8px rgba(var(--signal-rgb), 0.55);
}

/* dot-live in light mode — keep visible pulse */
[data-theme="light"] .dot-live {
  background: var(--signal);
  box-shadow: 0 0 0 0 rgba(var(--signal-rgb), 0.55);
}

/* Pulse animation re-toned for light */
@keyframes pulse-live-light {
  0%   { box-shadow: 0 0 0 0 rgba(var(--signal-rgb), 0.55); }
  70%  { box-shadow: 0 0 0 8px rgba(var(--signal-rgb), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--signal-rgb), 0); }
}
[data-theme="light"] .dot-live { animation: pulse-live-light 2s infinite; }

/* Cell utilities — comparison matrices */
[data-theme="light"] .cell-on  { background: rgba(var(--signal-rgb), 0.10); color: var(--signal-ink); }

/* Avatar circles in quotes */
[data-theme="light"] .quote .who .av {
  background: rgba(var(--signal-rgb), 0.10);
  border-color: rgba(var(--signal-rgb), 0.45);
  color: var(--signal-ink);
}

/* Mega-menu icon — visible on light */
[data-theme="light"] .mega-item-icon {
  background: rgba(var(--signal-rgb), 0.10);
  border-color: rgba(var(--signal-rgb), 0.30);
  color: var(--signal-ink);
}
[data-theme="light"] .mega-feature {
  background: rgb(var(--c-panel-2));
}
[data-theme="light"] .mega-feature-tag { color: var(--signal-ink); }

/* Palette item active state + mark */
[data-theme="light"] .palette-item:hover,
[data-theme="light"] .palette-item[data-active] {
  background: rgba(var(--signal-rgb), 0.08);
}
[data-theme="light"] .palette-item-mark {
  background: rgba(var(--signal-rgb), 0.10);
  border-color: rgba(var(--signal-rgb), 0.30);
  color: var(--signal-ink);
}

/* Hero highlight slash */
[data-theme="light"] .hero h1 .glow::after {
  background: var(--signal-ink);
  opacity: 0.16;
}

/* ROI slider thumb */
[data-theme="light"] .roi-input input[type=range]::-webkit-slider-thumb {
  background: var(--signal);
  box-shadow: 0 0 0 4px rgba(var(--signal-rgb), 0.22);
}
[data-theme="light"] .roi-input input[type=range]::-moz-range-thumb {
  background: var(--signal);
  box-shadow: 0 0 0 4px rgba(var(--signal-rgb), 0.22);
}

/* Newsletter button readable */
[data-theme="light"] .footer-newsletter button {
  background: var(--signal-bg); color: var(--signal-bg-ink);
}
[data-theme="light"] .footer-newsletter input { background: rgb(var(--c-bg-soft)); }

/* Corner brackets visible on light */
[data-theme="light"] .corner-brackets::before,
[data-theme="light"] .corner-brackets::after {
  border-color: rgba(var(--signal-rgb), 0.8);
}

/* Feed-terminal head pill, code stripes */
[data-theme="light"] .feed-head .signal { color: var(--signal-ink); }
[data-theme="light"] .feed-row .b { color: var(--signal-ink); }
[data-theme="light"] .feed-row .body .a .signal { color: var(--signal-ink); }

/* Marquee mark + link colour */
[data-theme="light"] .marquee-item .mk { color: var(--signal-ink); }

/* Pipe arrow pill */
[data-theme="light"] .pipe-arrow {
  background: rgb(var(--c-bg-soft));
  border-color: rgba(var(--c-line) / 0.18);
  color: var(--signal-ink);
}
[data-theme="light"] .pipe-source-list b { color: var(--signal-ink); }
[data-theme="light"] .pipe-label .signal { color: var(--signal-ink); }

/* Brand mark on light — switch to deep green for legibility */
[data-theme="light"] .brand-mark circle[stroke] { stroke: var(--signal-ink) !important; }
[data-theme="light"] .brand-mark path[fill="#22e88a"],
[data-theme="light"] .brand-mark path[fill-opacity="0.4"] { fill: var(--signal-ink) !important; fill-opacity: 0.55 !important; }
[data-theme="light"] .brand-mark circle[fill="#22e88a"] { fill: var(--signal-ink) !important; }

/* Theme toggle knob */
[data-theme="light"] .theme-toggle .knob {
  background: var(--signal);
  box-shadow: 0 0 6px rgba(var(--signal-rgb), 0.4);
}

/* Final CTA radar — deep green strokes */
[data-theme="light"] .final-cta-radar circle,
[data-theme="light"] .final-cta-radar line {
  stroke: var(--signal-ink) !important;
}

/* Re-tone the .signal helper class to the ink color in light */
[data-theme="light"] .signal { color: var(--signal-ink); }

/* eyebrow + score colors that use .signal directly */
[data-theme="light"] .eyebrow:not(.muted) { color: var(--signal-ink); }
[data-theme="light"] .uc-card .tag.signal,
[data-theme="light"] .compare-card .winners .us { color: var(--signal-ink); }
[data-theme="light"] .compare-card .winners .them { color: #b8740a; }

/* Anchor + signal text everywhere */
[data-theme="light"] a.signal { color: var(--signal-ink); }
[data-theme="light"] a.signal:hover { color: var(--signal); }

/* Selection — strong contrast */
[data-theme="light"] ::selection { background: var(--signal-ink); color: #ffffff; }

/* Hero eyebrow pill — white card with deep tint */
[data-theme="light"] .hero-eyebrow {
  background: rgb(var(--c-bg-soft));
  border-color: rgba(var(--c-line) / 0.18);
  box-shadow: 0 1px 2px rgba(16, 22, 36, 0.04);
}
[data-theme="light"] .hero-eyebrow .v { color: var(--signal-ink); }

/* Hero stat delta */
[data-theme="light"] .hero-stat .delta { color: var(--signal-ink); }
[data-theme="light"] .hero h1 .glow { color: var(--signal-ink); }

/* Terminal-strip live pip */
[data-theme="light"] .terminal-strip .ts-r .signal,
[data-theme="light"] .terminal-strip .ts-r .tk { color: var(--signal-ink); }

/* Pricing card amount on featured */
[data-theme="light"] .price-card.featured .name { color: var(--signal-ink); }

/* FAQ chevron */
[data-theme="light"] .faq-list summary .chev { color: var(--signal-ink); }

/* Dedupe diagram dots */
[data-theme="light"] .dedupe-dot { fill: var(--signal-ink); }

/* Make the body grid background slightly more present on white */
[data-theme="light"] .grid-bg {
  background-image:
    linear-gradient(rgb(var(--grid-stroke) / 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--grid-stroke) / 0.07) 1px, transparent 1px);
}

/* Console outer container in light: lift it off the page */
[data-theme="light"] .console {
  background:
    radial-gradient(circle at 50% 50%,
      rgb(var(--c-bg-soft) / 0.95),
      rgb(var(--c-panel-2) / 0.95));
  box-shadow:
    0 1px 2px rgba(16, 22, 36, 0.04),
    0 30px 60px -28px rgba(16, 22, 36, 0.18);
}

/* Footer social hover */
[data-theme="light"] .footer-social a:hover {
  border-color: rgba(var(--signal-rgb), 0.5);
  color: var(--signal-ink);
}

/* Crumbs hover */
[data-theme="light"] .crumbs a:hover { color: var(--signal-ink); }

/* Cursor spotlight — soften so it doesn't darken white */
[data-theme="light"] .cursor-spot {
  background: radial-gradient(
    420px circle at var(--mx, 50%) var(--my, 50%),
    rgba(var(--signal-rgb), 0.06),
    transparent 60%);
  mix-blend-mode: multiply;
}

/* Inline SVG strokes/fills hardcoded to #22e88a — re-tone for light */
[data-theme="light"] svg [stroke="#22e88a"] { stroke: var(--signal-ink) !important; }
[data-theme="light"] svg [fill="#22e88a"] { fill: var(--signal-ink) !important; }
[data-theme="light"] svg [stop-color="#22e88a"] { stop-color: var(--signal-ink) !important; }
[data-theme="light"] .brand-mark path[fill-opacity="0.4"] { fill-opacity: 0.55 !important; }

/* Final CTA radar opacity tune-down so the rings don't feel heavy on white */
[data-theme="light"] .final-cta-radar { opacity: 0.4; }
