.mapbox{position:relative;container-type:inline-size}
/* lettering over a drawing carries a halo in the colour beneath it, so a boundary line never runs through a letter */
.ml{--halo:var(--land);text-shadow:1.5px 0 0 var(--halo),-1.5px 0 0 var(--halo),0 1.5px 0 var(--halo),0 -1.5px 0 var(--halo),1px 1px 0 var(--halo),-1px 1px 0 var(--halo),1px -1px 0 var(--halo),-1px -1px 0 var(--halo),0 0 3px var(--halo),0 0 3px var(--halo)}
.mapbox svg{display:block;width:100%;height:auto}
.ml{position:absolute;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;line-height:1.15;text-align:center}
.ml-nb{font-size:var(--fs-label);font-weight:600;font-stretch:86%;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ml-nb .s{display:none}
.ml-st b{display:block;font-size:var(--fs-small);font-weight:650;letter-spacing:.04em;text-transform:uppercase;font-stretch:92%}
.ml-st .n{display:block;font-weight:600;letter-spacing:-.03em;line-height:.95;font-variant-numeric:tabular-nums lining-nums}
.ml-st .u{display:block;font-size:var(--fs-small);font-weight:500}
.ml-ga{color:var(--on-ga);--halo:var(--ga)} .ml-ga .n{font-size:clamp(34px,5vw,60px)}
.ml-city{font-size:var(--fs-fine);font-weight:600;color:var(--ink);text-align:left}
.ml-city.on-ga-c{color:var(--on-ga);--halo:var(--ga);transform:translate(9px,-50%)}
.mapscale{flex:none;width:var(--w);display:grid;gap:3px}
.mapscale i{display:block;height:5px;border:1px solid var(--ink-2);background:linear-gradient(90deg,var(--ink-2) 50%,transparent 50%)}
.mapscale span{display:flex;justify-content:space-between;font-size:var(--fs-label);line-height:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
@container (max-width:600px){.ml-nb .l{display:none}.ml-nb .s{display:inline}}
@media (max-width:767px){
  .ml-city{display:none}
  .ml-st b{font-size:var(--fs-fine)} .ml-st .u{font-size:var(--fs-fine)}
}
@media (max-width:399px){}

.gabox .co{stroke:var(--co-line);stroke-width:.6;stroke-linejoin:round}
/* county links: no underline (there is no text to underline), a ring with focus, and under the pointer or with focus
   a fill that stands at least 1.5:1 from the resting one: darker on light paper, lighter on dark */
.gabox{--c1h:#C5B2AD;--c2h:#C0958B;--c3h:#B57264;--c4h:#98453A;--c5h:#4C2526}
:root[data-theme=dark] .gabox,:root[data-theme=dark] .maplegend{--c5:#F5C6A7;--c1h:#654A43;--c2h:#926459;--c3h:#C8897B;--c4h:#F7D1C6;--c5h:#FFFFFF}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gabox,:root:not([data-theme=light]) .maplegend{--c5:#F5C6A7;--c1h:#654A43;--c2h:#926459;--c3h:#C8897B;--c4h:#F7D1C6;--c5h:#FFFFFF}}
.co-link{cursor:pointer;text-decoration:none}
.co-link:focus{outline:none}
.co-link .co{transition:fill .12s linear}
.co-link:focus-visible .b1{fill:var(--c1h)}@media (hover: hover) and (pointer: fine){.co-link:hover .b1{fill:var(--c1h)}}.co-link:focus-visible .b2{fill:var(--c2h)}@media (hover: hover) and (pointer: fine){.co-link:hover .b2{fill:var(--c2h)}}.co-link:focus-visible .b3{fill:var(--c3h)}@media (hover: hover) and (pointer: fine){.co-link:hover .b3{fill:var(--c3h)}}.co-link:focus-visible .b4{fill:var(--c4h)}@media (hover: hover) and (pointer: fine){.co-link:hover .b4{fill:var(--c4h)}}.co-link:focus-visible .b5{fill:var(--c5h)}@media (hover: hover) and (pointer: fine){.co-link:hover .b5{fill:var(--c5h)}}
.co-link:focus-visible .co{stroke:var(--focus);stroke-width:3;vector-effect:non-scaling-stroke}
.co-ring,.leads,.ga-edge{pointer-events:none}
.co-ring path{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.co-ring .h{stroke:var(--water);stroke-width:6}
.co-ring .r{stroke:var(--focus);stroke-width:3}
.b0{fill:var(--c0);background:var(--c0)}.b1{fill:var(--c1);background:var(--c1)}.b2{fill:var(--c2);background:var(--c2)}
.b3{fill:var(--c3);background:var(--c3)}.b4{fill:var(--c4);background:var(--c4)}.b5{fill:var(--c5);background:var(--c5)}
.ga-edge{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}
.leads path{stroke:var(--ink);stroke-width:.9;fill:none}
.leads circle{fill:var(--ink);stroke:var(--water);stroke-width:1}
.ml-co{--halo:var(--water);transform:translate(6px,-50%);text-align:left;font-size:var(--fs-fine);font-weight:500;color:var(--ink)}
.ml-co.r{transform:translate(calc(-100% - 6px),-50%)}
.ml-co b{font-weight:700}
@container (max-width:479px){.ml-co,.leads{display:none}}
.maplegend{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:var(--fs-fine);color:var(--ink-2)}
.maplegend li{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.maplegend i{width:14px;height:12px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--control-edge)}
@media (max-width:389px){.maplegend{display:grid;grid-template-columns:repeat(3,max-content);gap:6px 18px}}
.d-ga{--pk:var(--c4)}

.sthero{padding:36px 0 56px}
.stgrid{display:grid;gap:28px}
.stgrid>*{min-width:0}
.count-h{margin-top:18px}
.big{display:block;font-size:clamp(104px,15vw,176px);line-height:.86;font-weight:540;letter-spacing:-.055em;margin-left:-.04em}
.big-u{display:block;font-size:clamp(28px,2.9vw,38px);line-height:1.1;margin-top:16px;max-width:11.3em;text-wrap:balance}
.subread{display:grid;grid-template-columns:auto auto;justify-content:start;gap:0 40px;margin-top:24px;border-top:1px solid var(--rule)}
.subread>div{padding-top:14px}
.subread .v{font-size:28px;font-weight:560;letter-spacing:-.02em;line-height:1.1;white-space:nowrap}
.subread .of{font-size:var(--fs-body);font-weight:500;letter-spacing:0;color:var(--ink-2)}
.subread .u{font-size:var(--fs-small);color:var(--ink-2)}
.stcopy .body{margin-top:22px}
.st-doors{display:grid;gap:12px}
.gdoor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:center;padding:18px 18px 18px 20px;min-height:88px;border:1px solid var(--rule);border-radius:8px;background:var(--sheet);color:var(--ink);font-weight:400}
@media (hover: hover) and (pointer: fine){.gdoor:hover{color:var(--ink);border-color:var(--control-edge)}}
.gdoor .t{font-size:var(--fs-block);font-weight:600}
.gdoor .m{grid-column:1;font-size:var(--fs-small);color:var(--ink-2)}
.gdoor .go{grid-row:1/span 2;grid-column:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--control-edge);transition:transform .18s var(--ease),background-color .16s linear,color .16s linear}
@media (hover: hover) and (pointer: fine){.gdoor:hover .go{transform:translateX(3px);background:var(--ink);color:var(--paper);box-shadow:none}}
.gdoor.primary{border-color:var(--ink);box-shadow:inset 0 0 0 .5px var(--ink)}
.stmap .caption{display:grid;gap:10px}
.stmap .capline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 24px}
/* No county names or leaders where the sheet is under 480 px: up to 521 (the sheet is the viewport less 42) and from
   1024 to 1306 (five of twelve columns). Said by viewport because Safari before 16 has no container queries. */
@media (max-width:521px),(min-width:1024px) and (max-width:1306px){.ml-co,.leads{display:none}}
/* Where a phone's sheet carries no county names, the route to a county is the list: one line under the map says so and the
   county list stands directly under the figure. From 522 up it keeps its place beside the trades: exactly one is ever shown. */
.capnote,.stcos{display:none}
.capnote{color:var(--ink)}
@media (max-width:521px){.capnote,.stcos{display:block}.split .cos-wide{display:none}}
.stmap{container-type:inline-size}
.stmap .mapscale{display:none}
@container (min-width:440px){.stmap .mapscale{display:grid}}
@media (min-width:640px){.st-doors{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){
  .sthero{padding:56px 0 80px}
  .stgrid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto 1fr;column-gap:56px;row-gap:28px}
  .stcopy{grid-column:1;grid-row:1}
  .st-doors{grid-column:1;grid-row:2;align-self:end}
  .stmap{grid-column:2;grid-row:1/span 2;display:grid;grid-template-rows:1fr auto}
  .stmap .mapsheet{display:grid;align-items:center}
}
/* D: the statement heading. Fraunces (the one display face), sturdy at this size; never on a figure. */
.h-state{font-size:clamp(30px,3.9vw,52px);line-height:1.06;letter-spacing:-.016em;text-wrap:balance;max-width:15em}
.split{display:grid;gap:56px}
.split>*{min-width:0}
@media (min-width:1024px){.split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px}}
/* scale list: the bar sits in its own column, never under the word */
.scale li{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:12px;align-items:center;border-bottom:1px solid var(--rule)}
.scale{border-top:1.5px solid var(--ink)}
.scale a,.scale .row-s{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:center;min-height:48px;color:var(--ink);font-weight:550;font-size:var(--fs-small)}
@media (hover: hover) and (pointer: fine){.scale a:hover{color:var(--link-hover)}}
.scale .bar{height:6px;background:var(--grid);position:relative;border-radius:1px}
.scale .bar i{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:1px;transform-origin:left;animation:grow .7s var(--ease) both}
.scale .n{text-align:right;font-weight:600}
@media (max-width:1279px){.scale a{min-height:56px}.scale.plain a{min-height:48px}}
.scale.plain a{grid-template-columns:1fr}
.scale.plain li:has(>a:only-child){grid-template-columns:1fr}
.sub-h{font-size:var(--fs-block);font-weight:600;margin:40px 0 14px}
.sub-h:first-child{margin-top:0}
.after{margin-top:10px;display:flex;flex-wrap:wrap;gap:0 24px}
.datum-row{margin-top:14px}
.grants-band{display:grid;gap:20px}
.grants-head{margin:0}
@media (min-width:1024px){.grants-band{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:56px;align-items:start}}
.says{display:grid;gap:0;border-top:1.5px solid var(--ink)}
.says li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--rule)}
.says svg{width:14px;height:14px;color:var(--contour);margin-top:6px}
.says b{font-weight:600}
/* ---------- the offer: the one-time package first (Atlas's pick, rule 11); the page's ONE red action ---------- */
.offer-sec{padding-block:64px}
.signup{display:grid;gap:22px;padding:32px 24px}
.signup .label+.h-state{margin-top:12px}
.signup .body{margin-top:12px}
.price-line{margin-top:16px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--ink)}
.price-line .pr{font-size:44px;line-height:1;font-weight:600;letter-spacing:-.03em}
.price-line .pu{font-size:var(--fs-block);font-weight:550}
@media (min-width:900px){.signup{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:48px;padding:44px 48px}}
.signup .act{display:grid;gap:8px;justify-items:start}
.signup .act .small a{display:inline-flex;align-items:center;min-height:44px}
@media (min-width:900px){.signup .act{justify-items:end;text-align:right}}

/* Text links take the state's own ink (deep red in Georgia, blue in Tennessee), so the pure red is the page's ONE main action.
   On the border page each side's section wears its own state. Inside a night band the dark tokens of the same names apply. */
.d-border main{--link:var(--ink);--link-hover:var(--ink-2)}
/* Tennessee's plate: the state's one number, beside its drawing (H0's .plate) */
.stmap .plate .n{font-size:clamp(40px,5vw,56px)}
.offer-sec.band .sheet{border-color:transparent}

.cohero{padding:28px 0 56px}
@media (min-width:1024px){.cohero{padding:40px 0 72px}}
.crumbs ol{display:flex;flex-wrap:wrap;gap:0 8px;font-size:var(--fs-small);color:var(--ink-2)}
.crumbs li{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.crumbs li+li::before{content:"/";color:var(--ink-3)}
.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink-2);font-weight:550}
@media (hover: hover) and (pointer: fine){.crumbs a:hover{color:var(--ink)}}
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.h-page{font-size:clamp(40px,6.2vw,84px);line-height:1;letter-spacing:-.02em;text-wrap:balance;margin-top:12px;max-width:12em}
.cohero .subread{margin-bottom:22px}
.subread .upd{font-size:var(--fs-block)}
.cohero .body+.body,.cohero .statewide-line+.body,.cohero .body+.statewide-line{margin-top:12px}
.statewide-line{font-size:var(--fs-body);line-height:1.35;color:var(--ink)}
.statewide-line b{font-weight:600}
.cogrid{display:grid;gap:32px}
.cogrid>*{min-width:0}
.coloc{display:grid;gap:10px;max-width:420px}
.coloc svg{display:block;width:100%;height:auto;padding:14px}
.loc-o path{fill:var(--land);stroke:var(--land-line);stroke-width:.6;stroke-linejoin:round}
.loc-e{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}
.loc-c{fill:var(--pk);stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}
@media (min-width:1024px){.cogrid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:56px;align-items:end}.coloc{justify-self:end;width:100%}}
.co-sec{padding-block:56px}
@media (min-width:1024px){.co-sec{padding-block:80px}}
.co-group{margin-top:40px}
.co-group:first-child{margin-top:0}
.co-group .sub-h{margin:0 0 6px}
.co-group .cards{margin-top:14px}
.who-b{display:grid;gap:12px}
.kinds .row-s{grid-template-columns:1fr;padding:12px 0;min-height:0;font-weight:400}
.kinds b{display:block;font-weight:600}
.kinds .names{display:block;color:var(--ink-2);margin-top:2px}
/* the A to Z index: one letter, set large in the display face, then its counties */
.az{columns:1;column-gap:56px}
@media (min-width:700px){.az{columns:2}}
@media (min-width:1100px){.az{columns:3}}
.az-g{break-inside:avoid;display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 12px;padding-bottom:28px}
.az-l{font-size:56px;line-height:.9;color:var(--ink-3);letter-spacing:-.02em;padding-top:8px}
.az-rows{border-top:1.5px solid var(--ink)}
.az-rows li,.tn-cos li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border-bottom:1px solid var(--rule)}
.az-rows a,.tn-cos a,.tn-cos .row-s{display:flex;align-items:center;min-height:48px;color:var(--ink);font-weight:550;font-size:var(--fs-small)}
@media (hover: hover) and (pointer: fine){.az-rows a:hover,.tn-cos a:hover{color:var(--link-hover)}}
.az-rows .n,.tn-cos .n{font-weight:600;font-size:var(--fs-small)}
.co-sec .wrap>.sub-h:first-child{margin-top:0;margin-bottom:14px}
.tn-cos{columns:1;column-gap:56px;border-bottom:1px solid var(--rule)}
.tn-all{margin-top:28px}
.tn-all>summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;list-style:none}
.tn-all>summary::-webkit-details-marker{display:none}
.tn-all>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg) translateY(-3px)}
.tn-all[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.tn-all>summary .sub-h{margin:0}
@media (hover: hover) and (pointer: fine){.tn-all>summary:hover .sub-h{color:var(--link-hover)}}
.tn-all>summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (min-width:700px){.tn-cos{columns:2}}
@media (min-width:1100px){.tn-cos{columns:3}}
.tn-cos li{break-inside:avoid}
.tn-cos .row-s{color:var(--ink-2);font-weight:500}
.tn-cos li{border-bottom:0;border-top:1px solid var(--rule)}
.tn-cos .brk+li{border-top:1.5px solid var(--ink)}
/* Tennessee: the counties an open bid names come first, as chips in the state's colour; the full list of 95 is compact below */
.tn-open{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}
.tn-open .chip{min-height:44px;padding:4px 16px 4px 14px;font-size:var(--fs-small)}
.tn-open .chip b{font-weight:700;margin-left:4px}
@media (hover: hover) and (pointer: fine){.tn-open .chip:hover{color:var(--c-deep);box-shadow:inset 0 0 0 1.5px var(--c)}}
.tn-cos{columns:2}
@media (min-width:700px){.tn-cos{columns:3}}
@media (min-width:1100px){.tn-cos{columns:4}}
.tn-cos .row-s{min-height:34px;font-size:var(--fs-fine)}
.tn-cos a{color:var(--link);font-weight:650}
.placed{margin-top:28px;max-width:760px}
.placed .says li{grid-template-columns:32px minmax(0,1fr)}
.placed .says .n{font-weight:600}
