/* Laurel Park Inn — one stylesheet. Palette roles are declared once, here. */
:root{
  --ground:#F4F1EA;        /* ground — the paper the site is printed on */
  --ground-2:#E9E5DB;      /* ground, second step — mats, index, panels */
  --ink:#14171A;           /* ink — all reading text */
  --accent:#0E6B62;        /* accent — oxidised copper: section marks, statement band */
  --accent-2:#B03C24;      /* secondary accent — clay: figure brackets, entry links */
  --secondary:#2A3A42;     /* secondary ground — wet slate: plates, map, caption bands */
  --rule:#C3BCAE;          /* hairlines */
  --quiet:#5C6165;         /* subordinate text: credits, meta */
  --display:'Spectral',Georgia,'Times New Roman',serif;
  --paper:#F4F1EA;         /* alias of ground, for components that ask for --paper */
  --ui:'Space Grotesk',system-ui,-apple-system,sans-serif;
  --measure:72ch;
  --gut:34px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--display);font-size:19px;line-height:1.6;text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-2)}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.015em;line-height:1.05;margin:0}
.wrap{max-width:1400px;margin:0 auto;padding-inline:34px}
.kicker{font:500 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.ico{width:20px;height:20px;flex:none}
.crule{display:block;width:100%;height:8px;color:var(--accent)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--ink);color:var(--ground);padding:10px 14px;z-index:20}

/* ---- masthead + printed index (no hover, no dropdown, no overlay) ---- */
.masthead{background:var(--ground-2);border-bottom:2px solid var(--ink)}
.mast-top{display:flex;flex-wrap:wrap;gap:26px;align-items:flex-end;padding-top:26px;padding-bottom:20px}
.mast-name{display:flex;gap:20px;align-items:flex-start;text-decoration:none;color:var(--ink)}
.mast-name:hover{color:var(--ink)}
.emblem{width:82px;height:82px;flex:none;color:var(--accent);margin-top:4px}
.mast-word{display:block;font:600 58px/.9 var(--display);letter-spacing:-.025em}
.mast-tag{display:block;margin-top:10px;font:500 11px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.mast-note{margin:0 0 6px auto;max-width:34ch;font:300 italic 20px/1.3 var(--display);color:var(--secondary)}
.site-index{background:var(--ground-2)}
.idx-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;border-top:1px solid var(--rule);padding:0}
.idx-col{flex:1 1 0;min-width:120px;display:flex}
.idx-col+.idx-col{border-left:1px solid var(--rule)}
.idx-all{flex:0 0 auto;align-self:center;padding:0 var(--gut) 0 22px;font:500 11px/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-2);text-decoration:none;border-left:1px solid var(--rule);margin-left:auto}
.idx-all:hover{color:var(--ink)}
.idx-col:first-child .idx-sec{padding-left:var(--gut)}
.idx-sec{flex:1;display:flex;flex-direction:column;gap:9px;align-items:flex-start;padding:16px 16px 15px;text-decoration:none;color:var(--ink);font:600 16.5px/1.15 var(--display)}
.idx-sec:hover{color:var(--accent-2);background:rgba(14,107,98,.06)}
.idx-here .idx-sec{color:var(--accent-2);box-shadow:inset 0 -3px 0 var(--accent-2)}
.idx-sec .ico{width:26px;height:26px;color:var(--accent)}
.idx-sec:hover .ico{color:var(--accent-2)}
.idx-run{margin:7px 0 0 32px;font:400 12.5px/1.55 var(--ui);color:var(--quiet)}
.idx-run a{color:inherit;text-decoration:none}
.idx-run a:hover{color:var(--accent-2)}
.idx-run i{font-style:normal;opacity:.45;padding:0 5px}
.mast-slim .mast-word{font-size:32px}
.mast-slim .emblem{width:42px;height:42px}
.mast-slim .mast-note{display:none}
.mast-slim .mast-tag{margin-top:7px;font-size:10px}
.mast-slim .idx-sec{padding:11px 14px 10px;font-size:15px;gap:7px}
.mast-slim .idx-sec .ico{width:22px;height:22px}
.mast-slim .idx-all{font-size:10px;padding-left:16px}

/* ---- bands ---- */
.band{border-bottom:1px solid var(--rule)}
.band-pad{padding-block:52px}
.band-quiet{background:var(--ground-2)}
.band-dark{background:var(--secondary);color:var(--ground-2);border-bottom:none}
.band-accent{background:var(--accent);color:#EEF4F2;border-bottom:none}
.band-accent a{color:#EEF4F2}
.band-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.band-head .crule{flex:1}
.band-title{font:600 30px/1.05 var(--display)}

/* ---- the opener ---- */
.opener{position:relative;background:var(--secondary)}
.opener img{width:100%;height:clamp(420px,62vh,760px);object-fit:cover;filter:saturate(.92)}
.opener-text{position:absolute;left:0;right:0;bottom:0;top:0;display:flex;flex-direction:column;justify-content:flex-end;padding:44px 0;background:linear-gradient(to top,rgba(20,23,26,.95) 0%,rgba(20,23,26,.9) 26%,rgba(20,23,26,.78) 44%,rgba(20,23,26,.5) 62%,rgba(20,23,26,.18) 82%,rgba(20,23,26,0) 100%)}
.opener h1{max-width:22ch;font-size:clamp(38px,5.4vw,78px);color:var(--ground);margin-top:14px}
.opener .kicker{display:inline-block;align-self:flex-start;background:var(--accent);color:#F4F1EA;padding:7px 11px 6px;text-shadow:none}
.opener h1,.opener-deck{text-shadow:0 1px 20px rgba(20,23,26,.6)}
.opener-deck{margin:18px 0 0;max-width:60ch;font:300 clamp(18px,1.5vw,22px)/1.45 var(--display);color:var(--ground-2)}
.opener-cap{background:var(--secondary);color:var(--ground-2);padding-block:16px 22px}
.opener-cap .wrap{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}
.opener-cap .crule{width:110px;flex:none;color:#7FD2C6;margin-top:9px}
.cap-text{max-width:62ch;font:300 19px/1.45 var(--display)}
.credit{font:400 12.5px/1.45 var(--ui);color:var(--quiet)}
.opener-cap .credit{margin-left:auto;text-align:right;color:#9FB0B8}

/* ---- lead feature ---- */
.lead-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:start}
.lead-title{font-size:clamp(30px,3.4vw,52px);margin:14px 0 16px}
.lead-title a{color:var(--ink);text-decoration:none}
.lead-title a:hover{color:var(--accent-2)}
.lead-dek{font:300 21px/1.45 var(--display);margin:0 0 20px}
.more{display:inline-block;font:500 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);text-decoration:none;border-bottom:1px solid var(--accent-2);padding-bottom:5px}
.more:hover{color:var(--ink);border-color:var(--ink)}
.seconds{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:44px;border-top:1px solid var(--rule);padding-top:26px}
.second h3{font-size:25px;margin-bottom:8px}
.second h3 a{color:var(--ink);text-decoration:none}
.second h3 a:hover{color:var(--accent-2)}
.second p{margin:0;font:400 16.5px/1.5 var(--ui);color:var(--quiet)}
.second-lab{display:flex;gap:7px;align-items:center;margin-bottom:9px;font:500 10.5px/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.second-lab .ico{width:15px;height:15px}

/* ---- band split: image and text share the row height ---- */
.band-split{display:grid;grid-template-columns:1.12fr .88fr;gap:46px;align-items:center}
.band-split figure img{aspect-ratio:3/2;object-fit:cover;width:100%}

/* ---- figure system: mat, plate, offset, inset — one drawing system ---- */
figure{margin:0}
figcaption{font:400 16.5px/1.45 var(--display);color:var(--ink)}
figcaption .credit{display:block;margin-top:7px}
.fig-mat{position:relative;padding:14px;background:var(--ground-2);border:1px solid var(--rule)}
.fig-mat .brk{position:absolute;width:24px;height:24px;color:var(--accent-2)}
.fig-mat .brk-tl{top:-1px;left:-1px}
.fig-mat .brk-br{bottom:-1px;right:-1px}
.fig-mat figcaption{margin-top:13px}
.fig-plate{background:var(--secondary);color:var(--ground-2)}
.fig-plate img{width:100%;max-height:70vh;object-fit:cover}
.fig-plate figcaption{color:var(--ground-2);padding:18px 0 24px}
.fig-plate .credit{color:#9FB0B8}
.fig-offset{display:grid;grid-template-columns:1fr 250px;gap:26px;align-items:start}
.fig-offset figcaption{border-top:2px solid var(--accent-2);padding-top:12px}
.fig-inset{max-width:330px;float:left;margin:8px 30px 20px 0;padding:12px;background:var(--ground-2);border:1px solid var(--rule)}
.fig-inset figcaption{margin-top:11px;font-size:15.5px}
.fig-tint{background:var(--accent);padding:16px}
.fig-tint figcaption{color:#EEF4F2;padding-top:14px}
.fig-tint .credit{color:rgba(238,244,242,.7)}
.article-figure img{width:100%}

/* ---- map ---- */
.map-figure{margin:0}
.map-figure .map-frame{border:1px solid var(--ink);background:var(--secondary);padding:10px;position:relative}
/* sized only in percentages of the frame, so its footprint in map units is fixed */
.map-inset{position:absolute;left:1.5%;top:1.5%;width:25%;padding:1.4%;background:rgba(20,23,26,.66);border:1px solid rgba(233,237,226,.3);pointer-events:none}
.map-inset svg{width:100%;height:auto;display:block}
@media (max-width:760px){.map-inset{position:static;width:46%;margin:10px 0 0;padding:0;background:none;border:0}}
/* map palette: the values supplied with the geometry kit, used for the map layer only */
.rangemap{display:block;width:100%;height:auto;--m-land:#26301F;--m-ink:#E9EDE2;--m-accent:#7FA05A}
.rangemap .g-land{fill:var(--m-land)}
.rangemap .land{fill:none;stroke:none}
.rangemap .grat{stroke:rgba(233,237,226,.12);stroke-width:1}
.rangemap .grat.minor{stroke:rgba(233,237,226,.055)}
.rangemap .grat.whole{stroke:rgba(233,237,226,.26)}
.rangemap .g-linelabel{font-family:'Space Grotesk',sans-serif;font-size:15px;letter-spacing:.16em;fill:rgba(233,237,226,.62)}
.rangemap .g-linelabel.accent{fill:#9CBE78}
.map-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,318px);gap:26px 44px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(233,237,226,.22)}
.map-said .map-cap{margin:0 0 9px;max-width:62ch;font:400 17.5px/1.45 var(--display);color:var(--ground-2)}
.map-foot .credit{margin:0;max-width:70ch;font:400 13px/1.55 var(--ui);color:rgba(233,237,226,.55)}
.map-legend h3{margin:0 0 9px;font:600 10.5px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:rgba(233,237,226,.6)}
.map-legend ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.map-legend li{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px;font:400 13.5px/1.35 var(--ui);color:rgba(233,237,226,.8)}
.map-legend svg{width:40px;height:12px;overflow:visible}
.map-legend li:nth-child(4) svg{height:18px}
.rangemap .g-legend text{font-family:'Space Grotesk',sans-serif;font-size:16px;fill:rgba(233,237,226,.72)}
.rangemap .g-crest{fill:none;stroke:rgba(233,237,226,.72);stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.rangemap .g-bound{fill:none;stroke:rgba(233,237,226,.34);stroke-width:1.6;stroke-dasharray:9 7}
.rangemap .g-escarp{fill:none;stroke:var(--m-accent);stroke-width:2.2;stroke-dasharray:2 6;stroke-linecap:round}
.rangemap .g-state{font-family:'Space Grotesk',sans-serif;font-size:17px;letter-spacing:.22em;fill:rgba(233,237,226,.34)}
.rangemap .grat-l{font-family:'Space Grotesk',sans-serif;font-size:17px;fill:rgba(233,237,226,.5)}
.rangemap .scale line{stroke:rgba(233,237,226,.7);stroke-width:1.4}
.rangemap .scale text{font-family:'Space Grotesk',sans-serif;font-size:17px;fill:rgba(233,237,226,.75)}
.rangemap .pin circle{fill:var(--accent-2);stroke:var(--ground-2);stroke-width:1.6}
.rangemap .pin .leader{stroke:rgba(233,229,219,.6);stroke-width:1.2}
.rangemap .pin-no{font-family:'Space Grotesk',sans-serif;font-size:15px;font-weight:600;fill:#F4F1EA;stroke:none}
.rangemap .pin text{font-family:'Space Grotesk',sans-serif;font-size:21px;fill:var(--ground-2);paint-order:stroke;stroke:rgba(20,23,26,.85);stroke-width:4.5}
.rangemap .pin:hover circle{fill:#7FD2C6}
.rangemap .pin:hover text{fill:#fff}

.map-key{display:none}
@media (max-width:1100px){
  .rangemap .pin text:not(.pin-no),.rangemap .grat-l,.rangemap .scale,.rangemap .g-linelabel{display:none}
  .rangemap .pin circle{stroke-width:2.5}
  .map-key{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px 18px;list-style:none;margin:14px 0 0;padding:0}
  .map-foot{grid-template-columns:1fr;gap:20px}
  .map-key a{font:400 15px/1.6 var(--ui);color:inherit;text-decoration:none}
  .map-key span{display:inline-block;min-width:1.6em;font-weight:600;color:#7FD2C6}
}

/* ---- section index band ---- */
.sec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 40px}
.sec-item{display:flex;gap:16px;padding:19px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.sec-item:hover{color:var(--accent-2)}
.sec-item .ico{width:26px;height:26px;color:var(--accent);margin-top:3px}
.sec-item h3{font-size:23px;margin-bottom:5px}
.sec-item p{margin:0;font:400 15px/1.45 var(--ui);color:var(--quiet)}

/* ---- supporters: a directory, set as type; no logos ---- */
.supporters{padding-block:34px}
.sup-head{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}
.sup-head h2{font:600 22px/1.1 var(--display)}
.sup-head .crule{flex:1;color:var(--rule)}
.sup-note{margin:0 0 14px;font:400 14px/1.5 var(--ui);color:var(--quiet)}
.sup-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0 46px;border-bottom:1px solid var(--rule);margin:0;padding:0}
.sponsor{display:block;padding:13px 2px;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.sponsor:hover{color:var(--accent-2)}
.sponsor-name{display:block;font:600 20px/1.3 var(--display)}
.sponsor-blurb{display:block;margin-top:3px;font:400 14.5px/1.5 var(--ui);color:var(--quiet)}

/* ---- article ---- */
.prose .fig,.fieldnote .fig,.statrest .fig{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-weight:600;color:var(--secondary);white-space:nowrap}
.statrest .fig{color:#fff}
.prose p.opening::first-letter{float:left;font:600 78px/.7 var(--display);color:var(--accent);padding:6px 12px 0 0}
.prose .dinkus{display:block;margin:34px auto;width:120px;height:8px;color:var(--rule)}
.notegroup>*{margin-top:0!important;margin-bottom:22px!important}
.notegroup>*:last-child{margin-bottom:0!important}
.article-head{padding-block:46px 30px}
.art-kicker{display:flex;gap:9px;align-items:center;font:500 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.art-kicker .ico{width:19px;height:19px}
.art-title{margin:16px 0 0;max-width:26ch;font-size:clamp(34px,4.4vw,62px)}
.lead{margin:20px 0 0;max-width:56ch;font:300 clamp(20px,1.7vw,25px)/1.4 var(--display);color:var(--secondary)}
.filed{display:flex;flex-wrap:wrap;gap:10px 40px;margin-top:28px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.filed div{font:400 14px/1.4 var(--ui);color:var(--quiet)}
.filed b{display:block;font:500 10.5px/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.prose{display:grid;grid-template-columns:1fr min(var(--measure),100%) 1fr;padding-bottom:20px}
.prose>*{grid-column:2}
.prose>.breakout{grid-column:1/-1}
.prose p{margin:0 0 20px;font-size:20px;line-height:1.62}
.prose h2{margin:38px 0 16px;font-size:clamp(26px,2.5vw,34px)}
.prose h2 .crule{display:none}
.prose figure{margin:34px 0}
.prose .fig-plate{margin:44px 0}
.prose .fig-plate img{max-height:64vh}
.prose>.breakout.fig-plate figcaption{padding-inline:34px}
.prose ul,.prose ol{padding-left:22px}
.prose .deflist,.prose .timeline,.prose .statrest,.prose .map-key,.prose .map-legend{padding-left:0}
.prose em{font-style:italic}
.entity-ref{white-space:nowrap}
.after{clear:both}

/* ---- notes-for-design material: field notes, timelines, stats ---- */
.fieldnote{margin:38px 0;padding:26px 30px;background:var(--ground-2);border:1px solid var(--rule);position:relative}
.fieldnote>h3,.statwrap>h3,.timewrap>h3{font:500 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}
.deflist{list-style:none;margin:0;padding:0}
.deflist li{padding:11px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:minmax(140px,.42fr) 1fr;gap:6px 24px}
.deflist li:first-child{border-top:none;padding-top:0}
.deflist b{font:600 18px/1.3 var(--display)}
.deflist span{font:400 16px/1.5 var(--ui);color:var(--quiet)}
.deflist li.solo{grid-template-columns:1fr}
.statwrap{margin:40px 0;background:var(--accent);color:#EEF4F2;padding:30px 34px}
.statwrap>h3{color:rgba(238,244,242,.8)}
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px 34px}
.statblock{border-top:2px solid rgba(238,244,242,.5);padding-top:12px}
.stat-qual{display:block;margin-bottom:4px;font:500 10.5px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:rgba(238,244,242,.7)}
.stat-num{display:block;font:600 44px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.statrest{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid rgba(238,244,242,.34)}
.statrest li{padding:11px 0;border-bottom:1px solid rgba(238,244,242,.16);font:600 17px/1.45 var(--display)}
.statrest li:last-child{border-bottom:none;padding-bottom:0}
.statrest span{font:400 15.5px/1.5 var(--ui);color:rgba(238,244,242,.85)}
.stat-label{display:block;margin-top:9px;font:400 15.5px/1.45 var(--ui);color:rgba(238,244,242,.88)}
.timewrap{margin:38px 0;padding:26px 30px;border:1px solid var(--ink);background:var(--ground)}
.timeline{list-style:none;margin:0;padding:0}
.timeline li{display:grid;grid-template-columns:minmax(150px,.34fr) 1fr;gap:6px 26px;padding:13px 0;border-top:1px solid var(--rule)}
.timeline li:first-child{border-top:none;padding-top:0}
.t-when{font:600 17px/1.3 var(--display);color:var(--accent-2)}
.t-what{font:400 16.5px/1.5 var(--ui);color:var(--ink)}
.callout{margin:36px 0;padding:24px 28px;background:var(--secondary);color:var(--ground-2)}
.callout>h3{font:500 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:#7FD2C6;margin-bottom:12px}
.callout p{margin:0;font:300 21px/1.45 var(--display)}
.pullquote{margin:38px 0;padding:0 0 0 26px;border-left:3px solid var(--accent-2)}
.pullquote p{margin:0;font:300 italic 26px/1.35 var(--display);color:var(--secondary)}
.blockquote{margin:34px 0;padding:22px 26px;background:var(--ground-2);border:1px solid var(--rule)}
.blockquote p{margin:0;font:300 21px/1.45 var(--display)}
.blockquote cite{display:block;margin-top:12px;font:400 14px/1.4 var(--ui);font-style:normal;color:var(--quiet)}
.note{padding:14px 18px;background:var(--ground-2);border-left:3px solid var(--accent);font:400 16.5px/1.5 var(--ui)!important;color:var(--quiet)}

/* ---- related / further ---- */
.more-list summary{cursor:pointer;font:500 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);padding:16px 0}
.more-list[open] summary{color:var(--ink)}
.related{padding-block:38px;border-top:1px solid var(--rule)}
.related-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 36px}
.related-links li{border-top:1px solid var(--rule)}
.related-links a{display:flex;gap:12px;align-items:baseline;padding:15px 0;text-decoration:none;color:var(--ink);font:600 21px/1.25 var(--display)}
.related-links a:hover{color:var(--accent-2)}
.related-links .ico{width:17px;height:17px;color:var(--accent)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.further-grid a{display:flex;flex-direction:column;gap:8px;padding:18px 20px;background:var(--ground-2);border:1px solid var(--rule);text-decoration:none;color:var(--ink);font:600 20px/1.25 var(--display)}
.further-grid a:hover{border-color:var(--accent-2);color:var(--accent-2)}

/* ---- category + archive lists ---- */
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li{border-top:1px solid var(--rule)}
.cat-list li:last-child{border-bottom:1px solid var(--rule)}
.cat-list a{display:grid;grid-template-columns:44px minmax(0,1.1fr) minmax(0,1.4fr);gap:10px 26px;align-items:baseline;padding:20px 0;text-decoration:none;color:var(--ink)}
.cat-list a:hover{color:var(--accent-2)}
.cat-num{font:500 12px/1.4 var(--ui);color:var(--accent)}
.cat-t{font:600 25px/1.2 var(--display)}
.cat-b{font:400 16px/1.5 var(--ui);color:var(--quiet)}
.cat-hero img{width:100%;height:clamp(280px,40vh,460px);object-fit:cover}
.cat-intro{max-width:62ch;font:300 22px/1.45 var(--display)}

/* ---- tables / charts (component set) ---- */
.datatable,.versus{width:100%;border-collapse:collapse;margin:32px 0;font-family:var(--ui);font-size:16px}
.datatable caption,.versus caption{text-align:left;font:500 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);padding-bottom:12px}
.datatable th,.versus th{text-align:left;font:600 11px/1.3 var(--ui);letter-spacing:.14em;text-transform:uppercase;background:var(--ground-2);border-bottom:1px solid var(--ink);padding:11px 14px}
.datatable td,.versus td{border-bottom:1px solid var(--rule);padding:13px 14px;vertical-align:top;line-height:1.45}
.versus td:first-child{font-family:var(--display);font-weight:600;font-size:18px}
.chart{margin:34px 0}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{margin-top:12px}
.chart .bar-r{fill:var(--accent)}
.chart .bar-r.alt{fill:var(--accent-2)}
.chart text{font-family:'Space Grotesk',sans-serif;font-size:13px;fill:var(--ink)}
.chart .axis{stroke:var(--rule);stroke-width:1}
.chart .line-p{fill:none;stroke:var(--accent);stroke-width:2}
.chart .donut-t{fill:none;stroke-width:18}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:34px 0}
.gallery figure{background:var(--ground-2);border:1px solid var(--rule);padding:10px}
.gallery img{aspect-ratio:16/10;object-fit:cover}
.gallery figcaption{margin-top:10px;font-size:15px}

/* ---- profiles / org cards ---- */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin:32px 0}
.profile-card{display:flex;flex-direction:column;background:var(--ground-2);border:1px solid var(--rule);padding:20px}
.profile-card .p-photo{aspect-ratio:1;object-fit:cover;margin-bottom:14px;filter:grayscale(1)}
.profile-card h3{font-size:23px}
.p-role{margin:6px 0 10px;font:500 11px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.profile-card p{margin:0 0 10px;font:400 16px/1.5 var(--ui)}
.p-links{margin-top:auto!important}
.p-attr{font:400 12.5px/1.4 var(--ui);color:var(--quiet)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:28px 0}
.org-card{display:flex;flex-direction:column;gap:5px;padding:16px 18px;background:var(--ground-2);border:1px solid var(--rule);text-decoration:none;color:var(--ink)}
.org-card:hover{border-color:var(--accent-2)}
.org-logo{max-height:34px;width:auto;margin-bottom:6px}
.org-name{font:600 19px/1.25 var(--display)}
.org-host{font:400 13px/1.3 var(--ui);color:var(--quiet)}

/* ---- footer: its own object, not another band ---- */
.site-foot{background:var(--ink);color:var(--ground-2);border-top:7px solid var(--accent);padding-block:0}
.foot-rule{display:block;width:100%;height:16px;color:rgba(127,210,198,.85);margin-top:20px}
.site-foot .wrap{display:grid;grid-template-columns:1.25fr .8fr .95fr;gap:34px 46px;align-items:start;padding-block:26px 34px}
.site-foot .emblem{width:40px;height:40px;color:#7FD2C6;margin:0 0 14px}
.foot-name{font:600 27px/1 var(--display);letter-spacing:-.02em;display:block;margin-bottom:10px}
.foot-line{margin:0;font:300 italic 18px/1.4 var(--display);max-width:32ch;color:#C9CFCE}
.foot-nav{display:flex;flex-direction:column;gap:0}
.foot-nav a{padding:9px 0;border-top:1px solid rgba(233,229,219,.16);font:500 11.5px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ground-2);text-decoration:none}
.foot-nav a:hover{color:#7FD2C6}
.foot-small{font:400 13.5px/1.55 var(--ui);color:#8E969A;border-top:1px solid rgba(233,229,219,.16);padding-top:12px;margin:0}

/* ---- responsive ---- */
@media (max-width:1180px){
  .idx-col{flex:0 0 33.333%;min-width:0;border-top:1px solid var(--rule)}
  .idx-col:nth-child(-n+3){border-top:none}
  .idx-col:nth-child(3n+1){border-left:none}
  .idx-sec{flex-direction:row;align-items:center;gap:11px;padding:10px 14px;min-height:44px}
  .idx-sec .ico{width:22px;height:22px}
  .idx-all{flex:0 0 33.333%;align-self:stretch;display:flex;align-items:center;margin-left:0;border-left:1px solid var(--rule);border-top:1px solid var(--rule);padding:12px 14px}
  .mast-top{padding-top:18px;padding-bottom:13px}
  .mast-note{font-size:17px}
  .mast-word{font-size:38px}
  .emblem{width:60px;height:60px}
  .sec-grid{grid-template-columns:repeat(2,1fr)}
  .site-foot .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  body{font-size:18px}
  :root{--gut:22px}
  .wrap{padding-inline:22px}
  .mast-word{font-size:44px}
  .mast-note{margin-left:0;max-width:none}
  .idx-col{flex:0 0 50%;min-width:0}
  .idx-col:nth-child(-n+2){border-top:none}
  .idx-col:nth-child(3){border-top:1px solid var(--rule)}
  .idx-all{flex:0 0 50%}
  .idx-col:nth-child(3n+1){border-left:1px solid var(--rule)}
  .idx-col:nth-child(2n+1){border-left:none}
  .lead-grid,.fig-offset,.band-split{grid-template-columns:1fr;gap:28px}
  .seconds{grid-template-columns:1fr;gap:26px}
  .fig-offset figcaption{border-top-width:2px}
  .prose{--measure:100%}
  .cat-list a{grid-template-columns:34px 1fr}
  .cat-list .cat-b{grid-column:2}
  .filed{gap:10px 26px}
  .site-foot .wrap{grid-template-columns:1fr;gap:22px}
}
@media (max-width:900px){
  /* mobile floors: no label under 12px, no control under 44px */
  .mast-tag,.idx-all,.kicker,.credit,.cat-num,.stat-qual,.second-lab,.art-kicker,.more,.filed div,.filed b,.map-legend,.foot-small,.foot-nav a,.sup-note{font-size:12px}
  .mast-slim .mast-tag,.mast-slim .idx-all{font-size:12px}
  figcaption .credit,.rangemap+.map-key{font-size:12.5px}
  .more,.art-kicker{min-height:44px;display:inline-flex;align-items:center}
  .map-key a,.foot-nav a,.related-links a,.idx-all,.sec-item,.sponsor,.cat-list a,.further-grid a{min-height:44px}
  .map-key a,.foot-nav a{display:flex;align-items:center}
  .map-key li{border-bottom:1px solid rgba(233,237,226,.14)}
  .idx-all{display:flex;align-items:center}
}
/* the section index becomes one sideways-scrolling printed row when the window is
   narrow, or short enough that a stacked nav would eat the first screen */
@media (max-width:900px){
  .site-index{overflow:hidden}
  .idx-grid{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;padding-inline:var(--gut);margin-inline:calc(-1 * var(--gut));border-top:1px solid var(--rule);scrollbar-color:var(--rule) transparent}
  .idx-grid::-webkit-scrollbar{height:3px}
  .idx-grid::-webkit-scrollbar-thumb{background:var(--rule)}
  .site-index{position:relative}
  .site-index::after{content:"";position:absolute;top:1px;right:0;bottom:0;width:34px;pointer-events:none;background:linear-gradient(to right,rgba(233,229,219,0),var(--ground-2))}
  .idx-col{flex:0 0 auto!important;min-width:0;border-top:none!important}
  .idx-col+.idx-col{border-left:1px solid var(--rule)}
  .idx-sec{flex-direction:row;align-items:center;gap:9px;padding:13px 16px;white-space:nowrap;font-size:15.5px;min-height:48px}
  .idx-sec .ico{width:21px;height:21px}
  .idx-all{position:absolute;z-index:2;right:0;top:1px;bottom:0;display:flex;align-items:center;background:var(--ground-2);border-left:1px solid var(--rule);border-top:none;padding:0 var(--gut) 0 14px;white-space:nowrap;margin-left:0;box-shadow:-10px 0 14px -8px rgba(20,23,26,.18)}
  .idx-grid{padding-right:calc(var(--gut) + 172px)}
  .site-index::after{right:172px;width:26px}
  .mast-note{max-width:46ch}
}
@media (max-width:620px){
  :root{--gut:16px}
  .wrap{padding-inline:16px}
  .mast-top{gap:16px;padding-top:18px}
  .mast-word{font-size:34px}
  .emblem{width:52px;height:52px}
  .mast-top{padding-top:16px;padding-bottom:14px;gap:14px}
  .mast-word{font-size:31px}
  .mast-tag{margin-top:7px;letter-spacing:.18em}
  .emblem{width:46px;height:46px}
  .mast-note{font-size:15.5px;line-height:1.35}
  .band-pad{padding-block:34px}
  .prose p{font-size:18.5px}
  .fig-inset{float:none;max-width:none;margin:24px 0}
  .deflist li,.timeline li{grid-template-columns:1fr}
  .fieldnote,.timewrap{padding:20px 18px}
  .statwrap{padding:22px 20px}
  .stat-num{font-size:36px}
  .sec-grid{grid-template-columns:1fr}
  .site-foot .foot-nav{margin-left:0}
  .opener h1{font-size:33px}
}
@media print{.masthead,.site-foot,.supporters{display:none}}

/* sp-roll-normalize: a logo roll keeps object-fit and loses its geometry.
   It used to set width:auto, height:46px, max-width:172px and min-width:30px, which let
   every plate in the roll shrink-wrap its own artwork — evbb measured 62px next to 204px
   in the SAME ROW. The operator's rule is that the dark ground is unified whatever the
   logo's size, so the plate cannot be sized by the logo. Geometry belongs to Design. */
[class~="roll"] .sponsor img,[class*="roll-"] .sponsor img,[class*="-roll"] .sponsor img{object-fit:contain}

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img,.sponsor-box img,.sp-logo img{object-fit:contain!important;display:block;margin-left:auto;margin-right:auto;align-self:center}

/* sp-mark-align: marks sit CENTRED in their box. Placement only — Design's size,
   padding, panel and object-fit are untouched. */
.sponsor img,.sponsor-box img,.sp-logo img{object-position:center!important;margin-left:auto!important;margin-right:auto!important;display:block}
.sponsor .sp-logo,.sponsor-box{display:flex;align-items:center;justify-content:center}

/* sp-tile-uniform: a slot never grows to fill its row — every tile the same width in
   every row, whatever the count. Only flex-grow is touched. */
.sponsor{flex-grow:0!important}
.sponsor.lead-line,.sponsor.feat.lead-line{flex-grow:1!important}

/* sp-blurb-unhide: every supporter slot shows its text — no half-texted grids */
.sponsor-blurb:not(:empty){display:block!important;line-height:1.5}

/* sp-blurb-link: money-link anchors in blurbs must inherit the blurb colour (readable on dark OR light tiles) */
.sponsor-blurb a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1196px at 390, 15% of the whole page. Two columns bring it to
   756px (37% shorter). Checked before writing: no new overflow, smallest mark still
   Nonepx wide, longest blurb 3 lines, tile heights 121-147px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. Only the tier(s) that were one-per-row are touched (.sup-list), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:min(3.19vw,46px)!important}
    .sup-list > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-list > * *{min-width:0!important;max-width:100%}
    .sup-list img,.sup-list svg{max-width:100%;height:auto}
  .sup-list .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-article-width: the article column was capped at 684px (77 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through grid track 2 of "1fr min(var(--measure),100%) 1fr" (declared in .prose) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. Above 1600 the column and the prose type grow together (up to 1.2x). Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  article div.prose{grid-template-columns:1fr min(905px, 100%) 1fr!important}
}
@media (min-width:1600px){
  article div.prose{grid-template-columns:1fr min(clamp(905px, 62.847vw, 1086px), 100%) 1fr!important}
  article div.prose > :is(p, p:not([class])){font-size:clamp(20px,1.3889vw,24.0px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h2:where(.rt-h3){font-weight: 600; letter-spacing: -0.015em; line-height: 1.05; margin: 0px;}
.sec-item h2:where(.rt-h3){font-size: 23px; margin-bottom: 5px;}
/* op-heading-levels:end */

/* op-entity-wrap: long reference links wrap like the text around them (nowrap ran them off phone screens) */
.entity-ref.entity-ref{white-space:normal!important}
