/* Mo's Night Shift. Loaded only on /noise-reduction-windows. Everything is scoped to body.night or the .nt- prefix. */

body.night {
  --nt-deep: #0A1F45;
  --nt-navy: #0F2A5C;
  --nt-royal: #1D4FA3;
  --nt-sky: #A7D3F5;
  --nt-glass: #DDEEFB;
  --nt-ice: #EEF5FC;
  --nt-text: #DDEEFB;
  --nt-muted: #B9CCE0;
  --nt-line: rgba(167, 211, 245, .16);
  --nt-line-2: rgba(167, 211, 245, .34);
  --nt-head: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --nt-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--nt-deep);
  color: var(--nt-text);
  color-scheme: dark;
}
body.night main { background: var(--nt-deep); }
body.night ::selection { background: var(--nt-sky); color: var(--nt-navy); }
body.night :focus-visible { outline: 3px solid var(--nt-sky); outline-offset: 3px; }

/* ---------- Stamped header, dark on this page ---------- */
body.night .topbar {
  background: rgba(10, 31, 69, .9);
  border-bottom: 1px solid var(--nt-line);
  box-shadow: none;
  color: #fff;
}
body.night .topbar .brand,
body.night .topbar .brand-word,
body.night .topbar .brand-word span { color: #fff; }
body.night .topbar .brand-word small { color: var(--nt-sky); }
body.night .topbar .brand img { filter: drop-shadow(0 0 10px rgba(167, 211, 245, .35)); }
body.night .nav-desktop a { color: var(--nt-glass); }
body.night .nav-desktop a:hover,
body.night .nav-desktop a[aria-current="page"] { color: #fff; }
body.night .top-call,
body.night .top-call span { color: #fff; }
body.night .top-call svg { color: var(--nt-sky); }
body.night .topbar .icon-btn { color: #fff; border-color: rgba(167, 211, 245, .5); background: transparent; }
body.night .topbar .icon-btn.call { background: #fff; border-color: #fff; color: var(--nt-navy); }
body.night .topbar .icon-btn:hover { border-color: var(--nt-sky); }

/* Footer: pull it into the night palette with a soft horizon line */
body.night .foot { background: #081A3B; border-top: 1px solid var(--nt-line); }
body.night .foot .btn-light,
body.night .foot .btn-light:hover { color: var(--nt-navy); }

/* ---------- Shared pieces ---------- */
body.night .nt-sec { padding: 72px 0; position: relative; }
body.night .nt-eyebrow {
  display: inline-flex; align-items: center; gap: 12px; margin: 0 0 18px;
  font: 700 .78rem/1.2 var(--nt-head); letter-spacing: .22em; text-transform: uppercase; color: var(--nt-sky);
}
body.night .nt-eyebrow::before {
  content: ""; width: 26px; height: 2px; border-radius: 2px; background: var(--nt-sky);
  box-shadow: 0 0 10px 1px rgba(167, 211, 245, .7);
}
body.night .nt-sec h2,
body.night .nt-cta h2 {
  font-family: var(--nt-head); font-weight: 800; color: #fff; letter-spacing: -.02em; line-height: 1.04;
  font-size: clamp(2.05rem, 7.4vw, 3.6rem); margin: 0 0 18px; max-width: 16ch;
}
body.night .nt-intro { font-family: var(--nt-body); font-size: clamp(1.1rem, 2.6vw, 1.3rem); line-height: 1.55; color: var(--nt-text); max-width: 34em; margin: 0 0 16px; }
body.night .nt-sec p,
body.night .nt-cta p { font-family: var(--nt-body); }
body.night .nt-sec p { color: var(--nt-muted); line-height: 1.65; }

body.night .nt-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
body.night .nt-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 15px 28px;
  border-radius: 999px; border: 2px solid #fff; background: #fff; color: var(--nt-navy);
  font: 700 .98rem/1.15 var(--nt-head); letter-spacing: .05em; text-transform: uppercase; text-decoration: none;
  box-shadow: 0 0 0 1px rgba(167, 211, 245, .25), 0 12px 36px -10px rgba(167, 211, 245, .65);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s ease;
  -webkit-tap-highlight-color: transparent;
}
body.night .nt-btn:hover { background: var(--nt-glass); border-color: var(--nt-glass); box-shadow: 0 0 0 1px rgba(167, 211, 245, .5), 0 14px 44px -8px rgba(167, 211, 245, .85); }
body.night .nt-btn:active { transform: translateY(1px); }
body.night .nt-btn-ghost { background: transparent; color: #fff; border-color: rgba(167, 211, 245, .6); box-shadow: none; }
body.night .nt-btn-ghost:hover { background: rgba(167, 211, 245, .1); border-color: var(--nt-sky); color: #fff; box-shadow: 0 0 26px -6px rgba(167, 211, 245, .6); }

/* MTO corner signature */
body.night .nt-sig {
  position: absolute; right: 14px; bottom: 14px; z-index: 3;
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px 5px 7px; border-radius: 999px;
  background: rgba(10, 31, 69, .62); border: 1px solid rgba(167, 211, 245, .3);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  font: 800 .7rem/1 var(--nt-head); letter-spacing: .18em; color: #fff; pointer-events: none;
}
body.night .nt-sig img { width: 15px; height: 18px; display: block; }

/* ---------- Stars (pure CSS) ---------- */
body.night .nt-stars {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(circle at 7% 13%, #fff 0 1px, transparent 1.6px),
    radial-gradient(circle at 31% 57%, rgba(255,255,255,.8) 0 .8px, transparent 1.4px),
    radial-gradient(circle at 52% 6%, #fff 0 1.2px, transparent 1.8px),
    radial-gradient(circle at 77% 38%, rgba(221,238,251,.85) 0 .9px, transparent 1.5px),
    radial-gradient(circle at 91% 83%, rgba(255,255,255,.7) 0 .8px, transparent 1.4px),
    radial-gradient(circle at 22% 91%, rgba(167,211,245,.85) 0 .9px, transparent 1.5px),
    radial-gradient(circle at 63% 71%, rgba(255,255,255,.6) 0 .7px, transparent 1.3px),
    radial-gradient(circle at 43% 29%, rgba(221,238,251,.7) 0 .7px, transparent 1.3px),
    radial-gradient(circle at 84% 9%, rgba(255,255,255,.75) 0 .8px, transparent 1.4px),
    radial-gradient(circle at 14% 46%, rgba(255,255,255,.55) 0 .7px, transparent 1.3px);
  background-size: 557px 401px;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 38%, transparent 72%);
          mask-image: linear-gradient(180deg, #000 0%, #000 38%, transparent 72%);
}
body.night .nt-stars::before,
body.night .nt-stars::after { content: ""; position: absolute; inset: 0; }
body.night .nt-stars::before {
  background-image:
    radial-gradient(circle at 9% 61%, #fff 0 1.3px, transparent 2px),
    radial-gradient(circle at 47% 23%, rgba(221,238,251,.95) 0 1px, transparent 1.7px),
    radial-gradient(circle at 73% 79%, #fff 0 1.1px, transparent 1.8px),
    radial-gradient(circle at 88% 17%, rgba(167,211,245,.95) 0 1.2px, transparent 1.9px),
    radial-gradient(circle at 29% 8%, rgba(255,255,255,.8) 0 .9px, transparent 1.5px);
  background-size: 683px 467px;
  background-position: 211px 97px;
  animation: nt-twinkle 4.8s ease-in-out infinite alternate;
}
body.night .nt-stars::after {
  background-image:
    radial-gradient(circle at 19% 33%, rgba(255,255,255,.9) 0 .9px, transparent 1.5px),
    radial-gradient(circle at 56% 84%, rgba(221,238,251,.9) 0 1px, transparent 1.6px),
    radial-gradient(circle at 68% 44%, #fff 0 .7px, transparent 1.3px),
    radial-gradient(circle at 96% 62%, rgba(167,211,245,.9) 0 .9px, transparent 1.5px);
  background-size: 419px 337px;
  background-position: 83px 151px;
  animation: nt-twinkle 6.6s ease-in-out 1.4s infinite alternate-reverse;
}
@keyframes nt-twinkle { 0% { opacity: .15; } 55% { opacity: 1; } 100% { opacity: .45; } }

/* ---------- Hero ---------- */
body.night .nt-hero {
  position: relative; overflow: hidden; isolation: isolate;
  background: linear-gradient(180deg, #0A1F45 0%, #0F2A5C 40%, #16408A 70%, #1D4FA3 100%);
  padding-top: clamp(48px, 9vw, 104px);
}
body.night .nt-moon {
  position: absolute; z-index: 0; top: clamp(34px, 7vw, 86px); right: clamp(22px, 9vw, 150px);
  width: clamp(46px, 7vw, 92px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 38% 36%, #FFFFFF 0%, #EEF5FC 48%, #CFE6F9 100%);
  box-shadow: 0 0 0 10px rgba(221, 238, 251, .06), 0 0 60px 12px rgba(167, 211, 245, .35), 0 0 160px 40px rgba(29, 79, 163, .45);
}
body.night .nt-hero-copy { position: relative; z-index: 2; }
body.night .nt-hero h1 {
  font-family: var(--nt-head); font-weight: 800; color: #fff; margin: 0;
  font-size: clamp(3.3rem, 15.5vw, 8.4rem); line-height: .92; letter-spacing: -.035em;
  text-shadow: 0 0 46px rgba(167, 211, 245, .32);
}
body.night .nt-kicker {
  display: block; margin-bottom: .14em;
  font-size: .3em; letter-spacing: .34em; line-height: 1; color: var(--nt-sky);
  text-shadow: 0 0 18px rgba(167, 211, 245, .55);
}
body.night .nt-lede {
  font-family: var(--nt-head); font-weight: 600; color: #fff;
  font-size: clamp(1.3rem, 3.6vw, 1.9rem); line-height: 1.3; letter-spacing: -.01em;
  max-width: 22em; margin: 26px 0 0;
}
body.night .nt-sub { font-family: var(--nt-body); color: var(--nt-muted); font-size: 1.06rem; line-height: 1.6; max-width: 33em; margin: 14px 0 0; }
body.night .nt-city { position: relative; z-index: 1; margin-top: clamp(30px, 5vw, 44px); height: clamp(250px, 30vw, 440px); }
body.night .nt-city > img { width: 100%; height: 100%; object-fit: cover; object-position: 6% 100%; }
body.night .nt-city::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 34%; pointer-events: none;
  background: linear-gradient(180deg, rgba(10, 31, 69, 0) 0%, var(--nt-deep) 100%);
}
body.night .nt-city .nt-sig { bottom: 18px; }

/* ---------- What a good window does at night ---------- */
body.night .nt-watch { background: var(--nt-deep); padding-top: 40px; }
body.night .nt-head { max-width: 760px; margin-bottom: 44px; }
body.night .nt-row { list-style: none; margin: 0; padding: 0; display: grid; gap: 34px; }
body.night .nt-cell { display: grid; grid-template-columns: 104px 1fr; grid-template-rows: auto 1fr; gap: 6px 22px; align-items: start; align-content: start; }
body.night .nt-cell h3 { grid-column: 2; margin: 4px 0 4px; font: 800 1.3rem/1.15 var(--nt-head); color: #fff; letter-spacing: -.01em; }
body.night .nt-cell p { grid-column: 2; margin: 0; font-size: 1rem; }
body.night .nt-win-wrap { grid-row: 1 / span 2; position: relative; padding-bottom: 14px; }
body.night .nt-win {
  position: relative; aspect-ratio: 3 / 4; border: 5px solid #CFE6F9;
  border-radius: 50% 50% 4px 4px / 37.5% 37.5% 4px 4px;
  background:
    linear-gradient(90deg, transparent calc(50% - 2px), #A7D3F5 calc(50% - 2px), #A7D3F5 calc(50% + 2px), transparent calc(50% + 2px)),
    linear-gradient(180deg, transparent calc(56% - 2px), #A7D3F5 calc(56% - 2px), #A7D3F5 calc(56% + 2px), transparent calc(56% + 2px)),
    radial-gradient(120% 90% at 50% 34%, #FFFFFF 0%, #F4F9FE 34%, #DDEEFB 68%, #B9DBF7 100%);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .45), 0 0 28px 4px rgba(167, 211, 245, .32), 0 0 90px 18px rgba(29, 79, 163, .55);
}
body.night .nt-win::after {
  content: ""; position: absolute; inset: -5px; border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 46px 10px rgba(221, 238, 251, .42);
  opacity: .35; animation: nt-breathe 7s ease-in-out infinite;
}
body.night .nt-w2::after { animation-delay: -1.8s; }
body.night .nt-w3::after { animation-delay: -3.6s; }
body.night .nt-w4::after { animation-delay: -5.2s; }
@keyframes nt-breathe { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
body.night .nt-sill {
  position: absolute; left: -9%; right: -9%; bottom: 0; height: 12px; border-radius: 3px;
  background: linear-gradient(180deg, #EEF5FC, #A7D3F5);
  box-shadow: 0 6px 18px -4px rgba(167, 211, 245, .5);
}
body.night .nt-mo {
  position: absolute; z-index: 2; left: 6%; bottom: -5px; width: 52%; height: auto;
  transform: translateY(21.7%);
}
body.night .nt-win-wrap .nt-sig { display: none; }

/* ---------- The glass ---------- */
body.night .nt-glass { background: var(--nt-navy); border-top: 1px solid var(--nt-line); border-bottom: 1px solid var(--nt-line); }
body.night .nt-glass-grid { display: grid; gap: 44px; align-items: center; }
body.night .nt-spec { margin: 28px 0 0; padding: 0; display: grid; }
body.night .nt-spec-row { padding: 18px 0; border-top: 1px solid var(--nt-line-2); }
body.night .nt-spec-row:last-child { border-bottom: 1px solid var(--nt-line-2); }
body.night .nt-spec dt { font: 700 1.12rem/1.3 var(--nt-head); color: #fff; margin: 0 0 6px; }
body.night .nt-spec dd { margin: 0; color: var(--nt-muted); font-family: var(--nt-body); line-height: 1.6; }
body.night .nt-tag {
  display: inline-block; margin-right: 10px; padding: 4px 9px 3px; border-radius: 999px; vertical-align: 1px;
  font: 800 .66rem/1.2 var(--nt-head); letter-spacing: .16em; text-transform: uppercase;
  background: var(--nt-sky); color: var(--nt-navy);
}
body.night .nt-tag-alt { background: transparent; color: var(--nt-sky); box-shadow: inset 0 0 0 1px rgba(167, 211, 245, .6); }

body.night .nt-panes { margin: 0; position: relative; }
body.night .nt-pane-stage {
  position: relative; overflow: hidden; height: clamp(300px, 46vw, 440px); border-radius: 20px;
  display: grid; grid-template-columns: 1fr 14px 56px 14px 0 0 1fr; align-items: stretch;
  border: 1px solid var(--nt-line-2);
  transition: grid-template-columns .45s cubic-bezier(.2, .8, .2, 1);
}
body.night .nt-panes[data-panes="3"] .nt-pane-stage { grid-template-columns: 1fr 14px 46px 14px 46px 14px 1fr; }
body.night .nt-side { position: relative; display: flex; align-items: flex-end; padding: 18px; }
body.night .nt-side span,
body.night .nt-gas span {
  font: 800 .7rem/1 var(--nt-head); letter-spacing: .2em; text-transform: uppercase;
}
body.night .nt-out {
  background:
    radial-gradient(circle at 30% 22%, #fff 0 1.2px, transparent 2px),
    radial-gradient(circle at 70% 40%, rgba(221,238,251,.9) 0 1px, transparent 1.6px),
    radial-gradient(circle at 45% 64%, rgba(167,211,245,.9) 0 1px, transparent 1.6px),
    radial-gradient(circle at 18% 78%, #fff 0 .8px, transparent 1.4px),
    linear-gradient(180deg, #0A1F45, #0F2A5C);
}
body.night .nt-out span { color: var(--nt-sky); }
body.night .nt-in {
  justify-content: flex-end;
  background: radial-gradient(130% 90% at 100% 30%, #FFFFFF 0%, #EEF5FC 40%, #CFE6F9 100%);
}
body.night .nt-in span { color: var(--nt-navy); }
body.night .nt-glassbar {
  background: linear-gradient(90deg, rgba(167,211,245,.55), #EEF5FC 45%, rgba(167,211,245,.7));
  box-shadow: 0 0 22px 2px rgba(167, 211, 245, .55);
  position: relative; z-index: 1;
}
body.night .nt-gas {
  position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;
  background:
    radial-gradient(circle, rgba(167, 211, 245, .5) 0 1px, transparent 1.6px) 0 0 / 11px 13px,
    linear-gradient(90deg, rgba(29, 79, 163, .55), rgba(29, 79, 163, .3));
}
body.night .nt-gas span { writing-mode: vertical-rl; transform: rotate(180deg); color: #fff; white-space: nowrap; }
body.night .nt-gas-3, body.night .nt-glass-3 { opacity: 0; transition: opacity .3s ease .15s; }
body.night .nt-panes[data-panes="3"] .nt-gas-3,
body.night .nt-panes[data-panes="3"] .nt-glass-3 { opacity: 1; }
body.night .nt-pane-stage .nt-sig { right: auto; left: 14px; top: 14px; bottom: auto; }
body.night .nt-lowe {
  position: absolute; z-index: 2; left: 50%; bottom: 16px; transform: translateX(-50%); white-space: nowrap;
  padding: 6px 11px 5px; border-radius: 999px; background: var(--nt-sky); color: var(--nt-navy);
  font: 800 .66rem/1.2 var(--nt-head); letter-spacing: .16em; text-transform: uppercase;
  box-shadow: 0 0 22px rgba(167, 211, 245, .55);
}
body.night .nt-panes figcaption { margin-top: 16px; font-family: var(--nt-body); font-size: .98rem; color: var(--nt-muted); line-height: 1.55; min-height: 3.1em; }
body.night .nt-cap-3 { display: none; }
body.night .nt-panes[data-panes="3"] .nt-lowe { opacity: 0; }
body.night .nt-lowe { transition: opacity .25s ease; }
body.night .nt-panes[data-panes="3"] .nt-cap-2 { display: none; }
body.night .nt-panes[data-panes="3"] .nt-cap-3 { display: inline; }
body.night .nt-toggle {
  margin-top: 14px; min-height: 48px; padding: 12px 22px; border-radius: 999px; cursor: pointer;
  background: transparent; color: #fff; border: 2px solid rgba(167, 211, 245, .6);
  font: 700 .95rem/1 var(--nt-head);
}
body.night .nt-toggle:hover { border-color: var(--nt-sky); background: rgba(167, 211, 245, .1); }
body.night .nt-toggle[aria-pressed="true"] { background: var(--nt-sky); color: var(--nt-navy); border-color: var(--nt-sky); }

/* ---------- Mo keeps watch ---------- */
body.night .nt-mo-sec { background: var(--nt-deep); overflow: hidden; }
body.night .nt-mo-grid { display: grid; gap: 40px; align-items: center; }
body.night .nt-mo-art {
  position: relative; display: grid; grid-template-columns: .9fr 1.3fr .9fr; align-items: end; gap: 10px;
  padding: 34px 16px 52px; border-radius: 24px;
  background: radial-gradient(70% 60% at 50% 45%, rgba(29, 79, 163, .55), rgba(15, 42, 92, 0) 70%), var(--nt-navy);
  border: 1px solid var(--nt-line);
}
body.night .nt-frame { margin: 0; text-align: center; }
body.night .nt-frame img { width: 100%; height: auto; margin: 0 auto; }
body.night .nt-frame-main { grid-column: 2; grid-row: 1; filter: drop-shadow(0 0 34px rgba(167, 211, 245, .3)); }
body.night .nt-frame-a { grid-column: 1; grid-row: 1; }
body.night .nt-frame-b { grid-column: 3; grid-row: 1; }
body.night .nt-frame-side img { opacity: .95; }
body.night .nt-frame figcaption {
  margin-top: 12px; font: 700 .68rem/1.3 var(--nt-head); letter-spacing: .16em; text-transform: uppercase; color: var(--nt-sky);
}
body.night .nt-tagline { margin: 22px 0 0; font: 800 1rem/1 var(--nt-head) !important; letter-spacing: .26em; text-transform: uppercase; color: #fff !important; }

/* ---------- CTA band ---------- */
body.night .nt-cta {
  position: relative; overflow: hidden; isolation: isolate; text-align: center;
  padding: 88px 0 96px;
  background:
    radial-gradient(60% 70% at 50% 110%, rgba(29, 79, 163, .9) 0%, rgba(29, 79, 163, 0) 70%),
    linear-gradient(180deg, var(--nt-deep), #0D2554);
  border-top: 1px solid var(--nt-line);
}
body.night .nt-stars-soft { opacity: .8; -webkit-mask-image: none; mask-image: none; }
body.night .nt-cta-in { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; }
body.night .nt-cta-mark { width: 64px; height: auto; margin-bottom: 22px; filter: drop-shadow(0 0 18px rgba(167, 211, 245, .55)); }
body.night .nt-cta h2 { margin-left: auto; margin-right: auto; max-width: 14ch; }
body.night .nt-cta .nt-intro { margin-left: auto; margin-right: auto; color: var(--nt-text); }
body.night .nt-actions-center { justify-content: center; }
body.night .nt-area { margin: 22px 0 0; font: 700 .76rem/1.3 var(--nt-head); letter-spacing: .2em; text-transform: uppercase; color: var(--nt-sky); }

/* ---------- Phone tweaks ---------- */
@media (max-width: 639px) {
  body.night .nt-actions .nt-btn { flex: 1 1 100%; }
  body.night .nt-mo-art { gap: 6px; padding: 26px 10px 48px; }
  body.night .nt-frame figcaption { font-size: .6rem; letter-spacing: .1em; }
  body.night .nt-moon { width: 40px; top: 24px; right: 18px; }
}

/* ---------- Tablet and up ---------- */
@media (min-width: 720px) {
  body.night .nt-sec { padding: 104px 0; }
  body.night .nt-watch { padding-top: 64px; }
  body.night .nt-row { grid-template-columns: repeat(2, 1fr); gap: 48px 40px; }
}
@media (min-width: 1000px) {
  body.night .nt-row { grid-template-columns: repeat(4, 1fr); gap: 40px; }
  body.night .nt-cell { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
  body.night .nt-cell h3, body.night .nt-cell p { grid-column: 1; }
  body.night .nt-cell h3 { margin-top: 34px; font-size: 1.4rem; }
  body.night .nt-win-wrap { grid-row: auto; width: 74%; padding-bottom: 16px; }
  body.night .nt-sill { height: 14px; }
  body.night .nt-win { border-width: 6px; }
  body.night .nt-win-wrap .nt-sig { display: inline-flex; right: -9%; bottom: -40px; }
  body.night .nt-glass-grid { grid-template-columns: 1.05fr 1fr; gap: 72px; }
  body.night .nt-mo-grid { grid-template-columns: 1.1fr 1fr; gap: 72px; }
  body.night .nt-mo-art { padding: 56px 24px 70px; gap: 16px; }
  body.night .nt-hero-copy { padding-right: 220px; }
  body.night .nt-hero { padding-top: 48px; }
  body.night .nt-hero h1 { font-size: clamp(5.6rem, 7.6vw, 7.2rem); }
  body.night .nt-lede { max-width: none; margin-top: 22px; }
  body.night .nt-actions { margin-top: 26px; }
  body.night .nt-city { height: 360px; margin-top: 24px; }
}

/* ---------- Motion off ---------- */
@media (prefers-reduced-motion: reduce) {
  body.night .nt-stars::before,
  body.night .nt-stars::after,
  body.night .nt-win::after { animation: none; }
  body.night .nt-stars::before, body.night .nt-stars::after { opacity: .8; }
  body.night .nt-win::after { opacity: .6; }
  body.night .nt-pane-stage,
  body.night .nt-gas-3,
  body.night .nt-glass-3,
  body.night .nt-btn { transition: none; }
}

/* ---------- Memphis sings (B04) ---------- */
body.night .nt-sing { background: var(--nt-deep); overflow: hidden; padding-top: 24px; }
body.night .nt-sing-grid { display: grid; gap: 34px; align-items: center; justify-items: center; text-align: center; }
body.night .nt-sing-art { position: relative; width: min(66vw, 290px); padding: 18px 0 30px; }
body.night .nt-sing-glow {
  position: absolute; inset: -18% -30%; z-index: 0; pointer-events: none; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(167, 211, 245, .34), rgba(29, 79, 163, .38) 45%, rgba(29, 79, 163, 0) 100%);
}
body.night .nt-b04 { position: relative; z-index: 1; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 0 26px rgba(167, 211, 245, .35)); }
body.night .nt-note { transform-box: fill-box; transform-origin: 50% 50%; }
body.night .nt-note-0 { animation: nt-bob 3.6s ease-in-out infinite; }
body.night .nt-note-1, body.night .nt-note-2 { opacity: 0; animation: nt-float 6s ease-out infinite; }
body.night .nt-note-2 { animation-delay: 3s; }
@keyframes nt-bob { 0%, 100% { transform: translate(0, 0) rotate(0deg); } 50% { transform: translate(0, -6px) rotate(-6deg); } }
@keyframes nt-float {
  0% { opacity: 0; transform: translate(-46px, 10px) scale(.55) rotate(-8deg); }
  18% { opacity: .9; }
  100% { opacity: 0; transform: translate(10px, -92px) scale(.8) rotate(10deg); }
}
body.night .nt-sing-art .nt-sig { right: 0; bottom: 0; }
body.night .nt-sing h2 { margin-left: auto; margin-right: auto; max-width: 13ch; }
body.night .nt-sing .nt-intro { margin-left: auto; margin-right: auto; max-width: 26em; }
@media (min-width: 1000px) {
  body.night .nt-sing { padding: 56px 0 104px; }
  body.night .nt-sing-grid { grid-template-columns: 1fr 1.1fr; gap: 80px; justify-items: stretch; text-align: left; }
  body.night .nt-sing-art { justify-self: center; width: 380px; }
  body.night .nt-sing h2, body.night .nt-sing .nt-intro { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.night .nt-note-0, body.night .nt-note-1, body.night .nt-note-2 { animation: none; }
  body.night .nt-note-1 { opacity: .7; transform: translate(-20px, -40px) scale(.6) rotate(-6deg); }
}

/* Even line breaks on headings and centered copy */
body.night .nt-sec h2, body.night .nt-cta h2, body.night .nt-sing .nt-intro, body.night .nt-cta .nt-intro { text-wrap: balance; }
