/* Readability pass: larger controls, stronger contrast, and shorter first viewport. */
:root {
  --muted: #d1dde3;
  --line: rgba(205, 234, 243, .34);
  --line-hot: rgba(126, 239, 255, .72);
  --paper: #ffffff;
}

body {
  text-shadow: 0 1px 2px rgba(0, 0, 0, .82);
}

.hero {
  min-height: clamp(580px, 78svh, 780px);
  padding-top: 112px;
  padding-bottom: 56px;
}

.hero::before { border-color: rgba(220, 245, 250, .3); }
.hero-copy > p:last-of-type { color: #f2f7f8; text-shadow: 0 2px 3px #000; }
.hero h1 { text-shadow: 0 2px 4px #000, 0 0 55px rgba(79, 221, 255, .22); }
.hero h1 em { -webkit-text-stroke: 1.5px #f4fbff; }

.site-header nav { gap: 8px; }
.site-header nav a {
  display: inline-grid;
  min-height: 48px;
  padding: 0 16px;
  place-items: center;
  border: 1px solid rgba(220, 245, 250, .28);
  background: rgba(3, 10, 18, .58);
  color: #ffffff;
  font-size: 12px;
  letter-spacing: .12em;
}
.site-header nav a::after { bottom: -1px; height: 2px; }
.site-header nav a.locale { width: 48px; min-height: 48px; padding: 0; }
.menu-toggle { width: 52px; height: 52px; }

.kicker, .section-id { font-size: 12px; color: #d7ff7a; }
.hero-data, .resident-signal span, .resident-signal small { font-size: 12px; color: #dce9ed; }
.resident-signal { border-left-width: 2px; }
.resident-signal strong { color: #fff; }
.scene-hud span { font-size: 11px; color: #d1dde3; }
.scene-hud b { font-size: 12px; color: #fff; }
.scene-hud .online { color: #d7ff7a; }

.title-row > p, .life-head > p, .network-top > p, .build-head > p,
.dossier-head > p, .deep-dives-head > p, .arch-copy > p,
.city-stories p, .deep-dive-copy p { color: #e0eaee; text-shadow: 0 2px 3px #000; }

.city-stories article > span, .system-card > p,
.system-card small, .arch-tags span, .dossier-kicker,
.deep-dive-kicker, .deep-dive-number, .deep-dive-facts dt,
.deep-dive-facts dd, .route-note, .map-label, .map-legend,
.cut-label, .service, .build-stage span, .build-stage b,
.day-timeline time, .day-timeline small { font-size: 12px; }

.city-stories article, .system-card, .arch-copy, .dossier-list,
.deep-dive-topic, .city-map, .cutaway, .route, .build-sequence {
  border-color: rgba(205, 234, 243, .34);
}

.section::before, .architecture::before, .network::before,
.section:nth-of-type(even)::before { opacity: .96; }
.deep-dives::before { opacity: .98; }

footer { font-size: 12px; color: #d1dde3; }

@media (max-width: 800px) {
  .hero { min-height: 640px; padding-top: 98px; }
  .site-header nav a { min-height: 56px; padding: 0 18px; font-size: 13px; }
  .site-header nav a.locale { width: 100%; min-height: 56px; padding: 0 18px; place-items: center start; }
  .menu-toggle { width: 56px; height: 56px; }
  .hero-data { display: none; }
  .resident-signal { bottom: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  body { text-shadow: none; }
}
