/* Cinema theme parity — near-black shell + copper + parchment on every non-home page.
   Layers on top of the existing site.css tokens without changing markup. */

:root, :root[data-theme="dark"], :root[data-theme="emerald"], :root[data-theme="genz"] {
  /* Cinema-native tokens */
  --sh: #0B0B0C;
  --pa: #F5EFE3;
  --g:  #C7743A;
  --g2: #E08B47;
  --gg: linear-gradient(93deg, #C7743A 6.4%, #E08B47 94.64%);
  --glass: rgba(245,239,227,.44);

  /* Force the legacy palette variables toward cinema */
  --ice:  #0B0B0C;
  --ice-2:#111112;
  --white:#181819;
  --ink:  #F5EFE3;
  --ink-2:#C6BEB0;
  --ink-3:#8F887B;
  --navy: #0B0B0C;
  --navy-deep:#080808;
  --navy-ink:#050505;
  --gold:  #C7743A;
  --gold-2:#E08B47;
  --gold-soft:#8a4b1e;
  --line:rgba(245,239,227,.10);
  --line-strong:rgba(245,239,227,.22);
  --line-inv:rgba(245,239,227,.16);
  --nav-bg: rgba(11,11,12,.86);
  --hero-fade1:rgba(11,11,12,.10);
  --hero-fade2:rgba(11,11,12,.45);
  --hero-fade3:rgba(11,11,12,.90);
  --parchment: #F5EFE3;
  --band-ink: #F5EFE3;
  --good:#1f7a4d;
  --font-d: "Bricolage Grotesque", system-ui, sans-serif;
  --font-t: "Jura", ui-monospace, monospace;
}

/* Global body — always near-black, parchment text */
html, body { background: var(--sh) !important; color: var(--pa) !important; }
::selection { background: var(--g); color: #1a0e05; }

/* Type parity */
body, .prose, main, section { font-family: var(--font-d) !important; }
.kicker, .label, .eyebrow, .sc-cat__head b { font-family: var(--font-t) !important; }

/* Nav header — glass on cinema shell */
header, .site-nav, .qm-nav {
  background: rgba(11,11,12,.72) !important;
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(245,239,227,.08) !important;
}
header a, .site-nav a { color: var(--pa) !important; }
header a:hover, .site-nav a:hover { color: var(--g2) !important; }

/* Cards, panels, glass */
.card, .service-card, .band, section > .container, .panel, .grid > *,
.sc-cat, .rec-card, .metric, .m {
  background: rgba(245,239,227,.05) !important;
  border: 1px solid rgba(245,239,227,.12) !important;
  color: var(--pa) !important;
}
.card:hover, .service-card:hover, .sc-cat:hover {
  border-color: rgba(199,116,58,.55) !important;
  transform: translateY(-3px);
  transition: .4s;
}

/* Headings */
h1, h2, h3, h4 { color: var(--pa) !important; letter-spacing: -.03em; font-family: var(--font-d) !important; }
h1 em, h2 em, h3 em, .accent, em.accent {
  color: var(--g2) !important;
  font-style: normal;
}

/* Ledes + body copy */
p, li, .lede, .subtitle, .prose p { color: rgba(245,239,227,.72) !important; }

/* Primary CTA / gold buttons → copper gradient */
.btn, .btn--gold, .btn.btn--gold, button.primary, a.primary {
  background: var(--gg) !important;
  color: #1a0e05 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
  font-family: var(--font-t) !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  transition: transform .3s, filter .3s !important;
}
.btn:hover, .btn--gold:hover, button.primary:hover { filter: brightness(1.05); transform: translateY(-1px); }
.btn--inv, .btn.ghost, .btn.btn--inv, .btn--outline {
  background: transparent !important;
  color: var(--pa) !important;
  border: 1px solid rgba(245,239,227,.26) !important;
  border-radius: 999px !important;
  padding: 14px 24px !important;
}
.btn--inv:hover, .btn.ghost:hover, .btn--outline:hover {
  border-color: var(--g) !important;
  color: var(--g2) !important;
}

/* Eyebrows / kickers / tags */
.eyebrow, .kicker, .tag, span.tag, .sc-cat__head span, .cat-label {
  font-family: var(--font-t) !important;
  font-size: 10.5px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
}

/* Chips (industries strip on legacy pages) */
.chip {
  background: rgba(245,239,227,.05) !important;
  border: 1px solid rgba(245,239,227,.14) !important;
  color: var(--pa) !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
  font-family: var(--font-t) !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
}
.chip:hover { border-color: var(--g) !important; color: var(--g2) !important; }

/* Inputs (contact form, scorecard) */
input, textarea, select {
  background: rgba(245,239,227,.05) !important;
  color: var(--pa) !important;
  border: 1px solid rgba(245,239,227,.14) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  font-family: var(--font-d) !important;
}
input:focus, textarea:focus, select:focus {
  outline: none !important;
  border-color: var(--g) !important;
  box-shadow: 0 0 0 3px rgba(199,116,58,.16) !important;
}
label { color: var(--g) !important; font-family: var(--font-t) !important; font-size: 10px !important; letter-spacing: .24em !important; text-transform: uppercase !important; }

/* Scorecard-specific — keep the ring + gauges copper */
.sc-ring__fg { stroke: var(--g2) !important; }
.sc-ring__num, .tier-a, .tier-b, .tier-c, .tier-d, .tier-e { color: var(--pa) !important; }
.sc-cat[data-icon] { border-color: rgba(199,116,58,.28) !important; }
.sc-cat__bar { background: rgba(245,239,227,.08) !important; }
.sc-cat__bar i { background: var(--gg) !important; }
.sc-cat__score { color: var(--g2) !important; }

/* Footer parity */
footer, .site-foot, .qm-footer {
  background: transparent !important;
  border-top: 1px solid rgba(245,239,227,.08) !important;
  color: rgba(245,239,227,.5) !important;
}
footer a, .site-foot a { color: rgba(245,239,227,.68) !important; }
footer a:hover { color: var(--g) !important; }

/* Hero sections on any page get the cinema blurred radial backdrop */
.hero, section.hero, main > section:first-child {
  position: relative;
  overflow: hidden;
}
.hero::before, section.hero::before {
  content: "";
  position: absolute; inset: -10%;
  filter: blur(60px); transform: scale(1.13);
  background:
    radial-gradient(circle at 32% 42%, rgba(199,116,58,.24) 0%, transparent 50%),
    radial-gradient(circle at 78% 62%, rgba(44,42,107,.34) 0%, transparent 48%),
    var(--sh);
  z-index: -1;
  pointer-events: none;
}

/* Preserve tables, ordered lists, disclosure blocks in prose */
.prose ul, .prose ol { padding-left: 22px; }
.prose h3, .prose h4 { margin-top: 32px; }

/* Media/video blocks stay light */
.media-band, .agents, .cta, .workflow, .scorecard {
  background: transparent !important;
  color: var(--pa) !important;
}

/* Theme-picker rail — hide it, since we're on one cinema theme now */
.theme-rail, [class*="theme-picker"], [data-theme-switch] { display: none !important; }

/* Fade in on load — no jarring flash */
body { animation: qmFadeIn .5s ease-out; }
@keyframes qmFadeIn { from { opacity: 0; } to { opacity: 1; } }
