/* Homepage only. Article and CMS routes retain the approved light palette. */
body.archive-dark {
  --paper: #080f18; --surface: #101d2a; --ink: #f2f5f6;
  --muted: #b5c2cc; --faint: #91a3b3; --line: rgba(182,211,225,.18);
  --teal: #70c5cf; --mint: #163440; --teal-dark: #112b3b;
  color: var(--ink); background: radial-gradient(ellipse at 83% 15%,rgba(0,101,140,.15),transparent 42%),#080f18;
}
body.archive-dark .topbar { background: rgba(8,15,24,.95); box-shadow: none; }
body.archive-dark .brand-copy strong { color: var(--ink); font-size: .9375rem; }
body.archive-dark .brand-copy span, body.archive-dark .nav-links a { color: var(--muted); }
body.archive-dark .brand-logo { background: #fffcf7; padding: 5px 8px; border-radius: 2px; height: 39px; }
body.archive-dark .nav-links a:hover { color: var(--teal); }
body.archive-dark .nav-cta { border-color: var(--line); background: transparent; color: var(--ink); }
body.archive-dark .hero { gap: clamp(28px,5vw,72px); padding-top: 48px; align-items: center; }
body.archive-dark .intro { padding: 24px 0 40px; min-height: 0; background: transparent; border: 0; box-shadow: none; }
body.archive-dark .intro h1 { font-size: clamp(42px,4.5vw,62px); line-height: 1.2; font-weight: 400; letter-spacing: -.045em; margin-block: 28px 36px; }
body.archive-dark .intro .lead { color: #bdc9d2; line-height: 1.95; }
body.archive-dark .eyebrow { color: var(--teal); font-size: .875rem; letter-spacing: .12em; }
body.archive-dark .button.primary, body.archive-dark .map-view-cases { background: var(--orange); color: #081521; border-color: var(--orange); font-size: .9375rem; min-height: 48px; }
body.archive-dark .button.primary:hover, body.archive-dark .map-view-cases:hover { background: #ffb72f; border-color: #ffb72f; }
body.archive-dark .anatomy-card { background: transparent; border: 0; padding: 0; box-shadow: none; width: 100%; max-width: 470px; justify-self: center; align-self: center; }
body.archive-dark .anatomy-head { padding: 0 0 22px; }
body.archive-dark .anatomy-head h2 { color: var(--ink); font-size: 1.125rem; }
body.archive-dark .micro-badge { background: transparent; padding: 0; font-size: .75rem; color: #91a3b3; }
body.archive-dark .xray-panel { background: #080f18; border: 0; border-radius: 0; box-shadow: none; isolation: isolate; }
body.archive-dark .xray-panel::before, body.archive-dark .xray-panel::after { display: none; }
body.archive-dark .xray-image { mix-blend-mode: screen; }
body.archive-dark .xray-helper { background: rgba(8,15,24,.85); color: #9fb8c7; font-size: .75rem; }
body.archive-dark .map-marker { background: #70c5cf; border-color: #a2edf0; box-shadow: 0 0 0 4px rgba(48,183,194,.12); }
body.archive-dark .map-marker .map-label { color: #e0f3f5; background: rgba(12,31,43,.93); border-color: rgba(112,197,207,.38); box-shadow: none; }
body.archive-dark .map-marker:hover, body.archive-dark .map-marker:focus-visible, body.archive-dark .map-marker.active { background: #d2ffff; box-shadow: 0 0 0 8px rgba(67,212,211,.16),0 0 25px rgba(67,212,211,.7); }
body.archive-dark .map-marker:hover .map-label, body.archive-dark .map-marker:focus-visible .map-label, body.archive-dark .map-marker.active .map-label { background: #124753; color: #efffff; border-color: #70d4d7; }
body.archive-dark .xray-magnifier { border-color: #70d4d7; box-shadow: 0 0 28px rgba(58,186,201,.3); }
body.archive-dark .archive { padding-top: 80px; }
body.archive-dark .archive-heading { border-top: 1px solid var(--line); padding-top: 42px; }
body.archive-dark .archive-heading h2 { font-size: clamp(32px,4.3vw,52px); }
body.archive-dark .archive-heading p { color: var(--muted); font-size: .9375rem; }
body.archive-dark .recent-strip, body.archive-dark .featured-strip { background: transparent; }
body.archive-dark .recent-item strong, body.archive-dark .featured-strip strong { color: var(--ink); font-size: 1rem; }
body.archive-dark .recent-item span, body.archive-dark .recent-item small, body.archive-dark .featured-strip span, body.archive-dark .featured-strip small { font-size: .8125rem; color: var(--muted); }
body.archive-dark .recent-item:hover { background: rgba(112,197,207,.06); }
body.archive-dark .filterbar { background: rgba(8,15,24,.96); }
body.archive-dark .filter-button { color: var(--muted); }
body.archive-dark .filter-button.active { background: #164a5c; color: #e6faff; box-shadow: inset 0 -2px var(--orange); }
body.archive-dark .search { background: #101d2a; }
body.archive-dark .search input { color: var(--ink); font-size: .875rem; }
body.archive-dark .search input::placeholder { color: #91a3b3; }
body.archive-dark .result-row, body.archive-dark .clear-filter { color: var(--muted); font-size: .8125rem; }
body.archive-dark .case-grid { gap: 40px 26px; }
body.archive-dark .case-card, body.archive-dark .case-card:hover { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
body.archive-dark .case-image { height: 300px; border-radius: 3px; filter: none; }
body.archive-dark .case-number { color: #fff; font-size: 36px; text-shadow: 0 2px 10px #000; }
body.archive-dark .card-content { padding: 20px 0 0; }
body.archive-dark .case-card h3 { font-size: 1.25rem; color: var(--ink); line-height: 1.55; }
body.archive-dark .case-card:hover h3 { color: var(--teal); }
body.archive-dark .tag { color: #9cdde3; background: #102c39; border: 0; font-size: .75rem; }
body.archive-dark .tag.type { color: var(--muted); background: transparent; }
body.archive-dark .card-footer { color: var(--faint); border: 0; font-size: .8125rem; margin-top: 10px; }
body.archive-dark .view-link { color: var(--teal); }
body.archive-dark .archive-pagination button { background: transparent; color: var(--ink); }
body.archive-dark .archive-pagination button[aria-current="page"] { background: #164a5c; border-color: var(--teal); }
body.archive-dark .about { background: transparent; border-top: 1px solid var(--line); border-radius: 0; padding: 44px 0; box-shadow: none; }
body.archive-dark .about h2 { color: var(--ink); }
body.archive-dark .about p { color: var(--muted); }
body.archive-dark .site-footer { color: var(--faint); font-size: .8125rem; }
/* Reading overlays stay light, including inherited design tokens. */
body.archive-dark .modal-dialog, body.archive-dark .contact-dialog, body.archive-dark .case-hover-preview {
  --paper: #f3eadb; --surface: #fffcf7; --ink: #142e46; --muted: #526372;
  --faint: #667785; --line: rgba(20,46,70,.17); --teal: #00658c; --mint: #e2edf0;
  background: var(--surface); color: var(--ink);
}
body.archive-dark .case-hover-preview .tag { background: #e2edf0; color: #00658c; }
body.archive-dark .case-hover-preview .tag.type { color: #526372; }
body.archive-dark :focus-visible { outline-color: #70c5cf; }
@media(max-width:1040px) {
  body.archive-dark .hero { gap: 40px; }
  body.archive-dark .intro { max-width: 720px; }
}
@media(max-width:720px) {
  body.archive-dark .hero { padding-top: 28px; }
  body.archive-dark .intro h1 { font-size: clamp(37px,10vw,49px); }
  body.archive-dark .brand-logo { width: 145px; height: auto; }
  body.archive-dark .case-image { height: 265px; }
  body.archive-dark .archive { padding-top: 52px; }
  body.archive-dark .case-grid { gap: 32px; }
}

body.archive-dark a.brand-copy { text-decoration: none; }
