
@font-face { font-family:"Public Sans"; font-weight:400; font-display:swap;
  src:url("assets/fonts/PublicSans-Regular.woff2") format("woff2"); }
@font-face { font-family:"Public Sans"; font-weight:700; font-display:swap;
  src:url("assets/fonts/PublicSans-Bold.woff2") format("woff2"); }
* { margin:0; box-sizing:border-box; }
:root {
  --paper:#F4F2EE; --surface:#FBFAF7; --ink:#0B0C0C; --ink2:#454440;
  --rule:#B6B3AC; --rule-strong:#0B0C0C; --link:#1D70B8; --link-hover:#003078;
  --focus:#FFDD00; --green:#00703C; --red:#D4351C;
}
html { background:var(--paper); }
body { font:400 1.1875rem/1.5 "Public Sans","Helvetica Neue",Arial,sans-serif;
  color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; }
::selection { background:var(--focus); color:var(--ink); }
html { caret-color:var(--ink); scrollbar-color:var(--ink2) var(--paper); }
a { color:var(--link); text-decoration:underline; text-underline-offset:3px;
    text-decoration-thickness:1px; }
a:hover { color:var(--link-hover); text-decoration-thickness:3px; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline:3px solid transparent; background:var(--focus); color:var(--ink);
  box-shadow:0 -2px var(--focus), 0 4px var(--ink); text-decoration:none; }
.skip { position:absolute; left:-999px; top:0; background:var(--focus);
  color:var(--ink); padding:10px 16px; z-index:20; }
.skip:focus { left:0; }
header.site { background:var(--ink); color:#FFFFFF; }
header.site .in { max-width:1020px; margin:0 auto; padding:0 24px;
  display:flex; align-items:stretch; flex-wrap:wrap; gap:0 4px; }
header.site .brand { color:#FFFFFF; font-weight:700; font-size:1.25rem;
  text-decoration:none; padding:14px 16px 14px 0; margin-right:12px; }
header.site nav.wide { display:flex; flex-wrap:wrap; }
header.site details.menu { display:none; }
header.site nav a { color:#FFFFFF; text-decoration:none; font-size:1rem;
  padding:16px 12px 12px; border-bottom:4px solid transparent; }
header.site nav a:hover { border-bottom-color:#FFFFFF; }
header.site nav a[aria-current] { border-bottom-color:#FFFFFF; font-weight:700; }
.phase { border-bottom:1px solid var(--rule); }
.phase .in { max-width:1020px; margin:0 auto; padding:10px 24px;
  font-size:1rem; display:flex; gap:12px; align-items:baseline; }
.tag { display:inline-block; font-size:0.875rem; font-weight:700;
  letter-spacing:0.04em; text-transform:uppercase; padding:3px 9px 2px;
  color:#FFFFFF; background:var(--ink2); white-space:nowrap; }
main { max-width:1020px; margin:0 auto; padding:40px 24px 64px; }
h1 { font-size:2.75rem; line-height:1.09; font-weight:700;
  letter-spacing:-0.01em; margin:0 0 18px; max-width:22ch; text-wrap:balance; }
.lead { font-size:1.375rem; line-height:1.45; color:var(--ink);
  max-width:32em; margin-bottom:28px; }
h2 { font-size:1.875rem; line-height:1.15; font-weight:700; margin:44px 0 14px;
  letter-spacing:-0.005em; }
h3 { font-size:1.25rem; font-weight:700; margin:26px 0 8px; }
p { max-width:66ch; margin-bottom:16px; }
.small { font-size:1rem; color:var(--ink2); }
.src { font-size:0.9375rem; color:var(--ink2); }
.btn { display:inline-block; background:var(--green); color:#FFFFFF;
  font-weight:700; font-size:1.1875rem; padding:12px 22px; text-decoration:none; }
.btn:hover { background:#005A30; color:#FFFFFF; }
.rule { border:0; border-top:1px solid var(--rule); margin:32px 0; }
.rule-strong { border:0; border-top:4px solid var(--rule-strong); margin:40px 0 0; }
table { border-collapse:collapse; width:100%; font-variant-numeric:tabular-nums; }
caption { text-align:left; font-weight:700; font-size:1.1875rem; padding-bottom:10px; }
th, td { text-align:left; padding:10px 20px 10px 0; font-size:1.0625rem;
  border-bottom:1px solid var(--rule); vertical-align:top; }
th { font-weight:700; }
thead th { border-bottom:2px solid var(--rule-strong); }
td.num, th.num { text-align:right; }
td.num:last-child, th.num:last-child { padding-right:0; }
th.nowrap { white-space:nowrap; }
.tablewrap { overflow-x:auto; }
dl.facts { margin:20px 0 8px; }
dl.facts .row { display:grid; grid-template-columns:minmax(150px,1fr) auto;
  gap:4px 24px; padding:12px 0; border-bottom:1px solid var(--rule);
  align-items:baseline; }
dl.facts dt { font-weight:700; font-size:1.0625rem; }
dl.facts dd { font-size:1.5rem; font-weight:700; text-align:right;
  font-variant-numeric:tabular-nums; }
dl.facts .prov { grid-column:1 / -1; font-size:0.9375rem; color:var(--ink2); }
ol.steps { list-style:none; counter-reset:step; margin:8px 0 8px; }
ol.steps li { counter-increment:step; border-top:1px solid var(--rule);
  padding:16px 0 16px 64px; position:relative; max-width:46em; }
ol.steps li::before { content:counter(step); position:absolute; left:0; top:14px;
  width:38px; height:38px; border:2px solid var(--ink); font-weight:700;
  font-size:1.1875rem; display:flex; align-items:center; justify-content:center; }
ol.steps b { display:block; font-size:1.1875rem; }
ol.steps span { font-size:1.0625rem; color:var(--ink2); }
ul.plain { margin:0 0 16px 20px; }
ul.plain li { margin-bottom:6px; max-width:60ch; }
.notice { border-top:4px solid var(--ink); border-bottom:1px solid var(--rule);
  padding:18px 0; margin:28px 0; max-width:46em; }
.notice.alert { border-top-color:var(--red); }
.notice b.t { display:block; font-size:1.1875rem; margin-bottom:6px; }
.report { border-top:4px solid var(--rule-strong); padding:22px 0 10px; margin-top:36px; }
.report .head { display:flex; justify-content:space-between; gap:16px;
  align-items:baseline; flex-wrap:wrap; }
.report h2 { margin:0; font-size:1.5rem; }
.report .tags { display:flex; gap:8px; }
.report dl.kv { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0 28px; margin:16px 0 6px; }
.report dl.kv > div { border-top:1px solid var(--rule); padding:8px 0; }
.report dl.kv dt { font-size:0.9375rem; color:var(--ink2); }
.report dl.kv dd { font-size:1.1875rem; font-weight:700;
  font-variant-numeric:tabular-nums; }
.report .narr { max-width:66ch; font-size:1.0625rem; margin:12px 0; }
.gal { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:28px 24px; margin:20px 0; }
figure.shot { margin:0; }
figure.shot img { width:100%; display:block; border:1px solid var(--ink); }
figure.shot figcaption { font-size:0.9375rem; color:var(--ink2);
  padding-top:8px; line-height:1.45; }
figure.shot figcaption b { color:var(--ink); }
.maplayout { display:grid; grid-template-columns:minmax(400px,2fr) 3fr;
  gap:28px; align-items:start; margin-top:8px; }
#map { min-height:560px; border:1px solid var(--ink); background:var(--surface); }
#map .schematic { width:100%; height:100%; display:block; }
.leaflet-container { font:inherit; }
.leaflet-bar, .leaflet-bar a, .leaflet-popup-content-wrapper,
.leaflet-popup-tip { border-radius:0 !important; box-shadow:none !important; }
.leaflet-bar a { border:1px solid var(--ink) !important; color:var(--ink) !important; }
.leaflet-popup-content-wrapper { border:1px solid var(--ink); }
.leaflet-popup-content { font-size:0.9375rem; margin:12px 14px; }
footer.site { border-top:1px solid var(--rule); margin-top:24px; }
footer.site .in { max-width:1020px; margin:0 auto; padding:20px 24px 36px;
  font-size:0.9375rem; color:var(--ink2); }
footer.site a { color:var(--ink2); }
@media (max-width:760px) {
  header.site nav.wide { display:none; }
  header.site details.menu { display:block; flex:1; }
  header.site details.menu summary { color:#FFFFFF; font-weight:700;
    font-size:1rem; padding:16px 0; cursor:pointer; list-style:none;
    text-align:right; }
  header.site details.menu summary::-webkit-details-marker { display:none; }
  header.site details.menu nav { display:block;
    border-top:1px solid #454440; }
  header.site details.menu nav a { display:block; color:#FFFFFF;
    text-decoration:none; font-size:1.0625rem; padding:12px 0;
    border-bottom:1px solid #454440; }
  header.site details.menu nav a[aria-current] { font-weight:700; }
  h1 { font-size:2rem; }
  .lead { font-size:1.1875rem; }
  .maplayout { grid-template-columns:1fr; }
  #map { min-height:420px; }
  dl.facts dd { font-size:1.25rem; }
  .sitefoot { border-top:4px solid var(--ink); margin-top:56px; padding-top:16px; }
  .footrow { display:flex; flex-wrap:wrap; gap:12px 32px; 
             align-items:baseline; justify-content:space-between; }
  .copy { margin:0; font-size:14px; color:var(--ink2); }
  .footlinks { display:flex; flex-wrap:wrap; gap:0 24px;
               list-style:none; margin:0; padding:0; }
  .footlinks a { font-size:14px; color:var(--ink); }
  @media (max-width:600px) { .footrow { flex-direction:column; gap:10px; } }
}
@media print {
  header.site, .phase, footer.site, .btn { display:none; }
  body { background:#FFFFFF; }
}
