:root{
  --white:#F4F1E9;--bone:#E8E3D8;
  --ink:#110D08;--dim:rgba(17,13,8,.62);--rule:rgba(17,13,8,.25);
  --redink:#8F1D1A;--redink-hi:#A92823;--red-wash:rgba(143,29,26,.07);
  --amber:#B08A22;--amber-deep:#7B6418;--amber-wash:rgba(176,138,34,.12);
  --max:1180px;
  --grot:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;--news:'Newsreader',Georgia,serif;--body-f:'Inter',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background-color:var(--white);background-image:radial-gradient(rgba(15,11,6,.055) 1px,transparent 1px);background-size:5px 5px;color:var(--ink);font:16px/1.5 var(--body-f);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}button{font:inherit}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:100;background:var(--ink);color:var(--white);padding:10px 14px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.label{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--dim)}
.owed{color:var(--redink)}

/* ---- top rule: statement header ---- */
.doc-rule{border-bottom:3px double var(--ink);padding:10px max(20px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;gap:16px;font:500 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);flex-wrap:wrap}
.doc-rule b{color:var(--redink)}
.doc-rule a{color:var(--dim)}

/* ---- masthead ---- */
.site-head{position:sticky;top:0;z-index:50;background:rgba(244,241,233,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink);display:grid;grid-template-columns:auto auto 1fr;align-items:center;height:64px;padding:0 max(20px,calc((100vw - var(--max))/2))}
.wordmark{text-decoration:none;font:700 19px/1 var(--grot);letter-spacing:-.045em;width:max-content}
.wordmark i{font-style:normal;background:var(--redink);color:var(--white);padding:.06em .28em .12em;margin-left:.08em}
.site-head nav{display:flex;gap:24px;height:100%;margin-left:32px}
.site-head nav a{display:grid;place-items:center;text-decoration:none;font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;position:relative}
.site-head nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--redink);transform:scaleX(0);transition:transform .18s}
.site-head nav a:hover::after{transform:scaleX(1)}
.head-cta{background:var(--redink);color:var(--white);border:0;padding:11px 16px;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.menu-toggle{display:none;background:none;border:0;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em}
/* header subscribe: the form folds an email field out to the left of the button before
   submitting -- same pattern as Grand Theft America's assets/chrome.js + base.css */
.site-head .subform{justify-self:end;display:flex;align-items:center;gap:0;height:100%}
.subwrap{position:relative;display:flex;align-items:center;width:0;overflow:hidden}
.subform.open .subwrap{width:200px}
@media(max-width:640px){.subform.open .subwrap{width:150px}}
.subemail{width:200px;min-width:0;border:0;outline:none;background:transparent;font:600 12.5px/1 var(--mono);color:var(--ink);padding:6px 10px;opacity:0;transition:opacity .2s ease .34s;box-sizing:border-box}
.subemail:focus,.subemail:focus-visible{outline:none;box-shadow:none;border:0}
.subwrap:focus-within{outline:2px solid var(--ink);outline-offset:-2px}
@media(max-width:640px){.subemail{width:150px}}
.subform.open .subemail{opacity:1}
.subemail::placeholder{color:var(--dim);opacity:.7}
.subline{position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--redink);transform:scaleX(0);transform-origin:right center}
.subform.open .subline{transform:scaleX(1);transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.subwrap{transition:none}.subform.open .subline{transition:none}}

/* ---- hero ---- */
.hero{border-bottom:1px solid var(--ink);background:var(--white)}
.hero-inner{max-width:var(--max);margin:auto;padding:clamp(46px,7vw,90px) 20px clamp(50px,7vw,86px)}
.hero h1{margin:0;font:650 clamp(38px,6vw,84px)/1.04 var(--news);letter-spacing:-.02em;max-width:20ch}
.hero h1 em{font-style:normal;color:var(--redink)}
.meter{margin-top:clamp(44px,6vw,72px);border-top:3px solid var(--ink);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0}
.meter>div{padding:22px 26px 30px 0;border-bottom:1px solid var(--rule)}
.meter>div+div{border-left:1px solid var(--rule);padding-left:26px}
.meter .label{display:block;margin-bottom:16px}
.meter output{display:block;font:700 clamp(30px,4.4vw,60px)/1 var(--mono);letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap}
.meter .big output,.meter .red output{color:var(--redink)}
.meter .note{font:400 11px/1.5 var(--grot);color:var(--dim);margin:12px 0 0}
.meter .note a{color:var(--dim)}
.widget-cta{display:inline-block;margin-top:12px;font:700 13px/1 var(--grot);letter-spacing:-.01em;color:var(--redink);text-decoration:none;border-bottom:2px solid var(--redink)}
.widget-cta:hover{color:var(--ink);border-color:var(--ink)}
.verdict .widget-cta{color:#F0C868;border-color:#F0C868}
.verdict .widget-cta:hover{color:#fff;border-color:#fff}

/* ---- by-administration strip ---- */
.admins{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:0;display:grid;grid-template-columns:auto 1fr 1fr 1fr auto;gap:0;align-items:stretch}
.admins .cap{padding:16px 22px 16px 0;font:600 10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--dim);max-width:150px;display:grid;align-content:center}
.admins .adm{padding:14px 20px;border-left:1px solid var(--rule)}
.admins .adm b{display:block;font:700 clamp(17px,1.9vw,24px)/1 var(--mono);letter-spacing:-.04em;color:var(--redink)}
.admins .adm span{display:block;font:500 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-top:7px}
.admins .kicker-cell{padding:14px 0 14px 20px;border-left:1px solid var(--rule);display:grid;align-content:center;font:600 12px/1.45 var(--grot);color:var(--ink);max-width:230px}
.admins .kicker-cell a{color:var(--dim);font:400 10px var(--mono)}

.meta .chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sig{font:600 9px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;padding:5px 7px;background:var(--ink);color:var(--white);white-space:nowrap}
.sig.bi{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}

.dots{display:flex;gap:5px;margin-top:14px;flex-wrap:wrap}
.dots i{width:22px;height:22px;border-radius:50%;background:var(--redink)}
.deciles{display:flex;gap:4px;margin-top:14px}
.deciles i{flex:1;height:22px;background:var(--bone);border:1px solid var(--rule);position:relative}
.deciles i.lose{background:var(--redink);border-color:var(--redink)}
.deciles i.gain{background:var(--amber);border-color:var(--amber)}

/* ---- the two-sided book ---- */
.book{max-width:var(--max);margin:auto;padding:clamp(36px,4.5vw,56px) 20px clamp(40px,5vw,64px)}
.book-head{text-align:center;max-width:760px;margin:0 auto clamp(40px,5vw,60px)}
.book-head h2{font:700 clamp(30px,4.6vw,60px)/1.02 var(--grot);letter-spacing:-.045em;margin:14px 0 14px}
.book-head h2 .up{color:var(--amber-deep)}
.book-head h2 .down{color:var(--redink)}
.book-head p{color:var(--dim);font-size:15px;margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px);align-items:start}
.side{border-top:4px solid;padding-top:20px}
.side.up{border-color:var(--amber-deep)}
.side.down{border-color:var(--redink)}
.side-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.side-head h3{font:700 clamp(19px,2.2vw,26px)/1.05 var(--grot);letter-spacing:-.035em;margin:0}
.side.up .side-head h3{color:var(--amber-deep)}
.side.down .side-head h3{color:var(--redink)}
.side-head .label{white-space:nowrap}
.entry{padding:22px 0 24px;border-bottom:1px solid var(--rule);display:flex;flex-direction:column}
.entry .meta{order:1;display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-top:14px;padding-top:10px;border-top:1px dashed var(--rule)}
.entry .yr{font:700 11px/1 var(--mono);letter-spacing:.08em;padding:5px 7px;border:1.5px solid var(--ink)}
.entry .src{font:400 10px/1.4 var(--mono)}
.entry .src a{color:var(--dim)}
.entry .amt{display:block;font:700 clamp(34px,4.4vw,54px)/1 var(--mono);letter-spacing:-.055em;margin:16px 0 4px;font-variant-numeric:tabular-nums}
.side.up .amt{color:var(--amber-deep)}
.side.down .amt{color:var(--redink)}
.entry .amt small{font-size:.38em;letter-spacing:0;font-weight:600;font-family:var(--grot);color:var(--dim)}
.entry h4{font:600 clamp(16px,1.8vw,20px)/1.25 var(--grot);letter-spacing:-.02em;margin:6px 0 8px}
.entry p{font-size:13px;line-height:1.55;color:var(--dim);margin:0}
.bar{height:14px;margin-top:14px;background:var(--bone);border:1px solid var(--rule);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0;right:auto;width:var(--w,10%)}
.side.up .bar i{background:var(--amber)}
.side.down .bar i{background:var(--redink)}
.bar i.range{background:repeating-linear-gradient(45deg,var(--amber),var(--amber) 4px,transparent 4px,transparent 8px)}
.bar-note{font:500 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-top:6px;display:block}
.side.up .entry:first-of-type{background:var(--amber-wash);margin:0 -14px;padding:22px 14px 24px}
.side.down .entry:first-of-type{background:var(--red-wash);margin:0 -14px;padding:22px 14px 24px}
.book-foot{display:flex;justify-content:space-between;gap:16px;padding-top:20px;font:400 11px/1.5 var(--mono);color:var(--dim);flex-wrap:wrap}
.book-foot a{color:var(--ink)}

/* ---- the verdict chart ---- */
/* Everything between the two markers below is inlined into embed/verdict.html by
   scripts/build-verdict-embed.mjs. Edit here, then re-run the script. */
/* BEGIN verdict-chart-css */
.verdict{background:var(--ink);color:var(--white);padding:clamp(52px,7vw,92px) max(20px,calc((100vw - var(--max))/2)) clamp(56px,7vw,96px)}
.verdict h2{font:650 clamp(28px,4.2vw,54px)/1.08 var(--news);letter-spacing:-.015em;margin:14px 0 14px;max-width:26ch;text-wrap:balance}
.verdict .sub{color:rgba(244,241,233,.65);font-size:15px;line-height:1.65;max-width:60ch;margin:0 0 clamp(22px,3vw,32px)}
.v-headline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(14px,3vw,28px);margin:0 0 clamp(30px,4vw,44px);padding:clamp(18px,2.5vw,26px) 0;border-top:1px solid rgba(244,241,233,.22);border-bottom:1px solid rgba(244,241,233,.22)}
.v-headline .vs{display:grid;gap:6px}
.v-headline .vs.win{text-align:right}
.v-headline .vs .label{color:rgba(244,241,233,.55)}
.v-headline .vs output{display:block;font:700 clamp(34px,6vw,72px)/1 var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.v-headline .vs output small{font:500 clamp(13px,1.4vw,16px)/1 var(--grot);opacity:.55;margin-left:4px}
.v-headline .vs.lose output{color:#E5897A}
.v-headline .vs.win output{color:#F0C868}
.v-headline .vs .cite{display:block;font:500 11px/1.4 var(--grot);color:rgba(244,241,233,.6);margin-top:2px;max-width:24ch}
.v-headline .vs.win .cite{margin-left:auto}
.v-headline .vs-mid{font:700 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:rgba(244,241,233,.5);text-align:center;white-space:nowrap}
@media(max-width:640px){.v-headline{grid-template-columns:1fr;text-align:left!important;gap:14px}.v-headline .vs.win{text-align:left}.v-headline .vs.win .cite{margin-left:0}.v-headline .vs-mid{text-align:left}}
.vscroll-wrap{position:relative}
.vscroll-wrap::after{content:"";position:absolute;top:2px;right:0;bottom:1px;width:clamp(28px,5vw,56px);background:linear-gradient(to right,transparent,var(--ink) 88%);pointer-events:none}
.vscroll{overflow-x:auto;border-top:2px solid rgba(244,241,233,.9);border-bottom:1px solid rgba(244,241,233,.2);-webkit-overflow-scrolling:touch}
.vscroll:focus-visible{outline:3px solid var(--redink)}
.vtrack{width:5420px;position:relative}
.vtrack::before{content:"";position:absolute;top:0;bottom:0;left:300px;border-left:2px solid rgba(244,241,233,.85);z-index:1}
.vrow2{display:grid;grid-template-columns:190px 1fr;align-items:center;border-bottom:1px solid rgba(244,241,233,.13)}
.vrow2 .vlab{position:sticky;left:0;z-index:3;background:var(--ink);padding:9px 12px 9px 0;display:flex;flex-direction:column;gap:3px;border-right:1px solid rgba(244,241,233,.18)}
.vrow2 .vlab b{font:600 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:rgba(244,241,233,.85)}
.vrow2 .vlab i{font:700 13px/1 var(--mono);font-style:normal;letter-spacing:-.02em}
.vrow2 .vlab i.loss{color:#E07A6B}
.vrow2 .vlab i.gain{color:#E5B94E}
.vcanvas{position:relative;height:34px}
.vbar{position:absolute;top:6px;bottom:6px}
.vbar.neg{background:var(--redink-hi)}
.vbar.pos{background:var(--amber)}
.vbar.hatch{background:repeating-linear-gradient(45deg,var(--amber),var(--amber) 5px,rgba(176,138,34,.25) 5px,rgba(176,138,34,.25) 10px)}
.vrow2.vbig{border-bottom-width:2px}
.vrow2.vbig .vlab b{font-size:13px}
.vrow2.vbig .vlab i{font-size:17px}
.vrow2.vbig .vcanvas{height:46px}
.vrow2.vbig .vbar{top:5px;bottom:5px}
.vrow2.vdiv .vlab-div{font:600 9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:rgba(244,241,233,.6);padding:12px 12px 12px 0;position:sticky;left:0;background:var(--ink);width:520px;max-width:80vw;border-right:0}
.vhint{font:600 11px/1.5 var(--grot);color:rgba(244,241,233,.85);margin:12px 0 0}
.vhint b{color:#E07A6B}
.v-foot{font:400 11px/1.6 var(--mono);color:rgba(244,241,233,.55);margin-top:18px;max-width:78ch}
.v-foot a{color:rgba(244,241,233,.9)}
@media(max-width:700px){.vrow2{grid-template-columns:130px 1fr}.vtrack::before{left:240px}.vrow2 .vlab b{font-size:9px}.vrow2 .vlab i{font-size:11px}}
/* END verdict-chart-css */
/* the chart's own "Embed this chart" box -- lives on the dark verdict section, so it
   needs a couple of overrides on the shared .embed-box treatment. Deliberately outside
   the markers above: the embed page does not carry its own embed box. */
.verdict .embed-box{margin-top:clamp(26px,3.5vw,38px);max-width:760px}
.verdict .embed-box .copied{font:600 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--redink)}
.verdict .embed-box .embed-note-alt{margin:14px 0 0;font-size:11.5px}
.verdict .embed-box .embed-note-alt a{color:var(--redink)}

/* ---- when the bill comes due ---- */
.pain{background:var(--ink);color:var(--white);padding:clamp(60px,8vw,110px) max(20px,calc((100vw - var(--max))/2))}
.pain .label{color:var(--redink-hi)}
.pain h2{font:650 clamp(30px,4.4vw,56px)/1.08 var(--news);letter-spacing:-.015em;margin:14px 0 0;max-width:18ch}
.pain-sub{color:rgba(244,241,233,.60);font-size:15px;max-width:56ch;margin:18px 0 0}
.pain-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(30px,5vw,70px);margin-top:clamp(38px,5vw,58px);align-items:center}
.pain-col small{display:block;font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;margin-bottom:24px;color:#7FB598}
.pain-col ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--white)}
.pain-col li{padding:14px 0;border-bottom:1px solid rgba(244,241,233,.16);font:600 clamp(16px,1.9vw,22px)/1.3 var(--news);letter-spacing:-.005em}
.pain-col li span{display:block;font:400 12px/1.5 var(--grot);color:rgba(244,241,233,.60);margin-top:6px}
.pain-col li span a{color:rgba(244,241,233,.60)}
.pain-quote p{font:600 clamp(24px,3.2vw,42px)/1.18 var(--grot);letter-spacing:-.03em;margin:0}
.pain-quote p em{font-style:normal;color:var(--redink-hi)}

/* ---- photos ---- */
.col-photo{margin:0 0 18px;position:relative;border:1px solid var(--rule);overflow:hidden}
.col-photo img{display:block;width:100%;height:210px;object-fit:cover;filter:grayscale(1) contrast(1.06) sepia(.24)}
.col-photo::after{content:"";position:absolute;inset:0;mix-blend-mode:multiply;pointer-events:none}
.side.up .col-photo::after{background:rgba(176,138,34,.30)}
.side.down .col-photo::after{background:rgba(143,29,26,.28)}
.plate img.plate-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06) sepia(.22);z-index:0}
.plate .photo-tint{position:absolute;inset:0;background:rgba(17,13,8,.48);z-index:1;pointer-events:none}
.plate .glyph{z-index:2}
.plate .photo-cred{position:absolute;left:12px;bottom:10px;z-index:2;font:500 8px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,241,233,.8);text-align:left;max-width:70%}

/* ---- clickable entries ---- */
.entry[data-brief]{cursor:pointer;transition:background .12s}
.entry[data-brief]:hover h4,.entry[data-brief]:focus-visible h4{color:var(--redink)}
.entry[data-brief]:focus-visible{outline:3px solid var(--redink);outline-offset:2px}
.brief-cta{display:inline-block;margin-top:14px;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--redink);padding-bottom:3px}
.side.up .brief-cta{border-color:var(--amber-deep)}

/* ---- brief modal ---- */
dialog.brief{border:0;padding:0;max-width:min(720px,92vw);width:100%;background:var(--white);color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog.brief::backdrop{background:rgba(10,7,4,.72);backdrop-filter:blur(3px)}
.plate{position:relative;height:clamp(180px,30vw,260px);display:grid;place-items:center;color:var(--white);overflow:hidden}
.plate.ink{background:var(--ink)}
.plate.red{background:var(--redink)}
.plate .glyph{font:700 clamp(38px,7vw,72px)/1 var(--mono);letter-spacing:-.05em;position:relative;z-index:2;text-align:center;padding:0 20px}
.plate .ring{position:absolute;width:340px;height:340px;border-radius:50%;border:44px solid rgba(244,241,233,.08);right:-90px;top:-120px}
.plate .slab{position:absolute;left:-40px;bottom:-60px;width:240px;height:170px;background:rgba(244,241,233,.07);transform:rotate(-8deg)}
.plate .art-note{position:absolute;right:12px;bottom:10px;font:500 8px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(244,241,233,.55);z-index:2}
.brief-body{padding:26px 32px 30px}
.brief-body .bk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.brief-body h3{font:650 clamp(24px,3.4vw,36px)/1.1 var(--news);letter-spacing:-.015em;margin:0 0 10px}
.brief-body .dek{font:italic 500 17px/1.5 var(--news);color:var(--redink);margin:0 0 16px}
.brief-body p{font-size:14.5px;line-height:1.62;margin:0 0 13px;color:rgba(17,13,8,.85)}
.brief-line{background:var(--bone);border-left:4px solid var(--redink);padding:14px 16px 14px;margin-top:18px}
.brief-line .label{display:block;margin-bottom:8px;color:var(--redink)}
.brief-line p{font:600 16px/1.45 var(--grot);letter-spacing:-.015em;margin:0 0 12px;color:var(--ink)}
.brief-line .copied{display:block;font:600 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--redink);margin:8px 0 0}
.share-row{display:flex;gap:8px;flex-wrap:wrap}
.share-btn{display:inline-block;border:2px solid var(--ink);background:var(--white);color:var(--ink);padding:9px 13px;font:700 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;text-decoration:none}
.share-btn:hover{background:var(--ink);color:var(--white)}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:2px solid var(--ink);background:var(--white);color:var(--ink);text-decoration:none}
.icon-btn:hover{background:var(--ink);color:var(--white)}
.icon-btn svg{width:16px;height:16px;fill:currentColor}
.ig-cards{margin-top:16px}
.ig-cards>.label{display:block;margin-bottom:8px;color:var(--redink)}
.ig-cards-row{display:flex;gap:10px;flex-wrap:wrap}
.ig-card{flex:0 0 auto;width:84px;display:grid;gap:6px;text-decoration:none;color:var(--ink)}
.ig-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--ink);display:block;transition:transform .15s,box-shadow .15s}
.ig-card:hover img{transform:translateY(-2px);box-shadow:0 8px 16px rgba(17,13,8,.24)}
.ig-card span{font:700 8px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;text-align:center}
.clock-display{margin:22px 0 26px;border:2px solid var(--ink);padding:24px 26px 28px;text-align:center}
.clock-display .label{display:block;margin-bottom:10px;color:var(--redink)}
.clock-display output{display:block;font:700 clamp(34px,7vw,64px)/1 var(--mono);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--redink);white-space:nowrap}
.clock-display .note{font:400 11px/1.5 var(--grot);color:var(--dim);margin:16px 0 0;text-align:left}
.clock-display .note a{color:var(--dim)}
.embed-box{margin-top:24px;background:var(--bone);border-left:4px solid var(--redink);padding:14px 16px 16px}
.embed-box>.label{display:block;margin-bottom:8px;color:var(--redink)}
.embed-box .embed-note{font:400 12.5px/1.5 var(--grot);color:var(--dim);margin:0 0 12px}
.embed-box .embed-note a{color:var(--dim)}
.embed-box textarea{display:block;width:100%;font:500 11px/1.5 var(--mono);color:var(--ink);background:var(--white);border:1px solid var(--rule);padding:10px;resize:vertical;margin-bottom:10px}
.embed-box .copied{display:block;margin-top:8px}
#brief-card-prev{width:min(320px,60%);margin-top:14px;border:1px solid var(--rule);display:block}
#brief-card-prev[hidden]{display:none}
.prev-note{font:400 10px/1.5 var(--mono);color:var(--dim);margin:6px 0 0}
.brief-srcs{border-top:2px solid var(--ink);margin-top:20px;padding-top:12px;font:500 10px/1.9 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--dim)}
.brief-srcs a{color:var(--ink);margin-right:14px;white-space:nowrap}
.entry-pager{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:2px solid var(--ink)}
.entry-pager a{flex:1 1 0;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--ink)}
.entry-pager a:last-child{text-align:right;align-items:flex-end}
.entry-pager .dir{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim)}
.entry-pager .ttl{font:600 15px/1.3 var(--grot);letter-spacing:-.01em}
.entry-pager a:hover .ttl{color:var(--redink)}
@media(max-width:600px){.entry-pager{flex-direction:column;gap:16px}.entry-pager a:last-child{text-align:left;align-items:flex-start}}
.brief-close{position:absolute;top:12px;right:12px;z-index:3;background:rgba(0,0,0,.35);color:var(--white);border:0;width:38px;height:38px;font:700 16px/1 var(--mono);cursor:pointer}
.brief-close:hover{background:var(--redink)}


.state-rank{margin:22px 0 4px}
.state-rank .srow{display:grid;grid-template-columns:118px 1fr 68px;align-items:center;gap:12px;margin-bottom:12px}
.state-rank .sname{font:600 13px var(--grot)}
.state-rank .snum{font:700 13px var(--mono);text-align:right;color:var(--redink);white-space:nowrap}
.state-rank .bar{margin-top:0}
.state-rank .bar i{background:var(--redink)}
.state-chips{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0 4px}
.state-chips span{font:600 11px/1 var(--mono);border:1px solid var(--rule);padding:6px 9px;color:var(--dim)}
@media(max-width:520px){.state-rank .srow{grid-template-columns:82px 1fr 58px}}

/* ---- pass it on ---- */
.pass{max-width:860px;margin:auto;padding:clamp(60px,8vw,110px) 20px;text-align:center}
.pass blockquote{margin:22px 0 0;font:650 clamp(26px,3.8vw,48px)/1.12 var(--news);letter-spacing:-.015em}
.pass blockquote em{font-style:normal;color:var(--redink)}
.pass-close{margin:40px 0 0;font:600 clamp(15px,1.6vw,19px)/1.4 var(--news);color:var(--dim)}
.pass-close em{font-style:normal;color:var(--redink)}
.pass-sub{margin:14px auto 0;color:var(--dim);font-size:15px;max-width:52ch}
.pass-cards{display:flex;gap:14px;overflow-x:auto;padding:28px 4px 8px;margin-top:6px;-webkit-overflow-scrolling:touch;justify-content:flex-start}
.pass .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0 0}
.pass .actions .icon-btn{display:inline-flex;align-items:center;gap:9px;width:auto;height:auto;background:var(--ink);color:var(--white);border:0;padding:12px 20px;font:700 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;text-decoration:none;transition:background .15s}
.pass .actions .icon-btn svg{width:16px;height:16px;fill:currentColor;flex:none}
.pass .actions .icon-btn:hover,.pass .actions .icon-btn:focus-visible{background:var(--redink)}
@media(min-width:760px){.pass-cards{justify-content:center}}
.pass-card{flex:0 0 auto;width:118px;display:grid;gap:8px;text-decoration:none;color:var(--ink)}
.subscribe{max-width:560px;margin:auto;padding:clamp(50px,7vw,90px) 20px clamp(70px,9vw,110px);text-align:center;border-top:1px solid var(--rule)}
.subscribe p{margin:14px auto 0;color:var(--dim);font-size:15px;max-width:44ch}
.subscribe form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}
.subscribe input[type=email]{flex:1 1 16rem;max-width:320px;padding:13px 14px;border:2px solid var(--ink);background:var(--white);font:15px/1.4 var(--body-f);color:var(--ink)}
.subscribe button{border:2px solid var(--ink);background:var(--ink);color:var(--white);padding:13px 20px;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.subscribe button:disabled{opacity:.55;cursor:default}
.subscribe .sub-msg{display:block;margin-top:12px;font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);min-height:12px}
.pass-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--ink);display:block;transition:transform .15s,box-shadow .15s}
.pass-card:hover img{transform:translateY(-3px);box-shadow:0 10px 20px rgba(17,13,8,.28)}
.pass-card span{font:700 9px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.07em;text-align:center}

/* ---- footer ---- */
.site-footer{background:var(--ink);color:var(--white);padding:40px max(20px,calc((100vw - var(--max))/2)) 60px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:28px}
.foot-main{flex:1 1 320px}
.site-footer .mark{font:700 19px/1 var(--grot);letter-spacing:-.045em}
.site-footer .mark i{font-style:normal;background:var(--redink);color:var(--white);padding:.06em .28em .12em;margin-left:.08em}
.site-footer p{color:rgba(244,241,233,.60);font-size:13px;max-width:56ch;margin:14px 0 0}
.site-footer nav{display:flex;gap:20px;margin-top:26px;flex-wrap:wrap}
.site-footer nav a{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;text-decoration:none}
.foot-crosslink{flex:0 0 auto;max-width:260px;text-align:right}
.foot-crosslink p{margin:0;font-size:12px;color:rgba(244,241,233,.60)}
.foot-crosslink p a{color:var(--white);text-decoration:underline;text-underline-offset:2px}
@media(max-width:760px){.site-footer{flex-direction:column;align-items:flex-start}.foot-crosslink{text-align:left;max-width:100%}}

.linkbtn{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.site-footer .linkbtn{font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:var(--white)}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--redink);outline-offset:3px}

@media(max-width:860px){
  .site-head{grid-template-columns:1fr auto}
  .site-head nav{display:none;position:absolute;left:0;right:0;top:63px;background:var(--white);border-bottom:2px solid var(--ink);padding:6px 20px 16px}
  .site-head.menu-open nav{display:grid;gap:0}
  .site-head nav a{padding:14px 0;border-bottom:1px solid var(--rule);justify-content:start;place-items:center start}
  .site-head .subform{display:none}
  .menu-toggle{display:block;justify-self:end}
  .meter{grid-template-columns:1fr}
  .meter>div+div{border-left:0;padding-left:0}
  .admins{grid-template-columns:1fr 1fr 1fr}
  .admins .cap{grid-column:1/-1;max-width:none;padding:14px 0 0}
  .admins .adm:first-of-type{border-left:0;padding-left:0}
  .admins .kicker-cell{grid-column:1/-1;border-left:0;padding:14px 0;max-width:none}
  .argument .cols{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .pain-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hero h1{font-size:12.5vw}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- entry pages (entries/*.html) ---- */
.entry-page{max-width:720px;margin:auto;padding:clamp(30px,5vw,54px) 20px clamp(70px,9vw,110px)}
.entry-back{display:inline-block;margin-bottom:22px;font:600 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);text-decoration:none}
.entry-back:hover{color:var(--ink)}
.entry-page .plate{border-radius:0;margin-bottom:0}
.entry-photo{margin:0}
.entry-photo img{width:100%;height:clamp(200px,32vw,320px);object-fit:cover;display:block}
.entry-photo.illustration img{object-fit:contain;background:var(--bone)}
.entry-page .brief-body{padding:26px 0 0}
.entry-meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:6px}

/* ---- contact form ---- */
.contact-form{max-width:560px;margin-top:24px}
.contact-form p{margin:0 0 18px}
.contact-form label{display:block;font:600 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--dim);margin-bottom:8px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 13px;border:2px solid var(--ink);background:var(--white);font:15px/1.4 var(--body-f);color:var(--ink)}
.contact-form textarea{resize:vertical}
.contact-form .copied{display:block;margin-top:12px;font:600 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--redink)}
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
