/* GIS summaries retain precise boundaries, legible labels, and original data. */
.gis-explorer{--gis-ink:#303e32;background:#fff;border:1px solid #cbd5c5;border-radius:18px;overflow:hidden;margin:30px 0;color:var(--gis-ink);box-shadow:0 9px 32px #294b3509;}
.gis-heading{padding:28px 30px 20px;display:flex;justify-content:space-between;gap:22px;background:linear-gradient(115deg,#285f45,#576d35);color:#fff;align-items:center;}
.gis-explorer .gis-heading h2,.reader-shell .article-body .gis-heading h2{font:700 1.55rem/1.3 Montserrat,sans-serif;color:#fff;margin:8px 0 0;border:0;padding:0;max-width:28ch;}
.gis-explorer .gis-heading .eyebrow{color:#f3ddbf;margin:0;}
.gis-region-badge{font-size:.69rem;line-height:1.7;border-left:1px solid #ffffff55;padding-left:22px;flex-shrink:0;}
.gis-region-badge strong{font-size:.85rem;}
.gis-explorer .gis-intro{font-size:.86rem;margin:22px 30px 14px;max-width:70ch;}
.gis-layer-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:0 30px 24px;}
.gis-layer-tabs button{border:1px solid #cad6be;border-radius:30px;background:#f2f5ea;color:#425338;font:600 .76rem/1.4 Montserrat,sans-serif;padding:10px 14px;cursor:pointer;}
.gis-layer-tabs button[aria-pressed=true]{background:#76627f;border-color:#76627f;color:#fff;box-shadow:0 3px 10px #76627f26;}
.gis-full-layer-control{padding:0 30px 23px;display:flex;align-items:center;gap:25px;}.gis-full-layer-control label{font-size:.74rem;font-weight:700;display:flex;align-items:center;gap:15px;}.gis-full-layer-control select{min-width:260px;font-size:.83rem;padding:12px;}.gis-explorer .gis-full-layer-control p{font-size:.7rem;color:#526148;margin:0;}
@media(max-width:620px){.gis-full-layer-control{display:block;padding:0 18px 20px;}.gis-full-layer-control label{display:block;}.gis-full-layer-control select{display:block;width:100%;min-width:0;margin-top:9px;}.gis-explorer .gis-full-layer-control p{margin-top:10px;}}
.gis-main{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:0;border-block:1px solid #d8dfcf;}
.gis-map-card{background:#f3f5ed;min-width:0;}
.gis-map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #d8dfcf;}
.gis-map-label{font-size:.7rem;font-weight:700;}
.gis-map-toolbar label,.gis-comparison-heading label{font-size:.66rem;display:flex;gap:8px;align-items:center;color:#44543c;}
.gis-explorer select{font:500 .72rem/1.3 Montserrat,sans-serif;padding:8px 28px 8px 9px;background:#fff;color:#303e32;border:1px solid #bbc9b3;border-radius:6px;max-width:100%;}
.gis-map-stage{height:380px;position:relative;overflow:hidden;}
.gis-map-drawing,.gis-map-svg{width:100%;height:100%;display:block;}
.gis-county{stroke:#f2f5ea;stroke-width:1.3;vector-effect:non-scaling-stroke;}
.gis-member{cursor:pointer;transition:fill .15s;}
.gis-member:hover{stroke:#bf5d85;stroke-width:3;}
.gis-member.gis-selected{stroke:#ec8a50;stroke-width:3.3;}
.gis-explorer .gis-member:focus,.gis-explorer .gis-member:focus-visible{outline:none;stroke:#d87932;stroke-width:4.5;}
.gis-county-label{font:700 10px Montserrat,sans-serif;fill:#26382e;paint-order:stroke;stroke:#ffffffee;stroke-width:3px;stroke-linejoin:round;pointer-events:none;}
.gis-north{position:absolute;top:15px;right:18px;font-size:.75rem;line-height:1.4;text-align:center;color:#44543c;}
.gis-zoom{position:absolute;left:16px;bottom:15px;display:flex;gap:2px;box-shadow:0 2px 8px #34462d20;}
.gis-zoom button{padding:9px 12px;min-width:37px;border:1px solid #bbc9b3;color:#33432f;background:#fff;font:600 .75rem Montserrat,sans-serif;cursor:pointer;}
.gis-legend{padding:12px 22px 17px;background:#eef2e5;border-top:1px solid #d8dfcf;}
.gis-explorer .gis-legend p{font-size:.66rem;margin:8px 0 0;line-height:1.5;}
.gis-selection{padding:26px;background:#f8f2fa;border-left:1px solid #ded0e5;min-width:0;}
.gis-selection .eyebrow{font-size:.68rem;color:#785185;margin:0;}
.gis-explorer .gis-selection h3,.reader-shell .article-body .gis-selection h3{font:700 1.4rem/1.35 Montserrat,sans-serif;color:#513666;margin:10px 0 22px;}
.gis-big-number{display:block;font:700 clamp(1.7rem,3.7vw,2.8rem)/1.15 Montserrat,sans-serif;color:#685273;letter-spacing:-.045em;overflow-wrap:normal;}
.gis-explorer .gis-measure-name{font-size:.86rem;line-height:1.45;margin:10px 0 7px;}
.gis-explorer .gis-selection-period{font-size:.7rem;color:#514359;line-height:1.6;margin:0;}
.gis-explorer .gis-uncertainty{font-size:.66rem;color:#665676;line-height:1.6;margin:10px 0 0;border-left:2px solid #b5a5c2;padding-left:10px;}
.gis-range-note{padding:18px 0;margin:21px 0 15px;border-block:1px solid #e0dfec;}
.gis-range-note>span{display:block;font-size:.66rem;color:#6b6280;margin-bottom:9px;}.gis-range-note>strong{font-size:1rem;}.gis-explorer .gis-range-note p{font-size:.69rem;margin:7px 0 0;color:#514359;}
.gis-selection>a{font-size:.74rem;font-weight:700;color:#744b7c;}
.gis-comparison{padding:22px 30px;}.gis-comparison-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;}
.gis-explorer .gis-comparison h3,.reader-shell .article-body .gis-comparison h3{font:700 .97rem/1.45 Montserrat,sans-serif;margin:0;color:#513666;}
.gis-comparison-bars{display:grid;gap:5px;}
.gis-comparison-bars button{display:grid;grid-template-columns:80px minmax(0,1fr) 90px;align-items:center;gap:15px;text-align:left;background:#f2f5ea;border:1px solid transparent;border-radius:6px;padding:11px 12px;font:500 .76rem/1.4 Montserrat,sans-serif;color:#303d2c;cursor:pointer;}
.gis-comparison-bars button[aria-pressed=true]{background:#f5edf6;border-color:#b78cbc;}.gis-comparison-bars button>strong{text-align:right;font-size:.76rem;}
.gis-bar-track{height:10px;position:relative;display:block;background:#e7ecdf;border-radius:2px;}
.gis-explorer .gis-period{font-size:.71rem;margin:0 30px 7px;font-weight:650;line-height:1.6;color:#4c5e40;}.gis-explorer .gis-note{font-size:.72rem;margin:0 30px 22px;line-height:1.65;color:#4c5e40;}
.gis-method{padding:16px 30px;background:#f0f3e8;border-top:1px solid #d8dfcf;font-size:.76rem;}.gis-method summary{font-weight:700;cursor:pointer;}.gis-method p{line-height:1.7;font-size:.74rem;}.gis-method a{color:#653d82;}
.gis-explorer :is(button,select,path):focus-visible{outline:3px solid #c36691;outline-offset:3px;}
.gis-comparison-bars svg.gis-bar-track{display:block;width:100%;height:12px;overflow:visible;}
.editorial-photo img[data-position="50% 58%"]{object-position:50% 58%}.editorial-photo img[data-position="50% 62%"]{object-position:50% 62%}.editorial-photo img[data-position="53% 57%"]{object-position:53% 57%}.editorial-photo img[data-position="42% 55%"]{object-position:42% 55%}.editorial-photo img[data-position="55% 62%"]{object-position:55% 62%}.editorial-photo img[data-position="50% 60%"]{object-position:50% 60%}
@media(max-width:900px){.gis-main{grid-template-columns:minmax(0,1.35fr) minmax(210px,1fr);}.gis-selection{padding:22px;}.gis-heading{padding:25px;}.gis-layer-tabs{padding-inline:25px;}.gis-map-stage{height:340px;}}
@media(max-width:620px){.gis-heading{padding:23px 20px;}.gis-explorer .gis-heading h2,.reader-shell .article-body .gis-heading h2{font-size:1.3rem;}.gis-region-badge{display:none;}.gis-explorer .gis-intro{margin:19px 18px 12px;font-size:.8rem;}.gis-layer-tabs{padding:0 18px 19px;gap:6px;}.gis-layer-tabs button{font-size:.71rem;padding:9px 11px;}.gis-main{grid-template-columns:1fr;}.gis-map-toolbar{padding:12px;}.gis-map-label{display:none;}.gis-map-toolbar label{justify-content:space-between;width:100%;}.gis-map-stage{height:330px;}.gis-selection{border-left:0;border-top:1px solid #dddfe9;padding:23px;}.gis-explorer .gis-selection h3{margin-bottom:12px;}.gis-big-number{font-size:2.4rem;}.gis-range-note{margin-block:15px;padding-block:14px;}.gis-comparison{padding:21px 16px;}.gis-comparison-heading{display:block;}.gis-comparison-heading label{margin-top:12px;}.gis-comparison-bars button{grid-template-columns:60px minmax(0,1fr) 73px;gap:9px;padding:10px 8px;font-size:.69rem;}.gis-comparison-bars button>strong{font-size:.7rem;}.gis-explorer .gis-period,.gis-explorer .gis-note{margin-inline:18px;}.gis-method{padding:16px 18px;}}
@media(prefers-reduced-motion:reduce){.gis-member{transition:none;}}
@media print{.gis-explorer{break-inside:avoid;}.gis-zoom,.gis-map-toolbar,.gis-layer-tabs,.gis-comparison-heading label{display:none;}.gis-map-stage{height:280px;}.gis-main{grid-template-columns:1.5fr 1fr;}.gis-selection{padding:18px;}}

/* Shared explorer geometry and palette, used on every route. */
.gis-explorer{--gis-ink:#303e32;border-color:#cbd5c5;background:#fffefb}
.gis-heading{background:linear-gradient(110deg,#285f45,#576d35);color:#fff}
.gis-explorer .gis-heading .eyebrow{color:#f3ddbf}
.gis-explorer .gis-heading h2,.editorial-reader .article-body .gis-heading h2{color:#fff}
.gis-layer-tabs button{color:#425338;background:#f2f5ea;border-color:#cad6be}
.gis-layer-tabs button[aria-pressed=true]{background:#76627f;border-color:#76627f;box-shadow:0 3px 10px #76627f26;color:#fff}
.gis-main{border-color:#d8dfcf}
.gis-map-card{background:#f3f5ed}
.gis-map-toolbar{border-color:#d8dfcf}
.gis-explorer :is(.gis-map-toolbar label,.gis-map-label,.gis-comparison-heading label,.gis-north){color:#44543c}
.gis-explorer select{color:#33432f;border-color:#bbc9b3}
.gis-zoom button{color:#33432f;border-color:#bbc9b3}
.gis-county{stroke:#fffefb}
.gis-member.gis-selected,.gis-member:hover{stroke:#253b2a;stroke-width:3.3}
.gis-explorer .gis-member:focus-visible{stroke:#253b2a;stroke-width:4.5}
.gis-county-label{fill:#26382e;stroke:#fffefb;stroke-width:3.5px}
.gis-legend{background:#eef2e5;border-color:#d8dfcf}
.gis-county-key{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.72rem;font-weight:650;color:#34462d}
.gis-county-key>span{display:flex;align-items:center;gap:6px}
.gis-county-key svg{flex:none}
.gis-selection{background:#f8f2fa;border-color:#ded0e5}
.gis-explorer .gis-selection h3,.editorial-reader .article-body .gis-selection h3{color:#513666}
.gis-big-number{color:#685273}
.gis-explorer .gis-population-share{font-size:.76rem;line-height:1.6;color:#514359;margin:14px 0 0}
.gis-population-share strong{font-size:1.1rem;color:#685273}
.gis-explorer .gis-comparison h3,.editorial-reader .article-body .gis-comparison h3{color:#374d31}
.gis-comparison-heading{margin-bottom:8px}
.gis-explorer .gis-comparison-context{font-size:.76rem;color:#526148;line-height:1.7;margin:0 0 18px;max-width:none}
.gis-comparison-axis{display:flex;justify-content:space-between;margin:0 12px 8px;font:650 .68rem/1.5 Montserrat,sans-serif;color:#516048;font-variant-numeric:tabular-nums}
.gis-comparison-bars{gap:8px}
.gis-comparison-bars button{display:block;width:100%;padding:10px 12px 12px;background:#fbfcf7;border-color:#e2e8db;color:#303d2c;border-radius:6px;min-width:0}
.gis-comparison-bars button:hover{background:#f1f5e8;border-color:#aebb99}
.gis-comparison-bars button[aria-pressed=true]{background:#f6f0f8;border-color:#9871ae;box-shadow:inset 4px 0 0 var(--county-color)}
.gis-compare-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;line-height:1.5;margin:0 0 8px;font-size:.79rem}
.gis-compare-label>span{font-weight:600}
.gis-compare-label strong{color:#303d2c;font-size:.83rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.gis-compare-label small{font-size:.64rem;font-weight:500;margin-left:3px;color:#55644b}
.gis-comparison-bars svg.gis-bar-track{width:100%;height:20px;position:static;background:#e7ecdf;overflow:visible;border-radius:0}
/* SVG geometry must retain its numeric height; height:auto hid the old bars. */
.gis-comparison-bars svg .gis-data-bar{height:10px;stroke:none}
.gis-grid-line{stroke:#bdc9b1;stroke-width:1;vector-effect:non-scaling-stroke}
.gis-origin{stroke:#53644b;stroke-width:1;vector-effect:non-scaling-stroke}
.gis-explorer .gis-comparison-explainer{font-size:.7rem;line-height:1.65;color:#526148;margin:14px 0 0}
.gis-explorer :is(.gis-period,.gis-note){color:#4c5e40}
.gis-method{background:#f0f3e8;border-color:#d8dfcf}
.gis-method a{color:#653d82}

@media(max-width:620px){
 .gis-compare-label{font-size:.73rem;gap:8px}
 .gis-compare-label strong{font-size:.76rem}
 .gis-compare-label small{display:none}
 .gis-comparison-axis{font-size:.64rem}
 .gis-comparison-bars button{padding:10px 12px 12px}
 .gis-county-key{gap:8px 12px}
}
