   Single-signal emerald on white paper. Display: Outfit. Body: Figtree. Mono: JetBrains Mono. Flat radii, no shadows. */

:root {
  --bv-paper:        #FFFFFF;           /* page background — pure white */
  --bv-paper-2:      #FFFFFF;           /* secondary slab — collapsed to pure white (user reads any grey as cream/yellow 2026-05-23) */
  --bv-paper-3:      #FFFFFF;           /* card surface — pure white */
  --bv-paper-4:      #F2F2F4;           /* hover / pressed — faint cool grey, used sparingly */
  --bv-paper-glass:  rgba(255, 255, 255, 0.92);

  --bv-black:        #000000;
  --bv-ink-deep:     #0a0a0c;

  --bv-ink:          #0d0d0e;          /* primary headings + body ink */
  --bv-ink-2:        #5a5a5e;          /* secondary text */
  --bv-ink-muted:    #5a5a5e;          /* tertiary / metadata (alias of ink-2) */
  --bv-ink-faint:    #8a8a8e;          /* placeholder, disabled */

  --bv-rule:         #E6E6E8;          /* hairline on paper */
  --bv-rule-d:       #1C1C1F;          /* hairline on black */
  --bv-rule-lite:    #F1F1F2;
  --bv-bd:           #D6D6D8;
  --bv-bd-lite:      #E6E6E8;
  --bv-bd-thick:     #0d0d0e;

  --bv-accent:       #0E9F6E;          /* signal purple — CTA, prices, accents */
  --bv-accent-2:     #34B483;          /* signal-on-dark — lighter purple, used over black */
  --bv-accent-soft:  rgba(14, 159, 110, 0.08);
  --bv-accent-glow:  rgba(14, 159, 110, 0.18);
  --bv-accent-tint:  #E6F7F0;          /* very light purple tint — table zebra, badge bg */
  --bv-accent-pale:  #8FD4B8;          /* mid-tone purple — outline links */

  --bv-violet:       #0E9F6E;
  --bv-violet-soft:  rgba(14, 159, 110, 0.08);
  --bv-cyan:         #0E9F6E;
  --bv-cyan-soft:    rgba(14, 159, 110, 0.08);
  --bv-magenta:      #0E9F6E;
  --bv-magenta-soft: rgba(14, 159, 110, 0.08);

  --bv-red:          var(--bv-accent);
  --bv-red-dark:     #065F46;
  --bv-warm:         #34B483;          /* warm tint inside dark slabs */

  --bv-ok:           #1f9d62;
  --bv-warn:         #cf2418;          /* compliance red — NY · warnings only */
  --bv-warn-2:       #ff8a82;          /* on-dark compliance red */
  --bv-err:          #cf2418;
  --bv-yellow:       #0E9F6E;          /* collapsed to signal purple — Purple Cinema has no yellow */
  --bv-yellow-soft:  rgba(14, 159, 110, 0.12);

  --bv-fam-iced:     #0E9F6E;
  --bv-fam-sour:     #0E9F6E;
  --bv-fam-mint:     #0E9F6E;
  --bv-fam-candy:    #0E9F6E;
  --bv-fam-fruit:    #0E9F6E;
  --bv-fam-zodiac:   #0E9F6E;
  --bv-fam-limited:  #0E9F6E;

  --bv-font-display: 'Outfit', 'Figtree', system-ui, sans-serif;
  --bv-font-sans:    'Figtree', system-ui, -apple-system, sans-serif;
  --bv-font-nav:     'Figtree', system-ui, sans-serif;
  --bv-font-mono:    'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --bv-font-serif:   'Figtree', system-ui, sans-serif;       /* no serif in this direction */
  --bv-font-eyebrow: 'JetBrains Mono', ui-monospace, monospace;

  --bv-fs-xs:   11px;
  --bv-fs-sm:   13px;
  --bv-fs-base: 15px;
  --bv-fs-md:   15px;
  --bv-fs-lg:   17px;
  --bv-fs-xl:   20px;
  --bv-fs-2xl:  26px;
  --bv-fs-3xl:  36px;
  --bv-fs-4xl:  54px;
  --bv-fs-5xl:  72px;
  --bv-fs-6xl:  96px;
  --bv-fs-7xl: 128px;

  --bv-lh:         1.55;
  --bv-lh-tight:   1.05;
  --bv-lh-display: 0.94;

  --bv-label-track:   0.22em;            /* mono eyebrow uppercase tracking */
  --bv-display-track: -0.028em;          /* Outfit tight letter-spacing */

  --bv-s-1:  4px;
  --bv-s-2:  8px;
  --bv-s-3:  12px;
  --bv-s-4:  16px;
  --bv-s-5:  20px;
  --bv-s-6:  24px;
  --bv-s-7:  32px;
  --bv-s-8:  40px;
  --bv-s-9:  56px;
  --bv-s-10: 72px;
  --bv-s-11: 96px;
  --bv-s-12: 128px;
  --bv-s-14: 96px;

  --bv-max-w:    1240px;
  --bv-max-w-nb:  920px;
  --bv-pad-x:     32px;

  --bv-r-xs:   0;
  --bv-r-sm:   0;
  --bv-r-md:   0;
  --bv-r-lg:   0;
  --bv-r-xl:   0;
  --bv-r-pill: 999px;

  --bv-bd-sh:       1px solid #D6D6D8;
  --bv-bd-lite-sh:  1px solid #E6E6E8;
  --bv-bd-thick-sh: 1px solid #0d0d0e;   /* "thick" in Purple Cinema = ink-black hairline */

  --bv-line:        #E6E6E8;

  --bv-shadow-card: none;
  --bv-shadow-elev: 0 1px 2px rgba(0,0,0,0.04);
  --bv-shadow-glow-orange:  0 0 0 1px var(--bv-accent);
  --bv-shadow-glow-cyan:    0 0 0 1px var(--bv-accent);
  --bv-shadow-glow-magenta: 0 0 0 1px var(--bv-accent);
  --bv-shadow-glow-violet:  0 0 0 1px var(--bv-accent);
}

html, body {
  background: var(--bv-paper);
  color: var(--bv-ink);
  font-family: var(--bv-font-sans);
  font-size: var(--bv-fs-base);
  line-height: var(--bv-lh);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  margin: 0;
  padding: 0;
}

* { box-sizing: border-box; }

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}
a:hover { color: var(--bv-accent); }

img, svg { max-width: 100%; height: auto; display: block; }

code, kbd, samp, pre {
  font-family: var(--bv-font-mono);
  font-size: 0.92em;
}

hr {
  border: 0;
  border-top: 1px solid var(--bv-rule);
  margin: var(--bv-s-7) 0;
}

::selection {
  background: var(--bv-accent);
  color: #FFFFFF;
}

button { font: inherit; cursor: pointer; }

[x-cloak] { display: none !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bv-font-display);
  font-weight: 900;
  color: var(--bv-ink);
  line-height: var(--bv-lh-display);
  letter-spacing: var(--bv-display-track);
  margin: 0 0 var(--bv-s-4);
  text-transform: none;
}

h1 { font-size: var(--bv-fs-5xl); line-height: 0.94; }
h2 { font-size: var(--bv-fs-4xl); line-height: 0.96; position: relative; padding-bottom: 0; }
h2::after { content: none; display: none; }
h3 { font-size: var(--bv-fs-3xl); line-height: 1.0; }
h4 { font-size: var(--bv-fs-2xl); line-height: 1.05; }
h5 { font-size: var(--bv-fs-xl); line-height: 1.1; }
h6 { font-size: var(--bv-fs-xs); text-transform: uppercase; letter-spacing: var(--bv-label-track); font-family: var(--bv-font-mono); font-weight: 600; color: var(--bv-ink-2); }
