:root{--ink:#203029;--muted:#56635b;--green:#365945;--cream:#f8f6f0;--line:rgba(54,89,69,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Source Sans 3",system-ui,sans-serif}a{color:inherit}.moment-shell{min-height:100vh}.moment-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:999px;background:var(--green);color:#fff;font-weight:750;text-decoration:none;box-shadow:0 12px 26px rgba(32,48,41,.14)}.moment-button--light{background:#fff;color:var(--green)}.moment-button:focus-visible,.situation-card:focus-within{outline:3px solid #a8c3af;outline-offset:4px}.moment-hero,.moment-content,.moment-final{padding-inline:max(24px,calc((100% - 1180px)/2))}.moment-hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(42px,7vw,96px);padding-block:clamp(56px,6vw,88px)}.moment-eyebrow{margin:0 0 14px;color:var(--green);font-size:.8rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.moment-hero h1,.moment-content h2,.moment-final h2{margin:0;color:var(--ink);font-size:clamp(2.45rem,5vw,4.8rem);line-height:1.02;letter-spacing:-.045em}.moment-hero h1{font-size:clamp(2.4rem,3.6vw,3.65rem);line-height:1.05}.moment-hero p:not(.moment-eyebrow){max-width:700px;margin:26px 0 32px;color:var(--muted);font-size:1.18rem;line-height:1.65}.moment-hero img{display:block;width:100%;height:min(66vh,620px);object-fit:cover;border-radius:44% 44% 20% 44%;box-shadow:0 24px 70px rgba(32,48,41,.12)}.moment-content{padding-block:clamp(56px,6vw,88px);background:#eef1eb}.moment-content__intro{max-width:960px;margin-bottom:42px}.moment-content h2{font-size:clamp(2.05rem,4vw,3.8rem)}.moment-content__intro>p:last-child{max-width:780px;color:var(--muted);font-size:1.08rem;line-height:1.65}.situation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.situation-card{scroll-margin-top:104px;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.situation-card h3{margin:0 0 13px;font-size:1.45rem;line-height:1.18}.situation-card p{margin:0;color:var(--muted);line-height:1.65}.situation-card a{display:inline-block;margin-top:22px;color:var(--green);font-weight:750;text-underline-offset:4px}.moment-final{display:flex;flex-direction:column;align-items:flex-start;padding-block:clamp(56px,6vw,88px);background:var(--green);color:#fff}.moment-final h2{max-width:850px;color:#fff;font-size:clamp(2.15rem,4vw,4rem)}.moment-final p{max-width:700px;margin:22px 0 30px;color:rgba(255,255,255,.82);font-size:1.1rem;line-height:1.65}@media(max-width:760px){.moment-hero{grid-template-columns:1fr;padding-block:52px 70px}.moment-hero h1{font-size:clamp(2.25rem,9.8vw,3.25rem)}.moment-hero img{height:min(112vw,480px)}.situation-grid{grid-template-columns:1fr}.situation-card{scroll-margin-top:88px}.moment-final{align-items:stretch}.moment-button{min-height:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.moment-final{background:#fff;color:#000}.moment-final h2,.moment-final p{color:#000}}
/*
 * Scenario pages use a separate shell instead of the homepage's
 * `body.index-landing` surface. Keep the root surface dark at the final
 * document edge so fractional layout rounding cannot reveal a light strip
 * below the footer, and clip any horizontal overflow at both scroll roots.
 */
html:has(body[data-scenario-page]) {
  overflow-x: clip;
  background: var(--ink);
  scrollbar-width: none;
}

html:has(body[data-scenario-page])::-webkit-scrollbar,
body[data-scenario-page]::-webkit-scrollbar {
  width: 0;
  height: 0;
}

body[data-scenario-page] {
  overflow-x: clip;
  background: var(--ink);
  scrollbar-width: none;
}

body[data-scenario-page] .moment-shell {
  background:
    linear-gradient(
      to bottom,
      var(--cream) 0,
      var(--cream) var(--landing-header-offset),
      var(--ink) var(--landing-header-offset),
      var(--ink) 100%
    );
}

body[data-scenario-page] .site-header,
body[data-scenario-page] .moment-hero,
body[data-scenario-page] .moment-support {
  background: var(--cream);
}
