/* Equine Info — "The Stud Book" · field-notes ledger, stamped & ruled */
:root{
  --paper:#EFE8D6; --paper2:#F4EEDD; --ink:#191611; --accent:#C8401A;
  --ink70:rgba(25,22,17,.7); --ink55:rgba(25,22,17,.55); --ink35:rgba(25,22,17,.35);
  --pod:#EFE8D6; --pod65:rgba(239,232,214,.65); --pod30:rgba(239,232,214,.3);
  --tile:#221E17;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --disp:'Bricolage Grotesque','Archivo Black',sans-serif;
  --measure:70ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.85 var(--mono);text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);line-height:1.08;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:clamp(18px,4vw,48px)}
.kicker{font:700 12px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.meta{font:400 13.5px/1.6 var(--mono);color:var(--ink55);letter-spacing:.04em}
.rule-b{border-bottom:2px solid var(--ink)}
.alink{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.frame{border:2px solid var(--ink)}
.frame img{width:100%;height:100%;object-fit:cover}
.figcap{font:400 12.5px/1.65 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink55);margin-top:9px}

/* ---------- masthead ---------- */
.masthead{border-bottom:4px double var(--ink);position:relative}
.mast-top{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font:400 11.5px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink55)}
@media(min-width:901px){.mast-top span:last-child{margin-right:170px}}
.wordmark{display:block;text-align:center;margin:12px 0 10px;font:800 clamp(2.4rem,6.5vw,3.9rem)/1 var(--disp);letter-spacing:.01em;color:var(--ink);text-decoration:none}
.wordmark b{color:var(--accent)}
.mast-nav{display:flex;justify-content:center;align-items:baseline;gap:10px 14px;flex-wrap:wrap;padding-bottom:18px;font:500 13px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.mast-nav a{text-decoration:none;color:var(--ink);padding:2px 2px}
.mast-nav a:hover,.mast-nav a[aria-current]{color:var(--accent)}
.mast-nav .sep{color:var(--ink35)}
.stamp{position:absolute;right:clamp(16px,4vw,44px);top:20px;transform:rotate(7deg);border:2px solid var(--accent);color:var(--accent);padding:7px 10px;font:700 10.5px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:center}
.masthead.compact .wordmark{font-size:clamp(1.6rem,4vw,2.1rem);text-align:left;margin:10px 0 8px}
.masthead.compact .mast-row{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:6px 0 14px}
.masthead.compact .mast-nav{padding-bottom:0;justify-content:flex-end}
@media(max-width:900px){.stamp{display:none}}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--pod);margin-top:0}
.footer-in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding:44px 0 30px}
.footer .fm{font:800 22px/1 var(--disp)}
.footer .fm b{color:var(--accent)}
.footer p{font:400 13px/1.8 var(--mono);color:var(--pod65);max-width:44ch;margin-top:12px}
.fcols{display:flex;gap:clamp(28px,5vw,64px);flex-wrap:wrap}
.fcols div{display:flex;flex-direction:column;gap:11px;font:400 13px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.fcols a{color:var(--pod);text-decoration:none}
.fcols a:hover{color:var(--accent)}
.f-legal{border-top:1px solid rgba(239,232,214,.25);padding:16px 0 26px;font:400 12px/1.7 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:rgba(239,232,214,.55);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* ---------- homepage: hero ---------- */
.hero{padding:clamp(28px,4vw,48px) 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:clamp(28px,4vw,52px)}
.hero-fig .frame{aspect-ratio:3/2}
.hero-feat{display:flex;flex-direction:column;gap:15px;min-width:0}
.hero-feat h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700}
.hero-feat h2 a{text-decoration:none}
.hero-feat h2 a:hover{color:var(--accent)}
.hero-feat .dek{font-size:15px;line-height:1.8;color:var(--ink70);max-width:52ch}
.issue{margin-top:10px}
.issue-h{font:700 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);padding-bottom:10px}
.issue a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-top:1px solid var(--ink35);text-decoration:none;font:500 13.5px/1.5 var(--mono)}
.issue a:first-of-type{border-top:2px solid var(--ink)}
.issue a:last-of-type{border-bottom:2px solid var(--ink)}
.issue a:hover .t{color:var(--accent)}
.issue .n{color:var(--accent);flex:none}
.issue .t{flex:1;min-width:0}
.issue .c{color:var(--ink55);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;flex:none}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}

/* ---------- stud book ---------- */
.studbook{background:var(--ink);color:var(--pod);padding:clamp(36px,5vw,60px) 0}
.sb-head{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.sb-head h2{font:800 clamp(2rem,4.4vw,3rem)/1 var(--disp)}
.sb-head .meta{color:var(--pod65)}
.sb-grid{display:grid;grid-template-columns:minmax(280px,400px) 1fr;gap:clamp(24px,3.5vw,44px);align-items:start}
.reg-list{display:flex;flex-direction:column}
.reg-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;padding:11px 12px;border:1px solid var(--pod30);border-bottom:none;background:transparent;color:var(--pod);cursor:pointer;font:500 13px/1.4 var(--mono);letter-spacing:.04em;text-align:left}
.reg-list .reg-row:last-of-type{border-bottom:1px solid var(--pod30)}
.reg-row .o{opacity:.65;font-size:11px;text-transform:uppercase;letter-spacing:.08em;text-align:right}
.reg-row:hover{border-color:var(--pod65)}
.reg-row.active{background:var(--accent);border-color:var(--accent);color:var(--pod)}
.specimen{background:var(--paper);color:var(--ink);padding:clamp(18px,2.5vw,28px);position:relative;transform:rotate(.4deg)}
.specimen .stamp2{position:absolute;top:16px;right:16px;transform:rotate(-9deg);border:2px solid var(--accent);color:var(--accent);padding:6px 10px;font:700 11px/1 var(--mono);letter-spacing:.14em}
.spec-grid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:clamp(16px,2.5vw,26px)}
.spec-grid .frame{height:100%;min-height:280px;max-height:340px}
.spec-info{display:flex;flex-direction:column;gap:10px;min-width:0}
.spec-info h3{font:800 clamp(1.5rem,2.6vw,2rem)/1.05 var(--disp);text-transform:uppercase}
.facts{margin-top:4px}
.facts div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:8px 0;border-top:1px solid var(--ink35)}
.facts dt{font:700 11px/1.7 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink55);margin:0}
.facts dd{font:500 13.5px/1.65 var(--mono);margin:0}
.js .sb-card{display:none}
.js .sb-card.active{display:block}
.no-js-note{display:none}
.studmap{margin-top:clamp(24px,3.5vw,40px)}
.studmap-frame{border:1px solid var(--pod30);background:#14110D;padding:clamp(8px,1.5vw,16px)}
.studmap svg{width:100%;height:auto;display:block}
.studmap .land{fill:#2A251C;stroke:rgba(239,232,214,.35);stroke-width:.6}
.studmap .pin{outline:none}
.studmap .pin:focus{outline:none}
.studmap .pin:focus-visible circle{stroke:var(--pod);stroke-width:2;stroke-dasharray:3 2}
.studmap .pin circle{fill:rgba(239,232,214,.45);stroke:#14110D;stroke-width:1;cursor:pointer;transition:fill .15s}
.studmap .pin:hover circle{fill:var(--pod)}
.studmap .pin.active circle{fill:var(--accent);stroke:var(--pod);stroke-width:1.5}
.studmap .plate{display:none;pointer-events:none}
.studmap .pin.active .plate{display:block}
.studmap .plate .leader{stroke:var(--accent);stroke-width:1.5}
.studmap .plate rect{fill:var(--paper);stroke:#14110D;stroke-width:1.5}
.studmap .plate .l1{font:700 14px var(--mono);fill:var(--ink)}
.studmap .plate .l1 tspan{fill:var(--accent)}
.studmap .plate .l2{font:500 10.5px var(--mono);fill:rgba(25,22,17,.68);letter-spacing:.06em}
.studmap-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:400 11.5px/1.7 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pod65);margin-top:10px}
@media(max-width:960px){.sb-grid{grid-template-columns:1fr}.spec-grid{grid-template-columns:1fr}.spec-grid .frame{min-height:0;height:auto;max-height:none;aspect-ratio:4/3}}

/* ---------- pillars ---------- */
.pillars{padding:clamp(36px,5vw,56px) 0}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px);margin-top:20px}
.pillar{display:flex;flex-direction:column;gap:9px;border-top:3px solid var(--ink);padding-top:14px;text-decoration:none}
.pillar .pn{font:800 26px/1 var(--disp);color:var(--accent)}
.pillar h3{font:700 20px/1.15 var(--disp)}
.pillar p{font:400 13px/1.7 var(--mono);color:var(--ink70)}
.pillar .pc{margin-top:auto;font:700 11.5px/1.4 var(--mono);letter-spacing:.12em;color:var(--ink55);text-transform:uppercase}
.pillar:hover h3{color:var(--accent)}
@media(max-width:960px){.pillar-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.pillar-grid{grid-template-columns:1fr}}

/* ---------- ledger feed ---------- */
.ledger{padding:clamp(30px,4vw,52px) 0}
.ledger-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:12px}
.ledger-head h2{font:800 clamp(1.7rem,3.4vw,2.4rem)/1 var(--disp)}
.entry-row{display:grid;grid-template-columns:52px 150px minmax(0,1fr) 170px 76px;gap:clamp(12px,2vw,22px);align-items:center;padding:15px 0;border-bottom:1px solid var(--ink35);text-decoration:none}
.entry-row .n{font:500 12px var(--mono);color:var(--accent)}
.entry-row .thumb{aspect-ratio:3/2;border:2px solid var(--ink)}
.entry-row .thumb img{width:100%;height:100%;object-fit:cover}
.entry-row h3{font:600 clamp(1.1rem,2vw,1.45rem)/1.2 var(--disp)}
.entry-row .d{font:400 12.5px/1.65 var(--mono);color:var(--ink70);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.entry-row .cat{font:400 11px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink55)}
.entry-row .rt{font:400 11px var(--mono);color:var(--ink55);text-align:right;white-space:nowrap}
.entry-row:hover h3{color:var(--accent)}
@media(max-width:820px){.entry-row{grid-template-columns:44px minmax(0,1fr) 70px}.entry-row .thumb,.entry-row .cat{display:none}}

/* ---------- sponsors ---------- */
.notices{padding:clamp(28px,4vw,44px) 0}
.notices-box{border:2px solid var(--ink);padding:clamp(18px,3vw,30px);background:var(--paper2)}
.notices-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.notices-h h2{font:800 clamp(1.3rem,2.6vw,1.8rem)/1 var(--disp)}
.notices p.nsub{font:400 12.5px/1.7 var(--mono);color:var(--ink55);margin-bottom:16px}
.sponsor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px}
.sponsor{background:var(--tile);border:1px solid rgba(239,232,214,.22);min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:14px 12px;text-decoration:none;color:var(--pod)}
.sponsor img{max-height:40px;width:auto;max-width:82%;object-fit:contain}
.sponsor-blurb{font:400 11.5px/1.5 var(--mono);color:var(--pod65);text-align:center;min-height:1em;max-width:22ch}
.sponsor:hover{border-color:var(--accent)}
.register-of-supporters{background:var(--ink);color:var(--pod);padding:clamp(32px,4.5vw,52px) 0}
.register-of-supporters .notices-h h2{color:var(--pod)}
.register-of-supporters p.nsub{color:var(--pod65)}
.register-of-supporters .sponsor{border-color:rgba(239,232,214,.28)}

/* ---------- category / archive ---------- */
.cat-head{padding:clamp(34px,5vw,56px) 0 clamp(22px,3vw,34px);display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;border-bottom:2px solid var(--ink)}
.cat-head h1{font:800 clamp(2.4rem,6.5vw,4.2rem)/.95 var(--disp);text-transform:uppercase}
.cat-head .intro{max-width:40ch;font:400 14px/1.8 var(--mono);color:var(--ink70)}
.cat-list{list-style:none;margin:0;padding:0 0 clamp(30px,4vw,50px)}
.crosslink{background:var(--ink);color:var(--pod);padding:22px 0}
.crosslink .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.crosslink .t{font:700 clamp(1.1rem,2.4vw,1.5rem)/1.3 var(--disp)}
.crosslink a{color:var(--pod);font:700 12px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase}

/* ---------- article ---------- */
.post-head{padding:clamp(30px,4.5vw,52px) 0 clamp(20px,3vw,30px)}
.post-head .kline{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline}
.post-head h1{font:800 clamp(2.1rem,5.6vw,3.8rem)/.98 var(--disp);text-transform:uppercase;max-width:22ch;margin:14px 0 16px}
.post-head .byline{font:400 13.5px/1.6 var(--mono);color:var(--ink55);letter-spacing:.06em}
.post-hero{padding-bottom:clamp(20px,3vw,34px)}
.post-hero .frame{aspect-ratio:5/2.4}
.post-head .wrap,.post-hero .wrap,.post-body .wrap{max-width:1140px}
.post-body{padding-bottom:clamp(36px,5vw,60px)}
.post-body>*{max-width:74ch}
.post-body p{margin:0 0 1.5em;font-size:16.5px;line-height:1.9}
.post-body ul,.post-body ol{margin:0 0 1.6em;padding-left:1.4em;font-size:16px;line-height:1.85}
.post-body li{margin-bottom:.5em}
.lead{font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.75;color:var(--ink70);margin:0 0 2em;max-width:56ch}
.opener::first-letter{font:800 3.2em/.82 var(--disp);float:left;padding:10px 14px 0 0;color:var(--accent)}
.secnum{display:block;font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--accent);margin-bottom:10px}
.post-body h2{font:700 clamp(1.5rem,3vw,2.1rem)/1.12 var(--disp);margin:2.2em 0 .9em;border-top:2px solid var(--ink);padding-top:1em;max-width:var(--measure)}
.post-body h3{font:700 1.2rem/1.3 var(--disp);margin:1.8em 0 .7em}
.post-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.pullquote{margin:2.4em 0;padding:1.1em 0 1.2em;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);max-width:none}
.pullquote p{font:700 clamp(1.4rem,3.2vw,2.1rem)/1.3 var(--disp);color:var(--ink);margin:0;max-width:none}
.pullquote p::before{content:"“ ";color:var(--accent)}
.pullquote p::after{content:" ”";color:var(--accent)}
.blockquote{margin:2em 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent)}
.blockquote p{font-style:italic;margin-bottom:.6em}
.blockquote cite{font:400 12.5px/1.6 var(--mono);color:var(--ink55);font-style:normal;letter-spacing:.06em}
.callout{margin:2em 0;border:2px solid var(--ink);background:var(--paper2);padding:18px 20px;transform:rotate(-.3deg)}
.callout p{font:600 15px/1.75 var(--mono);margin:0}
.callout p::before{content:"☞ ";color:var(--accent);font-weight:700}
.note{margin:1.8em 0;border:2px dashed var(--ink);padding:14px 16px;font-size:13.5px;line-height:1.75;color:var(--ink70)}
.versus,.datatable{width:100%;max-width:none;border-collapse:collapse;margin:2em 0;font-size:14.5px;line-height:1.7}
.versus caption,.datatable caption{caption-side:top;text-align:left;font:700 11.5px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding-bottom:10px}
.versus th,.datatable th{font:700 11.5px/1.6 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:left;border-bottom:2px solid var(--ink);padding:9px 18px 9px 0}
.versus td,.datatable td{border-bottom:1px solid var(--ink35);padding:12px 18px 12px 0;vertical-align:top}
.versus td:first-child{font-weight:700}
.statrow{display:flex;gap:14px;flex-wrap:wrap;margin:2.2em 0;max-width:none}
.statblock{flex:1 1 190px;border:2px solid var(--ink);background:var(--paper2);padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px}
.stat-num{font:800 clamp(1.7rem,3vw,2.3rem)/1 var(--disp);color:var(--accent);overflow-wrap:anywhere}
.stat-label{font:400 12px/1.6 var(--mono);letter-spacing:.04em;color:var(--ink70)}
.timeline{list-style:none;margin:2.2em 0;padding:0;border-left:2px solid var(--ink);max-width:none}
.timeline li{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:14px;padding:11px 0 11px 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-6px;top:1.35em;width:10px;height:10px;background:var(--accent);border:2px solid var(--paper)}
.t-when{font:700 13px/1.7 var(--mono);color:var(--accent);overflow-wrap:anywhere}
.t-what{font-size:14px;line-height:1.75}
.chart{margin:2.4em 0;max-width:none}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font:400 12.5px/1.7 var(--mono);letter-spacing:.06em;color:var(--ink55);margin-top:8px}
.chart .bar-rect{fill:var(--accent)}
.chart .bar-rect.mut{fill:var(--ink35)}
.chart text{font:500 12px var(--mono);fill:var(--ink)}
.chart .axis{stroke:var(--ink);stroke-width:2}
.chart .grid{stroke:var(--ink35);stroke-width:1;stroke-dasharray:3 4}
.chart .lbl{fill:var(--ink70);font-size:11.5px}
.article-figure{margin:2.4em 0;max-width:none}
.article-figure img{width:100%;border:2px solid var(--ink)}
.article-figure figcaption{font:400 12.5px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink55);margin-top:9px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:2.4em 0;max-width:none}
.gallery figure{margin:0}
.gallery img{border:2px solid var(--ink);aspect-ratio:4/3;object-fit:cover;width:100%}
.gallery figcaption{font:400 11.5px/1.6 var(--mono);color:var(--ink55);margin-top:6px}
.map-figure{margin:2.4em 0;max-width:none}
.map-figure .map-slot{min-height:260px;border:2px dashed var(--ink);background:var(--paper2);display:grid;place-items:center}
.map-figure .map-slot::after{content:none;font:700 11px/1.4 var(--mono);letter-spacing:.14em;color:var(--ink55)}
.map-figure figcaption{font:400 12.5px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink55);margin-top:9px}
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin:2.4em 0;max-width:none}
.profile-card{border:2px solid var(--ink);background:var(--paper2);padding:18px;display:flex;flex-direction:column;gap:8px;margin:0}
.profile-card .p-photo{width:76px;height:76px;object-fit:cover;border:2px solid var(--ink)}
.profile-card h3{font:700 1.05rem/1.25 var(--disp);margin:0}
.profile-card .p-role{font:700 11px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.profile-card p{font-size:13px;line-height:1.7;color:var(--ink70)}
.profile-card .p-links a{font:700 12px var(--mono);color:var(--accent)}
.p-attr{font-size:11px;color:var(--ink55)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:2.2em 0;max-width:none}
.org-card{border:2px solid var(--ink);background:var(--paper2);padding:14px 16px;display:flex;flex-direction:column;gap:4px;text-decoration:none}
.org-card .org-logo{max-height:34px;width:auto;align-self:flex-start;margin-bottom:6px}
.org-card .org-name{font:700 14px/1.35 var(--disp)}
.org-card .org-host{font:400 11.5px var(--mono);color:var(--ink55)}
.org-card:hover .org-name{color:var(--accent)}
.entity-ref{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent);white-space:nowrap}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:2em 0;max-width:none}
.further-grid a{border:2px solid var(--ink);padding:14px 16px;text-decoration:none;font:600 14px/1.45 var(--disp);display:flex;flex-direction:column;gap:6px}
.further-grid a:hover{color:var(--accent)}
.related{border-top:2px solid var(--ink);margin-top:2.5em;padding-top:1.2em;max-width:none}
.related h2{border:none!important;margin:0 0 .4em!important;padding:0!important;font-size:1.15rem!important;letter-spacing:.1em;text-transform:uppercase}
.related-links{list-style:none;margin:0;padding:0}
.related-links li{border-bottom:1px solid var(--ink35)}
.related-links a{display:flex;justify-content:space-between;gap:14px;align-items:baseline;padding:12px 0;text-decoration:none;font:600 15.5px/1.4 var(--disp)}
.related-links a:hover{color:var(--accent)}
.related-links .meta{flex:none}
@media(max-width:760px){
  .versus,.datatable{display:block;overflow-x:auto}
  .timeline li{grid-template-columns:1fr;gap:2px}
  .statrow{gap:10px}
}

/* ---------- glossary / simple pages ---------- */
.term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:clamp(24px,3.5vw,40px) 0 clamp(36px,5vw,56px)}
.term-card{border:2px solid var(--ink);background:var(--paper2);padding:18px}
.term-card h3{font:700 1.2rem/1.2 var(--disp);text-transform:uppercase;margin-bottom:8px}
.term-card p{font-size:13px;line-height:1.75;color:var(--ink70)}
.prose{padding:clamp(24px,3.5vw,40px) 0 clamp(40px,5vw,64px)}
.prose>*{max-width:var(--measure)}
.prose p{margin-bottom:1.4em;font-size:16px;line-height:1.9}
.prose h2{font:700 1.5rem/1.2 var(--disp);margin:1.8em 0 .7em}
.bigmiss{padding:clamp(48px,9vw,120px) 0;text-align:left}
.bigmiss .n404{font:800 clamp(5rem,17vw,11rem)/1 var(--disp);color:var(--accent)}
.bigmiss h1{font:800 clamp(1.8rem,4.5vw,2.8rem)/1.1 var(--disp);margin:10px 0 14px}
.bigmiss p{max-width:48ch;color:var(--ink70)}

/* ---------- styleguide ---------- */
.sg-section{border-top:4px double var(--ink);padding:clamp(24px,3.5vw,40px) 0}
.sg-section>h2{font:800 clamp(1.4rem,3vw,2rem)/1 var(--disp);margin-bottom:1.2em}
.sg-label{font:700 11px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink55);margin:2em 0 .8em}

/* eq-sponsor-fix */
.sponsor img{filter:none !important;height:44px;width:auto;max-width:82%;object-fit:contain;margin:0 auto;display:block}
.sponsor{align-items:center;text-align:center}
.sponsor .sponsor-blurb{text-align:center}

/* blurb-clamp: cap supporter blurbs at 2 rows (operator 2026-07-18) */
.sponsor-blurb{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sponsor-grid .sponsor.sponsor img{height:40px!important;display:block!important;width:100%!important}

/* op-money-columns: the supporters block ran one tile per row — 12 tiles,
   1097px at 390, 17% of the whole page. Two columns bring it to
   848px (23% shorter). Checked before writing: no new overflow, smallest mark still
   123px wide, longest blurb 2 lines, tile heights 113-113px.
   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.
   An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sponsor-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){
  .sponsor-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important}
    .sponsor-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sponsor-grid > * *{min-width:0!important;max-width:100%}
    .sponsor-grid img,.sponsor-grid svg{max-width:100%;height:auto}

}

/* op-odd-tier-lead: .sponsor-grid (5 tiles), .sponsor-grid (7 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sponsor-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
  .sponsor-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}
/* op-heading-levels */
h2:where(.rt-h3){font-family: var(--disp); line-height: 1.08; margin: 0px; text-wrap: balance;}
.entry-row h2:where(.rt-h3){font: 600 clamp(1.1rem,2vw,1.45rem)/1.2 var(--disp);}
.entry-row:hover h2:where(.rt-h3){color: var(--accent);}
.term-card h2:where(.rt-h3){font: 700 1.2rem/1.2 var(--disp); text-transform: uppercase; margin-bottom: 8px;}
h1:where(.rt-h2){font-family: var(--disp); line-height: 1.08; margin: 0px; text-wrap: balance;}
.hero-feat h1:where(.rt-h2){font-size: clamp(1.8rem, 3.4vw, 2.6rem); font-weight: 700;}
.hero-feat h1:where(.rt-h2) a{text-decoration: none;}
.hero-feat h1:where(.rt-h2) a:hover{color: var(--accent);}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.entry-row > span.thumb > img,
  div.spec-grid > div.frame > img,
  div.wrap > div.frame > img,
  div.wrap > figure.article-figure > img,
  figure.hero-fig > div.frame > img){height:auto}
/* op-img-dims:end */
@media (min-width:941px) and (max-width:1039px){.facts.facts > div{flex-wrap:wrap!important;min-width:0!important}.facts.facts dd{min-width:0!important}}
.studmap-frame.studmap-frame{overflow:hidden!important}
.studmap-frame.studmap-frame svg{overflow:hidden!important}
@media (min-width:961px) and (max-width:1019px){.studbook.studbook{overflow-x:clip!important}}
