/* Jail411 public system — full-screen navy/cobalt task compositions. No external requests. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/outfit-var.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/sourcesans-var.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/fraunces-0.woff2') format('woff2')}
@font-face{font-family:'Atkinson';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/atkinson-0.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/archivo-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400 900;font-display:swap;src:url('/assets/jost-variable.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/plexmono-0.woff2') format('woff2')}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/plexmono-1.woff2') format('woff2')}
@font-face{font-family:'Tanker';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/tanker-400.woff2') format('woff2')}
@font-face{font-family:'Plein';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/plein-500.woff2') format('woff2')}
@font-face{font-family:'Plein';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/plein-700.woff2') format('woff2')}

:root{
  /* Canonical Jail411 shared-system tokens. Legacy aliases below remain until
     their current call sites migrate onto reusable components. */
  --j411-navy:#061b3a;--j411-navy-2:#0b2e5f;--j411-blue:#0877d9;
  --j411-sky:#dceeff;--j411-orange:#c5450c;--j411-gold:#f3aa3d;
  --j411-ink:#0b1930;--j411-copy:#3f5068;--j411-muted:#63738a;
  --j411-line:#d8e2ec;--j411-ice:#f3f7fb;--j411-white:#fff;
  --j411-shell:1260px;--j411-measure:70ch;
  --paper:#F0F4F8;--paper-2:#FFFFFF;--white:#FFFFFF;
  --ink:#0F172A;--navy-2:#0B1222;--accent-hover:#1D4ED8;
  --red:#3B82F6;--red-soft:#EFF6FF;--gold:#F59E0B;
  --muted:#546378;--rule:#E2E8F0;
  --green:#10B981;--green-soft:#ECFDF5;
  --serif:'Outfit', system-ui, sans-serif;--sans:'Source Sans 3', system-ui, sans-serif;
  --ui:'Outfit', system-ui, sans-serif;--mono:'Plex Mono', ui-monospace, monospace;
  --shell:1320px;--measure:72ch;
;/* LIVE SITE PALETTE — extracted from jail411.com, do not invent alternatives */;--navy:#0B1222;--deep:#111B2E;--card:#162033;--accent:#3B82F6;--accent-light:#60A5FA;--cyan:#22D3EE;--text-primary:#E2E8F0;--text-secondary:#6b7c94;--text-dark-sub:#475569;--border-dark:rgba(255,255,255,.08);--amber:#F59E0B;--purple:#8B5CF6;--indigo:#6366F1;--rose:#F43F5E;--teal:#14B8A6}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.58 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(23,34,56,.025) 1px,transparent 1px);background-size:42px 100%;pointer-events:none}
a{color:var(--ink);text-decoration-color:rgba(59,130,246,.55);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--red);text-decoration-color:currentColor}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
img,svg{max-width:100%}
button,input,select{font:inherit}
[hidden]{display:none!important}
.skip-link{position:fixed;z-index:1000;left:16px;top:12px;padding:10px 14px;background:var(--white);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:none}

/* Global shell */
.site-header{border-top:4px solid var(--red);background:rgba(255,255,255,.97);border-bottom:1px solid var(--rule)}
.site-header__inner{width:min(var(--shell),calc(100% - 32px));min-height:78px;margin:auto;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:28px}
.site-brand{min-height:44px;display:inline-flex;align-items:center;width:max-content;color:var(--ink);font:400 1.75rem/1 var(--serif);letter-spacing:-.035em;text-decoration:none}
.site-brand strong{margin-left:5px;color:var(--red);font:700 .84rem/1 var(--mono);letter-spacing:.08em}
.site-brand:hover{color:var(--ink)}
.site-nav{justify-self:end;display:flex;align-items:center;gap:clamp(16px,2.1vw,34px)}
.site-nav a,.site-menu a{min-height:44px;display:inline-flex;align-items:center;font:700 .9rem/1.2 var(--sans);letter-spacing:0;text-transform:none;text-decoration:none}
.site-nav a:hover{color:var(--red)}
.site-nav a[aria-current="page"]{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--header-active,#f59e0b)!important;box-shadow:none!important;text-decoration:none!important}
.site-menu{display:none;position:relative}.site-menu summary{width:46px;height:46px;display:grid;place-content:center;gap:5px;border:1px solid var(--navy);list-style:none;cursor:pointer}.site-menu summary::-webkit-details-marker{display:none}.site-menu summary span{width:20px;height:1px;background:var(--navy)}
.site-menu nav{position:absolute;z-index:50;right:0;top:54px;width:min(290px,calc(100vw - 32px));padding:12px 18px;background:var(--paper-2);border:1px solid var(--navy);box-shadow:0 16px 34px rgba(23,34,56,.16)}
.site-menu nav a{display:flex;border-bottom:1px solid var(--rule)}
.page-state_hub.state-indiana .site-header{border-top-color:var(--j411-blue);background:var(--j411-navy);border-bottom:0}
.page-state_hub.state-indiana .site-brand,.page-state_hub.state-indiana .site-nav a{color:var(--j411-white)}
.page-state_hub.state-indiana .site-brand strong,.page-state_hub.state-indiana .site-nav a:hover,.page-state_hub.state-indiana .site-nav a:focus-visible{color:var(--j411-gold)}
.page-state_hub.state-indiana .site-menu summary{border-color:var(--j411-white)}
.page-state_hub.state-indiana .site-menu summary span{background:var(--j411-white)}
.page-state_hub.state-indiana .site-menu nav a{color:var(--j411-ink)}
.page-state_hub.state-indiana [data-page-identity-trail]{background:var(--j411-navy-2)!important}
.wrap{width:min(var(--shell),calc(100% - 32px));margin:24px auto 64px}
.wrap.page-canvas{width:100%;max-width:none;margin-top:0;padding:0}
.wrap.page-canvas>*{width:100%!important;max-width:none;margin-left:0!important;margin-right:0!important}
[data-page-identity-trail],nav[aria-label="Breadcrumb"],nav[aria-label="Migas de pan"],.state-scope-california .crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;width:100%;max-width:none;margin:0;padding:1rem max(clamp(1rem,5vw,5rem),calc((100vw - 1600px)/2));border:0;background:var(--j411-navy)!important;color:#fff!important;font:700 .74rem/1.25 'Atkinson',Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}
[data-page-identity-trail] :is(a,span,b),nav[aria-label="Breadcrumb"] :is(a,span,b),nav[aria-label="Migas de pan"] :is(a,span,b),.state-scope-california .crumbs :is(a,span,b){color:#fff;text-decoration-color:rgba(255,255,255,.7)}
[data-page-identity-trail] a:hover,nav[aria-label="Breadcrumb"] a:hover,nav[aria-label="Migas de pan"] a:hover,.state-scope-california .crumbs a:hover{color:#fff;text-decoration-color:#fff}
.wrap>h1,.wrap>.content-page>h1{max-width:18ch;margin:58px 0 28px}

h1,h2,h3,h4{color:var(--ink);text-wrap:balance}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}
h1{font:800 clamp(2.1rem,5vw,3.4rem)/1.06 var(--serif);letter-spacing:-.025em}  /* retoken debris cleared: matches live jail411 h1 (54px/800/-.025em) */
h2{margin:72px 0 20px;font-size:clamp(2rem,4vw,3.35rem);line-height:1.02}
h3{margin:36px 0 10px;font:600 1.15rem/1.25 var(--ui);letter-spacing:-.015em}
h4{font:600 1rem/1.25 var(--ui)}
p{max-width:var(--measure);margin:0 0 16px}
ul,ol{max-width:var(--measure)}
.record-label,.note,.eyebrow{display:block;margin:0 0 22px;color:var(--accent-hover);font:600 .67rem/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.source-line{max-width:none;margin:22px 0;padding:14px 16px;border:1px solid var(--rule);background:rgba(255,255,255,.55)}
.source-line b{color:var(--ink);font-family:var(--ui)}

/* Homepage, deliberately close to the reference infographic */
.page-home .wrap{margin-top:24px}
.home-masthead{position:relative;overflow:hidden;min-height:590px;padding:52px 56px;background:var(--navy);color:var(--white);border-top:8px solid var(--red)}
.home-masthead::after{content:"JAIL411 / CUSTODY DIRECTORY";position:absolute;right:-215px;bottom:145px;transform:rotate(-90deg);color:rgba(255,255,255,.065);font:600 42px var(--mono);letter-spacing:.18em;white-space:nowrap}
.home-masthead .record-label{color:#d9c39d}
.home-masthead h1{position:relative;z-index:1;max-width:980px;margin:0;color:var(--white);font-size:clamp(4.6rem,8.8vw,7.7rem);line-height:.86;letter-spacing:-.04em}
.home-masthead h1 em{color:#d9c39d;font-style:italic;font-weight:400}
.home-lead{position:relative;z-index:1;max-width:780px;margin:30px 0 0;color:#c8cfda;font-size:1.12rem;line-height:1.58}
.state-jump{position:relative;z-index:2;max-width:900px;margin:42px 0 0;padding:18px 20px 20px;background:var(--paper-2);color:var(--ink);border:1px solid rgba(255,255,255,.3)}
.state-jump>label{display:block;margin-bottom:10px;font:600 .67rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.state-jump__control{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px}
.state-jump select{min-height:52px;width:100%;padding:0 14px;border:1px solid var(--navy);border-radius:0;background:var(--white);color:var(--ink)}
.state-jump button,.btn{min-height:52px;padding:0 20px;border:1px solid var(--red);border-radius:0;background:var(--red);color:#fff;font:600 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.state-jump button{display:flex;align-items:center;justify-content:space-between;gap:28px}.state-jump button:hover,.btn:hover{background:var(--accent-hover)}.state-jump__error{display:none;margin:9px 0 0;color:var(--red);font-size:.88rem}.state-jump.has-error .state-jump__error{display:block}.state-jump.has-error select{border-color:var(--red)}
.mast-meta{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1px;margin-top:44px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16)}
.mast-meta div{padding:15px 16px;background:var(--navy)}.mast-meta b{display:block;margin-bottom:5px;color:#d9c39d;font:600 .62rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.mast-meta span{color:#eef1f5;font-size:.82rem}
.route-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--paper-2);border:1px solid var(--navy);border-top:0}
.route-strip a{min-height:98px;display:grid;grid-template-columns:32px 1fr 20px;align-items:center;gap:12px;padding:18px;border-right:1px solid var(--rule);text-decoration:none}.route-strip a:last-child{border-right:0}.route-strip span{color:var(--red);font:600 .65rem var(--mono);letter-spacing:.1em}.route-strip b{font:600 .9rem/1.25 var(--ui)}.route-strip i{font-style:normal}.route-strip a:hover{background:var(--red-soft)}
.home-phase{display:grid;grid-template-columns:300px minmax(0,1fr);margin-top:28px;background:var(--paper-2);border:1px solid var(--navy)}
.home-phase__rail{position:relative;min-height:510px;padding:32px 28px;background:var(--navy);color:var(--white)}
.home-phase__rail>span,.home-evidence span,.state-index header span{color:#d9c39d;font:600 .68rem var(--mono);letter-spacing:.16em}.home-phase__rail h2{margin:74px 0 20px;color:var(--white);font-size:3rem}.home-phase__rail p{color:#bdc6d3;font-size:.9rem}
.home-phase__main{padding:32px}.home-steps{max-width:none;margin:0;padding:0;list-style:none;border-top:1px solid var(--navy)}.home-steps li{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--rule)}.home-steps li>span{color:var(--red);font:600 .75rem var(--mono);letter-spacing:.14em}.home-steps h3{margin:0 0 7px}.home-steps p{margin:0;color:var(--muted);font-size:.92rem}
.home-note{margin-top:24px;padding:22px;background:var(--white);border:1px solid var(--rule)}.home-note b{display:block;font:600 1rem var(--ui)}.home-note p{margin:8px 0;color:var(--muted);font-size:.9rem}.home-note a{font-weight:700}
.home-evidence{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;margin-top:28px;padding:46px 52px;background:var(--red);color:#fff}.home-evidence span{color:#f2d9cf}.home-evidence h2{max-width:620px;margin:38px 0 0;color:#fff;font-size:clamp(2.5rem,4.4vw,4.5rem)}.home-evidence__copy{align-self:end}.home-evidence__copy p{color:#faece7}.home-evidence__copy a{display:inline-flex;min-height:44px;align-items:center;color:#fff;font-weight:700;text-decoration-color:#fff}
.state-index{margin:92px 0 0}.state-index>header{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:end;margin-bottom:34px}.state-index h2{max-width:770px;margin:26px 0 0}.state-index label,.ice-filter label{display:grid;gap:8px;font:600 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.state-index input,.ice-filter input,.ice-filter select{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--navy);border-radius:0;background:var(--paper-2);color:var(--ink)}
.state-ledger{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}.state-ledger>a{display:grid;grid-template-columns:42px 1fr 145px 20px;gap:12px;align-items:center;min-height:72px;padding:0 16px 0 0;border-bottom:1px solid var(--rule);text-decoration:none}.state-ledger>a:nth-child(odd){border-right:1px solid var(--rule)}.state-ledger>a:nth-child(even){padding-left:16px}.state-ledger>a>span{color:var(--red);font:600 .62rem var(--mono)}.state-ledger b{font:600 1rem var(--ui)}.state-ledger small{color:var(--muted)}.state-ledger i{font-style:normal}.state-ledger>a:hover{background:var(--red-soft)}
.home-scope{margin:92px 0 0;padding:42px;background:var(--navy);color:#fff}.home-scope h2{margin:0 0 32px;color:#fff}.home-scope>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}.home-scope>div p{margin:0;padding:24px;background:var(--navy)}.home-scope b{display:block;color:#d9c39d;font:400 2.3rem var(--serif)}.home-scope span{color:#c8cfda;font-size:.82rem}.home-scope>p{margin:24px 0 0;color:#bdc6d3;font-size:.88rem}

/* Friendly homepage — a calm nationwide directory and family resource */
.page-home::before{display:none}
.page-home .wrap{margin-top:18px}
.home-welcome{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(38px,6vw,86px);padding:clamp(42px,6vw,82px);background:var(--paper-2);border:1px solid var(--navy);border-top:5px solid var(--red)}
.home-welcome__copy{align-self:center}
.home-welcome__copy h1{max-width:860px;margin:0;font-size:clamp(3.8rem,7vw,5.9rem);line-height:.94}
.home-welcome__copy h1 em{color:var(--red);font-weight:400}
.home-welcome__copy>p{max-width:680px;margin:30px 0 0;color:#465267;font-size:1.13rem;line-height:1.65}
.home-state-picker{align-self:center;padding:28px;background:#e7dfd0;border:1px solid rgba(23,34,56,.32)}
.home-state-picker label{display:block;margin:0 0 8px;font:600 1.25rem/1.25 var(--ui);letter-spacing:-.015em;text-transform:none}
.home-state-picker>div>p{margin:0 0 22px;color:#536076;font-size:.93rem}
.home-state-picker__control{display:grid;grid-template-columns:1fr;gap:10px}
.home-state-picker select{width:100%;min-height:54px;padding:0 14px;border:1px solid var(--navy);border-radius:0;background:var(--white);color:var(--ink)}
.home-state-picker button{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px;border:1px solid var(--red);border-radius:0;background:var(--red);color:#fff;font:700 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.home-state-picker button:hover{background:var(--accent-hover)}
.home-state-picker .state-jump__error{display:none;margin:10px 0 0;color:var(--accent-hover);font-weight:700}
.home-state-picker.has-error .state-jump__error{display:block}
.home-state-picker.has-error select{border:2px solid var(--red)}
.home-state-picker__links{margin:18px 0 0!important;font-size:.84rem!important;line-height:1.65}
.home-state-picker__links a{min-height:44px;display:inline-flex;align-items:center}
.home-ledger{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:4px;border-top:1px solid var(--rule)}
.home-ledger p{max-width:none;margin:0;padding:24px 24px 0 0}
.home-ledger p+p{padding-left:24px;border-left:1px solid var(--rule)}
.home-ledger b{display:block;color:var(--red);font:400 clamp(2.1rem,3.5vw,3.15rem)/1 var(--serif);letter-spacing:-.04em}
.home-ledger span{display:block;margin-top:7px;color:var(--muted);font-size:.84rem}

.home-paths{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(46px,8vw,112px);margin:clamp(70px,9vw,118px) 0 0}
.home-paths>header{padding-top:2px}
.home-paths h2{max-width:570px;margin:0 0 22px}
.home-paths>header p{color:var(--muted);font-size:1.02rem}
.home-paths__list{border-top:1px solid var(--navy)}
.home-paths__list>a{position:relative;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr) 24px;gap:24px;align-items:start;min-height:112px;padding:25px 4px;border-bottom:1px solid var(--rule);text-decoration:none}
.home-paths__list b{font:600 1.08rem/1.25 var(--ui)}
.home-paths__list span{color:var(--muted);font-size:.92rem;line-height:1.55}
.home-paths__list i{font-style:normal;text-align:right}
.home-paths__list>a:hover{background:rgba(255,255,255,.55);color:var(--red)}
.home-paths__list>a:hover span{color:var(--ink)}

.home-guides{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);gap:clamp(42px,7vw,96px);margin:clamp(76px,9vw,120px) 0 0;padding:clamp(34px,5vw,64px);background:#e7dfd0;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.home-guides header{align-self:start}
.home-guides h2{margin:0 0 22px;font-size:clamp(2.45rem,4vw,3.55rem)}
.home-guides header p{color:#536076}
.home-guides__index{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}
.home-guides__index>a{min-height:168px;display:flex;flex-direction:column;padding:23px 22px 20px 0;border-bottom:1px solid rgba(23,34,56,.24);text-decoration:none}
.home-guides__index>a:nth-child(odd){padding-right:24px;border-right:1px solid rgba(23,34,56,.24)}
.home-guides__index>a:nth-child(even){padding-left:24px}
.home-guides__index b{font:600 1rem/1.3 var(--ui)}
.home-guides__index span{margin-top:8px;color:#596478;font-size:.86rem;line-height:1.5}
.home-guides__index i{margin-top:auto;padding-top:14px;color:var(--red);font:600 .67rem/1.2 var(--mono);letter-spacing:.04em;font-style:normal;text-transform:uppercase}
.home-guides__index>a:hover{background:rgba(255,255,255,.42)}

.page-home .state-index{margin-top:clamp(78px,9vw,118px)}
.page-home .state-index>header{grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:end}
.page-home .state-index h2{margin:0 0 18px}
.page-home .state-index header p{color:var(--muted)}
.page-home .state-ledger>a{grid-template-columns:minmax(0,1fr) 150px auto;gap:18px;padding:0 16px 0 0}
.page-home .state-ledger>a:nth-child(even){padding-left:16px}
.page-home .state-ledger i{color:var(--red);font:600 .67rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}

.home-orientation{display:grid;grid-template-columns:1fr 1fr;margin:clamp(76px,9vw,118px) 0 0;border:1px solid var(--navy)}
.home-orientation>div{min-height:330px;padding:clamp(32px,4.5vw,58px)}
.home-orientation>div:first-child{background:var(--paper-2)}
.home-orientation>div:last-child{background:var(--red-soft);border-left:1px solid var(--navy)}
.home-orientation h2{margin:0 0 22px;font-size:clamp(2.1rem,3.2vw,3rem)}
.home-orientation p{color:#4f5c70}
.home-orientation a{display:inline-flex;min-height:44px;align-items:center;margin-top:8px;font-weight:700}
.home-caveat{max-width:none;margin:40px 0 0;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font-size:.82rem;line-height:1.55}
.home-welcome--service{position:relative;overflow:hidden;border:0;border-radius:24px;background:linear-gradient(135deg,#f7f8f8 0%,#eceff0 66%,#e4eae7 100%);box-shadow:0 18px 60px rgba(23,34,56,.08)}
.home-welcome--service::after{content:"";position:absolute;right:-110px;top:-130px;width:330px;height:330px;border:1px solid rgba(71,107,89,.2);border-radius:50%;box-shadow:0 0 0 34px rgba(71,107,89,.035),0 0 0 70px rgba(71,107,89,.025);pointer-events:none}
.home-welcome--service .home-welcome__copy,.home-welcome--service .home-facility-search,.home-welcome--service .home-ledger{position:relative;z-index:1}
.home-welcome--service .eyebrow{margin-bottom:18px;color:var(--accent-hover)}
.home-facility-search{align-self:center;padding:28px;background:rgba(255,255,255,.92);border:1px solid rgba(23,34,56,.18);border-radius:18px;box-shadow:0 14px 32px rgba(23,34,56,.09)}
.home-facility-search>label{display:block;margin-bottom:6px;font:700 1.25rem/1.25 var(--ui)}
.home-facility-search>p{margin-bottom:20px;color:var(--muted);font-size:.92rem}
.home-facility-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.home-facility-search input{min-width:0;min-height:56px;padding:0 15px;border:1px solid rgba(23,34,56,.48);border-radius:10px;background:#fff;color:var(--ink)}
.home-facility-search button{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px;border:0;border-radius:10px;background:var(--red);color:#fff;font:700 .75rem/1 var(--ui);cursor:pointer}
.home-facility-search button:hover{background:var(--accent-hover)}
.home-facility-search nav{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:16px}
.home-facility-search nav a{min-height:40px;display:inline-flex;align-items:center;font-size:.86rem;font-weight:700}
.home-welcome--service .home-ledger{border-color:rgba(23,34,56,.13)}
.home-welcome--service .home-ledger b{color:var(--accent-hover)}
.home-paths__list>a{border-radius:10px;padding-left:14px;padding-right:14px}
.home-paths__list>a:hover{background:var(--white)}
.home-guides{border:0;border-radius:22px;background:#e4eadf}
.home-guides__index>a{border-radius:10px}
.home-guides__index>a:hover{background:rgba(255,255,255,.7)}
.page-home .state-ledger>a{min-height:84px;border-radius:8px;padding-left:12px!important}
.page-home .state-ledger small{display:grid;gap:2px}
.page-home .state-ledger small span:last-child{color:var(--accent-hover);font-size:.76rem}
.home-trust{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(42px,7vw,96px);margin:clamp(78px,9vw,118px) 0 0;padding:clamp(38px,5vw,64px);background:var(--navy);color:#fff;border-radius:22px}
.home-trust .eyebrow{color:#d9c39d}
.home-trust h2{max-width:760px;margin:0 0 22px;color:#fff}
.home-trust p{color:#cbd2dc}
.home-trust a{min-height:44px;display:inline-flex;align-items:center;margin-top:8px;color:#fff;font-weight:700;text-decoration-color:#d9c39d}
.home-trust dl{align-self:center;margin:0;border-top:1px solid rgba(255,255,255,.24)}
.home-trust dl>div{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:92px;border-bottom:1px solid rgba(255,255,255,.18)}
.home-trust dt{max-width:28ch;color:#cbd2dc}
.home-trust dd{margin:0;color:#e2ca9e;font:400 clamp(2.4rem,4.4vw,3.6rem)/1 var(--serif);letter-spacing:-.04em}
.home-next{overflow:hidden;border:0;border-radius:22px;box-shadow:0 12px 34px rgba(23,34,56,.07)}
.home-next>div+div{border-color:rgba(23,34,56,.15)}
.home-next .eyebrow{color:var(--accent-hover)}

/* State hubs — concise spokes with the full directory available on demand */
.page-state_hub::before{display:none}
.page-state_hub .wrap{margin-top:18px}
.page-state_hub .wrap.page-canvas{margin-top:0}
.state-welcome{padding:clamp(38px,6vw,72px);background:linear-gradient(135deg,#f7f8f8,#e7ecea);border-radius:24px}
.state-welcome .record-label{color:var(--accent-hover)}
.state-welcome h1{max-width:980px;margin:0 0 24px}
.state-welcome .count-answer{max-width:880px;margin-bottom:30px;color:#465267;font-size:1.08rem}
.state-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.state-actions a{min-height:44px;display:inline-flex;align-items:center;padding:0 15px;background:rgba(255,255,255,.7);border:1px solid rgba(23,34,56,.28);border-radius:999px;font-weight:700;text-decoration:none}
.state-actions a:hover{background:#fff}
.state-welcome .count-facts{margin:0}
.state-welcome .count-facts .north{margin:0;padding:26px;background:rgba(255,255,255,.78);border:1px solid rgba(23,34,56,.18);border-radius:16px}
.state-welcome .count-hero .figure{color:var(--accent-hover)}
.state-welcome .alert{max-width:none;border-radius:12px}
.state-systems{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(42px,7vw,96px);margin:clamp(74px,9vw,112px) 0 0}
.state-systems header h2{margin:0 0 20px}.state-systems header p{color:var(--muted)}
.state-system-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.state-system-grid>a{min-height:112px;display:grid;grid-template-columns:1fr auto;gap:10px;padding:20px;background:var(--paper-2);border:1px solid var(--rule);border-radius:14px;text-decoration:none}
.state-system-grid b{font:700 1rem/1.25 var(--ui)}
.state-system-grid strong{color:var(--red);font:400 2rem/1 var(--serif)}
.state-system-grid span{grid-column:1/-1;color:var(--muted);font-size:.78rem}
.state-system-grid>a:hover{background:#fff;border-color:rgba(59,130,246,.45)}
.state-help{margin:clamp(74px,9vw,112px) 0 0;padding:clamp(46px,6vw,74px) clamp(24px,5vw,58px);background:var(--deep) /* help band: orientation, so dark per the band rhythm */;border-radius:0;width:100vw;margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50% + 24px)}
.state-help>h2{margin:0 0 18px;color:var(--text-primary)}.state-help>p{color:var(--text-secondary);max-width:var(--measure)}
.state-help-group{margin-top:12px;background:var(--card);border:1px solid var(--border-dark);border-radius:12px;overflow:hidden}
.state-help-group summary{min-height:58px;display:flex;align-items:center;padding:14px 20px;font:700 1.02rem/1.3 var(--ui);color:var(--text-primary);cursor:pointer}.state-help-group summary:hover{background:rgba(255,255,255,.04)}.state-help-group summary::marker{color:var(--accent-light)}
.state-help-group>div{padding:6px 20px 22px;border-top:1px solid var(--border-dark);color:var(--text-secondary)}.state-help-group h3{margin-top:22px;color:var(--text-primary)}.state-help-group p{margin-bottom:10px;color:var(--text-secondary)}.state-help-group a{color:var(--accent-light)}
.state-facilities{margin:clamp(74px,9vw,112px) 0 0}
.state-facilities>header{display:grid;grid-template-columns:1fr 320px;gap:40px;align-items:end;margin-bottom:30px}
.state-facilities>header h2{margin:0 0 18px}.state-facilities>header p{color:var(--muted)}
.state-facilities>header label{display:grid;gap:8px;font:700 .85rem/1.2 var(--sans)}
.state-facilities>header input{min-height:50px;padding:0 14px;background:var(--white);border:1px solid rgba(23,34,56,.42);border-radius:10px}
.facility-group{margin:0 0 12px;background:rgba(247,248,248,.65);border:1px solid var(--rule);border-radius:14px;overflow:hidden}
.facility-group>summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;font:700 1.05rem/1.3 var(--ui);cursor:pointer}
.facility-group>summary b{color:var(--red);font:700 .78rem/1.2 var(--sans);white-space:nowrap}
.facility-group>summary::marker{color:var(--red)}
.facility-group[open]>summary{background:var(--white);border-bottom:1px solid var(--rule)}
.facility-group table{margin:0;background:var(--white)}
.facility-group td:first-child,.facility-group th:first-child{padding-left:18px}
.facility-group td:last-child,.facility-group th:last-child{padding-right:18px}

/* Facility leaves — useful facts first, practical help second */
.page-facility::before{display:none}
.page-facility .wrap{max-width:1120px;margin-top:18px;padding:clamp(28px,5vw,64px);background:rgba(247,248,248,.72);border-radius:22px}
.page-facility .crumbs{margin-top:0}
.page-facility h1{max-width:980px;margin:30px 0 26px;font-size:clamp(3.2rem,6.5vw,5.5rem)}
.page-facility .summary{color:#465267;font-size:1.12rem}
.page-facility .source-line{border-radius:12px;background:#fff}
.page-facility table{background:#fff;border-radius:12px;overflow:hidden}
.page-facility th:first-child,.page-facility td:first-child{padding-left:14px}
.facility-next{margin:56px 0;padding:30px;background:var(--red-soft);border-radius:16px}
.facility-next h2{margin:0 0 16px;font-size:clamp(2rem,3.4vw,2.8rem)}
.facility-next p{color:#4f5c70}
.facility-next nav{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px}
.facility-next nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:700}

/* Parole and other secondary resource hubs */
.page-parole_index::before,.page-parole_hub::before{display:none}
.page-parole_index .wrap,.page-parole_hub .wrap{margin-top:18px}
.resource-welcome{padding:clamp(38px,6vw,70px);background:linear-gradient(135deg,#f7f8f8,#e5eadf);border-radius:24px}
.resource-welcome .eyebrow{color:var(--accent-hover)}
.resource-welcome h1{max-width:980px;margin:0 0 24px}
.resource-welcome p{max-width:850px;color:#465267;font-size:1.08rem}
.resource-facts{display:flex;gap:46px;margin-top:34px;padding-top:24px;border-top:1px solid var(--rule)}
.resource-facts p{margin:0}.resource-facts b{display:block;color:var(--accent-hover);font:400 3rem/1 var(--serif)}.resource-facts span{font-size:.85rem}
.resource-index{margin:clamp(74px,9vw,112px) 0 0}.resource-index>header{max-width:820px}.resource-index h2{margin:0 0 18px}.resource-index>header p{color:var(--muted)}
.resource-state-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:1px solid var(--navy)}
.resource-state-grid>a{min-height:74px;display:grid;grid-template-columns:1fr auto;gap:3px 18px;align-content:center;padding:10px 14px;border-bottom:1px solid var(--rule);text-decoration:none}
.resource-state-grid>a:nth-child(odd){border-right:1px solid var(--rule)}.resource-state-grid b{font:700 1rem var(--ui)}.resource-state-grid span{color:var(--muted);font-size:.82rem}.resource-state-grid i{grid-column:2;grid-row:1/3;align-self:center;color:var(--red);font:700 .76rem var(--sans);font-style:normal}
.resource-state-grid>a:hover{background:var(--white)}
.page-parole_hub .source-line{margin:28px 0 52px;border-radius:12px;background:#fff}
.office-directory .offices li{background:rgba(247,248,248,.55)}
.page-ice_detention_index::before{display:none}.page-ice_detention_index .wrap{margin-top:18px}
.ice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:28px}.ice-actions .btn{display:inline-flex;align-items:center;text-decoration:none;border-radius:10px}.ice-actions>a:not(.btn){min-height:44px;display:inline-flex;align-items:center;font-weight:700}
.ice-data-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,7vw,90px);margin:clamp(72px,8vw,104px) 0 30px}.ice-data-intro h2{margin:0}.ice-data-intro>p{align-self:end;color:var(--muted)}
.page-ice_detention_index .alert{max-width:none;border-radius:12px}.page-ice_detention_index .ice-filter{padding:22px;background:var(--paper-2);border-radius:14px}.page-ice_detention_index .ice-filter input,.page-ice_detention_index .ice-filter select,.page-ice_detention_index .ice-filter .btn{border-radius:8px}
.page-city_hub::before{display:none}.page-city_hub .wrap{max-width:1120px;margin-top:18px;padding:clamp(30px,5vw,62px);background:rgba(247,248,248,.72);border-radius:22px}.page-city_hub .record-label{color:var(--accent-hover)}.page-city_hub h1{max-width:980px;margin:0 0 28px}.page-city_hub .north{padding:24px;background:var(--red-soft);border-radius:14px}.page-city_hub ul:not(.coverage){max-width:none;padding:0;list-style:none;border-top:1px solid var(--navy)}.page-city_hub ul:not(.coverage) li{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 12px;border-bottom:1px solid var(--rule)}
.home-welcome--counts .home-welcome__copy h1{max-width:900px}
.home-count-model{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(44px,8vw,112px);margin:clamp(74px,9vw,116px) 0 0}
.home-count-model>header h2{margin:0 0 20px}
.home-count-model>header p{color:var(--muted)}
.home-count-model>div{border-top:1px solid var(--navy)}
.home-count-model article{display:grid;grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr);gap:26px;padding:24px 0;border-bottom:1px solid var(--rule)}
.home-count-model h3{margin:0}.home-count-model article p{margin:0;color:var(--muted);font-size:.94rem}
.home-example{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(42px,7vw,94px);margin:clamp(76px,9vw,116px) 0 0;padding:clamp(36px,5vw,62px);background:var(--red-soft);border:1px solid var(--navy)}
.home-example h2{margin:0 0 22px}.home-example p{color:#4f5c70}.home-example a{min-height:44px;display:inline-flex;align-items:center;margin-top:6px;font-weight:700}
.home-example dl{align-self:center;margin:0;border-top:1px solid var(--navy)}
.home-example dl>div{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;min-height:105px;border-bottom:1px solid rgba(23,34,56,.28)}
.home-example dt{max-width:20ch;color:#4f5c70}.home-example dd{margin:0;color:var(--red);font:400 clamp(3rem,5vw,4.4rem)/1 var(--serif);letter-spacing:-.04em}
.home-count-index .state-ledger--counts{display:block}
.state-ledger--counts .state-ledger__head{display:grid;grid-template-columns:minmax(190px,1fr) 120px 175px 125px 64px;gap:14px;min-height:44px;align-items:center;padding:0 12px;border-bottom:1px solid var(--navy);color:var(--muted);font:600 .61rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.page-home .state-ledger--counts>a,.page-home .state-ledger--counts>a:nth-child(odd),.page-home .state-ledger--counts>a:nth-child(even){grid-template-columns:minmax(190px,1fr) 120px 175px 125px 64px;gap:14px;min-height:66px;padding:0 12px;border-right:0}
.state-ledger--counts>a>span{color:var(--ink);font:400 .87rem/1.25 var(--sans)}
.home-next{display:grid;grid-template-columns:1fr 1fr;margin:clamp(76px,9vw,116px) 0 0;border:1px solid var(--navy)}
.home-next>div{min-height:300px;padding:clamp(34px,4.5vw,56px);background:var(--paper-2)}
.home-next>div+div{background:#e7dfd0;border-left:1px solid var(--navy)}
.home-next h2{margin:0 0 20px;font-size:clamp(2.2rem,3.4vw,3rem)}
.home-next p{color:#4f5c70}.home-next a{min-height:44px;display:inline-flex;align-items:center;margin-top:8px;font-weight:700}

/* Directory index — search first, then browse calmly */
.page-directory_index::before{display:none}
.page-directory_index .wrap{margin-top:18px}
.directory-welcome{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(38px,6vw,86px);padding:clamp(42px,6vw,78px);background:var(--paper-2);border:1px solid var(--navy);border-top:5px solid var(--red)}
.directory-welcome>div:first-child{align-self:center}
.directory-welcome h1{max-width:820px;margin:0;font-size:clamp(3.65rem,6.5vw,5.65rem);line-height:.95}
.directory-welcome>div:first-child>p{max-width:660px;margin:28px 0 0;color:#465267;font-size:1.08rem;line-height:1.65}
.directory-search{align-self:center;padding:28px;background:#e7dfd0;border:1px solid rgba(23,34,56,.32)}
.directory-search>label{display:block;margin-bottom:7px;font:600 1.25rem/1.25 var(--ui)}
.directory-search>p{margin:0 0 18px;color:#536076;font-size:.92rem}
.directory-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.directory-search input{min-height:54px;width:100%;padding:0 14px;border:1px solid var(--navy);border-radius:0;background:var(--white)}
.directory-search button{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 17px;border:1px solid var(--red);border-radius:0;background:var(--red);color:#fff;font:700 .69rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
.directory-search button:hover{background:var(--accent-hover)}
.directory-search>a{min-height:44px;display:inline-flex;align-items:center;margin-top:12px;font-size:.84rem}
.directory-welcome__facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.directory-welcome__facts p{max-width:none;margin:0;padding:24px 22px 0 0}
.directory-welcome__facts p+p{padding-left:22px;border-left:1px solid var(--rule)}
.directory-welcome__facts b{display:block;color:var(--red);font:400 clamp(2rem,3vw,2.85rem)/1 var(--serif);letter-spacing:-.035em}
.directory-welcome__facts span{display:block;margin-top:7px;color:var(--muted);font-size:.84rem}

.directory-results{margin:clamp(64px,8vw,96px) 0 0}
.directory-results>header{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.directory-results h2{margin:0 0 10px;font-size:clamp(2.3rem,4vw,3.4rem)}
.directory-results header p{margin:0;color:var(--muted)}
.directory-results>header>a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;white-space:nowrap}
.directory-results__list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}
.directory-results__list>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 18px;min-height:112px;padding:20px 18px 18px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.directory-results__list>a:nth-child(odd){border-right:1px solid var(--rule)}
.directory-results__list>a:nth-child(even){padding-left:18px}
.directory-results__list b{font:600 1rem/1.3 var(--ui)}
.directory-results__list span{color:var(--muted);font-size:.88rem}
.directory-results__list small{align-self:end;color:var(--muted);font:600 .62rem/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.directory-results__list i{grid-column:2;grid-row:1/4;align-self:center;color:var(--red);font:600 .67rem var(--mono);font-style:normal;text-transform:uppercase}
.directory-results__list>a:hover{background:rgba(255,255,255,.55)}
.directory-empty{padding:28px;background:#e7dfd0;border:1px solid var(--rule)}
.directory-empty h3{margin-top:0}

.directory-states{margin:clamp(76px,9vw,116px) 0 0}
.directory-states>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:42px;align-items:end;margin-bottom:32px}
.directory-states h2{max-width:700px;margin:0 0 18px}
.directory-states header p{color:var(--muted)}
.directory-states label{display:grid;gap:8px;font:600 .65rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.directory-states input{min-height:48px;width:100%;padding:0 12px;border:1px solid var(--navy);border-radius:0;background:var(--paper-2)}
.directory-state-ledger{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--navy)}
.directory-state-ledger>a{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:18px;align-items:center;min-height:72px;padding:0 16px 0 0;border-bottom:1px solid var(--rule);text-decoration:none}
.directory-state-ledger>a:nth-child(odd){border-right:1px solid var(--rule)}
.directory-state-ledger>a:nth-child(even){padding-left:16px}
.directory-state-ledger b{font:600 1rem var(--ui)}
.directory-state-ledger small{color:var(--muted)}
.directory-state-ledger i{color:var(--red);font:600 .67rem var(--mono);font-style:normal;letter-spacing:.04em;text-transform:uppercase}
.directory-state-ledger>a:hover{background:var(--red-soft)}

.directory-orientation{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(40px,7vw,92px);margin:clamp(76px,9vw,116px) 0 0;padding:clamp(34px,5vw,60px);background:#e7dfd0;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.directory-orientation h2{margin:0 0 18px;font-size:clamp(2.35rem,3.8vw,3.35rem)}
.directory-orientation header p{color:#536076}
.directory-orientation>div{border-top:1px solid var(--navy)}
.directory-orientation>div>a{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1fr) auto;gap:20px;min-height:105px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(23,34,56,.24);text-decoration:none}
.directory-orientation b{font:600 1rem var(--ui)}
.directory-orientation span{color:#596478;font-size:.88rem}
.directory-orientation i{color:var(--red);font:600 .65rem var(--mono);font-style:normal;text-transform:uppercase;white-space:nowrap}

.directory-family{display:grid;grid-template-columns:1fr 1fr;gap:clamp(42px,8vw,108px);margin:clamp(76px,9vw,116px) 0 0;padding:clamp(34px,5vw,58px);background:var(--red-soft);border:1px solid var(--navy)}
.directory-family h2{margin:0 0 20px;font-size:clamp(2.35rem,3.8vw,3.35rem)}
.directory-family p{color:#4f5c70}
.directory-family nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;border-top:1px solid var(--navy)}
.directory-family nav a{min-height:72px;display:flex;align-items:center;padding:10px 14px 10px 0;border-bottom:1px solid rgba(23,34,56,.24);font-weight:700;text-decoration:none}
.directory-family nav a:nth-child(odd){border-right:1px solid rgba(23,34,56,.24)}
.directory-family nav a:nth-child(even){padding-left:14px}
.directory-family nav a:hover{color:var(--red)}
.directory-caveat{max-width:none;margin:38px 0 0;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted);font-size:.82rem;line-height:1.55}
.directory-welcome{border:0;border-radius:24px;background:linear-gradient(135deg,#f7f8f8 0%,#eceff0 66%,#e4eae7 100%);box-shadow:0 18px 60px rgba(23,34,56,.08)}
.directory-search{background:rgba(255,255,255,.92);border:1px solid rgba(23,34,56,.18);border-radius:18px;box-shadow:0 14px 32px rgba(23,34,56,.08)}
.directory-search input,.directory-search button{border-radius:10px}
.directory-state-ledger>a{border-radius:8px;padding-left:12px!important}
.directory-state-ledger>a:hover{background:var(--white)}
.directory-orientation{border:0;border-radius:22px;background:#eee6d8}
.directory-orientation>div>a{border-radius:8px;padding-left:12px;padding-right:12px}
.directory-orientation>div>a:hover{background:rgba(255,255,255,.72)}
.directory-family{border:0;border-radius:22px}

/* Shared editorial page language */
.north{margin:0 0 32px;padding:26px 28px;background:var(--paper-2);border:1px solid var(--navy)}
.north>b{display:block;max-width:42ch;font:400 clamp(1.35rem,2.7vw,2rem)/1.2 var(--serif)}
.north .prov{margin-top:12px}.prov{max-width:var(--measure);color:var(--muted);font-size:.86rem;line-height:1.5}
.count-answer{max-width:930px;margin:0 0 30px;font-size:1.12rem}.count-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 46px}.count-facts .north{margin:0}.count-hero{text-align:left}.count-hero .figure{display:block;color:var(--red);font:400 clamp(4.2rem,8vw,6rem)/.9 var(--serif);letter-spacing:-.04em}.count-hero>b{margin-top:12px}
.stamp{display:inline-flex;align-items:center;min-height:30px;margin-top:12px;padding:4px 8px;color:var(--green);border:1px solid var(--green);font:600 .62rem/1.35 var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none}.stamp-pending{color:var(--muted);border-style:dashed;border-color:var(--muted)}.stamp-stale{color:var(--red);border-color:var(--red)}
.alert,.gap,.pending-block{max-width:var(--measure);margin:24px 0;padding:20px 22px;background:var(--red-soft);border:1px solid var(--red)}.alert b,.gap b,.pending-block b{display:block;margin-bottom:6px;font:600 1rem var(--ui)}.gap,.pending-block{background:var(--paper-2);border-style:dashed;border-color:var(--muted)}
.legal{font-style:italic}

/* Tables become reference-style ledgers */
table{width:100%;margin:0 0 30px;border-collapse:collapse;background:rgba(247,248,248,.55);font-size:.92rem}
th{padding:10px 12px;text-align:left;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);color:var(--muted);font:600 .63rem var(--mono);letter-spacing:.1em;text-transform:uppercase}
td{padding:12px;border-bottom:1px solid var(--rule);vertical-align:top}td:first-child,th:first-child{padding-left:0}.num,td.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}tr:hover td{background:rgba(234,215,208,.32)}
.table-scroll{max-width:100%;overflow-x:auto}

/* County resource page */
.page-county_hub::before{display:none}.page-county_hub .wrap{margin-top:18px}
.answer{margin:0 0 38px;padding:clamp(38px,6vw,68px);background:linear-gradient(135deg,#f7f8f8,#e5eadf);color:var(--ink);border:0;border-radius:24px}
.answer .eyebrow{color:var(--accent-hover)}.answer h1{max-width:1040px;margin:0;color:var(--ink)}.answer h1 em{color:var(--red);font-style:normal}.answer .lede{max-width:820px;margin:26px 0 0;color:#465267;font-size:1.08rem}
.itinerary{max-width:none;margin:0 0 30px;padding:0;list-style:none;counter-reset:step;border-top:1px solid var(--navy)}.itinerary>li{counter-increment:step;display:grid;grid-template-columns:72px 1fr;gap:22px;padding:24px 0;border-bottom:1px solid var(--rule)}.itinerary>li::before{content:counter(step,decimal-leading-zero);color:var(--red);font:600 .72rem var(--mono);letter-spacing:.12em}.itinerary h3{margin:0 0 8px}.itinerary .target{display:inline-flex;min-height:44px;align-items:center;font-weight:700}.itinerary .hint{margin:5px 0 0;color:var(--muted);font-size:.88rem}
.holding,.offices{max-width:none;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--navy)}.holding li,.offices li{margin:0;padding:22px 20px 22px 0;border-bottom:1px solid var(--rule)}.holding li:nth-child(odd),.offices li:nth-child(odd){border-right:1px solid var(--rule)}.holding li:nth-child(even),.offices li:nth-child(even){padding-left:20px}.holding .name,.offices li>b{display:flex;min-height:44px;align-items:center;font:600 1.05rem var(--ui)}.holding .addr{margin:4px 0 14px;color:var(--muted)}.holding .acts{display:flex;gap:8px;flex-wrap:wrap}.holding .acts a{display:inline-flex;min-height:44px;align-items:center;padding:0 13px;border:1px solid var(--navy);font:600 .68rem var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none}.holding .acts .call{background:var(--red);border-color:var(--red);color:#fff}
.statewide{margin:44px 0;padding:30px;background:var(--red-soft);color:var(--ink);border-radius:16px}.statewide h2{margin:0 0 10px;color:var(--ink);font-size:2rem}.statewide p{color:#4f5c70}.statewide .links{display:flex;flex-wrap:wrap;gap:0 24px}.statewide a{display:inline-flex;min-height:44px;align-items:center;color:var(--ink);font:700 .88rem var(--sans)}

/* Lists, utilities, facilities */
.cities,.counties{max-width:none;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--navy)}.cities li,.counties li{display:flex;justify-content:space-between;gap:16px;margin:0;padding:10px 12px 10px 0;border-bottom:1px solid var(--rule)}.cities li:nth-child(odd),.counties li:nth-child(odd){border-right:1px solid var(--rule)}.cities li:nth-child(even),.counties li:nth-child(even){padding-left:12px}
.crumbs{margin:34px 0 24px;color:var(--muted);font:600 .64rem var(--mono);letter-spacing:.06em;text-transform:uppercase}.summary{max-width:880px;font-size:1.1rem}.closed{background:var(--red-soft)}
.devpanel{margin-top:54px;padding:24px;background:#e4e0d8;border:1px dashed var(--muted)}.devpanel h2{margin-top:0;font-size:1.8rem}.coverage{display:flex;max-width:none;flex-wrap:wrap;gap:6px;padding:0;list-style:none}.coverage li{padding:5px 8px;border:1px solid var(--rule);font:600 .62rem var(--mono);text-transform:uppercase}.coverage .has{color:var(--green)}.coverage .missing{color:var(--red)}
.ice-filter{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;align-items:end;gap:12px;margin:24px 0}.ice-filter .btn{min-height:48px}.ice-filter label{margin:0}
.sponsor{display:block;max-width:var(--measure);margin:30px 0;padding:20px 22px;background:var(--paper-2);border:1px dashed var(--muted);text-decoration:none}.sponsor-label{display:block;margin-bottom:8px;color:var(--muted);font:600 .61rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.sponsor>b{display:block;font:600 1.05rem var(--ui)}

/* Content/guides */
.content-page{max-width:1080px}.content-page>.eyebrow{margin-top:46px}.legacy-content{max-width:none}.legacy-content>.jg-wrap{max-width:none}.legacy-content .jg-hero,.legacy-content .jg-toc,.legacy-content .jg-quickref,.legacy-content .jg-alert,.legacy-content .jg-disclaimer{margin:26px 0;padding:24px;background:var(--paper-2);border:1px solid var(--navy);border-radius:0}.legacy-content .jg-hero__eyebrow,.legacy-content .jg-toc__title,.legacy-content .jg-quickref__title{margin-bottom:12px;color:var(--gold);font:600 .65rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.legacy-content .jg-stats,.legacy-content .jg-quickref__grid,.legacy-content .jg-card-grid,.legacy-content .jg-icon-grid,.legacy-content .jg-toc__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--rule)}.legacy-content .jg-stat,.legacy-content .jg-quickref__item,.legacy-content .jg-card,.legacy-content .jg-icon-item,.legacy-content .jg-news-card,.legacy-content .jg-toc__item{margin:0;padding:18px;background:var(--white);border:0;border-radius:0}.legacy-content .jg-stat__number,.legacy-content .jg-quickref__item-value{display:block;color:var(--red);font:400 2rem var(--serif)}.legacy-content .jg-section{margin:60px 0}.legacy-content .jg-section__header{display:flex;gap:12px;align-items:baseline}.legacy-content .jg-section__title{font:400 2.15rem var(--serif)}.legacy-content .jg-section__num,.legacy-content .jg-step__num{color:var(--red);font:600 .68rem var(--mono)}.legacy-content .jg-step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--rule)}.legacy-content .jg-btn{display:inline-flex;min-height:44px;align-items:center;padding:0 14px;border:1px solid var(--navy);border-radius:0;font:600 .68rem var(--mono);letter-spacing:.05em;text-transform:uppercase;text-decoration:none}.legacy-content .jg-btn--primary{background:var(--red);border-color:var(--red);color:#fff}.legacy-content .jg-table-wrap{max-width:100%;overflow:auto}.legacy-content .jg-table{min-width:620px}

/* Page-level source note and site footer */
.wrap>footer,.content-page+footer{max-width:none;margin-top:68px;padding:24px 0;border-top:1px solid var(--navy);color:var(--muted);font-size:.86rem}
.site-footer{background:var(--navy);color:#c8cfda;border-top:7px solid var(--red)}
.site-footer__inner{width:min(var(--shell),calc(100% - 32px));margin:auto;padding:52px 0 28px;display:grid;grid-template-columns:180px 1fr 1fr;gap:38px}.site-brand--footer{color:#fff}.site-brand--footer strong{color:#d9c39d}.site-footer p{max-width:410px;margin:3px 0;font-size:.88rem}.site-footer nav{justify-self:end;display:flex;flex-wrap:wrap;gap:10px 24px}.site-footer nav a{min-height:44px;display:inline-flex;align-items:center;color:#fff;font:600 .66rem var(--mono);letter-spacing:.07em;text-transform:uppercase;text-decoration:none}.site-footer small{grid-column:1/-1;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:.74rem}

/* Lab/prototype routes retain their own worlds */
.theme-lab{display:flex;align-items:center;gap:20px;padding:10px 18px;background:#101723;color:#fff}.theme-lab a{color:#fff}.theme-lab nav{display:flex;gap:14px}.theme-lab__current{margin-left:auto}.county-test-shell{width:100%}

@media(max-width:1000px){
  .site-header__inner{grid-template-columns:150px 1fr}.site-nav{gap:15px}.site-nav a{font-size:.61rem}
  .home-masthead{padding:42px 34px}.route-strip{grid-template-columns:1fr 1fr}.route-strip a:nth-child(2){border-right:0}.route-strip a:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .home-phase{grid-template-columns:260px 1fr}.home-evidence{gap:4vw;padding:40px 34px}.state-ledger>a{grid-template-columns:36px 1fr 120px 18px}
  .home-welcome{grid-template-columns:1fr;padding:clamp(38px,6vw,64px)}
  .home-welcome__copy>p{margin-top:24px}.home-state-picker,.home-facility-search{max-width:760px}
  .home-paths,.home-guides{grid-template-columns:1fr;gap:36px}
  .home-paths>header,.home-guides>header{max-width:720px}
  .page-home .state-ledger>a{grid-template-columns:minmax(0,1fr) 130px auto}
  .home-count-model{grid-template-columns:1fr;gap:28px}.home-count-model>header{max-width:720px}
  .home-example{grid-template-columns:1fr}.home-example>div{max-width:760px}.home-example dl{max-width:720px;width:100%}
  .home-trust{grid-template-columns:1fr}.home-trust>div{max-width:780px}.home-trust dl{max-width:720px;width:100%}
  .state-systems{grid-template-columns:1fr}.state-systems>header{max-width:760px}
  .state-ledger--counts .state-ledger__head,.page-home .state-ledger--counts>a,.page-home .state-ledger--counts>a:nth-child(odd),.page-home .state-ledger--counts>a:nth-child(even){grid-template-columns:minmax(160px,1fr) 95px 155px 105px 58px}
  .directory-welcome{grid-template-columns:1fr;padding:clamp(38px,6vw,64px)}
  .directory-search{max-width:720px}.directory-search>div{grid-template-columns:minmax(0,1fr) auto}
  .directory-orientation{grid-template-columns:1fr;gap:30px}.directory-orientation>header{max-width:720px}
  .directory-family{grid-template-columns:1fr;gap:34px}.directory-family>div{max-width:740px}
}

/* Six primary routes no longer fit cleanly on narrow tablets. Collapse only
   the header here; page layouts keep their existing 760px breakpoint. */
@media(max-width:900px){
  body .site-header .site-header__inner{min-height:68px;grid-template-columns:1fr auto}
  body .site-header .site-nav{display:none}
  body .site-header .site-menu{display:block}
}

@media(max-width:760px){
  body::before{display:none}.site-header__inner{min-height:68px;grid-template-columns:1fr auto}.site-nav{display:none}.site-menu{display:block}
  .wrap{width:min(100% - 16px,var(--shell));margin-top:8px}.wrap>h1,.wrap>.content-page>h1{margin-top:38px}
  h1{font-size:3.45rem}h2{margin-top:52px;font-size:2.45rem}
  .home-masthead{min-height:0;padding:30px 20px}.home-masthead::after{display:none}.home-masthead h1{font-size:clamp(3.7rem,16vw,5.2rem)}.home-lead{font-size:1rem}
  .state-jump{margin-top:30px;padding:16px}.state-jump__control{grid-template-columns:1fr}.state-jump button{min-height:54px}
  .mast-meta{grid-template-columns:1fr;margin-top:30px}.route-strip{grid-template-columns:1fr}.route-strip a{min-height:72px;border-right:0;border-bottom:1px solid var(--rule)!important}.route-strip a:last-child{border-bottom:0!important}
  .home-phase{grid-template-columns:1fr}.home-phase__rail{min-height:0;padding:28px 22px}.home-phase__rail h2{margin-top:42px}.home-phase__main{padding:22px 18px}.home-steps li{grid-template-columns:44px 1fr}
  .home-evidence{grid-template-columns:1fr;padding:32px 22px}.home-evidence h2{margin-top:28px}.home-evidence__copy{margin-top:20px}
  .state-index{margin-top:68px}.state-index>header{grid-template-columns:1fr;gap:26px}.state-index label{max-width:none}.state-ledger{grid-template-columns:1fr}.state-ledger>a,.state-ledger>a:nth-child(odd),.state-ledger>a:nth-child(even){grid-template-columns:34px 1fr 18px;padding:0 8px;border-right:0}.state-ledger small{display:none}
  .home-scope{margin-top:68px;padding:28px 20px}.home-scope>div{grid-template-columns:1fr}.home-scope b{font-size:2rem}
  .page-home .wrap{width:100%;margin-top:0}.page-home .site-header__inner,.page-home .site-footer__inner{width:calc(100% - 32px)}
  .home-welcome{gap:32px;padding:34px 20px;border-left:0;border-right:0}
  .home-welcome--service{border-radius:0}
  .home-welcome__copy h1{font-size:clamp(3.05rem,14vw,4.65rem);line-height:.96}
  .home-welcome__copy>p{font-size:1rem}.home-state-picker{padding:22px 18px}
  .home-facility-search{padding:22px 18px;border-radius:14px}.home-facility-search>div{grid-template-columns:1fr}.home-facility-search button{min-height:54px}
  .home-ledger{grid-template-columns:1fr;margin-top:2px}.home-ledger p{padding:18px 0}.home-ledger p+p{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .home-ledger b{font-size:2.35rem}
  .home-paths,.page-home .state-index{margin-left:16px;margin-right:16px}
  .home-paths{margin-top:68px;gap:26px}.home-paths h2{margin-top:0}
  .home-paths__list>a{grid-template-columns:1fr 22px;gap:9px 16px;min-height:0;padding:22px 0}
  .home-paths__list b{grid-column:1}.home-paths__list span{grid-column:1}.home-paths__list i{grid-column:2;grid-row:1/3}
  .home-guides{margin-top:72px;padding:38px 20px;border-left:0;border-right:0}
  .home-guides{border-radius:0}
  .home-guides__index{grid-template-columns:1fr}
  .home-guides__index>a,.home-guides__index>a:nth-child(odd),.home-guides__index>a:nth-child(even){min-height:0;padding:20px 0;border-right:0}
  .home-guides__index i{margin-top:4px}
  .page-home .state-index{margin-top:72px}.page-home .state-index>header{grid-template-columns:1fr;gap:24px}
  .page-home .state-ledger{grid-template-columns:1fr}.page-home .state-ledger>a,.page-home .state-ledger>a:nth-child(odd),.page-home .state-ledger>a:nth-child(even){grid-template-columns:1fr auto;gap:12px;padding:0;border-right:0}
  .page-home .state-ledger small{display:none}.page-home .state-ledger i{display:block}
  .home-orientation{grid-template-columns:1fr;margin-top:72px;border-left:0;border-right:0}
  .home-orientation>div{min-height:0;padding:38px 20px}.home-orientation>div:last-child{border-left:0;border-top:1px solid var(--navy)}
  .home-count-model{margin:68px 16px 0}.home-count-model article{grid-template-columns:1fr;gap:8px}
  .home-example{margin-top:72px;padding:38px 20px;border-left:0;border-right:0}.home-example dl>div{min-height:92px}.home-example dd{font-size:3.2rem}
  .home-count-index .state-ledger--counts{border-top:1px solid var(--navy)}
  .state-ledger--counts .state-ledger__head{display:none}
  .page-home .state-ledger--counts>a,.page-home .state-ledger--counts>a:nth-child(odd),.page-home .state-ledger--counts>a:nth-child(even){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;min-height:84px;padding:12px 0}
  .state-ledger--counts>a b{grid-column:1}.state-ledger--counts>a>span{grid-column:1;color:var(--muted);font-size:.78rem}.state-ledger--counts>a>span:nth-of-type(2)::before{content:"Jails: "}.state-ledger--counts>a>span:nth-of-type(1)::before{content:"Prisons: "}.state-ledger--counts>a small{display:none}.state-ledger--counts>a i{grid-column:2;grid-row:1/4;align-self:center}
  .home-next{grid-template-columns:1fr;margin-top:72px;border-left:0;border-right:0}.home-next>div{min-height:0;padding:38px 20px}.home-next>div+div{border-left:0;border-top:1px solid var(--navy)}
  .home-trust{margin-top:72px;padding:38px 20px;border-radius:0}.home-trust dl>div{min-height:82px}.home-trust dd{font-size:2.7rem}
  .page-state_hub .wrap{width:100%;margin-top:0}.page-state_hub .site-header__inner,.page-state_hub .site-footer__inner{width:calc(100% - 32px)}
  .state-welcome{padding:34px 20px;border-radius:0}.state-welcome h1{font-size:clamp(3rem,13.8vw,4.55rem)}
  .state-welcome .count-facts{grid-template-columns:1fr}.state-systems,.state-facilities{margin-left:16px;margin-right:16px}
  .state-systems{margin-top:68px;gap:26px}.state-system-grid{grid-template-columns:1fr}.state-system-grid>a{min-height:92px}
  .state-help{margin-top:72px;padding:44px 16px;padding-inline:calc(50vw - 50% + 16px)}.state-help-group>div{padding-left:16px;padding-right:16px}
  .state-facilities{margin-top:72px}.state-facilities>header{grid-template-columns:1fr;gap:22px}.state-facilities>header label{max-width:none}
  .facility-group>summary{min-height:62px;padding:12px 14px}.facility-group td:first-child,.facility-group th:first-child{padding-left:12px}
  .page-facility .wrap{width:100%;margin-top:0;padding:30px 20px;border-radius:0}.page-facility .site-header__inner,.page-facility .site-footer__inner{width:calc(100% - 32px)}
  .page-facility h1{font-size:clamp(3rem,13.8vw,4.55rem)}.facility-next{margin:48px -20px;padding:32px 20px;border-radius:0}
  .page-parole_index .wrap,.page-parole_hub .wrap{width:100%;margin-top:0}.page-parole_index .site-header__inner,.page-parole_index .site-footer__inner,.page-parole_hub .site-header__inner,.page-parole_hub .site-footer__inner{width:calc(100% - 32px)}
  .resource-welcome{padding:34px 20px;border-radius:0}.resource-welcome h1{font-size:clamp(3rem,13.8vw,4.55rem)}.resource-facts{gap:28px}.resource-facts b{font-size:2.45rem}
  .resource-index{margin:68px 16px 0}.resource-state-grid{grid-template-columns:1fr}.resource-state-grid>a:nth-child(odd){border-right:0}
  .page-ice_detention_index .wrap{width:100%;margin-top:0}.page-ice_detention_index .site-header__inner,.page-ice_detention_index .site-footer__inner{width:calc(100% - 32px)}.ice-data-intro{grid-template-columns:1fr;margin:68px 16px 26px;gap:18px}.page-ice_detention_index .alert,.page-ice_detention_index .ice-filter,.page-ice_detention_index>.wrap>p{margin-left:16px;margin-right:16px}
  .page-city_hub .wrap{width:100%;margin-top:0;padding:30px 20px;border-radius:0}.page-city_hub .site-header__inner,.page-city_hub .site-footer__inner{width:calc(100% - 32px)}.page-city_hub h1{font-size:clamp(3rem,13.8vw,4.55rem)}
  .home-caveat{margin:32px 16px 0}
  .page-directory_index .wrap{width:100%;margin-top:0}
  .directory-welcome{gap:30px;padding:34px 20px;border-left:0;border-right:0;border-radius:0}
  .directory-welcome h1{font-size:clamp(3rem,13.8vw,4.55rem);line-height:.97}
  .directory-welcome>div:first-child>p{font-size:1rem}
  .directory-search{padding:22px 18px}.directory-search>div{grid-template-columns:1fr}.directory-search button{min-height:54px}
  .directory-welcome__facts{grid-template-columns:1fr}.directory-welcome__facts p{padding:18px 0}.directory-welcome__facts p+p{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .directory-results,.directory-states{margin-left:16px;margin-right:16px}
  .directory-results{margin-top:68px}.directory-results>header{align-items:start;flex-direction:column;gap:8px}
  .directory-results__list{grid-template-columns:1fr}.directory-results__list>a,.directory-results__list>a:nth-child(odd),.directory-results__list>a:nth-child(even){padding:18px 0;border-right:0}
  .directory-states{margin-top:72px}.directory-states>header{grid-template-columns:1fr;gap:24px}
  .directory-state-ledger{grid-template-columns:1fr}.directory-state-ledger>a,.directory-state-ledger>a:nth-child(odd),.directory-state-ledger>a:nth-child(even){grid-template-columns:1fr auto;padding:0;border-right:0}.directory-state-ledger small{display:none}
  .directory-orientation{margin-top:72px;padding:38px 20px;border-left:0;border-right:0;border-radius:0}
  .directory-orientation>div>a{grid-template-columns:1fr auto;gap:8px 16px;padding:20px 0}.directory-orientation span{grid-column:1}.directory-orientation i{grid-column:2;grid-row:1/3}
  .directory-family{margin-top:72px;padding:38px 20px;border-left:0;border-right:0;border-radius:0}.directory-family nav{grid-template-columns:1fr}.directory-family nav a,.directory-family nav a:nth-child(odd),.directory-family nav a:nth-child(even){padding:10px 0;border-right:0}
  .directory-caveat{margin:32px 16px 0}
  .count-facts{grid-template-columns:1fr}.answer{padding:34px 20px;border-radius:0}.answer h1{font-size:3.35rem}.itinerary>li{grid-template-columns:44px 1fr}
  .holding,.offices,.cities,.counties{grid-template-columns:1fr}.holding li,.holding li:nth-child(odd),.holding li:nth-child(even),.offices li,.offices li:nth-child(odd),.offices li:nth-child(even),.cities li,.cities li:nth-child(odd),.cities li:nth-child(even),.counties li,.counties li:nth-child(odd),.counties li:nth-child(even){padding-left:0;padding-right:0;border-right:0}
  .statewide{padding:24px 20px}.ice-filter{grid-template-columns:1fr}
  table{display:block;max-width:100%;overflow-x:auto}thead,tbody{min-width:620px}.page-directory_index table thead,.page-directory_index table tbody,.page-parole_index table thead,.page-parole_index table tbody{min-width:0}
  .legacy-content .jg-stats,.legacy-content .jg-quickref__grid,.legacy-content .jg-card-grid,.legacy-content .jg-icon-grid,.legacy-content .jg-toc__grid{grid-template-columns:1fr}
  .site-footer__inner{grid-template-columns:1fr;padding-top:40px}.site-footer nav{justify-self:start}.site-footer small{grid-column:1}
}

@media(max-width:380px){h1{font-size:3.05rem}.home-masthead h1{font-size:3.55rem}.answer h1{font-size:3rem}.site-footer__inner,.site-header__inner{width:calc(100% - 24px)}.home-welcome__copy h1{font-size:2.72rem}.home-state-picker{padding:20px 14px}.home-paths,.page-home .state-index{margin-left:12px;margin-right:12px}.home-guides,.home-orientation>div{padding-left:16px;padding-right:16px}.home-count-model{margin-left:12px;margin-right:12px}.home-example,.home-next>div{padding-left:16px;padding-right:16px}.directory-welcome h1{font-size:2.78rem}.directory-search{padding:20px 14px}.directory-results,.directory-states{margin-left:12px;margin-right:12px}.directory-orientation,.directory-family{padding-left:16px;padding-right:16px}}

@media(prefers-reduced-motion:no-preference){
  .home-masthead h1{animation:record-in .58s cubic-bezier(.16,1,.3,1) both}.state-jump{animation:record-in .58s .08s cubic-bezier(.16,1,.3,1) both}
  .home-welcome__copy{animation:record-in .58s cubic-bezier(.16,1,.3,1) both}.home-state-picker{animation:record-in .58s .08s cubic-bezier(.16,1,.3,1) both}
  @keyframes record-in{from{opacity:.2;transform:translateY(18px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.site-menu,.state-jump,.home-state-picker,.route-strip{display:none}.wrap{width:100%;margin:0}.home-masthead{break-after:page}.home-phase{break-before:page}}

/* Count reconciliation — the differentiator, moved onto the page that ranks.
   Sits inside .state-systems, directly under the class grid whose numbers it explains.
   Deliberately flat and ruled rather than another floating card: it is evidence, not a
   utility, and the design system reserves rounded containment for things you act on. */
/* .state-systems is a 2-column grid (header | class grid), so this block becomes a grid
   item and would otherwise land in the narrow first column. Span both. */
.count-reconcile{grid-column:1/-1;margin-top:20px;padding:24px 28px;background:var(--white);
  border:1px solid var(--rule);border-left:3px solid var(--accent-hover);border-radius:0 14px 14px 0}
.count-reconcile h3{font:400 1.5rem/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
.count-reconcile p{font-size:.94rem;line-height:1.58;margin:0 0 14px;color:var(--ink);max-width:68ch}
.count-reconcile p:last-child{margin-bottom:0;color:var(--muted);font-size:.88rem}
/* Two columns on desktop so the pair of numbers reads as a comparison, which is the
   whole point — stacked, they read as two unrelated facts. */
.count-reconcile ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:14px;
  grid-template-columns:1fr 1fr}
.count-reconcile li{padding-left:16px;border-left:2px solid var(--rule);
  font-size:.92rem;line-height:1.5;color:var(--muted)}
@media(max-width:860px){.count-reconcile ul{grid-template-columns:1fr}}
.count-reconcile li strong{color:var(--ink);font:600 1rem/1.3 var(--ui);display:block;margin-bottom:2px}
.count-reconcile a{color:var(--red)}
@media(max-width:760px){.count-reconcile{padding:18px 16px}}

/* Page diagrams. Inline SVG so it inherits the type colours and needs no extra request;
   scales on its own viewBox. Wide diagrams scroll inside their own container rather than
   letting the page scroll sideways on a phone. */
.page-diagram{margin:26px 0 30px;padding:0}
/* .state-systems is the 2-column (header | class-grid) layout from the reconciliation
   block above; a diagram dropped in after it needs the same full-width span or it's
   auto-placed into a single grid track and renders at a fraction of its size. */
.state-systems .page-diagram{grid-column:1/-1}
.page-diagram svg{display:block;width:100%;height:auto;background:var(--white);
  border:1px solid var(--rule);border-radius:14px}
.page-diagram figcaption{margin-top:10px;color:var(--muted);font-size:.86rem;line-height:1.5;
  max-width:68ch}
@media(max-width:620px){
  /* Below this width the five branches stop being legible squeezed to fit, so the figure
     scrolls horizontally at a readable size instead of shrinking to unreadable. */
  .page-diagram{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .page-diagram svg{min-width:560px}
  .page-diagram figcaption{position:sticky;left:0}
}

/* Task icon sprite (public/assets/graphics/icons.svg), referenced with <use href="#i-name">.
   Icons carry no color of their own — stroke is currentColor in the sprite, so each one
   picks up its parent link's ink/red state for free. Decorative only; every icon sits next
   to its own text label, so no size rule here needs a color declaration. */
.facility-next nav a{gap:8px}
.link-icon{width:18px;height:18px;flex:0 0 auto}
.guide-icon{width:28px;height:28px;flex:0 0 auto;margin-bottom:10px}


/* --- Type direction: Archivo display on cool paper (2026-08-16) ---
   --serif now points at Archivo, so every display surface changed at once. A grotesque
   at display size needs more weight and tighter tracking than Fraunces did, otherwise
   the headlines read thin and loose. Numerals get tabular figures wherever a count is
   the point, so 28 / 108 / 6,747 line up instead of drifting. */
h1,h2,h3,.count-hero,.state-system-grid strong,.count-reconcile h3{
  font-weight:600;letter-spacing:-.025em}
h1{letter-spacing:-.025em}
.count-hero,.state-system-grid strong,.ss-num,.count-facts strong{
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}

/* Facility lead block — phone, address, directions, official site.
   The page used to open with two disclaimer paragraphs before the phone number. This is
   the answer to the query that brings people here, so it gets weight and a tap target. */
.facility-lead{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;
  margin:22px 0 16px}
.facility-lead>*{background:var(--white);border:1px solid var(--rule);border-radius:14px;
  padding:18px 20px;display:block}
.facility-lead span{display:block;font:600 .62rem/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.facility-lead strong{display:block;font:600 1.05rem/1.35 var(--ui);color:var(--ink);
  letter-spacing:-.01em}

/* The call card is the primary action: bigger number, red rule, whole card tappable. */
.facility-lead__call{text-decoration:none;border-left:3px solid var(--red)!important}
.facility-lead__call strong{font:600 1.6rem/1.1 var(--serif);color:var(--red);
  font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.facility-lead__call:hover{background:var(--paper-2)}

.facility-lead__where a{display:inline-block;margin-top:10px;font:600 .85rem/1 var(--ui);
  color:var(--red)}
.facility-lead__site strong{font-size:.95rem;word-break:break-word}
.facility-lead__site a{color:var(--ink)}

@media(max-width:520px){
  .facility-lead{grid-template-columns:1fr;gap:10px}
  .facility-lead>*{padding:16px}
}

/* Visiting hours — the field competitors lack, garble, or leave a decade stale.
   Given weight accordingly: it sits above the record table and reads as a schedule,
   not as another paragraph in a stack of paragraphs. */
.facility-visit{margin:30px 0 8px;padding:24px 26px;background:var(--white);
  border:1px solid var(--rule);border-left:3px solid var(--accent-hover);border-radius:0 16px 16px 0}
.facility-visit h2{margin:0 0 16px}
.facility-visit__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.facility-visit__grid span{display:block;font:600 .62rem/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent-hover);margin-bottom:10px}
.facility-visit__grid ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.facility-visit__grid li{font:600 1rem/1.4 var(--ui);color:var(--ink);
  font-variant-numeric:tabular-nums}
/* The first line is the day range; the rest are times, so let the days read as a label. */
.facility-visit__grid li:first-child{color:var(--muted);font:600 .78rem/1.3 var(--mono);
  letter-spacing:.08em;text-transform:uppercase}
.facility-visit .prov{margin:18px 0 0;max-width:70ch}
@media(max-width:560px){.facility-visit{padding:20px 18px}.facility-visit__grid{gap:18px}}

/* Facility page shell — content plus a persistent quick-reference rail.
   Ported from the live WordPress page, which was better structured than the rebuild:
   a reader scanning for a phone number or the state hub should never have to scroll
   back to the top to find it. */
.facility-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:clamp(28px,4vw,56px);align-items:start}
.facility-main{min-width:0}

.facility-rail{position:sticky;top:24px;display:grid;gap:14px}
.facility-rail__card{background:var(--white);border:1px solid var(--rule);border-radius:16px;
  padding:20px 22px}
.facility-rail__label{display:block;font:600 .62rem/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.facility-rail dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:baseline}
.facility-rail dt{font:600 .68rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)}
.facility-rail dd{margin:0;font:600 .95rem/1.35 var(--ui);color:var(--ink)}
.facility-rail ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.facility-rail li{font:600 .9rem/1.3 var(--ui)}
.facility-rail a{color:var(--ink)}
.facility-rail a:hover{color:var(--red)}

/* On this page */
.facility-jump{margin:20px 0 18px;padding:16px 20px;background:var(--paper-2);
  border:1px solid var(--rule);border-radius:14px}
.facility-jump>span{display:block;font:600 .62rem/1 var(--mono);letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.facility-jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.facility-jump li{font:600 .9rem/1.3 var(--ui)}
.facility-jump a{color:var(--red)}

@media(max-width:1000px){
  /* The rail carries no unique content — everything in it appears in the page — so on
     narrow screens it moves below rather than squeezing the record tables. */
  .facility-shell{grid-template-columns:1fr}
  .facility-rail{position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}

/* State guides — the "what do I even ask" block above the facility directory.
   Deliberately reuses the .state-system-grid card geometry rather than inventing a
   third card shape: a state hub with three visually distinct card treatments reads
   as three different sites. Wider tracks because these carry a sentence, not a count. */
.state-guides{margin:clamp(74px,9vw,112px) 0 0}
.state-guides>header{max-width:var(--measure);margin-bottom:28px}
.state-guides>header h2{margin:0 0 14px}
.state-guides>header p{color:var(--muted)}
.state-guides__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.state-guides__grid>a{display:grid;align-content:start;gap:9px;padding:22px;background:var(--paper-2);border:1px solid var(--rule);border-radius:14px;text-decoration:none}
.state-guides__grid b{font:700 1.02rem/1.3 var(--ui);color:var(--ink)}
.state-guides__grid span{color:var(--muted);font-size:.84rem;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.state-guides__grid>a:hover{background:#fff;border-color:rgba(59,130,246,.45)}
.state-guides__grid>a:hover b{color:var(--red)}
@media (max-width:760px){
  .state-guides{margin-left:16px;margin-right:16px;margin-top:72px}
  .state-guides__grid{grid-template-columns:1fr}
}

/* "By the numbers" — agency-reported operating figures.
   The level bar is the only chart on the site, and it earns its place by refuting the single
   most misleading field in every competing directory ("security level: maximum"). Segments
   are tints of the navy ink, NOT six accent hues: red still has to mean "do this" on the
   same page, and a rainbow here would spend that meaning on decoration. */
.facility-report{margin:clamp(52px,6vw,78px) 0 0}
.facility-report>h2{margin:0 0 10px}
.facility-report__lede{max-width:var(--measure);color:var(--muted);margin:0 0 26px}
.facility-report__block{max-width:var(--measure);padding:26px 28px;margin:0 0 16px;
  background:var(--white);border:1px solid var(--rule);border-radius:16px}
.facility-report__block h3{margin:0 0 12px;font:700 1.06rem/1.3 var(--ui)}
.facility-report__block p{margin:0 0 12px}
.facility-report__block p:last-child{margin-bottom:0}

.levelbar{display:flex;height:34px;margin:20px 0 16px;border-radius:8px;overflow:hidden;
  background:var(--paper-2);border:1px solid var(--rule)}
.levelbar__seg{display:block;min-width:2px}
.levelbar__seg.s0{background:#172238}
.levelbar__seg.s1{background:#33445f}
.levelbar__seg.s2{background:#556780}
.levelbar__seg.s3{background:#8593a5}
.levelbar__seg.s4{background:#b3bdc9}
.levelbar__seg.s5{background:#d5dbe2}

.levelkey{list-style:none;margin:0 0 14px;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:7px 20px}
.levelkey li{display:flex;align-items:baseline;gap:9px;font-size:.88rem}
.levelkey i{flex:0 0 auto;width:11px;height:11px;border-radius:3px;transform:translateY(1px)}
.levelkey i.s0{background:#172238}.levelkey i.s1{background:#33445f}
.levelkey i.s2{background:#556780}.levelkey i.s3{background:#8593a5}
.levelkey i.s4{background:#b3bdc9}.levelkey i.s5{background:#d5dbe2}
.levelkey b{font:700 .88rem/1.3 var(--ui)}
.levelkey span{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}

.facility-report__total{font-variant-numeric:tabular-nums}
.facility-report__stat{font-size:1.06rem}
.facility-report__stat b{font:600 2.1rem/1 var(--serif);color:var(--red);
  font-variant-numeric:tabular-nums;margin-right:6px}

/* The current designation, set against a population split that may predate it. Green is the
   site "checked / current" colour, which is exactly what this line asserts. */
.facility-report__now{padding:13px 15px;background:var(--red-soft);border-radius:9px}
.facility-report__now b{color:var(--ink)}

/* Per-block provenance. Each block cites its own report, because the sources are nearly two
   years apart and a single page-level "as of" would be false for at least one of them. */
.facility-report__blockmeta{margin:14px 0 0;padding-top:11px;border-top:1px solid var(--rule);
  color:var(--muted);font:400 .74rem/1.5 var(--mono);letter-spacing:.02em}

/* Attribution, not a verification stamp: CC BY obliges us to name the agency wherever the
   figures appear. */
.facility-report__src{max-width:var(--measure);margin:14px 0 0;color:var(--muted);
  font-size:.8rem;line-height:1.55;padding-left:14px;border-left:2px solid var(--accent-hover)}

@media (max-width:620px){
  .facility-report__block{padding:20px 18px;border-radius:14px}
  .levelkey{grid-template-columns:1fr}
  .facility-report__stat b{font-size:1.8rem}
}

/* Browse by place. Replaces two orphan <h2>s that sat outside any section with no styling
   at all — the visible symptom of a block nobody had designed, only emitted. */
.state-places{margin:clamp(74px,9vw,112px) 0 0}
.state-places>header{max-width:var(--measure);margin-bottom:30px}
.state-places>header h2{margin:0 0 14px}
.state-places>header p{color:var(--muted)}
.state-places h3{margin:0 0 16px;font:700 .95rem/1.3 var(--ui);color:var(--muted);
  text-transform:uppercase;letter-spacing:.06em}

/* Dense on purpose. 46 counties is a navigation aid, not a feature list — it has to be
   scannable in one glance, which a card grid at guide-card scale would not be. */
.place-grid{list-style:none;margin:0;padding:0;max-width:none;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:8px}
.place-grid>li>a{min-height:50px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:11px 15px;background:var(--paper-2);border:1px solid var(--rule);
  border-radius:10px;text-decoration:none}
.place-grid b{font:600 .95rem/1.25 var(--ui);color:var(--ink)}
.place-grid span{flex:0 0 auto;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}
.place-grid>li>a:hover{background:#fff;border-color:rgba(59,130,246,.45)}
.place-grid>li>a:hover b{color:var(--red)}

/* Cities are secondary: a family who knows the county is better served by the county page,
   which carries the sheriff, the custody search and the court. Collapsed, not deleted. */
.place-cities{margin:26px 0 0;border-top:1px solid var(--rule);padding-top:18px}
.place-cities summary{min-height:44px;display:flex;align-items:center;cursor:pointer;
  font:700 .95rem/1.3 var(--ui);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.place-cities summary::marker{color:var(--red)}
.place-cities[open] summary{margin-bottom:16px}

@media (max-width:760px){
  .state-places{margin-left:16px;margin-right:16px;margin-top:72px}
  .place-grid{grid-template-columns:1fr 1fr;gap:7px}
  .place-grid>li>a{padding:10px 12px}
}
@media (max-width:460px){
  .place-grid{grid-template-columns:1fr}
}

/* THE JOURNEY SPINE.
   The site's first real graphic. It exists because every competitor lists jails and prisons
   as two directories and none of them says they are one path — which is exactly why a
   family searching the wrong system decides the person has disappeared.
   Numbered, connected, and each stage links to the page that answers it. */
.journey{margin:clamp(40px,5vw,58px) 0 0;padding:0}
.journey figcaption{max-width:var(--measure);margin:0 0 26px;color:var(--muted);font-size:.95rem;line-height:1.6}
.journey figcaption b{color:var(--ink)}

.journey-steps{list-style:none;margin:0;padding:0;max-width:none;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}

.journey-step{position:relative}
.journey-step>a,.journey-step>div{
  height:100%;display:flex;flex-direction:column;gap:7px;
  padding:22px 20px;background:var(--paper-2);
  border:1px solid var(--rule);border-radius:14px;text-decoration:none}

/* The connector. A chevron cut into the left edge of each following card turns six boxes
   into one sequence without drawing a single arrow. */
.journey-step + .journey-step::before{
  content:"";position:absolute;left:-11px;top:50%;width:12px;height:12px;
  transform:translateY(-50%) rotate(45deg);
  background:var(--paper-2);border-top:1px solid var(--rule);border-right:1px solid var(--rule);z-index:2}
/* First card of each row starts a new leg — no connector pointing at nothing. */
.journey-steps>li:nth-child(3n+1)::before{display:none}
.journey-fork + .journey-step::before{display:none}

.journey-n{display:inline-flex;align-items:center;justify-content:center;
  width:25px;height:25px;border-radius:50%;background:var(--ink);color:var(--paper);
  font:600 .76rem/1 var(--mono);font-variant-numeric:tabular-nums}
.journey-step b{font:700 1rem/1.28 var(--ui);color:var(--ink)}
.journey-b{color:var(--muted);font-size:.83rem;line-height:1.5}
.journey-step>a:hover{background:#fff}
.journey-step>a:hover b{color:var(--red)}

/* Reception is where families are most often blindsided, so it is the one stage that
   carries emphasis. One accent, per the colour rule. */
.journey-step--reception>a,.journey-step--reception>div{background:var(--red-soft)}
.journey-step--reception + .journey-step::before{background:var(--paper-2)}
.journey-step--reception .journey-n{background:var(--red)}

/* The fork. Most people go home from court; the prison branch must not read as default. */
.journey-fork{grid-column:1/-1;margin:10px 0 0;padding:12px 16px;
  background:var(--red-soft);border-radius:10px}
.journey-fork span{color:#2f4a3c;font:600 .84rem/1.45 var(--ui)}

@media (max-width:900px){
  .journey-steps{grid-template-columns:1fr}
  .journey-steps>li:nth-child(3n+1)::before{display:none}
  .journey-step + .journey-step::before{left:50%;top:-11px;
    transform:translateX(-50%) rotate(135deg)}
}


/* PALETTE COMPLETION -----------------------------------------------------------------
   The retokenisation to the live jail411 palette replaced --red/--red-soft with blue
   values but left --gold and --green defining the retired warm-editorial scheme, with
   30 rules still painting from them. Those rules now use the live family.

   --green survives deliberately, for the two places it is an ACCENT rather than a
   surface: the verified stamp and the coverage indicator. That is the whole of the
   standing rule -- green may mark a status, it may never be a page's colour. */

/* SHARED SYSTEM CONTRACT --------------------------------------------------------------
   Dormant Stage 3 vocabulary for reusable components. Existing templates retain their
   legacy classes until each page family is migrated and regression-tested.

   Approved responsive contract:
   1050px — tighten wide multi-column compositions.
   820px  — mobile navigation and stacked split compositions.
   560px  — true one-column mobile composition.
   360px  — narrow-phone cleanup.
   New shared-system rules must use this scale rather than invent another global one. */
.site-shell{width:min(var(--j411-shell),calc(100% - 48px));margin-inline:auto}

.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:1px solid transparent;border-radius:0;font-family:'Atkinson',system-ui,sans-serif;font-weight:700;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer}
.button.button--primary{min-height:50px;background:var(--j411-orange);color:var(--j411-white);border-color:var(--j411-orange)}
.button.button--secondary{background:transparent;color:var(--j411-white);border-color:currentColor}
.button.button--utility{background:var(--j411-navy);color:var(--j411-white);border-color:var(--j411-navy)}
.button.button--utility.button--link{min-height:0;padding:0;background:transparent;color:var(--j411-blue);border:0}

.breadcrumbs{color:var(--j411-muted);font-family:'Atkinson',system-ui,sans-serif;font-size:.875rem}
.breadcrumbs__list{max-width:none;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.breadcrumbs__item{display:inline-flex;align-items:center;gap:8px}
.breadcrumbs__item:not(:last-child)::after{content:"/";color:var(--j411-line)}
.breadcrumbs__link{color:var(--j411-blue)}
.breadcrumbs__current{color:var(--j411-copy)}

/* Shared accessibility utilities. This declaration intentionally matches the existing
   blue-pages compatibility copy byte-for-property so moving ownership causes no drift. */
.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%);border:0}
.button:focus-visible,.site-shell :focus-visible{outline:3px solid var(--j411-gold);outline-offset:4px}

@media (prefers-reduced-motion:reduce){
  .site-shell{scroll-behavior:auto}
  .site-shell *,.site-shell *::before,.site-shell *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (max-width:560px){
  .site-shell{width:min(var(--j411-shell),calc(100% - 36px))}
}
