:root {
  --civic-canopy: #102d26;
  --civic-forest: #1c4b3c;
  --civic-paper: #fbfaf6;
  --civic-parchment: #f4f0e6;
  --civic-sage: #e7ebe2;
  --civic-ink: #18201d;
  --civic-muted: #4a554e;
  --civic-brass: #8f6326;
  --civic-clay: #8c3f36;
  --civic-line: #d8d3c4;
}

html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--civic-paper);
  color: var(--civic-ink);
  font-family: 'Atkinson Hyperlegible Next', 'Atkinson Hyperlegible', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-size: 17px;
  line-height: 1.68;
  padding: clamp(20px, 4vw, 48px) 18px 72px;
}
.container { max-width: 780px; }
a { color: var(--civic-forest); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration: underline; }
:focus-visible { outline: 3px solid var(--civic-forest); outline-offset: 3px; }
.back-link { color: var(--civic-forest); font-weight: 700; min-height: 44px; display: inline-flex; align-items: center; }
h1, h2 {
  color: var(--civic-canopy);
  font-family: 'Source Serif 4', 'Source Serif Pro', Georgia, serif;
  letter-spacing: -.012em;
}
h1 { color: var(--civic-canopy); font-size: clamp(34px, 6vw, 52px); line-height: 1.04; margin-bottom: 12px; }
h2 { color: var(--civic-canopy); border-top-color: var(--civic-line); }
h3, strong { color: var(--civic-canopy); }
.effective-date, .subtitle { color: var(--civic-muted); }
.promise-box, .warning-box {
  border-radius: 6px;
  box-shadow: none;
}
.promise-box { background: var(--civic-sage); border-color: #aebcad; }
.promise-box h3 { color: var(--civic-forest); }
.warning-box { background: #f5e9e5; border-color: #c99b92; }
.warning-box h3 { color: #71352e; }
.data-grid, .spec-grid { border-color: var(--civic-line); border-radius: 6px; }
.data-grid .cell, .spec-grid .cell { border-bottom-color: var(--civic-line); color: var(--civic-ink); }
.data-grid .cell:nth-child(odd), .spec-grid .cell:nth-child(odd) { background: var(--civic-parchment); color: var(--civic-muted); }
.data-grid .cell:nth-child(even), .spec-grid .cell:nth-child(even) { color: var(--civic-ink); }
.security-badge { color: var(--civic-forest); background: var(--civic-sage); border-color: #aebcad; }
.lang-toggle { background: var(--civic-paper); border-color: var(--civic-line); box-shadow: 0 3px 18px rgba(16,45,38,.08); }
.lang-btn { color: var(--civic-muted); min-width: 44px; min-height: 44px; }
.lang-btn.active { background: var(--civic-forest); color: var(--civic-paper); }
.lang-btn:hover:not(.active) { color: var(--civic-canopy); }
.footer { color: var(--civic-muted); border-top-color: var(--civic-line); text-align: left; }
.footer a { color: var(--civic-forest); margin: 0 16px 0 0; }
@media (max-width: 600px) {
  body { padding-top: 72px; }
  .lang-toggle { position: absolute; }
}
