:root {
  --ink: #0b0d10;
  --paper: #f5f4ef;
  --white: #ffffff;
  --navy: #071a36;
  --navy-2: #0d2a50;
  --blue-0: #2c67aa;
  --blue-1: #2f7fb7;
  --blue-2: #359bc0;
  --blue-3: #43b4c8;
  --blue-4: #78c9c8;
  --blue-5: #b9dbbb;
  --line: rgba(11, 13, 16, .18);
  --pad: clamp(1.25rem, 4vw, 5rem);
  --max: 1500px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.45;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 9999; top: 1rem; left: 1rem; padding: .75rem 1rem; background: #fff; color: #000; }

.site-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 82px;
  padding: 1rem var(--pad);
  color: #fff;
  mix-blend-mode: difference;
}
.wordmark { display: inline-flex; flex-direction: column; font-size: .78rem; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; text-transform: uppercase; }
.site-nav { display: flex; gap: clamp(1rem, 2.5vw, 2.5rem); font-size: .77rem; text-transform: uppercase; letter-spacing: .07em; }
.site-nav a { position: relative; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.4rem; height: 1px; background: currentColor; transition: right .25s ease; }
.site-nav a:hover::after { right: 0; }
.menu-toggle { display: none; background: none; border: 0; color: inherit; padding: .5rem; }
.menu-toggle span:not(.sr-only) { display: block; width: 28px; height: 1px; background: currentColor; margin: 6px 0; }

.section-pad { padding: clamp(5.5rem, 10vw, 10rem) var(--pad); }
.section-index { font-size: .75rem; font-weight: 700; letter-spacing: .08em; margin-bottom: 2.5rem; }
.section-index.light, .eyebrow.light { color: rgba(255,255,255,.66); }
.eyebrow { margin: 0 0 1.1rem; font-size: .73rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.section-heading { display: grid; grid-template-columns: minmax(180px, .55fr) 2fr; gap: 2rem; align-items: start; margin-bottom: clamp(3rem, 8vw, 7rem); }
.section-heading h2, .reckoning h2, .problem h2, .journey-intro h2, .lighthouse h2 { margin: 0; font-size: clamp(2.6rem, 6vw, 7.5rem); line-height: .93; letter-spacing: -.065em; font-weight: 500; }

.hero { position: relative; min-height: 100svh; padding-top: 8.5rem; display: flex; flex-direction: column; justify-content: space-between; background: var(--navy); color: #fff; overflow: hidden; }
.hero-topline { position: relative; z-index: 2; display: flex; justify-content: space-between; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-copy { position: relative; z-index: 2; max-width: 1250px; margin-top: 8vh; }
.hero h1 { margin: 0; font-size: clamp(4rem, 12vw, 12.8rem); line-height: .75; letter-spacing: -.075em; font-weight: 600; }
.hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-top: 2.5rem; }
.hero-intro { max-width: 490px; margin: 0; font-size: clamp(1.2rem, 2vw, 2.05rem); line-height: 1.15; }
.arrow-link { display: inline-flex; gap: 1rem; align-items: center; padding-bottom: .5rem; border-bottom: 1px solid rgba(255,255,255,.5); text-transform: uppercase; font-size: .72rem; letter-spacing: .08em; }
.arrow-link span { font-size: 1.35rem; }
.hero-quote { position: relative; z-index: 2; align-self: flex-end; width: min(560px, 100%); margin: 5rem 0 0; font-size: clamp(1.1rem, 2vw, 1.8rem); font-style: normal; }
.hero-quote cite { display: block; margin-top: .8rem; font-size: .72rem; font-style: normal; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); }
.hero-orbits { position: absolute; inset: 0; opacity: .42; transform: translate(18%, 8%); }
.hero-orbits span { position: absolute; border-radius: 50%; mix-blend-mode: screen; }
.hero-orbits span:nth-child(1) { width: 9vw; height: 9vw; min-width: 90px; min-height: 90px; background: var(--blue-0); left: 1%; top: 46%; }
.hero-orbits span:nth-child(2) { width: 17vw; height: 17vw; min-width: 160px; min-height: 160px; background: var(--blue-1); left: 7%; top: 37%; }
.hero-orbits span:nth-child(3) { width: 24vw; height: 24vw; min-width: 240px; min-height: 240px; background: var(--blue-2); left: 20%; top: 28%; }
.hero-orbits span:nth-child(4) { width: 31vw; height: 31vw; min-width: 310px; min-height: 310px; background: var(--blue-3); left: 38%; top: 17%; }
.hero-orbits span:nth-child(5) { width: 31vw; height: 31vw; min-width: 310px; min-height: 310px; background: var(--blue-4); left: 61%; top: 15%; }
.hero-orbits span:nth-child(6) { width: 31vw; height: 31vw; min-width: 310px; min-height: 310px; background: var(--blue-5); left: 82%; top: 15%; }

.question { background: var(--paper); }
.display-question { max-width: 1420px; margin: 0; font-size: clamp(2.4rem, 6.3vw, 7.7rem); line-height: .98; letter-spacing: -.055em; font-weight: 400; }
.question-emphasis { max-width: 1050px; margin: clamp(4rem, 10vw, 10rem) 0 0 auto; font-size: clamp(2rem, 4.6vw, 5.6rem); line-height: 1; letter-spacing: -.05em; color: var(--navy-2); }

.problem { background: var(--ink); color: #fff; }
.problem-head { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; margin-bottom: 7rem; }
.dead-ends { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.25); border-bottom: 1px solid rgba(255,255,255,.25); }
.dead-end { min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 3rem 2rem; border-right: 1px solid rgba(255,255,255,.25); text-align: center; }
.dead-end:last-child { border-right: 0; }
.dead-end p { font-size: clamp(1.2rem, 2.2vw, 2.4rem); margin: 0; }
.dead-end strong { letter-spacing: .2em; color: #8e949b; }
.downline { flex: 1; width: 1px; margin: 2rem 0; background: linear-gradient(#fff, rgba(255,255,255,0)); }
.problem-statement { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 7rem; font-size: clamp(1.6rem, 3.6vw, 4.4rem); line-height: 1; letter-spacing: -.045em; }
.problem-statement p { margin: 0; }
.problem-statement em { font-family: Georgia, serif; font-weight: 400; }

.reckoning { background: var(--navy); color: #fff; }
.reckoning-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 6rem); }
.reckoning-copy { max-width: 650px; align-self: end; font-size: clamp(1.15rem, 1.8vw, 1.75rem); color: rgba(255,255,255,.78); }
.image-placeholder { grid-column: 1 / -1; min-height: 520px; margin-top: 3rem; border: 1px solid rgba(255,255,255,.35); display: flex; flex-direction: column; align-items: center; justify-content: center; background: repeating-linear-gradient(135deg, transparent, transparent 20px, rgba(255,255,255,.025) 20px, rgba(255,255,255,.025) 40px); color: rgba(255,255,255,.8); text-transform: uppercase; letter-spacing: .12em; text-align: center; }
.image-placeholder small { margin-top: .8rem; color: rgba(255,255,255,.42); }

.process { background: #e8edf1; }
.timeline { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--ink); }
.timeline-item { position: relative; padding: 2rem 1.5rem 4rem 0; border-right: 1px solid rgba(11,13,16,.22); }
.timeline-item:last-child { border-right: 0; }
.timeline-item::before { content: ""; position: absolute; top: -6px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: var(--ink); }
.timeline-item time { display: block; margin-bottom: 3rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
.timeline-item h3 { margin: 0 0 1rem; font-size: clamp(1.6rem, 2.7vw, 3rem); font-weight: 500; letter-spacing: -.045em; }
.timeline-item p { max-width: 220px; margin: 0; color: #4b5158; }

.heard { background: var(--paper); }
.insight-grid { display: grid; grid-template-columns: 1fr 1fr; }
.insight-card { min-height: 520px; padding: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--line); border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.insight-card:nth-child(even) { border-right: 0; }
.insight-card span { font-size: .75rem; letter-spacing: .12em; }
.insight-card h3 { max-width: 650px; margin: auto 0 2rem; font-size: clamp(2rem, 4.3vw, 5.2rem); line-height: .95; letter-spacing: -.06em; font-weight: 500; }
.insight-card p { max-width: 520px; margin: 0; font-size: 1.05rem; color: #53585f; }

.journey { background: var(--ink); color: #fff; }
.journey-intro { min-height: 80vh; display: flex; flex-direction: column; justify-content: end; }
.journey-intro > p:last-child { max-width: 630px; margin: 3rem 0 0 auto; font-size: clamp(1.2rem, 2vw, 2rem); color: rgba(255,255,255,.68); }
.journey-experience { position: relative; min-height: 630vh; }
.journey-sticky { position: sticky; top: 0; height: 100vh; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr); align-items: center; gap: clamp(2rem, 5vw, 6rem); padding: 7rem var(--pad) 3rem; overflow: hidden; }
.journey-map { position: relative; height: min(56vw, 670px); min-height: 390px; }
.phase-circle { position: absolute; top: 50%; transform: translateY(-50%) scale(.92); border: 0; border-radius: 50%; padding: 0; opacity: .5; cursor: pointer; transition: opacity .45s ease, transform .45s ease, filter .45s ease; mix-blend-mode: screen; }
.phase-circle:hover, .phase-circle.is-active { opacity: .98; transform: translateY(-50%) scale(1); filter: saturate(1.1) brightness(1.08); z-index: 10; }
.phase-circle.p0 { width: 9%; aspect-ratio: 1; left: 0; background: var(--blue-0); }
.phase-circle.p1 { width: 19%; aspect-ratio: 1; left: 6%; background: var(--blue-1); }
.phase-circle.p2 { width: 27%; aspect-ratio: 1; left: 19%; background: var(--blue-2); }
.phase-circle.p3 { width: 35%; aspect-ratio: 1; left: 38%; background: var(--blue-3); }
.phase-circle.p4 { width: 35%; aspect-ratio: 1; left: 62%; background: var(--blue-4); }
.phase-circle.p5 { width: 35%; aspect-ratio: 1; left: 84%; background: var(--blue-5); }
.journey-labels {
  position: absolute;
  left: var(--pad);
  right: calc(35% + var(--pad));
  top: 12%;
  height: 2rem;
  pointer-events: none;
}

.phase-label {
  position: absolute;
  transform: translateX(-50%);
  font-size: .66rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(255,255,255,.48);
}

/* Each label is centered on the actual center of its corresponding circle. */
.phase-0 { left: 4.5%; }
.phase-1 { left: 15.5%; }
.phase-2 { left: 32.5%; }
.phase-3 { left: 55.5%; }
.phase-4 { left: 79.5%; }
.phase-5 { left: 101.5%; }
.journey-panel { position: relative; z-index: 30; padding-left: clamp(1rem, 3vw, 3rem); border-left: 1px solid rgba(255,255,255,.24); }
.phase-kicker { margin: 0 0 1rem; font-size: .72rem; letter-spacing: .14em; color: rgba(255,255,255,.56); }
.journey-panel h3 { margin: 0; font-size: clamp(2.4rem, 5vw, 6.2rem); line-height: .92; letter-spacing: -.06em; font-weight: 500; }
.journey-panel > p:not(.phase-kicker) { max-width: 500px; margin: 2rem 0; font-size: clamp(1.05rem, 1.55vw, 1.5rem); color: rgba(255,255,255,.7); }
.pillar-row { display: flex; flex-wrap: wrap; gap: .6rem; }
.pillar-row span { padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; }
.journey-steps { position: absolute; inset: 0; pointer-events: none; }
.journey-step { height: 100vh; }
.journey-closing { display: grid; grid-template-columns: 1.25fr .75fr; gap: 5rem; align-items: end; border-top: 1px solid rgba(255,255,255,.18); }
.journey-manifesto { margin: 0; font-size: clamp(3.2rem, 7.5vw, 9rem); line-height: .9; letter-spacing: -.07em; }
.journey-manifesto em { font-family: Georgia, serif; color: var(--blue-5); }
.loop-card { position: relative; min-height: 420px; padding: 2.5rem; border: 1px solid rgba(255,255,255,.3); display: flex; flex-direction: column; justify-content: flex-end; font-size: clamp(1.2rem, 2vw, 2rem); overflow: hidden; }
.loop-card p { margin: .4rem 0; position: relative; z-index: 2; }
.loop-symbol { position: absolute; top: -3rem; right: -1rem; font-size: 19rem; color: rgba(120,201,200,.13); line-height: 1; }

.curriculum { background: #edf0eb; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.stat-card { min-height: 300px; padding: 2rem 1.5rem 2rem 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.stat-card:last-child { border-right: 0; padding-left: 1.5rem; }
.stat-card:not(:first-child) { padding-left: 1.5rem; }
.stat-card strong { font-size: clamp(2.4rem, 5vw, 6rem); line-height: .9; letter-spacing: -.06em; font-weight: 500; }
.stat-card span { max-width: 180px; text-transform: uppercase; font-size: .7rem; letter-spacing: .09em; }
.curriculum-bottom { display: flex; justify-content: space-between; gap: 3rem; align-items: end; margin-top: 4rem; }
.curriculum-bottom p { max-width: 760px; margin: 0; font-size: clamp(1.3rem, 2.5vw, 2.7rem); line-height: 1.1; letter-spacing: -.035em; }
.outline-button { flex: none; display: inline-flex; justify-content: space-between; gap: 2rem; min-width: 250px; padding: 1rem 0; border-bottom: 1px solid var(--ink); text-transform: uppercase; font-size: .7rem; letter-spacing: .08em; }

.lighthouse { background: var(--navy); color: #fff; }
.lighthouse-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
.accent-heading { margin-top: .6rem !important; color: var(--blue-5); }
.lighthouse-visual { position: relative; min-height: 560px; overflow: hidden; border: 1px solid rgba(255,255,255,.22); background: radial-gradient(circle at 50% 44%, rgba(185,219,187,.23), transparent 24%); }
.tower { position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 90px; height: 315px; background: linear-gradient(90deg, #d9e2dd, #fff, #c8d4ce); clip-path: polygon(28% 0,72% 0,100% 100%,0 100%); }
.tower span { position: absolute; top: -35px; left: 5px; width: 80px; height: 45px; background: #d6dfdb; border: 10px solid #12263c; }
.beam { position: absolute; top: 34%; left: 50%; width: 80%; height: 18%; transform-origin: left center; background: linear-gradient(90deg, rgba(185,219,187,.55), transparent); clip-path: polygon(0 43%, 100% 0, 100% 100%, 0 57%); }
.beam-a { transform: rotate(-18deg); }
.beam-b { transform: rotate(198deg); }
.lighthouse-visual small { position: absolute; left: 1.5rem; bottom: 1.5rem; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .1em; }
.lighthouse-copy { grid-column: 2; margin: 0; max-width: 650px; font-size: clamp(1.4rem, 3vw, 3.5rem); line-height: 1.05; letter-spacing: -.045em; }

.next { background: var(--paper); }
.audience-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ink); }
.audience-card { min-height: 420px; padding: 2rem 1.5rem 2.5rem 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.audience-card:not(:first-child) { padding-left: 1.5rem; }
.audience-card:last-child { border-right: 0; }
.audience-card span { font-size: .7rem; letter-spacing: .12em; }
.audience-card h3 { margin: auto 0 1.5rem; font-size: clamp(1.7rem, 2.6vw, 3rem); line-height: 1; letter-spacing: -.05em; font-weight: 500; }
.audience-card p { margin: 0; color: #565b62; }
.final-quote { max-width: 1150px; margin: clamp(7rem, 14vw, 14rem) auto 0; text-align: center; }
.final-quote blockquote { margin: 0; font-size: clamp(2.8rem, 6.5vw, 7.8rem); line-height: .95; letter-spacing: -.06em; }
.final-quote cite { display: block; margin-top: 2rem; font-size: .72rem; font-style: normal; text-transform: uppercase; letter-spacing: .09em; }

.site-footer { background: var(--ink); color: #fff; padding: 3rem var(--pad); display: grid; grid-template-columns: 1fr 1fr auto; gap: 2rem; align-items: end; font-size: .72rem; text-transform: uppercase; letter-spacing: .07em; }
.site-footer p { margin: 0; color: rgba(255,255,255,.55); }

.reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s ease, transform .8s cubic-bezier(.22,.61,.36,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .site-nav { position: fixed; inset: 0; background: var(--navy); color: #fff; mix-blend-mode: normal; display: flex; flex-direction: column; justify-content: center; padding: var(--pad); font-size: clamp(2rem, 7vw, 5rem); line-height: 1; transform: translateY(-105%); transition: transform .4s ease; }
  .site-nav.is-open { transform: none; }
  .menu-toggle { display: block; position: relative; z-index: 2; }
  .section-heading, .problem-head { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: 1fr 1fr; }
  .timeline-item { border-bottom: 1px solid var(--line); min-height: 280px; }
  .journey-sticky { grid-template-columns: 1fr; align-content: center; padding-top: 6rem; }
  .journey-map { height: min(55vw, 500px); min-height: 300px; }
  .journey-labels {
    right: var(--pad);
    top: 9%;
  }

  .phase-label {
    font-size: .6rem;
    letter-spacing: .1em;
  }
  .journey-panel { width: min(700px, 100%); border-left: 0; padding: 0; }
  .journey-panel h3 { font-size: clamp(2.1rem, 7vw, 4.8rem); }
  .stats-grid, .audience-grid { grid-template-columns: 1fr 1fr; }
  .stat-card:nth-child(2), .audience-card:nth-child(2) { border-right: 0; }
  .stat-card, .audience-card { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .site-header { min-height: 70px; }
  .hero { padding-top: 7rem; }
  .hero-topline p:last-child { display: none; }
  .hero h1 { font-size: clamp(3.5rem, 18vw, 6rem); line-height: .8; }
  .hero-bottom { align-items: start; flex-direction: column; }
  .hero-quote { margin-top: 5rem; }
  .hero-orbits { transform: translate(-5%, 20%); }
  .display-question { font-size: clamp(2.6rem, 11vw, 4.4rem); }
  .question-emphasis { font-size: clamp(2.2rem, 9vw, 4rem); }
  .dead-ends { grid-template-columns: 1fr; }
  .dead-end { min-height: 300px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.25); }
  .problem-statement, .reckoning-grid, .insight-grid, .journey-closing, .lighthouse-grid { grid-template-columns: 1fr; }
  .problem-statement { gap: 4rem; }
  .image-placeholder { min-height: 360px; }
  .timeline { grid-template-columns: 1fr; }
  .timeline-item { border-right: 0; }
  .insight-card { min-height: 420px; border-right: 0; }
  .journey-intro { min-height: 70vh; }
  .journey-experience { min-height: 540vh; }
  .journey-sticky { height: 100svh; padding-left: 1rem; padding-right: 1rem; }
  .journey-map { min-height: 225px; height: 48vw; transform: scale(.96); transform-origin: left center; }
  .journey-labels {
    left: 1rem;
    right: 1rem;
    top: 11%;
  }

  .phase-label {
    font-size: .52rem;
    letter-spacing: .07em;
  }
  .journey-closing { gap: 3rem; }
  .loop-card { min-height: 340px; }
  .stats-grid, .audience-grid { grid-template-columns: 1fr; }
  .stat-card, .stat-card:not(:first-child), .stat-card:last-child, .audience-card, .audience-card:not(:first-child) { border-right: 0; padding: 2rem 0; min-height: 220px; }
  .curriculum-bottom { align-items: start; flex-direction: column; }
  .lighthouse-visual { min-height: 420px; }
  .lighthouse-copy { grid-column: 1; }
  .site-footer { grid-template-columns: 1fr; align-items: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   V3 — spacing, typographic rhythm and clean scroll header
   ========================================================= */
body {
  line-height: 1.62;
}

.site-header {
  background: transparent;
  color: #fff;
  mix-blend-mode: normal;
  transition: transform .42s cubic-bezier(.22,.61,.36,1),
              background-color .3s ease,
              box-shadow .3s ease,
              backdrop-filter .3s ease;
  will-change: transform;
}
.site-header.is-hidden {
  transform: translateY(-110%);
}
.site-header.is-scrolled {
  background: rgba(7, 26, 54, .96);
  box-shadow: 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.site-header.menu-open {
  transform: none;
  background: var(--navy);
}

.section-pad {
  padding-top: clamp(7rem, 12vw, 13rem);
  padding-bottom: clamp(7rem, 12vw, 13rem);
}
.section-index {
  margin-bottom: clamp(3rem, 5vw, 5rem);
}
.section-heading {
  gap: clamp(2.5rem, 5vw, 6rem);
  margin-bottom: clamp(5rem, 9vw, 9rem);
}
.section-heading h2,
.reckoning h2,
.problem h2,
.journey-intro h2,
.lighthouse h2 {
  line-height: .98;
}

.hero {
  padding-top: 9.5rem;
  padding-bottom: clamp(4.5rem, 7vw, 7rem);
}
.hero-copy {
  margin-top: clamp(5rem, 10vh, 9rem);
}
.hero h1 {
  line-height: .82;
}
.hero-bottom {
  margin-top: clamp(3rem, 5vw, 5rem);
}
.hero-intro {
  line-height: 1.28;
}
.hero-quote {
  margin-top: clamp(6rem, 10vw, 10rem);
  line-height: 1.35;
}

/* Keep the Journey Map visual on one horizontal axis in the hero. */
.hero-orbits {
  transform: translate(13%, 4%);
}
.hero-orbits span {
  top: 50% !important;
  transform: translateY(-50%);
}
.hero-orbits span:nth-child(1) { left: 1%; }
.hero-orbits span:nth-child(2) { left: 8%; }
.hero-orbits span:nth-child(3) { left: 21%; }
.hero-orbits span:nth-child(4) { left: 40%; }
.hero-orbits span:nth-child(5) { left: 64%; }
.hero-orbits span:nth-child(6) { left: 87%; }

.display-question,
.question-emphasis,
.problem-statement,
.insight-card h3,
.journey-panel h3,
.journey-manifesto,
.final-quote blockquote {
  line-height: 1.04;
}
.question-emphasis {
  margin-top: clamp(6rem, 12vw, 12rem);
}
.problem-head {
  margin-bottom: clamp(5rem, 9vw, 9rem);
}
.problem-statement {
  margin-top: clamp(6rem, 10vw, 10rem);
  gap: clamp(3rem, 7vw, 8rem);
}
.reckoning-grid {
  gap: clamp(3rem, 7vw, 8rem);
}
.reckoning-copy,
.insight-card p,
.timeline-item p,
.audience-card p,
.journey-panel > p:not(.phase-kicker) {
  line-height: 1.65;
}
.image-placeholder {
  margin-top: clamp(4rem, 7vw, 7rem);
}
.timeline-item {
  padding-top: 3rem;
  padding-right: clamp(1.75rem, 2.4vw, 2.75rem);
  padding-bottom: 5rem;
  padding-left: clamp(1.5rem, 2.2vw, 2.5rem);
}

/* Keep the timeline marker aligned with the vertical grid line,
   while giving the text enough breathing room inside each column. */
.timeline-item::before {
  left: 0;
}

.timeline-item p {
  max-width: 250px;
}
.timeline-item time {
  margin-bottom: clamp(3rem, 5vw, 5rem);
}
.insight-card {
  min-height: 590px;
}
.insight-card h3 {
  margin-bottom: 2.75rem;
}
.journey-intro {
  min-height: 90vh;
}
.journey-intro > p:last-child {
  margin-top: clamp(4rem, 7vw, 7rem);
  line-height: 1.55;
}
.journey-panel > p:not(.phase-kicker) {
  margin: 2.5rem 0 3rem;
}
.curriculum-bottom {
  margin-top: clamp(5rem, 8vw, 8rem);
}
.lighthouse-copy {
  line-height: 1.18;
}
.final-quote {
  margin-top: clamp(9rem, 16vw, 16rem);
}

@media (max-width: 760px) {
  .section-pad {
    padding-top: clamp(5.5rem, 20vw, 8rem);
    padding-bottom: clamp(5.5rem, 20vw, 8rem);
  }
  .hero {
    padding-top: 7.5rem;
    padding-bottom: 4rem;
  }
  .hero-copy {
    margin-top: 4.5rem;
  }
  .hero h1 {
    line-height: .86;
  }
  .hero-orbits {
    transform: translate(-7%, 12%);
  }
  .hero-orbits span {
    top: 54% !important;
  }
  .insight-card {
    min-height: 460px;
  }

  .timeline-item {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}


/* V4 problem section refinement */
.pathways{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);}
.pathway{min-height:360px;padding:3rem 2rem;border-right:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;justify-content:center}
.pathway:last-child{border-right:0}
.pathway p{font-size:clamp(1.3rem,2vw,2.2rem);margin:0 0 2.5rem}
.path-line{height:1px;background:rgba(255,255,255,.25);position:relative;margin-bottom:2rem}
.path-line span{position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#fff}
.pathway small{text-transform:uppercase;letter-spacing:.12em;color:#9aa2ab}
.disconnect-note{text-align:center;margin:2rem 0 0;color:#9aa2ab;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem}
@media(max-width:760px){
 .pathways{grid-template-columns:1fr}
 .pathway{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}
}


/* =========================================================
   V5 — Curriculum coverage map
   ========================================================= */

.coverage-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.65fr);
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
  padding-top: clamp(1rem, 2vw, 2rem);
  border-top: 1px solid var(--ink);
}

.coverage-summary {
  position: sticky;
  top: 8rem;
  padding-top: clamp(2.5rem, 4vw, 4rem);
}

.coverage-kicker {
  margin: 0;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.coverage-totals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.coverage-totals article {
  min-height: 210px;
  padding: 1.75rem 1.5rem 1.75rem 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.coverage-totals article + article {
  padding-left: 1.5rem;
  border-left: 1px solid var(--line);
}

.coverage-totals strong {
  font-size: clamp(3.5rem, 6vw, 7rem);
  line-height: .85;
  letter-spacing: -.07em;
  font-weight: 500;
}

.coverage-totals span {
  max-width: 130px;
  font-size: .68rem;
  line-height: 1.35;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.coverage-summary-copy {
  max-width: 470px;
  margin: clamp(2.5rem, 4vw, 4rem) 0 0;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.5;
  color: #4e545a;
}

.coverage-map {
  padding-top: clamp(2.5rem, 4vw, 4rem);
}

.coverage-map-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.coverage-note {
  max-width: 560px;
  margin: 1rem 0 0;
  color: #5c6268;
  line-height: 1.55;
}

.coverage-legend {
  flex: none;
  display: grid;
  gap: .65rem;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #555c62;
}

.coverage-legend span {
  display: flex;
  align-items: center;
  gap: .65rem;
}

.coverage-legend i {
  width: 1.6rem;
  height: .42rem;
  display: inline-block;
  border-radius: 999px;
}

.legend-strong { background: var(--blue-2); }
.legend-existing { background: var(--navy-2); }
.legend-gap { background: #b9bec1; }

.coverage-rows {
  border-top: 1px solid var(--ink);
}

.coverage-row {
  display: grid;
  grid-template-columns: minmax(125px, .52fr) minmax(180px, 1.5fr) minmax(120px, .55fr);
  gap: clamp(1.25rem, 3vw, 3rem);
  align-items: center;
  min-height: 112px;
  border-bottom: 1px solid var(--line);
}

.coverage-phase {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.coverage-phase span {
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #687078;
}

.coverage-phase strong {
  font-size: clamp(1.25rem, 1.8vw, 1.8rem);
  line-height: 1;
  letter-spacing: -.035em;
  font-weight: 500;
}

.coverage-track {
  position: relative;
  height: 10px;
  background: rgba(11, 13, 16, .09);
  border-radius: 999px;
  overflow: hidden;
}

.coverage-track span {
  display: block;
  width: var(--coverage);
  height: 100%;
  border-radius: inherit;
  transform-origin: left center;
  background: var(--navy-2);
}

.coverage-row.is-strong .coverage-track span {
  background: var(--blue-2);
}

.coverage-row.is-gap .coverage-track span {
  background: #b9bec1;
}

.coverage-row > p {
  margin: 0;
  font-size: .63rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #666d73;
}

.coverage-row.is-strong > p {
  color: var(--navy-2);
}

.curriculum-bottom {
  padding-top: clamp(1rem, 2vw, 2rem);
}

@media (max-width: 1050px) {
  .coverage-layout {
    grid-template-columns: 1fr;
  }

  .coverage-summary {
    position: static;
  }

  .coverage-summary-copy {
    max-width: 720px;
  }
}

@media (max-width: 760px) {
  .coverage-totals {
    grid-template-columns: 1fr 1fr;
  }

  .coverage-totals article {
    min-height: 170px;
  }

  .coverage-map-heading {
    flex-direction: column;
  }

  .coverage-legend {
    grid-template-columns: 1fr;
  }

  .coverage-row {
    grid-template-columns: 90px 1fr;
    gap: 1rem;
    padding: 1.25rem 0;
  }

  .coverage-row > p {
    grid-column: 2;
    margin-top: -.35rem;
  }

  .coverage-track {
    height: 8px;
  }
}


/* =========================================================
   V6 — Illustration integration wireframes
   These blocks are intentionally schematic and will later be
   replaced by final transparent SVG/PNG illustrations.
   ========================================================= */

.illustration-slot {
  position: relative;
  overflow: hidden;
  border: 1px dashed rgba(11, 13, 16, .34);
  background:
    linear-gradient(135deg, rgba(7, 26, 54, .035) 25%, transparent 25%) 0 0 / 24px 24px,
    linear-gradient(315deg, rgba(7, 26, 54, .035) 25%, transparent 25%) 0 0 / 24px 24px;
  padding: clamp(1.5rem, 3vw, 3rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--ink);
}

.illustration-slot::before {
  content: "";
  position: absolute;
  width: 38%;
  aspect-ratio: 1;
  border: 1px solid rgba(11, 13, 16, .22);
  border-radius: 50%;
  top: 12%;
  right: 8%;
}

.illustration-slot::after {
  content: "";
  position: absolute;
  width: 18%;
  height: 38%;
  border: 1px solid rgba(11, 13, 16, .22);
  border-radius: 50% 50% 18% 18%;
  top: 28%;
  right: 18%;
}

.illustration-slot-number {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(11, 13, 16, .5);
}

.illustration-slot strong,
.illustration-slot p {
  position: relative;
  z-index: 2;
  max-width: 480px;
}

.illustration-slot strong {
  font-size: clamp(1.4rem, 2.5vw, 2.6rem);
  font-weight: 500;
  letter-spacing: -.04em;
}

.illustration-slot p {
  margin: .8rem 0 0;
  color: #596067;
  line-height: 1.5;
}

.question {
  position: relative;
}

.question-illustration {
  width: min(560px, 46vw);
  min-height: 380px;
  margin: clamp(5rem, 9vw, 9rem) auto 0 0;
}

.pathway-character {
  position: relative;
  width: 100%;
  min-height: 130px;
  margin-bottom: 2rem;
  border: 1px dashed rgba(255,255,255,.22);
  border-radius: 999px 999px 1rem 1rem;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.48);
  text-align: center;
  padding: 1rem;
}

.pathway-character::before {
  content: "";
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  position: absolute;
  top: 20px;
}

.pathway-character span {
  margin-top: 3.5rem;
  max-width: 150px;
  font-size: .62rem;
  line-height: 1.35;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.illustration-brief {
  border-style: dashed;
}

.timeline-illustration {
  min-height: 115px;
  margin: 0 0 2.25rem;
  border: 1px dashed rgba(11,13,16,.28);
  display: grid;
  place-items: center;
  text-align: center;
  color: #667078;
  font-size: .62rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(255,255,255,.16);
}

.timeline-illustration::before {
  content: "";
  width: 36px;
  height: 36px;
  border: 1px solid rgba(11,13,16,.3);
  border-radius: 50%;
  margin-right: .6rem;
}

.timeline-illustration {
  grid-template-columns: auto auto;
  padding: 1rem;
}

.insight-card {
  position: relative;
}

.insight-illustration {
  min-height: 190px;
  margin: 2rem 0 3rem;
  border: 1px dashed var(--line);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 1.25rem;
  color: #697078;
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(7,26,54,.02);
}

.insight-illustration::before {
  content: "";
  width: 68px;
  height: 98px;
  border: 1px solid rgba(11,13,16,.26);
  border-radius: 50% 50% 22% 22%;
  margin-bottom: .8rem;
}

.insight-illustration {
  grid-auto-flow: row;
}

.journey-character {
  position: absolute;
  z-index: 18;
  width: 9%;
  min-width: 58px;
  aspect-ratio: .68;
  transform: translate(-50%, -50%) scale(.85);
  border: 1px dashed rgba(255,255,255,.42);
  border-radius: 50% 50% 28% 28%;
  opacity: .18;
  display: grid;
  place-items: end center;
  padding: .45rem;
  pointer-events: none;
  transition: opacity .4s ease, transform .4s ease, border-color .4s ease;
}

.journey-character::before {
  content: "";
  position: absolute;
  width: 42%;
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  top: 10%;
}

.journey-character span {
  font-size: .45rem;
  line-height: 1.2;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-align: center;
  color: rgba(255,255,255,.76);
}

.journey-character.is-active {
  opacity: .92;
  transform: translate(-50%, -50%) scale(1);
  border-color: rgba(255,255,255,.84);
}

.jc0 { left: 4.5%; top: 50%; }
.jc1 { left: 15.5%; top: 50%; }
.jc2 { left: 32.5%; top: 50%; }
.jc3 { left: 55.5%; top: 50%; }
.jc4 { left: 79.5%; top: 50%; }
.jc5 { left: 101.5%; top: 50%; }

.curriculum-illustration {
  min-height: 310px;
  margin-top: clamp(3rem, 5vw, 5rem);
}

.lighthouse-people {
  position: absolute;
  inset: auto 8% 3.8rem 8%;
  display: flex;
  justify-content: space-between;
  align-items: end;
}

.lighthouse-people span {
  width: 54px;
  height: 94px;
  border: 1px dashed rgba(255,255,255,.48);
  border-radius: 50% 50% 20% 20%;
  display: flex;
  align-items: end;
  justify-content: center;
  padding-bottom: .5rem;
  color: rgba(255,255,255,.55);
  font-size: .5rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.lighthouse-people span:nth-child(2) {
  height: 115px;
}

.closing-illustration {
  min-height: 520px;
  margin-top: clamp(6rem, 10vw, 10rem);
}

.closing-illustration::before {
  width: 22%;
  right: 15%;
}

.closing-illustration::after {
  box-shadow:
    -170px 25px 0 -1px transparent,
    -170px 25px 0 0 rgba(11,13,16,.22),
    -330px -10px 0 -1px transparent,
    -330px -10px 0 0 rgba(11,13,16,.22);
}

@media (max-width: 1050px) {
  .question-illustration {
    width: min(720px, 100%);
  }

  .journey-character {
    width: 7.5%;
  }
}

@media (max-width: 760px) {
  .question-illustration,
  .curriculum-illustration,
  .closing-illustration {
    width: 100%;
    min-height: 300px;
  }

  .timeline-illustration {
    min-height: 90px;
  }

  .insight-illustration {
    min-height: 150px;
  }

  .journey-character {
    min-width: 34px;
  }

  .journey-character span {
    display: none;
  }

  .lighthouse-people span {
    width: 42px;
    height: 76px;
  }
}


.persona-bridge{border-top:1px solid var(--line);}
.persona-intro{max-width:760px;margin:2rem 0 4rem;font-size:1.2rem;line-height:1.6;}
.shared-foundation{padding:2rem 0 4rem;border-top:1px solid var(--line);}
.shared-foundation ul{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;list-style:none;padding:0;margin:2rem 0 0;}
.shared-foundation li{padding:1rem;border-top:1px solid var(--line);}
.persona-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:3rem;}
.persona-card{border-top:1px solid var(--line);padding-top:1.5rem;}
.persona-placeholder{height:220px;border:1px dashed rgba(0,0,0,.25);display:grid;place-items:center;margin-bottom:1rem;color:#666;}
.persona-card h4{margin:.5rem 0;}
@media(max-width:900px){
.persona-grid{grid-template-columns:repeat(2,1fr);}
.shared-foundation ul{grid-template-columns:repeat(2,1fr);}
}


/* =========================================================
   V8 — narrative refinements: bridges, shared foundation,
   sequencing logic and the regenerative ecosystem loop
   ========================================================= */
.problem-echo {
  margin: clamp(3rem, 6vw, 7rem) 0 0 auto;
  max-width: 46rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.24);
  color: rgba(255,255,255,.68);
  font-size: clamp(1rem, 1.5vw, 1.35rem);
  letter-spacing: .02em;
}
.reckoning-pivot {
  margin-top: clamp(2.5rem, 5vw, 5rem);
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(255,255,255,.25);
}
.reckoning-pivot span,
.reckoning-pivot strong { display: block; font-size: clamp(1.8rem, 3.4vw, 4rem); line-height: .98; letter-spacing: -.045em; }
.reckoning-pivot span { color: rgba(255,255,255,.48); }
.reckoning-pivot strong { margin-top: .25rem; font-weight: 500; color: #fff; }
.reckoning-pivot p { margin: 1.25rem 0 0; max-width: 36rem; color: rgba(255,255,255,.65); }

.journey-principles {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 2rem;
}
.journey-principles span {
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: .65rem 1rem;
  color: rgba(255,255,255,.72);
  font-size: .69rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.phase-bridge {
  margin-top: 1.5rem;
  padding: 1.1rem 1.25rem 1.15rem;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(5px);
}
.phase-bridge > span {
  display: block;
  margin-bottom: .35rem;
  color: rgba(255,255,255,.48);
  font-size: .58rem;
  letter-spacing: .13em;
}
.phase-bridge strong { display: block; font-size: 1rem; font-weight: 500; }
.phase-bridge p { margin: .35rem 0 0; max-width: 44rem; color: rgba(255,255,255,.62); font-size: .8rem; line-height: 1.45; }

.persona-intro { max-width: 60rem; }
.shared-foundation { position: relative; overflow: hidden; }
.shared-foundation::after {
  content: 'SHARED CORE';
  position: absolute;
  right: 1rem;
  bottom: -.35rem;
  color: rgba(255,255,255,.07);
  font-size: clamp(3rem, 8vw, 9rem);
  font-weight: 700;
  letter-spacing: -.07em;
  pointer-events: none;
}
.persona-card p { min-height: 8.5rem; }
.persona-phases {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 3px;
  margin-top: auto;
  padding-top: 1.5rem;
}
.persona-phases span {
  display: grid;
  place-items: center;
  height: 1.55rem;
  background: rgba(11,13,16,.08);
  color: rgba(11,13,16,.35);
  font-size: .58rem;
}
.persona-phases span.on { background: var(--navy); color: #fff; }
.persona-card:nth-child(2) .persona-phases span.on { background: #7e4194; }
.persona-card:nth-child(3) .persona-phases span.on { background: #246b9a; }
.persona-card:nth-child(4) .persona-phases span.on { background: #16734f; }

.curriculum-pivot {
  margin: 2rem 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.curriculum-pivot span,
.curriculum-pivot strong { display: block; font-size: clamp(1.35rem, 2.35vw, 2.65rem); line-height: 1.04; letter-spacing: -.04em; }
.curriculum-pivot span { color: #74777b; }
.curriculum-pivot strong { margin-top: .25rem; font-weight: 500; color: var(--navy); }

.lighthouse-copy { display: block; }
.lighthouse-copy > p { margin: 0; }
.ecosystem-cycle {
  display: grid;
  gap: .4rem;
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.25);
}
.ecosystem-cycle span,
.ecosystem-cycle strong { display: block; font-size: clamp(.85rem, 1.25vw, 1.1rem); }
.ecosystem-cycle span { color: rgba(255,255,255,.58); }
.ecosystem-cycle strong { margin-top: .25rem; color: #fff; font-weight: 500; }

@media (max-width: 760px) {
  .phase-bridge { margin-top: .8rem; padding: .8rem .9rem; }
  .phase-bridge p { font-size: .7rem; }
  .persona-card p { min-height: auto; }
  .problem-echo { margin-left: 0; }
}

/* =========================================================
   V9 — Refined Personas / Shared Foundation composition
   ========================================================= */
.persona-bridge {
  --member: #142b4a;
  --facilitator: #7e4194;
  --leader: #246b9a;
  --partner: #16734f;
}

.persona-bridge .persona-intro {
  margin-bottom: clamp(3rem, 6vw, 6rem);
}

.shared-foundation {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 2.2fr);
  gap: clamp(2.5rem, 6vw, 7rem);
  align-items: start;
  padding: clamp(2.5rem, 5vw, 5rem);
  border: 1px solid var(--line);
  border-radius: 2px;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.72), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.42), rgba(255,255,255,.08));
  overflow: hidden;
}

.shared-foundation::after {
  content: 'FOUNDATION';
  right: -1.5rem;
  bottom: -1.5rem;
  color: rgba(11,13,16,.025);
  font-size: clamp(4rem, 10vw, 12rem);
  letter-spacing: -.08em;
}

.foundation-heading {
  position: relative;
  z-index: 1;
}

.foundation-kicker {
  margin: 0 0 1.2rem;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,13,16,.48);
}

.foundation-heading h3 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.65rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -.045em;
}

.foundation-heading > p:last-child {
  max-width: 25rem;
  margin: 0;
  font-size: .95rem;
  line-height: 1.6;
  color: rgba(11,13,16,.62);
}

.foundation-principles {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.foundation-principles li {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 5.25rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(11,13,16,.18);
}

.foundation-principles li:nth-last-child(-n+2) {
  border-bottom: 1px solid rgba(11,13,16,.18);
}

.foundation-principles span {
  font-size: .58rem;
  letter-spacing: .12em;
  color: rgba(11,13,16,.36);
}

.foundation-principles strong {
  font-size: clamp(.95rem, 1.35vw, 1.2rem);
  font-weight: 500;
  letter-spacing: -.02em;
}

.foundation-transition {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.5rem;
  margin: clamp(2.5rem, 5vw, 5rem) 0 clamp(2.5rem, 4vw, 4rem);
}

.foundation-transition span {
  height: 1px;
  background: var(--line);
}

.foundation-transition p {
  margin: 0;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(11,13,16,.5);
  white-space: nowrap;
}

.persona-grid {
  gap: clamp(1rem, 2vw, 2rem);
  margin-top: 0;
}

.persona-card {
  --persona-accent: var(--navy);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  border-top: 3px solid var(--persona-accent);
  background: rgba(255,255,255,.24);
  transition: transform .35s ease, background-color .35s ease;
}

.persona-card:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,.52);
}

.persona-member { --persona-accent: var(--member); }
.persona-facilitator { --persona-accent: var(--facilitator); }
.persona-leader { --persona-accent: var(--leader); }
.persona-partner { --persona-accent: var(--partner); }

.persona-card-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .85rem 0 1rem;
  border-bottom: 1px solid var(--line);
}

.persona-card-head span {
  font-size: .58rem;
  letter-spacing: .12em;
  color: var(--persona-accent);
}

.persona-card-head p {
  min-height: 0;
  margin: 0;
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(11,13,16,.44);
}

.persona-placeholder {
  position: relative;
  height: auto;
  aspect-ratio: 4 / 3;
  margin: 1rem 0 0;
  border: 1px dashed rgba(11,13,16,.22);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--persona-accent) 7%, transparent), transparent 55%),
    rgba(255,255,255,.22);
  overflow: hidden;
}

.persona-placeholder::before,
.persona-placeholder::after {
  content: '';
  position: absolute;
  border: 1px solid color-mix(in srgb, var(--persona-accent) 20%, transparent);
  border-radius: 50%;
}

.persona-placeholder::before {
  width: 42%;
  aspect-ratio: 1;
  left: -10%;
  bottom: -22%;
}

.persona-placeholder::after {
  width: 26%;
  aspect-ratio: 1;
  right: 8%;
  top: 12%;
}

.persona-placeholder span {
  position: relative;
  z-index: 1;
  font-size: .6rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(11,13,16,.45);
}

.persona-copy {
  padding: 1.5rem 0 .25rem;
}

.persona-copy h4 {
  margin: 0 0 .75rem;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--persona-accent);
}

.persona-copy p,
.persona-card p {
  min-height: 0;
  margin: 0;
  font-size: .8rem;
  line-height: 1.55;
  color: rgba(11,13,16,.7);
}

.persona-phases {
  margin-top: auto;
  padding-top: 1.25rem;
}

.persona-phases span.on {
  background: var(--persona-accent) !important;
}

@media (max-width: 1100px) {
  .shared-foundation {
    grid-template-columns: 1fr;
  }
  .foundation-heading > p:last-child {
    max-width: 42rem;
  }
}

@media (max-width: 900px) {
  .persona-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 680px) {
  .shared-foundation {
    padding: 1.5rem;
  }
  .foundation-principles {
    grid-template-columns: 1fr;
  }
  .foundation-principles li:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .foundation-principles li:last-child {
    border-bottom: 1px solid rgba(11,13,16,.18);
  }
  .foundation-transition {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .foundation-transition span {
    display: none;
  }
  .foundation-transition p {
    white-space: normal;
    line-height: 1.5;
  }
  .persona-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   FIX — Lighthouse ecosystem cycle typography
   Prevents the negative tracking inherited from .lighthouse-copy
   from causing letters to overlap.
   ========================================================= */
.ecosystem-cycle span,
.ecosystem-cycle strong {
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  line-height: 1.3;
  letter-spacing: 0;
  font-kerning: normal;
  font-variant-ligatures: normal;
  text-rendering: optimizeLegibility;
}

.ecosystem-cycle {
  gap: .65rem;
}

.ecosystem-cycle strong {
  margin-top: .15rem;
  font-weight: 500;
}

@media (max-width: 760px) {
  .ecosystem-cycle span,
  .ecosystem-cycle strong {
    font-size: 1rem;
    line-height: 1.35;
    letter-spacing: 0;
  }
}


/* =========================================================
   Final illustration — Member in reflection
   ========================================================= */

.question-illustration{
    width:min(1200px,90%);
    margin:6rem auto;
}

.question-illustration img{
    display:block;
    width:100%;
    height:auto;
}

/* =========================================================
   Final photo integration — disconnected learning pathways
   ========================================================= */

.pathways {
  align-items: stretch;
}

.pathway {
  min-width: 0;
  min-height: 0;
  padding: clamp(2rem, 3vw, 3rem);
  justify-content: flex-start;
}

.pathway h3 {
  margin: 0 0 clamp(1.75rem, 3vw, 2.75rem);
  font-size: clamp(1.7rem, 2.5vw, 3rem);
  line-height: 1;
  letter-spacing: -.045em;
  font-weight: 500;
}

.pathway-photo {
  width: 100%;
  margin: 0 0 clamp(2rem, 3.2vw, 3rem);
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: rgba(255,255,255,.06);
}

.pathway-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.94) contrast(.98);
  transition: transform .7s cubic-bezier(.22,.61,.36,1),
              filter .45s ease;
}

.pathway:hover .pathway-photo img {
  transform: scale(1.025);
  filter: saturate(1) contrast(1);
}

.pathway .path-line {
  width: 100%;
  margin: auto 0 2rem;
}

.pathway small {
  display: block;
}

/* The previous wireframe character is no longer used. */
.pathway-character {
  display: none;
}

@media (max-width: 1050px) and (min-width: 761px) {
  .pathways {
    grid-template-columns: 1fr 1fr;
  }

  .pathway:nth-child(2) {
    border-right: 0;
  }

  .pathway:nth-child(3) {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(255,255,255,.25);
  }

  .pathway:nth-child(3) .pathway-photo {
    aspect-ratio: 16 / 7;
  }
}

@media (max-width: 760px) {
  .pathway {
    padding: 2.25rem 0;
  }

  .pathway-photo {
    aspect-ratio: 4 / 3;
    margin-bottom: 2rem;
  }

  .pathway:last-child {
    border-bottom: 0;
  }
}


/* =========================================================
   Final photo integration — Reckoning section
   ========================================================= */

.reckoning-photo {
  grid-column: 1 / -1;
  width: 100%;
  margin: clamp(4rem, 7vw, 7rem) 0 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: rgba(255,255,255,.04);
}

.reckoning-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  /* Keeps the central protester and the human-rights signs visible. */
  object-position: center 42%;

  filter: saturate(.96) contrast(1.02) brightness(.96);
  transition:
    transform .8s cubic-bezier(.22,.61,.36,1),
    filter .45s ease;
}

.reckoning-photo:hover img {
  transform: scale(1.018);
  filter: saturate(1) contrast(1.03) brightness(.98);
}

@media (max-width: 1050px) {
  .reckoning-photo {
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 760px) {
  .reckoning-photo {
    margin-top: 3.5rem;
    aspect-ratio: 4 / 3;
  }

  .reckoning-photo img {
    object-position: center center;
  }
}


/* Final process journey — panoramic desktop / vertical mobile */
.process-journey{width:100%;}
.process-panorama{width:100%;margin:0;overflow:hidden;background:#dfe7eb;}
.process-panorama img{display:block;width:100%;height:auto;}
.process-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(7,26,54,.42);border-bottom:1px solid rgba(7,26,54,.24);}
.process-step{position:relative;min-width:0;padding:clamp(1.6rem,2.5vw,2.8rem) clamp(1rem,2vw,2rem) clamp(2.2rem,3.5vw,4rem);border-right:1px solid rgba(7,26,54,.22);}
.process-step:last-child{border-right:0;}
.process-step::before{content:"";position:absolute;top:-6px;left:clamp(1rem,2vw,2rem);width:11px;height:11px;border-radius:50%;background:var(--navy);}
.process-step-copy time{display:block;margin-bottom:clamp(1.6rem,2.6vw,2.7rem);color:var(--navy);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;}
.process-step-copy h3{margin:0 0 1rem;color:var(--navy);font-size:clamp(1.55rem,2.35vw,2.8rem);line-height:1;letter-spacing:-.045em;font-weight:600;}
.process-step-copy p{max-width:235px;margin:0;color:#46515c;font-size:clamp(.92rem,1.12vw,1.08rem);line-height:1.55;}
.process-step-image{display:none;margin:0;}
.process-step-image img{display:block;width:100%;height:auto;}
@media(max-width:900px){.process-panorama{display:none}.process-steps{display:block;border:0}.process-step{display:grid;grid-template-columns:minmax(130px,.48fr) minmax(0,1fr);gap:clamp(1.25rem,4vw,2.5rem);align-items:start;padding:clamp(3rem,8vw,5rem) 0;border-right:0;border-bottom:1px solid rgba(7,26,54,.2)}.process-step:first-child{border-top:1px solid rgba(7,26,54,.28)}.process-step::before{top:-6px;left:0}.process-step-copy{position:sticky;top:6rem}.process-step-copy time{margin-bottom:1rem}.process-step-copy h3{font-size:clamp(1.7rem,5vw,2.5rem)}.process-step-copy p{max-width:260px;font-size:.95rem}.process-step-image{display:block;overflow:hidden;background:#dfe7eb}.process-step-image img{aspect-ratio:2/3;object-fit:cover;object-position:center}}
@media(max-width:620px){.process-step{display:block;padding:3.5rem 0}.process-step-copy{position:static;margin-bottom:1.75rem}.process-step-copy time{margin-bottom:.75rem}.process-step-copy h3{margin-bottom:.8rem;font-size:clamp(2rem,9vw,3rem)}.process-step-copy p{max-width:34rem;font-size:1rem}.process-step-image img{aspect-ratio:2/3}}


/* =========================================================
   Process desktop refinement — text above the panorama
   ========================================================= */

@media (min-width: 901px) {
  .process-steps {
    border-top: 1px solid rgba(7, 26, 54, .42);
    border-bottom: 0;
  }

  .process-step {
    min-height: clamp(250px, 19vw, 340px);
    padding-top: clamp(2rem, 3vw, 3.25rem);
    padding-bottom: clamp(2.25rem, 3.5vw, 4rem);
  }

  .process-step::before {
    top: -6px;
  }

  .process-step-copy time {
    margin-bottom: clamp(1.25rem, 2vw, 2.2rem);
  }

  .process-panorama {
    border-top: 1px solid rgba(7, 26, 54, .22);
  }
}


/* =========================================================
   Four needs — final illustration integration
   ========================================================= */

.insight-grid {
  align-items: stretch;
}

.insight-card {
  min-width: 0;
  min-height: clamp(680px, 55vw, 920px);
  padding: clamp(2rem, 4vw, 4.5rem);
  justify-content: flex-start;
}

.insight-number {
  display: block;
  margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
  color: var(--navy);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.insight-illustration {
  width: 100%;
  min-height: 0;
  margin: 0 0 clamp(2.5rem, 4vw, 4rem);
  padding: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 0;
  background: #dce5e9;
}

.insight-illustration::before {
  content: none;
}

.insight-illustration img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .75s cubic-bezier(.22,.61,.36,1),
              filter .45s ease;
}

.insight-card:hover .insight-illustration img {
  transform: scale(1.018);
}

.insight-card h3 {
  max-width: 680px;
  margin: auto 0 clamp(1.5rem, 2.5vw, 2.5rem);
}

.insight-card p {
  max-width: 590px;
}

/* Preserve the most important part of each composition. */
.insight-card:nth-child(1) .insight-illustration img {
  object-position: center 48%;
}

.insight-card:nth-child(2) .insight-illustration img {
  object-position: center 50%;
}

.insight-card:nth-child(3) .insight-illustration img {
  object-position: center 52%;
}

.insight-card:nth-child(4) .insight-illustration img {
  object-position: center 50%;
}

@media (max-width: 1050px) {
  .insight-card {
    min-height: 650px;
  }
}

@media (max-width: 760px) {
  .insight-card {
    min-height: 0;
    padding: 3rem 0;
  }

  .insight-illustration {
    min-height: 0;
    aspect-ratio: 3 / 2;
    margin-bottom: 2.25rem;
  }

  .insight-card h3 {
    margin-top: 0;
  }
}


/* =========================================================
   Journey revision — retain interaction, hide illustrations
   ========================================================= */

/*
  The .journey-character nodes stay in the DOM so the existing JavaScript
  can continue to activate each phase. Only their visual rendering is hidden.
*/
.journey-map .journey-character,
.journey-map .journey-character.is-active,
.journey-map .journey-character::before,
.journey-map .journey-character span {
  visibility: hidden !important;
  opacity: 0 !important;
  border-color: transparent !important;
}

/* Keep the circles fully interactive and above the hidden character layer. */
.journey-map .phase-circle {
  pointer-events: auto;
}


/* =========================================================
   Curriculum — Connecting the pieces illustration
   ========================================================= */

.curriculum-illustration {
  width: 100%;
  min-height: 0;
  margin: clamp(3rem, 5vw, 5rem) 0 0;
  overflow: hidden;
  background: transparent;
}

.curriculum-illustration img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 760px) {
  .curriculum-illustration {
    width: 100%;
    min-height: 0;
  }

  .curriculum-illustration img {
    aspect-ratio: 4 / 3;
  }
}


/* =========================================================
   Closing section — collective building image
   ========================================================= */

.closing-illustration {
  width: 100%;
  margin: clamp(4rem, 8vw, 8rem) 0 0;
  overflow: hidden;
  background: #e9e9e5;
}

.closing-illustration img {
  display: block;
  width: 100%;
  height: clamp(360px, 48vw, 760px);
  object-fit: cover;
  object-position: center 48%;
}

@media (max-width: 760px) {
  .closing-illustration {
    margin-top: 3.5rem;
  }

  .closing-illustration img {
    height: auto;
    aspect-ratio: 4 / 3;
    object-position: center;
  }
}


/* =========================================================
   Lighthouse visual — simplified
   ========================================================= */

.lighthouse-people,
.lighthouse-visual > small {
  display: none !important;
}


/* =========================================================
   Persona role pictograms
   ========================================================= */

.persona-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: clamp(220px, 21vw, 340px);
  margin: 0;
  overflow: hidden;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid rgba(11, 13, 16, .14);
  background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.3));
}

.persona-icon::before,
.persona-icon::after {
  content: "";
  position: absolute;
  border: 1px solid currentColor;
  border-radius: 50%;
  opacity: .14;
  pointer-events: none;
}

.persona-icon::before {
  width: clamp(90px, 10vw, 160px);
  aspect-ratio: 1;
  right: -4%;
  top: 10%;
}

.persona-icon::after {
  width: clamp(150px, 15vw, 240px);
  aspect-ratio: 1;
  left: -12%;
  bottom: -36%;
}

.persona-icon img {
  position: relative;
  z-index: 1;
  display: block;
  width: clamp(88px, 9vw, 150px);
  height: clamp(88px, 9vw, 150px);
  object-fit: contain;
}

.persona-icon-member {
  color: var(--navy-2);
  background-color: rgba(13, 42, 80, .035);
}

.persona-icon-facilitator {
  color: #8a3fa3;
  background-color: rgba(138, 63, 163, .035);
}

.persona-icon-leader {
  color: var(--blue-1);
  background-color: rgba(47, 127, 183, .04);
}

.persona-icon-staff {
  color: #167a50;
  background-color: rgba(22, 122, 80, .04);
}

@media (max-width: 1050px) {
  .persona-icon {
    min-height: 280px;
  }

  .persona-icon img {
    width: 128px;
    height: 128px;
  }
}

@media (max-width: 760px) {
  .persona-icon {
    min-height: 240px;
  }

  .persona-icon img {
    width: 112px;
    height: 112px;
  }
}


/* =========================================================
   Shared Foundation accordion
   ========================================================= */

.foundation-accordion {
  align-content: start;
}

.foundation-accordion .foundation-item {
  display: block;
  min-height: 0;
  padding: 0;
  border-top: 1px solid rgba(11,13,16,.18);
}

.foundation-accordion .foundation-item:nth-last-child(-n+2) {
  border-bottom: 1px solid rgba(11,13,16,.18);
}

.foundation-trigger {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) 1.5rem;
  gap: 1rem;
  align-items: center;
  width: 100%;
  min-height: 5.25rem;
  margin: 0;
  padding: 1rem 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}

.foundation-trigger:hover strong,
.foundation-trigger:focus-visible strong {
  color: var(--navy-2);
}

.foundation-trigger:focus-visible {
  outline: 2px solid var(--blue-1);
  outline-offset: 4px;
}

.foundation-number {
  font-size: .58rem !important;
  letter-spacing: .12em !important;
  color: rgba(11,13,16,.36) !important;
}

.foundation-trigger strong {
  font-size: clamp(.95rem, 1.35vw, 1.2rem);
  font-weight: 500;
  letter-spacing: -.02em;
  transition: color .25s ease;
}

.foundation-toggle {
  position: relative;
  width: 1rem;
  height: 1rem;
  justify-self: end;
}

.foundation-toggle::before,
.foundation-toggle::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform .3s ease, opacity .3s ease;
}

.foundation-toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.foundation-trigger[aria-expanded="true"] .foundation-toggle::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.foundation-panel {
  overflow: hidden;
}

.foundation-panel[hidden] {
  display: none;
}

.foundation-panel p {
  max-width: 44rem;
  margin: 0;
  padding: 0 2.5rem 1.75rem 3rem;
  color: rgba(11,13,16,.66);
  font-size: clamp(.9rem, 1.1vw, 1.02rem);
  line-height: 1.65;
}

.foundation-item.is-open {
  background: rgba(255,255,255,.32);
}

@media (max-width: 760px) {
  .foundation-principles.foundation-accordion {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .foundation-accordion .foundation-item {
    border-bottom: 0;
  }

  .foundation-accordion .foundation-item:last-child {
    border-bottom: 1px solid rgba(11,13,16,.18);
  }

  .foundation-panel p {
    padding-left: 3rem;
    padding-right: 1rem;
  }
}


/* =========================================================
   Persona role lightbox
   ========================================================= */

.role-lightbox-trigger {
  position: relative;
  cursor: pointer;
  transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
}

.role-lightbox-trigger:hover,
.role-lightbox-trigger:focus-visible {
  z-index: 2;
  transform: translateY(-5px);
  box-shadow: 0 22px 55px rgba(7, 26, 54, .12);
  outline: none;
}

.role-lightbox-trigger:focus-visible {
  box-shadow: 0 0 0 3px var(--paper), 0 0 0 5px currentColor, 0 22px 55px rgba(7, 26, 54, .12);
}

.role-card-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.1rem;
  padding-top: .9rem;
  border-top: 1px solid currentColor;
  color: currentColor;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.role-card-cta b {
  font-size: 1rem;
  font-weight: 400;
  transition: transform .25s ease;
}

.role-lightbox-trigger:hover .role-card-cta b {
  transform: translate(3px, -3px);
}

body.role-modal-open {
  overflow: hidden;
}

.role-modal[hidden] {
  display: none;
}

.role-modal {
  position: fixed;
  z-index: 5000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 3rem);
}

.role-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3, 10, 22, .78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  transition: opacity .3s ease;
}

.role-modal-dialog {
  --role-color: var(--navy-2);
  position: relative;
  width: min(1380px, 100%);
  max-height: min(92vh, 980px);
  overflow: hidden;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .32);
  opacity: 0;
  transform: translateY(20px) scale(.985);
  transition: opacity .32s ease, transform .32s cubic-bezier(.22,.61,.36,1);
}

.role-modal.is-open .role-modal-backdrop {
  opacity: 1;
}

.role-modal.is-open .role-modal-dialog {
  opacity: 1;
  transform: none;
}

.role-modal-scroll {
  max-height: min(92vh, 980px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.role-modal-close {
  position: absolute;
  z-index: 4;
  top: clamp(1rem, 2vw, 1.75rem);
  right: clamp(1rem, 2vw, 1.75rem);
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.45);
  border-radius: 50%;
  background: rgba(7, 26, 54, .18);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.role-modal-close span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 19px;
  height: 1px;
  background: currentColor;
}

.role-modal-close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}

.role-modal-close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.role-modal-header {
  padding: clamp(3.5rem, 6vw, 6rem);
  padding-right: clamp(5rem, 8vw, 8rem);
  background: var(--role-color);
  color: #fff;
}

.role-modal-kicker {
  margin: 0 0 .9rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.68);
}

.role-modal-header h2 {
  max-width: 1050px;
  margin: 0;
  font-size: clamp(2.5rem, 5vw, 5.7rem);
  line-height: .95;
  letter-spacing: -.055em;
  font-weight: 500;
}

.role-modal-audience {
  max-width: 900px;
  margin: 1.4rem 0 0;
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  color: rgba(255,255,255,.72);
}

.role-modal-body {
  display: grid;
  gap: clamp(3rem, 5vw, 5rem);
  padding: clamp(3rem, 6vw, 6rem);
}

.role-detail-section {
  border-top: 5px solid var(--section-color);
}

.role-detail-section:nth-child(1) { --section-color: #2f6f9e; }
.role-detail-section:nth-child(2) { --section-color: #167a50; }
.role-detail-section:nth-child(3) { --section-color: #8a3fa3; }

.role-detail-section > h3 {
  margin: 0;
  padding: .75rem 0 1rem;
  color: var(--section-color);
  font-size: clamp(1.35rem, 2.2vw, 2.15rem);
  letter-spacing: -.035em;
}

.role-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.role-detail-item {
  min-width: 0;
  padding: clamp(1.3rem, 2.5vw, 2.2rem);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.role-detail-item h4 {
  margin: 0 0 .65rem;
  font-size: clamp(1.1rem, 1.6vw, 1.45rem);
  line-height: 1.12;
}

.role-detail-item p {
  margin: 0;
  color: #4f555b;
  font-size: .98rem;
  line-height: 1.55;
}

.role-modal-footer {
  padding: 0 clamp(3rem, 6vw, 6rem) clamp(3rem, 6vw, 6rem);
}

.role-modal-footer > p:first-child {
  margin: 0 0 .75rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.role-modal-phases {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
}

.role-modal-phases span {
  display: grid;
  place-items: center;
  min-height: 44px;
  background: #e1e2df;
  color: #8c9195;
  font-size: .72rem;
  font-weight: 700;
}

.role-modal-phases span.is-primary {
  background: var(--role-color);
  color: #fff;
}

.role-modal-phase-note {
  max-width: 1000px;
  margin: 1rem 0 0;
  color: #595f65;
  font-size: .92rem;
  font-style: italic;
}

@media (max-width: 760px) {
  .role-modal {
    padding: 0;
    align-items: end;
  }

  .role-modal-dialog,
  .role-modal-scroll {
    width: 100%;
    max-height: 96svh;
  }

  .role-modal-dialog {
    transform: translateY(35px);
  }

  .role-modal-header {
    padding: 4.5rem 1.25rem 2.5rem;
  }

  .role-modal-body {
    padding: 2.5rem 1.25rem;
    gap: 2.7rem;
  }

  .role-detail-grid {
    grid-template-columns: 1fr;
  }

  .role-modal-footer {
    padding: 0 1.25rem 2.5rem;
  }

  .role-modal-close {
    top: .8rem;
    right: .8rem;
  }

  .role-modal-phases span {
    min-height: 38px;
    font-size: .65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .role-modal-backdrop,
  .role-modal-dialog,
  .role-lightbox-trigger {
    transition: none !important;
  }
}


/* Homepage reorder: section rhythm + reserved sections */
.section-tone-paper{background:var(--paper)!important;color:var(--ink);}
.section-tone-soft{background:#edf0eb!important;color:var(--ink);}
.section-tone-softblue{background:#e8edf1!important;color:var(--ink);}
.section-tone-navy{background:var(--navy)!important;color:var(--white);}
.section-tone-ink{background:var(--ink)!important;color:var(--white);}

.reserved-section{position:relative;min-height:clamp(560px,72vh,820px);display:flex;flex-direction:column;justify-content:space-between;}
.reserved-section-grid{display:grid;grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:clamp(3rem,8vw,10rem);align-items:end;flex:1;}
.reserved-section h2{margin:0;font-size:clamp(3.1rem,7vw,8.5rem);line-height:.92;letter-spacing:-.065em;font-weight:500;}
.reserved-section-note{min-height:320px;border:1px dashed rgba(11,13,16,.3);padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:flex-end;background:rgba(255,255,255,.2);}
.reserved-section-note-light{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.025);}
.reserved-section-note span{margin-bottom:1rem;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.55;}
.reserved-section-note p{max-width:560px;margin:0;font-size:clamp(1.25rem,2.2vw,2.2rem);line-height:1.3;letter-spacing:-.025em;opacity:.72;}
.section-tone-navy .section-index,.section-tone-ink .section-index,.section-tone-navy .eyebrow,.section-tone-ink .eyebrow{color:rgba(255,255,255,.66);}
@media(max-width:760px){.reserved-section{min-height:auto}.reserved-section-grid{grid-template-columns:1fr;align-items:start}.reserved-section-note{min-height:260px}}

/* Grounding — three intellectual foundations */
.grounding { position: relative; overflow: hidden; }
.grounding-layout { display: grid; grid-template-columns: minmax(420px,1fr) minmax(480px,1.08fr); gap: clamp(4rem,7vw,8rem); align-items: start; }
.grounding-intro { position: relative; min-height: 650px; display: flex; flex-direction: column; }
.grounding-intro h2 { max-width: 760px; margin: 0; font-size: clamp(3.4rem,5.8vw,7rem); line-height: .9; letter-spacing: -.065em; font-weight: 500; }
.grounding-copy { max-width: 650px; margin-top: clamp(2.5rem,4vw,4.5rem); }
.grounding-copy p { margin: 0; font-size: clamp(1.05rem,1.45vw,1.35rem); line-height: 1.55; color: #444b51; }
.grounding-copy p + p { margin-top: 1.5rem; }
.grounding-ripples { position: relative; width: min(220px,52%); height: 76px; margin-top: clamp(2rem,3vw,3rem); }
.grounding-ripples span { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(13,42,80,.28); border-radius: 50%; transform: translate(-50%,-50%); }
.grounding-ripples span:nth-child(1) { width: 28%; height: 28%; }
.grounding-ripples span:nth-child(2) { width: 50%; height: 48%; }
.grounding-ripples span:nth-child(3) { width: 74%; height: 68%; }
.grounding-ripples span:nth-child(4) { width: 100%; height: 90%; }
.grounding-ripples i { position: absolute; left: 50%; top: 50%; width: 10px; height: 10px; border-radius: 50%; background: #963052; transform: translate(-50%,-50%); }
.grounding-cards { display: grid; gap: 1rem; padding-top: clamp(2.6rem,3.2vw,3.5rem); }
.grounding-card { --grounding-accent:#8db8dc; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: clamp(1rem,2vw,1.7rem); align-items: center; width: 100%; min-height: 150px; padding: clamp(1.4rem,2.4vw,2.25rem); border: 1px solid rgba(11,13,16,.12); background: rgba(255,255,255,.58); color: var(--ink); text-align: left; cursor: pointer; transition: transform .3s cubic-bezier(.22,.61,.36,1), border-color .3s ease, background-color .3s ease, box-shadow .3s ease; }
.grounding-card-evolution { --grounding-accent:#a9d29d; }
.grounding-card-ecosystem { --grounding-accent:#e4c86f; }
.grounding-card:hover,.grounding-card:focus-visible { transform: translateX(-8px); border-color: rgba(11,13,16,.3); background: rgba(255,255,255,.82); box-shadow: 0 18px 50px rgba(7,26,54,.08); outline: none; }
.grounding-card:focus-visible { box-shadow: 0 0 0 2px var(--navy-2),0 18px 50px rgba(7,26,54,.08); }
.grounding-card-mark,.grounding-modal-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--grounding-accent); color: var(--navy); font-size: 1.25rem; }
.grounding-card-copy { min-width: 0; }
.grounding-card-copy small { display: block; margin-bottom: .45rem; color: #4b5359; font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.grounding-card-copy strong { display: block; font-size: clamp(1.2rem,1.8vw,1.75rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 600; }
.grounding-card-copy em { font-style: normal; font-weight: 400; }
.grounding-card-cta { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; min-width: 62px; padding-left: 1rem; border-left: 1px solid rgba(11,13,16,.14); font-size: .63rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.grounding-card-cta b { align-self: flex-end; font-size: 1.15rem; font-weight: 400; transition: transform .25s ease; }
.grounding-card:hover .grounding-card-cta b { transform: translate(3px,-3px); }
.grounding-credit { margin: .2rem 0 0; color: #73797d; font-size: .68rem; }
body.grounding-modal-open { overflow: hidden; }
.grounding-modal[hidden] { display: none; }
.grounding-modal { position: fixed; z-index: 5100; inset: 0; display: grid; place-items: center; padding: clamp(1rem,3vw,3rem); }
.grounding-modal-backdrop { position: absolute; inset: 0; background: rgba(3,10,22,.8); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); opacity: 0; transition: opacity .3s ease; }
.grounding-modal-dialog { --grounding-accent:#8db8dc; position: relative; width: min(1240px,100%); max-height: min(92vh,960px); overflow: hidden; background: var(--paper); color: var(--ink); box-shadow: 0 32px 90px rgba(0,0,0,.32); opacity: 0; transform: translateY(20px) scale(.985); transition: opacity .32s ease,transform .32s cubic-bezier(.22,.61,.36,1); }
.grounding-modal.is-open .grounding-modal-backdrop { opacity: 1; }
.grounding-modal.is-open .grounding-modal-dialog { opacity: 1; transform: none; }
.grounding-modal-scroll { max-height: min(92vh,960px); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.grounding-modal-close { position: absolute; z-index: 4; top: 1.5rem; right: 1.5rem; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(7,26,54,.28); border-radius: 50%; background: rgba(245,244,239,.72); color: var(--navy); cursor: pointer; }
.grounding-modal-close span { position: absolute; top: 50%; left: 50%; width: 19px; height: 1px; background: currentColor; }
.grounding-modal-close span:first-child { transform: translate(-50%,-50%) rotate(45deg); }
.grounding-modal-close span:last-child { transform: translate(-50%,-50%) rotate(-45deg); }
.grounding-modal-header { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 1.5rem; align-items: start; padding: clamp(3rem,5vw,5rem); padding-right: clamp(5rem,8vw,8rem); border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--grounding-accent) 22%,var(--paper)); }
.grounding-modal-mark { width: 60px; height: 60px; }
.grounding-modal-kicker { margin: .15rem 0 .7rem; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.grounding-modal-header h2 { max-width: 950px; margin: 0; font-size: clamp(2.2rem,4.5vw,4.8rem); line-height: .95; letter-spacing: -.05em; font-weight: 500; }
.grounding-modal-content { padding: clamp(2.5rem,5vw,5rem); }
.grounding-modal-lead { max-width: 1050px; margin: 0; font-size: clamp(1.15rem,1.8vw,1.55rem); line-height: 1.55; color: #343b41; }
.grounding-principles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: clamp(2.5rem,4vw,4rem); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.grounding-principles article { padding: clamp(1.3rem,2vw,2rem); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--grounding-accent) 30%,transparent); }
.grounding-principles h3 { margin: 0 0 .5rem; font-size: clamp(1.15rem,1.7vw,1.5rem); }
.grounding-principles p { margin: 0; color: #4f565c; }
.grounding-modal-figure { margin: clamp(2.5rem,4vw,4rem) 0 0; padding: clamp(1rem,2vw,2rem); border: 1px solid var(--line); background: #fff; }
.grounding-modal-figure img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: contain; }
.grounding-modal-figure figcaption { margin-top: 1rem; color: #656b70; font-size: .72rem; }
.grounding-quote { max-width: 980px; margin: clamp(2.5rem,4vw,4rem) 0 0; padding: .3rem 0 .3rem clamp(1.5rem,3vw,2.5rem); border-left: 4px solid var(--grounding-accent); font-size: clamp(1.25rem,2.1vw,2rem); line-height: 1.4; font-style: italic; }
.grounding-quote cite { display: block; margin-top: 1rem; font-size: .9rem; font-style: normal; }
@media(max-width:1000px){.grounding-layout{grid-template-columns:1fr}.grounding-intro{min-height:auto}.grounding-ripples{margin-top:4rem}.grounding-cards{padding-top:0}}
@media(max-width:760px){.grounding-card{grid-template-columns:46px minmax(0,1fr);min-height:0;padding:1.25rem}.grounding-card-mark{width:44px;height:44px}.grounding-card-cta{grid-column:2;flex-direction:row;min-width:0;padding:1rem 0 0;border-left:0;border-top:1px solid rgba(11,13,16,.14)}.grounding-card:hover{transform:none}.grounding-modal{padding:0;align-items:end}.grounding-modal-dialog,.grounding-modal-scroll{width:100%;max-height:96svh}.grounding-modal-dialog{transform:translateY(35px)}.grounding-modal-header{grid-template-columns:44px minmax(0,1fr);gap:1rem;padding:4.5rem 1.25rem 2rem}.grounding-modal-mark{width:44px;height:44px}.grounding-modal-content{padding:2.25rem 1.25rem}.grounding-modal-close{top:.8rem;right:.8rem}.grounding-principles{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.grounding-principles{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.grounding-card,.grounding-modal-backdrop,.grounding-modal-dialog{transition:none!important}}


/* Readability fix for reserved HCR Professional Development Team section */
.reserved-team .section-index,
.reserved-team .eyebrow,
.reserved-team h2,
.reserved-team .reserved-section-note,
.reserved-team .reserved-section-note span,
.reserved-team .reserved-section-note p {
  color: var(--ink) !important;
}

.reserved-team .reserved-section-note {
  border-color: rgba(11,13,16,.30);
}

.team-section{color:var(--ink)}
.team-section .section-index,.team-section .eyebrow{color:var(--ink)!important}
.team-section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(3rem,8vw,10rem);align-items:end;margin-bottom:clamp(5rem,9vw,9rem)}
.team-section-heading h2{margin:0;font-size:clamp(3rem,7vw,8.6rem);line-height:.9;letter-spacing:-.065em;font-weight:500}
.team-section-description{max-width:680px;margin:0 0 .75rem;font-size:clamp(1.15rem,1.8vw,1.75rem);line-height:1.5;color:#50565d}
.team-section-content{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(5rem,8vw,8rem);align-items:start}
.team-gallery{columns:7;column-gap:clamp(.65rem,.85vw,.9rem)}
.team-gallery-item{display:block;width:100%;margin:0 0 clamp(.75rem,1.3vw,1.25rem);padding:0;border:0;background:none;cursor:zoom-in;break-inside:avoid;overflow:hidden;position:relative}
.team-gallery-item img{display:block;width:100%;height:auto;transition:transform .75s cubic-bezier(.22,.61,.36,1),filter .55s ease;transform:scale(1.002)}
.team-gallery-item:nth-child(3n+2) img{transform:scale(1.025)}
.team-gallery-item:hover img,.team-gallery-item:focus-visible img{transform:scale(1.065);filter:saturate(.96) contrast(1.02)}
.team-gallery-item:nth-child(3n+2):hover img,.team-gallery-item:nth-child(3n+2):focus-visible img{transform:scale(1.005)}
.team-contributors{position:static;border-top:1px solid var(--ink)}
.team-contributors-inner{padding-top:1.75rem}
.team-contributors-kicker{margin:0 0 2.5rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.team-contributors-list{list-style:none;counter-reset:c;margin:0;padding:0}
.team-contributors-list li{counter-increment:c;display:grid;grid-template-columns:2.5rem 1fr;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.3}
.team-contributors-list li::before{content:counter(c,decimal-leading-zero);font-size:.62rem;letter-spacing:.08em;color:#777e85;padding-top:.25rem}
body.team-lightbox-open{overflow:hidden}
.team-lightbox{position:fixed;inset:0;z-index:5000;display:grid;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center;background:rgba(5,9,14,.96);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}
.team-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto}
.team-lightbox-stage{min-width:0;height:100vh;padding:clamp(4rem,7vw,7rem) 0;display:flex;flex-direction:column;justify-content:center;align-items:center}
.team-lightbox-stage img{max-width:min(1200px,100%);max-height:calc(100vh - 11rem);width:auto;height:auto;object-fit:contain}
.team-lightbox-close,.team-lightbox-nav{border:0;background:transparent;color:#fff;cursor:pointer}
.team-lightbox-close{position:absolute;top:1.75rem;right:2rem;width:48px;height:48px;font-size:2.1rem}
.team-lightbox-nav{height:100%;font-size:2rem;opacity:.55}.team-lightbox-nav:hover{opacity:1;background:rgba(255,255,255,.035)}
.team-lightbox-counter{margin-top:1.25rem;color:rgba(255,255,255,.55);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:1400px){.team-gallery{columns:5}}
@media(max-width:1100px){.team-section-heading{grid-template-columns:1fr}.team-gallery{columns:4}}
@media(max-width:760px){.team-gallery{columns:2}.team-lightbox{grid-template-columns:52px minmax(0,1fr) 52px}}
@media(max-width:520px){.team-gallery{columns:1}}

/* Contributors are presented without numbering or implied hierarchy. */
.team-contributors-list {
  list-style: none !important;
  counter-reset: none !important;
}

.team-contributors-list li {
  display: block !important;
  counter-increment: none !important;
  grid-template-columns: none !important;
  padding: 1rem 0;
}

.team-contributors-list li::before {
  content: none !important;
  display: none !important;
}


/* =========================================================
   Contributors list — editorial refinement
   ========================================================= */

.team-contributors {
  border-top-color: rgba(11, 13, 16, .42);
}

.team-contributors-kicker {
  margin-bottom: 2.75rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: rgba(11, 13, 16, .72);
}

.team-contributors-list li {
  position: relative;
  display: block !important;
  padding: 1.15rem 0 1.2rem;
  border-bottom: 1px solid rgba(11, 13, 16, .14);
  font-size: clamp(1.12rem, 1.55vw, 1.55rem);
  line-height: 1.12;
  letter-spacing: -.025em;
  transition:
    padding-left .28s cubic-bezier(.22,.61,.36,1),
    border-color .28s ease,
    color .28s ease;
}

.team-contributors-list li::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background: var(--navy-2);
  transition: width .4s cubic-bezier(.22,.61,.36,1);
}

.team-contributors-list li:hover {
  padding-left: .45rem;
  border-bottom-color: rgba(11, 13, 16, .08);
}

.team-contributors-list li:hover::after {
  width: 100%;
}

.contributor-last {
  font-weight: 650;
  color: var(--ink);
}

.contributor-comma {
  font-weight: 400;
  color: rgba(11, 13, 16, .38);
}

.contributor-first {
  font-weight: 400;
  color: rgba(11, 13, 16, .58);
  transition: color .28s ease;
}

.team-contributors-list li:hover .contributor-first {
  color: var(--navy-2);
}

@media (max-width: 760px) {
  .team-contributors-list li {
    font-size: clamp(1.15rem, 5vw, 1.5rem);
    padding: 1rem 0 1.05rem;
  }

  .team-contributors-list li:hover {
    padding-left: 0;
  }
}


/* Contributors — simplified neutral treatment */
.team-contributors-kicker {
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--ink);
}

.team-contributors-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3vw, 3.5rem);
}

.team-contributors-list li {
  font-size: clamp(.92rem, 1.08vw, 1.12rem) !important;
  line-height: 1.3;
  letter-spacing: -.01em;
  padding: .9rem 0 .95rem;
  color: rgba(11, 13, 16, .72) !important;
  transition: color .25s ease, border-color .25s ease;
}

.contributor-last,
.contributor-first,
.contributor-comma {
  font-weight: 400 !important;
  color: inherit !important;
}

.team-contributors-list li:hover {
  padding-left: 0 !important;
  color: var(--ink) !important;
}

.team-contributors-list li::after {
  display: none !important;
}

.team-contributors-list li:hover .contributor-first {
  color: inherit !important;
}

.team-credit-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(1.5rem, 3vw, 3.5rem);
  margin-top: clamp(2.5rem, 4vw, 4rem);
  padding-top: 1.75rem;
  border-top: 1px solid rgba(11, 13, 16, .42);
}

.team-credit-kicker {
  margin: 0;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.team-credit-name {
  margin: 0;
  font-size: clamp(.92rem, 1.08vw, 1.12rem);
  line-height: 1.3;
  color: rgba(11, 13, 16, .72);
}

.team-insights-list {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem clamp(1.5rem, 3vw, 3.5rem);
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: clamp(.92rem, 1.08vw, 1.12rem);
  line-height: 1.3;
  color: rgba(11, 13, 16, .72);
}

@media (max-width: 760px) {
  .team-contributors-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-contributors-list li {
    font-size: 1rem !important;
  }

  .team-credit-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .team-credit-name,
  .team-insights-list {
    font-size: 1rem;
  }

  .team-insights-list {
    grid-column: 2;
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .team-contributors-list {
    grid-template-columns: 1fr;
  }

  .team-credit-group {
    grid-template-columns: 1fr;
    row-gap: 1rem;
  }

  .team-insights-list {
    grid-column: 1;
  }
}
