/*! NBC v6.404 · one continuous page Ambilight with local instrument light only */
@layer nbc.ambient {
  :root {
    --nbc-ambient-green: 139 207 154;
    --nbc-ambient-amber: 216 173 100;
    --nbc-ambient-red: 223 119 113;
    --nbc-ambient-neutral: 134 153 143;
  }
  body.page.design-system-executive {
    position: relative;
    isolation: isolate;
    --ambient-primary-x: 14vw;
    --ambient-primary-y: -5vh;
    --ambient-primary-scale: 1.02;
    --ambient-primary-opacity: .40;
    --ambient-secondary-x: -16vw;
    --ambient-secondary-y: 22vh;
    --ambient-secondary-scale: .94;
    --ambient-secondary-opacity: .07;
    --ambient-primary-rgb: var(--nbc-ambient-green);
    --ambient-secondary-rgb: var(--nbc-ambient-amber);
  }
  .nbc-ambient-field {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: clip;
    pointer-events: none;
    user-select: none;
    contain: strict;
    background: linear-gradient(180deg, rgb(7 11 9 / .18), rgb(7 11 9 / .05) 44%, rgb(7 11 9 / .22));
  }
  .nbc-ambient-field::before,
  .nbc-ambient-field::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 106vmax;
    height: 86vmax;
    border-radius: 50%;
    transform-origin: center;
    pointer-events: none;
    transition: opacity 1.05s cubic-bezier(.22,.61,.36,1), transform 1.15s cubic-bezier(.22,.61,.36,1), background .85s ease;
  }
  .nbc-ambient-field::before {
    opacity: var(--ambient-primary-opacity);
    transform: translate(calc(-50% + var(--ambient-primary-x)),calc(-50% + var(--ambient-primary-y))) scale(var(--ambient-primary-scale));
    background: radial-gradient(ellipse at center, rgb(var(--ambient-primary-rgb) / .58) 0%, rgb(var(--ambient-primary-rgb) / .21) 27%, rgb(var(--ambient-primary-rgb) / .055) 50%, transparent 73%);
  }
  .nbc-ambient-field::after {
    opacity: var(--ambient-secondary-opacity);
    transform: translate(calc(-50% + var(--ambient-secondary-x)),calc(-50% + var(--ambient-secondary-y))) scale(var(--ambient-secondary-scale));
    background: radial-gradient(ellipse at center, rgb(var(--ambient-secondary-rgb) / .42) 0%, rgb(var(--ambient-secondary-rgb) / .12) 31%, transparent 70%);
  }
  body.page.design-system-executive[data-ambient-current="hero"] {
    --ambient-primary-x: 8vw; --ambient-primary-y: -5vh; --ambient-primary-scale: 1.08; --ambient-primary-opacity: .54;
    --ambient-secondary-x: -11vw; --ambient-secondary-y: 18vh; --ambient-secondary-scale: .98; --ambient-secondary-opacity: .10;
  }
  body.page.design-system-executive[data-ambient-current="process"] {
    --ambient-primary-x: 20vw; --ambient-primary-y: 3vh; --ambient-primary-scale: 1.05; --ambient-primary-opacity: .48;
    --ambient-secondary-x: -21vw; --ambient-secondary-y: 19vh; --ambient-secondary-scale: .92; --ambient-secondary-opacity: .065;
  }
  body.page.design-system-executive[data-ambient-current="instrument"] {
    --ambient-primary-x: 18vw; --ambient-primary-y: 9vh; --ambient-primary-scale: 1.10; --ambient-primary-opacity: .56;
    --ambient-secondary-x: -13vw; --ambient-secondary-y: 23vh; --ambient-secondary-scale: .94; --ambient-secondary-opacity: .08;
  }
  body.page.design-system-executive[data-ambient-current="evidence"] {
    --ambient-primary-x: 24vw; --ambient-primary-y: 15vh; --ambient-primary-scale: 1.02; --ambient-primary-opacity: .37;
    --ambient-secondary-x: -13vw; --ambient-secondary-y: -2vh; --ambient-secondary-scale: 1.03; --ambient-secondary-opacity: .16;
  }
  body.page.design-system-executive[data-ambient-current="editorial"] {
    --ambient-primary-x: -12vw; --ambient-primary-y: -10vh; --ambient-primary-scale: .96; --ambient-primary-opacity: .26;
    --ambient-secondary-x: 22vw; --ambient-secondary-y: 23vh; --ambient-secondary-scale: .84; --ambient-secondary-opacity: .045;
  }
  body.page.design-system-executive[data-ambient-current="quiet"] {
    --ambient-primary-x: 24vw; --ambient-primary-y: -7vh; --ambient-primary-scale: .90; --ambient-primary-opacity: .10;
    --ambient-secondary-x: -23vw; --ambient-secondary-y: 24vh; --ambient-secondary-scale: .82; --ambient-secondary-opacity: .02;
  }
  body.page.design-system-executive > main {
    position: relative;
    z-index: 2;
    background-color: transparent;
    background-image: none;
  }
  body.page.design-system-executive > .site-footer { position: relative; z-index: 2; }
  body.page.design-system-executive > .site-header,
  body.page.design-system-executive > #progress,
  body.page.design-system-executive > .fab { z-index: 4; }

  /* The page field is the sole section-level light owner. */
  body.page.design-system-executive main.nbc-page-shell > :where(section,article,div)[data-ambient]:not(.light),
  body.page.design-system-executive main.nbc-page-shell > .executive-opening > :where(section,article,div)[data-ambient]:not(.light) {
    position: relative;
    background-color: transparent;
    background-image: none;
    background-blend-mode: normal;
  }
  body.page.design-system-executive [data-page-ambient-active="true"] { --nbc-current-section: 1; }
  .nbc-page-section-ambilight { display: none; }

  /* Local light is restricted to genuine interactive instruments. */
  [data-nbc-visual-stage][data-stage-local-ambient="true"] {
    --nbc-stage-ambient-rgb: var(--nbc-ambient-green);
    --nbc-stage-ambient-rgb-secondary: var(--nbc-ambient-neutral);
    --nbc-stage-ambient-state-x: 52%;
    --nbc-stage-ambient-state-y: 50%;
    --nbc-stage-ambient-secondary-x: 72%;
    --nbc-stage-ambient-secondary-y: 64%;
    --nbc-stage-ambient-intensity: .42;
    --nbc-stage-ambient-secondary-intensity: .14;
    --nbc-stage-ambient-spread: 46%;
  }
  .nbc-stage-ambilight {
    position: absolute;
    inset: -8%;
    z-index: -2;
    overflow: hidden;
    pointer-events: none;
    opacity: 1;
    border-radius: inherit;
    transition: opacity .38s ease;
  }
  .nbc-stage-ambilight::before,
  .nbc-stage-ambilight::after {
    content: "";
    position: absolute;
    inset: -18%;
    pointer-events: none;
    transition: background-position .82s cubic-bezier(.22,.61,.36,1), opacity .7s ease, filter .7s ease;
  }
  .nbc-stage-ambilight::before {
    opacity: var(--nbc-stage-ambient-intensity);
    background: radial-gradient(circle at var(--nbc-stage-ambient-state-x) var(--nbc-stage-ambient-state-y), rgb(var(--nbc-stage-ambient-rgb) / .70) 0%, rgb(var(--nbc-stage-ambient-rgb) / .25) 16%, rgb(var(--nbc-stage-ambient-rgb) / .075) 34%, transparent var(--nbc-stage-ambient-spread));
    filter: blur(24px) saturate(1.08);
  }
  .nbc-stage-ambilight::after {
    opacity: var(--nbc-stage-ambient-secondary-intensity);
    background: radial-gradient(circle at var(--nbc-stage-ambient-secondary-x) var(--nbc-stage-ambient-secondary-y), rgb(var(--nbc-stage-ambient-rgb-secondary) / .44) 0%, rgb(var(--nbc-stage-ambient-rgb-secondary) / .13) 21%, transparent 48%);
    filter: blur(36px);
  }
  [data-nbc-visual-stage][data-ambient-tone="critical"] { --nbc-stage-ambient-rgb: var(--nbc-ambient-red); }
  [data-nbc-visual-stage][data-ambient-tone="strained"] { --nbc-stage-ambient-rgb: var(--nbc-ambient-amber); }
  [data-nbc-visual-stage][data-ambient-tone="stable"] { --nbc-stage-ambient-rgb: var(--nbc-ambient-green); }
  [data-nbc-visual-stage][data-ambient-tone="neutral"] { --nbc-stage-ambient-rgb: var(--nbc-ambient-neutral); }
  [data-nbc-visual-stage][data-stage-state="offscreen"] .nbc-stage-ambilight,
  [data-nbc-visual-stage][data-stage-state="dormant"] .nbc-stage-ambilight { opacity: .24; }
  [data-nbc-visual-stage][data-stage-state="paused"] .nbc-stage-ambilight { opacity: .48; }
  [data-nbc-visual-stage][data-stage-state="fallback"] .nbc-stage-ambilight { opacity: .36; }

  @media (max-width:760px) {
    .nbc-ambient-field::before,.nbc-ambient-field::after { width: 132vmax; height: 96vmax; }
    body.page.design-system-executive[data-ambient-current="hero"] { --ambient-primary-opacity: .43; --ambient-secondary-opacity: .08; }
    body.page.design-system-executive[data-ambient-current="instrument"] { --ambient-primary-opacity: .45; }
    body.page.design-system-executive[data-ambient-current="process"] { --ambient-primary-opacity: .37; }
    body.page.design-system-executive[data-ambient-current="evidence"] { --ambient-primary-opacity: .28; --ambient-secondary-opacity: .13; }
    body.page.design-system-executive[data-ambient-current="editorial"] { --ambient-primary-opacity: .20; }
    [data-nbc-visual-stage][data-stage-local-ambient="true"] { --nbc-stage-ambient-intensity: .31; --nbc-stage-ambient-secondary-intensity: .09; --nbc-stage-ambient-spread: 52%; }
  }
  @media (prefers-reduced-motion:reduce) {
    .nbc-ambient-field::before,.nbc-ambient-field::after,.nbc-stage-ambilight,.nbc-stage-ambilight::before,.nbc-stage-ambilight::after { transition:none; animation:none; will-change:auto; }
    [data-nbc-visual-stage][data-stage-local-ambient="true"] { --nbc-stage-ambient-intensity: .25; --nbc-stage-ambient-secondary-intensity: .07; }
  }
  @media (prefers-reduced-transparency:reduce) {
    .nbc-ambient-field::before { opacity:.08; }
    .nbc-ambient-field::after { opacity:.02; }
    .nbc-stage-ambilight { opacity:.28; }
  }
  @media print { .nbc-ambient-field,.nbc-stage-ambilight { display:none; } }
}
