/* Rockbridge Wayfinder — The Survey. Single stylesheet. */
:root{
  --desk:#D4CBB6; --paper:#EFE9DC; --field:#E7DFCC; --card:#E9E2D0;
  --ink:#1F3328; --body:#3D4F43; --read:#26362B; --sage:#5A6B5E;
  --ochre:#C08A3E; --river:#3E6B7A; --brick:#9C4A2F;
  --ondark:#DED6C4; --ontop:#CFC7B4;
  --hair:rgba(31,51,40,.3); --hair-strong:rgba(31,51,40,.45); --hair-mid:rgba(31,51,40,.35);
  --hair-soft:rgba(31,51,40,.22); --hair-faint:rgba(31,51,40,.16); --dotted:rgba(31,51,40,.28);
  --sheet-shadow:0 26px 60px -34px rgba(31,51,40,.55);
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --disp:'Archivo Narrow',Arial Narrow,sans-serif;
  --serif:'Spectral',Georgia,serif;
  --wrap:1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--desk);color:var(--body);font-family:var(--serif);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--river);text-decoration:none}
a:hover{color:var(--ochre)}
::selection{background:var(--ochre);color:var(--ink)}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,table{margin:0}
button{font-family:var(--mono);cursor:pointer}
input{font-family:var(--mono)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--ink);color:var(--paper);padding:10px 14px;font:600 12px/1 var(--mono)}

/* ---------- shell ---------- */
.page{max-width:var(--wrap);margin:0 auto;padding:34px 22px 90px}
.sheet-label{font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin:0 0 12px}
.sheet{background:var(--paper);border:1px solid var(--hair-soft);box-shadow:var(--sheet-shadow)}
.wrap{padding-inline:46px}
.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.kicker{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ochre)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--hair);padding-bottom:11px;flex-wrap:wrap}
.section-head .eyebrow{font-size:12px;color:var(--ink)}
.more-link{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--river)}

/* ---------- topbar / masthead / nav ---------- */
.topbar{background:var(--ink);color:var(--ontop);min-height:38px;display:flex;align-items:center}
.topbar .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;font:500 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding-block:9px;flex-wrap:wrap}
.topbar .coord-right{color:var(--ochre)}
.topbar a{color:var(--ontop)}
.masthead{padding:38px 0 26px}
.masthead .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;flex-wrap:wrap}
.wordmark{display:block;font:700 62px/.9 var(--disp);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
a.wordmark:hover{color:var(--ink)}
.mast-rule{display:flex;align-items:center;gap:13px;margin-top:12px}
.mast-rule i{display:block;width:54px;height:2px;background:var(--ochre)}
.mast-rule span{font:500 12px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}

/* FIND */
.find{position:relative;width:340px;max-width:100%}
.find-box{display:flex;align-items:center;gap:9px;border:1px solid var(--hair-strong);background:var(--field);padding:10px 12px}
.find-box label{font:500 11px/1 var(--mono);letter-spacing:.14em;color:var(--sage)}
.find-box input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:400 14px/1.2 var(--mono);color:var(--ink)}
.find-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--paper);border:1px solid var(--hair-strong);box-shadow:0 18px 30px -18px rgba(31,51,40,.5);z-index:40;max-height:320px;overflow:auto;display:none}
.find-results.open{display:block}
.find-results a,.find-results .empty{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-bottom:1px solid var(--hair-faint)}
.find-results a:last-child{border-bottom:0}
.find-results .fr-sec{font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.find-results .fr-title{font:400 16px/1.3 var(--serif);color:var(--ink)}
.find-results .empty{font:400 14px/1.45 var(--mono);color:var(--sage)}

/* nav */
.nav{border-top:1px solid var(--hair);border-bottom:3px double var(--hair);position:relative;z-index:30}
.nav .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nav-list{list-style:none;display:flex;align-items:center;flex-wrap:nowrap;gap:0;padding:0;margin:0}
.nav-list>li{position:relative;display:flex;align-items:center}
.nav-list>li+li::before{content:"";width:3px;height:3px;background:var(--ochre);margin:0 13px;flex:none}
.nav-list>li>a{display:block;padding:13px 0;font:600 12.5px/1 var(--disp);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.nav-list>li>a:hover,.nav-list>li:focus-within>a{color:var(--ochre)}
.nav-list>li.is-current>a{color:var(--ochre)}
.nav-sub{list-style:none;margin:0;padding:10px 0;position:absolute;top:100%;left:-14px;min-width:310px;max-width:calc(100vw - 40px);background:var(--paper);border:1px solid var(--hair-strong);box-shadow:0 22px 40px -24px rgba(31,51,40,.6);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease;z-index:35}
.nav-list>li.has-sub::after{content:"";position:absolute;left:0;right:-20px;top:100%;height:12px}
/* right-most panels flip to right-alignment — only when all six items sit on one row */
@media (min-width:901px){
  .nav-list>li:nth-last-child(-n+3) .nav-sub{left:auto;right:-14px}
  .nav-list>li:nth-last-child(-n+3).has-sub::after{left:-20px;right:0}
}
.nav-list>li.has-sub:hover .nav-sub,.nav-list>li.has-sub:focus-within .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-sub>li>a{display:block;padding:9px 18px;font:400 16px/1.35 var(--serif);color:var(--ink)}
.nav-sub>li>a:hover{background:var(--field);color:var(--ochre)}
.nav-sub .sub-head{padding:4px 18px 9px;margin-bottom:4px;border-bottom:1px solid var(--hair-faint);font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--sage)}
.nav-browse{margin-left:auto;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sage);display:flex;align-items:center;gap:7px}
.nav-browse svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.5}
.nav-toggle{position:absolute;opacity:0;pointer-events:none}
.nav-burger{display:none}

/* ---------- Plate I : county map ---------- */
.plate{display:grid;grid-template-columns:minmax(0,1fr) 328px;align-items:stretch;border-bottom:1px solid var(--hair)}
.plate-main{padding:36px 46px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:14px;min-width:0}
.plate-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.map-frame{position:relative;flex:1;min-height:520px;background:var(--field);border:1px solid var(--hair-mid);overflow:hidden;cursor:grab;touch-action:pan-y}
.map-frame.dragging{cursor:grabbing}
.map-pan{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.map-pan svg{width:100%;height:100%;display:block}
.map-pan .pin{cursor:pointer;transition:opacity .18s ease}
.map-pan .pin.dim{opacity:.14}
.map-pan .pin-label{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;fill:var(--ink)}
.map-pan .pin-plate{fill:rgba(239,233,220,.9)}
.map-pan .pin:hover .pin-dot{stroke-width:3}
.map-furn{position:absolute;pointer-events:none;font-family:var(--mono)}
.north{top:12px;left:12px;display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--ink)}
.north b{font:600 12px/1 var(--mono)}
.north i{display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:14px solid var(--ink)}
.zoom-stack{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:1px}
.zoom-stack button{width:32px;height:32px;background:var(--paper);border:1px solid var(--hair-strong);color:var(--ink);font:500 15px/1 var(--mono)}
.zoom-stack button:hover{background:var(--ochre)}
.zoom-stack button.rst{font-size:9px}
.map-sel{position:absolute;bottom:12px;right:12px;background:rgba(31,51,40,.9);color:var(--paper);padding:7px 10px;font:500 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;max-width:58%}
.map-note{font:400 12.5px/1.5 var(--mono);color:var(--sage)}
.pin-count{font:500 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--ink);margin:12px 0 8px}
.pin-count[data-empty]{color:var(--brick);border-left:2px solid var(--brick);padding-left:10px}
.chip[aria-disabled="true"]{border-style:dashed;color:var(--sage)}
.chip[aria-disabled="true"][aria-pressed="false"]{opacity:.5}
.chip[aria-pressed="true"][aria-disabled="true"]{background:var(--brick);border-color:var(--brick);color:var(--paper);opacity:1}
.plate-rail{padding:36px 40px;display:flex;flex-direction:column;gap:24px;min-width:0}
.rail-head{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage);border-bottom:1px solid var(--hair);padding-bottom:8px}
.legend{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.legend li{display:flex;align-items:center;gap:10px;font:400 14.5px/1.35 var(--serif);color:var(--ink)}
.legend .dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 1px rgba(31,51,40,.45);flex:none}
.legend .rule{width:24px;border-top:2px dotted var(--sage);flex:none}
.legend .tri{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:11px solid var(--ink);flex:none}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 10px;border:1px solid var(--hair-strong);background:transparent;color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.sheet-index{list-style:none;padding:0;display:flex;flex-direction:column;gap:0}
.sheet-index a{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px dotted var(--dotted);font:400 15.5px/1.35 var(--serif);color:var(--ink)}
.sheet-index a:hover{color:var(--ochre)}
.sheet-index .no{font:500 12px/1 var(--mono);color:var(--sage)}

/* ---------- lead entry ---------- */
.lead-entry{display:grid;grid-template-columns:minmax(0,1fr) 560px;border-bottom:1px solid var(--hair)}
.lead-copy{padding:46px 46px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:16px;justify-content:center}
.lead-copy h2{font:600 46px/1.05 var(--serif);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.lead-copy h2 a{color:inherit}
.lead-copy h2 a:hover{color:var(--ochre)}
.lead-dek{font:300 22px/1.55 var(--serif);color:var(--body);max-width:46ch;text-wrap:pretty}
.stat-pairs{display:flex;gap:26px;flex-wrap:wrap;padding-top:4px}
.stat-pairs div{display:flex;flex-direction:column;gap:4px}
.stat-pairs dt,.stat-pairs .k{font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.stat-pairs dd,.stat-pairs .v{margin:0;font:400 18px/1.2 var(--serif);color:var(--ink)}
.lead-media{position:relative;min-height:400px}
.lead-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.fig-caption{position:absolute;left:0;right:0;bottom:0;background:rgba(31,51,40,.86);color:var(--ondark);padding:10px 15px;font:500 10.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.byline{font:500 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}

/* ---------- cards ---------- */
.band{padding-block:48px}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:28px}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--hair-soft);padding-bottom:18px;color:var(--ink)}
.card:hover{border-color:var(--ochre)}
.card .thumb{aspect-ratio:16/10;overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card-body{padding:14px 16px 0;display:flex;flex-direction:column;gap:9px;flex:1}
.card .c-sec{font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.card h3{font:600 25px/1.15 var(--serif);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em}
.card p{font:400 16px/1.5 var(--serif);color:var(--body);flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.card .c-meta{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ochre)}
.more-wrap{margin-top:24px;border-top:1px solid var(--hair);padding-top:20px}
.more-toggle{display:inline-block;font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border:1px solid var(--hair-strong);padding:12px 16px;background:var(--field)}
.more-toggle:hover{background:var(--ochre)}
.more-panel{display:none;margin-top:22px}
#more-entries:checked ~ .more-panel{display:block}
#more-entries:checked ~ .more-wrap .more-toggle{display:none}

/* ---------- dark season band ---------- */
.dark{background:var(--ink);color:var(--ondark)}
.dark .section-head{border-bottom-color:rgba(222,214,196,.25)}
.dark .section-head .eyebrow{color:var(--ochre)}
.dark .note-line{font:400 15px/1.5 var(--serif);color:rgba(222,214,196,.72)}
.season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;margin-top:30px}
.season-col{border-left:2px solid var(--ochre);padding-left:16px;display:flex;flex-direction:column;gap:9px}
.season-col .s-k{font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ochre)}
.season-col h3{font:600 22px/1.2 var(--serif);color:var(--paper)}
.season-col p{font:400 16px/1.55 var(--serif);color:rgba(222,214,196,.85)}
.dark a{color:var(--ochre)}

/* ---------- supporters ---------- */
.sponsor{display:flex;flex-direction:column;gap:8px;width:270px;flex:none}
.sponsor img{width:100%;height:66px;object-fit:contain;background:var(--ink);border:1px solid var(--hair-strong);padding:12px 16px}
.sponsor .sponsor-blurb{font:400 14px/1.45 var(--serif);color:var(--sage)}
.sponsor .sponsor-blurb:empty{display:none}
.sponsor:hover img{border-color:var(--ochre)}
.roll{padding-block:46px 50px}
.roll-sub{font:500 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--sage);margin:26px 0 14px}
.roll-featured{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.roll-featured .sponsor,.sponsor.featured{width:auto}
.roll-featured .sponsor img{height:82px;border-color:var(--hair-strong)}
.roll-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.roll-grid .sponsor{width:auto}
.roll-grid .sponsor img{height:58px}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--hair);padding-block:36px 40px}
.foot .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot-word{font:600 16px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.foot-line{font:400 14.5px/1.55 var(--serif);color:var(--sage);margin-top:8px;max-width:60ch}
.foot-links{display:flex;gap:24px;flex-wrap:wrap;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.foot-links a{color:var(--sage)}

/* ---------- category / index pages ---------- */
.cat-head{padding-block:46px 34px;border-bottom:1px solid var(--hair)}
.cat-head h1{font:600 54px/1.02 var(--serif);letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.standfirst{font:400 20px/1.6 var(--serif);color:var(--body);max-width:60ch;margin-top:14px;text-wrap:pretty}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.pill{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:9px 11px;border:1px solid var(--hair-strong);color:var(--ink)}
.pill.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cat-body{display:grid;grid-template-columns:minmax(0,1fr) 328px}
.cat-main{padding:38px 46px;border-right:1px solid var(--hair);min-width:0}
.cat-list{list-style:none;padding:0;margin:0}
.idx-head{display:grid;grid-template-columns:56px 200px minmax(0,1fr) 120px;gap:20px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:10px 0;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.idx-head span:last-child{text-align:right}
.cat-list a.idx-row{display:grid;grid-template-columns:56px 200px minmax(0,1fr) 120px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(31,51,40,.18);color:var(--ink)}
.cat-list a.idx-row:hover{background:rgba(192,138,62,.07)}
.idx-no{font:500 16px/1 var(--mono);color:var(--ochre)}
.idx-thumb{aspect-ratio:16/10;overflow:hidden;background:var(--field)}
.idx-thumb img{width:100%;height:100%;object-fit:cover}
.idx-title{font:600 25px/1.16 var(--serif);color:var(--ink);display:block}
.idx-dek{font:400 16px/1.5 var(--serif);color:var(--body);max-width:54ch;margin-top:6px;display:block}
.idx-meta{text-align:right;font:500 11px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--river)}
.cat-rail{padding:38px 40px;display:flex;flex-direction:column;gap:26px;min-width:0}
.locator{position:relative;height:220px;background:var(--field);border:1px solid var(--hair-mid);overflow:hidden}
.locator svg{width:100%;height:100%;display:block}
.rail-p{font:400 16px/1.55 var(--serif);color:var(--body)}
.rail-list{list-style:none;padding:0;display:flex;flex-direction:column}
.rail-list a{display:block;padding:9px 0;border-bottom:1px dotted var(--dotted);font:400 16px/1.4 var(--serif);color:var(--ink)}
.rail-list li:last-child a{border-bottom:0}
.sheet-foot{border-top:1px solid var(--hair);padding-block:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:400 14.5px/1.55 var(--serif);color:var(--sage)}
.sheet-foot .sf-no{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}

/* sections hub */
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:24px}
.hub-card{border:1px solid var(--hair-soft);background:var(--card);padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px}
.hub-card h2{font:600 30px/1.12 var(--serif);color:var(--ink)}
.hub-card h2 a{color:inherit}
.hub-card .hb{font:400 16.5px/1.55 var(--serif);color:var(--body)}
.hub-card ul{list-style:none;padding:0;display:flex;flex-direction:column}
.hub-card ul a{display:block;padding:8px 0;border-bottom:1px dotted var(--dotted);font:400 16.5px/1.4 var(--serif);color:var(--ink)}
.hub-card li:last-child a{border-bottom:0}
.hub-no{font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ochre)}

/* ---------- article ---------- */
.art-top{background:var(--ink);color:var(--ontop);display:flex;align-items:center;min-height:38px}
.art-top .wrap{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;padding-block:9px;flex-wrap:wrap}
.art-hero{padding-block:52px 36px;border-bottom:1px solid var(--hair)}
.art-hero .wrap{max-width:1000px}
.art-sec{display:flex;align-items:center;gap:11px}
.art-sec .dot{width:12px;height:12px;border-radius:50%;flex:none}
.art-sec span{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase}
.art-hero h1{font:600 68px/1 var(--serif);letter-spacing:-.02em;color:var(--ink);margin:18px 0 0;text-wrap:balance}
.art-dek{font:300 24px/1.5 var(--serif);color:var(--body);max-width:56ch;margin-top:18px;text-wrap:pretty}
.art-meta{margin-top:20px;font:500 11.5px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.art-lede{position:relative;border-bottom:1px solid var(--hair)}
.art-lede img{width:100%;height:460px;object-fit:cover}
.art-shell{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0 52px;padding:48px 46px 56px;align-items:start}
.art-rail{display:flex;flex-direction:column;gap:24px;position:sticky;top:20px}
.art-rail .rail-head{font-size:10.5px}
.field-card{border:1px solid var(--hair-strong);background:var(--card)}
.field-card h2{background:var(--ink);color:var(--paper);padding:10px 13px;font:600 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;align-items:center}
.field-card h2 em{font-style:normal;color:var(--ochre);font-size:9.5px}
.field-card ul{list-style:none;padding:13px;margin:0;display:flex;flex-direction:column;gap:9px}
.field-card li{display:flex;flex-direction:column;gap:3px;border-bottom:1px dotted var(--dotted);padding-bottom:8px}
.field-card li:last-child{border-bottom:0;padding-bottom:0}
.field-card .fk{font:500 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.field-card .fv{font:400 16px/1.3 var(--serif);color:var(--ink)}
.toc{list-style:none;padding:0;display:flex;flex-direction:column}
.toc a{display:block;padding:7px 0;font:400 15.5px/1.4 var(--serif);color:var(--ink);border-bottom:1px dotted var(--dotted)}
.toc li:last-child a{border-bottom:0}
.toc .tn{font:500 11px/1 var(--mono);color:var(--ochre);margin-right:8px}
.rail-print{align-self:start;font:600 10.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;background:var(--ochre);border:0;color:var(--ink);padding:12px 14px}

.article-body{min-width:0;color:var(--read)}
.article-body>p,.article-body>.lead,.article-body>h2,.article-body>.note,.article-body>ul,.article-body>ol{max-width:66ch}
.article-body>*+*{margin-top:24px}
.article-body p{font:400 20px/1.65 var(--serif);text-wrap:pretty}
.article-body .lead{font:400 22px/1.6 var(--serif);color:var(--ink)}
.article-body .lead::first-letter{float:left;font:600 62px/.78 var(--serif);color:var(--ochre);padding:6px 10px 0 0}
.article-body h2{font:600 34px/1.15 var(--serif);color:var(--ink);letter-spacing:-.01em;margin-top:44px;display:flex;gap:14px;align-items:baseline}
.article-body h2 .hn{font:500 13px/1 var(--mono);letter-spacing:.14em;color:var(--ochre);flex:none;padding-top:6px}
.article-body a{color:var(--river);border-bottom:1px solid rgba(62,107,122,.4)}
.article-body a:hover{color:var(--ochre);border-color:var(--ochre)}
.entity-ref{white-space:nowrap}
.article-body strong{color:var(--ink)}

/* components */
.lead{}
.pullquote{margin:0;padding:0}
.margin-q{float:right;width:296px;margin:10px 0 26px 44px;clear:right;border-top:2px solid var(--ochre);padding-top:14px}
.margin-q p{font:400 23px/1.4 var(--serif);color:var(--ink);text-wrap:pretty}
.margin-q .mq-k{font:500 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:10px}
.pullquote.band{max-width:none;background:var(--ink);color:var(--paper);padding:34px 40px;margin-top:38px}
.pullquote.band p{font:300 30px/1.35 var(--serif);color:var(--paper);max-width:34ch}
.blockquote{border-left:2px solid var(--ochre);padding:6px 0 6px 20px;max-width:60ch}
.blockquote p{font:400 21px/1.55 var(--serif);font-style:italic;color:var(--ink)}
.blockquote cite{display:block;margin-top:10px;font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);font-style:normal}
.callout{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:22px 0;max-width:66ch}
.callout .co-k{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ochre);margin-bottom:11px}
.callout p{font:400 20px/1.55 var(--serif);color:var(--ink);max-width:56ch}
.note{background:var(--field);border-left:2px solid var(--sage);padding:16px 20px;font:400 17px/1.55 var(--serif);color:var(--body)}
.note b{font:600 100% var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);display:block;margin-bottom:6px}

.versus,.datatable{width:100%;border-collapse:collapse;max-width:none;font-family:var(--serif)}
.versus caption,.datatable caption{text-align:left;font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage);padding-bottom:11px}
.versus th,.versus td,.datatable th,.datatable td{text-align:left;vertical-align:top;padding:13px 16px 13px 0;border-bottom:1px solid rgba(31,51,40,.18);font-size:17px;line-height:1.5}
.versus thead th,.datatable thead th{border-bottom:1px solid var(--hair);font:600 12px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.versus tbody th,.datatable tbody th{font:500 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage);width:26%}
.datatable td:first-child{color:var(--ink);font-weight:600;width:30%}
.versus td{color:var(--read)}
.table-scroll{overflow-x:auto}

.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.statblock{display:flex;flex-direction:column;gap:6px;padding:20px 20px 20px 0;border-right:1px solid rgba(31,51,40,.18)}
.statblock:last-child{border-right:0}
.stat-num{font:600 34px/1 var(--disp);letter-spacing:.01em;color:var(--ink)}
.stat-label{font:400 15px/1.45 var(--serif);color:var(--sage)}

.timeline{list-style:none;padding:0;margin:0;border-left:1px solid var(--hair);max-width:none}
.timeline li{position:relative;padding:0 0 22px 26px}
.timeline li::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--ochre);border:1.5px solid var(--paper)}
.timeline li:last-child{padding-bottom:0}
.t-when{display:block;font:500 11.5px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ochre)}
.t-what{display:block;font:400 18px/1.5 var(--serif);color:var(--read);margin-top:4px;max-width:52ch}

.chart{margin:0}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart figcaption,.article-figure figcaption,.map-figure figcaption,.gallery figcaption{font:400 13.5px/1.5 var(--mono);color:var(--sage);margin-top:11px}
.chart .c-bar{fill:var(--ochre)}
.chart .c-bar-alt{fill:var(--river)}
.chart .c-lbl{font-family:var(--mono);font-size:11px;fill:var(--ink);letter-spacing:.04em}
.chart .c-val{font-family:var(--mono);font-size:11px;font-weight:600;fill:var(--sage)}
.chart .c-axis{stroke:var(--hair-faint);stroke-width:1}
.chart.line .c-line{fill:none;stroke:var(--river);stroke-width:2.5;vector-effect:non-scaling-stroke}
.chart.line .c-area{fill:rgba(62,107,122,.18)}

.profile-band{background:var(--field);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:26px 30px;margin:38px 0}
.profile-band .pb-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}
.profile-scrub{position:relative;background:var(--paper);border:1px solid var(--hair);cursor:crosshair}
.profile-scrub svg{display:block;width:100%;height:170px}
.profile-scrub .cross{position:absolute;top:0;bottom:0;width:1px;background:var(--ochre);left:45%}
.profile-scrub .readout{position:absolute;top:8px;left:10px;background:rgba(239,233,220,.9);padding:5px 8px;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.profile-axis{display:flex;justify-content:space-between;margin-top:10px;font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}

.article-figure{margin:34px 0}
.article-figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.article-figure.wide{max-width:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:34px 0}
.gallery figure{margin:0}
.map-figure{margin:34px 0;max-width:none}
.map-figure .map-slot{position:relative;height:300px;background:var(--field);border:1px dashed var(--hair-strong);display:flex;align-items:center;justify-content:center;text-align:center}
.map-figure .map-slot svg{width:100%;height:100%;display:block}
.map-figure .map-slot[data-spec]::after{content:attr(data-spec);font:500 10.5px/1.7 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);padding:14px;max-width:34ch}

.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:30px 0}
.profile-card{border:1px solid var(--hair-soft);background:var(--card);padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.profile-card .p-photo{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:6px}
.profile-card h3{font:600 21px/1.2 var(--serif);color:var(--ink)}
.profile-card .p-role{font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ochre)}
.profile-card p{font:400 16px/1.5 var(--serif);color:var(--body)}
.profile-card .p-links{font:500 11px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.profile-card .p-attr{font:400 13px/1.5 var(--mono);color:var(--sage)}
.profile-card.no-photo{border-left:2px solid var(--sage)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:26px 0}
.org-card{display:flex;flex-direction:column;gap:5px;border:1px solid var(--hair-soft);background:var(--paper);padding:15px 16px;color:var(--ink)}
.org-card .org-logo{width:100%;height:42px;object-fit:contain;background:var(--ink);padding:8px;margin-bottom:6px}
.org-card .org-name{font:600 17.5px/1.25 var(--serif)}
.org-card .org-host{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.org-card:hover{border-color:var(--ochre)}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:18px}
.further-grid a{border:1px solid var(--hair-soft);background:var(--card);padding:16px 18px;font:600 19px/1.25 var(--serif);color:var(--ink)}
.further-grid a:hover{border-color:var(--ochre);color:var(--ochre)}
.related{border-top:1px solid var(--hair);margin-top:44px;padding-top:24px;max-width:none}
.related h2{font:600 13px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--sage);display:block;margin:0}
.related-links{list-style:none;padding:0;margin-top:16px;display:flex;flex-direction:column}
.related-links a{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px dotted var(--dotted);font:600 26px/1.2 var(--serif);color:var(--ink);border-left:0}
.related-links a:hover{color:var(--ochre)}
.related-links .rl-sec{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage);flex:none}
.next-in{margin-top:40px;border-top:1px solid var(--hair);padding-top:22px}
.next-in .eyebrow{margin-bottom:10px;display:block}
.next-in a{font:600 30px/1.2 var(--serif);color:var(--ink);border:0}
.art-foot{border-top:1px solid var(--hair);padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}

/* static pages */
.doc{padding-block:48px 56px}
.doc .wrap{max-width:820px}
.doc h1{font:600 54px/1.04 var(--serif);color:var(--ink);letter-spacing:-.015em}
.doc h2{font:600 28px/1.2 var(--serif);color:var(--ink);margin-top:36px}
.doc p{font:400 19px/1.65 var(--serif);color:var(--read);margin-top:18px;max-width:66ch}
.doc ul{margin-top:18px;padding-left:22px;font:400 19px/1.65 var(--serif);color:var(--read);max-width:66ch}
.doc li+li{margin-top:8px}
.form-grid{display:grid;gap:16px;margin-top:26px;max-width:520px}
.form-grid label{display:flex;flex-direction:column;gap:7px;font:500 10.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sage)}
.form-grid input,.form-grid textarea{border:1px solid var(--hair-strong);background:var(--field);padding:12px;font:400 17px/1.4 var(--serif);color:var(--ink)}
.form-grid button{background:var(--ochre);border:0;color:var(--ink);padding:14px;font:600 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;justify-self:start;padding-inline:22px}
.err-big{font:700 120px/.9 var(--disp);color:var(--ochre);letter-spacing:.04em}

/* styleguide */
.sg-sec{padding-block:44px;border-bottom:1px solid var(--hair)}
.sg-sec>.wrap>h2{font:600 30px/1.15 var(--serif);color:var(--ink)}
.sg-lab{font:500 10.5px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ochre);display:block;margin:26px 0 12px}
.sg-note{font:400 15px/1.55 var(--mono);color:var(--sage);margin-top:10px}
.sg-narrow{max-width:360px;border:1px dashed var(--hair-strong);padding:16px;background:var(--paper);overflow:hidden}
.sg-narrow .article-body>p,.sg-narrow .article-body>h2{max-width:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .wrap{padding-inline:34px}
  .plate-main,.lead-copy,.cat-main{padding-inline:34px}
  .plate-rail,.cat-rail{padding-inline:34px}
  .art-shell{padding-inline:34px}
  .plate,.lead-entry,.cat-body{grid-template-columns:minmax(0,1fr)}
  .plate-main,.lead-copy,.cat-main{border-right:0;border-bottom:1px solid var(--hair)}
  .lead-media{min-height:340px}
  .art-shell{grid-template-columns:180px minmax(0,1fr);gap:0 34px}
  .wordmark{font-size:52px}
  .art-hero h1{font-size:56px}
  .margin-q{width:250px;margin-left:32px}
}
@media (max-width:1000px){
  .nav-list>li>a{font-size:11.5px;letter-spacing:.1em}
  .nav-list>li+li::before{margin:0 10px}
}
@media (max-width:980px){
  .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .roll-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .roll-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hub-grid{grid-template-columns:minmax(0,1fr)}
  .art-shell{grid-template-columns:minmax(0,1fr);gap:32px;padding:32px 22px 40px}
  .art-rail{position:static;order:2;border-top:1px solid var(--hair);padding-top:26px}
  .article-body{order:1}
  .margin-q{float:none;width:auto;margin:26px 0}
  .idx-head{display:none}
  .cat-list a.idx-row{grid-template-columns:52px 150px minmax(0,1fr);gap:16px}
  .idx-meta{grid-column:2/-1;text-align:left}
  .art-lede img{height:340px}
}
@media (max-width:900px){
  /* nav → drawer */
  .nav .wrap{padding-block:8px;position:relative}
  .nav-burger{display:flex;align-items:center;gap:9px;font:600 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);padding:10px 0;cursor:pointer}
  .nav-burger i{display:block;width:18px;height:0;border-top:2px solid var(--ink);box-shadow:0 5px 0 var(--ink),0 10px 0 var(--ink)}
  .nav-list{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:14px}
  #nav-open:checked ~ .nav-list{display:flex}
  .nav-list>li{display:block}
  .nav-list>li+li::before{display:none}
  .nav-list>li>a{padding:12px 0;border-top:1px solid var(--hair-faint)}
  .nav-sub{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;background:transparent;min-width:0;padding:0 0 10px 16px;border-left:2px solid var(--ochre);margin-left:2px}
  .nav-sub .sub-head{display:none}
  .nav-sub>li>a{padding:7px 0;font-size:16px}
  .nav-list>li.has-sub::after{display:none}
  .nav-browse{margin:12px 0 0}
  .nav-list{flex-wrap:wrap}
}
@media (max-width:760px){
  .page{padding:18px 12px 60px}
  .wrap{padding-inline:20px}
  .wordmark{font-size:40px}
  .masthead .wrap{align-items:flex-start}
  .find{width:100%}
  .art-hero h1{font-size:40px;line-height:1.04}
  .art-dek{font-size:20px}
  .article-body p{font-size:18.5px}
  .article-body h2{font-size:27px}
  .article-body .lead::first-letter{font-size:50px}
  .cat-head h1,.doc h1{font-size:36px}
  .lead-copy h2{font-size:33px}
  .lead-dek{font-size:19px}
  .card-grid{grid-template-columns:minmax(0,1fr)}
  .season-grid{grid-template-columns:minmax(0,1fr)}
  .roll-grid,.roll-featured{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card h3{font-size:22px}
  .map-frame{min-height:400px}
  .pullquote.band{padding:24px 20px}
  .pullquote.band p{font-size:23px}
  .stat-num{font-size:28px}
  .related-links a{font-size:21px;flex-direction:column;gap:6px}
  .cat-list a.idx-row{grid-template-columns:44px minmax(0,1fr)}
  .idx-thumb{grid-column:1/-1;order:-1}
  .idx-meta{grid-column:1/-1}
  .art-top .wrap,.topbar .wrap{font-size:10px;letter-spacing:.1em}
  .profile-band{padding:20px}
  .sponsor{width:100%}
}
@media (max-width:700px){
  /* two-column term tables stack rather than cramp */
  .datatable thead{display:none}
  .datatable tr{display:block;border-bottom:1px solid rgba(31,51,40,.18);padding:12px 0}
  .datatable tr:last-child{border-bottom:0}
  .datatable td{display:block;border:0;padding:0}
  .datatable td:first-child{width:auto;margin-bottom:4px}
  .datatable caption{padding-bottom:6px}
  .map-figure .map-slot{height:380px}
  .locator{height:270px}
}
@media (max-width:420px){
  .wrap{padding-inline:16px}
  .wordmark{font-size:32px;letter-spacing:.04em}
  .mast-rule span{font-size:10px;letter-spacing:.14em}
  .art-hero h1{font-size:32px}
  .stat-pairs{gap:18px}
  .roll-grid,.roll-featured{grid-template-columns:minmax(0,1fr)}
  .statblock{padding-right:12px}
  .err-big{font-size:84px}
}
@media print{
  body{background:#fff}
  .nav,.find,.topbar,.zoom-stack,.roll,.art-rail,.foot-links{display:none!important}
  .sheet{box-shadow:none;border:0}
  .page{padding:0;max-width:none}
  .article-body>p,.article-body>h2{max-width:none}
}

/* header inside the sheet */
.sheet>header .masthead{padding-top:26px}
.sheet>header .nav{position:relative}
/* CSS-only read-length filter on category pages */
.pill-filter{position:absolute;opacity:0;pointer-events:none}
.pill-row label.pill{cursor:pointer}
#f-all:checked ~ .cat-head label[for="f-all"],
#f-short:checked ~ .cat-head label[for="f-short"],
#f-med:checked ~ .cat-head label[for="f-med"],
#f-long:checked ~ .cat-head label[for="f-long"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#f-short:checked ~ .cat-body .idx-row:not([data-len="short"]),
#f-med:checked ~ .cat-body .idx-row:not([data-len="med"]),
#f-long:checked ~ .cat-body .idx-row:not([data-len="long"]){display:none}

/* extra component variants used in the styleguide */
.chart.donut svg{max-width:260px;margin:0 auto}
.chart.donut .d-seg{fill:none;stroke-width:22}
.chart.donut .d-hole{font-family:var(--disp);font-weight:700;font-size:30px;fill:var(--ink)}
.chart.donut .d-hole-l{font-family:var(--mono);font-size:9px;letter-spacing:.16em;fill:var(--sage)}
.donut-key{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 18px}
.donut-key li{display:flex;align-items:center;gap:9px;font:400 15px/1.4 var(--serif);color:var(--ink)}
.donut-key .dot{width:11px;height:11px;flex:none;border-radius:50%}
.org-card.no-logo .org-name{border-left:2px solid var(--ochre);padding-left:10px}
.long-list{list-style:none;padding:0;margin:0}
.long-list li{border-bottom:1px dotted var(--dotted);padding:10px 0;font:400 17px/1.45 var(--serif);color:var(--ink)}
#sg-list:checked ~ .more-panel{display:block}
#sg-list:checked ~ .more-wrap{display:none}
.tokens{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-top:18px}
.token{border:1px solid var(--hair-soft);background:var(--paper)}
.token .sw{height:60px}
.token .tl{padding:9px 11px;font:500 10.5px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sage);display:block}
.type-row{border-top:1px solid var(--hair-faint);padding:16px 0;display:grid;grid-template-columns:170px minmax(0,1fr);gap:20px;align-items:baseline}
.type-row .tr-k{font:500 10.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
@media (max-width:760px){.type-row{grid-template-columns:minmax(0,1fr);gap:8px}}

.gallery figure img{aspect-ratio:4/3;object-fit:cover}



/* 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 — 10 tiles,
   1360px at 390, 19% of the whole page. Two columns bring it to
   756px (44% shorter). Checked before writing: no new overflow, smallest mark still
   157px wide, longest blurb 3 lines, tile heights 127-151px.
   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 (.roll-featured, .roll-grid), 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){
  .roll-featured{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:26px!important}
    .roll-featured > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .roll-featured > * *{min-width:0!important;max-width:100%}
    .roll-featured img,.roll-featured svg{max-width:100%;height:auto}
  .roll-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:26px!important}
    .roll-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .roll-grid > * *{min-width:0!important;max-width:100%}
    .roll-grid img,.roll-grid svg{max-width:100%;height:auto}
  .roll-featured .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
  .roll-grid .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 660px (75 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 66ch (declared in .article-body > p, .article-body > .lead, .article-body > h2, .article-body > .note, .article-body > ul, .article-body > ol) to ~102 characters per line in this build's own prose font, never past the edge Design's own content already reaches beside it. The layout has no room to grow above 1600, so this width holds there. Nothing below 1024 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1024px){
  div.article-body > :is(p:not([class]), p.note){max-width:min(900px, 100%)!important}
}
/* op-article-width:end */
/* op-heading-levels */
h1.rt-h2{margin: 0px;}
.lead-copy h1.rt-h2{font: 600 46px/1.05 var(--serif); letter-spacing: -0.015em; color: var(--ink); text-wrap: balance;}
.lead-copy h1.rt-h2 a{color: inherit;}
.lead-copy h1.rt-h2 a:hover{color: var(--ochre);}
@media (max-width: 760px){.lead-copy h1.rt-h2{font-size: 33px;}}
h1:where(.rt-h2){margin: 0px;}
.lead-copy h1:where(.rt-h2){font: 600 46px/1.05 var(--serif); letter-spacing: -0.015em; color: var(--ink); text-wrap: balance;}
.lead-copy h1:where(.rt-h2) a{color: inherit;}
.lead-copy h1:where(.rt-h2) a:hover{color: var(--ochre);}
@media (max-width: 760px){.lead-copy h1:where(.rt-h2){font-size: 33px;}}
/* op-heading-levels:end */
