/* nch-core · site shell, homepage half (2026-09-30): the end of "View on map".
   An arrival on /#map… is covered from first paint until the full map is open, so the
   hero never flashes. The cover is the satellite crop the visitor just clicked (set by
   the head script as --nch-map-handoff) or, from a shared link, the map poster. */
.nch-map-cover { display: none; }
html.nch-map-arrival .nch-map-cover {
  display: block; position: fixed; inset: 0; z-index: 2147483000; pointer-events: none;
  background: #101b26 url(../atlas-hero/assets/map-poster.webp) center / min(1200px, 118vw) auto no-repeat;
  view-transition-name: nch-map;
  transition: opacity 460ms cubic-bezier(.23, 1, .32, 1);
}
html.nch-map-arrival[style*="--nch-map-handoff"] .nch-map-cover {
  background: #101b26 var(--nch-map-handoff) center / cover no-repeat;
}
html.nch-map-arrival.nch-map-arrived .nch-map-cover { opacity: 0; }
html.nch-map-arrival, html.nch-map-arrival body { overflow: hidden; }
.nch-map-cover__note {
  position: absolute; left: 50%; bottom: calc(28px + env(safe-area-inset-bottom)); transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 99px;
  background: rgba(9, 28, 40, .72); border: 1px solid rgba(245, 217, 168, .3); color: #F2DDBE;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  font: 600 10.5px/1 "Montserrat", "Figtree", -apple-system, sans-serif; letter-spacing: .14em; text-transform: uppercase;
  opacity: 0; animation: nch-cover-note 300ms ease 700ms forwards;   /* only if the map is slow */
}
.nch-map-cover__note::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #F5D9A8; animation: nch-cover-pulse 1.1s ease-in-out infinite; }
@keyframes nch-cover-note { to { opacity: 1; } }
@keyframes nch-cover-pulse { 50% { opacity: .35; } }

::view-transition-group(nch-map) { animation-duration: 460ms; animation-timing-function: cubic-bezier(.77, 0, .175, 1); }
::view-transition-old(nch-map), ::view-transition-new(nch-map) { height: 100%; object-fit: cover; overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(nch-map) { animation-duration: 0s; }   /* the map morph moves; with reduced motion it only crossfades */
  html.nch-map-arrival .nch-map-cover { transition: none; }
  .nch-map-cover__note, .nch-map-cover__note::before { animation: none; opacity: 1; }
}

/* ── Homepage headers: partial collapse (Michael, 2026-09-30) ─────────────
   priority-nav.js (via home-shell.js) keeps as many of the band's and the dock's links as fit and
   folds the rest under "More"; only when fewer than two fit do they show the menu button. This
   overrides the generated Atlas CSS (links hidden below 900px) without editing it. */
html.nch-pn-on #atlas-hero .mast:not([data-pn="menu"]) .links { display: flex; }
#atlas-hero .mast[data-pn="partial"], .nch-nav.nch-nav--dock[data-pn="partial"] { grid-template-columns: auto minmax(0, 1fr) auto; }
html.nch-pn-on #atlas-hero .mast:not([data-pn="menu"]) .mast-burger { display: none; }
#atlas-hero .mast[data-pn="menu"] .links, #atlas-hero .mast[data-pn="menu"] .mast-cta.mast-cta { display: none; }
#atlas-hero .mast[data-pn="menu"] .mast-burger { display: block; }
#atlas-hero .mast.nch-pn-open { z-index: 40; }   /* the More menu opens over the search bar */
html.nch-pn-on .nch-nav.nch-nav--dock:not([data-pn="menu"]) .nch-nav-links { display: flex; }
html.nch-pn-on .nch-nav.nch-nav--dock:not([data-pn="menu"]) .nch-hamburger { display: none; }
.nch-nav.nch-nav--dock[data-pn="menu"] .nch-nav-links, .nch-nav.nch-nav--dock[data-pn="menu"] .nch-dock-cta.nch-dock-cta { display: none; }
.nch-nav.nch-nav--dock[data-pn="menu"] .nch-hamburger { display: block; }
/* Without the script: the fixed breakpoint (the full row overflows below 1150px) */
@media (min-width: 900px) and (max-width: 1149px) {
  html:not(.nch-pn-on) #atlas-hero .mast .links, html:not(.nch-pn-on) #atlas-hero .mast .mast-cta.mast-cta { display: none; }
  html:not(.nch-pn-on) #atlas-hero .mast .mast-burger { display: block; }
  html:not(.nch-pn-on) .nch-nav.nch-nav--dock .nch-nav-links, html:not(.nch-pn-on) .nch-nav.nch-nav--dock .nch-dock-cta.nch-dock-cta { display: none; }
  html:not(.nch-pn-on) .nch-nav.nch-nav--dock .nch-hamburger { display: block; }
}
