/* =====================================================================
   nh-dark.css — Protect30A dark theme layer for inner pages
   Loaded AFTER /assets/pillars.css or /districts/styles.css on:
   /act /records /impact /records-privacy /source-library
   /districts/ and the nine district pages.
   NOT loaded on / (homepage has its own nh-home layer), /show, /live.

   Additive only: re-declares the two token sets to the homepage-hero
   navy/teal palette, then patches the handful of rules where a token
   doubles as background and text. No markup assumptions beyond the
   existing class contract.

   Contrast (WCAG 2.1 AA, bg #0a1a29 L≈.010 unless noted):
     #e9f2f0 body text        -> ~15.5:1
     rgba(226,238,235,.72)    -> ~10.6:1 effective (#a7b6b3 on navy)
     #35d9c2 links/accents    -> ~9.9:1
     #f2a83e amber            -> ~8.7:1
     #071019 text on #f2a83e  -> ~8.3:1 (buttons)
     #04231d text on #35d9c2  -> ~9.0:1 (buttons)
     #0e1520 text on #d98a63  -> ~5.4:1 (blocked pill, bold)
   ===================================================================== */

:root{
  /* homepage-token names (pillars.css kit + records-privacy rp-*) */
  --ink:#e9f2f0;
  --ink-soft:rgba(226,238,235,.75);
  --teal:#35d9c2;
  --teal-soft:#63c9bb;
  --teal-deep:#eef7f5;          /* used as heading/text color in the kit */
  --white:#0f2133;              /* used as card/panel background in the kit */
  --aqua:#35d9c2;
  --aqua-pale:rgba(53,217,194,.14);
  --sand:#2b2517;
  --sand-light:#10202f;
  --gold:#f2a83e;
  --earth:#c98a5e;
  --earth-deep:#d9a97f;
  --cream:#0a1a29;
  --line:rgba(53,217,194,.18);
  --shadow:0 12px 30px rgba(0,0,0,.35);
  --shadow-lg:0 18px 50px rgba(0,0,0,.45);
  /* districts/styles.css token names */
  --teal-950:#071019;           /* backgrounds (footer, video frame) */
  --teal-850:#e7f4f1;           /* text usages; bg usages patched below */
  --teal-700:#35d9c2;
  --teal-500:#5ec9b8;
  --water:#35d9c2;
  --paper:#0f2133;
  --muted:rgba(226,238,235,.72);
  --clay:#d98a63;
  /* nh accent aliases */
  --nh-amber:#f2a83e;
  --nh-bg0:#08131f;--nh-bg1:#0a1a29;--nh-bg2:#0d2334;
}

/* ---------------------------------------------------------------------
   1. PAGE BASE (both systems)
   --------------------------------------------------------------------- */
body{
  background:
    radial-gradient(1000px 520px at 82% -6%,rgba(53,217,194,.10),transparent 60%),
    linear-gradient(160deg,var(--nh-bg0) 0%,var(--nh-bg1) 52%,var(--nh-bg2) 100%);
  background-attachment:fixed;
  color:var(--ink);
}
h1,h2,h3,h4{color:#f2f7f5}
::selection{background:rgba(53,217,194,.35)}
:focus-visible{outline:2px solid #35d9c2;outline-offset:2px}
.skip-link{color:#071019}

/* ---------------------------------------------------------------------
   2. PILLAR PAGES (/act /records /impact) — page chrome for the #nav
      markup + section scaffold that previously had no base styles.
   --------------------------------------------------------------------- */
nav#nav{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:13px 28px;
  background:rgba(7,16,25,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(53,217,194,.14);
}
nav#nav .nav-logo{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-display,'Fraunces',Georgia,serif);
  font-weight:700;font-size:1.14rem;color:#fff;text-decoration:none;white-space:nowrap;
}
nav#nav .nav-logo svg{flex:none}
nav#nav .nav-links{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  list-style:none;margin:0;padding:0;
}
nav#nav .nav-links li{display:block}
nav#nav .nav-cta{
  background:var(--nh-amber);color:#071019!important;
  padding:9px 18px;border-radius:999px;font-weight:800;font-size:.9rem;
  text-decoration:none;white-space:nowrap;
}
nav#nav .nav-cta:hover{filter:brightness(1.06)}
/* burger has no toggle script on these pages; links wrap instead */
nav#nav .nav-burger{display:none}
@media(max-width:820px){
  nav#nav{flex-direction:column;align-items:flex-start;padding:12px 18px}
  nav#nav .nav-links{gap:14px}
  .nav-top{width:auto;padding:0;min-height:44px;color:rgba(255,255,255,.92)}
  .nav-panel{
    position:absolute;left:18px;right:18px;top:auto;transform:none;
    max-height:none;overflow:visible;padding:8px;
    opacity:0;visibility:hidden;pointer-events:none;
  }
  .has-menu > .nav-top[aria-expanded="true"] + .nav-panel{
    opacity:1;visibility:visible;pointer-events:auto;max-height:none;transform:none;
  }
}
/* dropdown panels: dark glass instead of cream */
.nav-panel{
  background:rgba(10,26,41,.98);
  border:1px solid rgba(53,217,194,.18);
  box-shadow:0 14px 34px rgba(0,0,0,.5);
}
.nav-panel a{color:#c7d9d5!important}
.nav-panel a:hover,.nav-panel a:focus-visible{
  background:rgba(53,217,194,.12);color:#fff!important;
}
@media(max-width:820px){
  .nav-panel a{color:#c7d9d5!important;padding:11px 14px}
  .nav-panel a:hover,.nav-panel a:focus-visible{background:rgba(53,217,194,.12)}
}

/* pillar page scaffold */
main#main > section,main#main > header.pillar-head{padding:44px 24px}
main#main > header.pillar-head{max-width:none;padding-top:56px;margin:0}
.pillar-head .wrap,main#main > section .wrap{max-width:980px;margin:0 auto}
.pillar-head h1{
  font-family:var(--nh-display,'Inter Tight','Inter',sans-serif);
  font-weight:800;font-size:clamp(2.1rem,4.6vw,3.3rem);line-height:1.04;
  letter-spacing:-.01em;color:#f2f7f5;margin:10px 0 14px;
}
.pillar-head .pillar-intro{color:var(--ink-soft);font-size:1.08rem;max-width:720px}
main#main > section h2{
  font-family:var(--font-display,'Fraunces',Georgia,serif);
  font-size:clamp(1.4rem,3vw,1.9rem);color:#f2f7f5;margin:0 0 10px;
}
main#main > section p{color:var(--ink-soft)}
main#main > section .wrap > p{
  background:var(--paper);border:1px dashed rgba(53,217,194,.25);
  border-radius:12px;padding:14px 18px;display:inline-block;
}
.breadcrumb{font-size:.88rem;color:var(--ink-soft);margin-bottom:14px}
.breadcrumb a{color:#35d9c2;font-weight:600;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.site-footer{
  background:#060d15;border-top:1px solid rgba(53,217,194,.14);
  padding:38px 24px;color:var(--ink-soft);
}
.site-footer .wrap{max-width:980px;margin:0 auto}
.site-footer a{color:#35d9c2}

/* ---------------------------------------------------------------------
   3. PILLARS.CSS COMPONENT KIT — token-conflict patches
   --------------------------------------------------------------------- */
.btn-gold{color:#071019;box-shadow:0 8px 26px rgba(242,168,62,.25)}
.btn-teal{background:#35d9c2;color:#04231d;box-shadow:0 8px 26px rgba(53,217,194,.22)}
.btn-line{color:#35d9c2;border-color:#35d9c2}
.btn-line:hover{background:#35d9c2;color:#04231d}
.status-pill{background:rgba(53,217,194,.13);color:#d9efe9;border-color:var(--line)}
.status-pill.is-on-track,.status-pill.is-done{background:rgba(53,217,194,.13)}
.status-pill.is-progress{background:rgba(242,168,62,.15);color:#f4d9ae}
.status-pill.is-blocked{color:#0e1520}
.status-pill.is-blocked::before{background:#0e1520}
.pp-disclosure{background:#10202f;color:var(--ink-soft)}
.pp-disclosure .pp-disclosure-ico{color:#63c9bb}
.pp-disclosure a{color:#35d9c2}
.cite-chip-btn{background:rgba(53,217,194,.13);color:#35d9c2}
.cite-chip--unverified .cite-chip-btn{background:rgba(242,168,62,.16);color:#f4c98a}
.cite-chip-pop{background:#0f2133;color:var(--ink)}
.cite-chip-pop .cite-pop-label{color:#f2f7f5}
.cite-chip-pop a{color:#35d9c2}
.stat-card,.data-card,.cta-card{background:var(--paper);border-color:var(--line)}
.stat-card .num,.stat-card .stat-num{color:#35d9c2}
.stat-card .unit{color:#63c9bb}
.data-card > h3,.data-card > .data-card-title,.cta-card h3{color:#f2f7f5}
.pillar-head .eyebrow{color:#63c9bb}

/* records-privacy page-scoped patches */
.rp-toc{background:var(--paper)}
.rp-toc h2,.rp-section h2,.rp-section h3,.rp-key,.rp-defs .rp-term{color:#f2f7f5}
.rp-section p,.rp-section ul,.rp-defs li{color:var(--ink)}
.rp-contact{background:#10202f}
.rp-tbd{color:#d9a97f}

/* ---------------------------------------------------------------------
   4. DISTRICTS SYSTEM (/districts/*, /source-library) — patches where
      a token doubled as bg+text or a literal was hard-coded.
   --------------------------------------------------------------------- */
.site-header{
  background:rgba(7,16,25,.94);
  border-bottom:1px solid rgba(53,217,194,.14);
}
.brand-mark{background:var(--nh-amber);box-shadow:0 0 0 5px rgba(53,217,194,.16)}
.nav-links .pill{background:var(--nh-amber);color:#071019}
.hero{
  background:
    radial-gradient(760px 420px at 80% 0%,rgba(53,217,194,.12),transparent 60%),
    linear-gradient(120deg,#08131f 0%,#0b1e30 55%,#0d2334 100%);
}
.hero-panel{border-color:rgba(53,217,194,.22);background:rgba(10,26,41,.55)}
.eyebrow{color:var(--nh-amber)}
.button.primary{color:#071019}
.button.light{color:#04231d}
.button.line{background:transparent;color:var(--ink);border-color:rgba(53,217,194,.4)}
.button.line:hover{border-color:#35d9c2}
.card a{color:#35d9c2}
.card .meta{color:#d98a63}
.district-card .num,
.district-card:nth-child(3n+1) .num,
.district-card:nth-child(3n+2) .num{
  background:rgba(53,217,194,.13);
  border:1.5px solid #35d9c2;color:#35d9c2;
  font-family:var(--nh-display,'Inter Tight','Inter',sans-serif);font-weight:800;
}
.district-card:hover .num{border-color:var(--nh-amber);color:var(--nh-amber);background:rgba(242,168,62,.1)}
.band{background:#0d1f30}
.district-action-panel{background:#0a1a29}
.district-action-panel .card{border-color:rgba(53,217,194,.22)}
.source-table th{color:#cfe7e2;background:#10202f}
.source-table a{color:#35d9c2}
.source-status{background:rgba(53,217,194,.13);color:#d9efe9}
.breadcrumbs span::before{color:rgba(226,238,235,.4)}
.breadcrumbs a{color:#35d9c2}
.footer{background:#060d15;border-top:1px solid rgba(53,217,194,.14)}
.issue-list li::before{background:var(--nh-amber)}

@media (prefers-reduced-motion:reduce){
  body{background-attachment:scroll}
}

/* skip-link: pillar pages never positioned it off-screen (pre-existing);
   give it the standard hide/reveal treatment on all dark pages */
.skip-link{
  position:absolute;left:16px;top:-90px;z-index:200;
  background:var(--nh-amber);color:#071019;
  padding:10px 14px;border-radius:8px;font-weight:700;text-decoration:none;
}
.skip-link:focus{top:14px}

/* site-header chrome for pages that use the header markup without
   districts/styles.css (records-privacy) — harmless elsewhere */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px)}
.nav-wrap{max-width:1180px;margin:0 auto;min-height:64px;padding:0 22px;
  display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;
  font-family:var(--font-display,'Fraunces',Georgia,serif);font-size:1.12rem;font-weight:650;white-space:nowrap}
.site-header .nav-links{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.site-header .nav-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:.9rem;font-weight:650}
.site-header .nav-links a:hover{color:#fff}
.brand-mark{display:inline-block;width:14px;height:14px;border-radius:50%}

/* pre-existing cascade fix: .rp-toc margin overrode .rp-wrap auto-centering */
.rp-toc.rp-wrap{margin:26px auto 8px}
