/* Nido shell (Oct 18): one header + one set of color tokens for every public page.
   Injected at build time by deploy/nido_shell.py. Day = Miami sunrise, night = dusk.
   Tokens come from design/redesign-2026-10-18/mockups.html. Page-specific remaps are at the bottom. */
:root{
  --n-paper:#fff9f1;--n-surface:#fffdf9;--n-raise:#ffffff;--n-ink:#243248;--n-muted:#65717b;--n-line:#e9ded2;
  --n-coral:#dc735f;--n-on-coral:#221f28;--n-peach:#ffcfad;--n-lav:#d9d8f1;--n-teal:#147f78;--n-rose:#bd5b78;
  --n-sky:linear-gradient(115deg,#f5d5c8 0%,#efd7e3 48%,#cad5eb 100%);
  --n-shadow:0 18px 50px #4e49631a;
  /* color families, never one flat color (Shawn's rule): sunrise cream > peach > blush > lavender */
  --n-top:#fdefe6;
  --n-bar:linear-gradient(100deg,#fff6ec 0%,#fdeee4 30%,#fde3dc 58%,#f7dfe8 80%,#ebe3f3 100%);
  --n-page:linear-gradient(180deg,#fdefe6 0,#fff6ee 260px,#fff9f1 620px) no-repeat,#fff9f1;
  --n-cta:linear-gradient(135deg,#e5806a 0%,#f2647f 52%,#ff4f9a 100%);
  --n-neon:#ff4f9a;--n-neon-soft:#ffc2dc;
  --n-edge:linear-gradient(90deg,#ffd6e6 0%,#ff8fc0 30%,#ff4f9a 58%,#ff7ab3 80%,#ffd6e6 100%);
  --n-sans:'DM Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --n-serif:'DM Serif Display',Georgia,serif;
  --nh:60px;--nht:calc(var(--nh) + env(safe-area-inset-top,0px));
  color-scheme:light;
}
html[data-theme=night]{
  --n-paper:#171c38;--n-surface:#232944;--n-raise:#2b3150;--n-ink:#fbf5f2;--n-muted:#c6c6d4;--n-line:#4a4b67;
  --n-coral:#ffad87;--n-on-coral:#251f33;--n-peach:#f6a7a0;--n-lav:#8d83b8;--n-teal:#7ce1d5;--n-rose:#ffa1bd;
  --n-sky:linear-gradient(115deg,#25254b 0%,#713f71 52%,#d07475 100%);
  --n-shadow:0 18px 50px #05081755;
  /* dusk: indigo > violet > plum > magenta-coral */
  --n-top:#1d1f40;
  --n-bar:linear-gradient(100deg,#171c38 0%,#1d1f40 30%,#2c2452 58%,#46295a 82%,#62305d 100%);
  --n-page:linear-gradient(180deg,#1d1f40 0,#1a1d3b 300px,#171c38 700px) no-repeat,#171c38;
  --n-cta:linear-gradient(135deg,#ffad87 0%,#ff7fa8 52%,#ff5fae 100%);
  --n-neon:#ff5fae;--n-neon-soft:#ff9fcd;
  --n-edge:linear-gradient(90deg,#5a2a68 0%,#c23a86 30%,#ff5fae 58%,#ff8fc8 80%,#5a2a68 100%);
  color-scheme:dark;
}
html{background:var(--n-top)}
html body{background:var(--n-page)!important}

/* ---------- header ---------- */
.nido-hdr{position:sticky;top:0;z-index:2000;box-sizing:content-box;height:var(--nh);padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));
  display:flex;align-items:center;gap:22px;background:var(--n-bar);border-bottom:1px solid var(--n-line);color:var(--n-ink);
  font:700 14px/1 var(--n-sans);-webkit-font-smoothing:antialiased}
html.nido-fixed .nido-hdr{position:fixed;left:0;right:0}
.nido-hdr *{box-sizing:border-box}
.nido-hdr a{color:inherit;text-decoration:none}
.nido-hdr .nh-logo{font:400 31px/1 var(--n-serif);letter-spacing:-1.5px;margin-right:auto;padding:4px 0}
.nido-hdr .nh-links{display:flex;align-items:center;gap:24px}
.nido-hdr .nh-links a{padding:8px 0;border-bottom:2px solid transparent}
.nido-hdr .nh-links a:hover{color:var(--n-neon)}
.nido-hdr .nh-links a[aria-current=page]{border-bottom-color:var(--n-neon)}
.nido-hdr .nh-theme{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--n-line);background:transparent;color:var(--n-ink);cursor:pointer;padding:0}
.nido-hdr .nh-theme:hover{border-color:var(--n-ink)}
.nido-hdr .nh-theme svg{width:18px;height:18px}
.nido-hdr .nh-theme .nh-sun{display:none}
html[data-theme=night] .nido-hdr .nh-theme .nh-sun{display:block}
html[data-theme=night] .nido-hdr .nh-theme .nh-moon{display:none}
.nido-hdr .nh-contact{border:0;border-radius:999px;background:var(--n-cta);color:var(--n-on-coral)!important;box-shadow:0 6px 18px color-mix(in srgb,var(--n-neon) 35%,transparent);padding:11px 18px;font:800 14px/1 var(--n-sans);white-space:nowrap}
.nido-hdr .nh-contact:hover{filter:brightness(1.05)}
.nido-hdr .nh-menu{display:none;position:relative}
.nido-hdr .nh-menu summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--n-line);cursor:pointer}
.nido-hdr .nh-menu summary::-webkit-details-marker{display:none}
.nido-hdr .nh-menu summary svg{width:18px;height:18px}
.nido-hdr .nh-menu nav{position:absolute;right:0;top:48px;min-width:220px;display:grid;padding:8px;border-radius:18px;background:var(--n-surface);border:1px solid var(--n-line);box-shadow:var(--n-shadow)}
.nido-hdr .nh-menu nav a{padding:13px 14px;border-radius:12px;font-size:16px}
.nido-hdr .nh-menu nav a[aria-current=page]{background:var(--n-paper);color:var(--n-neon)}
@media(max-width:860px){
  .nido-hdr{gap:10px;--nh:56px}
  .nido-hdr .nh-links{display:none}
  .nido-hdr .nh-menu{display:block}
  .nido-hdr .nh-logo{font-size:28px}
  .nido-hdr .nh-contact{padding:10px 14px;font-size:13.5px}
}
@media(max-width:860px){:root{--nh:56px}}
@media(max-width:360px){.nido-hdr .nh-contact{padding:10px 11px}}
@media print{.nido-hdr{display:none}}

/* ---------- page remaps ----------
   Simple pages go fully day/night. Big pages (guide, maps, condo search) keep warm cream reading
   surfaces at night; only the header and a full-width sky band turn to dusk. */
:root{--n-band:linear-gradient(120deg,#fdeee4 0%,#fde3dc 30%,#fbd6e6 55%,#ffc8df 72%,#ece0f4 100%);
  --d-paper:#fff9f1;--d-surface:#fffdf9;--d-ink:#243248;--d-muted:#65717b;--d-line:#e9ded2;--d-teal:#147f78}
html[data-theme=night]{--n-band:linear-gradient(120deg,#1b1e3d 0%,#2a2453 34%,#552a68 60%,#a5327a 84%,#e0458f 100%)}
html[data-theme=night] body{color:var(--n-ink)}
/* the reading surfaces of the big pages */
html[data-theme=night][data-page=guide] body,html[data-theme=night][data-page=mls] body,html[data-theme=night][data-page=keyplates] body{background:linear-gradient(180deg,var(--d-paper),var(--d-paper))!important;color:var(--d-ink);color-scheme:light}
html[data-theme=night][data-page=map] body,html[data-theme=night][data-page=earth] body{color-scheme:light}
/* sky band: full-bleed behind each big page's intro */

/* guide.html */
html[data-page=guide]{--paper:var(--d-paper);--card:var(--d-surface);--ink:var(--d-ink);--ink2:var(--d-muted);--line:var(--d-line);--mut:var(--d-muted)}
html[data-page=guide] .mast{border-bottom:0!important;position:relative;isolation:isolate}
html[data-page=guide] .mast::after{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--n-band)}
html[data-page=guide] body{overflow-x:clip}
html[data-theme=night][data-page=guide] .mast{color:var(--n-ink)}
html[data-theme=night][data-page=guide] .mast h1,html[data-theme=night][data-page=guide] .mast .sub,html[data-theme=night][data-page=guide] .mast .byline{color:var(--n-ink)!important}
html[data-theme=night][data-page=guide] .mast .kicker{color:var(--n-teal)!important}
html[data-theme=night][data-page=guide] .mast h1 em{color:var(--n-coral)!important}
html[data-theme=night][data-page=guide] .mast .btn{color:var(--n-ink)!important;border-color:#fbf5f299!important;background:transparent!important}
html[data-theme=night][data-page=guide] .mast .btn.primary{background:var(--n-cta)!important;color:var(--n-on-coral)!important;border-color:transparent!important}
html[data-theme=night][data-page=guide] .mast .hero-mls-link{color:var(--n-ink)!important}
/* map.html (2D): cards stay cream; at night the streets go dusk */
html[data-page=map]{--ink:var(--d-ink);--cream:var(--d-surface);--line:var(--d-line);--mut:var(--d-muted);--pink:var(--n-top);--tan:var(--n-top)}
html[data-page=map] #map{top:var(--nht)!important}
html[data-page=map] .top{top:var(--nht)!important;background:none!important;padding-top:10px!important}
html[data-page=map] .sheet{height:calc(100% - 58px - var(--nht))}
@media(min-width:861px){html[data-page=map] .sheet{top:calc(150px + var(--nh))!important}}
html[data-theme=night][data-page=map] .leaflet-tile-pane{filter:invert(1) hue-rotate(185deg) brightness(.82) contrast(.92) saturate(.55)!important}
html[data-theme=night][data-page=map] #map{background:#1d1f40!important}
/* nido-earth.html (3D) */
html[data-page=earth]{--ink:var(--d-ink);--paper:var(--d-paper);--cream:var(--d-surface);--line:var(--d-line);--muted:var(--d-muted)}
html[data-page=earth] #earthStage{top:var(--nht)!important}
html[data-page=earth] .search-panel{background:var(--d-surface)!important;color:var(--d-ink);border-color:var(--d-line)!important;box-shadow:var(--n-shadow)!important}
@media(min-width:761px){html[data-page=earth] .search-panel,html[data-page=earth] .map-tools{top:calc(var(--nh) + 20px)!important}}
html[data-page=earth] .tropical-seal{display:none}
/* keyplates.html */
html[data-page=keyplates]{--paper:var(--d-paper);--ink:var(--d-ink);--line:var(--d-line)}
html[data-page=keyplates] header.top{background:var(--n-band)!important;color:var(--n-ink)!important;padding-top:26px!important}
html[data-page=keyplates] header.top p{color:var(--n-muted)!important}
/* condo search */
html[data-page=mls]{--navy:var(--d-ink);--paper:var(--d-paper);--cream:var(--d-surface);--line:var(--d-line);--muted:var(--d-muted)}
html[data-page=mls] .hero{background:var(--n-band)!important;color:var(--n-ink)!important}
html[data-page=mls] .hero p{color:var(--n-muted)!important}
html[data-theme=night][data-page=mls] .hero .eyebrow{color:var(--n-teal)!important}
/* legal, contact, floor comparison and area pages: fully day/night */
html[data-page=legal] body,html[data-page=layouts] body,html[data-page=area] body{color:var(--n-ink)!important}
html[data-page=legal] main a,html[data-page=layouts] main a{color:var(--n-teal)}
html[data-page=legal] .muted,html[data-page=legal] .eyebrow{color:var(--n-muted)}
html[data-page=legal] footer{border-color:var(--n-line)!important;color:var(--n-muted)}
html[data-page=legal] footer a{color:var(--n-ink)}
html[data-theme=night][data-page=legal] input,html[data-theme=night][data-page=legal] textarea,html[data-theme=night][data-page=legal] select{background:var(--n-surface)!important;color:var(--n-ink)!important;border-color:var(--n-line)!important}
html[data-theme=night][data-page=layouts] table,html[data-theme=night][data-page=layouts] img{background:var(--n-surface)!important}
html[data-theme=night][data-page=layouts] th{background:var(--n-raise)!important}
html[data-theme=night][data-page=layouts] td,html[data-theme=night][data-page=layouts] th{border-color:var(--n-line)!important}
html[data-theme=night][data-page=layouts] small{color:var(--n-muted)!important}
html[data-theme=night][data-page=layouts] .note{background:#4a3d2a!important;color:var(--n-ink)}
html[data-theme=night][data-page=legal] .nlg-foot,html[data-theme=night][data-page=layouts] .nlg-foot{color:var(--n-muted)!important}
html[data-theme=night][data-page=legal] .nlg-foot a,html[data-theme=night][data-page=layouts] .nlg-foot a{color:var(--n-ink)!important}
/* fixes after the first visual pass */
html[data-theme=night][data-page=map] body,html[data-theme=night][data-page=earth] body{color:var(--d-ink)}
html[data-page=mls] .hero h1{color:var(--n-ink)!important}
html[data-page=mls] .hero a.back{display:none}
html[data-theme=night][data-page=legal] main,html[data-theme=night][data-page=legal] main p,html[data-theme=night][data-page=legal] main li,html[data-theme=night][data-page=legal] .muted,html[data-theme=night][data-page=legal] .opt small{color:var(--n-muted)!important}
html[data-theme=night][data-page=legal] main h1,html[data-theme=night][data-page=legal] main h2,html[data-theme=night][data-page=legal] main strong,html[data-theme=night][data-page=legal] main b{color:var(--n-ink)!important}
html[data-theme=night][data-page=legal] .opt{background:var(--n-surface)!important;border-color:var(--n-line)!important;color:var(--n-ink)!important}
html[data-theme=night][data-page=legal] main a.opt{color:var(--n-ink)!important}
html[data-theme=night][data-page=legal] label,html[data-theme=night][data-page=legal] .nlg-sms{color:var(--n-muted)!important}
.nido-hdr .nh-theme,.nido-hdr .nh-menu summary{background:transparent!important;box-shadow:none!important;color:var(--n-ink)!important}
/* neon pink edge under the header (Shawn, Oct 18: a bit more neon pink) */
.nido-hdr{border-bottom:0!important;box-shadow:inset 0 -2px 0 transparent}
.nido-hdr::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--n-edge);pointer-events:none}
html[data-theme=night] .nido-hdr::after{box-shadow:0 0 12px #ff5fae88}
.nido-hdr .nh-theme:hover,.nido-hdr .nh-menu summary:hover{border-color:var(--n-neon)!important;color:var(--n-neon)!important}
html[data-theme=night][data-page=guide] .mast h1 em{background:linear-gradient(90deg,#ffad87,#ff7fa8 55%,#ff5fae);-webkit-background-clip:text;background-clip:text;color:transparent!important}
/* glossy, "poppy" CTA (Shawn's ref, Oct 18): top shine + darker bottom lip + neon glow */
.nido-hdr .nh-contact{background:linear-gradient(180deg,#ffffff40 0%,#ffffff00 48%),var(--n-cta)!important;box-shadow:inset 0 -3px 0 #00000026,0 6px 18px color-mix(in srgb,var(--n-neon) 38%,transparent)!important}
html[data-theme=night] .nido-hdr .nh-contact{box-shadow:inset 0 -3px 0 #00000033,0 0 0 1px #ff9fcd55,0 8px 26px color-mix(in srgb,var(--n-neon) 55%,transparent)!important}
html[data-theme=night][data-page=guide] .mast .btn.primary{background:linear-gradient(180deg,#ffffff40 0%,#ffffff00 48%),var(--n-cta)!important;box-shadow:inset 0 -3px 0 #00000033,0 8px 26px #ff5fae66!important}
