/* GhostTownsMap. Образ: полевой атлас изыскателя и плакат WPA (DESIGN-STANDARD §1).
   Выгоревшая бумага карты, ржавчина, полынь, пыльная бирюза, горизонтали рельефа в шапке.
   Цвета земли как на картах статуса земель BLM: жёлтый BLM, зелёный лес, фиолетовый NPS, синий штат. */
:root{
  --paper:#f4ecdd; --paper-2:#ebdfc8; --card:#fbf6ec; --ink:#2b211a; --muted:#65584b; --line:#ddcfb6; --line-2:#c6b394;
  --rust:#a4441f; --rust-ink:#7e3216; --rust-soft:#f0d8c8; --turq:#1f6f78; --turq-soft:#d7e8e6; --sage:#6c8566; --night:#2b211a; --night-2:#3b2d22;
  --ok:#2f7a4b; --ok-soft:#dcecdc; --warn:#b07413; --warn-soft:#f6e6c4; --no:#a3323f; --no-soft:#f3d9dc;
  --c-blm:#d9a51f; --c-usfs:#3f7a45; --c-nps:#7b5aa6; --c-fed:#9a8458; --c-state:#3a6fb0; --c-local:#2a9a92; --c-ngo:#8a9a2c;
  --c-tribal:#c2662d; --c-mil:#b8455e; --c-private:#8a7d70; --c-unknown:#b9aea0;
  --t0:#4e6fae; --t1:#6f9ac4; --t2:#9cbcc4; --t3:#c9c08f; --t4:#e3a85a; --t5:#d7743e; --t6:#b2412a;
  --r:14px; --r-sm:8px; --shadow:0 1px 0 rgba(60,40,20,.06),0 12px 28px -16px rgba(60,40,20,.45);
  --head:'Rokkitt','Rokkitt Fallback',Georgia,serif; --sans:'Public Sans','Public Fallback',Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans)}
a{color:var(--turq);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--rust-ink)}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--head);font-weight:750;line-height:1.05;letter-spacing:-.01em}
h1{font-size:clamp(34px,6vw,60px);margin:.15em 0 .2em}
h2{font-size:clamp(26px,3.4vw,36px);margin:2em 0 .55em}
h2::after{content:"";display:block;width:64px;height:4px;margin-top:10px;background:repeating-linear-gradient(90deg,var(--rust) 0 14px,transparent 14px 20px)}
h3{font-size:22px;margin:1.2em 0 .4em}
.num,table,.facts3,svg,.n,.v{font-variant-numeric:tabular-nums}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.lead{font-size:19px;max-width:780px}
.note{font-size:14px;color:var(--muted)}
.prose{max-width:780px}

/* шапка: ночная полоса с горизонталями рельефа */
.top{background:var(--night) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='64' viewBox='0 0 240 64'%3E%3Cg fill='none' stroke='%23f4ecdd' stroke-opacity='.09'%3E%3Cpath d='M0 40c30-18 60-18 90-4s70 14 100-6 40-10 50-6'/%3E%3Cpath d='M0 52c34-14 66-12 96 0s66 10 96-6 38-8 48-4'/%3E%3Cpath d='M0 26c26-16 56-18 84-6s72 12 102-8 44-10 54-6'/%3E%3C/g%3E%3C/svg%3E") repeat-x center/240px 64px;color:var(--paper)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font:750 25px var(--head);color:var(--paper);text-decoration:none}
.logo svg{width:30px;height:30px}
.top nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}
.top nav a{color:#e9dcc4;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.top nav a:hover{color:#fff}
.crumbs{font-size:14px;color:var(--muted);margin:24px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}
.page-head .where{margin:0 0 18px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.coord{font-size:14px;padding:2px 10px;border:1px dashed var(--line-2);border-radius:99px;font-variant-numeric:tabular-nums}

/* карточка ответа: «ярлык» с цветной кромкой вердикта */
.answer{display:grid;grid-template-columns:1.15fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;margin:6px 0 26px}
.answer .main{padding:24px 28px;border-left:8px solid var(--vc,var(--rust))}
.answer.ok{--vc:var(--ok)} .answer.warn{--vc:var(--warn)} .answer.no{--vc:var(--no)} .answer.none{--vc:var(--line-2)}
.answer .label{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.answer .big{font:800 clamp(34px,5.4vw,54px)/1 var(--head);color:var(--vc,var(--rust));margin:6px 0 10px}
.state-ans .big{color:var(--rust)}
.answer .sub{margin:0 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.facts3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;border-top:1px dashed var(--line-2);padding-top:14px}
.facts3 dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.facts3 dd{margin:2px 0 0;font-size:14px;color:var(--muted);line-height:1.3}
.facts3 .v{display:block;font:750 25px/1.1 var(--head);color:var(--ink)}
.answer .pic{margin:0;background:var(--paper-2);display:flex;flex-direction:column;border-left:1px solid var(--line)}
.answer .pic img{width:100%;aspect-ratio:3/2;object-fit:cover;flex:1}
.answer .pic figcaption{font-size:12.5px;color:var(--muted);padding:8px 12px;line-height:1.4}
.answer .pic figcaption a{color:var(--muted)}
.answer .cta{margin-top:6px}

/* swatch земли */
.sw{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;vertical-align:-1px;background:var(--c-unknown)}
.sw.blm,.legend .blm,i.blm{background:var(--c-blm)} .sw.usfs,i.usfs{background:var(--c-usfs)} .sw.nps,i.nps{background:var(--c-nps)}
.sw.fed,i.fed{background:var(--c-fed)} .sw.state,i.state{background:var(--c-state)} .sw.local,i.local{background:var(--c-local)}
.sw.ngo,i.ngo{background:var(--c-ngo)} .sw.tribal,i.tribal{background:var(--c-tribal)} .sw.mil,i.mil{background:var(--c-mil)}
.sw.private,i.private{background:var(--c-private)} .sw.unknown,i.unknown{background:var(--c-unknown)}
.legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px}
.legend li{display:flex;align-items:center;gap:6px}
.legend .n{color:var(--muted)}
.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* главная */
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:center;padding:34px 0 8px}
.hero h1{font-size:clamp(40px,6.6vw,72px)}
.hero-pic{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);border:6px solid var(--card);transform:rotate(1deg)}
.hero-pic img{width:100%;aspect-ratio:16/9.13;object-fit:cover}
.cta{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;margin:20px 0 10px}
.btn{font:750 19px var(--head);border:0;border-radius:var(--r-sm);background:var(--rust);color:#fff;padding:12px 20px;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:0 3px 0 var(--rust-ink)}
.btn:hover{background:var(--rust-ink);color:#fff}
.btn:disabled{opacity:.7;cursor:wait}
.search{position:relative;flex:1;min-width:220px}
.search input{width:100%;font:400 17px var(--sans);padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--card);color:var(--ink)}
.search input:focus{outline:2px solid var(--turq);border-color:transparent}
.search ul{position:absolute;left:0;right:0;top:50px;margin:0;padding:6px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow);z-index:5}
.search li a{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--ink)}
.search li a:hover,.search li a.on{background:var(--turq-soft)}
.search li span{color:var(--muted);font-size:14px}
.hero-stats{display:flex;gap:8px 22px;flex-wrap:wrap;color:var(--muted);font-size:15px;margin:6px 0 0}
.hero-stats .v{font:750 22px var(--head);color:var(--ink);margin-right:4px}
.states{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.states a{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;color:var(--ink)}
.states a:hover{border-color:var(--rust)}
.states .nm{font:700 19px/1.15 var(--head)}
.states .n{color:var(--muted);font-weight:600}
.states .mini{grid-column:1/-1;display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:6px}
.states .mini i{display:block;height:100%}

/* карты */
.fig{margin:0 0 18px}
.fig figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.dmap .dm-stage{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer}
.dmap .dgo{position:absolute;right:12px;bottom:12px;font:700 15px var(--sans);border:0;border-radius:99px;padding:9px 16px;background:var(--night);color:var(--paper);cursor:pointer;box-shadow:var(--shadow)}
.dmap .dgo:hover{background:var(--rust)}
.dm-live{height:min(72vh,560px);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.dm-pop{font:14px/1.4 var(--sans)} .dm-pop strong{display:block;font:700 17px var(--head)} .dm-pop a{font-weight:600}
svg.viz{width:100%;height:auto;display:block}
.dotmap .st{fill:var(--paper);stroke:var(--line-2);stroke-width:1}
.dotmap.state .st{fill:var(--paper);stroke:var(--muted);stroke-width:1.4}
.dotmap .cty{fill:none;stroke:var(--line);stroke-width:.7}
.dotmap .q{fill:none;stroke-linecap:round;stroke-width:6}
.dotmap.us .q{stroke-width:4.6}
.dotmap.state .q{stroke-width:8}
.q.blm{stroke:var(--c-blm)} .q.usfs{stroke:var(--c-usfs)} .q.nps{stroke:var(--c-nps)} .q.fed{stroke:var(--c-fed)} .q.state{stroke:var(--c-state)}
.q.local{stroke:var(--c-local)} .q.ngo{stroke:var(--c-ngo)} .q.tribal{stroke:var(--c-tribal)} .q.mil{stroke:var(--c-mil)} .q.private{stroke:var(--c-private)} .q.unknown{stroke:var(--c-unknown)}
.lbl{font:700 15px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
.lbl-dot{fill:none;stroke:var(--ink);stroke-width:1.6}
svg a:hover .lbl{fill:var(--rust)}
.local .bg{fill:var(--card)}
.local .stl{fill:var(--paper);stroke:var(--line-2);stroke-width:1.2}
.local .ring{fill:none;stroke:var(--rust);stroke-opacity:.45;stroke-dasharray:5 6}
.local .ring-t{font:600 12px var(--sans);fill:var(--rust)}
.local .q{fill:none;stroke-linecap:round;stroke-width:11}
.local .pl{fill:var(--card);stroke:var(--ink);stroke-width:1.6}
.local .pl.me{fill:var(--night)}
.local .pl-t{font:600 13px var(--sans);fill:var(--muted);paint-order:stroke;stroke:var(--card);stroke-width:4px}
.local path.me{fill:var(--rust);stroke:var(--card);stroke-width:1.6}
.local .me-t{font:800 16px var(--head);fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:5px}
.map-two{grid-template-columns:1.25fr 1fr;align-items:start}

/* климат */
.clim .grid{stroke:var(--line);stroke-width:1}
.clim .frz{stroke:var(--t1);stroke-dasharray:4 4;stroke-width:1.3}
.clim .frz-t{font:600 11px var(--sans);fill:var(--t0)}
.clim .tick{font:500 12px var(--sans);fill:var(--muted)}
.clim .good{fill:var(--ok-soft)}
.clim .tb.t0{fill:var(--t0)} .clim .tb.t1{fill:var(--t1)} .clim .tb.t2{fill:var(--t2)} .clim .tb.t3{fill:var(--t3)} .clim .tb.t4{fill:var(--t4)} .clim .tb.t5{fill:var(--t5)} .clim .tb.t6{fill:var(--t6)}
.clim .hv{font:700 13px var(--sans);fill:var(--ink)} .clim .lv{font:500 12px var(--sans);fill:var(--muted)}
.clim .mo{font:600 13px var(--sans);fill:var(--muted)} .clim .mo.on{fill:var(--ok)}
.clim .pr{fill:var(--turq);opacity:.55}
.key{display:inline-block;width:14px;height:10px;border-radius:2px;margin:0 6px 0 0;vertical-align:0}
.key+.key,.good-k~.pr-k{margin-left:14px}
.good-k{background:var(--ok-soft);border:1px solid var(--ok)} .pr-k{background:var(--turq);opacity:.55}

/* земля */
.landbox{background:var(--card);border:1px solid var(--line);border-left:8px solid var(--vc);border-radius:var(--r);padding:18px 22px;max-width:860px}
.landbox.ok{--vc:var(--ok)} .landbox.warn{--vc:var(--warn)} .landbox.no{--vc:var(--no)}
.lb-head{font:750 22px var(--head);margin:0 0 6px;display:flex;align-items:center;gap:8px}
.lbar-wrap{margin:4px 0 0}
.lbar{height:18px;border-radius:5px;overflow:hidden}
.lbar rect.blm{fill:var(--c-blm)} .lbar rect.usfs{fill:var(--c-usfs)} .lbar rect.nps{fill:var(--c-nps)} .lbar rect.fed{fill:var(--c-fed)} .lbar rect.state{fill:var(--c-state)}
.lbar rect.local{fill:var(--c-local)} .lbar rect.ngo{fill:var(--c-ngo)} .lbar rect.tribal{fill:var(--c-tribal)} .lbar rect.mil{fill:var(--c-mil)} .lbar rect.private{fill:var(--c-private)} .lbar rect.unknown{fill:var(--c-unknown)}

/* списки и карточки */
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.nlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.nlist li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:7px 2px;border-bottom:1px solid var(--line)}
.nlist .d{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.cards a{display:block;position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--ink);height:100%}
.cards a:hover{border-color:var(--rust);box-shadow:var(--shadow)}
.cards img{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--paper-2)}
.cards .ill-tag{position:absolute;top:8px;left:8px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(251,246,236,.9);color:var(--muted);padding:2px 7px;border-radius:99px}
.cards .nm{display:block;font:750 21px/1.1 var(--head);padding:10px 12px 2px}
.cards .sub{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted);padding:0 12px 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.chips a{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line-2);border-radius:99px;font-size:15px;text-decoration:none;color:var(--ink);background:var(--card)}
.chips a:hover{border-color:var(--rust)}
.chips .n{color:var(--muted);font-size:13px}
.more{margin:16px 0 0}
.county-grid{columns:3 260px;column-gap:28px}
.county{break-inside:avoid;margin:0 0 18px}
.county h3{font-size:19px;margin:0 0 4px;display:flex;gap:8px;align-items:baseline}
.county h3 .n{font:600 14px var(--sans);color:var(--muted)}
.county ul{list-style:none;margin:0;padding:0}
.county li{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:16px}
.county .ph{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--turq);letter-spacing:.04em}
table{border-collapse:collapse;width:100%}
.kv{max-width:860px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.kv th{text-align:left;font-weight:600;color:var(--muted);width:34%;vertical-align:top}
.kv th,.kv td{padding:10px 16px;border-bottom:1px solid var(--line)}
.kv tr:last-child th,.kv tr:last-child td{border-bottom:0}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card);max-height:620px}
.list th{position:sticky;top:0;background:var(--paper-2);text-align:left;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 14px;z-index:1}
.list td{padding:8px 14px;border-top:1px solid var(--line)}
.list tbody tr:hover{background:var(--rust-soft)}
.list td i.sw{margin-right:7px}
.list .st{color:var(--muted);font-size:13px;margin-left:6px}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;margin:0 0 8px;max-width:860px}
.faq summary{font:700 19px var(--head);cursor:pointer}
.faq p{margin:8px 0 0}

/* near me */
.nm-list{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.nm-list li a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);text-decoration:none;color:var(--ink)}
.nm-list li a:hover{border-color:var(--rust)}
.nm-list .nm{font:700 18px/1.1 var(--head)}
.nm-list .nm small{display:block;font:400 13px var(--sans);color:var(--muted)}
.nm-list .d{font-weight:700;font-variant-numeric:tabular-nums}

/* подвал: «оборот карты» с легендой-рамкой */
.foot{margin-top:72px;background:var(--night);color:#e9dcc4;border-top:6px double var(--rust)}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:44px 0 30px}
.fh{font:750 20px var(--head);color:var(--paper);margin:0 0 10px;padding-bottom:6px;border-bottom:1px dashed rgba(244,236,221,.25)}
.fcol ul{list-style:none;margin:0;padding:0}
.fcol li{margin:0 0 6px}
.foot a{color:#e9dcc4;text-decoration:none;font-size:15px}
.foot a:hover{color:#fff;text-decoration:underline}
.foot-base{background:var(--night-2);padding:20px 0 26px;font-size:14px}
.foot-base p{margin:0 0 10px;max-width:900px}
.foot-name{font:750 17px var(--head);color:var(--paper)}
.foot-meta{display:flex;flex-wrap:wrap;gap:6px 20px;color:#c4b49b}

@media (max-width:860px){
  .answer,.hero,.two,.map-two{grid-template-columns:1fr}
  .answer .pic{border-left:0;border-top:1px solid var(--line);order:-1}
  .answer .main{border-left:0;border-top:8px solid var(--vc,var(--rust));padding:20px}
  .hero-pic{transform:none}
  .foot-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .wrap{padding:0 16px}
  .facts3{grid-template-columns:1fr 1fr}
  .top nav{gap:14px;margin-left:0}
  .top nav a:nth-child(3){display:none}
  .hide-s{display:none}
  .list td,.list th{padding:8px 10px}
  .foot-cols{gap:20px}
  .lead{font-size:18px}
}
#nm-map .dm-stage{min-height:64px;background:var(--paper-2)}
.frz-k{height:0;border-top:2px dashed var(--t1);border-radius:0;margin-left:14px}
@media (max-width:520px){
  .cards{grid-template-columns:1fr 1fr;gap:10px}
  .cards .nm{font-size:18px;padding:8px 10px 2px}
  .cards .sub{padding:0 10px 10px;font-size:13px}
  .answer .sub{display:block}
  .answer .sub .sw{margin-right:6px}
}
@font-face{font-family:'Rokkitt';font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/rokkitt.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:optional;src:url(/fonts/publicsans.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rokkitt Fallback';font-weight:500 800;src:local('Georgia'),local('DejaVu Serif'),local('Liberation Serif');size-adjust:88%;ascent-override:100%;descent-override:28%;line-gap-override:0%}
@font-face{font-family:'Public Fallback';font-weight:400 700;src:local('Arial'),local('ArialMT'),local('Liberation Sans'),local('LiberationSans');size-adjust:101%;ascent-override:95%;descent-override:23%;line-gap-override:0%}
