/* Palette taken from the municipal seal: navy lettering, gold bamboo frame. */
:root{
  --navy:#1E2A78; --navy-deep:#141C52; --gold:#F5C400;
  --ink:#12151F; --body:#39405A; --muted:#6B7392;
  --paper:#FFFFFF; --ground:#F6F7FB; --hair:#DFE3EF;
  --s4:#96201B; --s3:#B85A10; --s2:#9A7A00; --s1:#2F7C2A;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--body);
  font:16px/1.65 "Source Serif 4",Georgia,"Times New Roman",serif}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
h1,h2,h3,.brand,.eyebrow,th,.pill,.stat .k,nav a{
  font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
h1{font-size:1.9rem;line-height:1.2;color:var(--ink);margin:26px 0 10px}
h2{font-size:1.18rem;color:var(--navy);margin:32px 0 10px;
  padding-bottom:6px;border-bottom:2px solid var(--hair)}
p{margin:0 0 14px}
a{color:var(--navy)}
.lede{font-size:1.06rem;color:var(--ink);margin-bottom:20px}
.small{font-size:.86rem} .muted{color:var(--muted)}
.mono,code{font-family:ui-monospace,"JetBrains Mono",Menlo,Consolas,monospace;font-size:.85em}
.break{word-break:break-all}

.masthead{background:var(--navy-deep);color:#fff;padding:18px 0 16px;
  border-bottom:4px solid var(--gold)}
.masthead .eyebrow{display:block;font-size:.72rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.masthead .brand{font-size:1.45rem;font-weight:700}
.masthead .thin{font-weight:400;opacity:.8;font-size:1rem;display:block}

nav.sections{background:var(--navy);position:sticky;top:0;z-index:5;
  overflow-x:auto;white-space:nowrap}
nav.sections a{display:inline-block;padding:11px 15px;color:#C9D0F0;
  text-decoration:none;font-size:.84rem;border-bottom:3px solid transparent}
nav.sections a:hover{color:#fff}
nav.sections a.on{color:#fff;border-bottom-color:var(--gold)}

main{background:var(--paper);padding:8px 22px 42px;margin:0 auto 34px;
  max-width:1080px;box-shadow:0 1px 3px rgba(20,28,82,.08)}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;margin:20px 0 8px}
.stat{background:var(--ground);border:1px solid var(--hair);border-radius:6px;padding:13px 15px}
.stat .v{display:block;font-size:1.55rem;font-weight:700;color:var(--navy);
  font-variant-numeric:tabular-nums}
.stat .k{display:block;font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);margin-top:2px}

.tw{overflow-x:auto;margin:12px 0 8px}
table.grid{width:100%;border-collapse:collapse;font-size:.9rem}
table.grid thead th{background:var(--navy);color:#fff;text-align:left;
  padding:8px 11px;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;
  font-weight:600;white-space:nowrap}
table.grid td{padding:7px 11px;border-bottom:1px solid var(--hair);vertical-align:top}
table.grid tbody tr:nth-child(even){background:#FAFBFE}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  font-family:ui-monospace,Menlo,monospace;font-size:.85em}
td.strong{font-weight:700;color:var(--ink)}
td.gap,.gap{color:var(--muted);font-style:italic}
th.rowhead{background:var(--ground);text-align:left;padding:7px 11px;
  font-size:.8rem;color:var(--navy)}
table.matrix td{text-align:right;font-variant-numeric:tabular-nums}

.score{display:inline-block;min-width:1.5em;text-align:center;border-radius:3px;
  padding:1px 5px;color:#fff;font-weight:700;font-size:.78rem}
.s4{background:var(--s4)} .s3{background:var(--s3)}
.s2{background:var(--s2)} .s1{background:var(--s1)}
td.score{color:#fff}

.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.7rem;
  letter-spacing:.05em;text-transform:uppercase;font-weight:700;vertical-align:middle}
.p-computed{background:#DFF3DC;color:#1F5E1B}
.p-manual{background:#FDEBD2;color:#8A4B08}
.p-pending{background:#EEF0F7;color:#5A6183}
.p-nil{background:#E6F0FA;color:#1B4A78}

.callout{background:#FFFCEE;border-left:4px solid var(--gold);padding:13px 16px;
  margin:16px 0;border-radius:0 5px 5px 0}
.callout.warn{background:#FFF4EC;border-left-color:#B85A10}
.callout.draft{background:#F3F5FF;border-left-color:var(--navy)}
.callout p:last-child{margin-bottom:0}
.note{font-size:.86rem;color:var(--muted);margin:8px 0 18px}

dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:16px 0 22px}
dl.facts dt{font-weight:700;color:var(--navy);font-size:.85rem}
dl.facts dd{margin:0}
dl.terms dt{font-weight:700;color:var(--navy);margin-top:12px}
dl.terms dd{margin:2px 0 0}

.swatch{display:inline-block;width:12px;height:12px;border-radius:2px;
  vertical-align:baseline;margin-right:5px}
section.hazard{margin-bottom:34px}

.sitefoot{color:var(--muted);font-size:.82rem;padding:0 0 40px;text-align:center;line-height:1.6}

@media print{
  nav.sections,.sitefoot{display:none}
  body{background:#fff;font-size:10.5pt}
  main{box-shadow:none;margin:0;padding:0;max-width:none}
  h1{page-break-before:always} main h1:first-of-type{page-break-before:avoid}
  h2{page-break-after:avoid}
  .tw{overflow:visible} table.grid{page-break-inside:auto}
  tr{page-break-inside:avoid}
  thead{display:table-header-group}          /* repeat headers across pages */
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8pt;color:#666}
  .callout{border:1px solid #999;border-left-width:4px}
}