/* Shared editorial sibling system for the Foundation's secondary pages. */

:root {
  --editorial-paper: #e7f0f8;
  --editorial-paper-soft: #f7fafc;
  --editorial-ink: #071a2b;
  --editorial-muted: #496275;
  --editorial-blue: #1e73be;
  --editorial-sky: #7dc4ff;
  --editorial-line: rgba(7, 26, 43, .16);
  --editorial-dark: #071a2b;
}

html:not([data-theme="light"]) {
  --editorial-paper: #071a2b;
  --editorial-paper-soft: #10283a;
  --editorial-ink: #f4f7fb;
  --editorial-muted: rgba(244, 247, 251, .68);
  --editorial-line: rgba(255, 255, 255, .16);
}

html { scroll-behavior: smooth; }
body.editorial-page {
  display: block;
  min-height: 100dvh;
  margin: 0;
  overflow-x: clip;
  background: var(--editorial-paper);
  color: var(--editorial-ink);
  font-family: Manrope, sans-serif;
}
body.editorial-page *,
body.editorial-page *::before,
body.editorial-page *::after { box-sizing: border-box; }
body.editorial-page a { color: inherit; }
body.editorial-page #main-content { margin: 0; overflow: clip; }
body.editorial-page #main-content > section { display: block; }

/* The secondary pages use the same full-width header as the homepage. */
.editorial-page .site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 200;
  background: transparent;
  border-bottom: 1px solid rgba(255,255,255,.14);
  color: #fff;
}
.editorial-page .site-brand span,
.editorial-page .site-nav-item > summary,
.editorial-page .site-theme-toggle,
.editorial-page .site-theme-toggle .theme-toggle-label { color: rgba(255,255,255,.88); }
.editorial-page .site-brand img { filter: none; }
.editorial-page .site-menu-toggle { border-color: rgba(255,255,255,.36); background: transparent; color: #fff; }
.editorial-page .site-menu-toggle span { background: currentColor; }
.editorial-page .site-header.is-scrolled {
  background: rgba(3,11,19,.82);
  border-bottom-color: rgba(255,255,255,.16);
}
.editorial-page .site-nav-cta { background: var(--editorial-sky); color: #061424; }
.editorial-page .site-nav-cta:hover { background: #fff; color: #061424; }

.editorial-hero {
  position: relative;
  display: flex;
  min-height: min(860px, 100svh);
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(150px, 15vw, 220px) clamp(24px, 7vw, 112px) clamp(100px, 10vw, 150px);
  background: #061424;
}
.editorial-hero::before {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-position: center;
  background-size: cover;
  content: "";
  filter: saturate(.82) contrast(1.06);
}
.editorial-hero::after {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, rgba(3,16,31,.96) 0%, rgba(3,16,31,.78) 37%, rgba(3,16,31,.28) 78%, rgba(3,16,31,.1) 100%), linear-gradient(0deg, rgba(3,16,31,.7), transparent 58%);
  content: "";
}
.pathway-hero::before { background-image: url("https://images.unsplash.com/photo-1598488035139-bdbb2231ce04?w=1920&q=82&auto=format&fit=crop"); }
.goals-hero::before { background-image: url("https://images.unsplash.com/photo-1518563172008-e56c5dfbaef6?w=1920&q=82&auto=format&fit=crop"); }
.editorial-hero-content { width: min(100%, 760px); }
.editorial-kicker,
.editorial-section-kicker {
  display: block;
  color: var(--editorial-sky);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1.3;
  text-transform: uppercase;
}
.editorial-hero h1 {
  max-width: 980px;
  margin: 28px 0 24px;
  color: #fff;
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(3.8rem, 7.2vw, 8.2rem);
  font-weight: 400;
  letter-spacing: -.085em;
  line-height: .84;
}
.editorial-hero p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(1.08rem, 1.65vw, 1.34rem);
  line-height: 1.58;
}
.editorial-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.editorial-button,
.editorial-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 20px;
  border: 1px solid var(--editorial-blue);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none;
}
.editorial-button { background: var(--editorial-blue); color: #fff !important; }
.editorial-button:hover { border-color: #fff; background: #fff; color: var(--editorial-ink) !important; }
.editorial-button.ghost { border-color: rgba(255,255,255,.42); background: transparent; color: #fff !important; }
.editorial-button.ghost:hover { border-color: #fff; background: #fff; color: var(--editorial-ink) !important; }
.editorial-hero-meta {
  position: absolute;
  right: clamp(24px, 8vw, 128px);
  bottom: clamp(28px, 5vw, 64px);
  left: clamp(24px, 8vw, 128px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.28);
}
.editorial-hero-meta div { padding: 14px 18px 0 0; color: rgba(255,255,255,.66); font-size: 11px; line-height: 1.4; }
.editorial-hero-meta div + div { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.2); }
.editorial-hero-meta strong { display: block; color: var(--editorial-sky); font-size: 22px; letter-spacing: -.04em; }

.editorial-section { padding: clamp(72px, 9vw, 126px) clamp(24px, 6vw, 96px); background: var(--editorial-paper); }
.editorial-section.soft { background: var(--editorial-paper-soft); }
.editorial-section.blue { background: var(--editorial-blue); color: #fff; }
.editorial-shell { width: 100%; max-width: none; margin: 0 auto; }
.editorial-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .62fr);
  gap: clamp(32px, 8vw, 128px);
  align-items: end;
  margin-bottom: clamp(40px, 5vw, 66px);
}
.editorial-heading h2,
.editorial-section > .editorial-shell > h2 {
  max-width: 900px;
  margin: 14px 0 0;
  color: var(--editorial-ink);
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(3rem, 5.2vw, 6.2rem);
  font-weight: 400;
  letter-spacing: -.08em;
  line-height: .88;
}
.editorial-section.blue h2 { color: #fff; }
.editorial-heading > p,
.editorial-lead {
  max-width: 520px;
  margin: 0;
  color: var(--editorial-muted);
  font-size: 15px;
  line-height: 1.7;
}
.editorial-section.blue .editorial-heading > p,
.editorial-section.blue .editorial-lead { color: rgba(255,255,255,.8); }
.editorial-rule { height: 1px; margin: 0 0 28px; background: var(--editorial-line); }

/* Pathway */
.pathway-overview-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(48px, 9vw, 150px); align-items: start; }
.pathway-overview-grid h2 { margin-top: 14px; color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.08em; line-height: .88; }
.pathway-map { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; padding-top: 30px; }
.pathway-map::before { position: absolute; top: 44px; right: 4%; left: 4%; height: 1px; background: var(--editorial-blue); content: ""; }
.pathway-map-step { position: relative; z-index: 1; min-width: 0; }
.pathway-map-step + .pathway-map-step { padding-left: 12px; }
.pathway-map-dot { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--editorial-blue); border-radius: 50%; background: var(--editorial-paper); color: var(--editorial-blue); font-size: 10px; font-weight: 800; }
.pathway-map-step strong { display: block; margin-top: 18px; color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.45rem, 2.2vw, 2.4rem); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.pathway-map-step small { display: block; margin-top: 10px; color: var(--editorial-muted); font-size: 10px; line-height: 1.4; }
.pathway-stage-list { border-top: 1px solid var(--editorial-line); }
.pathway-stage { border-bottom: 1px solid var(--editorial-line); }
.pathway-stage summary { display: grid; grid-template-columns: 72px minmax(0, .9fr) minmax(0, 1fr) 24px; gap: 18px; align-items: start; padding: 28px 0; cursor: pointer; list-style: none; }
.pathway-stage summary::-webkit-details-marker { display: none; }
.pathway-stage summary:hover { color: var(--editorial-blue); }
.pathway-stage-number { color: var(--editorial-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.pathway-stage-title { color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.8rem, 3vw, 3.2rem); font-weight: 400; letter-spacing: -.06em; line-height: .9; }
.pathway-stage-summary { max-width: 32ch; color: var(--editorial-muted); font-size: 13px; line-height: 1.55; }
.pathway-stage-chevron { color: var(--editorial-blue); font-size: 20px; transition: transform .2s ease; }
.pathway-stage[open] .pathway-stage-chevron { transform: rotate(45deg); }
.pathway-stage-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .28fr); gap: 40px; padding: 0 42px 32px 90px; }
.pathway-stage-body p { max-width: 70ch; margin: 0; color: var(--editorial-muted); font-size: 14px; line-height: 1.75; }
.pathway-stage-metric { align-self: start; padding-left: 18px; border-left: 1px solid var(--editorial-blue); color: var(--editorial-blue); font-size: 12px; font-weight: 800; line-height: 1.4; }
.pathway-stage-metric strong { display: block; margin-bottom: 5px; font-family: "DM Serif Display", Georgia, serif; font-size: 2.7rem; font-weight: 400; letter-spacing: -.06em; line-height: .9; }

.editorial-story-grid { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(40px, 8vw, 128px); align-items: start; }
.editorial-story-grid h2 { margin-top: 14px; color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.08em; line-height: .88; }
.editorial-story-copy { border-top: 1px solid var(--editorial-line); }
.editorial-story-copy p { margin: 0; padding: 24px 0; border-bottom: 1px solid var(--editorial-line); color: var(--editorial-muted); font-size: 15px; line-height: 1.72; }
.editorial-story-copy strong { color: var(--editorial-blue); }

/* Goals */
.goals-intro-grid { display: grid; grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); gap: clamp(40px, 8vw, 128px); align-items: start; }
.goals-intro-grid h2 { margin-top: 14px; color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.08em; line-height: .88; }
.goals-cost { padding: 26px 0 0; border-top: 1px solid var(--editorial-line); }
.goals-cost h3 { margin: 0 0 14px; color: var(--editorial-blue); font-family: "DM Serif Display", Georgia, serif; font-size: 2.2rem; font-weight: 400; letter-spacing: -.05em; }
.goals-cost p { max-width: 68ch; margin: 0; color: var(--editorial-muted); font-size: 15px; line-height: 1.72; }
.goals-ledger { border-top: 1px solid var(--editorial-line); }
.goal-row { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, .9fr) 170px; gap: 20px; align-items: start; padding: 28px 0; border-bottom: 1px solid var(--editorial-line); }
.goal-row-number { color: var(--editorial-blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.goal-row h3 { margin: 0; color: var(--editorial-ink); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(1.65rem, 2.7vw, 3rem); font-weight: 400; letter-spacing: -.06em; line-height: .94; }
.goal-row h3 em { color: var(--editorial-blue); font-style: normal; }
.goal-row p { margin: 0; color: var(--editorial-muted); font-size: 13px; line-height: 1.58; }
.goal-row-meta { color: var(--editorial-muted); font-size: 11px; line-height: 1.5; }
.goal-row-meta strong { display: block; color: var(--editorial-blue); font-size: 22px; font-weight: 800; letter-spacing: -.04em; }
.goal-progress { height: 3px; margin-top: 13px; background: var(--editorial-line); }
.goal-progress span { display: block; width: var(--progress); height: 100%; background: var(--editorial-blue); }
.goals-report-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 8vw, 130px); align-items: end; }
.goals-report-grid h2 { margin-top: 14px; color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.08em; line-height: .88; }
.goals-report-copy p { max-width: 64ch; margin: 0; color: rgba(255,255,255,.8); font-size: 15px; line-height: 1.72; }
.goals-report-copy p + p { margin-top: 18px; }
.editorial-page .final-cta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .6fr); gap: clamp(36px, 8vw, 130px); align-items: end; background: var(--editorial-blue); color: #fff; }
.final-cta h2 { max-width: 800px; margin: 14px 0 0; color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.2vw, 6.2rem); font-weight: 400; letter-spacing: -.08em; line-height: .88; }
.final-cta-copy { display: flex; flex-direction: column; align-items: flex-start; }
.final-cta-copy p { max-width: 500px; margin: 0; color: rgba(255,255,255,.84); font-size: 16px; line-height: 1.65; }
.final-cta-copy .editorial-button { margin-top: 26px; border-color: #fff; background: #fff; color: #061424 !important; }
.final-cta-copy .editorial-button + .editorial-button { margin-top: 12px; }
.final-cta-copy .editorial-button:hover { border-color: #fff; background: transparent; color: #fff !important; }
.final-cta-copy .editorial-button.ghost { border-color: rgba(255,255,255,.72); background: transparent; color: #fff !important; }
.final-cta-copy .editorial-button.ghost:hover { border-color: #fff; background: #fff; color: #061424 !important; }

/* Footer is intentionally the same compact system used by the homepage. */
.editorial-page .footer-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.editorial-page .footer-btns .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 9px 14px; border-radius: 6px; font-family: Manrope, sans-serif; font-size: 12px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.editorial-page .footer-btns .btn-primary { background: #7dc4ff; color: #061424; }
.editorial-page .footer-btns .btn-outline { border: 1px solid rgba(255,255,255,.35); color: rgba(255,255,255,.78); }
.editorial-page .footer-btns .btn-outline:hover { border-color: #7dc4ff; color: #7dc4ff; }
.editorial-page .footer-btns .btn-primary:hover { background: #fff; color: #061424; }
.editorial-page footer { position: relative; z-index: 20; margin: 0; padding: 40px 60px; background: #061424; border-top: 0; color: rgba(255,255,255,.6); font-size: 14px; line-height: 1.65; }
.editorial-page .footer-inner { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; width: auto; max-width: none; margin: 0 0 32px; }
.editorial-page .footer-brand { max-width: none; }
.editorial-page .footer-logo-img { display: block; }
.editorial-page .footer-brand p { max-width: 36ch; margin: 0; color: inherit; font-size: 13px; line-height: 1.65; }
.editorial-page footer h4 { margin: 0 0 14px; color: rgba(255,255,255,.8); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.editorial-page footer ul { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; list-style: none; }
.editorial-page footer ul li { margin: 0; }
.editorial-page footer ul li + li { margin-top: 0; }
.editorial-page footer ul li a { color: rgba(255,255,255,.5); font-size: 13px; line-height: normal; text-decoration: none; }
.editorial-page footer ul li a:hover { color: #fff; }
.editorial-page .footer-bottom { display: flex; width: auto; max-width: none; margin: 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.6); font-size: 11px; line-height: 1.65; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
html[data-theme="light"] body.editorial-page footer { background: #061424 !important; color: rgba(255,255,255,.68) !important; }
html[data-theme="light"] body.editorial-page footer .footer-brand h3 { color: rgba(255,255,255,.45) !important; }
html[data-theme="light"] body.editorial-page footer .footer-brand p,
html[data-theme="light"] body.editorial-page footer ul li a { color: rgba(255,255,255,.58) !important; }
html[data-theme="light"] body.editorial-page footer h4 { color: #fff !important; }
html[data-theme="light"] body.editorial-page footer ul li a:hover { color: #fff !important; }
html[data-theme="light"] body.editorial-page footer .footer-bottom { border-top-color: rgba(255,255,255,.14) !important; color: rgba(255,255,255,.4) !important; }
html[data-theme="light"] body.editorial-page .footer-logo-img { filter: none !important; opacity: .9 !important; }

@media (max-width: 960px) {
  .editorial-hero { min-height: 760px; padding: 154px 24px 130px; }
  .editorial-hero-meta { position: static; margin-top: 70px; }
  .pathway-overview-grid,
  .editorial-story-grid,
  .goals-intro-grid,
  .goals-report-grid,
  .editorial-page .final-cta { grid-template-columns: 1fr; }
  .pathway-map { margin-top: 48px; }
  .goal-row { grid-template-columns: 54px minmax(0, 1fr) minmax(150px, .75fr); }
  .goal-row-meta { grid-column: 2 / -1; }
  .editorial-page .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 28px; }
  .editorial-page .footer-brand { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 600px) {
  .editorial-hero { min-height: 720px; padding: 140px 24px 42px; }
  .editorial-hero h1 { margin-top: 22px; font-size: clamp(3.25rem, 15vw, 5.4rem); }
  .editorial-hero-meta { grid-template-columns: 1fr; margin-top: 52px; }
  .editorial-hero-meta div,
  .editorial-hero-meta div + div { padding: 12px 0; border-left: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .editorial-hero-meta div:last-child { border-bottom: 0; }
  .editorial-section { padding: 64px 24px; }
  .editorial-page footer { padding: 32px 24px; }
  .editorial-page .footer-inner { grid-template-columns: 1fr; gap: 32px; }
  .editorial-page .footer-brand { grid-column: auto; }
  .editorial-page .footer-bottom { margin-top: 0; }
  .editorial-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 38px; }
  .editorial-heading h2,
  .editorial-section > .editorial-shell > h2,
  .pathway-overview-grid h2,
  .editorial-story-grid h2,
  .goals-intro-grid h2,
  .goals-report-grid h2,
  .final-cta h2 { font-size: clamp(3.1rem, 14vw, 5.2rem); }
  .pathway-map { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; }
  .pathway-map::before { top: 44px; right: 8%; left: 8%; }
  .pathway-map-step:nth-child(4) { margin-top: 18px; }
  .pathway-stage summary { grid-template-columns: 42px minmax(0, 1fr) 20px; gap: 12px; padding: 22px 0; }
  .pathway-stage-summary { grid-column: 2 / -1; max-width: none; }
  .pathway-stage-body { grid-template-columns: 1fr; gap: 22px; padding: 0 0 26px 54px; }
  .pathway-stage-metric { padding-left: 14px; }
  .goal-row { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 23px 0; }
  .goal-row p,
  .goal-row-meta { grid-column: 2; }
  .goal-row-meta { padding-top: 4px; }
  .goals-cost h3 { font-size: 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
