/* CureSoulLife — institutional design system
   Warm Ivory #F7F4ED, Deep Forest #173A32, Copper #A56A43
   Copper text uses #7C4E30 so small type meets WCAG 2.2 AA. */

:root {
  --ivory: #F7F4ED;
  --white: #FFFFFF;
  --sand: #E9E1D3;
  --stone: #D7D2C8;
  --charcoal: #242522;
  --forest: #173A32;
  --forest-deep: #102820;
  --midnight: #182A35;
  --copper: #A56A43;
  --copper-text: #7C4E30;
  --gold: #B59A63;
  --sage: #879A82;
  --earth: #715A49;
  --color-background: var(--ivory);
  --color-surface: var(--white);
  --color-surface-muted: var(--sand);
  --color-text-primary: var(--charcoal);
  --color-text-secondary: var(--earth);
  --color-heading: var(--midnight);
  --color-border: var(--stone);
  --color-brand-primary: var(--forest);
  --color-brand-dark: var(--forest-deep);
  --color-accent: var(--copper);
  --color-focus: var(--forest);
  --font-sans: "Manrope", "Segoe UI", sans-serif;
  --font-serif: "Newsreader", Georgia, serif;
  --sans: var(--font-sans);
  --serif: var(--font-serif);
  --type-display: clamp(42px, 5.2vw, 80px);
  --type-h1: clamp(40px, 4.4vw, 64px);
  --type-h2: clamp(32px, 3.4vw, 46px);
  --type-h3: clamp(24px, 2vw, 30px);
  --type-body-lg: clamp(18px, 1.25vw, 21px);
  --type-body: 17px;
  --type-small: 15px;
  --type-caption: 13px;
  --type-eyebrow: 12px;
  --type-button: 15px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 40px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 80px;
  --space-10: 96px;
  --space-11: 120px;
  --space-12: 160px;
  --content: 1200px;
  --frame: 1440px;
  --reading: 720px;
  --header: 76px;
  --radius-button: 8px;
  --radius-card: 14px;
  --shadow: 0 8px 24px rgba(36, 37, 34, 0.06);
  --leading-body: 1.65;
  --leading-heading: 1.12;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

html.nav-lock,
html.nav-lock body { overflow: hidden; }

body {
  margin: 0;
  background: var(--ivory);
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }

a { color: inherit; }

p { margin: 0; }

h1, h2, h3, h4 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.12;
  margin: 0;
  max-width: 100%;
  scroll-margin-top: 96px;
  text-wrap: balance;
  overflow-wrap: break-word;
}

h1 { font-size: var(--type-h1); color: var(--color-heading); }
h2 { font-size: var(--type-h2); color: var(--color-heading); }
h3 { font-size: var(--type-h3); color: var(--color-text-primary); }
.display { font-size: var(--type-display); line-height: 1.05; }

:focus { outline: none; }
:focus-visible {
  outline: 2px solid var(--forest);
  outline-offset: 3px;
}

::selection { background: #e5d3bc; color: var(--charcoal); }

.skip-link {
  position: absolute;
  left: 16px;
  top: -48px;
  z-index: 80;
  background: var(--forest);
  color: var(--ivory);
  padding: 10px 16px;
  text-decoration: none;
  font-weight: 600;
}

.skip-link:focus { top: 12px; }

main:focus { outline: none; }

.container {
  width: min(var(--content), calc(100% - 40px));
  margin-inline: auto;
}

.section { padding-block: var(--space-9); }
.section-sand { background: var(--sand); }
.section-white { background: var(--white); }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  color: var(--copper-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.eyebrow-rule {
  width: 28px;
  height: 1px;
  background: var(--copper);
  flex: none;
}

.lede,
.support {
  max-width: var(--reading);
  font-size: 18px;
  line-height: 1.65;
  color: var(--charcoal);
}

.support-quiet {
  max-width: 640px;
  color: var(--earth);
  font-size: 16px;
  line-height: 1.6;
}

.section-head { max-width: 760px; margin-bottom: 48px; }
.section-head .support { margin-top: 20px; }

.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-button);
  font-size: var(--type-button);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.btn svg { width: 16px; height: 16px; flex: none; }

.btn-primary { background: var(--color-brand-primary); color: var(--white); }
.btn-primary:hover { background: var(--color-brand-dark); }
.btn-primary:active { background: #0c1f1a; }
.btn-secondary { background: transparent; color: var(--charcoal); border-color: #8d867c; }
.btn-secondary:hover { border-color: var(--charcoal); background: rgba(255, 255, 255, 0.45); }
.btn-secondary:active { background: var(--sand); }
.btn:disabled,
.btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; pointer-events: none; }
.btn-small { min-height: 42px; padding: 8px 14px; font-size: 14px; }
.btn-light { background: var(--ivory); color: var(--forest); }
.btn-light:hover { background: var(--white); }
.btn-ghost-light { background: transparent; color: var(--ivory); border-color: rgba(247, 244, 237, 0.7); }
.btn-ghost-light:hover { background: rgba(247, 244, 237, 0.08); }

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--forest);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.link-arrow:hover { border-bottom-color: var(--forest); }
.link-arrow svg { width: 16px; height: 16px; }

.section-note {
  max-width: 760px;
  margin: 28px 0 0;
  color: var(--earth);
  font-size: 15px;
  line-height: 1.6;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  height: var(--header);
  background: var(--ivory);
  border-bottom: 1px solid transparent;
}

.site-header.is-scrolled { border-bottom-color: var(--stone); }

.header-inner {
  width: min(var(--frame), calc(100% - 40px));
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 20px;
}

.wordmark {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 23px;
  font-weight: 500;
  letter-spacing: -0.03em;
  text-decoration: none;
  min-height: 44px;
  flex: none;
}

.wordmark svg { width: 28px; height: 28px; color: var(--forest); }

.desktop-nav {
  display: none;
  align-items: center;
  gap: 4px;
  margin-left: auto;
}

.desktop-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 5px;
  color: var(--charcoal);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.desktop-nav a:hover { color: var(--forest); }

.desktop-nav a[aria-current="page"] {
  color: var(--forest);
  box-shadow: inset 0 -1px 0 var(--copper);
}

.header-cta { display: none; margin-left: 8px; flex: none; }

.nav-details { margin-left: auto; position: relative; }
.nav-details summary { list-style: none; }
.nav-details summary::-webkit-details-marker { display: none; }

.nav-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--stone);
  background: var(--ivory);
  color: var(--charcoal);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.close-label { display: none; }
.nav-details[open] .menu-label { display: none; }
.nav-details[open] .close-label { display: inline; }

.mobile-panel {
  position: fixed;
  z-index: 39;
  inset: var(--header) 0 0 0;
  overflow: auto;
  background: var(--ivory);
  padding: 8px 24px 48px;
  border-top: 1px solid var(--stone);
}

.mobile-panel a {
  display: flex;
  align-items: center;
  min-height: 52px;
  border-bottom: 1px solid var(--stone);
  color: var(--charcoal);
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}

.mobile-panel a[aria-current="page"] { color: var(--forest); }
.mobile-cta { margin-top: 24px; }

/* Hero */
.hero {
  max-width: var(--frame);
  margin-inline: auto;
  display: grid;
  grid-template-columns: max(20px, calc((100% - 1200px) / 2)) minmax(0, 1fr) minmax(300px, 1.08fr);
  column-gap: 48px;
}

.hero-copy {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 0;
}

.hero-copy h1 { max-width: 10em; }
.hero-copy .support { margin-top: 24px; max-width: 38rem; }

.hero > * { min-width: 0; }

.hero-media {
  grid-column: 3;
  position: relative;
  min-height: 640px;
  background: var(--sand);
  overflow: hidden;
}

.hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  color: transparent;
}

.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, var(--ivory) 0%, rgba(247, 244, 237, 0.72) 10%, rgba(247, 244, 237, 0) 34%);
}

/* Human question */
.question-grid,
.founder-grid,
.page-hero-grid,
.footer-grid,
.dim-grid,
.approach-grid,
.eco-grid {
  min-width: 0;
}

.question-grid > *,
.founder-grid > *,
.page-hero-grid > *,
.footer-grid > *,
.eco-card,
.dim-card,
.approach-card {
  min-width: 0;
}

.question-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 56px;
  align-items: center;
}

.question-media { margin: 0; order: -1; overflow: hidden; background: var(--sand); }
.question-media img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  max-height: 640px;
  object-fit: cover;
  object-position: center 60%;
  color: transparent;
}

.question-copy .support { margin-top: 20px; }

/* Dimensions */
.dim-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.dim-card {
  background: var(--white);
  border: 1px solid var(--stone);
  border-radius: var(--radius-card);
  padding: 24px 22px 28px;
  min-height: 100%;
}

.dim-card:hover { border-color: var(--copper); }

.dim-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  color: var(--forest);
  border: 1px solid var(--stone);
  background: var(--ivory);
}

.dim-icon svg { width: 26px; height: 26px; }
.dim-card h2,
.dim-card h3 { font-size: 28px; margin-bottom: 8px; }
.dim-card .dim-label + p { margin-top: 12px; font-size: 15px; line-height: 1.55; }
.dim-label { margin: 0; color: var(--earth); font-size: 15px; }

/* Journey */
.journey-block { position: relative; }

.journey {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  position: relative;
}

.journey::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 7%;
  right: 7%;
  height: 1px;
  background: #c9c1b4;
  z-index: 0;
}

.journey li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  min-width: 0;
}

.journey-node {
  order: 1;
  width: 15px;
  height: 15px;
  margin: 0 0 12px;
  border: 1.5px solid var(--forest);
  border-radius: 50%;
  background: var(--ivory);
  position: relative;
  z-index: 1;
}

.journey .journey-index { order: 2; }
.journey-index {
  display: block;
  margin-bottom: 4px;
  color: var(--copper-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.journey h3 { order: 3; font-size: clamp(16px, 1.3vw, 20px); }

.journey-arc {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 64;
  margin: 2px 0 0;
  color: var(--copper);
}

.journey-note {
  max-width: 640px;
  margin: 8px 0 0;
  color: var(--earth);
  font-size: 16px;
}

/* Approach */
.approach-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.approach-card {
  background: var(--ivory);
  padding: 28px 22px 32px;
  border-top: 2px solid var(--copper);
  border-radius: 0 0 var(--radius-card) var(--radius-card);
  min-height: 100%;
}

.approach-card .dim-icon { background: var(--white); }
.approach-card h3 { margin: 8px 0 12px; }
.approach-card p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }

/* Ecosystem */
.eco-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.eco-card {
  grid-column: span 2;
  background: var(--white);
  border: 1px solid var(--stone);
  border-radius: var(--radius-card);
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.eco-card:nth-child(4) { grid-column: 2 / span 2; }
.eco-card:nth-child(5) { grid-column: 4 / span 2; }

.eco-card:hover { border-color: var(--copper); }

.eco-media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--sand); }
.eco-media img { width: 100%; height: 100%; object-fit: cover; }

.eco-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 22px 22px 18px;
  flex: 1;
}

.eco-body p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.eco-body .link-arrow { margin-top: auto; }

/* Institution */
.institution { position: relative; padding: 0; overflow: hidden; }
.institution-bg { position: absolute; inset: 0; margin: 0; }
.institution-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.institution .container { position: relative; padding-block: 112px; }

.institution-panel {
  max-width: 680px;
  background: rgba(247, 244, 237, 0.95);
  padding: 48px 40px;
}

.institution-panel .support + .support { margin-top: 16px; }

.pull {
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  max-width: 18em;
}

.pull p {
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--forest);
}

/* Founder */
.founder-grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.78fr) minmax(0, 1.22fr);
  gap: 56px;
  align-items: center;
}

.founder-figure { margin: 0; }

.portrait-placeholder {
  min-height: 460px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  padding: 32px;
  background:
    linear-gradient(180deg, rgba(23, 58, 50, 0.05), rgba(23, 58, 50, 0.18)),
    var(--sand);
  border: 1px solid var(--stone);
  color: var(--forest);
}

.portrait-mark {
  font-family: var(--serif);
  font-size: 72px;
  line-height: 0.9;
  letter-spacing: -0.04em;
}

.portrait-placeholder p {
  max-width: 16em;
  color: var(--earth);
  font-size: 15px;
}

.founder-name { font-size: clamp(40px, 4vw, 56px); }
.founder-identity { margin-top: 16px; font-weight: 700; font-size: 16px; }
.founder-identity-sub { margin-top: 4px; color: var(--earth); font-weight: 600; }
.founder-copy .support { margin-top: 20px; }

/* Finale */
.finale {
  position: relative;
  min-height: 560px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background: var(--forest);
  color: var(--ivory);
}

.finale-media {
  position: absolute;
  inset: 0;
  margin: 0;
}

.finale-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }

.finale-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 58, 50, 0.9), rgba(24, 42, 53, 0.88));
}

.finale-inner {
  position: relative;
  z-index: 1;
  width: min(760px, calc(100% - 40px));
  margin-inline: auto;
  padding-block: 96px;
  text-align: center;
}

.finale h2 { color: var(--ivory); font-size: clamp(36px, 4.4vw, 56px); }
.finale-path {
  margin: 20px 0 0;
  color: var(--gold);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.finale .cta-row { justify-content: center; }

/* Footer */
.site-footer {
  background: var(--forest);
  color: var(--ivory);
  padding: 72px 0 32px;
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) repeat(3, minmax(0, 1fr)) minmax(0, 0.8fr) minmax(200px, 1.3fr);
  gap: 32px 20px;
}

.footer-name {
  font-family: var(--serif);
  font-size: 28px;
  letter-spacing: -0.03em;
}

.footer-tag { margin-top: 8px; color: rgba(247, 244, 237, 0.82); font-size: 15px; max-width: 22em; }

.footer-heading {
  margin: 0 0 12px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
}

.site-footer a {
  display: flex;
  align-items: center;
  min-height: 36px;
  color: var(--ivory);
  font-size: 15px;
  text-decoration: none;
}

.site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }

.footer-quote {
  display: grid;
  align-content: center;
  justify-items: center;
  padding-left: 32px;
  border-left: 1px solid rgba(181, 154, 99, 0.45);
  text-align: center;
}
.footer-statement {
  max-width: 12em;
  font-family: var(--serif);
  font-size: 24px;
  font-style: italic;
  line-height: 1.3;
  color: var(--ivory);
}
.footer-quote::after {
  content: "";
  width: 32px;
  height: 1px;
  margin-top: 22px;
  background: var(--gold);
}

/* Inner pages */
.page-hero {
  padding: 48px 0 40px;
  border-bottom: 1px solid var(--stone);
}

.page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 40px;
  align-items: end;
}

.page-hero h1 { max-width: 13em; }
.stage-list h2 { font-size: clamp(26px, 2.4vw, 32px); }
.stage-list p { margin-top: 8px; color: var(--earth); font-size: 16px; }
.page-hero .lede { margin-top: 18px; }

.page-hero-media { margin: 0; }
.page-hero-media img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}

.page-section { padding-block: 64px; }
.prose { max-width: var(--reading); }
.prose > * + * { margin-top: 16px; }
.prose h2 { font-size: clamp(30px, 3vw, 40px); margin-top: 8px; }
.prose ul, .stack-list { padding: 0; margin: 20px 0 0; list-style: none; }
.stack-list li, .prose li {
  padding: 14px 0;
  border-top: 1px solid var(--stone);
  line-height: 1.55;
}
.stack-list strong, .prose strong { font-weight: 700; }

.quiet-panel {
  max-width: 760px;
  background: var(--white);
  border-top: 2px solid var(--copper);
  padding: 28px 28px 32px;
}

.quiet-panel h2 { font-size: clamp(28px, 3vw, 36px); margin-bottom: 12px; }

.status-note {
  max-width: 760px;
  margin-bottom: 28px;
  padding: 16px 18px;
  background: var(--sand);
  border: 1px solid var(--stone);
  color: var(--charcoal);
  font-size: 15px;
}

.stage-list, .detail-list { list-style: none; margin: 0; padding: 0; max-width: 820px; }
.stage-list li, .detail-list li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px 18px;
  padding: 22px 0;
  border-top: 1px solid var(--stone);
}
.stage-no, .detail-kicker {
  color: var(--copper-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding-top: 6px;
}
.detail-list li { grid-template-columns: minmax(0, 1fr); }
.detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.continue {
  padding-bottom: 96px;
}
.continue h2 { font-size: clamp(28px, 3vw, 36px); margin-bottom: 8px; }

/* Motion */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .js .reveal {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.55s ease, transform 0.55s ease;
  }
  .js .reveal.is-in { opacity: 1; transform: none; }
  .dim-card, .eco-card, .approach-card, .btn, .link-arrow {
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; }
}

/* Responsive */
@media (max-width: 1359px) {
  .desktop-nav, .header-cta { display: none; }
}

@media (min-width: 1180px) {
  .container { width: min(var(--content), calc(100% - 48px)); }
  .header-inner { width: min(var(--frame), calc(100% - 48px)); }
  .section { padding-block: var(--space-11); }
}

@media (min-width: 1360px) {
  .desktop-nav { display: flex; }
  .header-cta { display: inline-flex; }
  .nav-details { display: none; }
}

@media (max-width: 1024px) {
  .dim-grid, .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .approach-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .eco-card, .eco-card:nth-child(4), .eco-card:nth-child(5) { grid-column: span 3; }
  .footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-quote {
    grid-column: 1 / -1;
    justify-items: start;
    padding: 28px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(181, 154, 99, 0.45);
    text-align: left;
  }
  .footer-statement { max-width: none; }
  .journey { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 28px; }
  .journey::before { display: none; }
  .journey-arc { display: none; }
}

@media (max-width: 900px) {
  .hero { grid-template-columns: minmax(0, 1fr); max-width: none; column-gap: 0; }
  .hero-copy, .hero-media { grid-column: auto; }
  .hero-copy { padding: 40px 20px 28px; }
  .hero-copy h1 { max-width: 100%; }
  .hero-media { min-height: 0; height: 62vw; max-height: 420px; }
  .hero-media::after {
    background: linear-gradient(180deg, var(--ivory) 0%, rgba(247, 244, 237, 0) 24%);
  }
  .question-grid, .founder-grid, .page-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .question-media { order: 0; }
  .question-media img { height: 320px; }
  .portrait-placeholder { min-height: 280px; }
}

@media (max-width: 768px) {
  body { font-size: 16.5px; }
  .section { padding-block: 72px; }
  .container, .header-inner, .finale-inner { width: min(var(--content), calc(100% - 40px)); }
  .journey { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .journey li {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    grid-template-areas: "node index" "node title";
    column-gap: 14px;
    text-align: left;
    padding: 10px 0 10px 4px;
  }
  .journey-node { grid-area: node; margin: 4px 0 0; }
  .journey .journey-index { grid-area: index; }
  .journey h3 { grid-area: title; }
  .journey::before {
    display: block;
    top: 12px;
    bottom: 12px;
    left: 11px;
    right: auto;
    width: 1px;
    height: auto;
  }
  .institution .container { padding-block: 48px; }
  .institution-panel { padding: 28px 20px; }
  .page-hero { padding-top: 28px; }
  .page-hero-media img { height: 200px; }
  .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .stage-list li { grid-template-columns: 48px minmax(0, 1fr); }
}

@media (max-width: 560px) {
  .cta-row .btn { width: 100%; }
  .approach-grid, .dim-grid, .detail-grid, .eco-grid { grid-template-columns: minmax(0, 1fr); }
  .eco-card, .eco-card:nth-child(4), .eco-card:nth-child(5) { grid-column: auto; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-copy { padding-inline: 20px; }
}

@media (max-width: 360px) {
  .container, .header-inner { width: calc(100% - 32px); }
  .wordmark { font-size: 20px; }
}

/* Shared components — Part 02
   Existing homepage compositions keep their classes.
   These names are the reusable foundation for later pages. */

.section-header { max-width: 760px; margin-bottom: var(--space-7); }
.section-header.align-center { margin-inline: auto; text-align: center; }
.section-header.align-center .eyebrow { justify-content: center; }
.section-header .support { margin-top: 20px; }

.content-section { padding-block: var(--space-9); }
.bg-ivory { background: var(--color-background); }
.bg-white { background: var(--color-surface); }
.bg-sand { background: var(--color-surface-muted); }
.bg-forest { background: var(--color-brand-primary); color: var(--ivory); }

.reading { max-width: var(--reading); }
.layout-frame { width: min(var(--frame), 100%); margin-inline: auto; }

.image-text {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: var(--space-8);
  align-items: center;
}
.question-grid.image-text { gap: 56px; }
.image-text.image-end .question-media,
.image-text.image-end .image-text-media { order: 1; }
.image-text-media { margin: 0; overflow: hidden; background: var(--sand); }
.image-text-media img { width: 100%; height: 100%; object-fit: cover; }

.card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  min-width: 0;
}
.card-body { padding: var(--space-4); }
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}
.card-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cta-section { padding-block: var(--space-10); }
.cta-section.cta-forest {
  background: var(--color-brand-primary);
  color: var(--ivory);
}
.cta-section.cta-forest h2 { color: var(--ivory); }

.quote {
  margin: var(--space-5) 0 0;
  padding: 0;
  border: 0;
  max-width: 18em;
}
.quote p {
  font-family: var(--font-serif);
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--forest);
}

.timeline { position: relative; }
.diagram {
  display: grid;
  gap: var(--space-4);
}
.diagram-note { max-width: 760px; color: var(--color-text-secondary); font-size: var(--type-small); }

.media-hero { aspect-ratio: 16 / 9; object-fit: cover; }
.media-feature { aspect-ratio: 4 / 3; object-fit: cover; }
.media-portrait { aspect-ratio: 1 / 1; object-fit: cover; }
.media-cover { aspect-ratio: 16 / 9; object-fit: cover; }
.media-thumb { aspect-ratio: 3 / 2; object-fit: cover; }

@media (max-width: 900px) {
  .image-text,
  .card-grid,
  .card-grid.cols-2,
  .card-grid.cols-4 { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1024px) and (min-width: 901px) {
  .card-grid.cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Homepage — Part 03 */

.world-layout { max-width: 820px; }
.world-layout .support + .support { margin-top: 16px; }
.world-lines { margin-top: 36px; display: grid; gap: 8px; }
.world-line {
  max-width: 16em;
  color: var(--midnight);
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
}
.split > * { min-width: 0; }
.split .support { margin-top: 20px; }
.split .support + .support { margin-top: 16px; }
.who-intro { margin-bottom: 64px; }
.split-media { margin: 0; overflow: hidden; background: var(--sand); }
.split-media picture { display: block; }
.split-media img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.hero-media picture { display: block; height: 100%; }

.approach-kicker {
  max-width: 16em;
  margin: 0 0 24px;
  color: var(--midnight);
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.hos-diagram { display: none; max-width: 960px; margin: 0 auto 8px; }
.hos-diagram svg { width: 100%; height: auto; display: block; }
.hos-diagram text {
  fill: var(--midnight);
  font-family: var(--serif);
  font-size: 22px;
}
.hos-spoke { stroke: var(--sage); stroke-width: 1.25; }
.hos-node { fill: var(--forest); }
.hos-list {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  border-left: 1px solid var(--stone);
}
.hos-list li {
  position: relative;
  min-width: 0;
  padding: 14px 0 14px 18px;
}
.hos-list li::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 22px;
  width: 9px;
  height: 9px;
  border: 1.5px solid var(--forest);
  border-radius: 50%;
  background: var(--white);
}
.hos-list h3 { font-size: 22px; }
.hos-list p { margin-top: 4px; color: var(--earth); font-size: 15px; line-height: 1.5; }

.reading-block { max-width: 760px; }
.reading-block .support { margin-top: 20px; }
.reading-block .quiet-panel,
.reading-block .format-list { margin-top: 28px; }
.quiet-panel h3 {
  margin-bottom: 12px;
  font-size: clamp(26px, 2.6vw, 34px);
}
.format-list {
  list-style: none;
  margin: 28px 0 0;
  padding: 0;
  max-width: 640px;
}
.format-list li {
  padding: 12px 0;
  border-top: 1px solid var(--stone);
  font-weight: 600;
}

.section-midnight { background: var(--midnight); color: var(--ivory); }
.section-midnight .section-head h2,
.section-midnight .reading-block h2,
.section-midnight .support { color: var(--ivory); }
.section-midnight .quiet-panel { color: var(--charcoal); }
.section-midnight .quiet-panel h3 { color: var(--midnight); }
.eyebrow-on-dark { color: var(--sand); }
.eyebrow-on-dark .eyebrow-rule { background: var(--gold); }
.section-midnight :focus-visible,
.finale :focus-visible { outline-color: var(--ivory); }

.pair-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
}
.pair-panel {
  min-width: 0;
  background: var(--white);
  padding: 32px 28px 24px;
  border-top: 2px solid var(--copper);
}
.pair-panel h3 { margin-bottom: 12px; }
.pair-panel p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.pair-note { margin-top: 12px; color: var(--earth); font-size: 15px; }
.pair-panel .link-arrow { margin-top: 8px; }

.finale-plain { min-height: 0; }
.finale .eyebrow { justify-content: center; }
.finale-copy {
  margin-top: 28px;
  display: grid;
  gap: 6px;
}
.finale-copy p { color: var(--ivory); font-size: 18px; line-height: 1.45; }
.journey-return { stroke-dasharray: 2 6; }

@media (min-width: 720px) {
  .hos-list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0 32px;
    border-left: 0;
  }
  .hos-list li { padding: 16px 0; border-top: 1px solid var(--stone); }
  .hos-list li::before { display: none; }
}

@media (min-width: 1100px) {
  .hos-diagram { display: block; }
  .hos-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .split { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .split-media img { aspect-ratio: 16 / 9; max-height: 280px; }
  .who-intro { margin-bottom: 40px; }
  .hero-copy h1 { font-size: clamp(38px, 9.2vw, 44px); }
  .pair-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: no-preference) {
  .btn svg,
  .link-arrow svg { transition: transform 0.2s ease; }
  .btn:hover svg,
  .link-arrow:hover svg { transform: translateX(5px); }
  .split-media img { transition: transform 0.6s ease; }
  .split-media:hover img { transform: scale(1.03); }
  .js .hos-spoke {
    stroke-dasharray: 420;
    stroke-dashoffset: 420;
  }
  .js .reveal.is-in .hos-spoke {
    animation: hos-draw 0.7s ease forwards;
  }
}

@keyframes hos-draw { to { stroke-dashoffset: 0; } }

@media (prefers-reduced-motion: reduce) {
  .hos-spoke { stroke-dashoffset: 0; }
}

/* Institutional overview — Part 04 */

.institution-hero { border-bottom: 0; padding-bottom: 8px; }
.institution-hero .page-hero-grid { align-items: center; }
.page-hero-media picture { display: block; }
.institution-hero .page-hero-media img {
  height: 420px;
  max-height: 520px;
  object-fit: cover;
}
.statement {
  max-width: 18em;
  margin-top: 32px;
  color: var(--midnight);
  font-family: var(--serif);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.3;
  letter-spacing: -0.02em;
}
.reading-block .support + .support { margin-top: 16px; }
.reading-block .world-lines { margin-top: 32px; }

.principle-list,
.value-grid {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.principle-list { counter-reset: principle; }
.principle-list li,
.value-grid li {
  min-width: 0;
  padding: 20px 0;
  border-top: 1px solid var(--stone);
}
.principle-list li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 8px 12px;
}
.principle-list li::before {
  counter-increment: principle;
  content: counter(principle, decimal-leading-zero);
  padding-top: 6px;
  color: var(--copper-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.principle-list h3,
.value-grid h3,
.direction-grid h3 { font-size: 24px; margin-bottom: 8px; }
.principle-list p,
.value-grid p,
.direction-grid p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }

.pathway {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  border-left: 1px solid var(--stone);
}
.pathway li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 4px 12px;
  position: relative;
  min-width: 0;
  padding: 14px 0 14px 16px;
}
.pathway li::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 22px;
  width: 9px;
  height: 9px;
  border: 1.5px solid var(--forest);
  border-radius: 50%;
  background: var(--ivory);
}
.pathway-index {
  color: var(--copper-text);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding-top: 6px;
}
.pathway h3 { font-size: 22px; }
.pathway p { margin-top: 4px; color: var(--earth); font-size: 15px; line-height: 1.5; }

.arch { display: grid; gap: 16px; }
.arch-tier {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}
.arch-node {
  min-width: 0;
  background: var(--ivory);
  border-top: 2px solid var(--copper);
  padding: 24px 22px 20px;
}
.arch-node.is-root {
  background: var(--forest);
  color: var(--ivory);
}
.arch-node.is-root h3,
.arch-node.is-root p { color: var(--ivory); }
.arch-node h3 { font-size: 26px; margin-bottom: 8px; }
.arch-node p { color: var(--charcoal); font-size: 16px; line-height: 1.55; }
.arch-node.is-root p { color: var(--ivory); }
.arch-node .link-arrow { margin-top: 4px; }
.link-row { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.audience-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr);
}
.section-sand .arch-node { background: var(--white); }

.direction-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px;
}
.direction-grid li {
  min-width: 0;
  background: var(--white);
  border-top: 2px solid var(--copper);
  padding: 22px 22px 24px;
}
.identity-name {
  margin-top: 12px;
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 36px);
  letter-spacing: -0.03em;
  color: var(--midnight);
}
.finale-enquiry {
  margin-top: 22px;
  color: var(--ivory);
  font-size: 16px;
}
.finale-enquiry a { color: var(--ivory); }

/* Human Transformation — Part 05 */

main section[id],
main header[id] { scroll-margin-top: 88px; }

@media (min-width: 901px) {
  .ht-hero .page-hero-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
  .ht-hero h1 { font-size: clamp(36px, 2.8vw, 52px); }
  .ht-hero .lede { margin-top: 14px; }
  .ht-hero .cta-row { margin-top: 22px; }
}

.possibility-lines { margin-top: 24px; display: grid; gap: 6px; }
.possibility-lines p {
  color: var(--midnight);
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.35;
  letter-spacing: -0.02em;
}

.ht-journey { display: none; }
.stage-detail {
  list-style: none;
  max-width: 760px;
  margin: 8px 0 0;
  padding: 0;
  border-left: 1px solid var(--stone);
}
.stage-detail li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 4px 12px;
  position: relative;
  min-width: 0;
  padding: 18px 0 18px 16px;
}
.stage-detail li::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 26px;
  width: 9px;
  height: 9px;
  border: 1.5px solid var(--forest);
  border-radius: 50%;
  background: var(--ivory);
}
.stage-detail h3 { font-size: 26px; }
.stage-question {
  margin-top: 6px;
  color: var(--midnight);
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.35;
}
.stage-detail p + p { margin-top: 8px; color: var(--charcoal); font-size: 16px; line-height: 1.6; }
#transformation-framework .status-note { margin-top: 28px; }

.dimension-preview {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 20px;
}
.dimension-preview li {
  padding: 12px 0;
  border-top: 1px solid var(--stone);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.3;
}

.orient-list {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
  display: grid;
  gap: 0 32px;
}
.orient-list li {
  min-width: 0;
  padding: 18px 0;
  border-top: 1px solid var(--stone);
}
.orient-list h3 { font-size: 24px; margin-bottom: 8px; }
.orient-list p { color: var(--charcoal); font-size: 16px; line-height: 1.55; }
.approach-card .link-arrow { margin-top: 8px; }
#understanding-to-practice .approach-card { background: var(--white); }

@media (min-width: 700px) {
  .dimension-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trio { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (min-width: 800px) {
  .orient-list { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (min-width: 1100px) {
  .ht-journey { display: block; margin-bottom: 28px; }
}

/* Life Decoding — Part 06 */

[lang="hi"] { font-family: "Nirmala UI", "Mangal", "Noto Sans Devanagari", var(--sans); }
.statement[lang="hi"],
.stage-question[lang="hi"] { font-family: "Nirmala UI", "Mangal", Georgia, serif; }

.trio { display: grid; gap: 16px; margin-top: 28px; }
.section-sand .trio .approach-card { background: var(--ivory); }

.section-forest { background: var(--forest); color: var(--ivory); }
.section-forest h2,
.section-forest .support,
.section-forest .statement { color: var(--ivory); }
.section-forest :focus-visible { outline-color: var(--ivory); }

.lens-diagram { display: none; }
.decode-path { margin: 32px 0 0; }
.decode-path img { width: 100%; height: 240px; object-fit: cover; }
#life-decoding-hero .btn { max-width: 100%; white-space: normal; }

.lens-switch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.lens-switch button {
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--ivory);
  background: transparent;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.lens-switch button[aria-pressed="true"] {
  background: var(--ivory);
  color: var(--forest);
}
.lens-switch button[aria-pressed="true"]::after { content: " — Selected"; }

.lens-panels { display: grid; gap: 16px; }
.lens-panel {
  background: var(--ivory);
  color: var(--charcoal);
  padding: 24px 22px 18px;
  border-top: 2px solid var(--gold);
}
.lens-panel h3 { color: var(--midnight); font-size: 28px; }
.lens-panel p { margin-top: 10px; }
.lens-panel ul { margin: 16px 0 0; padding: 0; list-style: none; }
.lens-panel li {
  padding: 10px 0;
  border-top: 1px solid var(--stone);
  line-height: 1.55;
}
.lens-panel.is-selected { box-shadow: inset 0 0 0 2px var(--forest); }
.lens-state {
  margin-top: 8px;
  color: var(--copper-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.step-track {
  display: none;
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
}
.step-track li {
  position: relative;
  padding-top: 16px;
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 18px;
}
.step-track span {
  display: block;
  margin-bottom: 6px;
  color: var(--copper-text);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.route-grid { display: grid; gap: 16px; margin-top: 28px; }
.route-grid article {
  min-width: 0;
  background: var(--ivory);
  color: var(--charcoal);
  padding: 28px 24px 22px;
}
.route-grid h3 { color: var(--midnight); margin-bottom: 10px; }
.route-grid p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }

@media (min-width: 800px) {
  .route-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
  .trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lens-diagram {
    display: block;
    position: relative;
    width: min(720px, 100%);
    height: 640px;
    margin: 8px auto 36px;
  }
  .lens-diagram svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
  .lens-diagram p {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 168px;
    margin: 0;
    padding: 8px 0;
    transform: translate(-50%, -50%);
    background: var(--forest);
    color: var(--ivory);
    font-family: var(--serif);
    font-size: 26px;
    line-height: 1.15;
    text-align: center;
  }
  .lens-diagram ul { margin: 0; padding: 0; list-style: none; }
  .lens-diagram li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 156px;
    margin: 0;
    padding: 12px 8px;
    background: var(--ivory);
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
    transform: translate(-50%, -50%) rotate(calc(var(--i) * 72deg)) translateY(-228px) rotate(calc(var(--i) * -72deg));
  }
}

@media (min-width: 1100px) {
  .step-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 20px;
    border-top: 1px solid var(--stone);
  }
}

/* Human Operating System — Part 07 */

.hos-hero { border-bottom: 0; padding-bottom: 16px; }
.hos-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); align-items: center; }
.hos-hero h1 { max-width: 14em; font-size: clamp(34px, 4.8vw, 48px); }
.hos-figure { display: none; margin: 0; }
.hos-figure svg { width: 100%; height: auto; display: block; }
.hos-figure text { fill: var(--midnight); font-family: var(--serif); font-size: 30px; }
.hos-summary p { margin-top: 28px; color: var(--earth); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.hos-summary ul { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 10px 0 0; padding: 0; list-style: none; }
.hos-summary li { font-family: var(--serif); font-size: 20px; color: var(--midnight); }

.section-forest .eyebrow { color: var(--sand); }
.section-forest .eyebrow-rule { background: var(--gold); }
.section-forest .section-note { color: var(--sand); }
.section-white .stage-detail li::before { background: var(--white); }

.hos-text-alt { max-width: 760px; margin-top: 20px; color: var(--ivory); }
.hos-orbit { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 20px; }
.hos-core { width: 100%; margin: 0 0 4px; color: var(--ivory); font-family: var(--serif); font-size: 22px; }
.hos-orbit button {
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--ivory);
  background: transparent;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.hos-orbit button[aria-pressed="true"] { background: var(--ivory); color: var(--forest); border-width: 3px; }
.hos-orbit button[aria-pressed="true"]::after { content: " — Selected"; }
.hos-panels { display: grid; gap: 16px; }
.hos-panel { background: var(--ivory); color: var(--charcoal); padding: 24px 22px 18px; border-top: 2px solid var(--gold); }
.hos-panel h3 { color: var(--midnight); font-size: 28px; }
.hos-panel h4 { margin-top: 20px; color: var(--midnight); font-size: 20px; }
.hos-panel p { margin-top: 10px; }
.hos-panel ul { margin: 10px 0 0; padding: 0; list-style: none; }
.hos-panel li { padding: 8px 0; border-top: 1px solid var(--stone); line-height: 1.55; }
.hos-panel.is-selected { box-shadow: inset 0 0 0 2px var(--forest); }
.hos-state { color: var(--copper-text); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.hos-panel .link-row { display: flex; flex-wrap: wrap; gap: 4px 20px; margin-top: 8px; }

.principle-grid, .pillar-grid { display: grid; gap: 16px; margin-top: 28px; }
.principle-grid .approach-card,
.section-sand .pillar-grid .approach-card { background: var(--white); }
.principle-question { margin-top: 14px; color: var(--midnight); font-family: var(--serif); font-size: 18px; line-height: 1.4; }

.formula-line {
  max-width: 16em;
  margin-top: 12px;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.3;
}
.formula-grid { display: grid; gap: 16px; margin-top: 28px; }
.formula-card { background: var(--ivory); color: var(--charcoal); padding: 22px 18px 18px; }
.formula-card h3 { color: var(--midnight); font-size: 24px; }
.formula-lead { margin-top: 8px; color: var(--midnight); font-family: var(--serif); font-size: 18px; line-height: 1.35; }
.formula-card p { margin-top: 8px; font-size: 15px; line-height: 1.55; }
.pathway-sequence { margin-top: 28px; color: var(--midnight); font-family: var(--serif); font-size: clamp(22px, 2.4vw, 28px); line-height: 1.35; }

.practice-list { list-style: none; display: grid; gap: 16px; margin: 28px 0 0; padding: 0; }
.practice-list li { min-width: 0; background: var(--ivory); padding: 22px 20px; border-top: 2px solid var(--sage); }
.practice-list h3 { margin-bottom: 8px; font-size: 24px; }
.practice-list p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }

.framework-map { display: none; margin: 28px 0; text-align: center; }
.framework-map p, .framework-map span {
  display: inline-block;
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--stone);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 18px;
}
.framework-map > p:first-child { border-color: var(--forest); }
.framework-map div { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.relation-grid { display: grid; gap: 16px; }
.relation-grid article { min-width: 0; background: var(--sand); padding: 24px 20px 18px; }
.relation-grid h3 { margin-bottom: 10px; color: var(--midnight); }
.relation-grid p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }

@media (min-width: 720px) {
  .principle-grid, .pillar-grid, .formula-grid, .practice-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 800px) {
  .framework-map { display: grid; justify-items: center; gap: 12px; }
  .relation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .hos-hero .page-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
  .hos-hero h1 { font-size: clamp(36px, 2.7vw, 50px); }
  .hos-figure { display: block; }
  .hos-summary-wrap { position: relative; }
  .hos-summary {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .principle-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pillar-grid, .formula-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
  .hos-framework { display: grid; grid-template-columns: 580px minmax(0, 1fr); gap: 24px; align-items: start; }
  .hos-orbit { position: relative; display: block; width: 580px; height: 580px; margin: 12px 0 0; }
  .hos-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 92px;
    height: 92px;
    margin: 0;
    display: grid;
    place-items: center;
    transform: translate(-50%, -50%);
    border: 1px solid var(--sage);
    border-radius: 50%;
    font-size: 16px;
    line-height: 1.2;
    text-align: center;
  }
  .hos-orbit button {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 136px;
    padding-inline: 8px;
    font-size: 14px;
    transform: translate(-50%, -50%) rotate(calc(var(--i) * 40deg)) translateY(-210px) rotate(calc(var(--i) * -40deg));
  }
  .hos-orbit button[aria-pressed="true"] { text-decoration: underline; text-underline-offset: 3px; }
  .hos-orbit button[aria-pressed="true"]::after { content: none; }
}

@media (min-width: 800px) {
  .principle-list,
  .value-grid,
  .direction-grid,
  .audience-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; }
  .arch-tier,
  .audience-grid { column-gap: 16px; }
  .arch-tier { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
  .pathway {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    border-left: 0;
  }
  .pathway li {
    display: block;
    padding: 16px 0 0;
    border-top: 1px solid var(--stone);
  }
  .pathway li::before { display: none; }
  .pathway-index { display: block; margin-bottom: 8px; }
}

@media (max-width: 900px) {
  .institution-hero .page-hero-media img { height: 220px; max-height: none; }
}

/* Knowledge Hub — Part 08 */

.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; padding: 0; list-style: none; font-size: 14px; }
.breadcrumb li:not(:last-child)::after { content: "/"; margin-left: 8px; color: var(--earth); }
.breadcrumb a { color: var(--forest); font-weight: 700; }
.breadcrumb [aria-current="page"] { color: var(--earth); }
.knowledge-hero { border-bottom: 0; }
.knowledge-hero h1 { max-width: 12em; font-size: clamp(34px, 4.4vw, 52px); }
.knowledge-hero .page-hero-media img { object-position: center 42%; }
.cta-forest .eyebrow { color: var(--sand); }
.cta-forest .eyebrow-rule { background: var(--gold); }

.learn-sequence { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.learn-sequence li {
  padding-top: 12px;
  border-top: 1px solid var(--stone);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 20px;
}

.domain-grid, .format-grid, .level-grid, .continue-grid { display: grid; gap: 16px; margin-top: 28px; }
.domain-card, .format-grid article, .continue-grid article {
  min-width: 0;
  background: var(--white);
  padding: 24px 20px 18px;
}
.section-sand .domain-card { background: var(--ivory); }
.format-grid article { background: var(--white); border-top: 2px solid var(--sage); }
.domain-index { margin: 0 0 8px; color: var(--copper-text); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; }
.domain-card h3, .format-grid h3, .continue-grid h3 { margin-bottom: 10px; color: var(--midnight); }
.domain-card p, .format-grid p, .continue-grid p { color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.domain-topics { margin-top: 12px; color: var(--earth); font-size: 15px; }
.domain-state { margin-top: 8px; color: var(--copper-text); font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.domain-card.is-selected { box-shadow: inset 0 0 0 2px var(--forest); }
.level-grid .approach-card { background: var(--ivory); }
.continue-grid article { background: var(--ivory); border-top: 2px solid var(--forest); }

.knowledge-search { display: grid; gap: 8px; max-width: 720px; margin-top: 24px; }
.knowledge-search label { font-weight: 700; }
.knowledge-search input {
  min-height: 44px;
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #8d867c;
  background: var(--white);
  color: var(--charcoal);
  font: inherit;
}
#knowledge-results:focus { outline: 2px solid var(--forest); outline-offset: 4px; }

@media (min-width: 720px) {
  .learn-sequence, .domain-grid, .format-grid, .level-grid, .continue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .knowledge-search { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .knowledge-search label { grid-column: 1 / -1; }
}
@media (min-width: 1100px) {
  .domain-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .domain-grid article:nth-child(-n + 3) { grid-column: span 2; }
  .domain-grid article:nth-child(n + 4) { grid-column: span 3; }
  .learn-sequence { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .format-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Research & Evidence — Part 09 */

.research-hero { border-bottom: 0; }
.research-hero h1 { max-width: 13em; font-size: clamp(34px, 4.2vw, 52px); }
.section-midnight .eyebrow { color: var(--sand); }
.section-midnight .eyebrow-rule { background: var(--gold); }
.inquiry-grid, .evidence-grid, .ethics-grid, .research-steps { display: grid; gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.inquiry-grid article, .evidence-grid article, .research-steps li {
  min-width: 0;
  background: var(--ivory);
  color: var(--charcoal);
  padding: 24px 20px 18px;
}
.section-white .inquiry-grid article { background: var(--sand); }
.evidence-grid article h3, .inquiry-grid h3, .research-steps h3 { margin: 8px 0 10px; color: var(--midnight); }
.evidence-grid p, .inquiry-grid p, .research-steps p { margin-top: 8px; color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.claim-note { color: var(--midnight); font-size: 15px; }
.section-sand .ethics-grid .approach-card { background: var(--ivory); }
.research-steps li { display: grid; gap: 4px; }
.section-midnight .section-note { color: var(--sand); }

@media (min-width: 720px) {
  .inquiry-grid, .evidence-grid, .ethics-grid, .research-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .inquiry-grid, .evidence-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ethics-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .research-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Research — design pass */

.research-hero .page-hero-media img {
  width: 100%;
  height: 280px;
  max-height: none;
  border-radius: 16px;
  object-fit: cover;
  object-position: center 42%;
}
.research-split,
.research-principles { display: grid; gap: 28px; }
.research-split .section-head,
.research-principles .section-head { margin-bottom: 0; }
#research-why .relation-grid,
#research-areas .inquiry-grid,
#research-perspectives .relation-grid { grid-template-columns: minmax(0, 1fr); margin-top: 0; }
#research-areas .about-icon,
#research-perspectives .about-icon { margin-inline: auto; }
#research-process h2 { margin: 36px 0 0; font-size: clamp(28px, 3vw, 40px); }
#research-collaboration h2 { max-width: 12em; }
#research-collaboration .support { color: var(--charcoal); }
#research-collaboration .support + .support { margin-top: 16px; }
#research-collaboration .section-note { max-width: 40em; margin: 16px 0 0; color: var(--earth); }
#research-collaboration .cta-row { justify-content: flex-start; }
#research-why .relation-grid article,
#research-areas .inquiry-grid article,
#research-perspectives .relation-grid article,
#research-philosophy .approach-card {
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
}
#research-why .relation-grid article,
#research-philosophy .approach-card { text-align: center; }
#research-why .about-icon,
#research-philosophy .about-icon { margin-inline: auto; }
#research-process .about-icon { margin-left: 0; margin-right: auto; }
#research-process .research-steps li {
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
  padding: 18px 14px 16px;
}
#research-closing { border-top: 1px solid rgba(181, 154, 99, 0.45); }

@media (min-width: 901px) {
  .research-hero .page-hero-grid { align-items: center; }
  .research-hero .page-hero-media img { height: 440px; border-radius: 18px; }
}

@media (min-width: 1000px) {
  .research-split { grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.35fr); gap: 40px 36px; align-items: start; }
  .research-principles { grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1.5fr); gap: 32px 28px; align-items: start; }
  #research-philosophy .principle-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
  #research-philosophy .principle-grid article:nth-child(-n + 3) { grid-column: span 2; }
  #research-philosophy .principle-grid article:nth-child(n + 4) { grid-column: span 3; }
  #research-why .relation-grid,
  #research-areas .inquiry-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #research-perspectives .relation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; }
  #research-perspectives .relation-grid article:nth-child(2) { grid-column: 1 / -1; }
  #research-philosophy .approach-card { padding: 18px 12px 16px; }
  #research-philosophy .approach-card h3 { font-size: 18px; }
  #research-process .research-steps {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    text-align: center;
  }
  #research-process .research-steps li {
    position: relative;
    border: 0;
    background: transparent;
    padding: 0 4px 8px;
  }
  #research-process .about-icon { margin-inline: auto; position: relative; z-index: 1; }
  #research-process .research-steps li::before {
    content: "";
    position: absolute;
    top: 46px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--stone);
  }
  #research-process .research-steps li:first-child::before { left: 50%; }
  #research-process .research-steps li:last-child::before { right: 50%; }
  #research-process .research-steps h3 { font-size: 16px; }
  #research-process .research-steps p { font-size: 13px; line-height: 1.45; }
}

/* Experiences — Part 10 */

.experience-hero { border-bottom: 0; }
.experience-hero h1 { max-width: 14em; font-size: clamp(34px, 4vw, 50px); }
.experience-formats { display: grid; gap: 16px; margin-top: 28px; }
.experience-formats article { min-width: 0; background: var(--sand); padding: 24px 20px 18px; }
.section-sand .experience-formats article { background: var(--ivory); }
.experience-formats h3 { margin-bottom: 10px; color: var(--midnight); }
.experience-formats p { margin-top: 8px; color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.quiet-panel .cta-row { margin-top: 20px; }

@media (min-width: 720px) {
  .experience-formats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .experience-formats { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .experience-formats article:nth-child(-n + 3) { grid-column: span 2; }
  .experience-formats article:nth-child(n + 4) { grid-column: span 3; }
}

/* Retreats — Part 11 */

.retreat-hero { border-bottom: 0; }
.retreat-hero h1 { max-width: 16em; font-size: clamp(32px, 3.6vw, 46px); }
.retreat-hero .lede + .support { margin-top: 16px; }
.retreat-cards, .retreat-journey, .retreat-prompts { display: grid; gap: 16px; margin-top: 28px; }
.retreat-journey, .retreat-prompts { margin: 28px 0 0; padding: 0; list-style: none; }
.retreat-cards article, .retreat-journey li, .retreat-prompts li {
  min-width: 0;
  background: var(--white);
  padding: 24px 20px 18px;
}
.section-white .retreat-cards article,
.section-white .retreat-journey li { background: var(--sand); }
.section-sand .retreat-cards article { background: var(--ivory); }
.retreat-cards h3, .retreat-journey h3 { margin: 8px 0 10px; color: var(--midnight); }
.retreat-cards p, .retreat-journey p, .retreat-prompts li { margin-top: 8px; color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.retreat-prompts li { margin-top: 0; }
.retreat-journey { counter-reset: retreat; }
.retreat-journey li { counter-increment: retreat; }
.retreat-journey li::before {
  content: counter(retreat, decimal-leading-zero);
  color: #7c4e30;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.retreat-cards .link-arrow { display: flex; width: fit-content; margin-top: 16px; }
.retreat-cards .link-arrow + .link-arrow { margin-top: 10px; }
#retreat-return .cta-row, #available-retreats .quiet-panel { margin-top: 28px; }

@media (min-width: 800px) {
  .retreat-cards, .retreat-journey, .retreat-prompts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  #retreat-includes .retreat-cards,
  #retreat-design .retreat-cards,
  #retreat-care .retreat-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #retreat-connect .retreat-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  #retreat-connect .retreat-cards article:nth-child(-n + 3) { grid-column: span 2; }
  #retreat-connect .retreat-cards article:nth-child(n + 4) { grid-column: span 3; }
}

/* Community — Part 12 */

.community-hero { border-bottom: 0; }
.community-hero h1 { max-width: 14em; font-size: clamp(32px, 3.5vw, 46px); }
.community-hero .lede + .support { margin-top: 16px; }
.community-hero .page-hero-media img { object-position: center 42%; }
.community-cards { display: grid; gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; }
.community-cards article,
.community-cards > li { min-width: 0; background: var(--white); padding: 24px 20px 18px; }
.section-white .community-cards article,
.section-white .community-cards > li { background: var(--sand); }
.section-forest .community-cards article,
.section-forest .community-cards > li { background: var(--ivory); color: var(--charcoal); }
.community-cards h3 { margin: 8px 0 10px; color: var(--midnight); }
.community-cards p { margin-top: 8px; color: var(--charcoal); font-size: 16px; line-height: 1.6; }
.community-for { color: var(--earth); font-size: 15px; font-weight: 700; }
.community-cards .link-arrow { display: flex; width: fit-content; margin-top: 16px; }
ol.community-cards { counter-reset: community; }
ol.community-cards > li { counter-increment: community; }
ol.community-cards > li::before {
  content: counter(community, decimal-leading-zero);
  display: block;
  color: #7c4e30;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.community-orbit { display: none; }
#community-stories .cta-row,
#community-network .cta-row { margin-top: 28px; }

@media (min-width: 800px) {
  .community-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
  .community-wide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .community-five { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .community-five > :nth-child(-n + 3) { grid-column: span 2; }
  .community-five > :nth-child(n + 4) { grid-column: span 3; }
  .community-orbit {
    display: block;
    position: relative;
    width: min(680px, 100%);
    height: 620px;
    margin: 36px auto 4px;
  }
  .community-orbit p {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 140px;
    margin: 0;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 28px;
    line-height: 1.2;
  }
  .community-orbit ul { margin: 0; padding: 0; list-style: none; }
  .community-orbit li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 168px;
    margin: 0;
    padding: 12px 10px;
    background: var(--white);
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
    transform: translate(-50%, -50%) rotate(calc(var(--i) * 60deg)) translateY(-230px) rotate(calc(var(--i) * -60deg));
  }
}

/* Blog */

.blog-hero { border-bottom: 0; padding-bottom: 12px; }
.blog-hero h1,
.blog-card h2,
.blog-prose h1,
.blog-prose h2,
.blog-prose h3 {
  max-width: 100%;
  text-wrap: wrap;
}
.blog-card { max-width: 820px; }
.blog-card-media { display: block; color: inherit; text-decoration: none; }
.blog-card-media:hover h2 { color: var(--forest); }
.blog-card figure { margin: 0; }
.blog-card img,
.blog-banner img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.blog-card h2 { margin-top: 18px; font-size: clamp(28px, 3vw, 36px); }
.blog-card p { margin-top: 12px; max-width: 62ch; color: var(--earth); line-height: 1.6; }
.blog-card .link-arrow { margin-top: 16px; }
.blog-article { padding-top: 48px; }
.blog-banner { margin: 0 0 28px; }
.blog-prose { max-width: 760px; }
.blog-prose h1 { font-size: clamp(34px, 4vw, 52px); }
.blog-prose > * + * { margin-top: 16px; }
.blog-prose h2 { margin-top: 40px; font-size: clamp(28px, 3vw, 36px); }
.blog-prose h3 { margin-top: 28px; font-size: clamp(20px, 2vw, 24px); }
.blog-prose p,
.blog-prose li { line-height: 1.65; }
.blog-prose ul,
.blog-prose ol { margin: 4px 0 0; padding-left: 1.25em; }
.blog-prose li + li { margin-top: 8px; }
.blog-prose .statement { max-width: none; margin-top: 28px; }
.blog-prose .link-arrow { margin-top: 36px; }

/* Global Network — Part 13 */

.network-hero { border-bottom: 0; }
.network-hero h1 { max-width: 14em; font-size: clamp(32px, 3.6vw, 48px); }
.network-hero .lede + .support,
.network-hero .support + .support { margin-top: 16px; }
.network-model { display: none; }
#network-presence .quiet-panel,
#network-enquire .cta-row { margin-top: 28px; }
.section-sand .community-cards article { background: var(--ivory); }

@media (min-width: 1100px) {
  .network-model {
    display: block;
    position: relative;
    width: min(760px, 100%);
    height: 700px;
    margin: 36px auto 8px;
  }
  .network-model p {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 160px;
    margin: 0;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--ivory);
    font-family: var(--serif);
    font-size: 28px;
    line-height: 1.2;
  }
  .network-model ul { margin: 0; padding: 0; list-style: none; }
  .network-model li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 180px;
    margin: 0;
    padding: 12px 10px;
    background: var(--ivory);
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 18px;
    line-height: 1.25;
    text-align: center;
    transform: translate(-50%, -50%) rotate(calc(var(--i) * 72deg)) translateY(-250px) rotate(calc(var(--i) * -72deg));
  }
}

/* Global Network — design pass */

.network-hero { position: relative; overflow: hidden; padding-bottom: 0; }
.network-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); }
.network-hero .page-hero-media { margin-inline: calc(50% - 50vw); }
.network-hero .page-hero-media img {
  width: 100%;
  height: 320px;
  max-height: none;
  object-fit: cover;
  object-position: 72% 48%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 34%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 34%);
}
.network-place-grid { display: grid; gap: 16px; margin-top: 36px; }
.network-place-grid article {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
}
.network-place-grid figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.network-place-grid picture { display: block; height: 100%; }
.network-place-grid img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.network-place-grid article > div { padding: 18px 16px 20px; }
.network-place-grid h3 { margin: 0 0 8px; font-size: 24px; }
.network-place-grid p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.55; }
.network-roles { margin-top: 28px; }
.network-roles article { text-align: center; border: 1px solid var(--stone); border-radius: 14px; background: var(--white); }
.network-roles .about-icon { margin-inline: auto; }
.network-finale { display: block; min-height: 0; padding-block: 88px; text-align: center; }
.network-finale-media { position: absolute; inset: 0; margin: 0; }
.network-finale-media picture { display: block; height: 100%; }
.network-finale-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.network-finale-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16, 36, 30, 0.45), rgba(12, 28, 24, 0.78));
}
.network-finale-inner { position: relative; z-index: 1; }
.network-finale-inner > * { max-width: 760px; margin-inline: auto; }
.network-finale .eyebrow { justify-content: center; }
.network-finale .cta-row { justify-content: center; }

@media (min-width: 800px) {
  .network-place-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
  .network-hero { padding-block: 48px 80px; }
  .network-hero .page-hero-grid { min-height: 540px; align-items: center; }
  .network-hero .page-hero-grid > div { position: relative; z-index: 1; width: min(560px, 48%); }
  .network-hero .page-hero-media { position: absolute; inset: 0; width: 100%; margin: 0; }
  .network-hero .page-hero-media picture { display: block; height: 100%; }
  .network-hero .page-hero-media img {
    height: 100%;
    max-height: none;
    object-position: 70% 42%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.12) 22%, rgba(0, 0, 0, 0.7) 42%, #000 60%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.12) 22%, rgba(0, 0, 0, 0.7) 42%, #000 60%);
  }
  #global-network-vision .community-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  #global-network-vision .community-cards h3 { font-size: 20px; }
  #global-network-vision .community-cards p { font-size: 14px; }
  #network-relationships .network-roles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .network-finale { padding-block: 120px; }
}

/* About — Part 14 (design pass) */

.about-hero { position: relative; overflow: hidden; border-bottom: 0; }
.about-hero h1 { max-width: 14em; font-size: clamp(32px, 3.5vw, 50px); }
.about-hero .lede + .support { margin-top: 16px; }
.about-hero, .experience-hero { padding-bottom: 0; }
.experience-hero { position: relative; overflow: hidden; }
.about-hero .page-hero-grid, .experience-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); }
.about-hero .page-hero-media, .experience-hero .page-hero-media { margin-inline: calc(50% - 50vw); }
.about-hero .page-hero-media img, .experience-hero .page-hero-media img {
  height: 300px;
  max-height: none;
  object-position: center 55%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 38%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 38%);
}
.about-leaf { display: none; position: absolute; pointer-events: none; }

.about-story { border-block: 1px solid var(--stone); }
.about-story-text .support { margin-top: 16px; }
.about-story-media { position: relative; margin: 32px 20px 0; }
.about-story-media picture { display: block; }
.about-story-media img {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center 40%;
}
.about-story-card {
  position: relative;
  max-width: 300px;
  margin: -56px 16px 0 auto;
  padding: 24px 26px;
  border: 1px solid var(--stone);
  background: var(--ivory);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.3;
}

.about-mission, .about-vision {
  max-width: 18em;
  margin: 28px 0 0;
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.28;
  color: var(--midnight);
}
#mission .about-mission { margin-top: 14px; font-size: clamp(26px, 2.6vw, 36px); }

.about-duo { display: grid; gap: 40px; }
.about-duo > * { min-width: 0; }
.about-duo .support { margin-top: 16px; }
.about-duo .section-note { margin-top: 24px; }
.about-orbit { display: none; }

.about-icon-cards { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.about-icon-cards > * { min-width: 0; text-align: center; }
.about-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 50%;
  color: var(--forest);
  background: var(--sand);
}
.about-icon svg { width: 28px; height: 28px; }
.about-icon-cards h3 { margin: 0 0 10px; color: var(--midnight); font-size: 21px; line-height: 1.25; }
.about-icon-cards p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.6; }
.about-icon-cards .link-arrow { display: inline-flex; margin-top: 14px; font-size: 15px; }

.about-philosophy > li { padding: 24px 18px; border-top: 1px solid var(--stone); }

.about-ecosystem-cards article {
  padding: 28px 20px 24px;
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
}
.about-ecosystem-cards .about-icon { background: var(--ivory); }

.about-pair { display: grid; gap: 56px; }
.about-pair > * { min-width: 0; }
.about-pair .support { margin-top: 16px; }
.about-pair .section-note { margin-top: 24px; }
.about-values { display: grid; gap: 0 28px; margin: 32px 0 0; padding: 0; list-style: none; }
.about-values li { padding: 18px 0; border-top: 1px solid var(--stone); }
.about-values h3 { margin: 0 0 6px; color: var(--midnight); font-size: 20px; }
.about-values p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.6; }

.about-finale { position: relative; overflow: hidden; }
.about-finale .container { position: relative; z-index: 1; text-align: center; }
.about-finale h2 { max-width: 20em; margin-inline: auto; }
.about-finale .finale-copy { max-width: 720px; margin-inline: auto; }
.about-finale .finale-copy p + p { margin-top: 12px; }
.about-finale .section-note { color: rgba(247, 244, 237, 0.78); }
.about-icon-cards .link-arrow { justify-content: center; text-align: center; }

#why-we-exist .community-cards + .reading-block,
#approach .community-cards + .reading-block,
#long-term-vision .cta-row,
#founder-and-institution .cta-row { margin-top: 28px; }
#final-invitation .section-note { max-width: 640px; margin-inline: auto; }

@media (min-width: 700px) {
  .about-icon-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .about-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; }
  .about-pair > * + * { padding-left: 56px; border-left: 1px solid var(--stone); }
  .about-pair > :first-child { padding-right: 56px; }
}

@media (min-width: 1100px) {
  .about-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .about-hero, .experience-hero { padding-block: 56px 96px; }
  .about-hero .page-hero-grid, .experience-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); min-height: 500px; }
  .about-hero .page-hero-grid > div, .experience-hero .page-hero-grid > div { position: relative; z-index: 1; width: calc(47% - 24px); }
  .about-hero .page-hero-media, .experience-hero .page-hero-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 58%;
    margin: 0;
  }
  .about-hero .page-hero-media picture, .experience-hero .page-hero-media picture { height: 100%; }
  .about-hero .page-hero-media img, .experience-hero .page-hero-media img {
    height: 100%;
    object-position: center 60%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.08) 10%, rgba(0, 0, 0, 0.4) 24%, rgba(0, 0, 0, 0.8) 40%, #000 56%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.08) 10%, rgba(0, 0, 0, 0.4) 24%, rgba(0, 0, 0, 0.8) 40%, #000 56%);
  }

  .about-story { position: relative; padding-block: 88px; }
  .about-story-text { width: calc(50% - 48px); }
  .about-story-media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 46%;
    margin: 0;
  }
  .about-story-media picture { height: 100%; }
  .about-story-media img { height: 100%; }
  .about-story-card {
    position: absolute;
    top: 64px;
    right: 48px;
    width: 300px;
    margin: 0;
    padding: 30px 32px;
    font-size: 26px;
  }

  .about-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
  .about-duo-wide { grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); align-items: start; }

  .about-philosophy { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .about-philosophy > li { border-top: 0; border-left: 1px solid var(--stone); }
  .about-philosophy > li:nth-child(n + 4) { border-top: 1px solid var(--stone); }

  .about-ecosystem-cards { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .about-ecosystem-cards > :nth-child(-n + 3) { grid-column: span 4; }
  .about-ecosystem-cards > :nth-child(n + 4) { grid-column: span 3; padding-inline: 14px; }
  .about-ecosystem-cards > :nth-child(n + 4) h3 { font-size: 19px; }

  .about-orbit {
    display: block;
    position: relative;
    width: 560px;
    max-width: 100%;
    height: 580px;
    margin-inline: auto;
  }
  .about-orbit::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 380px;
    height: 380px;
    border: 1.5px dashed var(--earth);
    border-radius: 50%;
    opacity: 0.45;
    transform: translate(-50%, -50%);
  }
  .about-orbit-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 168px;
    height: 168px;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 10px;
    padding: 18px;
    border-radius: 50%;
    background: var(--forest);
    color: var(--ivory);
    text-align: center;
    transform: translate(-50%, -50%);
  }
  .about-orbit-core svg { width: 36px; height: 36px; color: var(--gold); }
  .about-orbit-core span { font-family: var(--serif); font-size: 20px; line-height: 1.2; }
  .about-orbit ul { margin: 0; padding: 0; list-style: none; }
  .about-orbit li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 150px;
    display: grid;
    justify-items: center;
    text-align: center;
    transform-origin: 50% 30px;
    transform: translate(-50%, -30px) rotate(calc(var(--i) * 72deg)) translateY(-190px) rotate(calc(var(--i) * -72deg));
  }
  .about-orbit-icon {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border: 1px solid var(--stone);
    border-radius: 50%;
    background: var(--ivory);
    color: var(--forest);
  }
  .about-orbit-icon svg { width: 28px; height: 28px; }
  .about-orbit strong {
    margin-top: 8px;
    padding: 0 6px;
    background: var(--sand);
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
  }
  .about-orbit small {
    margin-top: 4px;
    padding: 0 6px;
    background: var(--sand);
    color: var(--charcoal);
    font-size: 13px;
    line-height: 1.4;
  }

  .about-leaf { display: block; width: 110px; height: 300px; }
  .about-leaf-left, .about-leaf-right { bottom: -12px; color: var(--gold); opacity: 0.4; }
  .about-leaf-left { left: 24px; transform: scaleX(-1); }
  .about-leaf-right { right: 24px; }
}

/* Home — design pass */

.home-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: 420px; margin: 36px 0 0; padding: 0; list-style: none; }
.home-pillars li {
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--midnight);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
}
.home-pillar-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid var(--stone);
  border-radius: 50%;
  background: var(--white);
  color: var(--forest);
}
.home-pillar-icon svg { width: 24px; height: 24px; }

.home-question .split-media { border-radius: 14px; }
.home-institution .approach-kicker {
  max-width: none;
  margin: 64px 0 0;
  color: #7c4e30;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-transform: uppercase;
}
.home-journey .journey h3 { font-size: 16px; overflow-wrap: normal; word-break: normal; hyphens: none; }

.home-intro { display: grid; gap: 28px; }
.home-intro .support { margin-top: 16px; }
.home-intro .pull { margin: 0; padding-left: 28px; border-left: 2px solid var(--copper); }

.home-perspectives { display: grid; gap: 16px; margin-top: 20px; }
.home-photo-card { overflow: hidden; border-radius: 14px; background: var(--white); }
.home-photo-card-media { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.home-photo-card-media picture { display: block; height: 100%; }
.home-photo-card-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.home-photo-card-body { padding: 20px 22px 24px; }
.home-photo-card-body h3 { margin: 0 0 10px; color: var(--midnight); font-size: 24px; }
.home-photo-card-body p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.6; }

.home-journey-grid { display: grid; gap: 40px; }
.home-journey-grid > * { min-width: 0; }
.home-journey-media { margin: 0; overflow: hidden; border-radius: 14px; background: var(--stone); }
.home-journey-media picture { display: block; height: 100%; }
.home-journey-media img { width: 100%; height: 260px; object-fit: cover; object-position: 82% center; }

.home-hos-grid { display: grid; gap: 32px; }
.home-hos-grid > * { min-width: 0; }
.home-hos-text .support { margin-top: 16px; }
.home-hos-orbit { display: none; }
.home-hos-note.section-note {
  margin: 0;
  padding-left: 20px;
  border-left: 1px solid var(--stone);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 19px;
  line-height: 1.4;
}

.home-paths-grid { display: grid; gap: 20px; }
.home-path { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 14px; background: var(--white); }
.home-path-media { margin: 0; aspect-ratio: 16 / 8; overflow: hidden; background: var(--stone); }
.home-path-media picture { display: block; height: 100%; }
.home-path-media img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.home-path-body { padding: 26px 26px 22px; }
.home-path-body h2 { margin-top: 4px; font-size: clamp(26px, 2.4vw, 32px); }
.home-path-body .support { margin-top: 12px; font-size: 16px; }
.home-path-body .format-list { margin-top: 16px; }
.home-path-note { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--stone); }
.home-path-note h3 { margin: 0 0 6px; color: var(--midnight); font-size: 19px; }
.home-path-note p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.6; }
.home-path-note .pair-note { margin-top: 8px; color: var(--earth); }
.home-path-body > .link-arrow { margin-top: 16px; }
.home-path-note .link-arrow { margin-top: 6px; }

.home-founder .portrait-placeholder { min-height: 380px; border-radius: 14px; }

.home-finale .finale-copy { display: block; max-width: 680px; margin-inline: auto; }
.home-finale .finale-copy p { display: inline; }

@media (min-width: 900px) {
  .home-intro { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 56px; align-items: center; }
  .home-perspectives { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-paths-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-founder .founder-grid { grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr); }
}

@media (min-width: 901px) {
  .home-hero {
    position: relative;
    display: block;
    max-width: none;
    min-height: 660px;
    overflow: hidden;
  }
  .home-hero .hero-copy {
    position: relative;
    z-index: 1;
    width: min(var(--content), calc(100% - 40px));
    margin-inline: auto;
    padding: 88px 0 72px;
  }
  .home-hero .hero-copy > * { max-width: 520px; }
  .home-hero .hero-media { position: absolute; top: 0; right: 0; bottom: 0; width: 62%; min-height: 0; }
  .home-hero .hero-media img { object-position: 72% 42%; }
  .home-hero .hero-media::after {
    background: linear-gradient(90deg, var(--ivory) 0%, rgba(247, 244, 237, 0.9) 18%, rgba(247, 244, 237, 0.4) 40%, rgba(247, 244, 237, 0) 60%);
  }
}

@media (min-width: 1000px) {
  .home-perspectives { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
  .home-journey-grid { grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: stretch; }
  .home-journey-media img { height: 100%; min-height: 460px; }
}

@media (min-width: 1280px) {
  .home-hos-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr) minmax(0, 0.55fr); gap: 32px; align-items: center; }
  .home-hos-figure .hos-list {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .home-hos-orbit {
    display: block;
    position: relative;
    width: 560px;
    max-width: 100%;
    height: 560px;
    margin-inline: auto;
  }
  .home-hos-orbit::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 410px;
    height: 410px;
    border: 1.5px dashed var(--stone);
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }
  .home-hos-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 104px;
    height: 104px;
    display: grid;
    place-items: center;
    border: 1px solid var(--forest);
    border-radius: 50%;
    background: var(--ivory);
    color: var(--forest);
    transform: translate(-50%, -50%);
  }
  .home-hos-core svg { width: 48px; height: 48px; }
  .home-hos-orbit ul { margin: 0; padding: 0; list-style: none; }
  .home-hos-orbit li {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 120px;
    display: grid;
    justify-items: center;
    text-align: center;
    transform-origin: 50% 24px;
    transform: translate(-50%, -24px) rotate(calc(var(--i) * 40deg)) translateY(-205px) rotate(calc(var(--i) * -40deg));
  }
  .home-hos-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--white);
  }
  .home-hos-icon svg { width: 24px; height: 24px; }
  .tone-0 .home-hos-icon { background: var(--forest); }
  .tone-1 .home-hos-icon { background: var(--copper); }
  .tone-2 .home-hos-icon { background: var(--sage); }
  .tone-3 .home-hos-icon { background: var(--midnight); }
  .tone-4 .home-hos-icon { background: var(--earth); }
  .home-hos-orbit strong {
    margin-top: 6px;
    padding: 0 4px;
    background: var(--white);
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
  }
  .home-hos-orbit small { padding: 0 4px; background: var(--white); color: var(--earth); font-size: 12px; line-height: 1.35; }
}

/* Experiences — design pass */

.exp-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.exp-steps li {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 22px 12px;
  border-top: 1px solid var(--stone);
  color: var(--midnight);
  font-family: var(--serif);
  font-size: 21px;
  text-align: center;
}
.exp-steps li:last-child { grid-column: 1 / -1; }
.exp-steps .about-icon { margin-bottom: 8px; }
.exp-step-index { color: #7c4e30; font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; }
#experiences-why .section-note { margin-top: 24px; }

.exp-formats-head { display: grid; gap: 16px; margin-bottom: 32px; }
.exp-formats-head .support { margin: 0; }
.exp-rows { display: grid; gap: 20px; }
.exp-row {
  display: grid;
  gap: 24px;
  min-width: 0;
  padding: 28px 24px;
  border-radius: 14px;
  background: var(--white);
}
.exp-row > * { min-width: 0; }
.exp-row-text h3 { margin: 6px 0 12px; color: var(--midnight); font-size: clamp(28px, 3vw, 38px); }
.exp-row-text p { color: var(--charcoal); font-size: 16px; line-height: 1.65; }
.exp-row-text .section-note { margin-top: 14px; }
.exp-row-text .cta-row { margin-top: 22px; }
.exp-row-media { margin: 0; overflow: hidden; border-radius: 14px; background: var(--stone); }
.exp-row-media picture { display: block; height: 100%; }
.exp-row-media img { width: 100%; height: 240px; object-fit: cover; object-position: var(--pos, center); }
.exp-row-list { align-self: center; margin: 0; padding: 6px 20px; list-style: none; border-radius: 14px; background: var(--ivory); }
.exp-row-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--stone);
  color: var(--charcoal);
  font-size: 15px;
  line-height: 1.5;
}
.exp-row-list li:first-child { border-top: 0; }
.exp-row-list li::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 7px;
  border: 1.5px solid var(--copper);
  border-radius: 50%;
}

@media (min-width: 600px) {
  .exp-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .exp-steps li { border-top: 0; border-left: 1px solid var(--stone); }
  .exp-steps li:first-child { border-left: 0; }
  .exp-steps li:last-child { grid-column: auto; }
}

@media (min-width: 1000px) {
  .exp-formats-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: end; }
}

@media (min-width: 1100px) {
  #experiences-why .about-duo-wide { align-items: center; }
  .exp-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 0.72fr); gap: 32px; align-items: center; padding: 32px; }
  .exp-row-media img { height: 320px; }
}

/* Human Operating System — design pass */

.hos-hero h1 { max-width: 11em; }
.hos-hero .lede { margin-top: 18px; color: var(--midnight); font-family: var(--serif); font-size: clamp(22px, 2vw, 28px); line-height: 1.35; }
.hos-figure { display: none; }

.hos-arch, .hos-whole, .hos-apply { position: relative; overflow: hidden; }
.hos-arch-grid, .hos-apply-grid, .hos-principle-head { display: grid; gap: 28px; }
.hos-arch-copy, .hos-card-wrap, .hos-principle-head > * { min-width: 0; }
.hos-arch .hos-orbit { margin-top: 8px; }
.hos-arch .hos-node-icon {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--ivory);
  color: var(--forest);
  vertical-align: middle;
}
.hos-arch .hos-node-icon svg { width: 18px; height: 18px; }
.hos-card-wrap { position: relative; }
.hos-nav { display: none; }
.hos-panel { border-radius: 16px; }
.hos-panel .domain-index { margin-bottom: 4px; }
.hos-panel .stage-question { margin-top: 12px; }

.hos-formula .formula-line { max-width: 16em; margin-top: 16px; color: var(--midnight); font-size: clamp(22px, 2.2vw, 30px); }
.hos-formula .formula-card {
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
}
.hos-formula .formula-card h3 { margin-top: 8px; font-size: clamp(22px, 2vw, 28px); }
.hos-formula .section-note { color: var(--earth); }

.hos-whole .about-duo { align-items: center; }
.hos-whole .support + .support { margin-top: 14px; }
.hos-whole .statement { margin-top: 18px; color: var(--ivory); font-family: var(--serif); font-size: clamp(20px, 2vw, 26px); line-height: 1.35; }
.hos-quote {
  position: relative;
  margin: 28px 0 0;
  padding: 22px 22px 22px 58px;
  border-radius: 14px;
  background: rgba(16, 40, 32, 0.45);
}
.hos-quote p { margin: 0; color: var(--ivory); font-family: var(--serif); font-size: clamp(22px, 2.2vw, 28px); line-height: 1.35; }
.hos-quote-mark { position: absolute; left: 18px; top: 6px; color: var(--gold); font-family: var(--serif); font-size: 48px; line-height: 1; }
.hos-whole-media { margin: 8px 0 0; overflow: hidden; border-radius: 16px; background: var(--forest-deep); }
.hos-whole-media picture { display: block; }
.hos-whole-media img { width: 100%; height: 280px; object-fit: cover; object-position: center 55%; }

.hos-principle-head .support { margin-top: 0; }
.hos-principle-head .support + .support { margin-top: 14px; }
.hos-principles .principle-grid { margin-top: 36px; }
.hos-principles .approach-card {
  border: 1px solid var(--stone);
  border-top: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
  padding: 22px 18px 20px;
}
.hos-principles .about-icon { margin: 0 0 14px; background: var(--ivory); }
.hos-principles .approach-card h3 { margin-top: 0; }
.hos-principles .approach-card p { font-size: 15px; }
.hos-principles .principle-question { font-size: 16px; }

.hos-apply-grid { margin-bottom: 36px; }
.hos-apply .step-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; margin: 0; border-top: 0; }
.hos-apply .step-track li { padding: 0; color: var(--gold); font-size: 16px; font-weight: 500; text-align: center; }
.hos-apply .step-track .about-icon {
  display: grid;
  width: 72px;
  height: 72px;
  margin: 0 auto;
  background: transparent;
  color: var(--gold);
  border: 1px solid var(--gold);
}
.hos-apply .step-track .about-icon svg { width: 30px; height: 30px; }
.hos-apply .step-track li > span:last-child {
  display: block;
  margin: 12px 0 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
}
.hos-apply .stage-detail { max-width: none; border-left-color: rgba(247, 244, 237, 0.28); }
.hos-apply .stage-detail h3,
.hos-apply .stage-question { color: var(--ivory); }
.hos-apply .stage-detail p { color: var(--sand); }
.hos-apply .stage-detail li::before { background: var(--forest); border-color: var(--gold); }
.hos-apply .pathway-sequence { color: var(--ivory); }
.hos-apply .journey-index { color: var(--gold); }

@media (min-width: 700px) {
  .hos-apply .step-track { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .hos-principle-head { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 48px; align-items: end; }
  .hos-formula .formula-line { max-width: 14em; }
}

@media (min-width: 1100px) {
  .hos-hero .page-hero-grid { align-items: center; }
  .hos-figure { display: block; }
  .hos-hero-orbit {
    position: relative;
    width: min(470px, 100%);
    height: 470px;
    margin-inline: auto;
  }
  .hos-hero-orbit::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 312px;
    height: 312px;
    border: 1.5px dashed var(--stone);
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }
  .hos-hero-core {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    width: 108px;
    height: 108px;
    display: grid;
    place-items: center;
    border: 1px solid var(--stone);
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    transform: translate(-50%, -50%);
  }
  .hos-hero-core svg { width: 42px; height: 42px; }
  .hos-hero-orbit ul { margin: 0; padding: 0; list-style: none; }
  .hos-hero-orbit li {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 90px;
    display: grid;
    justify-items: center;
    text-align: center;
    transform: translate(-50%, -22px) rotate(calc(var(--i) * 40deg)) translateY(-178px) rotate(calc(var(--i) * -40deg));
  }
  .hos-hero-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border: 1px solid var(--stone);
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
  }
  .hos-hero-icon svg { width: 24px; height: 24px; }
  .hos-hero-orbit strong {
    margin-top: 6px;
    color: var(--midnight);
    font-family: var(--serif);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.15;
  }

  .hos-arch > .container { width: min(1320px, calc(100% - 40px)); }
  .hos-arch-grid { grid-template-columns: minmax(0, 0.9fr) 420px minmax(280px, 0.82fr); gap: 28px; align-items: center; }
  .hos-arch .hos-orbit {
    position: relative;
    display: block;
    width: 420px;
    height: 420px;
    margin: 0 auto;
  }
  .hos-arch .hos-orbit::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 276px;
    height: 276px;
    border: 1.5px dashed rgba(233, 225, 211, 0.55);
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }
  .hos-arch .hos-core {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    width: 92px;
    height: 92px;
    margin: 0;
    display: grid;
    place-items: center;
    border: 1px solid rgba(233, 225, 211, 0.4);
    border-radius: 50%;
    color: var(--ivory);
    font-family: var(--serif);
    font-size: 16px;
    line-height: 1.15;
    text-align: center;
    transform: translate(-50%, -50%);
  }
  .hos-arch .hos-orbit button {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 88px;
    min-height: 0;
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--ivory);
    font-family: var(--serif);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.15;
    text-align: center;
    transform: translate(-50%, -16px) rotate(calc(var(--i) * 40deg)) translateY(-168px) rotate(calc(var(--i) * -40deg));
  }
  .hos-arch .hos-orbit button[aria-pressed="true"] { background: transparent; border: 0; color: var(--ivory); text-decoration: none; }
  .hos-arch .hos-orbit button[aria-pressed="true"]::after { content: none; }
  .hos-arch .hos-node-icon { width: 46px; height: 46px; margin: 0; }
  .hos-arch .hos-orbit button[aria-pressed="true"] .hos-node-icon { box-shadow: 0 0 0 2px var(--gold); }
  .hos-nav {
    position: absolute;
    top: 18px;
    z-index: 2;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--stone);
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    cursor: pointer;
  }
  .hos-nav svg { width: 16px; height: 16px; }
  .hos-nav-prev { left: auto; right: 64px; }
  .hos-nav-prev svg { transform: scaleX(-1); }
  .hos-nav-next { right: 16px; }
  .hos-card-wrap .hos-panel { min-height: 100%; padding: 28px 118px 28px 28px; }
  .hos-whole-media img { height: 460px; }
  .hos-apply-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: 48px; align-items: center; }
}

@media (min-width: 1280px) {
  .hos-principles .principle-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .hos-principles .principle-grid .approach-card:last-child { grid-column: auto; max-width: none; }
  .hos-formula .formula-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: no-preference) {
  .hos-hero-orbit::before,
  .hos-arch .hos-orbit::before { animation: csl-ring-spin 90s linear infinite; }
  .hos-figure.is-animated .hos-hero-core,
  .hos-orbit.is-animated .hos-core { animation: csl-fade 0.6s ease both, csl-pulse 3.4s ease-out 1.2s infinite; }
  .hos-figure.is-animated .hos-hero-icon,
  .hos-orbit.is-animated .hos-node-icon {
    animation: csl-pop 0.5s cubic-bezier(0.2, 0.8, 0.3, 1.2) backwards;
    animation-delay: calc(var(--i) * 90ms + 200ms);
  }
  .hos-figure.is-animated .hos-hero-orbit strong,
  .hos-orbit.is-animated button > span:last-child {
    animation: csl-rise 0.45s ease both;
    animation-delay: calc(var(--i) * 90ms + 360ms);
  }
  .js .hos-figure:not(.is-animated) .hos-hero-core,
  .js .hos-figure:not(.is-animated) .hos-hero-icon,
  .js .hos-figure:not(.is-animated) .hos-hero-orbit strong,
  .js .hos-orbit:not(.is-animated) .hos-core,
  .js .hos-orbit:not(.is-animated) .hos-node-icon { opacity: 0; }
}

/* Community — design pass */

.community-hero { position: relative; overflow: hidden; }
.community-hero .page-hero-media img { border-radius: 14px; }
.community-leaf-hero { display: none !important; }

.community-tiles { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.community-tiles > * {
  min-width: 0;
  padding: 26px 24px 22px;
  border-top: 2px solid var(--copper);
  background: var(--white);
}
.section-white .community-tiles > * { background: var(--ivory); }
.community-tile-icon { display: block; width: 38px; height: 38px; margin: -4px 0 12px -4px; color: var(--forest); }
.community-tile-icon svg { width: 38px; height: 38px; }
.community-orbit-art strong { background: var(--white); }
.community-orbit-art .about-orbit-icon svg { width: 32px; height: 32px; }
.community-tiles h3 { margin: 0 0 10px; color: var(--midnight); font-size: 24px; }
.community-tiles p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.6; }
.community-tiles .community-for { margin-bottom: 8px; color: var(--earth); font-weight: 700; }
.community-tiles .link-arrow { display: inline-flex; margin-top: 14px; }
.community-paths { margin-top: 28px; }
.community-orbit-art .about-orbit-core svg { color: var(--ivory); }
.community-orbit-art .about-orbit-core span { font-family: var(--sans); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }

@media (min-width: 700px) {
  .community-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .community-tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .community-tiles > :nth-child(-n + 3) { grid-column: span 2; }
  .community-tiles > :nth-child(n + 4) { grid-column: span 3; }
}

@media (min-width: 1360px) {
  .community-leaf-hero {
    display: block !important;
    top: 60px;
    right: 0;
    width: 120px;
    height: 340px;
    color: var(--copper);
    opacity: 0.35;
  }
}

/* Human Transformation — closing invitation (design pass) */

.ht-finale { display: block; min-height: 0; padding-block: 88px; text-align: center; }
.ht-finale-media { position: absolute; inset: 0; margin: 0; }
.ht-finale-media picture { display: block; height: 100%; }
.ht-finale-media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 60%; }
.ht-finale-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16, 36, 30, 0.42) 0%, rgba(16, 36, 30, 0.62) 42%, rgba(12, 28, 24, 0.78) 100%);
}
.ht-finale-orbit { display: none; }
.ht-finale-inner { position: relative; z-index: 1; }
.ht-finale-inner > * { max-width: 720px; margin-inline: auto; }
.ht-finale .eyebrow { justify-content: center; }
.ht-finale h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.1; }
.ht-finale .finale-copy { gap: 0; }
.ht-finale .finale-copy p + p { margin-top: 14px; }
.ht-finale .cta-row { justify-content: center; margin-top: 32px; }

@media (min-width: 1100px) {
  .ht-finale { padding-block: 120px; }
  .ht-finale-media { left: 0; width: 100%; }
  .ht-finale-media img { object-position: center 48%; }
  .ht-finale-media::after {
    background: linear-gradient(180deg, rgba(16, 36, 30, 0.28) 0%, rgba(16, 36, 30, 0.55) 46%, rgba(12, 28, 24, 0.74) 100%);
  }
  .ht-finale-orbit { display: none; }
}

/* Human Transformation — design pass */

.ht-hero { position: relative; overflow: hidden; border-bottom: 0; padding-bottom: 0; }
.ht-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); }
.ht-hero .page-hero-media { margin-inline: calc(50% - 50vw); }
.ht-hero .page-hero-media img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: 74% 58%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 32%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 32%);
}
.ht-hero h1 { max-width: 14em; }

.ht-framework { display: grid; gap: 8px; }
.ht-framework .section-head { margin-bottom: 0; }
.ht-framework .status-note {
  max-width: 38em;
  margin: 18px 0 0;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 14px;
  line-height: 1.55;
}
.ht-arc { display: none; }
.ht-stage-cards { list-style: none; display: grid; gap: 16px; margin: 48px 0 0; padding: 36px 0 0; border-top: 1px solid var(--stone); }
.ht-stage-cards > li { min-width: 0; overflow: hidden; border: 1px solid var(--stone); border-radius: 14px; background: var(--white); }
.ht-stage-cards figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.ht-stage-cards picture { display: block; height: 100%; }
.ht-stage-cards img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.ht-stage-cards li > div { padding: 14px 14px 16px; }
.ht-stage-cards h3 { margin: 2px 0 8px; font-size: 20px; }
.ht-stage-cards .stage-question { margin: 0 0 8px; font-size: 16px; }
.ht-stage-cards li > div > p:last-child { margin: 0; color: var(--charcoal); font-size: 14px; line-height: 1.5; }

.ht-nonlinear { padding-block: 0; }
@media (max-width: 999px) {
  .ht-nonlinear > .container { width: 100%; max-width: none; padding-inline: 0; }
  .ht-nonlinear .about-duo > div { padding-inline: 20px; }
  .ht-nonlinear-media { width: auto; margin-inline: 0; }
}
.ht-nonlinear-media { margin: 0; overflow: hidden; border-radius: 0; background: var(--stone); }
.ht-nonlinear-media picture { display: block; height: 100%; }
.ht-nonlinear-media img { width: 100%; height: 320px; object-fit: cover; object-position: center 58%; }
.ht-nonlinear .about-duo > div { padding-block: 40px 48px; }
.ht-nonlinear .statement { margin-top: 18px; }

.ht-lens-grid { display: grid; gap: 16px; margin-top: 28px; }
.ht-lens { min-width: 0; overflow: hidden; border: 1px solid var(--stone); border-radius: 14px; background: var(--white); }
.ht-lens figure { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.ht-lens picture { display: block; height: 100%; }
.ht-lens img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, center); }
.ht-lens > div { padding: 18px 16px 20px; }
.ht-lens .about-icon { margin: 0 0 12px; }
.ht-lens h3 { margin: 0 0 8px; font-size: 22px; }
.ht-lens p { margin: 0; color: var(--charcoal); font-size: 15px; line-height: 1.55; }
.ht-lens .link-arrow { margin-top: 12px; }

@media (min-width: 700px) {
  .ht-stage-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ht-lens-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .ht-framework { grid-template-columns: minmax(0, 0.92fr) minmax(280px, 1.08fr); gap: 24px 36px; align-items: center; }
  .ht-framework .section-head { max-width: none; }
  .ht-arc { display: block; position: relative; min-height: 340px; margin: 0; color: var(--sage); }
  .ht-arc > svg { position: absolute; left: 0; right: 0; top: 36px; width: 100%; height: 170px; }
  .ht-arc ol {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin: 0;
    padding: 8px 0 0;
    list-style: none;
  }
  .ht-arc li { display: grid; justify-items: center; gap: 4px; text-align: center; }
  .ht-arc li:nth-child(1) { transform: translateY(86px); }
  .ht-arc li:nth-child(2) { transform: translateY(40px); }
  .ht-arc li:nth-child(3) { transform: translateY(0); }
  .ht-arc li:nth-child(4) { transform: translateY(8px); }
  .ht-arc li:nth-child(5) { transform: translateY(28px); }
  .ht-arc li:nth-child(6) { transform: translateY(58px); }
  .ht-arc li:nth-child(7) { transform: translateY(92px); }
  .ht-arc li > .ht-arc-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--forest);
    color: var(--ivory);
  }
  .ht-arc li:nth-child(2) > .ht-arc-icon,
  .ht-arc li:nth-child(4) > .ht-arc-icon { background: var(--sage); }
  .ht-arc li:nth-child(3) > .ht-arc-icon,
  .ht-arc li:nth-child(5) > .ht-arc-icon { background: var(--gold); color: var(--midnight); }
  .ht-arc li:nth-child(6) > .ht-arc-icon { background: var(--copper); }
  .ht-arc li:nth-child(7) > .ht-arc-icon { background: var(--earth); }
  .ht-arc li > .ht-arc-icon svg { position: static; top: auto; left: auto; width: 28px; height: 28px; overflow: visible; }
  .ht-arc li > .ht-arc-icon svg * { stroke: currentColor; stroke-width: 2; fill: none; }
  .ht-arc-num { color: var(--copper-text); font-size: 11px; font-weight: 700; letter-spacing: 0.12em; }
  .ht-arc strong { color: var(--midnight); font-family: var(--serif); font-size: 16px; font-weight: 500; line-height: 1.2; }
  .ht-nonlinear > .container { width: 100%; max-width: none; padding-inline: 0; }
  .ht-nonlinear .about-duo { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: 0; align-items: stretch; }
  .ht-nonlinear .about-duo > div { padding: 72px 64px; }
  .ht-nonlinear-media { position: relative; min-height: 100%; }
  .ht-nonlinear-media picture { position: absolute; inset: 0; }
  .ht-nonlinear-media img { height: 100%; min-height: 420px; }
}

@media (min-width: 1100px) {
  .ht-hero { padding-block: 56px 88px; }
  .ht-hero .page-hero-grid { min-height: 560px; align-items: center; }
  .ht-hero .page-hero-grid > div { position: relative; z-index: 1; width: min(560px, 46%); }
  .ht-hero h1 { font-size: clamp(40px, 3.6vw, 58px); }
  .ht-hero .page-hero-media { position: absolute; inset: 0; width: 100%; margin: 0; }
  .ht-hero .page-hero-media picture { display: block; height: 100%; }
  .ht-hero .page-hero-media img {
    height: 100%;
    max-height: none;
    object-position: 72% 42%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.08) 26%, rgba(0, 0, 0, 0.62) 46%, #000 64%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.08) 26%, rgba(0, 0, 0, 0.62) 46%, #000 64%);
  }
  #transformation-framework > .container,
  #curesoullife-perspective > .container { width: min(1320px, calc(100% - 40px)); }
  .ht-lens-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1200px) {
  .ht-stage-cards { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 12px; }
  .ht-stage-cards h3 { font-size: 18px; }
  .ht-stage-cards .stage-question { font-size: 15px; }
  .ht-stage-cards li > div { padding: 12px 12px 14px; }
  .ht-stage-cards li > div > p:last-child { font-size: 13px; }
}

/* Knowledge — design pass */

.knowledge-hero { position: relative; overflow: hidden; padding-bottom: 0; }
.knowledge-hero .page-hero-grid { grid-template-columns: minmax(0, 1fr); }
.knowledge-hero .page-hero-media { margin-inline: calc(50% - 50vw); }
.knowledge-hero .page-hero-media img {
  width: 100%;
  height: 320px;
  max-height: none;
  object-position: center 42%;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 34%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 34%);
}
.knowledge-context .learn-sequence { margin-top: 40px; }
.knowledge-context .section-note { max-width: 760px; }
#knowledge-domains .domain-card,
#knowledge-formats .format-grid article,
#knowledge-levels .approach-card {
  border: 1px solid var(--stone);
  border-radius: 14px;
}
#knowledge-domains .domain-card { padding: 28px 24px 22px; background: var(--white); }
#knowledge-domains .domain-card h3 { font-size: clamp(26px, 2vw, 32px); }
#knowledge-formats .format-grid article { padding: 26px 22px 22px; border-top: 1px solid var(--stone); }
#knowledge-formats .about-icon { margin: 0 0 16px; }
#knowledge-levels .approach-card { background: var(--ivory); }

@media (min-width: 800px) {
  .knowledge-context .learn-sequence { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
  .knowledge-context .learn-sequence li {
    border-top: 0;
    border-left: 1px solid var(--stone);
    padding: 4px 14px 0;
    text-align: center;
  }
  .knowledge-context .learn-sequence li:first-child { border-left: 0; }
}

@media (min-width: 1000px) {
  #knowledge-levels .level-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1100px) {
  .knowledge-hero { padding-block: 28px 72px; }
  .knowledge-hero .page-hero-grid { min-height: 520px; align-items: center; }
  .knowledge-hero .page-hero-grid > div { position: relative; z-index: 1; width: min(560px, 48%); }
  .knowledge-hero .page-hero-media { position: absolute; top: 0; right: 0; bottom: 0; width: 54%; margin: 0; }
  .knowledge-hero .page-hero-media picture { height: 100%; }
  .knowledge-hero .page-hero-media img {
    height: 100%;
    max-height: none;
    object-position: center 40%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.2) 14%, #000 40%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0, 0, 0, 0.2) 14%, #000 40%);
  }
}

/* Founder — Part 15 */

.founder-hero { border-bottom: 0; padding-bottom: 28px; }
.founder-hero h1 { max-width: none; }
.founder-role { margin-top: 10px; font-weight: 700; }
.founder-hero .lede { margin-top: 18px; }
.founder-hero .support { margin-top: 16px; }
.founder-timeline, .founder-questions, .founder-flow { list-style: none; margin: 28px 0 0; padding: 0; }
.founder-timeline { display: grid; gap: 16px; }
.founder-timeline li { background: var(--sand); padding: 24px 20px 18px; }
.founder-timeline h3, .founder-flow h3 { margin: 8px 0 10px; color: var(--midnight); }
.founder-timeline p, .founder-flow p { margin-top: 8px; color: var(--charcoal); }
.founder-when { margin: 0; color: #7c4e30; font-size: 13px; font-weight: 700; letter-spacing: 0.12em; }
.founder-questions { display: grid; gap: 22px; }
.founder-questions li { max-width: 18em; color: var(--midnight); font-family: var(--serif); font-size: clamp(24px, 2.6vw, 32px); line-height: 1.3; }
.founder-questions + .reading-block { margin-top: 28px; }
.founder-sequence { margin: 28px 0 0; color: var(--midnight); font-family: var(--serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.4; }
.founder-statement { max-width: 18em; margin: 32px 0 0; padding: 0; border: 0; }
.founder-statement p { margin: 0; color: var(--midnight); font-family: var(--serif); font-size: clamp(26px, 3vw, 36px); line-height: 1.3; }
.founder-statement footer { margin-top: 16px; color: var(--earth); font-weight: 700; }
.founder-flow { max-width: 760px; }
.founder-flow li { padding: 0 0 24px 24px; border-left: 1px solid var(--copper); }
.founder-flow li:last-child { padding-bottom: 0; border-left-color: transparent; }
.founder-close-line { max-width: 20em; margin-top: 28px; color: var(--midnight); font-family: var(--serif); font-size: clamp(24px, 2.6vw, 32px); line-height: 1.35; }
#founder-decoding .cta-row, #founder-alchemy .cta-row, #founder-why .cta-row { margin-top: 28px; }
#founder-closing .founder-enquiry { margin-top: 18px; }
#founder-closing .link-arrow { color: var(--ivory); }
.founder-shift { margin-top: 28px; }
.founder-shift .approach-card { background: var(--white); }
.founder-pair { display: grid; gap: 16px; margin-top: 28px; }
.founder-pair article { min-width: 0; background: var(--white); padding: 24px 22px 18px; }
.founder-pair article:first-child { border-top: 2px solid var(--copper); }
.founder-pair article:last-child { border-top: 2px solid var(--forest); }
.founder-pair h3 { margin-bottom: 12px; color: var(--midnight); }
.founder-pair ul { margin: 0; padding-left: 1.15em; }
.founder-pair li { margin-top: 8px; color: var(--charcoal); }
.section-forest .founder-close-line,
.section-midnight .founder-close-line { color: var(--ivory); }
#founder-why .cta-row,
#founder-role .cta-row,
#founder-alchemy .cta-row,
#founder-decoding .cta-row { margin-top: 28px; }
@media (min-width: 800px) {
  .founder-pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* Contact — Part 16 */

.contact-hero { border-bottom: 0; }
.contact-hero h1 { max-width: 14em; }
.enquiry-grid { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.enquiry-card {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 16px 18px;
  border: 1px solid var(--stone);
  border-radius: 14px;
  background: var(--white);
  color: var(--charcoal);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.enquiry-card span { display: block; color: var(--midnight); font-weight: 700; }
.enquiry-card small { display: block; margin-top: 6px; font-size: 15px; line-height: 1.5; }
.enquiry-card[aria-pressed="true"] { border-color: var(--forest); background: var(--sand); box-shadow: inset 3px 0 0 var(--forest); }
.enquiry-form { margin-top: 28px; }
.field { margin-top: 18px; }
.field label { display: block; margin-bottom: 8px; color: var(--midnight); font-weight: 700; }
.req, .opt { color: var(--earth); font-size: 13px; font-weight: 700; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #8d867c;
  border-radius: 8px;
  background: var(--white);
  color: var(--charcoal);
  font: inherit;
  font-size: 16px;
}
.field textarea { min-height: 140px; resize: vertical; }
.field-check { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; align-items: start; }
.field-check input { width: 20px; height: 20px; min-height: 20px; margin-top: 2px; }
.field-check label { margin: 0; font-weight: 600; }
.field-check .section-note, .field-check .field-error { grid-column: 2; }
.field-error { margin: 6px 0 0; color: #7c4e30; font-size: 14px; font-weight: 700; }
.field-count { margin: 6px 0 0; color: var(--earth); font-size: 13px; }
.form-status { margin: 20px 0; padding: 16px 18px; background: var(--sand); border-left: 3px solid #7c4e30; color: var(--charcoal); }
.form-status:focus { outline: 2px solid var(--forest); outline-offset: 3px; }
.faq-list details { padding: 14px 0; border-top: 1px solid var(--stone); }
.faq-list details:last-child { border-bottom: 1px solid var(--stone); }
.faq-list summary { cursor: pointer; color: var(--midnight); font-weight: 700; }
.faq-list p { margin-top: 8px; }
.enquiry-form .btn { margin-top: 22px; }
@media (min-width: 800px) {
  .enquiry-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* Diagram motion */

@keyframes csl-ring-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes csl-spin { to { transform: rotate(360deg); } }
@keyframes csl-spin-back { to { transform: rotate(-360deg); } }
@keyframes csl-pop { from { opacity: 0; transform: scale(0.4); } to { opacity: 1; transform: scale(1); } }
@keyframes csl-rise { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@keyframes csl-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes csl-pulse {
  0% { box-shadow: 0 0 0 0 rgba(23, 58, 50, 0.32); }
  70% { box-shadow: 0 0 0 20px rgba(23, 58, 50, 0); }
  100% { box-shadow: 0 0 0 0 rgba(23, 58, 50, 0); }
}
@keyframes csl-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes csl-draw { from { stroke-dashoffset: 420; } to { stroke-dashoffset: 0; } }
@keyframes csl-draw-long { from { stroke-dashoffset: 1600; } to { stroke-dashoffset: 0; } }
@keyframes csl-reveal-line { from { clip-path: inset(0 100% 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes csl-dash-flow { to { stroke-dashoffset: -64; } }
@keyframes csl-node-glow {
  0%, 12%, 100% { background: var(--ivory); box-shadow: none; }
  4% { background: var(--forest); box-shadow: 0 0 0 5px rgba(23, 58, 50, 0.14); }
}
@keyframes csl-sway { 0%, 100% { rotate: -2deg; } 50% { rotate: 2deg; } }

@media (prefers-reduced-motion: no-preference) {
  /* Orbits: About mission, Community, Home HOS */
  .about-orbit::before,
  .home-hos-orbit::before { animation: csl-ring-spin 90s linear infinite; }
  .about-orbit::after,
  .home-hos-orbit::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 5px, var(--gold) 0 4px, transparent 5px);
    pointer-events: none;
    transform: translate(-50%, -50%);
    animation: csl-ring-spin 22s linear infinite;
  }
  .home-hos-orbit::after { width: 410px; height: 410px; background: radial-gradient(circle at 50% 5px, var(--copper) 0 4px, transparent 5px); animation-duration: 28s; }
  .about-orbit li, .home-hos-orbit li { z-index: 1; }
  .about-orbit-core, .home-hos-core { z-index: 2; }

  .js .about-orbit:not(.is-animated) .about-orbit-icon,
  .js .about-orbit:not(.is-animated) strong,
  .js .about-orbit:not(.is-animated) small,
  .js .about-orbit:not(.is-animated) .about-orbit-core,
  .js .home-hos-orbit:not(.is-animated) .home-hos-icon,
  .js .home-hos-orbit:not(.is-animated) strong,
  .js .home-hos-orbit:not(.is-animated) small,
  .js .home-hos-orbit:not(.is-animated) .home-hos-core { opacity: 0; }

  .about-orbit.is-animated .about-orbit-core,
  .home-hos-orbit.is-animated .home-hos-core {
    animation: csl-fade 0.6s ease both, csl-pulse 3.4s ease-out 1.4s infinite;
  }
  .about-orbit.is-animated .about-orbit-icon,
  .home-hos-orbit.is-animated .home-hos-icon {
    animation: csl-pop 0.55s cubic-bezier(0.2, 0.8, 0.3, 1.2) backwards;
    animation-delay: calc(var(--i) * 110ms + 250ms);
  }
  .about-orbit.is-animated strong,
  .about-orbit.is-animated small,
  .home-hos-orbit.is-animated strong,
  .home-hos-orbit.is-animated small {
    animation: csl-rise 0.5s ease both;
    animation-delay: calc(var(--i) * 110ms + 400ms);
  }
  .about-orbit-icon, .home-hos-icon { transition: transform 0.25s ease, box-shadow 0.25s ease; }
  .about-orbit li:hover .about-orbit-icon,
  .home-hos-orbit li:hover .home-hos-icon { transform: scale(1.1); box-shadow: 0 6px 18px rgba(23, 58, 50, 0.18); }

  /* Transformation timeline */
  .js .journey-block:not(.is-animated) .journey::before { clip-path: inset(0 100% 100% 0); }
  .js .journey-block:not(.is-animated) .journey-node,
  .js .journey-block:not(.is-animated) .journey-index,
  .js .journey-block:not(.is-animated) .journey h3 { opacity: 0; }
  .journey-block.is-animated .journey::before { animation: csl-reveal-line 1.4s ease both; }
  .journey-block.is-animated .journey-node {
    animation: csl-pop 0.45s ease both, csl-node-glow 8.4s ease-in-out infinite;
  }
  .journey-block.is-animated .journey-index,
  .journey-block.is-animated .journey h3 { animation: csl-rise 0.5s ease both; }
  .journey-block.is-animated li:nth-child(1) > * { animation-delay: 0.10s, 1.8s; }
  .journey-block.is-animated li:nth-child(2) > * { animation-delay: 0.28s, 3.0s; }
  .journey-block.is-animated li:nth-child(3) > * { animation-delay: 0.46s, 4.2s; }
  .journey-block.is-animated li:nth-child(4) > * { animation-delay: 0.64s, 5.4s; }
  .journey-block.is-animated li:nth-child(5) > * { animation-delay: 0.82s, 6.6s; }
  .journey-block.is-animated li:nth-child(6) > * { animation-delay: 1.00s, 7.8s; }
  .journey-block.is-animated li:nth-child(7) > * { animation-delay: 1.18s, 9.0s; }
  .journey-return { animation: csl-dash-flow 4s linear infinite; }

  /* Life Decoding lens diagram */
  .lens-diagram line { stroke-dasharray: 420; }
  .js .lens-diagram:not(.is-animated) line { stroke-dashoffset: 420; }
  .js .lens-diagram:not(.is-animated) li,
  .js .lens-diagram:not(.is-animated) p { opacity: 0; }
  .lens-diagram.is-animated line { animation: csl-draw 1.1s ease both; }
  .lens-diagram.is-animated line:nth-child(2) { animation-delay: 0.12s; }
  .lens-diagram.is-animated line:nth-child(3) { animation-delay: 0.24s; }
  .lens-diagram.is-animated line:nth-child(4) { animation-delay: 0.36s; }
  .lens-diagram.is-animated line:nth-child(5) { animation-delay: 0.48s; }
  .lens-diagram.is-animated p { animation: csl-fade 0.6s ease both, csl-pulse 3.4s ease-out 1.6s infinite; }
  .lens-diagram.is-animated li { animation: csl-fade 0.6s ease both; animation-delay: calc(var(--i) * 140ms + 500ms); }

  /* Human Operating System hero figure */
  .hos-figure .hf-line { stroke-dasharray: 420; }
  .js .hos-figure:not(.is-animated) .hf-line { stroke-dashoffset: 420; }
  .js .hos-figure:not(.is-animated) .hf-node,
  .js .hos-figure:not(.is-animated) .hf-label { opacity: 0; }
  .hos-figure .hf-node { transform-box: fill-box; transform-origin: center; }
  .hos-figure.is-animated .hf-line { animation: csl-draw 1s ease both; animation-delay: calc(var(--i) * 80ms); }
  .hos-figure.is-animated .hf-node {
    animation: csl-pop 0.45s ease both, csl-breathe 3.6s ease-in-out infinite;
    animation-delay: calc(var(--i) * 80ms + 600ms), calc(var(--i) * 400ms + 1.6s);
  }
  .hos-figure.is-animated .hf-label { animation: csl-fade 0.5s ease both; animation-delay: calc(var(--i) * 80ms + 750ms); }

  /* Human Transformation stage arc */
  .ht-arc path { stroke-dasharray: 1600; }
  .js .ht-arc:not(.is-animated) path { stroke-dashoffset: 1600; }
  .ht-arc.is-animated path { animation: csl-draw-long 1.8s ease both; }
  .js .ht-arc:not(.is-animated) .ht-arc-icon { opacity: 0; }
  .ht-arc.is-animated .ht-arc-icon {
    animation: csl-pop 0.5s cubic-bezier(0.2, 0.8, 0.3, 1.2) backwards;
    animation-delay: calc(var(--i) * 90ms + 400ms);
  }

  /* Human Transformation closing rings */
  .ht-finale-orbit .ring-dash,
  .ht-finale-orbit .ring-mid,
  .ht-finale-orbit .ring-dot { transform-box: view-box; transform-origin: 300px 190px; }
  .ht-finale-orbit .ring-dash { animation: csl-spin 120s linear infinite; }
  .ht-finale-orbit .ring-mid { animation: csl-spin-back 60s linear infinite; }
  .ht-finale-orbit .ring-dot-a { animation: csl-spin 40s linear infinite; }
  .ht-finale-orbit .ring-dot-b { animation: csl-spin 70s linear infinite; }
  .ht-finale-orbit .ring-core { transform-box: fill-box; transform-origin: center; animation: csl-breathe 4s ease-in-out infinite; }

  /* Decorative leaves */
  .about-leaf { transform-origin: 50% 100%; animation: csl-sway 9s ease-in-out infinite; }
  .about-leaf-right { animation-delay: -4.5s; }
}
