/* Broken Champions — shared one-screen app shell (matches the home page)
   Built 2026-10-14. Page never scrolls on normal screens; boxes may scroll inside.
   Falls back to normal page scrolling when zoomed / large text / very short screens (.flow). */
:root{
  --bg:#070709;--panel:#0e141d;--panel2:#121a26;--line:rgba(255,255,255,.1);
  --cyan:#6fe6ff;--blue:#3b82f6;--gold:#ffcf5a;--orange:#fb923c;--ember:#ff5a1f;
  --tx:#edf1f6;--mut:#a3aebb;--gut:clamp(16px,3vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden}
body{background:var(--bg);color:var(--tx);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{margin:0;text-transform:uppercase;font-weight:900;letter-spacing:-.01em;line-height:1.05}
p{margin:0 0 .55em;line-height:1.55}
p:last-child{margin-bottom:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--gold);color:#140a00;padding:10px 16px;border-radius:8px;font-weight:800}
.skip:focus{left:16px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.shell{height:100vh;height:100dvh;width:100%;display:grid;grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto minmax(0,1fr) auto;position:relative;isolation:isolate}
.shell::before{content:"";position:absolute;inset:0;z-index:-2;
  background:radial-gradient(60% 70% at 12% 30%,rgba(255,90,31,.16),transparent 70%),
             radial-gradient(50% 60% at 90% 10%,rgba(111,230,255,.09),transparent 70%),var(--bg)}
canvas.embers{position:absolute;inset:0;z-index:-1;pointer-events:none}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;cursor:pointer;font:800 .78rem/1 Inter,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.72rem 1.1rem;white-space:nowrap;text-decoration:none;min-height:40px}
.donate{background:linear-gradient(135deg,var(--gold),var(--orange));color:#160a00;box-shadow:0 0 22px rgba(255,170,60,.35)}
.ghost{background:transparent;color:var(--cyan);border:1.5px solid var(--cyan)}
/* ===== page head ===== */
.phead{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem 2rem;padding:clamp(.6rem,1.8vh,1.2rem) var(--gut) clamp(.4rem,1.2vh,.8rem);max-width:1440px;width:100%;margin:0 auto}
.phead-txt{flex:1 1 520px;min-width:0}
.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin:0 0 .35rem}
.phead h1{font-size:clamp(1.45rem,3vw,2.5rem)}
.phead h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{font-size:clamp(.9rem,1.15vw,1.02rem);color:#d5dde7;margin-top:.4rem;max-width:80ch}
.pacts{display:flex;flex-wrap:wrap;gap:.5rem}

/* ===== section rail: wide picture cards (not auto-advancing) ===== */
.rail-wrap{position:relative;padding:0 0 .55rem}
.rail{display:flex;gap:.6rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.15rem var(--gut);max-width:1440px;margin:0 auto;scroll-behavior:smooth}
.rail::-webkit-scrollbar{display:none}
.scard{flex:1 0 190px;max-width:320px;height:clamp(62px,9vh,86px);border-radius:12px;position:relative;overflow:hidden;cursor:pointer;
  scroll-snap-align:start;border:1px solid var(--line);background:#0b0f15;display:flex;align-items:center;text-align:left;padding:0;color:#fff;font:inherit;
  transition:transform .25s,border-color .25s,box-shadow .25s}
.scard .bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 6s ease,filter .3s;filter:saturate(.8) brightness(.75)}
.scard::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,11,.95),rgba(5,7,11,.62) 60%,rgba(5,7,11,.3))}
.scard>div{position:relative;z-index:1;padding:.5rem .8rem;min-width:0}
.scard .n{font-size:.58rem;font-weight:900;letter-spacing:.16em;color:var(--orange)}
.scard b{display:block;font-size:.86rem;font-weight:900;text-transform:uppercase;letter-spacing:.01em;line-height:1.15;margin:.1rem 0 .15rem}
.scard span.bl{display:block;font-size:.72rem;color:#c3ccd7;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scard:hover{transform:translateY(-2px);border-color:rgba(255,207,90,.5)}
.scard:hover .bg{transform:scale(1.08)}
.scard[aria-selected="true"]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 8px 26px rgba(255,140,40,.28)}
.scard[aria-selected="true"] .bg{filter:saturate(1) brightness(.9)}
.scard[aria-selected="true"]::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:2;background:linear-gradient(90deg,var(--gold),var(--ember))}
@media(max-width:760px){.scard{flex:0 0 72%;max-width:none}.scard span.bl{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}}

/* ===== stage ===== */
.stage{min-height:0;position:relative;max-width:1440px;width:100%;margin:0 auto;padding:0 var(--gut) .6rem;display:flex;flex-direction:column}
.sec{display:flex;min-height:0;flex:1;flex-direction:column}
html.js .sec{display:none}
html.js .sec.on{display:flex;animation:secIn .45s cubic-bezier(.2,.8,.2,1)}
html:not(.js) .box{opacity:1;transform:none}
html:not(.js),html:not(.js) body{height:auto;overflow:auto}
html:not(.js) .shell{height:auto}
html:not(.js) .track{display:flex;flex-wrap:wrap}
html:not(.js) .box{flex:1 1 300px;height:auto;min-height:220px}
@keyframes secIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.1rem 0 .6rem}
.sec-head h2{font-size:clamp(1rem,1.7vw,1.35rem)}
.sec-head h2::before{content:"";display:inline-block;width:.55em;height:.55em;border-radius:50%;margin-right:.45em;vertical-align:.12em;
  background:radial-gradient(circle,var(--gold),var(--ember));box-shadow:0 0 10px var(--ember)}
.sec-intro{font-size:.88rem;color:#c9d2dd;margin-top:.3rem;max-width:90ch}
.sec-intro blockquote{margin:0;font-style:italic;color:#ffe6a8}
.pager{display:flex;align-items:center;gap:.45rem;flex:none}
.pager button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:#fff;cursor:pointer;font-size:1.1rem;line-height:1}
.pager button:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}
.pager button:disabled{opacity:.3;cursor:default}
.dots{display:flex;gap:.3rem}
.dots i{width:7px;height:7px;border-radius:999px;background:rgba(255,255,255,.22);transition:.3s;cursor:pointer}
.dots i.on{width:22px;background:linear-gradient(90deg,var(--gold),var(--ember))}
.count{font-size:.7rem;color:var(--mut);font-weight:700;min-width:3.2em;text-align:right}

/* track: boxes slide as a carousel when they don't all fit */
.view{flex:1;min-height:0;overflow:hidden;position:relative;border-radius:16px}
.track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(var(--rows,1),minmax(0,1fr));grid-auto-columns:calc((100% - (var(--per,3) - 1) * var(--g,14px)) / var(--per,3));height:100%;gap:var(--g,14px);transition:transform .6s cubic-bezier(.2,.8,.2,1);touch-action:pan-y}
.box{min-width:0;min-height:0;position:relative;overflow:hidden;border-radius:16px;
  border:1px solid var(--line);background:#0b0f15;display:flex;flex-direction:column;
  opacity:0;transform:translateY(14px);transition:opacity .5s, transform .5s, border-color .3s, box-shadow .3s}
.sec.on .box{opacity:1;transform:none}
.sec.on .box:nth-child(2){transition-delay:.06s}.sec.on .box:nth-child(3){transition-delay:.12s}.sec.on .box:nth-child(4){transition-delay:.18s}
.box:hover{border-color:rgba(255,207,90,.45);box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 1px rgba(255,207,90,.15)}
.box .bg{position:absolute;inset:-6%;background-size:cover;background-position:center;animation:drift 22s ease-in-out infinite alternate;filter:saturate(.9)}
@keyframes drift{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}
.box::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,7,11,.55) 0%,rgba(5,7,11,.8) 40%,rgba(5,7,11,.9) 100%)}
.box.poster .boxin{justify-content:flex-end}
.box.poster .body{flex:0 0 auto}
.box.poster::after{background:linear-gradient(180deg,rgba(5,7,11,.15) 0%,rgba(5,7,11,.55) 45%,rgba(5,7,11,.96) 100%)}
.box.art::after{background:linear-gradient(180deg,rgba(5,7,11,.15) 0%,rgba(5,7,11,.55) 55%,rgba(5,7,11,.8) 100%)}
.box.art .bg::after{content:"";position:absolute;right:-6%;bottom:-8%;width:62%;aspect-ratio:1;background:url(../img/emblem-badge.webp) center/contain no-repeat;opacity:.09;filter:grayscale(.3);border-radius:50%}
.box.noimg::after{background:linear-gradient(160deg,rgba(255,207,90,.05),rgba(14,20,29,.96) 50%)}
.boxin{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;padding:clamp(.85rem,1.6vh,1.2rem) 1.05rem .9rem;min-height:0}
.kick{font-size:.6rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:.25rem}
.box h3{font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.15;margin-bottom:.45rem;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.stat{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:900;line-height:1;margin:.1rem 0 .4rem;
  background:linear-gradient(90deg,var(--gold),var(--ember));-webkit-background-clip:text;background-clip:text;color:transparent}
.num{position:absolute;right:.9rem;top:.6rem;z-index:1;font-size:2.4rem;font-weight:900;color:rgba(255,207,90,.16);line-height:1}
.body{flex:1;min-height:0;overflow:auto;font-size:clamp(.84rem,.98vw,.94rem);color:#dde4ec;line-height:1.55;padding-right:.3rem;
  scrollbar-width:thin;scrollbar-color:rgba(255,207,90,.4) transparent;
  -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 18px),transparent)}
.body.fits{-webkit-mask-image:none;mask-image:none}
.body ul,.body ol{margin:.2rem 0 .5rem;padding-left:1.15rem}
.body li{margin:.18rem 0}
.body li::marker{color:var(--gold)}
.body a{color:var(--cyan);text-underline-offset:2px}
.body strong{color:#fff}
.body blockquote{margin:.2rem 0 .5rem;padding-left:.8rem;border-left:3px solid var(--gold);font-style:italic;color:#ffe6a8}
.body table{width:100%;border-collapse:collapse;font-size:.8rem}
.body th,.body td{text-align:left;padding:.35rem .45rem;border-bottom:1px solid var(--line);vertical-align:top}
.body th{color:var(--gold);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;position:sticky;top:0;background:rgba(11,15,21,.97)}
.body audio{width:100%;margin:.4rem 0}
.more{align-self:flex-start;margin-top:.6rem;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  color:#160a00;background:linear-gradient(135deg,var(--gold),var(--orange));padding:.5rem .8rem;border-radius:999px}
.more:hover{filter:brightness(1.1)}
.scrollhint{position:absolute;right:.7rem;bottom:.55rem;z-index:2;font-size:.6rem;color:var(--gold);font-weight:800;letter-spacing:.08em;opacity:.8;pointer-events:none}
/* layout flavours */
.lay-steps .box h3{padding-right:2.8rem}
.lay-quote .box h3{font-size:.8rem;color:var(--gold)}
.lay-quote .body{font-size:clamp(1rem,1.4vw,1.2rem);font-style:italic;color:#fff1cc}
.lay-table .box{--per:1}
.video-btn{position:relative;flex:1;min-height:120px;border-radius:12px;overflow:hidden;border:0;padding:0;cursor:pointer;background:#000 center/cover;margin-top:.3rem}
.video-btn::after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  display:grid;place-items:center;font-size:1.4rem;color:#160a00;background:linear-gradient(135deg,var(--gold),var(--orange));box-shadow:0 0 30px rgba(255,140,40,.6)}
.video-frame{flex:1;width:100%;border:0;border-radius:12px;margin-top:.3rem;min-height:140px}

/* abstract art backgrounds */
.art-embers{background:radial-gradient(45% 55% at 30% 85%,rgba(255,90,31,.8),transparent 70%),radial-gradient(35% 40% at 75% 30%,rgba(255,207,90,.45),transparent 70%),radial-gradient(30% 30% at 10% 20%,rgba(59,130,246,.3),transparent 70%),#140806}
.art-dawn{background:radial-gradient(70% 45% at 50% 108%,rgba(255,160,60,.85),transparent 70%),radial-gradient(40% 30% at 80% 20%,rgba(111,230,255,.25),transparent 70%),linear-gradient(180deg,#0b1626 0%,#2a1736 55%,#4a2010 100%)}
.art-grid{background:radial-gradient(60% 60% at 70% 20%,rgba(111,230,255,.35),transparent 70%),radial-gradient(40% 40% at 15% 90%,rgba(255,138,42,.3),transparent 70%),
  repeating-linear-gradient(0deg,rgba(111,230,255,.09) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(111,230,255,.09) 0 1px,transparent 1px 28px),#07101a}
.art-chains{background:radial-gradient(50% 60% at 20% 30%,rgba(59,130,246,.3),transparent 70%),
  repeating-radial-gradient(circle at 0 0,transparent 0 14px,rgba(255,207,90,.12) 15px 17px,transparent 18px 30px),#0a0c12;background-size:auto,60px 60px,auto}

/* ===== slim legal bar ===== */
.legalbar{border-top:1px solid var(--line);background:#050506;padding:.42rem var(--gut);font-size:.66rem;color:var(--mut);
  display:flex;flex-wrap:wrap;gap:.3rem 1rem;justify-content:center;text-align:center}
.legalbar a{color:var(--cyan)}

/* ===== phones ===== */
@media(max-width:760px){
  .phead{gap:.5rem}
  .lede{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .pacts .btn{padding:.55rem .8rem;font-size:.68rem;min-height:36px}
  .sec-head{align-items:center}
  .sec-intro{display:none}
}
@media(max-height:700px) and (min-width:761px){.lede{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

/* ===== flow mode: normal page scrolling for zoom / big text / tiny screens (accessibility) ===== */
html.flow,html.flow body{height:auto;overflow:auto}
html.flow .shell{height:auto;grid-template-rows:auto}
html.flow .view{overflow:visible}
html.flow .track{display:flex;flex-direction:column;transform:none!important;height:auto}
html.flow .box{flex:none;height:auto;min-height:0}
html.flow .body{overflow:visible;-webkit-mask-image:none;mask-image:none}
html.flow .pager,html.flow .scrollhint{display:none}
html.flow .lede{display:block;-webkit-line-clamp:unset}
html.flow .sec-intro{display:block}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .box{opacity:1;transform:none}
}
@media(min-width:761px){.scard b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* ===== fixes 2026-10-14 (afternoon) ===== */
/* section rail on computers/TVs: every tab fits on one row; arrows appear only if a narrow window still can't fit them */
@media(min-width:761px){.scard{flex:1 1 0;min-width:150px;max-width:320px}}
.rail-arrow{position:absolute;top:calc(50% - .275rem);transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,207,90,.55);background:rgba(10,13,19,.92);color:var(--gold);font-size:1.1rem;line-height:1;cursor:pointer;
  display:none;box-shadow:0 4px 14px rgba(0,0,0,.6)}
.rail-arrow.l{left:max(4px,calc((100% - 1440px)/2 + 4px))}
.rail-arrow.r{right:max(4px,calc((100% - 1440px)/2 + 4px))}
.rail-wrap.more-l .rail-arrow.l,.rail-wrap.more-r .rail-arrow.r{display:block}
.rail-arrow:hover{background:var(--gold);color:#160a00}
.rail-wrap.more-r::after,.rail-wrap.more-l::before{content:"";position:absolute;top:0;bottom:.55rem;width:56px;z-index:2;pointer-events:none}
.rail-wrap.more-r::after{right:0;background:linear-gradient(90deg,transparent,var(--bg))}
.rail-wrap.more-l::before{left:0;background:linear-gradient(270deg,transparent,var(--bg))}
@media(max-width:760px){.rail-arrow{display:none!important}}
/* short screens: tighten box headers so the words get the room */
.sec.compact .kick{margin-bottom:.1rem}
.sec.compact .stat{font-size:clamp(1.3rem,2.2vw,1.8rem);margin:0 0 .2rem}
.sec.compact .box h3{font-size:clamp(.86rem,1vw,.98rem);margin-bottom:.3rem}
.sec.compact .num{font-size:1.6rem}
.sec.compact .more{margin-top:.4rem;padding:.4rem .7rem}
.sec.compact .boxin{padding:.7rem .9rem .7rem}
/* still cramped: a "Read all" button slides the words up over the box */
.readbtn{display:none;position:absolute;right:.7rem;bottom:.6rem;z-index:3;font:inherit;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#160a00;background:linear-gradient(135deg,var(--gold),var(--orange));border:0;border-radius:999px;padding:.35rem .65rem;cursor:pointer}
.box.cramped .readbtn{display:block}
.box.cramped .scrollhint{display:none!important}
.box.reading .kick,.box.reading .stat,.box.reading .num,.box.reading .more{display:none}
.box.reading h3{font-size:.9rem;margin-bottom:.3rem}
.box.reading .body{flex:1 1 auto;-webkit-mask-image:none;mask-image:none;padding-bottom:2rem}
.box.reading::after{background:rgba(5,7,11,.93)}
.box.reading .boxin{justify-content:flex-start}
/* long section titles wrap instead of running off the screen */
.sec-head>div:first-child{min-width:0;flex:1}
.sec-head h2{overflow-wrap:break-word;text-wrap:balance}
.rail{scroll-padding-inline:var(--gut)}
/* ===== Find Help directory boxes (Oct 15 2026): address lines, tap-to-call buttons, search ===== */
.body .meta{font-size:.8em;color:var(--mut);margin-bottom:.3em;line-height:1.4}
.body .confirm{display:inline-block;font-size:.72em;font-weight:800;color:var(--orange);border:1px solid rgba(251,146,60,.55);border-radius:6px;padding:.05em .4em;margin-left:.25em}
.body .acts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.body .acts a{display:inline-flex;align-items:center;min-height:40px;padding:.45rem .8rem;border-radius:999px;font-size:.78rem;font-weight:800;text-decoration:none;color:var(--tx);background:rgba(14,20,29,.85);border:1px solid rgba(255,255,255,.18)}
.body .acts a:hover{border-color:var(--gold);color:var(--gold)}
.body .acts a.go{background:linear-gradient(135deg,var(--gold),var(--orange));color:#160a00;border:0}
.body .acts a.go:hover{filter:brightness(1.08);color:#160a00}
.eyebrow a{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}
.fh-search{display:flex;flex-direction:column;gap:.5rem}
.fh-search input{width:100%;font:inherit;font-size:1rem;padding:.75rem .9rem;border-radius:12px;border:1px solid rgba(255,207,90,.45);background:rgba(7,9,13,.9);color:var(--tx)}
.fh-search input:focus{outline:2px solid var(--gold);outline-offset:1px}
.fh-res{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.fh-res li{margin:0}
.fh-res a{display:flex;justify-content:space-between;gap:.6rem;padding:.55rem .75rem;border-radius:10px;background:rgba(14,20,29,.85);border:1px solid rgba(255,255,255,.12);text-decoration:none;color:var(--tx);font-weight:700;font-size:.9rem}
.fh-res a small{color:var(--mut);font-weight:600}
.fh-res a:hover,.fh-res a:focus{border-color:var(--gold)}
.fh-list{columns:2;column-gap:1rem;list-style:none;padding:0!important;margin:0!important}
.fh-list li{break-inside:avoid;margin:.1rem 0!important}
.fh-list li::marker{content:none}
@media print{.body .acts{display:none}}
.body .elogo-s{float:right;width:28px;height:28px;border-radius:6px;background:#fff;margin:0 0 .3rem .5rem}
/* Short screens (unfolded phones, small laptops): tighten the page header so boxes keep room and the page never has to scroll (Oct 15 2026) */
@media (max-height:700px) and (min-width:600px){
  .phead{padding-top:.45rem;padding-bottom:.3rem;align-items:center}
  .phead .lede{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:.2rem}
  .phead .eyebrow{margin-bottom:.15rem}
  .pacts .btn{padding:.5rem .8rem;font-size:.68rem;min-height:36px}
  .sec-intro{display:none}
}
/* Find Help directory pages on phones: keep the intro to two lines so the listings get the room */
@media (max-width:599px){
  .phead:has(.eyebrow a) .lede{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .phead:has(.eyebrow a) .pacts .btn:nth-child(3){display:none}
}
/* long carousels (Find Help directories can have 30+ pages): keep the dot row on one line */
.pager .dots{flex-wrap:nowrap;max-width:min(34vw,240px);overflow:hidden}

/* Find Help · parole district map (Oct 15 2026) */
.fh-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(.6rem,1.6vw,1.4rem);height:100%;min-height:0;align-items:stretch}
.fh-svg{width:100%;height:100%;min-height:0;display:block}
.fh-svg .st{fill:none;stroke:var(--gold,#ffcf5a);stroke-width:1.6;filter:drop-shadow(0 0 6px rgba(255,160,40,.35))}
.fh-svg .cty{stroke:rgba(10,10,14,.55);stroke-width:.7;fill-opacity:.82;cursor:pointer;transition:opacity .2s,filter .2s}
.fh-svg .cty:hover,.fh-svg .cty:focus{filter:brightness(1.6);outline:none}
.fh-svg .cty.dim{opacity:.28}
.fh-svg .cty.sel{fill:#fff4d6;fill-opacity:1;stroke:#fb923c;stroke-width:1.6;filter:drop-shadow(0 0 7px rgba(251,146,60,.9))}
.fh-svg .pdl{font:900 15px Inter,system-ui,sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.75);stroke-width:3px}
.fh-pick{overflow:auto;min-height:0;padding-right:.25rem}
.fh-pick h3{margin:.1rem 0 .4rem}
.fh-legend{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem;margin-top:.6rem;font-size:.8rem;color:var(--mut,#a3aebb)}
.fh-legend i{display:inline-block;width:.85rem;height:.85rem;border-radius:3px;margin-right:.4rem;vertical-align:-2px;border:1px solid rgba(255,255,255,.25)}
@media (max-width:599px){.fh-map{grid-template-columns:1fr;grid-template-rows:minmax(0,1.25fr) minmax(0,1fr)}.fh-legend{grid-template-columns:1fr 1fr;font-size:.75rem}}

/* Find Help · district badges + small picture carousels for county lists (Oct 15 2026) */
.fh-svg .pdb{cursor:pointer;outline:none}
.fh-svg .pdb circle{stroke:#fff4d6;stroke-width:2;filter:drop-shadow(0 0 5px rgba(0,0,0,.8));transition:r .2s}
.fh-svg .pdb .pdn{font:900 13px Inter,system-ui,sans-serif;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.fh-svg .pdb:hover circle,.fh-svg .pdb:focus circle{stroke:#ffcf5a;stroke-width:3}
.fh-svg .pdb.on circle{stroke:#ffcf5a;stroke-width:3.5;filter:drop-shadow(0 0 8px rgba(255,207,90,.9))}
.fh-pick{display:flex;flex-direction:column;gap:.5rem;overflow:hidden}
.fh-pick h3{margin:0}.fh-pick .meta{margin:0}
.fh-mini{position:relative;display:flex;align-items:center;gap:.35rem;min-width:0}
.fh-mrow{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-width:0;padding:2px;overscroll-behavior-x:contain}
.fh-mrow::-webkit-scrollbar{display:none}
.fh-mb{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(14,20,29,.85);color:#ffcf5a;font:700 18px/1 Inter,sans-serif;cursor:pointer}
.fh-mb:disabled{opacity:.25;cursor:default}
.fh-mini.one .fh-mb{display:none}
.fh-chip{flex:none;scroll-snap-align:start;width:118px;height:78px;border-radius:12px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:.4rem .5rem;text-decoration:none!important;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 -46px 32px -10px rgba(0,0,0,.9)}
.fh-chip b{color:#fff;font:800 .82rem/1.1 Inter,sans-serif;text-transform:uppercase;letter-spacing:.02em}
.fh-chip small{color:#ffcf5a;font:600 .68rem/1.2 Inter,sans-serif}
.fh-chip:hover,.fh-chip:focus{border-color:#ffcf5a;outline:none}
.fh-chip.on{border:2px solid #fb923c;box-shadow:inset 0 -46px 32px -10px rgba(0,0,0,.9),0 0 10px rgba(251,146,60,.7)}
.fh-dchip{flex:none;scroll-snap-align:start;display:flex;align-items:center;gap:.5rem;padding:.35rem .7rem .35rem .35rem;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(14,20,29,.8);color:#edf1f6;cursor:pointer;text-align:left;min-height:44px}
.fh-dchip b{width:32px;height:32px;border-radius:50%;background:var(--c);display:grid;place-items:center;font:900 .9rem Inter,sans-serif;color:#fff;border:2px solid #fff4d6;flex:none}
.fh-dchip span{font:700 .78rem/1.15 Inter,sans-serif;white-space:nowrap}
.fh-dchip small{display:block;font-weight:500;color:#a3aebb;font-size:.68rem}
.fh-dchip:hover,.fh-dchip:focus{border-color:#ffcf5a;outline:none}
.fh-dchip.on{border-color:#fb923c;background:rgba(251,146,60,.16);box-shadow:0 0 10px rgba(251,146,60,.45)}
.body .fh-mini{margin-top:.4rem}
@media (max-width:599px){.fh-map{grid-template-rows:minmax(0,1fr) auto;gap:.5rem}.fh-svg{max-height:100%}.fh-chip{width:104px;height:64px}.fh-pick{gap:.4rem}.fh-pick #fhkick,.fh-pick #fhsel{display:none}.fh-svg .pdb circle{r:19px;stroke-width:2.5}.fh-svg .pdb .pdn{font-size:19px}.fh-svg .st{stroke-width:2.4}}
@media (max-height:700px) and (min-width:600px){.fh-chip{height:62px}.fh-pick .meta,.fh-pick #fhkick,.fh-pick #fhsel h3{display:none}.fh-svg .pdb circle{r:16px}.fh-svg .pdb .pdn{font-size:16px}}
/* Find Help on phones: shorter header so the map and boxes sit higher (Oct 15 2026) */
@media (max-width:599px){html.fh-fit .phead .lede{display:none}html.fh-fit .phead .pacts .btn:nth-child(3){display:none}html.fh-fit .phead{padding-bottom:.4rem}}
.box:has(.fh-map) .scrollhint{display:none!important}.body:has(.fh-map){overflow:hidden;-webkit-mask-image:none;mask-image:none}
