/* ===== The Detention Files design system ===== */
:root{
  --navy:#13294B; --dark:#0E1F3A; --red:#B3282D; --tint:#EEF3F9; --line:#D7E0EA;
  --ink:#233043; --steel:#5B7188; --ice:#C9D8EA; --paper:#FFFFFF; --faint:#8AA0BC;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Public Sans", -apple-system, "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#E9EDF3;font-size:16px;line-height:1.55}
img{max-width:100%}
a{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2.5px solid var(--red);outline-offset:2px}
@media (prefers-reduced-motion: reduce){ *{animation:none!important;transition:none!important} }

h1,h2,h3{font-family:var(--serif);color:var(--navy);font-weight:700;line-height:1.12}
h2{font-size:clamp(1.5rem,2.6vw,2rem)}
h3{font-size:1.12rem}
p{max-width:70ch}
.wrap{max-width:1180px;margin:0 auto;padding:0 1.4rem}

/* ---------- pages ---------- */
.page{display:block;background:var(--paper)}

/* viewfinder brackets on the wordmark */
.vf{position:relative;display:inline-block;padding:.15rem .1rem}
.vf i{position:absolute;width:13px;height:13px;border:0 solid var(--red)}
.vf .tl{top:-8px;left:-12px;border-top-width:2.5px;border-left-width:2.5px}
.vf .tr{top:-8px;right:-12px;border-top-width:2.5px;border-right-width:2.5px}
.vf .bl{bottom:-8px;left:-12px;border-bottom-width:2.5px;border-left-width:2.5px}
.vf .br{bottom:-8px;right:-12px;border-bottom-width:2.5px;border-right-width:2.5px}

/* buttons */
.btn{display:inline-block;font:600 .92rem/1 var(--sans);padding:.8rem 1.1rem;text-decoration:none;
  border:1.5px solid var(--navy);color:var(--navy);background:transparent;cursor:pointer}
.btn.solid{background:var(--red);border-color:var(--red);color:#fff}
.btn.solid:hover{background:#9A2227;border-color:#9A2227}
.btn.ghostlight{border-color:var(--ice);color:#fff}
.btn.ghostlight:hover{background:rgba(255,255,255,.08)}

/* interior page head */
.subhead{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.pagehead{padding:2.6rem 0 2.2rem;position:relative;border-top:2px solid var(--navy)}
.pagehead h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;max-width:24ch;margin:.4rem 0 .8rem}
.pagehead .dek{max-width:66ch;font-size:1.05rem;color:var(--ink)}
.filetab{display:inline-block;font:600 .66rem/1 var(--sans);letter-spacing:.14em;color:var(--red);
  border:1px solid var(--red);padding:.28rem .5rem}
.filetab.alt{color:var(--steel);border-color:var(--steel)}

/* sections */
.sect{padding:2.4rem 0;border-top:1px solid var(--line)}
.sect h2{margin:.7rem 0 .5rem;max-width:30ch}
.sect .dek{color:var(--steel);max-width:66ch;margin-bottom:1.3rem}

/* citations and source lines */
.cite{font:500 .68rem/1 var(--sans);letter-spacing:.05em;color:var(--steel);border-bottom:1px dotted var(--steel);
  cursor:help;white-space:nowrap;margin-left:.2rem}
.cite:hover{color:var(--red);border-bottom-color:var(--red)}
.srcline{font-size:.8rem;color:var(--steel);max-width:80ch;margin-top:1.1rem;line-height:1.45}
.srcline b{color:var(--navy);font-weight:600}
.openfile,.morelink{display:inline-block;margin-top:.7rem;font-size:.9rem;font-weight:600;color:var(--navy)}

/* registers (tables) */
.reg{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.6rem}
.reg th{text-align:left;font:600 .7rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel);
  padding:.55rem .6rem .55rem 0;border-bottom:2px solid var(--navy);vertical-align:bottom}
.reg td{padding:.7rem .6rem .7rem 0;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.45}
.reg td.holder{font-weight:600;color:var(--navy);white-space:normal}
.reg td.holder small{display:block;font-weight:400;color:var(--steel);font-size:.78rem}
.reg td.src{font-size:.78rem;color:var(--steel)}
.statuschip{display:inline-block;font:600 .68rem/1 var(--sans);letter-spacing:.05em;padding:.3rem .45rem;
  border:1px solid var(--steel);color:var(--steel);white-space:nowrap}
.statuschip.live{border-color:var(--red);color:var(--red)}
.statuschip.won{border-color:var(--navy);color:var(--navy);background:var(--tint)}

/* ruled findings rows */
.tollrow{display:grid;grid-template-columns:12rem 1fr;gap:1.2rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.tollrow .fac{font-weight:600;color:var(--navy);line-height:1.3}
.tollrow .fac small{display:block;font-weight:400;color:var(--steel);font-size:.78rem}
.tollrow p{max-width:none;font-size:.93rem}
@media (max-width:640px){ .tollrow{grid-template-columns:1fr;gap:.3rem} }

/* action band + footer */
.act{background:var(--dark);color:#fff;margin-top:1rem}
.act .sect{border-top:0;padding:3rem 0}
.act h2{color:#fff}
.act .dek{color:var(--ice)}
.actgrid{display:flex;gap:.8rem;flex-wrap:wrap}
.site-foot{background:var(--navy);color:var(--ice);padding:2rem 0 2.4rem}
.site-foot .method{font-family:var(--serif);font-size:1.15rem;color:#fff;font-style:italic;margin-bottom:.9rem}
.site-foot .cols{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.86rem;margin-bottom:.9rem}
.site-foot .cols a{color:var(--ice);text-decoration:none;border-bottom:1px solid #3A5580}
.site-foot .fine{font-size:.76rem;color:var(--faint);max-width:80ch}

/* ===== site components ===== */
/* ---------- header lockup: LULAC shield at left, campaign name beside it, nav at right ---------- */
.site{display:flex;align-items:center;gap:1rem 1.2rem;justify-content:space-between;padding:1.05rem 0;flex-wrap:wrap}
.brand{display:flex;flex-direction:row;align-items:center;gap:.8rem;text-decoration:none}
.brand .shield{width:46px;height:auto;flex:0 0 auto;display:block}
.brand .brandtext{display:flex;flex-direction:column;gap:.15rem;padding-left:12px}
.brand .mark{font-family:var(--serif);font-weight:700;font-size:1.22rem;letter-spacing:.045em;color:var(--navy)}
.brand .sub{font-size:.72rem;color:var(--steel)}
.brand .sub b{font-weight:600;color:var(--navy)}
@media (max-width:640px){ .brand .mark{font-size:1.02rem} }
.nav{display:flex;gap:1.05rem;align-items:center;flex-wrap:wrap}
.nav a{font-size:.88rem;font-weight:500;text-decoration:none;color:var(--ink)}
.nav a:hover{color:var(--red)}
.nav a[aria-current="page"]{color:var(--navy);box-shadow:0 2px 0 var(--red)}
.nav .lang{color:var(--steel);border:1px solid var(--line);padding:.3rem .55rem;font-size:.8rem}

/* ---------- hub hero and ledger ---------- */
.hero{background:var(--dark);color:#fff;padding:4.2rem 0 0}
.hero h1{color:#fff;font-size:clamp(2.4rem,5.6vw,4rem);line-height:1.05;max-width:16ch}
.hero .dek{color:var(--ice);margin:1.1rem 0 1.7rem;max-width:56ch;font-size:1.05rem}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;padding-bottom:3rem}
.ledger{background:var(--navy);border-top:1px solid #24406B;color:#fff;padding:2.2rem 0 2.4rem}
.ledger .label{font-size:.85rem;color:var(--ice);max-width:60ch}
.odometer{font-family:var(--mono);font-weight:600;font-variant-numeric:tabular-nums;
  font-size:clamp(2.1rem,7.2vw,4.6rem);line-height:1.05;letter-spacing:.01em;margin:.45rem 0 .3rem;color:#fff}
.odometer .cents{color:var(--faint);font-size:.55em}
.ledger .fine{font-size:.74rem;color:var(--faint);max-width:70ch}
.ledger .fine a{color:var(--ice)}
.subcounters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:1px;background:#24406B;border:1px solid #24406B;margin-top:1.6rem}
.subcounters div{background:var(--navy);padding:.95rem 1rem}
.subcounters .num{display:block;font-size:1.5rem;font-weight:600;color:#fff;font-family:var(--mono)}
.subcounters .num.red{color:#E58A8E}
.subcounters small{color:var(--ice);font-size:.76rem;line-height:1.35;display:block;margin-top:.2rem}

/* ---------- hub teasers: four filed exhibits ---------- */
.stack .sect{padding:2.4rem 0}
.stack .sect h2{max-width:34ch}
.minibars{display:flex;gap:1.2rem;align-items:flex-end;height:170px;max-width:40rem;margin:1.2rem 0 .4rem;border-bottom:1.5px solid var(--navy);padding-bottom:0}
.minibars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.minibars i{display:block;background:var(--navy)}
.minibars .red i{background:var(--red)}
.minibars b{font-family:var(--mono);font-size:.86rem;color:var(--navy);margin-bottom:.3rem;font-weight:600}
.minibars .red b{color:var(--red)}
.minibars small{font-size:.74rem;color:var(--steel);margin-top:.3rem;display:block}
.bigfig{font-family:var(--serif);font-weight:700;font-size:3rem;line-height:1;color:var(--navy);margin:.8rem 0 .2rem}
.bigfig.red{color:var(--red)}
.moves{list-style:none;margin:.8rem 0 0;border-top:1px solid var(--line)}
.moves li{display:grid;grid-template-columns:1.2rem 1fr;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.moves li i{width:.7rem;height:.7rem;border-radius:50%;background:var(--navy);margin-top:.35rem}
.moves li.togov i{background:var(--red)}
.moves b{color:var(--navy);font-weight:600}
.moves.thumbs{max-width:46rem}
.moves.thumbs li{grid-template-columns:52px 1fr;gap:.9rem;padding:.7rem 0;align-items:center}
.moves.thumbs img{width:52px;height:64px;object-fit:cover;object-position:top;border:1px solid var(--line);display:block;background:var(--tint)}
.moves.thumbs li.togov b{color:var(--red)}
.moves.thumbs small{display:block;font-size:.84rem;color:var(--ink);line-height:1.4;margin-top:.1rem}
.moves.thumbs.toll,.moves.thumbs.door{max-width:52rem}
.moves.thumbs.events{margin-top:0;border-top:2px solid var(--navy)}
.moves.thumbs.events li{align-items:start}
.moves.thumbs.events img{margin-top:.15rem}
.moves.thumbs.events b{color:var(--red)}
.moves.thumbs .noimg{display:block;width:52px;height:64px;border:1px solid var(--line);background:var(--tint);position:relative}
.moves.thumbs .noimg::after{content:"";position:absolute;left:14px;right:14px;top:50%;border-top:1.5px solid var(--red)}

/* ---------- countdowns ---------- */
.clocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1rem}
.clocks div{background:var(--paper);padding:1rem 1.1rem}
.clocks .when{display:block;font:600 .7rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel)}
.clocks .days{display:block;font-family:var(--mono);font-weight:600;font-size:2rem;line-height:1.1;color:var(--navy);margin:.2rem 0}
.clocks .days.red{color:var(--red)}
.clocks .days small{font-size:.8rem;font-weight:500;color:var(--steel);margin-left:.25rem}
.clocks p{font-size:.84rem;line-height:1.4;max-width:none}

/* ---------- interior generic ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:start}
@media (max-width:860px){ .two{grid-template-columns:1fr;gap:1.4rem} }
.lead{font-size:1.05rem;max-width:66ch;margin-bottom:1.2rem}
.agency{margin-top:1.2rem;max-width:46rem}
.agrow{display:grid;grid-template-columns:11rem 1fr 5.5rem;gap:.9rem;align-items:center;padding:.45rem 0}
.agrow .n{font-size:.9rem;font-weight:600;color:var(--navy)}
.agrow .t{height:16px;background:var(--tint);border:1px solid var(--line);position:relative}
.agrow .t i{position:absolute;inset:0 auto 0 0;background:var(--navy)}
.agrow .v{font-family:var(--mono);font-size:.88rem;color:var(--steel);text-align:right}
.fundbars{margin-top:1.4rem;max-width:46rem}
.fb{margin-bottom:1.15rem}
.fb .l{font-size:.92rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.fb .t{height:22px;background:var(--tint);border:1px solid var(--line);position:relative}
.fb .t i{position:absolute;inset:0 auto 0 0;background:var(--red)}
.fb .v{font-size:.8rem;color:var(--steel);margin-top:.3rem;font-family:var(--mono)}
.notice{border-left:3px solid var(--red);padding:.6rem 1rem;background:var(--tint);font-size:.9rem;margin-top:1.2rem;max-width:none}
.notice b{color:var(--red)}
.callout{padding:1.2rem 1.4rem;background:var(--tint);border:1px solid var(--line)}
.callout h3{margin-bottom:.4rem}
.callout p{font-size:.92rem;max-width:none}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.4rem;margin:1rem 0 .4rem}
.kv .n{font-family:var(--serif);font-weight:700;font-size:1.8rem;line-height:1.05;color:var(--navy);display:block}
.kv .n.red{color:var(--red)}
.kv small{display:block;font-size:.8rem;color:var(--ink);line-height:1.4;margin-top:.25rem}

/* ---------- company case files ---------- */
.masthead{padding:2.6rem 0 2rem;border-top:2px solid var(--navy)}
.masthead h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;max-width:22ch;margin:.5rem 0 .8rem}
.masthead .dek{max-width:66ch;font-size:1.05rem}
.headnums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:2px solid var(--navy);border-bottom:1px solid var(--line);margin-top:1.6rem}
.headnums div{padding:.9rem 1rem .9rem 0;border-right:1px solid var(--line)}
.headnums div + div{padding-left:1rem}
.headnums div:last-child{border-right:0}
.headnums .n{font-family:var(--serif);font-weight:700;font-size:1.7rem;line-height:1;color:var(--navy);display:block;margin-bottom:.3rem}
.headnums .n.red{color:var(--red)}
.headnums small{font-size:.78rem;line-height:1.35;display:block}
@media (max-width:640px){ .headnums div{border-right:0;padding-left:0!important} }
.salecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1rem}
.salecards div{background:var(--paper);padding:1rem 1.1rem}
.salecards .fac{font-weight:600;color:var(--navy);line-height:1.3}
.salecards .fac small{display:block;font-weight:400;color:var(--steel);font-size:.78rem}
.salecards .price{font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--navy);margin:.4rem 0 .2rem}
.salecards p{font-size:.82rem;max-width:none}
.buyback{margin-top:1rem;max-width:46rem}
.buyback .t{height:26px;background:var(--tint);border:1px solid var(--line);position:relative}
.buyback .t i{position:absolute;inset:0 auto 0 0;background:var(--red)}
.buyback .t em{position:absolute;inset:0 auto 0 0;border-right:2px solid var(--navy)}
.buyback .l{display:flex;justify-content:space-between;font-size:.82rem;color:var(--steel);margin-top:.35rem;font-family:var(--mono)}
.ledgerrows{border-top:2px solid var(--navy);margin-top:.4rem}
.lrow{display:grid;grid-template-columns:8rem 1fr 1fr;gap:1.2rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.lrow .d{font-family:var(--mono);color:var(--navy);font-weight:600}
.lrow .gap{color:var(--red);font-weight:600}
.lrow .s{display:block;font-size:.76rem;color:var(--steel);margin-top:.25rem}
@media (max-width:760px){ .lrow{grid-template-columns:1fr;gap:.3rem} }
.quiet{border:1px solid var(--line);padding:1.3rem 1.5rem;max-width:60ch}
.quiet h3{font-family:var(--serif);font-size:1.25rem;margin-bottom:.5rem}
.quiet p{font-size:.93rem;max-width:none}

/* facilities tables */
.filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1rem 0 .4rem;font-size:.86rem}
.filters select{font:inherit;padding:.4rem .5rem;border:1px solid var(--steel);background:#fff;color:var(--ink)}
.reg td.num{font-family:var(--mono);white-space:nowrap}
.reg td.state{font-weight:600;color:var(--navy);font-family:var(--mono)}
.reg tr.mixed td{color:var(--steel)}
.legend{font-size:.8rem;color:var(--steel);margin-top:.6rem}

/* ---------- take action ---------- */
.actcols{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;align-items:start}
@media (max-width:860px){ .actcols{grid-template-columns:1fr} }
.form{display:grid;gap:.9rem;max-width:34rem}
.form label{display:block;font-size:.84rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:.95rem;padding:.6rem .7rem;border:1px solid var(--steel);background:#fff;color:var(--ink)}
.form textarea{min-height:9rem;line-height:1.45}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media (max-width:520px){ .form .row{grid-template-columns:1fr} }
.form .hint{font-size:.78rem;color:var(--steel);margin-top:.25rem;max-width:none}
.ok{display:none;margin-top:.7rem;padding:.7rem .9rem;background:var(--tint);border:1px solid var(--navy);font-size:.9rem}
.ok.show{display:block}
.scripts{border-top:2px solid var(--navy);margin-top:.4rem}
.script{padding:1rem 0;border-bottom:1px solid var(--line)}
.script .when{font:600 .7rem/1.3 var(--sans);letter-spacing:.08em;color:var(--red)}
.script h3{margin:.2rem 0 .4rem}
.script p{font-size:.92rem;max-width:none}
.script blockquote{margin:.5rem 0 0;padding:.7rem .9rem;background:var(--tint);border-left:3px solid var(--navy);font-size:.9rem;line-height:1.5}
.asks{list-style:none;border-top:2px solid var(--navy);margin-top:.4rem;counter-reset:ask}
.asks li{padding:.7rem 0 .7rem 2.2rem;border-bottom:1px solid var(--line);font-size:.92rem;position:relative;counter-increment:ask}
.asks li::before{content:counter(ask);position:absolute;left:0;top:.7rem;font-family:var(--mono);font-size:.8rem;color:var(--steel)}
.asks li b{color:var(--navy)}
.cal{border-top:2px solid var(--navy);margin-top:.4rem}
.cal div{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.cal .d{font-family:var(--mono);font-weight:600;color:var(--navy)}
.cal .d.red{color:var(--red)}

/* ---------- data and press ---------- */
.srcgroups{columns:2;column-gap:2.4rem;margin-top:.6rem}
.srcgroups div{break-inside:avoid;margin-bottom:1.1rem}
.srcgroups h3{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.srcgroups p{font-size:.84rem;line-height:1.5;color:var(--ink);max-width:none}
@media (max-width:760px){ .srcgroups{columns:1} }
.flags{list-style:none;border-top:2px solid var(--red);margin-top:.4rem}
.flags li{padding:.65rem 0;border-bottom:1px solid var(--line);font-size:.9rem;display:grid;grid-template-columns:8rem 1fr;gap:1rem}
.flags li b{color:var(--red);font-weight:600}
.downloads{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1rem}
.downloads a{display:block;background:var(--paper);padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}
.downloads a b{display:block;color:var(--navy);margin-bottom:.25rem}
.downloads a small{font-size:.78rem;color:var(--steel)}
.downloads a:hover b{color:var(--red)}
.empty{padding:1.2rem 1.4rem;border:1px dashed var(--steel);font-size:.9rem;max-width:none}
.release{border-top:2px solid var(--navy);padding-top:1rem;max-width:66ch}
.release .kicker{font:600 .7rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel)}
.release h3{font-family:var(--serif);font-size:1.4rem;margin:.3rem 0 .6rem}
.release p{font-size:.93rem;margin-bottom:.7rem}
.people{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:.6rem}
@media (max-width:640px){ .people{grid-template-columns:1fr} }
.people div{border-top:2px solid var(--navy);padding-top:.7rem}
.people b{color:var(--navy);display:block}
.people p{font-size:.88rem;max-width:none}

/* ---------- portal ---------- */
.safety{background:var(--tint);border-bottom:1px solid var(--line);padding:.8rem 0;font-size:.88rem}
.safety .wrap{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;justify-content:space-between}
.safety b{color:var(--red)}
.tiers{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:.6rem 0 1rem}
.tiers label{display:block;background:var(--paper);padding:1rem 1.1rem;cursor:pointer;font-weight:400;color:var(--ink);margin:0}
.tiers label b{display:block;color:var(--navy);margin:.35rem 0 .3rem;font-size:.95rem}
.tiers label p{font-size:.82rem;line-height:1.45;max-width:none}
.tiers label:has(input:checked){outline:2px solid var(--navy);outline-offset:-2px}
.tiers input{margin:0}
@media (max-width:520px){ .tiers{grid-template-columns:1fr} }
fieldset{border:1px solid var(--line);padding:1rem 1.1rem;margin-top:.4rem}
legend{font-size:.84rem;font-weight:600;color:var(--navy);padding:0 .4rem}
.fieldnote{font-size:.8rem;color:var(--steel);margin-bottom:.8rem;max-width:none}
.langbar{display:flex;gap:.5rem;align-items:center;font-size:.84rem;color:var(--steel)}
.langbar button{font:600 .8rem/1 var(--sans);padding:.4rem .6rem;border:1px solid var(--steel);background:#fff;color:var(--steel);cursor:pointer}
.langbar button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.rules{font-size:.84rem;color:var(--ink);max-width:66ch}
.rules li{margin:.35rem 0 .35rem 1.1rem}

.stack .tollrow{max-width:52rem}

/* ---------- register tables stack on phones ---------- */
@media (max-width:720px){
  .reg, .reg tbody, .reg tr, .reg td{display:block;width:100%}
  .reg thead{display:none}
  .reg tr{padding:.85rem 0;border-bottom:1px solid var(--line)}
  .reg tr:first-child{border-top:2px solid var(--navy)}
  .reg td{border:0;padding:.18rem 0}
  .reg td::before{content:attr(data-label);display:block;font:600 .64rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel);margin-top:.35rem}
  .reg td:first-child::before{display:none}
  .reg td.holder{font-size:1rem;padding-bottom:.1rem}
  .reg td.state{display:inline-block;width:auto;padding-right:.5rem}
  .reg td.state + td.holder{display:inline-block;width:auto}
  .reg td.num{white-space:normal}
  .statuschip{white-space:normal}
}

/* grid children may shrink below their content width on narrow screens */
.two > *, .actcols > *, .ex > *, .doorsum > *, .stack .sect > *{min-width:0}
.form textarea, .form input, .form select{max-width:100%}

@media (max-width:520px){ .cal div{grid-template-columns:1fr;gap:.15rem} .lrow{grid-template-columns:1fr} .flags li{grid-template-columns:1fr;gap:.2rem} .agrow{grid-template-columns:1fr;gap:.3rem} .agrow .v{text-align:left} }

@media (max-width:720px){ .reg td.state + td.holder::before{display:none} .reg td.state + td.holder{vertical-align:baseline} }

.brand .shield{width:46px;height:62px;background:url("../img/lulac-shield.png") center/contain no-repeat}
/* ===== evidence exhibits ===== */

#the-evidence .pagehead{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:end}
#the-evidence .pagehead .index{border-left:2px solid var(--line);padding-left:1.4rem;font-size:.86rem}
#the-evidence .pagehead .index p{color:var(--steel);margin-bottom:.45rem;max-width:none}
#the-evidence .pagehead .index ol{list-style:none;columns:2;column-gap:1.4rem}
#the-evidence .pagehead .index li{break-inside:avoid;padding:.18rem 0}
#the-evidence .pagehead .index a{text-decoration:none;color:var(--ink)}
#the-evidence .pagehead .index a:hover{color:var(--red)}
#the-evidence .pagehead .index a b{font-family:var(--mono);font-weight:500;color:var(--steel);margin-right:.45rem;font-size:.78rem}
@media (max-width:860px){
  #the-evidence .pagehead{grid-template-columns:1fr;gap:1.6rem}
  #the-evidence .pagehead .index{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:1rem}
}

/* two-column exhibit: chart left, reading right */
.ex{display:grid;grid-template-columns:1.5fr 1fr;gap:2.4rem;align-items:start}
.ex.rev{grid-template-columns:1fr 1.5fr}
@media (max-width:900px){ .ex,.ex.rev{grid-template-columns:1fr;gap:1.4rem} }

/* charts */
.chart{width:100%;height:auto;display:block;font-family:var(--sans)}
.chart text{fill:var(--steel);font-size:11px}
.chart .grid{stroke:var(--line);stroke-width:1}
.chart .axis{stroke:var(--navy);stroke-width:1.5}
.chart .series{fill:none;stroke:var(--navy);stroke-width:2.5;stroke-linejoin:round}
.chart .pt{fill:#fff;stroke:var(--navy);stroke-width:2}
.chart .pt.hi{fill:var(--navy)}
.chart .val{fill:var(--navy);font-weight:600;font-size:11.5px;font-family:var(--mono)}
.chart .val.red{fill:var(--red)}
.chart .ev{stroke:var(--red);stroke-width:1.5;stroke-dasharray:3 3}
.chart .evlab{fill:var(--red);font-weight:600;font-size:10.5px}
.chart .bar{fill:var(--navy)}
.chart .bar.red{fill:var(--red)}
.chart .bar.proj{fill:none;stroke:var(--navy);stroke-width:1.5;stroke-dasharray:4 3}
.chart .bar.faint{fill:var(--ice)}
.chart .cat{fill:var(--ink);font-size:11.5px}
.chart .catsm{font-size:10px}
.chartcap{font-size:.78rem;color:var(--steel);margin-top:.5rem;max-width:none}

/* reading notes beside a chart */
.notes{border-top:2px solid var(--navy);padding-top:.9rem}
.notes dt{font-weight:600;color:var(--navy);font-size:.9rem;padding-top:.75rem}
.notes dt:first-child{padding-top:0}
.notes dt.red{color:var(--red)}
.notes dd{font-size:.9rem;line-height:1.5;padding:.15rem 0 .75rem;border-bottom:1px solid var(--line)}
.notes dd:last-child{border-bottom:0}
.read{margin-top:1.2rem;padding:1rem 1.2rem;background:var(--tint);border:1px solid var(--line);font-size:.93rem;max-width:none}
.read b{color:var(--navy)}

/* stat strip: ruled, not cards */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:2px solid var(--navy);margin:.4rem 0 1.6rem}
.stats > div{padding:.95rem 1rem .95rem 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.stats > div:last-child{border-right:0}
.stats > div + div{padding-left:1rem}
.stats .n{font-family:var(--serif);font-weight:700;font-size:2.15rem;line-height:1;color:var(--navy);display:block;margin-bottom:.35rem}
.stats .n.red{color:var(--red)}
.stats small{display:block;font-size:.82rem;line-height:1.4;color:var(--ink)}
@media (max-width:640px){ .stats > div{border-right:0;padding-left:0!important} }

/* compact figures table */
table.fig{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.4rem}
table.fig th{text-align:left;font:600 .68rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel);padding:.5rem .6rem .5rem 0;border-bottom:2px solid var(--navy)}
table.fig td{padding:.55rem .6rem .55rem 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.86rem}
table.fig td:first-child{font-family:var(--sans);font-weight:600;color:var(--navy)}
table.fig td.up{color:var(--red);font-weight:600}
table.fig td.num{text-align:right}
table.fig th.num{text-align:right}

/* horizontal bars (state concentration) */
.hbars{margin-top:.6rem}
.hb{display:grid;grid-template-columns:7rem 1fr 3rem;gap:.8rem;align-items:center;padding:.4rem 0}
.hb .l{font-size:.9rem;font-weight:600;color:var(--navy)}
.hb .t{height:18px;background:var(--tint);border:1px solid var(--line);position:relative}
.hb .t i{position:absolute;inset:0 auto 0 0;background:var(--red)}
.hb.other .t i{background:var(--navy)}
.hb .v{font-family:var(--mono);font-size:.88rem;color:var(--steel);text-align:right;padding-right:.2rem}

/* case cards: ruled two-up grid, no shadows */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:0 2.2rem;border-top:2px solid var(--navy);margin-top:.4rem}
.cases article{padding:1rem 0 1.05rem;border-bottom:1px solid var(--line)}
.cases h3{font-family:var(--sans);font-size:.98rem;font-weight:600;color:var(--navy);line-height:1.35;margin-bottom:.35rem}
.cases h3 span{display:block;font-weight:400;color:var(--steel);font-size:.8rem;margin-top:.1rem}
.cases p{font-size:.92rem;line-height:1.5;max-width:none}
.cases .src{display:block;font-size:.76rem;color:var(--steel);margin-top:.45rem}
@media (max-width:760px){ .cases{grid-template-columns:1fr} }

/* revolving door: personnel with portraits */
.door{border-top:2px solid var(--navy);margin-top:.4rem}
.person{display:grid;grid-template-columns:64px 13.5rem 1fr 1fr;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:start}
.person img{width:64px;height:80px;object-fit:cover;object-position:top;border:1px solid var(--line);display:block;background:var(--tint)}
.person .who{font-weight:600;color:var(--navy);font-size:1rem;line-height:1.3}
.person .who small{display:block;font-weight:400;color:var(--steel);font-size:.8rem;margin-top:.2rem}
.person .who .dir{display:inline-block;margin-top:.5rem;font:600 .62rem/1.35 var(--sans);letter-spacing:.08em;padding:.2rem .42rem;white-space:nowrap;border:1px solid var(--navy);color:var(--navy)}
.person .who .dir.togov{border-color:var(--red);color:var(--red)}
.person .who .dir.loop{background:var(--navy);color:#fff}
.person p{font-size:.9rem;line-height:1.5;max-width:none}
.person p b{display:block;font:600 .68rem/1.3 var(--sans);letter-spacing:.08em;color:var(--steel);margin-bottom:.2rem}
.person .src{display:block;font-size:.76rem;color:var(--steel);margin-top:.35rem}
@media (max-width:900px){
  .person{grid-template-columns:64px 1fr;grid-template-rows:auto auto auto;gap:.6rem 1rem}
  .person img{grid-row:1/4}
}
.doorsum{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:1.4rem}
@media (max-width:760px){ .doorsum{grid-template-columns:1fr} }
.doorsum .k{border-top:2px solid var(--red);padding-top:.7rem}
.doorsum .k .n{font-family:var(--serif);font-weight:700;font-size:2rem;color:var(--red);line-height:1;display:block;margin-bottom:.3rem}
.doorsum .k p{font-size:.9rem;max-width:none}
.doorsum .why{padding:1rem 1.2rem;background:var(--tint);border:1px solid var(--line);font-size:.9rem}
.doorsum .why b{color:var(--navy)}

/* exhibit header row */
.exhead{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap}
.exhead .filetab{align-self:center}
.exhead .span{font-size:.8rem;color:var(--steel);margin-left:auto}
