.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-tn{color:var(--on-tn);--halo:var(--tn)} .ml-tn .n{display:inline;font-size:var(--fs-block);letter-spacing:-.01em;margin-right:5px} .ml-tn .u{display:inline}
.ml-city{font-size:var(--fs-fine);font-weight:600;color:var(--ink);text-align:left}
.ml-city.in-tn{color:var(--on-tn);--halo:var(--tn);transform:translate(calc(-100% - 7px),calc(-100% + 1px))}
.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)}
  .ml-tn .n{font-size:var(--fs-body)}
}
@media (max-width:399px){.ml-tn b{font-size:var(--fs-label)}.ml-tn .n{font-size:var(--fs-small)}.ml-tn .u{font-size:var(--fs-label)}}

.ml-tcity{--halo:var(--tn);color:var(--on-tn);font-size:var(--fs-fine);font-weight:600}
.ml-tcity.n{transform:translate(-50%,calc(-100% - 7px))}
.ml-tcity.e{transform:translate(9px,-50%)}
.ml-tcity.nw{transform:translate(calc(-100% - 7px),calc(-100% + 1px))}
@container (max-width:560px){.ml-tcity,.tn-marks{display:none}}
.d-tn{--pk:var(--tn)}
/* Tennessee's sheet (T-tnmap-1024): every county shaded by its open bids, as on Georgia's (states-ga.css, the same rules on .tnbox);
   the line beside it counts the bids that name no county */
.tnbox .co{stroke:var(--co-line);stroke-width:.6;stroke-linejoin:round}
.tnbox{--c1h:#C5B2AD;--c2h:#C0958B;--c3h:#B57264;--c4h:#98453A;--c5h:#4C2526}
:root[data-theme=dark] .tnbox,: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]) .tnbox,: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,.tn-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)}
.tn-edge{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}
.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}}
.statewide-line{font-size:var(--fs-body);line-height:1.35;color:var(--ink)}
.statewide-line b{font-weight:600}
.statewide{margin:-4px 0 12px;color:var(--ink)}
@media (min-width:1024px){.d-tn .stmap{grid-template-rows:auto auto;align-content:start}}

.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}}
.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}
.d-tn .loc-e{fill:none}
.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}

.g-rowlink{display:inline-block;padding:14px 0}
.guide table.tn-portals a.g-rowlink{color:var(--link)}
@media (hover: hover) and (pointer: fine){.guide table.tn-portals a.g-rowlink:hover{color:var(--link-hover)}}
.guide table.tn-portals a.g-rowlink .arr{display:inline-block;vertical-align:-4px}
.guide .brs-checklist>li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:14px;align-items:start}
.guide .brs-tick{width:24px;height:24px;margin:3px 0 0;accent-color:var(--tn-ink);cursor:pointer}
.guide .brs-tick:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
@media (min-width:768px){.guide table.tn-portals{table-layout:fixed}
.guide table.tn-portals thead th{white-space:nowrap}
.guide table.tn-portals thead th:first-child{width:9.5em}
.guide table.tn-portals tbody th{text-align:left;font-weight:600;color:var(--ink)}}
@media (max-width:767.98px){.guide table.tn-portals td.pl{display:block}
.guide table.tn-portals td.pl::before{content:none}
.guide table.tn-portals td.pl .g-rowlink{display:block}
.guide table.tn-portals td.pl br{display:none}}
