/* Night Sky Hero (NightSkyHero module), from the homepage hero proof of concept v1.8, 2026-11-11.
   The canvas draws the sky; this file lays out the copy over it. Brand: Andada Pro heading, Montserrat
   body, cyan rule, square white button with a dark-blue label on a dark ground (Brand Standards v1.5). */
.nsh {
  --nsh-night: #071431;
  --nsh-seafoam: #a9e8da;
  --nsh-parchment: rgba(201, 214, 234, .75);
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 620px;
  background: var(--nsh-night);
  color: #fff;
}
/* The site header floats over the sky on the page that holds this module. */
.nsh[data-float-header] { margin-top: calc(-1 * var(--nsh-header, 0px)); }
body:has(.nsh[data-float-header]) .main-header { position: relative; z-index: 3; background: transparent; }
body:has(.nsh[data-hide-header-cta]) .main-header__cta { display: none; }

.nsh__sky { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: -2; }
.nsh::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, rgba(7,20,49,.55) 0%, rgba(7,20,49,.32) 40%, rgba(7,20,49,0) 68%);
}
.nsh__inner {
  width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box;
  padding-top: calc(112px + var(--nsh-header, 0px)); padding-bottom: 136px;
  padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px));
}
.nsh__copy { max-width: 680px; display: flex; flex-direction: column; gap: 24px; }
.nsh__eyebrow { margin: 0; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--nsh-seafoam); }
.nsh .nsh__title { margin: 0; padding: 0; font-family: "Andada Pro", Georgia, serif; font-weight: 400; font-size: 56px; line-height: 1.12; color: #fff; text-wrap: balance; }
.nsh__rule { width: 96px; height: 3px; background: var(--color2, #00c2f3); }
.nsh__lead { margin: 0; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 20px; line-height: 1.6; color: #fff; max-width: 62ch; }
.nsh__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; padding-top: 8px; }
.nsh .nsh__btn, .nsh .nsh__btn:visited {
  font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  text-decoration: none; color: var(--color1, #19468d); background: #fff; padding: 16px 28px; border-radius: 0;
}
.nsh .nsh__link, .nsh .nsh__link:visited { font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 600; color: #fff; text-decoration: underline; }
.nsh .nsh__btn:hover { color: var(--color1, #19468d); }
.nsh .nsh__link:hover { color: #fff; }
.nsh__btn:focus-visible, .nsh__link:focus-visible { outline: 2px solid var(--color2, #00c2f3); outline-offset: 3px; }
.nsh__caption { position: absolute; bottom: 12px; right: max(16px, env(safe-area-inset-right, 0px)); margin: 0; z-index: 1; font-family: Montserrat, Arial, Helvetica, sans-serif; font-size: 11px; letter-spacing: .04em; color: var(--nsh-parchment); pointer-events: none; }
.nsh__caption-short { display: none; }

@media (max-width: 760px) {
  .nsh { min-height: 560px; }
  .nsh::after { background: linear-gradient(180deg, rgba(7,20,49,.25), rgba(7,20,49,.5)); }
  .nsh__inner { padding-top: calc(72px + var(--nsh-header, 0px)); padding-bottom: 120px; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
  .nsh .nsh__title { font-size: 36px; }
  .nsh__lead { font-size: 18px; }
  .nsh__caption-full { display: none; }
  .nsh__caption-short { display: inline; }
  /* Phones: the sky and mountains sit above the copy, and the copy sits over the lake. */
  .nsh--sky-top .nsh__inner { padding-top: 372px; padding-bottom: 72px; }
  .nsh--sky-top::after { background: linear-gradient(180deg, rgba(7,20,49,0) 0%, rgba(7,20,49,0) 36%, rgba(7,20,49,.45) 52%, rgba(7,20,49,.6) 100%); }
}
