:root{
  --mvg-space-2: 8px;
  --mvg-space-3: 12px;
  --mvg-space-4: 16px;
  --mvg-space-5: 24px;
  --mvg-space-6: 32px;
  --mvg-space-7: 48px;
  --mvg-space-8: 64px;
  --mvg-panel-radius: 28px;
  --mvg-card-radius: 20px;
  --mvg-chip-radius: 999px;
  --mvg-hairline: rgba(255,255,255,.10);
  --mvg-hairline-soft: rgba(255,255,255,.08);
  --mvg-stage-fill: linear-gradient(180deg, rgba(255,255,255,.036), rgba(255,255,255,.018));
  --mvg-stage-shadow: 0 24px 60px rgba(6,10,18,.18), inset 0 1px 0 rgba(255,255,255,.03);
}

/* ---------- global discipline ---------- */
.home-hero-shell,
.board-signal,
.nonnegotiables-shell,
.operating-shell,
.why-tableau-shell,
.why-requirements-shell,
.why-appendix,
.why-sources-shell,
.mission-stewardship-shell,
.mission-coda-shell{
  border-radius: var(--mvg-panel-radius);
  box-shadow: var(--mvg-stage-shadow);
}

.featured-evidence-grid .evidence-anchor-card,
.signal-tile,
.operating-step,
.tableau-card,
.why-requirement-card,
.mission-principle-card,
.mission-surface-chip{
  border-radius: var(--mvg-card-radius);
}

.section-eyebrow,
.license-label,
.why-now-kicker,
.mission-kicker,
.mission-sdg{
  letter-spacing: .08em;
}

.section-deck,
.hero-lede,
.mission-coda-copy,
.mission-hero-support,
.why-now-trust-line,
.source-note{
  letter-spacing: -.01em;
}

/* remove generic reveal drama on these three pages; keep only bespoke motions */
@media (prefers-reduced-motion:no-preference){
  .home-hero-v79_12 .reveal,
  .nonnegotiables-section .reveal,
  .operating-principle-section .reveal,
  .featured-evidence-section .reveal,
  .mission-coda-section .reveal,
  .why-now-v79_12 .reveal,
  .mission-v79_12 .reveal{
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
    will-change: auto;
  }
}

/* ---------- homepage ---------- */
.home-hero-v79_12 .home-hero-shell{
  padding-block: clamp(4.55rem, 8.5vw, 5.65rem);
}
.home-hero-v79_12 .home-hero-grid{
  gap: var(--mvg-space-6) calc(var(--mvg-space-6) + var(--mvg-space-3));
  align-items: center;
}
.home-hero-v79_12 .pill{margin-bottom: var(--mvg-space-3);}
.home-hero-v79_12 h1{
  max-width: 9.15ch;
  margin: 0 0 20px;
  line-height: .9;
  letter-spacing: -.05em;
}
.home-hero-v79_12 .hero-lede{
  max-width: 29.5rem;
  margin: 0 0 12px;
  font-size: clamp(1.02rem, 1.45vw, 1.18rem);
  line-height: 1.48;
}
.home-hero-v79_12 .home-hero-support{
  margin: 0 0 24px;
  font-size: .97rem;
  opacity: .88;
}
.home-hero-v79_12 .hero-actions{
  gap: var(--mvg-space-3);
  margin-bottom: var(--mvg-space-4);
}
.home-hero-v79_12 .home-utility-rail{
  margin-top: 0;
  gap: var(--mvg-space-2) var(--mvg-space-4);
  font-size: .89rem;
}
.home-hero-v79_12 .home-boundary-wrap{align-self: stretch;}

.boundary-object.v79 .boundary-stage{
  padding: 20px 20px 24px;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.016));
  border: 1px solid var(--mvg-hairline-soft);
  box-shadow: 0 32px 80px rgba(6,10,18,.24), inset 0 1px 0 rgba(255,255,255,.035);
}
.boundary-object.v79 .boundary-stage::before{
  background:
    radial-gradient(118% 112% at 18% 18%, rgba(124,92,255,.17) 0%, rgba(124,92,255,0) 48%),
    radial-gradient(110% 100% at 82% 30%, rgba(67,211,255,.10) 0%, rgba(67,211,255,0) 46%);
}
.boundary-object.v79 .boundary-stage::after{opacity:.62;}
.boundary-object.v79 .boundary-grid-line{stroke: rgba(255,255,255,.05);}
.boundary-object.v79 .boundary-boundary{
  stroke: rgba(255,255,255,.16);
  stroke-width: 2.25;
}
.boundary-object.v79 .trail{stroke-linecap: round; stroke-width: 3.35;}
.boundary-object.v79 .trail-success{stroke-width: 3.4;}
.boundary-object.v79 .trail-fail{stroke-width: 2.1; opacity:.12;}
.boundary-object.v79 .proof-orbit{stroke: rgba(255,255,255,.08); stroke-width: 1.15;}
.boundary-object.v79 .field-focus{opacity:.88;}
.boundary-object.v79 .boundary-chip{
  padding: .46rem .74rem;
  font-size: .75rem;
  letter-spacing: .04em;
  background: rgba(7,10,18,.58);
  border: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.boundary-object.v79 .boundary-caption{
  left: 24px;
  bottom: 22px;
  max-width: 14rem;
  font-size: .82rem;
  line-height: 1.38;
  opacity: .88;
}
.boundary-object.v79 svg circle{opacity:.9;}

.board-signal-section.v79{padding-top: 12px;}
.board-signal-section.v79 .board-signal{
  gap: 24px 28px;
  padding: 26px 26px 24px;
  border-radius: 30px;
}
.board-signal-section.v79 .board-signal::before{opacity:.82;}
.board-signal-section.v79 .board-signal::after{
  left: 26px;
  right: 26px;
  top: 18px;
  opacity: .72;
}
.board-signal-section.v79 .board-signal-copy h2{
  max-width: 10ch;
  margin: .16rem 0 .72rem;
  font-size: clamp(2.16rem, 3.7vw, 3.45rem);
  line-height: .95;
  letter-spacing: -.045em;
}
.board-signal-section.v79 .board-signal-copy .section-deck{
  max-width: 34rem;
  margin: 0;
}
.board-signal-section.v79 .signal-actions{
  margin-top: var(--mvg-space-5);
}
.board-signal-section.v79 .signal-grid{
  gap: 12px;
  align-content: start;
}
.board-signal-section.v79 .signal-tile{
  min-height: 148px;
  padding: 18px 18px 17px;
  background: linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.08);
}
.board-signal-section.v79 .signal-stat{
  margin: 0 0 6px;
  font-size: clamp(1.7rem, 2.25vw, 2.2rem);
  line-height: .98;
}
.board-signal-section.v79 .signal-tile h3{
  margin: 0 0 6px;
  font-size: .98rem;
  line-height: 1.14;
}
.board-signal-section.v79 .signal-tile p{
  max-width: 23ch;
  margin: 0;
  font-size: .89rem;
  line-height: 1.44;
}
.board-signal-section.v79 .source-note{
  margin-top: 12px;
  font-size: .76rem;
  opacity: .72;
}

.nonnegotiables-section{padding-top: var(--mvg-space-8);}
.nonnegotiables-shell{padding: 32px; gap: 16px;}
.nonnegotiables-shell h2{margin-bottom: 16px;}
.nonnegotiables-shell .principle-point{padding-top: 16px;}

.operating-principle-section .operating-shell{
  gap: 18px;
  padding: 32px;
}
.operating-principle-section .operating-copy{
  max-width: 34rem;
}
.operating-principle-section .operating-rail{gap: 12px;}
.operating-principle-section .operating-step{
  padding: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.016));
  border: 1px solid rgba(255,255,255,.08);
}

.featured-evidence-section{padding-top: var(--mvg-space-8);}
.featured-evidence-section .section-head .section-deck{max-width: 36rem;}
.featured-evidence-grid{gap: 16px;}
.featured-evidence-grid .evidence-anchor-card{
  padding: 24px;
  min-height: 100%;
}
.featured-evidence-grid .evidence-anchor-card p{
  max-width: 24rem;
  font-size: .93rem;
  line-height: 1.48;
}
.secondary-evidence-rail{
  margin-top: 16px;
  padding-top: 16px;
}

.mission-coda-section{padding-top: var(--mvg-space-8);}
.mission-coda-section .mission-coda{
  max-width: 58rem;
  margin-inline: auto;
  padding: 40px 32px 42px;
}
.mission-coda-section .section-deck{max-width: 30rem;}
.mission-coda-support{margin-top: 12px; opacity: .8;}

/* homepage bespoke motion: only the boundary object and board tiles */
@media (prefers-reduced-motion:no-preference){
  .boundary-object.v79 .trail-success{
    stroke-dasharray: 420;
    stroke-dashoffset: 420;
    animation: homeTrailRevealV72_2 820ms cubic-bezier(.22,1,.36,1) 120ms forwards;
  }
  .boundary-object.v79 .trail-fail{
    opacity: 0;
    animation: homeFailFadeV72_2 640ms ease-out 240ms forwards;
  }
  .boundary-object.v79 .field-focus{
    opacity: 0;
    animation: homeNodeGlowV72_2 620ms cubic-bezier(.22,1,.36,1) 380ms forwards;
  }
  .boundary-object.v79 .boundary-caption{
    opacity: 0;
    transform: translateY(4px);
    animation: homeCaptionFadeV72_2 280ms ease-out 620ms forwards;
  }
  .boundary-object.v79 .boundary-chip{animation:none; opacity: 1; transform:none;}

  .board-signal-section.v79 .signal-tile{
    opacity: 0;
    transform: translateY(4px);
    animation: signalFadeV72_2 560ms cubic-bezier(.2,.8,.2,1) forwards;
  }
  .board-signal-section.v79 .signal-tile:nth-child(1){animation-delay: 40ms;}
  .board-signal-section.v79 .signal-tile:nth-child(2){animation-delay: 100ms;}
  .board-signal-section.v79 .signal-tile:nth-child(3){animation-delay: 160ms;}
}

/* ---------- why-now ---------- */
.why-now-hero-shell{
  padding-block: clamp(4rem, 7vw, 5rem);
}
.why-now-hero-copy .pill{margin-bottom: 12px;}
.why-now-kicker{margin: 0 0 8px;}
.why-now-v79_12 h1{
  max-width: 10ch;
  margin: 0 0 20px;
  font-size: clamp(3rem, 5vw, 4.65rem);
  line-height: .94;
  letter-spacing: -.045em;
}
.why-now-v79_12 .hero-lede{
  max-width: 30rem;
  margin: 0 0 24px;
  line-height: 1.48;
}
.why-now-trust-line{
  max-width: 38rem;
  margin-top: 16px;
  font-size: .92rem;
  opacity: .84;
}

.why-tableau-section{padding-top: var(--mvg-space-7);}
.why-tableau-shell{
  padding: 32px 32px 28px;
  border-radius: 30px;
}
.why-tableau-head{
  max-width: 32rem;
  margin-bottom: 20px;
}
.why-tableau-head .section-deck{max-width: 30rem;}
.why-tableau-grid{
  gap: 16px;
  align-items: stretch;
}
.why-tableau-grid::before{opacity:.5;}
.tableau-card{
  padding: 22px 22px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.08);
}
.tableau-card .tableau-stat{
  margin: 0 0 8px;
  font-size: clamp(1.82rem, 2.35vw, 2.3rem);
  line-height: .98;
}
.tableau-card h3{
  margin: 0 0 8px;
  line-height: 1.14;
}
.tableau-card > p:not(.tableau-substat){
  max-width: 22ch;
  line-height: 1.44;
}
.tableau-card .tableau-substat{
  margin-top: 10px;
  font-size: .84rem;
  line-height: 1.42;
  opacity: .76;
}
.tableau-card svg{margin-top: 14px; opacity: .84;}
.why-tableau-summary{
  margin-top: 20px;
  padding-top: 16px;
}
.why-tableau-summary strong{
  font-size: 1.02rem;
  letter-spacing: -.01em;
}
.why-tableau-summary p{
  margin-top: 8px;
  font-size: .76rem;
  line-height: 1.4;
  opacity: .72;
}

.why-requirements-section{padding-top: var(--mvg-space-7);}
.why-requirements-shell{padding: 32px;}
.why-requirements-grid{gap: 16px; margin-top: 24px;}
.why-requirement-card{
  padding: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.08);
}
.why-req-actions{margin-top: 24px;}

.why-appendix-section{padding-top: var(--mvg-space-8);}
.why-appendix{
  max-width: 44rem;
  margin-inline: auto;
  box-shadow: none;
  background: rgba(255,255,255,.015);
}
.why-appendix summary{padding: 16px 20px;}
.why-appendix-body{padding: 16px 20px 20px;}

.why-sources-section{padding-top: var(--mvg-space-8);}
.why-sources-shell{
  max-width: 42rem;
  margin-inline: 0;
}
.why-sources-shell p,
.why-source-list{max-width: 38rem;}

@media (prefers-reduced-motion:no-preference){
  .why-now-v79_12 .tableau-card{
    opacity: 0;
    transform: translateY(4px);
    animation: whySignalEnterV72_2 560ms cubic-bezier(.2,.8,.2,1) forwards;
  }
  .why-now-v79_12 .tableau-card:nth-child(1){animation-delay: 40ms;}
  .why-now-v79_12 .tableau-card:nth-child(2){animation-delay: 100ms;}
  .why-now-v79_12 .tableau-card:nth-child(3){animation-delay: 160ms;}
  .why-now-v79_12 .why-tableau-summary strong,
  .why-now-v79_12 .why-tableau-summary p{
    opacity: 0;
    transform: translateY(4px);
    animation: whySignalEnterV72_2 420ms cubic-bezier(.2,.8,.2,1) 240ms forwards;
  }
}

/* ---------- mission ---------- */
.mission-hero-shell{
  padding-block: clamp(4.6rem, 8vw, 5.8rem);
  gap: 40px 48px;
  align-items: center;
}
.mission-hero-copy .pill{margin-bottom: 12px;}
.mission-kicker{margin: 0 0 8px;}
.mission-v79_12 h1{
  max-width: 9.2ch;
  margin: 0 0 24px;
  line-height: .94;
  letter-spacing: -.048em;
}
.mission-v79_12 .hero-lede{
  max-width: 30rem;
  margin: 0 0 16px;
  line-height: 1.48;
}
.mission-hero-support{margin: 0 0 24px; opacity: .84;}
.mission-arc{opacity:.86;}

.mission-surfaces{padding-top: 56px;}
.mission-section-head{max-width: 30rem; margin-bottom: 20px;}
.mission-surfaces-strip{gap: 12px;}
.mission-surface-chip{
  padding: 16px 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.016));
  border: 1px solid rgba(255,255,255,.08);
}
.mission-surface-chip strong{margin-bottom: 2px;}

.mission-principles{padding-top: var(--mvg-space-8);}
.mission-principles-grid{gap: 16px;}
.mission-principle-card{
  padding: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.034), rgba(255,255,255,.018));
  border: 1px solid rgba(255,255,255,.08);
}
.mission-principle-card h3{margin: 0 0 12px;}
.mission-principle-card p{max-width: 24ch; line-height: 1.44;}

.mission-stewardship{padding-top: var(--mvg-space-8);}
.mission-stewardship-shell{
  max-width: 38rem;
  padding: 32px;
}
.mission-stewardship-shell p{max-width: 30rem;}

.mission-coda{padding-top: var(--mvg-space-8);}
.mission-coda-shell{
  max-width: 44rem;
  margin-inline: auto;
  padding: 32px 32px 40px;
}
.mission-coda-title{
  max-width: 12ch;
  margin-bottom: 16px;
}
.mission-coda-copy{max-width: 26rem;}
.mission-coda-rule{
  margin: 32px 0 24px;
  opacity: .42;
}
.mission-sdg{
  opacity: .82;
  letter-spacing: .22em;
}

@media (prefers-reduced-motion:no-preference){
  .mission-v79_12 .mission-coda-rule,
  .mission-v79_12 .mission-sdg{
    opacity: 0;
    transform: translateY(4px);
  }
  .mission-v79_12 .mission-coda-rule{
    animation: missionCodaRevealV72_2 420ms ease-out 100ms forwards;
  }
  .mission-v79_12 .mission-sdg{
    animation: missionCodaRevealV72_2 480ms ease-out 220ms forwards;
  }
}

/* ---------- mobile / tablet ---------- */
@media (max-width: 980px){
  .home-hero-v79_12 .home-hero-grid,
  .mission-hero-shell{gap: 32px;}
  .board-signal-section.v79 .board-signal,
  .why-tableau-shell,
  .why-requirements-shell,
  .mission-stewardship-shell,
  .mission-coda-shell,
  .nonnegotiables-shell,
  .operating-principle-section .operating-shell{
    padding: 28px 24px;
  }
}

@media (max-width: 900px){
  .board-signal-section.v79 .board-signal{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .board-signal-section.v79 .signal-grid{grid-template-columns: 1fr;}
  .featured-evidence-grid{grid-template-columns: 1fr;}
  .featured-evidence-grid .evidence-anchor-card{grid-column: auto;}
  .mission-arc{min-height: 180px;}
}

@media (max-width: 640px){
  .home-hero-v79_12 .home-hero-shell,
  .board-signal-section.v79 .board-signal,
  .nonnegotiables-shell,
  .operating-principle-section .operating-shell,
  .why-tableau-shell,
  .why-requirements-shell,
  .mission-stewardship-shell,
  .mission-coda-shell,
  .why-appendix{
    padding-inline: 18px;
  }
  .home-hero-v79_12 h1,
  .why-now-v79_12 h1,
  .mission-v79_12 h1{max-width: none;}
  .home-hero-v79_12 .hero-lede,
  .why-now-v79_12 .hero-lede,
  .mission-v79_12 .hero-lede,
  .mission-coda-copy,
  .why-sources-shell,
  .why-sources-shell p,
  .why-source-list{max-width: none;}
  .home-hero-v79_12 .hero-actions,
  .why-now-v79_12 .hero-actions{
    display: grid;
    grid-template-columns: 1fr;
  }
  .home-hero-v79_12 .hero-actions .btn,
  .why-now-v79_12 .hero-actions .btn,
  .mission-v79_12 .hero-actions .btn{width: 100%; justify-content:center;}
  .boundary-object.v79 .boundary-stage{padding: 18px 18px 22px;}
  .boundary-object.v79 .boundary-chip{
    position: static;
    transform: none;
    display: inline-flex;
    margin: 0 8px 8px 0;
  }
  .boundary-object.v79 .boundary-caption{
    position: static;
    max-width: none;
    margin-top: 14px;
  }
  .board-signal-section.v79 .signal-tile,
  .tableau-card,
  .why-requirement-card,
  .mission-principle-card,
  .mission-surface-chip{padding: 18px 16px;}
  .mission-stewardship-shell,
  .mission-coda-shell{padding-block: 28px 32px;}
}

@media (prefers-reduced-motion: reduce){
  .boundary-object.v79 .trail-success,
  .boundary-object.v79 .trail-fail,
  .boundary-object.v79 .field-focus,
  .boundary-object.v79 .boundary-caption,
  .board-signal-section.v79 .signal-tile,
  .why-now-v79_12 .tableau-card,
  .why-now-v79_12 .why-tableau-summary strong,
  .why-now-v79_12 .why-tableau-summary p,
  .mission-v79_12 .mission-coda-rule,
  .mission-v79_12 .mission-sdg{
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

@keyframes homeTrailRevealV72_2{to{stroke-dashoffset:0}}
@keyframes homeFailFadeV72_2{from{opacity:0}to{opacity:.12}}
@keyframes homeNodeGlowV72_2{from{opacity:0;transform:scale(.9)}to{opacity:.88;transform:scale(1)}}
@keyframes homeCaptionFadeV72_2{to{opacity:1;transform:none}}
@keyframes signalFadeV72_2{to{opacity:1;transform:none}}
@keyframes whySignalEnterV72_2{to{opacity:1;transform:none}}
@keyframes missionCodaRevealV72_2{to{opacity:1;transform:none}}
