/* National Storms: Atlas look (round 1b, Nov 7, 2026). Chalk paper, ink type, the Swath magenta for actions, maps first.
   Fonts self-hosted: Barlow and Barlow Semi Condensed (SIL Open Font License, latin subset from Google Fonts). */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-semi-condensed-500-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-semi-condensed-600-latin.woff2) format('woff2')}
@font-face{font-family:'Barlow Semi Condensed';font-style:normal;font-weight:700 800;font-display:swap;src:url(/fonts/barlow-semi-condensed-700-latin.woff2) format('woff2')}
:root{--ns-bg:#f4f5f1;--ns-fg:#1b2226;--ns-fg2:#3a454b;--ns-surface:#ffffff;--ns-line:#d2d6cf;--ns-muted:#58626a;--ns-accent:#a8137a;--ns-on-accent:#ffffff;
--ns-header-bg:#ffffff;--ns-land:#eeefe8;--ns-water:#c6d7df;--ns-swath-edge:#f3ae3c;--ns-swath-mid:#ec7a2f;--ns-swath-core:#c2188f;
--ns-font-display:'Barlow Semi Condensed','Barlow',ui-sans-serif,system-ui,sans-serif;--ns-font-text:'Barlow',ui-sans-serif,system-ui,sans-serif;color-scheme:light}

*{box-sizing:border-box}
body{margin:0;font:16px/1.55 var(--ns-font-text);color:var(--ns-fg);background:var(--ns-bg);-webkit-font-smoothing:antialiased}
a{color:var(--ns-accent);text-underline-offset:2px}a:hover{color:var(--ns-fg)}
h1,h2,h3{font-family:var(--ns-font-display);font-weight:700;letter-spacing:-.01em}
h1{font-size:40px;line-height:1.02;margin:8px 0 10px;text-wrap:balance}h2{font-size:25px;line-height:1.12;margin:36px 0 12px}

/* Header: white band with a hairline under it, the Swath icon, the name in the display font. */
header.top{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;padding:11px 24px;background:var(--ns-header-bg);color:var(--ns-fg);border-bottom:1px solid var(--ns-line)}
header.top a{color:var(--ns-fg);text-decoration:none}
.brand{display:flex;align-items:center;gap:10px;font:700 23px/1 var(--ns-font-display);letter-spacing:-.005em}
.brand svg{width:34px;height:34px;flex:none;display:block}
header.top{position:relative;z-index:30;flex-wrap:nowrap;gap:30px;padding:12px 24px}
header.top nav{display:flex;gap:4px 24px;font-size:15px;font-weight:500}header.top nav a{color:var(--ns-fg2);white-space:nowrap}header.top nav a:hover{color:var(--ns-accent)}
header.top.min .main-nav{margin-left:auto}
.search{margin-left:auto}.search input{padding:8px 12px;border-radius:8px;border:1px solid var(--ns-line);width:220px;font:inherit;font-size:15px;background:var(--ns-bg);color:var(--ns-fg)}
.burger{display:none;margin-left:auto}.burger summary{list-style:none;cursor:pointer;padding:10px 2px}.burger summary::-webkit-details-marker{display:none}
.burger summary span{display:block;position:relative;width:22px;height:14px;border-top:2px solid var(--ns-fg);border-bottom:2px solid var(--ns-fg)}
.burger summary span::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid var(--ns-fg)}
.burger[open]>nav,.burger[open]>.search{position:absolute;right:12px;left:12px;background:#fff;z-index:40}
.burger[open]>nav{top:100%;display:flex;flex-direction:column;gap:0;margin-top:6px;border:1px solid var(--ns-line);border-radius:10px;box-shadow:0 18px 40px -18px rgb(27 34 38/.45);padding:6px 0;font-size:16.5px}
.burger[open]>nav a{padding:11px 18px}.burger[open]>nav a+a{border-top:1px solid #eef0eb}
.burger>.search{display:none}
@media (max-width:1060px){header.top:not(.min) .search{display:none}}
@media (max-width:820px){header.top{gap:12px;padding:11px 16px}.main-nav,header.top>.search{display:none!important}.burger{display:block}.brand{font-size:20px}.brand svg{width:30px;height:30px}}
.ns-swath-rule{display:none}

main{max-width:1000px;margin:0 auto;padding:20px}
.crumbs{font-size:14px;color:var(--ns-muted)}.crumbs a{color:var(--ns-muted)}

/* Independence line: footer (.ns-indep) on every page; pill + sentence under the title on landing and report pages. */
.ns-indep{font:13px/1.5 var(--ns-font-text);color:var(--ns-muted)}.ns-indep b{color:var(--ns-fg)}
.ns-indep-pill{display:inline-block;font:700 11px/1.6 var(--ns-font-text);letter-spacing:.06em;text-transform:uppercase;color:var(--ns-fg);border:1px solid var(--ns-line);border-radius:999px;padding:0 8px;background:none;margin-right:6px;vertical-align:1px}
.indep-line{font-size:13px;color:var(--ns-muted);margin:0 0 14px}

.finding{font-size:18.5px;line-height:1.5;color:var(--ns-fg2);margin:10px 0 6px;max-width:72ch}
.src{font-size:13px;color:var(--ns-muted);margin:0 0 18px}.src a{color:var(--ns-muted)}
.lede{font-size:19px;color:var(--ns-muted)}.note{font-size:14px;color:var(--ns-muted)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:18px 0;background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:10px;overflow:hidden}
.stats div{padding:14px 18px;font-size:13.5px;line-height:1.35;color:var(--ns-muted);box-shadow:-1px 0 0 var(--ns-line),0 -1px 0 var(--ns-line)}
.stats b{display:block;font:700 30px/1.05 var(--ns-font-display);color:var(--ns-fg);font-variant-numeric:tabular-nums;margin-bottom:4px}
.tablewrap{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0;font-variant-numeric:tabular-nums}
table.t th,table.t td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--ns-line)}
table.t{background:var(--ns-surface)}table.t th{font:600 12.5px/1.3 var(--ns-font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ns-muted);background:var(--ns-surface);border-bottom:1.5px solid var(--ns-fg)}table.small{font-size:14px}
.map{height:460px;border-radius:10px;border:1px solid var(--ns-line);margin:12px 0 6px;background:var(--ns-land)}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ns-muted)}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px}.dot.hail{background:#2e7d32}.dot.wind{background:#1565c0}.dot.torn{background:#c62828}
.swatch-row i{display:inline-block;width:14px;height:10px;margin:0 3px 0 6px;vertical-align:-1px;border:1px solid rgba(0,0,0,.25)}
.chart{margin:18px 0}.chart svg{width:100%;height:auto}.chart rect{fill:var(--ns-accent)}.chart rect:hover{fill:var(--ns-fg)}
.chart text{font-size:10px;fill:var(--ns-muted);text-anchor:middle}.chart text.max{text-anchor:start}.chart figcaption{font-size:13px;color:var(--ns-muted)}
.cite{font-size:13px;color:var(--ns-muted);border:1px dashed var(--ns-line);padding:10px 12px;margin:32px 0 0;border-radius:8px}
.years{font-size:14px;line-height:1.9}.citylist{font-size:14px;line-height:1.9}.citylist a{margin-right:8px}
.daynav{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.hero{padding:6px 0 4px}.bigsearch{display:flex;align-items:center;gap:8px;max-width:560px;margin:16px 0;background:#fff;border:1.5px solid var(--ns-fg);border-radius:12px;padding:6px 6px 6px 14px;box-shadow:0 16px 36px -20px rgb(27 34 38/.45)}.bigsearch input{flex:1;min-width:0;padding:9px 2px;font:inherit;font-size:17px;border:0;outline:0;background:transparent;color:#1b2226}.bigsearch:focus-within{outline:2px solid var(--ns-accent);outline-offset:2px}
.bigsearch button{padding:12px 20px;border:0;border-radius:8px;background:var(--ns-accent);color:var(--ns-on-accent);font:600 16.5px/1 var(--ns-font-text);cursor:pointer;white-space:nowrap}
.bigsearch button:hover{background:var(--ns-fg);color:var(--ns-bg)}
footer{border-top:1px solid var(--ns-line);margin:40px auto 0;padding:16px 20px 28px;font-size:13px;color:var(--ns-muted);max-width:1000px}
footer a{color:var(--ns-muted)}
@media(max-width:640px){h1{font-size:31px}h2{font-size:22px}.bigsearch{flex-wrap:wrap;padding:6px}.bigsearch input{flex:1 1 100%;padding:10px 8px}.bigsearch button{flex:1 1 100%}main{padding:16px}.map{height:340px}table.t{font-size:13px}table.t th,table.t td{padding:5px 6px}}

/* Map popups keep a light card in both themes; dark-mode text color would make them unreadable. */
.maplibregl-popup-content{color:#1b2226;font:500 13.5px/1.35 Barlow,system-ui,sans-serif}
/* Data desk (studies.js) */
.dateline{font-size:13px;color:var(--ns-muted);margin:6px 0 0}
.method{background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:10px;padding:4px 18px 10px;margin:32px 0 0;font-size:15px}
.method h2{font-size:19px;margin-top:14px}.method li{margin:0 0 8px}
.downloads a{margin-right:14px;white-space:nowrap}
.legend.heat i{display:inline-block;width:18px;height:10px;margin-right:4px;vertical-align:-1px;border:1px solid rgba(0,0,0,.15)}
.sizes{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 18px;margin:18px 0 6px}
.sizes figure{margin:0;text-align:center;font-size:12px;color:var(--ns-muted)}
.sizes circle{fill:#dfe7ee;stroke:#7a8fa3;stroke-width:1.5}
.sizes figcaption b{display:block;color:var(--ns-fg);font-weight:600}
.studies{list-style:none;padding:0;margin:18px 0}.studies li{border:1px solid var(--ns-line);border-radius:10px;padding:12px 16px;margin:0 0 10px}
.studies li b{font-size:18px}.studies li span{display:block;color:var(--ns-muted);font-size:15px;margin-top:2px}
.return{font-size:16px}
.major{font-size:16px;font-weight:600;margin:8px 0}.major a{color:var(--ns-accent)}

/* Embed this box (city pages, embed.js) */
.embed{margin:20px 0;border:1px solid var(--ns-line);border-radius:10px;padding:10px 14px}
.embed summary{cursor:pointer;font-weight:700}
.embed textarea{width:100%;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px;border:1px solid var(--ns-line);border-radius:6px;resize:vertical}

/* Atlas hero (src/hero.js): the map fills the first screen edge to edge, the title card and the free check sit over it. */
body{overflow-x:clip}
.atlas-hero{position:relative;margin:6px calc(50% - 50vw) 0;display:flex;flex-direction:column}
.atlas-hero-map{display:contents}
.atlas-hero .map-frame{order:1}
.atlas-hero .map{height:min(540px,70vh);min-height:460px;margin:0;border:0;border-bottom:1px solid var(--ns-line);border-radius:0}
.atlas-card{order:2;position:absolute;z-index:2;top:24px;left:max(20px,calc(50vw - 480px));width:min(430px,44vw);background:rgb(255 255 255/.97);color:#1b2226;
  border:1px solid var(--ns-line);border-radius:10px;padding:20px 22px 16px;box-shadow:0 14px 34px -16px rgb(27 34 38/.42)}
.atlas-card h1{font-size:36px;line-height:1.02;margin:0 0 8px;color:#1b2226}
.atlas-sub{font-size:15.5px;line-height:1.45;color:#3a454b;margin:0 0 14px}
.cardsearch{border-top:1px solid #d2d6cf;padding-top:13px}
.check-label{display:block;flex:1 1 100%;font:700 16px/1.2 var(--ns-font-display);color:#1b2226;margin:0 0 2px}
.cardsearch .bigsearch{flex-wrap:wrap;margin:0;max-width:none;box-shadow:none;border:0;padding:0;background:none}
.cardsearch .bigsearch input{flex:1 1 180px;border:1.5px solid #1b2226;border-radius:9px;padding:11px 12px;font-size:16px;background:#fff}
.cardsearch .bigsearch button{padding:13px 16px}
.trust{display:flex;flex-wrap:wrap;row-gap:2px;font-size:12.5px;color:#58626a;margin:9px 0 0}
.trust span{white-space:nowrap}.trust span:not(:last-child)::after{content:"·";margin:0 7px}
.atlas-card [data-places-note]{display:block;font-size:12px;color:#58626a}
.checkbar{display:none}
@media (max-width:820px){
  .atlas-hero .map{height:270px;min-height:0}
  .atlas-hero .mapcap,.atlas-hero .maplegend{display:none}
  .atlas-card{position:relative;top:auto;left:auto;width:auto;margin:-28px 12px 0;padding:16px 16px 14px}
  .atlas-card h1{font-size:30px}
  .atlas-hero .maplibregl-ctrl-bottom-right{bottom:28px}
  .checkbar:not([hidden]){display:block;position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:20}
  .checkbar button{width:100%;padding:15px 18px;border:0;border-radius:10px;background:var(--ns-accent);color:var(--ns-on-accent);font:600 16.5px/1.1 var(--ns-font-text);box-shadow:0 12px 28px -10px rgb(27 34 38/.55);cursor:pointer}
}
/* /report/ sales page (report.js salesPage) */
.rp-hero{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:center;margin:8px 0 14px}
.rp-hero h1{margin:0 0 10px}.rp-sub{font-size:18.5px;line-height:1.5;color:var(--ns-fg2);margin:0 0 12px;max-width:56ch}
.rp-price{margin:0 0 4px;font-size:15px;color:var(--ns-muted)}.rp-price b{font:700 34px/1 var(--ns-font-display);color:var(--ns-fg);margin-right:6px}
.rp-form{flex-wrap:wrap;max-width:600px}.rp-date{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px 2px 2px;font-size:14px;color:#3a454b;border-top:1px solid #e3e6df}
.rp-date span{color:#58626a}.rp-date input{padding:6px 8px;font:inherit;border:1px solid #c9cdc2;border-radius:7px;background:#fff;color:#1b2226}
.rp-first{margin:2px 0 0;font-size:15.5px}.rp-offer .trust{margin-top:8px}
.rp-stack{position:relative;display:block;height:400px}
.rp-stack img{position:absolute;width:250px;height:auto;background:#fff;border:1px solid var(--ns-line);border-radius:3px;box-shadow:0 18px 40px -22px rgb(27 34 38/.55)}
.rp-s1{left:38px;top:22px;z-index:3}.rp-s2{left:62px;top:8px;z-index:2;transform:rotate(3deg)}.rp-s3{left:14px;top:14px;z-index:1;transform:rotate(-4deg)}
.rp-feature{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:26px;align-items:start;margin:14px 0 22px}
.rp-big{position:relative;max-height:600px}.rp-big::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(rgb(255 255 255/0),#fff)}
.rp-notes{list-style:none;counter-reset:n;padding:0;margin:6px 0 0}.rp-notes li{counter-increment:n;position:relative;padding:0 0 16px 40px;font-size:15.5px;line-height:1.45;color:var(--ns-fg2)}
.rp-notes li::before{content:counter(n);position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;background:var(--ns-accent);color:var(--ns-on-accent);font:700 14px/27px var(--ns-font-display);text-align:center}
.rp-notes b{display:block;color:var(--ns-fg);font:700 18px/1.3 var(--ns-font-display)}.rp-notes .rp-open{padding-left:0}.rp-notes .rp-open::before{display:none}
.rp-pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:14px 0 8px}
.rp-page{margin:0}.rp-paper{display:block;background:#fff;border:1px solid var(--ns-line);border-radius:3px;box-shadow:0 14px 30px -20px rgb(27 34 38/.5);overflow:hidden}
.rp-paper img{display:block;width:100%;height:auto}.rp-paper:hover{outline:2px solid var(--ns-accent);outline-offset:2px}
.rp-page figcaption{font-size:14px;line-height:1.45;color:var(--ns-muted);margin-top:8px}.rp-page figcaption b{display:block;color:var(--ns-fg);font-size:15px}
.rp-vs th[scope=row]{text-transform:none;letter-spacing:0;font:600 15px/1.35 var(--ns-font-text);color:var(--ns-fg)}.rp-vs td:last-child{color:var(--ns-fg)}
.rp-who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.rp-who div{background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:10px;padding:4px 16px 8px}.rp-who h3{margin:12px 0 4px;font-size:19px}.rp-who p{margin:4px 0 8px;font-size:15.5px}
.rp-steps{padding-left:22px}.rp-steps li{margin:6px 0}
.rp-faq details{border-bottom:1px solid var(--ns-line);padding:10px 2px}.rp-faq summary{cursor:pointer;font-weight:600}.rp-faq p{margin:8px 0 2px;max-width:72ch}
.rp-end{background:var(--ns-surface);border:1px solid var(--ns-line);border-radius:12px;padding:6px 20px 16px;margin:30px 0}.rp-end h2{margin-top:12px}
@media(max-width:820px){.rp-hero{grid-template-columns:1fr}.rp-stack{display:none}.rp-feature{grid-template-columns:1fr}.rp-big{max-height:460px}.rp-pages{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rp-page figcaption{font-size:12.5px}.rp-page figcaption b{font-size:13px}.rp-who{grid-template-columns:1fr}}
/* Homepage (pages.js home, home-sample.js) */
.hp-mapnote{margin:8px 0 4px}
.hp-sample-grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:28px;align-items:center;margin:10px 0 6px}
.hp-sample-map{margin:0}.hp-sample-map svg{display:block;width:100%;height:auto}.hp-sample-map figcaption{font-size:13.5px;line-height:1.45;color:var(--ns-muted);margin-top:6px}
.cellmap .disk{fill:var(--ns-surface);stroke:var(--ns-line)}.cellmap .ring{fill:none;stroke:var(--ns-fg);stroke-width:.7;stroke-dasharray:2.5 2;opacity:.55}
.cellmap .pin{fill:var(--ns-accent);stroke:var(--ns-bg);stroke-width:1}.cellmap .rl{font:600 6px var(--ns-font-text);fill:var(--ns-muted);text-anchor:middle}
/* The report's storm-day maps (result-map.js dayMapGrid) */
.daymaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 12px;margin:12px 0 6px}.daymaps figure{margin:0;break-inside:avoid}
.daymaps svg{width:100%;height:auto;display:block}.daymaps figcaption{margin-top:4px;font-size:13px;line-height:1.35}
.daymaps figcaption a{font-weight:600}.daymaps figcaption span{display:block;color:var(--ns-muted);font-variant-numeric:tabular-nums}
@media print{.daymaps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.hp-read{list-style:none;padding:0;margin:0 0 10px;border-top:1px solid var(--ns-line)}
.hp-read li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--ns-line);font-size:15px;line-height:1.4;color:var(--ns-fg2)}
.hp-read b{font:700 32px/1 var(--ns-font-display);color:var(--ns-fg);font-variant-numeric:tabular-nums}
.hp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:14px 0 0}
.hp-steps{list-style:none;counter-reset:n;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin:10px 0}
.hp-steps li{counter-increment:n;border-top:2px solid var(--ns-fg);padding-top:10px;font-size:15.5px;line-height:1.45;color:var(--ns-fg2)}
.hp-steps li::before{content:"Step " counter(n);display:block;font:700 12.5px/1 var(--ns-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ns-muted);margin-bottom:8px}
.hp-steps b{display:block;font:700 21px/1.15 var(--ns-font-display);color:var(--ns-fg);margin-bottom:5px}
.hp-states{list-style:none;padding:0;columns:4 170px;column-gap:24px;margin:10px 0}.hp-states li{padding:3px 0;break-inside:avoid}
.hp-src{padding-left:20px}.hp-src li{margin:6px 0}
.hp-alerts .bigsearch{flex-wrap:wrap}.hp-alerts .bigsearch input{flex:1 1 200px}
@media(max-width:820px){.hp-sample-grid{grid-template-columns:1fr;gap:12px}.hp-sample-map{max-width:360px;margin:0 auto}.hp-steps{grid-template-columns:1fr}.hp-read li{grid-template-columns:96px minmax(0,1fr)}.hp-read b{font-size:27px}}
.hp-alerts .bigsearch input+input{border-left:1px solid var(--ns-line);padding-left:12px}
@media(max-width:640px){.hp-alerts .bigsearch input+input{border-left:0;border-top:1px solid var(--ns-line)}}
.hp-actions .btn{display:inline-block;padding:11px 20px;border-radius:8px;background:var(--ns-accent);color:var(--ns-on-accent);font:600 16px var(--ns-font-text);text-decoration:none}

/* Map cards (Atlas mockup): the caption bottom-left and the key bottom-right, on every hero map. */
.map-frame{position:relative}
.mapcap{position:absolute;left:max(16px,calc(50vw - 480px));bottom:24px;z-index:3;max-width:440px;margin:0;background:rgb(255 255 255/.94);border:1px solid var(--ns-line);border-radius:8px;padding:8px 12px;font-size:13px;line-height:1.4;color:var(--ns-fg2)}
.mapcap b{color:var(--ns-fg);font-weight:600}
.maplegend{position:absolute;right:16px;bottom:30px;z-index:3;background:rgb(255 255 255/.94);border:1px solid var(--ns-line);border-radius:8px;padding:9px 11px 8px}
.maplegend p{font:600 11px/1 var(--ns-font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ns-muted);margin:0 0 7px}
.maplegend .ramp{display:flex;gap:2px}
.maplegend .ramp span{display:flex;flex-direction:column;gap:4px;font:600 11.5px/1 var(--ns-font-display);color:var(--ns-fg2);width:34px}
.maplegend .ramp span::before{content:"";display:block;height:9px;background:var(--c)}
.maplegend .dots{display:flex;gap:12px;margin-top:8px;font:600 11.5px/1 var(--ns-font-display);color:var(--ns-fg2)}.maplegend .dot{width:9px;height:9px;margin-right:4px}
.maplegend .scale{display:flex;align-items:center;gap:8px;margin-top:8px;font:600 11.5px/1 var(--ns-font-display);color:var(--ns-fg2)}
.maplegend .scale i{display:block;height:6px;width:40px;border:1.5px solid var(--ns-fg);border-top:0}
.ring-lab{font:600 12.5px/1 var(--ns-font-display);color:#1b2226;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;margin:0 0 2px 4px;pointer-events:none}
.ring-pin{width:18px;height:18px;border-radius:50%;border:2px solid #1b2226;background:#fff;box-shadow:0 0 0 2px #fff;display:grid;place-items:center}
.ring-pin::after{content:"";width:6px;height:6px;border-radius:50%;background:#1b2226}
.maplibregl-ctrl-bottom-right{z-index:4}

/* Homepage first screen (pages.js home, hero.js homeHero; Atlas mockup) */
main:has(>.hh){padding-top:0}
.hh{position:relative;margin:0 calc(50% - 50vw);height:clamp(560px,52vw,680px);overflow:hidden;background:var(--ns-land)}
.hh .hh-map,.hh .map-frame{position:absolute;inset:0}
.hh .map{position:absolute;inset:0;height:auto;margin:0;border:0;border-radius:0}
.hh-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 44% 50% at 50% 46%,rgb(244 245 241/.95) 0%,rgb(244 245 241/.88) 52%,rgb(244 245 241/0) 100%)}
.hh-center{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:min(660px,calc(100% - 48px));text-align:center;z-index:2}
.hh h1{font:700 62px/1 var(--ns-font-display);letter-spacing:-.015em;margin:0 0 14px;color:#1b2226}
.hh-sub{font-size:18px;line-height:1.45;color:#3a454b;margin:0 auto 24px;max-width:33em;text-wrap:pretty}
.hh .bigsearch{max-width:none;margin:0;gap:12px;padding:8px 8px 8px 16px;box-shadow:0 18px 40px -18px rgb(27 34 38/.5);text-align:left}
.hh .bigsearch input{font-size:18px}.hh .bigsearch button{font-size:17px;padding:16px 22px}
.ck-pin{width:24px;height:24px;flex:none}.cardsearch .ck-pin{display:none}
.hh .trust{justify-content:center;font-size:14px;color:#3a454b;margin:14px 0 0}
.hh [data-places-note]{display:block;font-size:12px;color:#58626a;margin-top:2px}
.hh .maplegend{right:16px;bottom:24px}.hh .mapcap{left:16px}
.hh-below{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 34px;margin:0 calc(50% - 50vw) 26px;padding:30px max(24px,calc(50vw - 500px)) 34px;background:#fff;border-bottom:1px solid var(--ns-line)}
.hh-below section{border-top:2px solid var(--ns-fg);padding-top:12px}
.hh-below b{display:block;font:700 13px/1 var(--ns-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ns-muted);margin-bottom:8px}
.hh-below h3{font:700 22px/1.15 var(--ns-font-display);margin:0 0 6px}
.hh-below p{margin:0;color:var(--ns-fg2);font-size:15px}
@media (max-width:820px){
  .hh{height:640px}
  .hh-veil{background:linear-gradient(rgb(244 245 241/0) 0%,rgb(244 245 241/.9) 18%,rgb(244 245 241/.94) 70%,rgb(244 245 241/.2) 100%)}
  .hh-center{top:44%;width:calc(100% - 32px)}
  .hh h1{font-size:40px}.hh-sub{font-size:16px;margin-bottom:18px}
  .hh .bigsearch{flex-wrap:wrap;padding:6px}.hh .ck-pin{display:none}.hh .bigsearch input{flex:1 1 100%;padding:10px 8px;font-size:17px}.hh .bigsearch button{flex:1 1 100%}
  .hh .trust{font-size:13px}.hh .maplegend,.hh .mapcap{display:none}
  .hh-below{grid-template-columns:minmax(0,1fr);padding:22px 16px 26px}
}

/* Place pages (Atlas mockup): crumb in the title card, a stats band under the map, then the chart beside the recent days. */
.atlas-card .crumb{font:600 12px/1 var(--ns-font-display);letter-spacing:.07em;text-transform:uppercase;color:#58626a;margin:0 0 8px}
.atlas-card .crumb a{color:#58626a;text-decoration:none}.atlas-card .crumb a:hover{text-decoration:underline}
.statsband{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin:0 calc(50% - 50vw);padding:0 max(0px,calc(50vw - 500px));background:#fff;border-bottom:1px solid var(--ns-line)}
.statsband div{padding:16px 22px;display:flex;flex-direction:column;gap:5px}
.statsband div+div{border-left:1px solid var(--ns-line)}
.statsband b{font:700 30px/1 var(--ns-font-display);color:var(--ns-fg);font-variant-numeric:tabular-nums}
.statsband span{font-size:13px;line-height:1.35;color:var(--ns-muted)}
.src.srcline{margin:12px 0 4px}
.place-below{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:30px;margin:18px 0 10px}
.place-below h2{font-size:23px;margin:0 0 12px}
.place-below .chart{margin:0}.place-below .chart rect{fill:#56626a}.place-below .chart rect:hover{fill:var(--ns-fg)}
.daylist{list-style:none;margin:0;padding:0;border-top:1px solid var(--ns-line)}
.daylist li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid var(--ns-line);min-height:46px}
.daylist .st{justify-self:center;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px #fff,0 0 0 3px rgb(0 0 0/.09)}
.daylist a{font:600 16.5px/1.2 var(--ns-font-display);color:var(--ns-fg);text-decoration:none}.daylist a:hover{text-decoration:underline}
.daylist span{font-size:13.5px;color:var(--ns-muted);white-space:nowrap}
@media(max-width:820px){
  .statsband{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;border-top:1px solid var(--ns-line)}
  .statsband div{padding:12px 16px}.statsband div:nth-child(odd){border-left:0}.statsband div:last-child:nth-child(odd){grid-column:span 2}.statsband div:nth-child(n+3){border-top:1px solid var(--ns-line)}
  .statsband b{font-size:26px}
  .place-below{grid-template-columns:minmax(0,1fr);gap:22px}
}
/* The address map (result-map.js resultMap): the free check's result and the report sales page. */
.res-hero .map{display:none}.res-frame{order:1;position:relative}
.res-map{position:relative;height:min(560px,72vh);min-height:500px;border-bottom:1px solid var(--ns-line);background:#eeefe8}
.res-fallback{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;padding-right:12%;background:#eeefe8}.res-fallback svg{height:92%;width:auto;max-width:60%}
.res-frame .maplegend{top:16px;bottom:auto}
.res-stamp{position:absolute;right:16px;bottom:30px;z-index:3;display:flex;align-items:center;gap:9px;margin:0;background:rgb(255 255 255/.95);border:1px solid var(--ns-line);border-radius:8px;padding:7px 11px 7px 8px;font-size:12.5px;line-height:1.3;color:var(--ns-fg2);max-width:360px;pointer-events:none}
.res-stamp svg{width:26px;height:26px;flex:none}.res-stamp b{color:var(--ns-fg);font-weight:600}
.cellmap{display:block}.cellmap .disk{fill:#eeefe8;stroke:var(--ns-line)}.cellmap .ring{fill:none;stroke:var(--ns-fg);stroke-width:.7;stroke-dasharray:2.5 2;opacity:.55}
.cellmap .pin{fill:var(--ns-accent);stroke:#fff;stroke-width:1}.cellmap .rl{font:600 6px var(--ns-font-text);fill:var(--ns-muted);text-anchor:middle}
@media(max-width:820px){.res-map{height:300px;min-height:0}.res-frame .maplegend{display:none}
 .res-stamp{left:8px;right:auto;top:8px;bottom:auto;font-size:11px;padding:5px 8px 5px 6px;max-width:calc(100% - 16px)}.res-stamp svg{width:18px;height:18px}
 .res-fallback{justify-content:center;padding:0}.res-fallback svg{max-width:94%}}
/* The report sales page hero (report.js salesPage): the offer in the title card over the sample landmark's map. */
.rp-card .rp-price{margin:0 0 12px;font-size:14.5px;color:#58626a}.rp-card .rp-price b{font-size:32px}
.rp-price .soon{display:block;margin-top:6px;font-weight:600;color:#3a454b}
.rp-card .rp-first{margin:9px 0 0;font-size:14px;color:#3a454b}
.rp-nomap{order:1;height:min(560px,72vh);min-height:500px;background:#eeefe8;border-bottom:1px solid var(--ns-line);display:flex;align-items:center;justify-content:flex-end;padding-right:max(20px,calc(50vw - 440px))}
.rp-nomap .rp-stack{width:330px}
@media(max-width:820px){.rp-nomap{height:80px;min-height:0;padding:0}}
/* Chart credit line and CSV/PNG downloads (html.js chartFig), press page license box (press.js) */
.chart-credit{font-size:12.5px;color:var(--ns-muted);margin:4px 0 0}.chart-dl{white-space:nowrap}.chart-dl a{color:var(--ns-muted)}
.chart-png{font:inherit;color:var(--ns-muted);text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}.chart-png:hover,.chart-dl a:hover{color:var(--ns-fg)}
