/* GENERATED by build-atlas.py — do not edit by hand.
   Tokens are the app's own (app/styles.css :root), same standing note as seo.css.
   The c1..c5 ramp is local to the atlas: it is a sequential climate scale and nothing
   else on the site carries one. ACID is deliberately absent — it means "drink tonight". */
:root{
  --c1:#7ea88f; --c2:#a9b878; --c3:#c9a227; --c4:#dc8f4b; --c5:#e8735c;
  /* ⚠️ ONE MEASURE FOR EVERY FULL-WIDTH TEXT BLOCK ON A REGION PAGE. It is a length, not
     a ch value, because a ch is relative to the element's own font and the page mixes
     1.4rem Cormorant with 15.5px Jost: 44ch and 62ch came out as 470px and 575px under an
     816px heading, which reads as the text being indented. */
  --measure:680px;
}
.atlas .lede{max-width:62ch}
.atlas-fig{margin:28px 0 8px;padding:0}
.atlas-map{width:100%;height:auto;display:block;
  background:var(--panel,#0d1c15);border:1px solid var(--line);border-radius:10px}
.atlas-states path{fill:none;stroke:var(--line);stroke-width:1.1;vector-effect:non-scaling-stroke}
.gi-shape{stroke:rgba(236,228,210,.28);stroke-width:.7;vector-effect:non-scaling-stroke}
.gi-dot{fill:var(--ink);fill-opacity:.16;stroke:var(--ink);stroke-opacity:.35;stroke-width:.6;
  vector-effect:non-scaling-stroke;pointer-events:none}
.gi.c1 .gi-shape{fill:var(--c1)} .gi.c2 .gi-shape{fill:var(--c2)}
.gi.c3 .gi-shape{fill:var(--c3)} .gi.c4 .gi-shape{fill:var(--c4)}
.gi.c5 .gi-shape{fill:var(--c5)}
.gi .gi-shape{fill-opacity:.62;transition:fill-opacity .12s ease}
.gi:hover .gi-shape,.gi:focus .gi-shape,.gi.on .gi-shape{fill-opacity:1}
.gi:focus{outline:none}
.gi:focus .gi-dot{stroke:var(--ink);stroke-opacity:1;stroke-width:1.4}
.atlas-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 4px;padding:0;
  font-size:.86rem;color:var(--ink-2)}
.atlas-legend li{display:flex;align-items:center;gap:7px}
.sw{width:13px;height:13px;border-radius:3px;display:inline-block;flex:none}
.sw.c1{background:var(--c1)} .sw.c2{background:var(--c2)} .sw.c3{background:var(--c3)}
.sw.c4{background:var(--c4)} .sw.c5{background:var(--c5)}
.atlas-legend-note{font-size:.84rem;color:var(--ink-3);margin:4px 0 0;max-width:60ch}
.atlas-span{margin:18px 0 0;max-width:62ch}
.atlas-tool{margin:34px 0;padding:22px;border:1px solid var(--line);border-radius:12px;
  background:var(--panel,#0d1c15)}
.atlas-tool h2{margin:0 0 8px}
.atlas-tool p{max-width:62ch}
.tool-row{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0 6px}
.tool-row label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--ink-2);
  flex:1 1 220px}
.tool-row select{font:inherit;color:var(--ink);background:var(--room);padding:10px 12px;
  border:1px solid var(--line);border-radius:8px}
.tool-answer{margin:14px 0 0;font-family:var(--serif);font-size:1.32rem;line-height:1.4;
  color:var(--ink)}
.tool-answer strong{color:var(--brass)}
.tool-answer.hot strong{color:var(--coral)}
.tool-note{font-size:.86rem;color:var(--ink-3);margin:10px 0 0}
.atlas-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.atlas-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:10px 0 0}
.atlas-table th,.atlas-table td{padding:7px 10px;border-bottom:1px solid var(--line);
  text-align:left;white-space:nowrap}
.atlas-table th{color:var(--ink-3);font-weight:500;font-size:.8rem;letter-spacing:.04em;
  text-transform:uppercase}
.atlas-table td.num,.atlas-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.atlas-table .rg{display:flex;align-items:center;gap:9px}
.atlas-table tbody tr:hover{background:rgba(201,162,39,.07)}
.atlas-table.temp th[scope=row]{white-space:normal;text-transform:none;letter-spacing:0;
  font-size:.9rem;color:var(--ink)}
.atlas-table.temp th small{display:block;color:var(--ink-3);font-size:.78rem;margin-top:2px}
.atlas-table.temp td.num{vertical-align:middle}
.atlas-table.temp{margin-top:0}
.guide-table.temp-wrap h2{margin-bottom:6px}
.hub-qa{margin:34px 0 0}
.hub-qa h2{margin:0 0 14px}
.hub-qa h3{font-family:var(--serif);font-size:1.22rem;margin:18px 0 6px;color:var(--ink)}
.hub-qa p{margin:0;max-width:66ch;color:var(--ink-2)}
/* ── the storage guide: full text width, per Pat's review of tool pages ─────── */
.guide .lede,.guide p,.guide .hub-qa p{max-width:none}
.guide .lede{font-family:var(--serif);font-size:1.3rem;line-height:1.45}
.guide .atlas-tool.compact{margin-top:18px}
.guide-table,.guide-why,.guide-barello{margin:34px 0 0}
.guide-table th[scope=row]{font-weight:400;color:var(--ink)}
.atlas-table td.hot{color:var(--coral)}
.atlas-source{margin:34px 0 0}
.atlas-source p{max-width:62ch}
.region .atlas-source p{max-width:var(--measure)}
.neighbours{margin:34px 0 0}
.neighbours h2{margin:0 0 12px}
.neighbours ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}
.neighbours li{border:1px solid var(--line);border-radius:10px;padding:13px 15px;
  background:var(--panel,#0d1c15)}
.neighbours li a{font-family:var(--serif);font-size:1.18rem;display:block}
.nb-note{display:block;font-size:.85rem;color:var(--ink-3);margin-top:4px}
.crumbs{font-size:.86rem;color:var(--ink-3);margin:0 0 14px}
@media (max-width:640px){
  .atlas-table th,.atlas-table td{padding:6px 8px;font-size:.84rem}
  .atlas-tool{padding:16px}
}

/* ── the click panel ─────────────────────────────────────────────────────────── */
.atlas-panel{margin:14px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:10px;
  background:var(--panel,#0d1c15);min-height:74px}
.atlas-panel h3{font-family:var(--serif);font-size:1.5rem;margin:0 0 10px}
.panel-state{font-family:var(--sans);font-size:.8rem;color:var(--ink-3);letter-spacing:.04em;
  text-transform:uppercase;margin-left:8px}
.atlas-panel dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
  gap:8px 18px;margin:0}
.atlas-panel dt{font-size:.74rem;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}
.atlas-panel dd{margin:0 0 6px;font-variant-numeric:tabular-nums;color:var(--ink)}
.panel-hint,.panel-note{color:var(--ink-3);font-size:.9rem;margin:0}
.panel-more{margin:12px 0 0}
.panel-more a{font-weight:500}
.gi.sel .gi-shape{fill-opacity:1;stroke:var(--ink);stroke-width:1.4}
.gi.has-page{cursor:pointer}

/* ── region pages ────────────────────────────────────────────────────────────── */
.region-top{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-start;margin:24px 0 0}
.loc-fig{margin:0;flex:1 1 320px;max-width:460px}
.loc-map{width:100%;height:auto;display:block;background:var(--panel,#0d1c15);
  border:1px solid var(--line);border-radius:10px}
.loc-state{fill:rgba(236,228,210,.05);stroke:var(--line);stroke-width:1.1;
  vector-effect:non-scaling-stroke}
.loc-gi{stroke:rgba(236,228,210,.5);stroke-width:1;vector-effect:non-scaling-stroke;
  fill-opacity:.9}
.loc-gi.c1{fill:var(--c1)} .loc-gi.c2{fill:var(--c2)} .loc-gi.c3{fill:var(--c3)}
.loc-gi.c4{fill:var(--c4)} .loc-gi.c5{fill:var(--c5)}
.loc-dot{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.loc-fig figcaption{font-size:.84rem;color:var(--ink-3);margin-top:8px}
.fig-table{flex:1 1 300px;border-collapse:collapse;font-size:.92rem}
.fig-table th{text-align:left;font-weight:400;color:var(--ink-2);padding:8px 14px 8px 0;
  border-bottom:1px solid var(--line);white-space:nowrap}
.fig-table td{padding:8px 0;border-bottom:1px solid var(--line);
  font-variant-numeric:tabular-nums}
.fig-table td.num{text-align:right;padding-right:14px;white-space:nowrap}
.fig-table td.note{text-align:left;color:var(--ink-3);font-size:.84rem;white-space:normal}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.region .lede{font-family:var(--serif);font-size:1.4rem;line-height:1.42;
  max-width:var(--measure)}
@media (max-width:640px){
  .region-top{gap:18px}
  .fig-table{font-size:.86rem}
  .atlas-panel{padding:14px}
}

/* ── region page: teach first, table last ────────────────────────────────────── */
.known-for{margin:20px 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}
.known-for h2{font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-3);margin:0}
.known-for ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.known-for li{font-family:var(--serif);font-size:1.02rem;color:var(--ink);
  border:1px solid var(--line);border-radius:999px;padding:4px 13px;white-space:nowrap}
@media (max-width:560px){.known-for li{font-size:.95rem;padding:3px 11px}}
.region-hero{margin:24px 0 0;padding:0}
.region-hero img{width:100%;height:auto;display:block;border-radius:12px;
  border:1px solid var(--line)}
.region-hero figcaption{font-size:.78rem;color:var(--ink-3);margin-top:7px}
.region-hero figcaption a{color:var(--ink-3);text-decoration:underline}

.region-why{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;margin:30px 0 0}
.why-text{flex:1 1 340px;min-width:0}
.why-text h2{margin:0 0 10px}
.why-text p{max-width:58ch;margin:0 0 12px}
.why-climate{font-size:.92rem;color:var(--ink-2)}
.region-why .loc-fig{flex:0 1 380px}
.region-history{margin:30px 0 0}
.region-history p{max-width:var(--measure);margin:0 0 12px}
.region .atlas-table-wrap{margin:34px 0 0}
.region .fig-table{width:100%}
@media (max-width:760px){
  .region-why{gap:18px}
  .region-why .loc-fig{flex:1 1 100%;max-width:none}
}
