/* ==============================================================
   Palette v2 (2026-09-15). Loaded after styles.css on every page.
   White is the reading surface, navy stays the identity, vivid
   crimson is the action.
   ============================================================== */
:root {
  --paper: #FFFFFF;          /* was #FAFAF6 */
  --paper-raised: #FFFFFF;
  --paper-shade: #F5F7FC;    /* was #EFF1EA */
  --slate: #536176;          /* was #5B6470 */
  --hairline: #D9DFEA;       /* was #C9CFD8 */
  --hairline-soft: #D9DFEA;  /* was #E2E5EA */
  --wash: #F5F7FC;
  --crimson-action: #D9342B;
  --crimson: #C0292B;
}
html, body { background: #FFFFFF; }

/* principal conversion actions: solid vivid crimson, crimson on hover, white label */
.btn-primary,
.nav-links .btn-primary, .nav-mobile .btn-primary, .nav.is-scrolled .nav-links .btn-primary,
.email-form button, .cta-bar-btn {
  background: #D9342B;
  border-color: #D9342B;
  color: #FFFFFF;
  box-shadow: 0 1px 2px rgba(154, 31, 33, 0.18), 0 8px 20px rgba(217, 52, 43, 0.18);
}
.btn-primary:hover, .btn-primary:focus-visible,
.nav-links .btn-primary:hover, .nav-mobile .btn-primary:hover, .nav.is-scrolled .nav-links .btn-primary:hover,
.email-form button:hover, .cta-bar-btn:hover {
  background: #C0292B;
  border-color: #C0292B;
  color: #FFFFFF;
}
.btn-primary:active, .email-form button:active { transform: translateY(1px); box-shadow: 0 2px 8px rgba(154, 31, 33, 0.22); }

/* secondary actions stay subordinate: navy text, restrained border */
.btn-ghost, .btn-ink { background: transparent; color: var(--ink); border-color: #B7C1D3; box-shadow: none; }
.btn-ghost:hover, .btn-ink:hover { border-color: var(--ink); color: var(--ink); background: var(--wash); }

/* interactive controls get a stronger boundary than decorative rules */
.email-form { border: 1.5px solid #7E8CA5; background: #FFFFFF; box-shadow: 0 1px 0 rgba(18, 42, 79, 0.06), 0 14px 36px rgba(18, 42, 79, 0.08); }
.email-form:focus-within { border-color: var(--navy); box-shadow: 0 0 0 4px rgba(27, 54, 93, 0.24), 0 14px 36px rgba(18, 42, 79, 0.08); }
.email-form input::placeholder { color: #536176; opacity: 1; }
.faq-item { border-bottom-color: #D9DFEA; }
.faq-item:first-child { border-top-color: #D9DFEA; }

/* keyboard focus, WCAG 2.4.7: visible on every actionable element */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
.btn-primary:focus-visible, .email-form button:focus-visible, .cta-bar-btn:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.theater :focus-visible, .dark-card :focus-visible, .footer :focus-visible, .rb-exec :focus-visible { outline-color: #E9EDF4; }

/* warm overlays and shadows that would tint the white surface */
.exhibit { box-shadow: 0 1px 0 rgba(18, 42, 79, 0.04), 0 18px 44px rgba(18, 42, 79, 0.08); border-color: #D9DFEA; }
.folder { border-color: #D9DFEA; }
.trust-strip, .press { background: #FFFFFF; }
.nav-menu-item:hover, .nav-menu-item:focus-visible { background: #F5F7FC; }

/* text on dark surfaces stays #E9EDF4; the muted line is lifted so small mono labels pass AA */
.footer, .theater, .dark-card { --t-slate: rgba(233, 237, 244, 0.72); }
.dk-tally span, .dk-foot, .mh-time, .rb-exec .rb-total span:last-child, .rb-exec .rb-state em { color: #9AA8C2; }
