/* ns-shell.css - one header + one footer for every NeighborSeek page (outputs/ns_shell.py, nsh-oct2026) */
html body .nsh-head{display:flex!important;align-items:center;gap:20px;box-sizing:border-box;width:100%;margin:0!important;padding:12px max(16px,calc((100% - 1120px)/2))!important;background:var(--ns-ground)!important;border:0!important;border-bottom:1px solid var(--ns-line)!important;position:relative;z-index:60;font:500 15px/1.4 "Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important;color:var(--ns-soft)!important;text-align:left;box-shadow:none!important}
html body .nsh-head *{box-sizing:border-box}
html body .nsh-brand{display:inline-flex!important;align-items:center;gap:10px;text-decoration:none!important;font:700 20px/1 "Fraunces",Georgia,"Times New Roman",serif!important;color:var(--ns-text)!important;letter-spacing:0!important;margin:0;padding:0;background:none!important;border:0!important;white-space:nowrap}
html body .nsh-brand svg{flex:0 0 auto;display:block}
html body .nsh-nav{display:flex;gap:18px;margin-left:auto;align-items:center}
html body .nsh-nav a,html body .nsh-back{color:var(--ns-soft)!important;text-decoration:none!important;font:500 15px/1.4 "Public Sans",system-ui,sans-serif!important;padding:4px 0!important;background:none!important;border:0!important;white-space:nowrap}
html body .nsh-nav a:hover,html body .nsh-back:hover{color:var(--ns-text)!important;text-decoration:underline!important}
html body .nsh-cta{display:inline-flex!important;align-items:center;min-height:42px;padding:0 16px!important;border-radius:8px!important;background:var(--ns-btn)!important;color:var(--ns-on-gold)!important;font:700 15px/1 "Public Sans",system-ui,sans-serif!important;text-decoration:none!important;white-space:nowrap;border:0!important;box-shadow:none!important}
html body .nsh-cta:hover{background:var(--ns-btn)!important}
html body .nsh-head--compact .nsh-back{margin-left:auto}
html body .nsh-head a:focus-visible{outline:2px solid var(--ns-line-hi);outline-offset:3px}
@media (max-width:760px){
 html body .nsh-head{flex-wrap:wrap;gap:8px 12px;padding:10px 16px 6px!important}
 html body .nsh-head .nsh-cta{margin-left:auto;min-height:40px;font-size:14px!important;padding:0 14px!important}
 html body .nsh-nav{order:3;width:100%;margin:0;gap:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
 html body .nsh-nav::-webkit-scrollbar{display:none}
 html body .nsh-nav a{font-size:14px!important}
}
/* punch-oct2026 item 8: links always visible; on narrow screens one row under the logo that scrolls sideways (no Menu button) */
html body .nsh-nav a[aria-current="page"]{color:var(--ns-text)!important;box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--ns-ground) 50%,transparent)!important}
@media (max-width:760px){
 html body .nsh-head .nsh-cta{order:2;margin-left:auto}
 html body .nsh-nav{order:3;flex-wrap:nowrap!important;width:100%;gap:20px;overflow-x:auto;overflow-y:hidden;padding:0!important}
 html body .nsh-nav a{display:inline-flex!important;align-items:center;min-height:44px;padding:0!important;font-size:15px!important;flex:0 0 auto}
 html body .nsh-nav.nsh-fade{-webkit-mask-image:linear-gradient(90deg,#000 82%,transparent);mask-image:linear-gradient(90deg,#000 82%,transparent)}
}
}
html body .nsh-foot .nsh-note{color:var(--ns-muted)!important}
html body .nsh-pre{max-width:860px;margin:32px auto 0!important;padding:0 20px!important;color:var(--ns-muted)!important;font:400 14px/1.7 "Public Sans",system-ui,sans-serif!important;text-align:left;background:none!important;border:0!important}
html body .nsh-pre a{color:var(--ns-soft)!important}
html body .nsh-foot{display:block!important;box-sizing:border-box;width:100%;margin:40px 0 0!important;padding:28px max(20px,calc((100% - 1120px)/2)) 40px!important;background:var(--ns-ground)!important;border:0!important;border-top:1px solid var(--ns-line)!important;color:var(--ns-muted)!important;font:400 14px/1.6 "Public Sans",system-ui,sans-serif!important;text-align:left!important;position:relative;z-index:1}
html body .nsh-foot p{margin:0 0 8px!important;padding:0!important;color:var(--ns-muted)!important;font:inherit!important;text-align:left!important;max-width:760px}
html body .nsh-foot a{color:var(--ns-soft)!important;text-decoration:underline!important;text-underline-offset:2px;font:inherit!important;background:none!important}
html body .nsh-foot a:hover{color:var(--ns-text)!important}
html body .nsh-foot .nsh-lic{color:var(--ns-soft)!important}
html body .nsh-foot .nsh-eho{display:flex;align-items:center;gap:6px}
html body .nsh-foot .nsh-links a,html body .nsh-foot .nsh-more a{margin-right:4px}
html body .nsh-foot .nsh-ref{font-size:13px!important;color:var(--ns-dim)!important}
html body .nsh-textchris{margin:14px 0 0!important;color:var(--ns-soft)!important;font:500 15px/1.5 "Public Sans",system-ui,sans-serif!important}
html body .nsh-textchris a{color:var(--ns-text)!important;text-decoration:underline!important}
html body #ns-q-foot.nsh-foot,html body #ns-s-foot.nsh-foot,html body #ns-r-foot.nsh-foot{max-width:760px;margin:40px auto 0!important;padding:24px 20px 40px!important}
html body.nsh-padded{padding:0!important}
html body.nsh-padded > :not(.nsh-head):not(.nsh-foot):not(script):not(style){padding-left:20px;padding-right:20px}
html body.nsh-padded > .nsh-head + *{margin-top:40px}
/* navy surfaces left on a few templates -> site surfaces */
html body.nsh-legacy-city main{padding-top:0!important}
html body.nsh-legacy-city .hero{background:var(--ns-ground)!important}
html body.nsh-legacy-city :is(.stats-row,.hoods-list,.faq-wrap){background:var(--ns-surface)!important}
html body.nsh-at-compare .picker-card{background:var(--ns-surface)!important}
html body.nsh-at-compare select{background:var(--ns-ground)!important}
html body.nsh-at-neighborhoods :is(.city-card,.quiz-cta){background:var(--ns-surface)!important}
html body.nsh-at-pcs .card{background:var(--ns-surface)!important}
html body.nsh-at-pcs .opt{background:var(--ns-ground)!important}
html body.nsh-at-pcs .progress i{background:var(--ns-line)!important}
html body.nsh-at-pcs .progress i.on{background:var(--ns-btn)!important}
/* one look: site background and fonts on every page that carries the shell */
html:has(body.nsh-page){background:var(--ns-ground)!important}
html body.nsh-page{background:var(--ns-ground)!important;font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body.nsh-page :where(p,li,a,span,div,td,th,label,input,select,textarea,button,small,strong,em,b,dd,dt,figcaption,summary,blockquote,option,section,article,main,aside){font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif!important}
html body.nsh-page :is(h1,h2,h3){font-family:"Fraunces",Georgia,"Times New Roman",serif!important;letter-spacing:0!important}
html body.nsh-page :is(h1,h2,h3) *{font-family:inherit!important}

/* ---- ns-stage-oct2026: "A move over a day" atmosphere (outputs/ns_stage.py) ---- */
:where(html){--ns-ground:#0D0F13;--ns-surface:#171B22;--ns-raised:#11141A;--ns-line:#262C36;--ns-line-hi:#39414F;--ns-text:#F7F5F1;--ns-soft:#C9CED6;--ns-muted:#9BA3B0;--ns-dim:#7B8696;--ns-gold:#E0A53F;--ns-gold-hi:#F0BC63;--ns-gold-line:#E0A53F;--ns-good:#7BC496;--ns-btn:#E0A53F;--ns-btn-hi:#F0BC63;--ns-on-gold:#0D0F13;--st-bg:#0D0F13;--st-panel:#171B22;--st-paper:#171B22;--st-ink:#F7F5F1;--st-sub:#9BA3B0;--st-line:#262C36;--st-gold:#E0A53F;--st-gold-text:#E0A53F;--st-sun:#E8B04F;--st-sun-halo:rgba(232,176,79,.18)}
html[data-stage="dawn"],[data-stage="dawn"]{--st-bg:#F8ECE4;--st-panel:#FFF8F3;--st-paper:#FFF8F3;--st-ink:#1C1F26;--st-sub:#5C5452;--st-line:#E7D5CB;--st-gold:#A86E17;--st-gold-text:#7E5210;--st-sun:#EC9A7C;--st-sun-halo:rgba(236,154,124,.22);color-scheme:light}html[data-stage="daylight"],[data-stage="daylight"]{--st-bg:#FAF8F4;--st-panel:#FFFFFF;--st-paper:#FFFFFF;--st-ink:#1C1F26;--st-sub:#565C68;--st-line:#E4E0D8;--st-gold:#A86E17;--st-gold-text:#7E5210;--st-sun:#F2BC45;--st-sun-halo:rgba(242,188,69,.22);color-scheme:light}html[data-stage="golden"],[data-stage="golden"],html[data-stage] .ns-golden-from{--st-bg:#F4E4C8;--st-panel:#FBF2E2;--st-paper:#FFFCF6;--st-ink:#1C1F26;--st-sub:#5A4F3E;--st-line:#E1CBA6;--st-gold:#9A620F;--st-gold-text:#6E4609;--st-sun:#D9862A;--st-sun-halo:rgba(217,134,42,.24);color-scheme:light}html[data-stage="dusk"],[data-stage="dusk"],html[data-stage] :is(.nsh-foot,.ns-dusk){--st-bg:#131722;--st-panel:#1B2130;--st-paper:#1B2130;--st-ink:#F3F0E9;--st-sub:#AEB5C2;--st-line:#2D3546;--st-gold:#E0A53F;--st-gold-text:#EBC27A;--st-sun:#E8B04F;--st-sun-halo:rgba(232,176,79,.18);color-scheme:dark}
html[data-stage],[data-stage],html[data-stage] :is(.nsh-foot,.ns-dusk,.ns-golden-from){--ns-ground:var(--st-bg);--ns-surface:var(--st-panel);--ns-raised:color-mix(in srgb,var(--st-panel) 94%,var(--st-ink));--ns-line:var(--st-line);--ns-line-hi:color-mix(in srgb,var(--st-line) 72%,var(--st-ink));--ns-text:var(--st-ink);--ns-soft:color-mix(in srgb,var(--st-ink) 55%,var(--st-sub));--ns-muted:var(--st-sub);--ns-dim:var(--st-sub);--ns-gold:var(--st-gold-text);--ns-gold-hi:var(--st-gold-text);--ns-gold-line:var(--st-gold);--ns-good:var(--st-ink);--ns-btn:#D9A045;--ns-btn-hi:#CC9131;--ns-on-gold:#16181D}
html[data-stage] .ns-golden-from{display:block;background:var(--st-bg);color:var(--st-ink);box-shadow:0 0 0 100vmax var(--st-bg);clip-path:inset(0 -100vmax);padding:4px 0 28px;margin-top:28px}
html[data-stage] .ns-dusk{background:var(--st-panel)!important;color:var(--st-ink)!important;border:1px solid var(--st-line)!important;border-radius:12px}
html[data-stage] .ns-dusk :is(input,select,textarea){background:var(--ns-raised)!important;color:var(--st-ink)!important;border:1px solid var(--ns-line-hi)!important}
html[data-stage] .ns-dusk :is(p,label,.meta,.consent){color:var(--ns-muted)!important}
html[data-stage]{background:var(--st-bg)!important}html[data-stage] body{background:var(--st-bg)!important;color:var(--st-ink)}
html[data-stage] ::selection{background:color-mix(in srgb,var(--st-gold) 30%,transparent);color:var(--st-ink)}
html[data-stage] *{text-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html[data-stage] :is(.ns-btn--primary,.capture button,.ns-base .btn-gold,.nsh-cta){background:var(--ns-btn)!important;color:var(--ns-on-gold)!important;border-color:var(--ns-btn)!important}
html[data-stage] :is(.ns-btn--primary,.capture button,.ns-base .btn-gold,.nsh-cta):hover{background:var(--ns-btn-hi)!important}
html[data-stage] :is(.ns-chip[aria-pressed="true"],.ns-chip.is-selected){background:var(--ns-text)!important;color:var(--ns-ground)!important;border-color:var(--ns-text)!important}
html.ns-stage-anim,html.ns-stage-anim *{transition:background-color 900ms ease,color 900ms ease,border-color 900ms ease,fill 900ms ease,stroke 900ms ease!important}
@media (prefers-reduced-motion:reduce){html.ns-stage-anim,html.ns-stage-anim *{transition:none!important}}
html:is([data-stage="dawn"],[data-stage="daylight"],[data-stage="golden"]) :is([style*="color:#fff" i],[style*="color: #fff" i],[style*="color:white" i],[style*="color: white" i],[style*="color:#F7F5F1" i],[style*="color:#f0f0f0" i],[style*="color:#e5e7eb" i]):not(:is([data-stage="dusk"],.nsh-foot,.ns-dusk) *){color:var(--ns-text)!important}
html:is([data-stage="dawn"],[data-stage="daylight"],[data-stage="golden"]) :is([style*="color:rgba(255,255,255" i],[style*="color: rgba(255, 255, 255" i],[style*="color:rgba(255, 255, 255" i],[style*="color:#9BA3B0" i],[style*="color:#94a3b8" i],[style*="color:#aaa" i],[style*="color:#999" i]):not(:is([data-stage="dusk"],.nsh-foot,.ns-dusk) *){color:var(--ns-muted)!important}
html:is([data-stage="dawn"],[data-stage="daylight"],[data-stage="golden"]) :is([style*="background:#0" i],[style*="background:#1" i],[style*="background: #0" i],[style*="background: #1" i],[style*="background-color:#0" i],[style*="background-color:#1" i],[style*="background:rgba(0,0,0" i],[style*="background:rgba(5,8,20" i],[style*="background:rgba(13," i],[style*="background:rgba(20,30" i],[style*="background:rgba(22,36" i]):not(:is([data-stage="dusk"],.nsh-foot,.ns-dusk) *){background:var(--ns-surface)!important}
html:is([data-stage="dawn"],[data-stage="daylight"],[data-stage="golden"]) :is([style*="background:rgba(255,255,255" i],[style*="background: rgba(255, 255, 255" i]):not(:is([data-stage="dusk"],.nsh-foot,.ns-dusk) *){background:color-mix(in srgb,var(--ns-text) 4%,transparent)!important}
html:is([data-stage="dawn"],[data-stage="daylight"],[data-stage="golden"]) :is([style*="border:1px solid rgba(255,255,255" i],[style*="border-color:rgba(255,255,255" i],[style*="border:1px solid #2" i],[style*="border:1px solid #3" i]):not(:is([data-stage="dusk"],.nsh-foot,.ns-dusk) *){border-color:var(--ns-line)!important}
.ns-sun{position:relative;width:100%;box-sizing:border-box;background:var(--st-bg,#0D0F13);border-bottom:1px solid var(--ns-line);color:var(--ns-text);font:500 13px/1.3 "Public Sans",system-ui,sans-serif}
.ns-sun__wide{position:relative;height:72px;max-width:1120px;margin:0 auto}
.ns-sun__wide svg{position:absolute;left:0;top:0;width:100%;height:56px;overflow:visible}
.ns-sun__arc{fill:none;stroke:var(--ns-line-hi);stroke-width:1.5;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.ns-sun__hz{stroke:var(--ns-line-hi);stroke-width:1;vector-effect:non-scaling-stroke}
.ns-sun__dot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:var(--st-sun);box-shadow:0 0 0 7px var(--st-sun-halo);transition:left 900ms ease,top 900ms ease,background-color 900ms ease}
.ns-sun__steps{position:absolute;left:0;right:0;bottom:2px;display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;text-align:center}
.ns-sun__steps li{color:var(--ns-muted);font-weight:500;font-size:13px;letter-spacing:.01em}
.ns-sun__steps li[aria-current="step"]{color:var(--ns-text);font-weight:700}
.ns-sun__narrow{display:none;height:40px;align-items:center;gap:12px;padding:0 16px}
.ns-sun__narrow b{font-weight:700;color:var(--ns-text);white-space:nowrap;min-width:72px}
.ns-sun__track{position:relative;flex:1;height:40px}
.ns-sun__track:before{content:"";position:absolute;left:0;right:0;top:24px;border-top:1px solid var(--ns-line-hi)}
.ns-sun__track .ns-sun__dot{width:16px;height:16px;margin:-8px 0 0 -8px;box-shadow:0 0 0 5px var(--st-sun-halo)}
.ns-sun .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:639px){.ns-sun__wide{display:none}.ns-sun__narrow{display:flex}}
@media (prefers-reduced-motion:reduce){.ns-sun__dot{transition:none}}
.ns-chart{margin:18px 0 8px;color:var(--ns-text);font:500 13px/1.35 "Public Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.ns-chart__wide svg{display:block;width:100%;height:auto;overflow:visible}
.ns-chart__wide{overflow-x:auto}
.ns-chart text{font-family:"Public Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.ns-chart__narrow{display:none;position:relative}
.ns-chart__blabel{display:block;color:var(--st-gold-text);font-weight:700;font-size:13px;margin:0 0 6px}
.ns-chart__row{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr) auto;align-items:center;gap:10px;min-height:30px}
.ns-chart__nm{font-size:13px;color:var(--ns-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ns-chart__nm a{color:inherit}
.ns-chart__track{position:relative;height:30px}
.ns-chart__track i{position:absolute;left:0;top:9px;height:12px;border-radius:2px;box-sizing:border-box;background:var(--ns-text);border:2px solid var(--ns-text)}
.ns-chart__track i.over{background:transparent}
.ns-chart__track:after{content:"";position:absolute;top:0;bottom:0;left:var(--b);border-left:2.5px solid var(--st-gold)}
.ns-chart__pr{font-weight:700;font-size:13px;text-align:right;min-width:52px}
.ns-chart__src{margin:8px 0 0;color:var(--ns-muted);font-size:12px;line-height:1.5}
.ns-chart__key{margin:6px 0 0;color:var(--ns-muted);font-size:12px}
@media (max-width:999px){.ns-chart__wide{display:none}.ns-chart__narrow{display:block}}
/* ---- /ns-stage-oct2026 ---- */
