/* Forensic Sobriety Assessment — Zero Tolerance build */
:root{
  --navy:#10151f; --navy2:#151c29; --navy3:#0b0f17;
  --ink:#e9e6dd; --sub:#a7adbb; --faint:#78808f;
  --hair:rgba(233,230,221,.18); --hair-soft:rgba(233,230,221,.10);
  --amber:#e0a43b; --red:#C8552F;
  --c-measured:#5AA9B5; --c-law:#7F93C4; --c-alcohol:#E0A43B; --c-drugs:#A785C9; --c-consequences:#C8552F;
  --serif:'Besley',Georgia,serif; --sans:'Archivo',system-ui,sans-serif; --mono:'Space Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.65;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:var(--amber);text-decoration:none}
a:hover{color:#f0bc5e;text-decoration:underline}
.wrap{max-width:1400px;margin-inline:auto;padding-inline:clamp(20px,4vw,56px)}
.kicker{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.tag{display:inline-block;color:var(--navy);font-family:var(--sans);font-size:12.5px;font-weight:800;letter-spacing:.16em;padding:7px 14px;text-transform:uppercase}
.sec-measured{background:var(--c-measured)} .sec-law{background:var(--c-law)} .sec-alcohol{background:var(--c-alcohol)} .sec-drugs{background:var(--c-drugs)} .sec-consequences{background:var(--c-consequences)}
.tx-measured{color:var(--c-measured)} .tx-law{color:var(--c-law)} .tx-alcohol{color:var(--c-alcohol)} .tx-drugs{color:var(--c-drugs)} .tx-consequences{color:var(--c-consequences)}

/* ---------- chrome ---------- */
.topbar{background:var(--amber);color:var(--navy)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:9px;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.topbar a{color:var(--navy)}
.topbar .t-links{display:flex;gap:22px;flex-wrap:wrap}
.masthead .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:24px}
.masthead{border-bottom:3px solid var(--ink)}
.logo{font-family:var(--serif);font-weight:900;font-size:clamp(26px,3.2vw,40px);line-height:1;color:var(--ink);letter-spacing:-.005em}
.logo:hover{text-decoration:none;color:var(--ink)}
.logo em{font-style:normal;color:var(--amber)}
.nav{display:flex;gap:clamp(14px,2vw,26px);flex-wrap:wrap;font-family:var(--sans);font-size:13.5px;font-weight:700;letter-spacing:.12em}
.nav a{text-transform:uppercase}
.nav a:hover{text-decoration:none;border-bottom:2px solid currentColor}
.crumbs{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}
.crumbs a{color:var(--sub)}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--hair);margin-top:72px}
.footer .wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-block:16px}
.f-mark{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.3em;color:var(--amber)}
.f-links{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--faint);text-transform:uppercase}
.f-links a{color:var(--sub)}
.standing{background:var(--navy3);font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--faint);text-align:center;padding:15px clamp(20px,4vw,56px);text-transform:uppercase}

/* ---------- data hero ---------- */
.hero{border-bottom:3px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr}
.hero-copy{padding:clamp(28px,4vw,56px);padding-left:clamp(20px,4vw,56px);border-right:1px solid var(--hair)}
.hero-num{font-family:var(--mono);font-weight:700;font-size:clamp(96px,13vw,190px);line-height:.95;color:var(--amber);letter-spacing:-.04em;margin:8px 0 4px}
.hero-title{font-size:clamp(34px,4vw,52px);font-weight:900;line-height:1.06;letter-spacing:-.005em;margin:0;text-wrap:pretty}
.hero-title a{color:var(--ink)}
.hero-dek{font-size:21px;line-height:1.5;color:var(--sub);margin-top:16px;max-width:46ch;font-weight:500;text-wrap:pretty}
.btn{display:inline-block;background:var(--ink);color:var(--navy);font-family:var(--sans);font-size:13.5px;font-weight:800;letter-spacing:.12em;padding:13px 24px;text-transform:uppercase}
.btn:hover{background:var(--amber);color:var(--navy);text-decoration:none}
.hero-side{display:flex;flex-direction:column}
.hero-photo{flex:1;min-height:320px}
.hero-photo img{width:100%;height:100%;object-fit:cover;min-height:320px}
.btn-block{border-top:1px solid var(--hair);background:var(--navy2);padding:22px 30px}
.btn-block .big{display:flex;align-items:baseline;gap:18px;margin-top:10px}
.btn-block .big b{font-family:var(--mono);font-size:44px;font-weight:700;line-height:1;color:var(--ink)}
.btn-block .big span{font-size:15.5px;color:var(--sub);line-height:1.45;font-weight:500}
.src{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--faint);text-transform:uppercase}
.btn-block .src{display:block;margin-top:10px}

/* ---------- stat strip ---------- */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:3px solid var(--ink)}
.stat-strip>div{padding:28px clamp(20px,2.4vw,34px);border-right:1px solid var(--hair)}
.stat-strip>div:last-child{border-right:0}
.stat-strip .v{font-family:var(--mono);font-size:clamp(38px,4vw,54px);font-weight:700;line-height:1;color:var(--ink)}
.stat-strip .l{font-size:15px;color:var(--sub);line-height:1.45;margin-top:10px;font-weight:500}
.stat-strip .alarm{background:var(--red);color:var(--navy)}
.stat-strip .alarm .v{color:var(--navy)}
.stat-strip .alarm .l{color:var(--navy);font-weight:600}

/* ---------- record feed ---------- */
.feed-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin:38px 0 22px}
.feed-head h2{font-size:clamp(26px,3vw,32px);font-weight:900;margin:0}
.feed-head a{font-family:var(--sans);font-size:13.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{border:1px solid rgba(233,230,221,.25);display:flex;flex-direction:column;background:var(--navy)}
.card .tag{display:block}
.card-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--hair-soft)}
.card-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-title{font-size:23px;font-weight:800;line-height:1.18;margin:0;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-title a{color:var(--ink)}
.card-dek{font-size:15px;color:var(--sub);line-height:1.5;font-weight:500;flex:1;margin:0}
.card-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--faint)}
.card-meta .go{color:var(--amber);font-weight:700}

/* ---------- section bar ---------- */
.section-bar{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(233,230,221,.25);margin-block:44px 0}
.section-bar a{color:var(--navy);padding:20px 18px;font-family:var(--sans);font-weight:800;font-size:16px;letter-spacing:.04em;display:flex;flex-direction:column;gap:6px;text-transform:uppercase}
.section-bar a:hover{text-decoration:none;filter:brightness(1.08)}
.section-bar .n{font-family:var(--mono);font-size:11.5px;font-weight:700}

/* ---------- comparison table ---------- */
.compare{border:1px solid rgba(233,230,221,.25);margin-block:44px 0}
.compare-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;padding:16px 24px;border-bottom:2px solid var(--ink);background:var(--navy2)}
.compare-head .kicker{color:var(--c-law)}
table{border-collapse:collapse;width:100%}
.datatable th{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase;text-align:left;padding:12px 24px;border-bottom:1px solid var(--hair);font-weight:700}
.datatable td{padding:12px 24px;border-bottom:1px solid var(--hair-soft);font-size:17px;vertical-align:baseline}
.datatable tr:last-child td{border-bottom:0}
.datatable .num{font-family:var(--mono);font-weight:700;color:var(--amber)}
.datatable .side{color:var(--sub);font-size:15px}

/* bac compact comparison */
.bac-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;padding:10px 24px 18px}
.bac-row{display:grid;grid-template-columns:minmax(150px,38%) 1fr 58px;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--hair-soft)}
.bac-name{font-size:16.5px;font-weight:600;line-height:1.25}
.bac-name i{display:block;font-style:normal;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em}
.bac-bar{height:14px;background:rgba(233,230,221,.07);position:relative;overflow:hidden}
.bac-bar b{position:absolute;inset:0 auto 0 0;background:var(--amber)}
.bac-bar b.zero{background:var(--red);width:4px}
.bac-val{font-family:var(--mono);font-weight:700;font-size:16px;color:var(--amber);text-align:right}
.bac-val.zero{color:var(--red)}
@media(max-width:860px){.bac-grid{grid-template-columns:1fr}}

/* ---------- partners (woven) ---------- */
.partner-band{border:1px solid var(--hair);background:var(--navy3);display:flex;align-items:center;gap:clamp(16px,3vw,34px);padding:18px clamp(18px,3vw,30px);margin-block:44px 0;flex-wrap:wrap}
.partner-band .pb-k{font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.22em;color:var(--faint);text-transform:uppercase;flex:0 0 auto}
.sponsor{display:flex;align-items:center;gap:20px;flex:1;min-width:260px}
.sponsor img{height:46px;width:auto;max-width:220px;background:var(--navy3);border:1px solid var(--hair-soft)}
.sponsor-blurb{font-size:15px;color:var(--sub);font-weight:500;line-height:1.45}
.sponsor:hover{text-decoration:none}
.ledger{border:1px solid rgba(233,230,221,.25);margin-block:56px 0}
.ledger-head{padding:22px 26px;border-bottom:2px solid var(--ink);background:var(--navy2)}
.ledger-head h2{font-size:26px;font-weight:900;margin:8px 0 0}
.ledger-head p{margin:6px 0 0;color:var(--sub);font-size:15.5px;font-weight:500}
.ledger-body{display:grid;grid-template-columns:repeat(4,1fr)}
.ledger-cell{background:var(--navy);padding:20px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--hair-soft);border-bottom:1px solid var(--hair-soft)}
.ledger-cell:nth-child(4n){border-right:0}
.ledger-cell .ref{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--faint)}
.ledger-cell .sponsor{flex-direction:column;align-items:flex-start;gap:10px;min-width:0}
.ledger-cell .sponsor img{height:44px}
@media(max-width:1060px){.ledger-body{grid-template-columns:repeat(2,1fr)}.ledger-cell{border-right:1px solid var(--hair-soft)}.ledger-cell:nth-child(2n){border-right:0}}
@media(max-width:560px){.ledger-body{grid-template-columns:1fr}.ledger-cell{border-right:0}}

/* ---------- article ---------- */
.a-hero{position:relative;border-top:1px solid var(--hair);border-bottom:3px solid var(--ink)}
.a-hero img{width:100%;height:clamp(320px,52vw,620px);object-fit:cover;object-position:center 60%}
.a-head{padding-block:clamp(30px,4vw,52px) 8px}
.a-head .meta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.a-head .meta{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--faint);text-transform:uppercase}
.a-title{font-size:clamp(38px,5.4vw,68px);font-weight:900;line-height:1.04;letter-spacing:-.01em;margin:20px 0 0;max-width:22ch;text-wrap:pretty}
.a-title .hl{color:var(--amber)}
.a-cap{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--faint);padding:12px 0 0;text-transform:uppercase}
.article-body{max-width:78ch;padding-inline:clamp(20px,4vw,56px);margin-inline:auto;font-size:20px;line-height:1.72;color:#d6d3ca;font-weight:500;padding-block:clamp(28px,4vw,48px) 8px}
.article-body>p{margin:0 0 28px}
.article-body a{text-decoration:underline;text-decoration-color:rgba(224,164,59,.5);text-underline-offset:3px}
.lead{font-size:24px;line-height:1.55;color:var(--ink);font-weight:500;margin:0 0 32px;text-wrap:pretty}
.dropcap::first-letter{float:left;font-family:var(--mono);font-size:74px;font-weight:700;line-height:.8;color:var(--amber);padding:8px 14px 0 0}
h2.numbered{font-size:clamp(26px,3vw,33px);font-weight:900;color:var(--ink);line-height:1.15;margin:44px 0 18px;padding-top:22px;border-top:1px solid var(--hair)}
h2.numbered .no{font-family:var(--mono);font-size:16px;font-weight:700;letter-spacing:.1em;display:block;margin-bottom:8px}
.pullquote{margin:40px 0;padding:0;border:0;border-left:none}
.pullquote p{font-size:clamp(26px,3vw,32px);font-weight:800;line-height:1.3;color:var(--ink);margin:0;padding:26px 0;border-top:3px solid var(--amber);border-bottom:1px solid var(--hair);text-wrap:pretty}
.blockquote{margin:36px 0;padding:24px 30px;background:var(--navy2);border:1px solid var(--hair)}
.blockquote p{margin:0;font-size:20px;font-style:italic;color:var(--ink)}
.blockquote cite{display:block;margin-top:12px;font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--faint);font-style:normal;text-transform:uppercase}
.callout{margin:36px 0;padding:22px 26px;background:var(--navy2);border:2px solid var(--amber)}
.callout p{margin:0;font-size:17.5px;line-height:1.55;color:var(--ink)}
.callout .kicker{color:var(--amber);display:block;margin-bottom:8px}
.note{font-size:15.5px;color:var(--sub);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:14px 0;margin:32px 0}
.note b{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--faint);text-transform:uppercase}

/* by-the-numbers breakout */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:2px solid var(--amber);margin:40px 0;background:var(--navy2)}
.statblock{padding:22px 24px;border-right:1px solid var(--hair);display:flex;flex-direction:column;gap:8px}
.statblock:last-child{border-right:0}
.stat-num{font-family:var(--mono);font-size:clamp(30px,3vw,42px);font-weight:700;line-height:1;color:var(--ink)}
.stat-label{font-size:14.5px;color:var(--sub);line-height:1.45;font-weight:500}
.btn-rail-k{grid-column:1/-1;padding:16px 24px 0;font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.22em;color:var(--amber);text-transform:uppercase}

/* versus */
.versus{margin:36px 0;border:1px solid rgba(233,230,221,.25)}
.versus th{font-family:var(--sans);font-size:13px;font-weight:800;letter-spacing:.14em;padding:12px 20px;text-transform:uppercase;color:var(--navy);text-align:left}
.versus th:first-child{background:var(--amber)}
.versus th:last-child{background:var(--c-law)}
.versus td{padding:13px 20px;font-size:16.5px;border-bottom:1px solid var(--hair-soft);vertical-align:top;width:50%}
.versus tr:last-child td{border-bottom:0}

/* timeline */
.timeline{list-style:none;margin:36px 0;padding:0;border-left:3px solid var(--amber)}
.timeline li{display:grid;grid-template-columns:minmax(96px,max-content) 1fr;gap:8px 22px;padding:14px 0 14px 24px;border-bottom:1px solid var(--hair-soft)}
.timeline li:last-child{border-bottom:0}
.t-when{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--amber);line-height:1.5}
.t-what{font-size:16.5px;color:#d6d3ca;line-height:1.55}

/* charts */
.chart{margin:40px 0;border:1px solid var(--hair);background:var(--navy2);padding:24px}
.chart svg{width:100%;height:auto;display:block}
.chart figcaption{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--faint);margin-top:14px;text-transform:uppercase}

/* figures */
.article-figure{margin:40px 0}
.article-figure img{width:100%}
.article-figure figcaption{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--faint);margin-top:12px;text-transform:uppercase}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:40px 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{font-family:var(--mono);font-size:11.5px;color:var(--faint);margin-top:8px;letter-spacing:.08em;text-transform:uppercase}
.map-figure{margin:40px 0;border:1px solid var(--hair)}
.map-slot{min-height:340px;background:var(--navy3);display:flex;align-items:center;justify-content:center}
.map-slot::after{content:none;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:var(--faint)}
.map-figure figcaption{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--faint);padding:12px 18px;border-top:1px solid var(--hair);text-transform:uppercase}

/* profile / org cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:40px 0}
.profile-card{border:1px solid rgba(233,230,221,.25);background:var(--navy2);padding:24px;font-size:15.5px}
.profile-card h3{margin:14px 0 2px;font-size:21px;font-weight:800}
.profile-card .p-photo{width:88px;height:88px;object-fit:cover;border:1px solid var(--hair)}
.profile-card.no-photo h3{margin-top:0}
.profile-card .p-role{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--amber);margin:0 0 10px;text-transform:uppercase}
.profile-card p{color:var(--sub);line-height:1.55;margin:0 0 10px;font-weight:500}
.profile-card .p-links a{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.08em}
.p-attr{font-family:var(--mono);font-size:11px;color:var(--faint)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:40px 0}
.org-card{border:1px solid rgba(233,230,221,.25);background:var(--navy3);padding:18px 20px;display:flex;flex-direction:column;gap:6px}
.org-card:hover{text-decoration:none;border-color:var(--amber)}
.org-logo{height:34px;width:auto;align-self:flex-start}
.org-card.no-logo .org-name{margin-top:0}
.org-name{font-weight:800;font-size:17px;color:var(--ink);font-family:var(--sans)}
.org-host{font-family:var(--mono);font-size:12px;color:var(--faint)}
.entity-ref{font-weight:700}

/* related / further */
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:24px 0 0}
.further-grid a{border:1px solid rgba(233,230,221,.25);padding:0;display:flex;flex-direction:column;color:var(--ink)}
.further-grid a:hover{text-decoration:none;border-color:var(--amber)}
.further-grid .tag{font-size:11px;padding:7px 14px}
.further-grid .fg-t{padding:16px 18px;font-size:19px;font-weight:800;line-height:1.25;flex:1}
.further-grid .fg-go{padding:0 18px 14px;font-family:var(--mono);font-size:11.5px;color:var(--amber);font-weight:700;letter-spacing:.1em}
.related-wrap{border-top:3px solid var(--ink);margin-top:56px;padding-block:30px 8px}
.related-wrap h2{font-size:26px;font-weight:900;margin:0}
ul.related-links{list-style:none;margin:18px 0 0;padding:0}
ul.related-links li{border-bottom:1px solid var(--hair-soft);padding:14px 0;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
ul.related-links .ref{font-family:var(--mono);font-size:13px;font-weight:700;flex:0 0 54px}
ul.related-links a{font-size:20px;font-weight:800;color:var(--ink)}
.filed{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;color:var(--faint);border-top:1px solid var(--hair);padding:18px 0 8px;margin-top:44px;text-transform:uppercase}

/* ---------- category pages ---------- */
.cat-hero{color:var(--navy);padding-block:clamp(34px,5vw,54px)}
.cat-hero .kicker{opacity:.85}
.cat-hero h1{font-size:clamp(34px,6.8vw,74px);font-weight:900;line-height:1;margin:10px 0 0;letter-spacing:-.01em;overflow-wrap:anywhere}
.cat-hero p{font-size:20px;font-weight:600;line-height:1.45;margin:14px 0 0;max-width:56ch}
.cat-lead{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--hair)}
.cat-lead .cl-copy{padding:clamp(26px,4vw,48px) clamp(20px,4vw,56px);border-right:1px solid var(--hair)}
.cat-lead h2{font-size:clamp(28px,3.4vw,38px);font-weight:900;line-height:1.1;margin:12px 0 0}
.cat-lead h2 a{color:var(--ink)}
.cat-lead p{font-size:17px;color:var(--sub);line-height:1.55;font-weight:500}
.cat-lead img{width:100%;height:100%;object-fit:cover;min-height:300px}
ul.cat-list{list-style:none;margin:0;padding:0}
ul.cat-list li{display:grid;grid-template-columns:minmax(64px,max-content) 1fr max-content;align-items:baseline;gap:14px 28px;padding:24px clamp(20px,4vw,56px);border-bottom:1px solid var(--hair)}
ul.cat-list .ref{font-family:var(--mono);font-size:clamp(18px,2vw,26px);font-weight:700}
ul.cat-list .t{font-size:clamp(21px,2.4vw,26px);font-weight:800;line-height:1.2;display:block}
ul.cat-list .t a{color:var(--ink)}
ul.cat-list .d{font-size:15.5px;color:var(--sub);font-weight:500;display:block;margin-top:5px}
ul.cat-list .go{font-family:var(--mono);font-size:12px;color:var(--amber);font-weight:700;letter-spacing:.1em}

/* ---------- utility pages ---------- */
.page-body{max-width:78ch;padding-inline:clamp(20px,4vw,56px);margin-inline:auto;padding-block:clamp(30px,4vw,52px);font-size:19.5px;line-height:1.7;color:#d6d3ca;font-weight:500}
.page-body h1{font-size:clamp(38px,5vw,58px);font-weight:900;line-height:1.05;color:var(--ink);margin:0 0 22px}
.page-body h2{font-size:26px;font-weight:900;color:var(--ink);margin:36px 0 14px}
.contact-rows{list-style:none;margin:28px 0;padding:0}
.contact-rows li{display:flex;align-items:center;gap:18px;border:1px solid var(--hair);padding:18px 22px;margin-bottom:14px}
.contact-rows svg{flex:0 0 26px;color:var(--amber)}
.contact-rows b{font-family:var(--sans);letter-spacing:.06em;font-size:16px;color:var(--ink)}
.contact-rows span{color:var(--sub);font-size:16px}
.err{font-family:var(--mono);font-size:clamp(90px,16vw,180px);font-weight:700;color:var(--amber);line-height:1;letter-spacing:-.04em}

/* ---------- responsive ---------- */
@media(max-width:1060px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .stat-strip{grid-template-columns:repeat(2,1fr)}
  .stat-strip>div{border-bottom:1px solid var(--hair)}
  .section-bar{grid-template-columns:repeat(2,1fr)}
  .section-bar a:last-child{grid-column:1/-1}
}
@media(max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{border-right:0;border-bottom:1px solid var(--hair)}
  .cat-lead{grid-template-columns:1fr}
  .cat-lead .cl-copy{border-right:0;border-bottom:1px solid var(--hair)}
  .cat-lead img{min-height:240px}
}
@media(max-width:640px){
  body{font-size:18px}
  .cards{grid-template-columns:1fr}
  .stat-strip{grid-template-columns:1fr}
  .stat-strip>div{border-right:0}
  .section-bar{grid-template-columns:1fr}
  .article-body{font-size:18.5px}
  .datatable{display:block;overflow-x:auto}
  .datatable th,.datatable td{padding:10px 14px}
  .datatable th{white-space:nowrap}
  ul.cat-list li{grid-template-columns:1fr;gap:6px}
  .timeline li{grid-template-columns:1fr;gap:4px}
  .versus td,.versus th{padding:10px 12px;font-size:15px}
}

/* fs-sponsor-fix */
.sponsor img{filter:none !important;object-fit:contain;padding:5px 9px;border-radius:3px}

/* 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. */
.partner-band .sponsor.sponsor img{box-sizing:border-box!important;padding:8px 12px!important}
.ledger-cell .sponsor.sponsor img{box-sizing:border-box!important;height:44px!important;display:block!important;width:100%!important;padding:8px 12px!important}


/* sp-mark-size: the marks were held to 220px wide and 46px tall inside a 1039px band and a 281px
   ledger cell — both with room to spare. Raised on each, and the cell's mark is no longer
   stretched to the full cell width so it keeps its own proportions. */
/* ⚠️ DESKTOP ONLY — the unguarded version pushed the page 9px past a 390px viewport, because a
   340px mark plus the band's own min-width:260px on the tile leaves nothing to give. Design's
   sizes stand on a phone. */
@media (min-width:901px){
  .partner-band .sponsor.sponsor img{height:58px!important;max-width:340px!important}
  .ledger-cell .sponsor.sponsor img{height:54px!important;width:auto!important;
    max-width:100%!important;margin-inline:auto!important}
}

/* op-edge-gutter: the partner band is a row of tiles where the mark takes nearly the whole tile,
   leaving the brand copy a ~42px column; its words ran on to the screen edge, fifteen lines of one
   to three words. The row is allowed to WRAP on phones, so the copy drops beneath the mark at full
   width — the same remedy as evos. Desktop keeps Design's side-by-side. Structural only. */
@media (max-width:400px){
  .partner-band > .sponsor{flex-wrap:wrap!important}
  .partner-band > .sponsor > :not(img):not(svg):not(picture){flex-basis:100%!important;min-width:0!important}
}

/* op-article-width: the article column was capped at 828px (82 characters per line) at every desktop width. Operator: "it should utilize more space". Widened through max-width 78ch (declared in .article-body) 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 1280 changes. Originals: migration/_backups/article_width/. */
@media (min-width:1280px){
  article.article-body{max-width:min(1140px, 100%)!important}
}
@media (min-width:1600px){
  article.article-body{max-width:min(clamp(1140px, 79.167vw, 1368px), 100%)!important}
  article.article-body > :is(p.dropcap, p:not([class])), article.article-body > :is(ol.timeline) > li{font-size:clamp(20px,1.3889vw,24.0px)!important}
}
/* op-article-width:end */
/* op-heading-levels */
.profile-card h2:where(.rt-h3){margin: 14px 0px 2px; font-size: 21px; font-weight: 800;}
.profile-card.no-photo h2:where(.rt-h3){margin-top: 0px;}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(body > div.cat-lead > img,
  body > figure.a-hero > img,
  div.cards > article.card > img.card-img,
  div.hero-side > div.hero-photo > img){height:auto}
/* op-img-dims:end */
[data-partner] img{background:transparent!important}
