@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700&family=Lato:wght@300;400;500;600;700&family=Marck+Script&family=Plus+Jakarta+Sans:wght@400;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;600&display=swap");

/* Global design tokens */
:root {
  --color-primary: #051e34;
  --color-primary-strong: #071e32;
  --color-secondary: #0c4e77;
  --color-secondary-deep: #0b3352;
  --color-blue: #3b9de0;
  --color-blue-soft: #94c6e9;
  --color-blue-pale: #eef5f8;
  --color-blue-pale-2: #dcecf5;
  --color-accent: #e5a800;
  --color-accent-alt: #e9a900;
  --color-neutral: #5b6b77;
  --color-background: #ffffff;
  --color-background-warm: #f7f4ee;
  --color-surface: #ffffff;
  --color-surface-dark: #0a263e;
  --color-text: #20242a;
  --color-text-strong: #051e34;
  --color-text-muted: #393a3b;
  --color-text-soft: #5b6b77;
  --color-border: rgba(5, 30, 52, 0.12);
  --color-border-light: rgba(255, 255, 255, 0.16);
  --color-cream: #faf7f1;
  --font-display: "Poppins", sans-serif;
  --font-heading: "Inter", sans-serif;
  --font-body: "Lato", sans-serif;
  --font-ui: "Geist", sans-serif;
  --font-script: "Marck Script", cursive;
  --font-footer: "Plus Jakarta Sans", sans-serif;
  --font-data: "Roboto", sans-serif;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --text-xs: 0.632rem;
  --text-sm: 0.684rem;
  --text-body-sm: 0.824rem;
  --text-body: 0.947rem;
  --text-body-lg: 1.105rem;
  --text-card: 1.158rem;
  --text-h3: 1.474rem;
  --text-h2-compact: 2.116rem;
  --text-h2: 2.316rem;
  --text-section-display: 2.816rem;
  --text-hero: 4.275rem;
  --lh-tight: 1.08;
  --lh-heading: 1.17;
  --lh-body: 1.4;
  --lh-copy: 1.55;
  --tracking-tight: -0.023em;
  --tracking-display: -0.05em;
  --tracking-ui: -0.019em;
  --tracking-eyebrow: 0.2em;
  --space-1: 0.421rem;
  --space-2: 0.632rem;
  --space-3: 0.842rem;
  --space-4: 1.263rem;
  --space-5: 1.684rem;
  --space-6: 2.105rem;
  --space-7: 2.526rem;
  --space-8: 3.368rem;
  --space-9: 4.211rem;
  --space-10: 5.263rem;
  --space-11: 6.316rem;
  --space-12: 7.895rem;
  --container-max: 89.474rem;
  --container-content: 79.526rem;
  --container-narrow: 75.474rem;
  --container-copy: 42.632rem;
  --page-gutter: 2.421rem;
  --section-space: 6.842rem;
  --header-height: 3.263rem;
  --header-content-height: 2.445rem;
  --header-offset-top: 0.579rem;
  --button-height: 2.947rem;
  --button-height-lg: 4.211rem;
  --button-padding-x: 1.053rem;
  --radius-xs: 0.211rem;
  --radius-sm: 0.421rem;
  --radius-md: 0.632rem;
  --radius-lg: 0.842rem;
  --radius-xl: 1.263rem;
  --radius-2xl: 1.632rem;
  --radius-pill: 100rem;
  --border: 1px solid var(--color-border);
  --border-light: 1px solid var(--color-border-light);
  --shadow-sm: 0 0.316rem 1.496rem rgba(0, 0, 0, 0.13);
  --shadow-md: 0 1.053rem 2.484rem rgba(8, 38, 63, 0.20);
  --shadow-blue: 0 0 1.694rem rgba(102, 202, 255, 0.60);
  --transition: 220ms ease;
  /* Semantic global system — use these on future pages before adding page-specific values. */
  --font-section-title: var(--font-heading);
  --font-section-eyebrow: var(--font-ui);
  --weight-section-title: var(--weight-medium);
  --weight-section-eyebrow: var(--weight-medium);
  --text-eyebrow: var(--text-sm);
  --text-section-title: var(--text-h2);
  --text-section-heading-display: var(--text-section-title);
  --text-section-copy: var(--text-body-sm);
  --line-section-title: 1.15;
  --tracking-section-title: var(--tracking-tight);
  --section-padding: var(--section-space);
  --section-padding-tight: var(--space-9);
  --section-padding-large: var(--space-12);
  --section-heading-gap: 1.842rem;
  --section-title-copy-gap: 1.842rem;
  --component-gap: var(--space-5);
  --button-radius: var(--radius-pill);
  --button-bg-primary: var(--color-primary);
  --button-bg-secondary: rgba(250,247,241,.09);
  --button-bg-accent: var(--color-accent);
  --button-bg-cream: var(--color-cream);
  --button-text-on-dark: var(--color-white);
  --button-text-on-light: #111;
  --button-text-accent: var(--color-white);
  --button-border-outline: rgba(5,30,52,.38);
  --button-border-secondary: rgba(255,255,255,.34);
  --card-radius: var(--radius-lg);
  --card-shadow: var(--shadow-sm);
  --ratio-landscape: 1.25 / 1;
  --ratio-card: 1.087 / 1;
  --ratio-wide: 16 / 9;
  --ratio-portrait: 0.798 / 1;
  --color-white: #ffffff;
  --color-black: #000000;
  --asset-hero: none;
  --asset-problem: none;
  --asset-outcome: none;
  --asset-who: none;
  --asset-phase-one: none;
  --asset-practice: none;
  --asset-community: none;
  --asset-guide: none;
  --asset-final-cta: none;
  --asset-feedback: none;
  --asset-compare-left: none;
  --asset-compare-right: none;
  /* Replace only this token when the final approved Approach background is exported locally. */
  --asset-approach-bg: none;
  --asset-competencies: none;
  --asset-methodology-transition: none;
  --asset-approach-transition-top: none;
  --asset-approach-transition-bottom: none;
  --asset-phase-two-bg: none;
  --asset-phase-two-transition: none;
  --asset-feedback-transition: none;
  --gradient-methodology: linear-gradient(180deg, #062035 0%, #0a3b60 18%, #0c4e77 38%, #1e74ad 70%, #59a8df 100%);
  --gradient-milestone: linear-gradient(180deg, #f2eee5 31.25%, #ffffff 100%);
  --gradient-practice-spine: linear-gradient(90.008433deg, #3b9de0 0%, #73b3df 89.731%);
  --gradient-phase-two-overlay: linear-gradient(-90deg, rgba(38,104,150,.53) 0%, rgba(12,33,48,.53) 100%);
  --gradient-problem: linear-gradient(179.6528deg, #103c5b 25.947%, #062035 95.901%);
  --gradient-brand-blue: linear-gradient(179.8002deg, #051e34 0.32875%, #3b9de0 99.378%);
  --gradient-nsm-column: linear-gradient(90deg, #0c4e77 0%, #2f79a6 100%);
  --gradient-practicum: linear-gradient(180deg, #f2eee5 20.85%, #ffffff 87.247%);
  --gradient-community-card: linear-gradient(183.5771deg, #dcf1ff 12.34%, #ffffff 61.214%, #d5eeff 91.562%);
  --gradient-standards: linear-gradient(-7.2421deg, rgba(255,255,255,.49) 7.6292%, rgba(29,98,146,.49) 254.77%);
  --gradient-impact: linear-gradient(179.1503deg, #051e34 64.005%, #3b9de0 135.95%);
  --gradient-guide: linear-gradient(180deg, #145887 30.459%, #051621 100%);
  --gradient-trusted: linear-gradient(180deg, #e9f2fb 0%, #d5dde2 100%);
  --gradient-everything: linear-gradient(180deg, #0a2c49 0%, #071e32 100%);
  --gradient-footer: linear-gradient(-2.0146deg, #1d6292 15.974%, #00294e 95.098%);
  --gradient-benefit-strip: linear-gradient(1.3342deg, rgba(255,255,255,.24) 10.13%, rgba(29,98,146,.24) 10.118%, rgba(255,255,255,.24) 114.47%);
  --gradient-outcomes: linear-gradient(180deg, #ecf5fd 0%, #d5dde2 44.092%, #d5dde2 100%);
  --gradient-curriculum: linear-gradient(180deg, #061e33 4.862%, #286997 55.651%, #3f7faa 78%, #4f91bd 100%);
  --gradient-apply-divider: linear-gradient(180deg, #edf5fb 0%, #cfe5f5 48%, #b4d4ec 100%);
}

/* Base document */
html {
  font-size: clamp(11px, 0.95vw, 19px) !important;
  scroll-behavior: smooth;
}

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

body {
  margin: 0;
  background: var(--color-background);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font: inherit;
}

button {
  color: inherit;
}

h1, h2, h3, h4, p {
  margin: 0;
}

.site {
  overflow: clip;
}

/* Reusable layout system */
.container {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-max));
  margin-inline: auto;
}

.container--content {
  max-width: var(--container-content);
}

.container--narrow {
  max-width: var(--container-narrow);
}

.container--copy {
  max-width: var(--container-copy);
}

.section {
  position: relative;
  padding-block: var(--section-padding);
}

.section--tight {
  padding-block: var(--section-padding-tight);
}

.section--dark {
  background: var(--color-primary);
  color: #fff;
}

.section--pale {
  background: var(--color-blue-pale);
}

.section--warm {
  background: var(--color-background-warm);
}

.section--gradient-dark {
  color: #fff;
  background: var(--gradient-problem);
}

.section-header {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.section-header--center {
  align-items: center;
  text-align: center;
  margin-inline: auto;
}

.section-header--split {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(19rem, 0.75fr);
  align-items: end;
  gap: var(--space-9);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.467rem;
  color: var(--color-secondary);
  font-family: var(--font-section-eyebrow);
  font-size: var(--text-eyebrow);
  font-weight: var(--weight-section-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  line-height: 1.36;
  text-transform: uppercase;
}

.eyebrow__icon {
  width: 0.584rem;
  height: 0.564rem;
  flex: 0 0 auto;
}

.eyebrow--light {
  color: #fff;
}

.eyebrow--gold {
  color: var(--color-accent);
}

.eyebrow--pill {
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-pill);
  padding: 0.364rem 1.091rem;
}

.section-title {
  max-width: 41rem;
  color: var(--color-text-strong);
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.section-title--display {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.section-title--compact {
  font-family: var(--font-display);
  font-size: var(--text-h2-compact);
  line-height: var(--lh-heading);
}

.section-title--light {
  color: #fff;
}

/* Global section heading rhythm: every section eyebrow and H2 uses this same relationship. */
main section .eyebrow + h2 {
  margin-top: var(--section-heading-gap);
}

.section-header--center > .section-copy,
.section-header--center > div + .section-copy {
  margin-top: var(--section-title-copy-gap);
}

.section-title .muted {
  color: rgba(5, 30, 52, 0.54);
}

.section-title .accent {
  color: var(--color-accent);
}

.section-copy {
  max-width: 31rem;
  color: var(--color-text-muted);
  font-family: var(--font-ui);
  font-size: var(--text-section-copy);
  line-height: var(--lh-body);
  letter-spacing: 0.01em;
}

.section-copy--body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  color: var(--color-text-soft);
  line-height: 1.556;
}

.section-copy--light {
  color: rgba(255, 255, 255, 0.74);
}

/* Buttons */
.button {
  min-height: var(--button-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.842rem;
  padding: 0.632rem var(--button-padding-x);
  border: 1px solid transparent;
  border-radius: var(--button-radius);
  font-family: var(--font-body);
  font-size: 0.767rem;
  font-weight: var(--weight-regular);
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  transition: transform var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition);
  cursor: pointer;
}

.button:hover {
  transform: translateY(-0.08rem);
}

.button:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.button--primary {
  background: var(--button-bg-primary);
  color: var(--button-text-on-dark);
}

.button--cream {
  background: var(--button-bg-cream);
  color: var(--button-text-on-light);
}

.button--accent {
  background: var(--button-bg-accent);
  color: var(--button-text-accent);
}

.button--secondary {
  background: var(--button-bg-secondary);
  color: var(--button-text-on-dark);
  border-color: var(--button-border-secondary);
}

.button--outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--button-border-outline);
}

.button--lg {
  min-height: var(--button-height-lg);
  padding-inline: 1.524rem;
  font-size: 1.093rem;
  border-radius: var(--button-radius);
}

.button--wide {
  min-width: 19.105rem;
}

.button__icon {
  width: 1.071rem;
  height: 1.071rem;
  object-fit: contain;
  flex: 0 0 auto;
}

.card {
  background: var(--color-surface);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  overflow: hidden;
}

.card--flat {
  box-shadow: none;
  border: var(--border);
}

.card--dark {
  background: var(--color-primary);
  color: #fff;
}

.image-frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-sm);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.image-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.image-frame--hero {
  background-image: var(--asset-hero);
  background-position: center center;
}

.hero--internal {
  min-height: 30rem;
  display: flex;
  align-items: flex-end;
  padding-block: calc(var(--header-height) + var(--space-9)) var(--space-9);
  background: var(--color-primary);
  color: #fff;
}

.image-frame--problem {
  background-image: var(--asset-problem);
  background-position: center center;
}

.image-frame--outcome {
  background-image: var(--asset-outcome);
}

.image-frame--who {
  background-image: var(--asset-who);
  background-position: center;
}

.image-frame--phase-one {
  background-image: var(--asset-phase-one);
  background-position: center;
}

.image-frame--practice {
  background-image: var(--asset-practice);
  background-position: 32% center;
}

.image-frame--community {
  background-image: var(--asset-community);
  background-position: center bottom;
}

.image-frame--guide {
  background-image: var(--asset-guide);
  background-position: center;
}

.form-field {
  display: grid;
  gap: 0.421rem;
}

.form-label {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-strong);
}

.form-input, .form-select, .form-textarea {
  width: 100%;
  min-height: 2.947rem;
  padding: 0.684rem 0.842rem;
  background: #fff;
  color: var(--color-text);
  border: var(--border);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition), box-shadow var(--transition);
}

.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: 0;
  border-color: var(--color-secondary);
  box-shadow: 0 0 0 3px rgba(59,157,224,.14);
}

.form-textarea {
  min-height: 7rem;
  resize: vertical;
}

/* Hero system */
.hero {
  position: relative;
}

.hero--home {
  min-height: 46.737rem;
  color: #fff;
  background: linear-gradient(102deg, #051e34 0%, #0c3859 38%, #1d6292 100%);
  overflow: hidden;
}

.hero--home::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5,30,52,.86) 0%, rgba(5,30,52,.72) 34%, rgba(5,30,52,.45) 60%, rgba(5,30,52,.20) 100%);
  z-index: 0;
}

.hero__media {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 76% 32%, rgba(255,255,255,.12), transparent 24%), linear-gradient(110deg, rgba(7,30,50,.24), rgba(7,30,50,.08));
}

.hero__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  opacity: 0.59;
}

.hero__image[src=''], .hero__image:not([src]) {
  display: none;
}

/* Header */
.site-header {
  position: absolute;
  z-index: 10;
  inset: 0 0 auto;
  height: var(--header-height);
  border-bottom: 1px solid rgba(255,255,255,.24);
}

.site-header__inner {
  width: min(calc(100% - (var(--page-gutter) * 2)), 96.211rem);
  height: var(--header-content-height);
  margin: var(--header-offset-top) auto 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--space-5);
}

.site-logo {
  justify-self: start;
  font-family: var(--font-ui);
  font-size: 0.947rem;
  font-weight: var(--weight-light);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 1.263rem;
}

.site-nav--primary {
  justify-self: center;
}

.site-nav--utility {
  justify-self: end;
}

.site-nav__link {
  font-family: var(--font-ui);
  font-size: 0.8rem;
  font-weight: var(--weight-medium);
  letter-spacing: var(--tracking-ui);
  color: #fff;
  transition: opacity var(--transition);
}

.site-nav__link:hover {
  opacity: .72;
}

.site-nav__link--icon {
  display: inline-flex;
  align-items: center;
  gap: 0.632rem;
  font-weight: var(--weight-light);
}

.site-nav__icon {
  width: 0.947rem;
  height: 0.947rem;
}

.hero__inner {
  width: min(calc(100% - (var(--page-gutter) * 2)), 96.211rem);
  min-height: 46.737rem;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  padding-top: 6.947rem;
}

.hero__content {
  width: 47.895rem;
}

.hero__title {
  max-width: 48rem;
  font-family: var(--font-display);
  font-size: var(--text-hero);
  font-weight: var(--weight-medium);
  line-height: 1.071;
  letter-spacing: var(--tracking-display);
}

.hero__title .accent {
  color: var(--color-accent);
}

.hero__lead {
  width: 26.263rem;
  font-size: 0.986rem;
  font-weight: var(--weight-semibold);
  line-height: 1.37;
  letter-spacing: .02em;
  margin-top: 10.105rem;
}

.hero__copy {
  width: 21.316rem;
  font-size: 0.829rem;
  font-weight: var(--weight-light);
  line-height: 1.37;
  letter-spacing: .02em;
  margin-top: .842rem;
}

.hero__actions {
  display: flex;
  gap: 0.623rem;
  align-items: center;
  margin-top: 1.895rem;
}

.hero__meta {
  display: inline-flex;
  align-items: center;
  padding-left: 0.526rem;
  border-left: 1px solid var(--color-accent);
  font-size: 0.829rem;
  letter-spacing: .02em;
  margin-top: 1.053rem;
}

.hero__benefits {
  position: absolute;
  right: 1.105rem;
  width: 16.632rem;
  display: grid;
  gap: 1.789rem;
  top: 23.789rem;
}

.hero-benefit {
  border-top: 1px solid rgba(255,255,255,.64);
  padding: 0.737rem 0.421rem 0;
}

.hero-benefit__title {
  font-size: 1.08rem;
  font-weight: var(--weight-medium);
  line-height: 1.05;
}

.hero-benefit__copy {
  margin-top: 0.421rem;
  font-size: 0.671rem;
  line-height: 1;
}


/* Reusable heading group for all future page sections. */
.section-heading-group {
  display: flex;
  flex-direction: column;
  gap: var(--section-heading-gap);
}

.section-heading-group--center {
  align-items: center;
  text-align: center;
}

.section-heading-group + .section-copy {
  margin-top: var(--section-title-copy-gap);
}

.section--large {
  padding-block: var(--section-padding-large);
}

/* Homepage sections */
.benefit-strip {
  min-height: 16.158rem;
  padding: 3.789rem 0 2.474rem;
  background: linear-gradient(180deg, #edf5fb 0%, #e2edf6 100%);
}

.benefit-strip__grid {
  display: grid;
  grid-template-columns: repeat(5, 9.413rem);
  justify-content: space-between;
  gap: 0;
}

.benefit-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.932rem;
}

.benefit-item__icon {
  height: 3.153rem;
  max-width: 3.489rem;
  object-fit: contain;
}

.benefit-item__text {
  max-width: 9.413rem;
  font-family: var(--font-display);
  font-size: 0.719rem;
  line-height: 1.56;
  text-transform: capitalize;
}

.problem {
  padding-top: 5.842rem;
  padding-bottom: 5.842rem;
  color: #fff;
  background: var(--gradient-problem);
}

.problem__intro {
  max-width: 58.632rem;
}

.problem__title {
  max-width: 46.316rem;
}

.problem__statements {
  margin-top: 3.579rem;
  display: grid;
  gap: 1.737rem;
  font-family: var(--font-display);
  font-size: 1.052rem;
  text-align: center;
  text-transform: capitalize;
}

.problem__divider {
  width: 58%;
  margin: 2.789rem auto 1.263rem;
  border-top: 1px solid rgba(255,255,255,.53);
}

.problem__summary {
  max-width: 44.211rem;
  margin-inline: auto;
  font-family: var(--font-display);
  font-size: 1.496rem;
  line-height: 1.23;
  text-align: center;
}

.problem-panel {
  max-width: 77.947rem;
  min-height: 42.524rem;
  margin: 3.368rem auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  color: #000;
}

.problem-panel__image {
  min-height: 42.524rem;
  border-radius: 0;
}

.problem-panel__content {
  padding: 2.526rem 2.632rem;
  display: flex;
  flex-direction: column;
}

.problem-panel__title {
  font-family: var(--font-display);
  font-size: 1.122rem;
  font-weight: var(--weight-bold);
}

.problem-panel__lead {
  margin-top: 0.737rem;
  max-width: 31.242rem;
  color: rgba(0,0,0,.54);
  font-family: var(--font-display);
  font-size: 1.094rem;
  line-height: 1.36;
  text-transform: capitalize;
}

.problem-list {
  list-style: none;
  padding: 0;
  margin: 5.526rem 0 0;
  display: grid;
  gap: 0;
}

.problem-list__item {
  display: grid;
  grid-template-columns: 2.526rem 1fr;
  gap: 1.474rem;
  align-items: center;
  position: relative;
  min-height: 3.368rem;
  font-family: var(--font-display);
  font-size: 0.708rem;
  line-height: 1.36;
  text-transform: capitalize;
  color: rgba(0,0,0,.54);
}

.problem-list__item + .problem-list__item::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: -0.947rem;
  height: 1.894rem;
  border-left: 1px solid rgba(0,0,0,.22);
}

.problem-list__number {
  width: 2.526rem;
  height: 2.526rem;
  border: 1px solid rgba(0,0,0,.35);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0.64rem;
  color: #000;
}

.problem-list__item:first-child {
  color: #000;
}

.problem-list__item:first-child .problem-list__number {
  background: #000;
  color: #fff;
}

.problem-panel__action {
  margin-top: auto;
  align-self: flex-start;
  min-height: 2.211rem;
  font-size: 0.575rem;
}

.methodology {
  position: relative;
  margin-top: -0.01rem;
  padding: 0 0 5.158rem;
  background: var(--gradient-methodology);
  color: #fff;
  overflow: hidden;
}

.methodology::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 7.368rem;
  background: linear-gradient(180deg, #062035 0%, rgba(6,32,53,.82) 22%, rgba(10,59,96,.36) 62%, rgba(10,59,96,0) 100%);
  pointer-events: none;
}

.methodology__inner {
  position: relative;
  z-index: 1;
  padding-top: 8rem;
}

.methodology .section-header {
  max-width: 57.737rem;
}

.methodology__definition {
  max-width: 42.526rem;
  margin: 3.263rem auto 0;
  text-align: center;
  color: #fff;
  font-family: var(--font-ui);
  font-size: 1.005rem;
  line-height: var(--lh-body);
}

.methodology__grid {
  max-width: 57.737rem;
  margin: 4.421rem auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255,255,255,.45);
}

.methodology-item {
  min-height: 15.737rem;
  padding: 1.474rem 1.579rem 1rem;
  border-right: 1px solid rgba(255,255,255,.32);
}

.methodology-item:last-child {
  border-right: 0;
}

.methodology-item__number {
  color: #48a7e9;
  font-family: var(--font-display);
  font-size: 0.725rem;
  font-weight: var(--weight-medium);
}

.methodology-item__title {
  margin-top: 1.263rem;
  min-height: 3.3rem;
  font-family: var(--font-display);
  font-size: 1.022rem;
  font-weight: var(--weight-medium);
  line-height: 1.23;
}

.methodology-item__copy {
  margin-top: 1.474rem;
  font-family: var(--font-ui);
  font-size: 0.827rem;
  line-height: 1.4;
}

.methodology__arc {
  max-width: 57.737rem;
  margin: 2.842rem auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
}

.methodology-arc__item {
  min-height: 6.316rem;
  padding: 1.316rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255,255,255,.12);
}

.methodology-arc__item:first-child {
  border-radius: var(--radius-md) 0 0 var(--radius-md);
}

.methodology-arc__item:last-child {
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.methodology-arc__item--active {
  background: #0a263e;
}

.methodology-arc__label {
  font-family: var(--font-ui);
  font-size: 0.827rem;
  text-transform: uppercase;
}

.methodology-arc__item--active .methodology-arc__label {
  color: var(--color-accent);
}

.methodology-arc__value {
  margin-top: 0.421rem;
  font-family: var(--font-display);
  font-size: 0.986rem;
  font-weight: var(--weight-medium);
}

.advantage {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: 6.421rem;
  padding-bottom: 5.895rem;
  background: #ffffff;
}

.advantage::before {
  display: none;
}

.advantage > .container {
  position: relative;
  z-index: 1;
}

.advantage__header {
  max-width: 56.789rem;
}

.advantage__copy {
  max-width: 34.852rem;
}

.comparison-table {
  max-width: 70.368rem;
  margin: 6.842rem auto 0;
  font-family: var(--font-data);
  position: relative;
}

.comparison-table__head, .comparison-row {
  display: grid;
  grid-template-columns: 1.2fr 2.1fr 2.2fr;
  align-items: center;
}

.comparison-table__head {
  color: #8c8c8c;
  font-size: 0.809rem;
  min-height: 4rem;
  border-bottom: 2px solid rgba(0,0,0,.58);
}

.comparison-table__head > * {
  padding: 0.842rem 0.737rem;
}

.comparison-table__head .comparison-table__nsm {
  align-self: stretch;
  display: flex;
  align-items: center;
  margin-inline: 0.526rem;
  padding: 0.842rem 1.421rem;
  color: #fff;
  font-weight: var(--weight-semibold);
  background: linear-gradient(90deg,#0c4e77,#2f79a6);
  border-radius: 1.768rem 1.768rem 0 0;
}

.comparison-row {
  min-height: 4.832rem;
  font-size: 0.882rem;
  position: relative;
  border-top: 0;
  border-bottom: 1px solid rgba(0,0,0,.15);
}

.comparison-row > * {
  padding: 1.158rem 0.737rem;
}

.comparison-row__label {
  font-weight: var(--weight-medium);
  color: #000;
}

.comparison-row__standard {
  color: #3f3f3f;
}

.comparison-row__nsm {
  align-self: stretch;
  display: flex;
  align-items: center;
  margin-inline: 0.526rem;
  padding-inline: 1.421rem;
  color: #fff;
  background: linear-gradient(90deg,#0c4e77,#2f79a6);
  position: relative;
  z-index: 1;
}

.comparison-row:last-child .comparison-row__nsm {
  border-radius: 0 0 1.768rem 1.768rem;
}

.advantage__after {
  max-width: 41.533rem;
  margin: 4.737rem auto 0;
  text-align: center;
}

.advantage__after p:first-child {
  font-family: var(--font-display);
  font-size: 1.189rem;
  line-height: 1.52;
}

.advantage__script {
  margin-top: 0.895rem;
  font-family: var(--font-script);
  font-size: 1.905rem;
  line-height: 1.52;
}

.tag-row {
  margin-top: 1.263rem;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 0.573rem;
}

.tag {
  min-width: 6.117rem;
  border: 1px solid rgba(44,116,165,.24);
  border-radius: var(--radius-pill);
  padding: 0.382rem 0.478rem;
  color: var(--color-blue);
  font-family: var(--font-data);
  font-size: 0.755rem;
  line-height: 1.52;
}

.advanced-banner {
  min-height: 26.684rem;
  padding: 4.737rem 0;
  color: #fff;
  text-align: center;
  background: var(--gradient-brand-blue);
}

.advanced-banner__inner {
  max-width: 93rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.263rem;
}

.advanced-banner .eyebrow + .advanced-banner__title {
  margin-top: 1.053rem;
}

.advanced-banner__title {
  max-width: 35.221rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.advanced-banner__copy {
  max-width: 35.221rem;
  font-family: var(--font-ui);
  font-size: 0.884rem;
  line-height: 1.4;
  color: #fff;
}

.approach {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 5.895rem 0 5.263rem;
  color: var(--color-text);
  background: linear-gradient(180deg, #f7fbfe 0%, #e9f2f8 100%);
}

.approach::before {
  content: "";
  position: absolute;
  z-index: -3;
  inset: 0;
  background: var(--asset-approach-bg) center / cover no-repeat;
  opacity: .62;
  pointer-events: none;
}

.approach::after {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 0;
  background: rgba(38,104,150,.34);
  pointer-events: none;
}

.approach__background-decor {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: var(--asset-approach-transition-top), var(--asset-approach-transition-bottom);
  background-repeat: no-repeat;
  background-size: 78.263rem 47.789rem, 118.737rem 28.474rem;
  background-position: center 3.789rem, center calc(100% + 9.842rem);
}

.approach > .container {
  position: relative;
  z-index: 1;
}

.approach__header {
  max-width: 56.789rem;
}

.approach__cards {
  max-width: 63.158rem;
  margin: 4.211rem auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.789rem;
}

.approach-card {
  border-radius: var(--radius-md);
  overflow: hidden;
}

.approach-card__heading {
  min-height: 3.789rem;
  display: flex;
  align-items: center;
  padding: 0 1.263rem;
  background: #0f1629;
  color: #fff;
  border-radius: var(--radius-md);
  font-family: var(--font-ui);
  font-size: 1.27rem;
  font-weight: var(--weight-medium);
}

.approach-card--nsm .approach-card__heading {
  background: var(--color-primary);
}

.approach-card__image {
  height: 18.189rem;
  margin-top: 0.421rem;
  padding: 0.842rem;
  background: #fff;
  border-radius: var(--radius-lg);
}

.approach-card__image::before {
  content: "";
  display: block;
  height: 100%;
  border-radius: 0.316rem;
  background: var(--asset-compare-left) center/cover no-repeat;
}

.approach-card--nsm .approach-card__image::before {
  background-image: var(--asset-compare-right);
}

.approach-list {
  margin-top: 0.421rem;
  padding: 0.803rem 0.842rem 0.842rem;
  background: rgba(255,255,255,.34);
  border-radius: var(--radius-md);
  display: grid;
  gap: 0.579rem;
}

.approach-list__item {
  min-height: 2.632rem;
  display: flex;
  align-items: center;
  gap: 0.842rem;
  padding: 0.632rem 0.737rem;
  background: #fff;
  font-family: var(--font-ui);
  font-size: 0.779rem;
  color: rgba(52,43,1,.8);
}

.approach-list__dot {
  width: 0.526rem;
  height: 0.526rem;
  border-radius: 50%;
  background: var(--color-accent);
  flex: 0 0 auto;
}

.approach__quote {
  max-width: 58.421rem;
  margin: 4.895rem auto 0;
  padding-top: 1.632rem;
  border-top: 1px solid rgba(51,51,51,.5);
  font-family: var(--font-script);
  font-size: 1.292rem;
  line-height: 1.23;
  text-align: center;
}

.outcomes {
  min-height: 49.789rem;
  padding: 5.526rem 0 4.211rem;
  background: var(--gradient-outcomes);
  overflow: hidden;
}

.outcomes > .container {
  position: relative;
  overflow: visible;
}

.outcomes__head {
  display: grid;
  grid-template-columns: 41.053rem 20.684rem;
  justify-content: space-between;
  align-items: start;
  min-height: 10.316rem;
}

.outcomes__head .section-title {
  width: 19.105rem;
  max-width: 19.105rem;
  margin-top: 1.842rem;
}

.outcomes__intro-copy {
  width: 20.684rem;
  font-family: var(--font-ui);
  font-size: .823rem;
  line-height: 1.4;
  letter-spacing: .01em;
  color: var(--color-text-muted);
}

.outcomes__body {
  display: grid;
  grid-template-columns: 28.947rem 65.263rem;
  align-items: start;
  margin-top: -5.158rem;
}

.outcomes__controls {
  padding-top: 7.421rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.outcomes__action {
  margin-top: 12.263rem;
  width: 19.105rem;
  min-height: 3.368rem;
  border-radius: var(--button-radius);
}

.outcomes__top {
  display: grid;
  grid-template-columns: .82fr 1.1fr;
  gap: 4.211rem;
  align-items: center;
}

.outcomes__nav {
  display: flex;
  gap: 0.591rem;
  margin-top: 0;
}

.icon-button {
  width: 3.468rem;
  height: 3.468rem;
  border: 1px solid rgba(5,30,52,.42);
  padding: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: var(--color-primary);
  cursor: pointer;
  transition: opacity var(--transition), border-color var(--transition), background-color var(--transition), transform var(--transition);
}

.icon-button:hover:not(:disabled) {
  background: rgba(255,255,255,.72);
  border-color: var(--color-primary);
  transform: translateY(-.053rem);
}

.icon-button:disabled {
  opacity: .28;
  cursor: default;
}

.icon-button img {
  width: 100%;
  height: 100%;
}

.outcome-track {
  display: flex;
  gap: 0.744rem;
  overflow: hidden;
  scroll-behavior: smooth;
  width: 65.263rem;
  padding: 0 0.4rem 2rem;
  overflow-x: hidden;
  overflow-y: visible;
}

/* Desktop slider tail space lets every featured outcome align as the first fully visible card. */
.outcome-track::after {
  content: "";
  flex: 0 0 calc(100% - 22.6rem);
  pointer-events: none;
}

.outcome-card {
  flex: 0 0 20.127rem;
  min-height: 28.263rem;
  background: #fff;
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  overflow: hidden;
  transition: flex-basis 320ms ease, min-height 320ms ease, margin-top 320ms ease, box-shadow 320ms ease, opacity 320ms ease;
}

.outcome-card--featured {
  flex-basis: 20.127rem;
  min-height: 28.263rem;
  margin-top: 0;
  box-shadow: var(--card-shadow);
}

.outcome-card--small {
  flex-basis: 15.72rem;
  min-height: 22.288rem;
  margin-top: 3rem;
}

.outcome-card__image {
  height: 18.517rem;
  background: var(--asset-outcome) center/cover no-repeat;
  position: relative;
}

.outcome-card__image::after {
  content: "";
  position: absolute;
  inset: 2.374rem 2.415rem 1.699rem;
  border: 1px solid var(--color-accent);
  border-radius: 0.343rem;
}

.outcome-card--small .outcome-card__image {
  height: 14.465rem;
  opacity: .24;
  background-color: #fafafa;
  background-blend-mode: screen;
}

.outcome-card__body {
  padding: 1.102rem;
}

.outcome-card__title {
  font-size: 1.149rem;
  line-height: 1.228;
  color: #292d38;
}

.outcome-card__copy {
  margin-top: 0.858rem;
  font-size: 0.737rem;
  line-height: 1.379;
  color: rgba(41,45,56,.66);
}

.audience {
  padding: 5.5rem 0;
  background: #fff;
}

.audience__layout {
  margin-top: 4.842rem;
  display: grid;
  grid-template-columns: 27.331rem 1fr;
  gap: 6.421rem;
  align-items: start;
}

.audience-list {
  min-height: 44.316rem;
  border-radius: 1.872rem;
  background: rgba(59,157,224,.08);
  overflow: hidden;
}

.audience-list__item {
  min-height: 4.063rem;
  padding: 1.2rem 1.326rem;
  border-bottom: 1px solid rgba(12,78,119,.12);
  font-size: 1.087rem;
  line-height: 1.228;
  color: #363636;
}

.audience-list__item--active {
  min-height: 6.601rem;
  padding: 1.268rem 1.329rem;
  background: #fff;
  box-shadow: 0 .302rem .516rem rgba(0,0,0,.18);
  border-radius: 1.631rem;
}

.audience-list__item--active strong {
  display: block;
  font-weight: var(--weight-regular);
}

.audience-list__item--active span {
  display: block;
  margin-top: 0.68rem;
  color: #5e5e5e;
  font-size: 0.774rem;
  line-height: 1.48;
}

.audience__visual {
  min-width: 0;
}

.audience__image {
  aspect-ratio: 842/678;
  border-radius: 0.947rem;
}

.audience__quote {
  margin-top: 2rem;
  padding: 1.632rem 1.789rem 0;
  border-top: 1px solid #333;
  font-family: var(--font-script);
  font-size: 1.292rem;
  line-height: 1.23;
}

.milestone {
  padding: 4.368rem 0 3.947rem;
  background: var(--gradient-milestone);
  min-height: 40.895rem;
}

.milestone__head {
  display: grid;
  grid-template-columns: 41.053rem 24.526rem;
  justify-content: space-between;
  align-items: end;
  min-height: 8.158rem;
}

.milestone__copy {
  width: 24.526rem;
  font-family: var(--font-ui);
  font-size: .823rem;
  line-height: 1.4;
  letter-spacing: .01em;
  color: var(--color-text-muted);
}

.milestone__title {
  max-width: 41.053rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.milestone__title span {
  display: block;
  color: #9aa5ae;
}

.milestone-line {
  position: relative;
  max-width: 79.263rem;
  height: 18.184rem;
  margin: 3.947rem auto 0;
  margin-top: 6.368rem;
}

.milestone-line::before {
  content: "";
  position: absolute;
  left: 3%;
  right: 3%;
  bottom: 3.158rem;
  border-top: 1px solid rgba(5,30,52,.28);
  transform: rotate(-1.6deg);
  transform-origin: left;
}

.milestone-step {
  position: absolute;
  bottom: 0;
  font-family: var(--font-heading);
  font-size: 0.771rem;
  font-weight: var(--weight-medium);
  letter-spacing: .1em;
  color: var(--color-primary);
  text-transform: uppercase;
}

.milestone-step::before {
  content: "";
  display: block;
  width: 0.496rem;
  height: 0.496rem;
  margin: 0 auto 1.9rem;
  border-radius: 50%;
  background: var(--color-primary);
  box-shadow: 0 0 0 2.894rem rgba(12,78,119,.08);
}

.milestone-step:nth-child(1) {
  left: 0;
}

.milestone-step:nth-child(2) {
  left: 23%;
  bottom: .8rem;
}

.milestone-step:nth-child(3) {
  left: 47%;
}

.milestone-step:nth-child(4) {
  left: 67%;
}

.milestone-step:nth-child(5) {
  left: 83%;
}

.milestone-step:nth-child(6) {
  right: 0;
  bottom: -.2rem;
}

.milestone-card {
  position: absolute;
  left: 49.4%;
  top: 0;
  transform: translateX(-50%);
  width: 17.032rem;
  min-height: 11.768rem;
  padding: 1.537rem 1.892rem;
  border-radius: 1.656rem;
  background: linear-gradient(180deg,#051e34,#3b9de0);
  box-shadow: var(--shadow-md);
  color: #fff;
  text-align: center;
}

.milestone-card__eyebrow {
  color: #ffe49e;
  font-family: var(--font-ui);
  font-size: 0.71rem;
  font-weight: var(--weight-medium);
  letter-spacing: .167em;
}

.milestone-card__title {
  margin-top: 0.473rem;
  font-family: var(--font-heading);
  font-size: 1.537rem;
  font-weight: var(--weight-medium);
}

.milestone-card__copy {
  margin-top: 0.473rem;
  color: #cfe2ee;
  font-family: var(--font-display);
  font-size: 0.798rem;
}

.quote-divider {
  padding: 3.579rem 0 3.105rem;
  background: #e8f1fa;
  text-align: center;
  border-top: 1px solid rgba(5,30,52,.12);
}

.quote-divider__top {
  font-family: var(--font-display);
  font-size: 1.158rem;
  line-height: 1.864;
  color: #003455;
}

.quote-divider__script {
  font-family: var(--font-script);
  font-size: 1.518rem;
  line-height: 1.422;
  color: #003455;
}

.program {
  padding: 5.632rem 0 6.316rem;
  background: #fff;
  min-height: 80.158rem;
}

.program__head {
  display: grid;
  grid-template-columns: 44.211rem 21.053rem;
  justify-content: space-between;
  gap: 0;
  align-items: start;
}

.program__intro-copy {
  width: 21.053rem;
  padding-top: 2.474rem;
  font-family: var(--font-ui);
  font-size: .947rem;
  line-height: 1.474;
  color: var(--color-text-muted);
}

.program__weeks {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 3.474rem;
  font-family: var(--font-heading);
  font-size: 1.842rem;
  font-weight: var(--weight-medium);
  letter-spacing: -.025em;
  color: var(--color-primary);
}

.program__title {
  max-width: 44.211rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
  color: var(--color-primary);
}

.program__phases {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.656rem;
  margin-top: 1rem;
}

.phase-column__bar {
  min-height: 6.734rem;
  padding: 1.421rem 1.877rem;
  border-radius: 1.656rem;
  background: linear-gradient(90deg,#0c4e77,#2f79a6);
  color: #fff;
  position: relative;
}

.phase-column:nth-child(2) .phase-column__bar {
  background: linear-gradient(90deg,#08263f,#0c4e77);
}

.phase-column__eyebrow {
  font-family: var(--font-ui);
  font-size: 0.663rem;
  font-weight: var(--weight-medium);
  letter-spacing: .167em;
}

.phase-column__title {
  margin-top: 0.421rem;
  font-family: var(--font-heading);
  font-size: 1.325rem;
  font-weight: var(--weight-medium);
}

.phase-column__week {
  position: absolute;
  right: 1.877rem;
  top: 2.316rem;
  font-family: var(--font-ui);
  font-size: 0.663rem;
  letter-spacing: .083em;
  color: rgba(255,255,255,.6);
}

.phase-panel {
  margin-top: 0.718rem;
  min-height: 39.105rem;
  padding: 3rem 2.684rem;
  border-radius: 1.632rem;
  background: rgba(59,157,224,.045);
}

.check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
}

.check-list__item {
  display: grid;
  grid-template-columns: 1.263rem 1fr;
  gap: 1.051rem;
  align-items: center;
  min-height: 4.842rem;
  border-top: 1px solid rgba(0,0,0,.12);
  font-size: 1.116rem;
  line-height: 1.227;
  color: var(--color-primary);
}

.check-list__item:first-child {
  border-top: 0;
}

.check-list__icon {
  width: 1.263rem;
  height: 1.263rem;
}

.program__action {
  margin-top: 2.632rem;
  text-align: center;
}

.phase-one {
  min-height: 47.368rem;
  background: var(--color-blue-pale);
}

.phase-one__layout {
  display: grid;
  grid-template-columns: 37.895rem 1fr;
  min-height: 47.368rem;
}

.phase-one__visual {
  padding: 2rem 1.526rem;
  background: var(--color-secondary-deep);
  position: relative;
}

.phase-one__image {
  height: 43.684rem;
  border-radius: var(--radius-xs);
}

.phase-one__badge {
  position: absolute;
  left: 2.105rem;
  bottom: 2.895rem;
  padding: 0.526rem 0.947rem;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--radius-pill);
  background: rgba(33,54,100,.68);
  color: #fff;
  font-family: var(--font-ui);
  font-size: 0.632rem;
  letter-spacing: .125em;
}

.phase-one__content {
  padding: 6.316rem 0 3rem 5.263rem;
}

.phase-one__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
  color: var(--color-primary);
}

.phase-one__copy {
  max-width: 33.684rem;
  margin-top: 1.579rem;
  font-size: var(--text-body);
  font-weight: var(--weight-light);
  line-height: 1.556;
  color: #3a4a57;
}

.number-list {
  max-width: 43.158rem;
  margin-top: 3.842rem;
}

.number-list__item {
  display: grid;
  grid-template-columns: 4rem 1fr auto;
  gap: 1.368rem;
  align-items: center;
  min-height: 3.737rem;
  padding: 0.737rem 0;
}

.number-list__number {
  font-family: var(--font-heading);
  font-size: 2.105rem;
  font-weight: var(--weight-semibold);
  letter-spacing: -0.025em;
  color: rgba(5,30,52,.13);
}

.number-list__label {
  font-family: var(--font-heading);
  font-size: 1.158rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.number-list__arrow {
  opacity: 0;
  font-size: 1.053rem;
}

.number-list__item--active .number-list__number, .number-list__item--active .number-list__label, .number-list__item--active .number-list__arrow {
  color: var(--color-secondary);
  opacity: 1;
}

.number-list::after {
  content: "";
  display: block;
  border-top: 1px solid rgba(5,30,52,.12);
}

.curriculum {
  padding: 5.684rem 0 7.368rem;
  color: #fff;
  background: var(--gradient-curriculum);
  backdrop-filter: blur(1.079rem);
}

.curriculum__intro {
  max-width: 43rem;
}

.curriculum__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
}

.curriculum__copy {
  margin-top: 2.421rem;
  max-width: 29.211rem;
  color: rgba(220,236,245,.85);
  font-size: var(--text-body);
  font-weight: var(--weight-light);
  line-height: 1.556;
}

.curriculum__action {
  margin-top: 3.895rem;
  height: 4.842rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 3rem;
  border-radius: var(--button-radius);
  background: linear-gradient(188.9387deg, #051e34 35.629%, #0f599a 192.34%);
}

.curriculum__action .button {
  width: 100%;
  height: 100%;
  justify-content: space-between;
  padding: 0;
  background: transparent;
  color: #fff;
  border: 0;
  box-shadow: none;
}

.module-progress {
  margin-top: 3.947rem;
  padding: 1rem 2.2rem 1.6rem;
  background: rgba(0,157,255,.15);
  border-radius: var(--radius-xs);
}

.module-progress__label {
  text-align: center;
  font-family: var(--font-ui);
  font-size: 0.666rem;
  letter-spacing: .185em;
  color: rgba(220,236,245,.7);
}

.module-progress__bar {
  height: 0.256rem;
  margin-top: 1.316rem;
  background: #fff;
  position: relative;
}

.module-progress__dots {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  margin-top: 0.842rem;
  font-family: var(--font-ui);
  font-size: 0.563rem;
  color: #fff;
  text-align: center;
}

.module-progress__dots span:nth-child(-n/**/+2) {
  color: var(--color-accent-alt);
  font-weight: var(--weight-bold);
}

.core-area {
  padding: 3.684rem 0;
  border-top: 1px solid rgba(255,255,255,.28);
}

.core-area:first-of-type {
  margin-top: 2.632rem;
}

.core-area__meta {
  color: var(--color-accent-alt);
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: .154em;
  text-transform: uppercase;
}

.core-area__title {
  margin-top: 0.947rem;
  font-family: var(--font-body);
  font-size: 2.105rem;
  font-weight: var(--weight-semibold);
  line-height: 1.24;
}

.core-area__copy {
  max-width: 53rem;
  margin-top: 0.947rem;
  color: rgba(255,255,255,.66);
  font-size: 1.209rem;
  line-height: 1.378;
}

.module-grid {
  margin-top: 3.474rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.737rem;
}

.module-card {
  min-height: 26.316rem;
  padding: 2.295rem 2.342rem;
  border-radius: 0.683rem;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 .195rem 1.791rem .39rem rgba(0,174,255,.13);
}

.module-card__number {
  color: var(--color-accent-alt);
  font-family: var(--font-ui);
  font-size: 0.634rem;
  letter-spacing: .154em;
}

.module-card__title {
  margin-top: 0.842rem;
  font-family: var(--font-heading);
  font-size: 1.448rem;
  line-height: 1.2;
  font-weight: var(--weight-medium);
}

.module-card__group {
  margin-top: 1.895rem;
}

.module-card__label {
  font-family: var(--font-ui);
  font-size: 0.586rem;
  font-weight: var(--weight-medium);
  letter-spacing: .167em;
  text-transform: uppercase;
}

.module-card__text {
  margin-top: 0.293rem;
  color: rgba(220,236,245,.9);
  font-size: 0.879rem;
  line-height: 1.5;
}

.practice-spine {
  position: relative;
  min-height: 95.474rem;
  padding: 5.947rem 0 0;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
}


.practice-spine__head {
  display: grid;
  gap: 0;
  align-items: start;
  grid-template-columns: 41.053rem 29.474rem;
  column-gap: 11.368rem;
  justify-content: start;
  padding-left: 2.421rem;
}

.practice-spine__curve {
  position: relative;
  width: 82.211rem;
  height: 16rem;
  max-width: none;
  margin: 9.263rem auto 0;
  left: calc(50% + 1.947rem);
  transform: translateX(-50%);
}

.practice-spine__journey {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.practice-spine__path-glow {
  fill: none;
  stroke: rgba(255,255,255,.46);
  stroke-width: 24;
  filter: url(#practiceGlowSoft);
}

.practice-spine__path {
  fill: none;
  stroke: rgba(255,255,255,.92);
  stroke-width: 4;
  stroke-linecap: round;
}

.practice-spine__dots circle {
  fill: #62afe2;
  stroke: rgba(255,255,255,.22);
  stroke-width: 1;
}

.practice-spine__milestone-halo {
  fill: rgba(59,157,224,.55);
  filter: url(#practiceGlow);
}

.practice-spine__milestone-core {
  fill: #fff;
  stroke: rgba(255,255,255,.58);
  stroke-width: 5;
  filter: url(#practiceGlowSoft);
}

.practice-spine__finish-disc {
  fill: url(#practiceRestingDisc);
}

.practice-spine__finish-halo {
  fill: rgba(59,157,224,.72);
  filter: url(#practiceGlow);
}

.practice-spine__finish-ring {
  fill: rgba(255,255,255,.9);
  stroke: rgba(255,255,255,.74);
  stroke-width: 7;
}

.practice-spine__finish-inner {
  fill: rgba(255,255,255,.98);
  stroke: #d8efff;
  stroke-width: 2;
}

.practice-spine__finish-number {
  fill: var(--color-blue);
  font-family: var(--font-ui);
  font-size: 16px;
  font-weight: var(--weight-bold);
}

.practice-spine__stage,
.practice-spine__resting,
.practice-spine__day {
  position: absolute;
  z-index: 2;
  color: var(--color-primary);
}

.practice-spine__stage {
  text-align: center;
  transform: translateX(-50%);
}

.practice-spine__stage strong,
.practice-spine__resting strong {
  display: block;
  font-family: var(--font-heading);
  font-size: 1.158rem;
  font-weight: var(--weight-medium);
  line-height: 1.2;
  letter-spacing: -.014em;
}

.practice-spine__stage span,
.practice-spine__resting span {
  display: block;
  margin-top: .421rem;
  font-family: var(--font-body);
  font-size: .737rem;
  line-height: 1.2;
  color: var(--color-text-soft);
}

.practice-spine__stage--foundation { left: 14.2%; top: -1.3rem; }
.practice-spine__stage--embodiment { left: 46.1%; top: 6.15rem; }
.practice-spine__stage--opening { left: 75.7%; top: -1.3rem; }

.practice-spine__resting {
  right: .55rem;
  top: 1.9rem;
  width: 14rem;
  text-align: center;
}

.practice-spine__day {
  font-family: var(--font-ui);
  font-size: .632rem;
  font-weight: var(--weight-medium);
  letter-spacing: .1em;
}

.practice-spine__day--1 { left: .1rem; top: 12.05rem; }
.practice-spine__day--7 { left: 21.9rem; top: 10.95rem; }
.practice-spine__day--14 { left: 47rem; top: 12.95rem; }

.practice-stage {
  position: absolute;
  width: 12rem;
  top: 0;
  text-align: center;
}

.practice-stage:nth-child(1) {
  left: 4%;
}

.practice-stage:nth-child(2) {
  left: 42%;
  top: 6.2rem;
}

.practice-stage:nth-child(3) {
  right: 6%;
}

.practice-stage__title {
  font-family: var(--font-heading);
  font-weight: var(--weight-medium);
  letter-spacing: -.015em;
  color: var(--color-primary);
  text-transform: none;
  font-size: 1.158rem;
}

.practice-stage__days {
  font-size: 0.737rem;
  color: var(--color-text-soft);
  margin-top: .368rem;
}

.practice-stage__dot {
  margin: 3.4rem auto 0;
  border-radius: 50%;
  width: 1.316rem;
  height: 1.316rem;
  margin-top: 6.158rem;
  background: #00305a;
  box-shadow: 0 .238rem .955rem #fff, 0 .238rem 1.789rem #fff;
  border: .179rem solid #fff;
}

.rhythm-panel {
  margin-top: 4.316rem;
  display: grid;
  overflow: hidden;
  background: #fff;
  position: absolute;
  z-index: 3;
  top: 47.263rem;
  left: 50%;
  transform: translateX(-50%);
  width: 77.947rem;
  height: 42.524rem;
  min-height: 0;
  margin: 0;
  grid-template-columns: 38.105rem 38.105rem;
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.rhythm-panel__image {
  width: 38.105rem;
  height: 42.524rem;
  min-height: 0;
  background-size: 171.64% 100%;
  background-position: 25.4% center;
  border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.rhythm-panel__content {
  position: relative;
  width: 38.105rem;
  height: 42.524rem;
  padding: 2.526rem 2.421rem;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.rhythm-panel__title {
  font-family: var(--font-display);
  font-weight: var(--weight-bold);
  font-size: 1.122rem;
  letter-spacing: .03em;
}

.rhythm-panel__lead {
  color: rgba(0,0,0,.54);
  font-family: var(--font-display);
  line-height: 1.36;
  margin-top: 1.474rem;
  font-size: 1.094rem;
  text-transform: capitalize;
}

.rhythm-list {
  list-style: none;
  padding: 0;
  margin: 5.4rem 0 0;
  display: grid;
  margin-top: 5.632rem;
  gap: 0;
}

.rhythm-list__item {
  display: grid;
  font-family: var(--font-display);
  font-size: 0.708rem;
  line-height: 1.36;
  color: rgba(0,0,0,.62);
  position: relative;
  min-height: 3.368rem;
  grid-template-columns: 2.526rem 1fr;
  gap: 1.474rem;
  align-items: center;
}

.rhythm-list__number {
  width: 2.526rem;
  height: 2.526rem;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.34);
  display: grid;
  place-items: center;
  color: #000;
}

.rhythm-list__item:first-child .rhythm-list__number {
  background: #000;
  color: #fff;
}

.community {
  min-height: 0;
  padding: 8.263rem 0 8.263rem;
  background: var(--color-white);
}

.community__top {
  display: grid;
  gap: 6.842rem;
  min-height: 18.947rem;
  grid-template-columns: 28.421rem 39.842rem;
  column-gap: 7.211rem;
  padding-left: .684rem;
  align-items: start;
}

.community__image {
  width: 39.842rem;
  height: 18.947rem;
  aspect-ratio: auto;
}

.community__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.211rem;
  margin-top: 3.368rem;
}

.community-card {
  border-radius: 1.105rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.263rem;
  height: 12.632rem;
  min-height: 12.632rem;
  background: var(--gradient-community-card);
}

.community-card__icon {
  display: block;
  width: 2.632rem;
  height: 2.579rem;
  object-fit: contain;
}

.community-card__title {
  font-family: var(--font-heading);
  font-size: 1.316rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.community-card__copy {
  max-width: 15.789rem;
  font-size: 0.842rem;
  line-height: 1.375;
  color: var(--color-text-soft);
}

.practicum-intro {
  padding: 4.737rem 0 5rem;
  text-align: center;
  background: var(--gradient-practicum);
  min-height: 52rem;
  padding-top: 5.684rem;
  padding-bottom: 3.947rem;
}

.practicum-intro__title {
  max-width: 29.368rem;
  margin-inline: auto;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.practicum-intro__copy {
  max-width: 38.316rem;
  margin: 1.632rem auto 0;
  font-family: var(--font-ui);
  font-size: 0.884rem;
  line-height: 1.4;
  color: rgba(59,59,59,.83);
}

.process-row {
  max-width: 61.158rem;
  margin: 1.947rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.604rem;
}

.practicum-features {
  width: 61.632rem;
  max-width: calc(100% - (var(--page-gutter) * 2));
  margin: 6.053rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 1.526rem;
  row-gap: 2.053rem;
}

.practicum-feature {
  min-height: 4.68rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-radius: .632rem;
  background: rgba(255,255,255,.58);
  font-family: var(--font-body);
  font-size: 1.009rem;
  line-height: 1.25;
  text-align: center;
  color: var(--color-primary);
}

.process-pill {
  padding: 0.604rem 1.088rem;
  border-radius: var(--radius-pill);
  background: #fff;
  color: #045d9b;
  font-family: var(--font-display);
  font-size: 0.846rem;
  box-shadow: inset 0 .242rem .798rem rgba(102,202,255,.81);
  white-space: nowrap;
}

.process-pill:last-child {
  color: var(--color-accent);
  box-shadow: inset 0 .06rem .399rem rgba(233,169,0,.68);
}

.process-arrow {
  color: #8abbd9;
}

.phase-two {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background-color: #fff;
  background-image: var(--gradient-phase-two-overlay), var(--asset-phase-two-bg);
  background-position: center, center;
  background-size: cover, cover;
  background-repeat: no-repeat;
  min-height: 45.632rem;
  padding: 0;
}

.phase-two::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 14.368rem;
  background: linear-gradient(180deg, #ffffff 0%, rgba(255,255,255,.96) 18%, rgba(255,255,255,.72) 38%, rgba(255,255,255,.18) 68%, rgba(255,255,255,0) 100%);
  pointer-events: none;
}

.phase-two::after {
  display: none;
}

.phase-two__layout {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 7rem;
  min-height: 45.632rem;
  align-items: start;
  padding-block: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 5.316rem;
  padding-right: 0;
  grid-template-columns: 36.263rem 51.053rem;
  column-gap: 0;
}

.phase-two__title {
  max-width: 36.263rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
}

.phase-two__copy {
  max-width: 28.421rem;
  color: rgba(220,236,245,.9);
  font-size: var(--text-body);
  font-weight: var(--weight-light);
  line-height: 1.556;
  margin-top: 4.053rem;
}

.practicum-graphic {
  position: relative;
  min-height: 34rem;
}

.practicum-graphic__core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14rem;
  height: 14rem;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.45);
  display: grid;
  place-items: center;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 1.071rem;
  font-weight: var(--weight-semibold);
  box-shadow: 0 0 6rem rgba(255,255,255,.2);
}

.practicum-node {
  position: absolute;
  min-width: 11.5rem;
  padding: 0.8rem 1rem;
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(0.57rem);
  font-family: var(--font-heading);
  font-size: 1.071rem;
  font-weight: var(--weight-medium);
  text-align: center;
}

.practicum-node:nth-child(2) {
  top: 2rem;
  left: 46%;
}

.practicum-node:nth-child(3) {
  top: 13rem;
  right: 0;
}

.practicum-node:nth-child(4) {
  bottom: 3rem;
  right: 7%;
}

.practicum-node:nth-child(5) {
  bottom: 2rem;
  left: 17%;
}

.practicum-node:nth-child(6) {
  top: 13rem;
  left: 0;
}

.feedback {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 6.842rem 0 5.316rem;
  background: var(--asset-feedback) center / cover no-repeat, var(--color-blue-pale);
  min-height: 49.474rem;
}

.feedback::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: -12.105rem;
  width: 118.737rem;
  height: 28.474rem;
  transform: translateX(-50%) scaleY(-1);
  background: var(--asset-feedback-transition) center / 100% 100% no-repeat;
  pointer-events: none;
}

.feedback > .container {
  position: relative;
  z-index: 1;
}

.feedback__layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 7rem;
  align-items: center;
}

.feedback__copy {
  max-width: 27.368rem;
}

.feedback__callout {
  margin-top: 3.789rem;
  font-family: var(--font-heading);
  font-size: 1.105rem;
  font-weight: var(--weight-medium);
  letter-spacing: -.014em;
  color: var(--color-secondary);
}

.review-card {
  background: #fff;
  border: 1px solid rgba(5,30,52,.06);
  border-radius: var(--radius-sm);
  padding: 2.263rem 1.263rem 1.421rem;
}

.review-card__top {
  display: flex;
  justify-content: space-between;
  padding-inline: 1rem;
  font-family: var(--font-ui);
  font-size: 0.632rem;
  letter-spacing: .154em;
  color: var(--color-secondary);
}

.score-list {
  margin-top: 2.316rem;
  display: grid;
  gap: 0.368rem;
}

.score-row {
  padding: 0.737rem 1rem 1.053rem;
  border-radius: 0.316rem;
  box-shadow: 0 .211rem .458rem .158rem rgba(0,0,0,.06);
}

.score-row__top {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-heading);
  font-size: 0.842rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.score-row__bar {
  height: 0.316rem;
  margin-top: 0.895rem;
  background: var(--color-blue-pale-2);
  border-radius: var(--radius-pill);
  overflow: hidden;
}

.score-row__fill {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--color-blue-soft);
}

.score-row:nth-child(1) .score-row__fill {
  width: 91%;
}

.score-row:nth-child(2) .score-row__fill {
  width: 84%;
}

.score-row:nth-child(3) .score-row__fill {
  width: 88%;
}

.score-row:nth-child(4) .score-row__fill {
  width: 86%;
}

.review-card__edge {
  margin-top: 1.211rem;
  padding: 1.895rem 2.158rem;
  border-radius: 0.316rem;
  background: linear-gradient(90deg,#0c4e77,#2f79a6);
  color: #fff;
}

.review-card__edge-label {
  font-family: var(--font-ui);
  font-size: 0.632rem;
  letter-spacing: .167em;
}

.review-card__edge-copy {
  margin-top: 0.7rem;
  max-width: 30rem;
  font-family: var(--font-heading);
  font-size: 0.895rem;
  line-height: 1.412;
}

.review-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.316rem;
  padding: 0 1rem;
  font-family: var(--font-ui);
  font-size: .579rem;
  font-weight: var(--weight-medium);
  letter-spacing: .09em;
  color: var(--color-text-soft);
}

.review-card__footer span:first-child {
  color: var(--color-secondary);
}

.impact-chain {
  padding: 5.053rem 0 5.368rem;
  color: #fff;
  background: var(--gradient-impact);
  min-height: 43.895rem;
}

.impact-chain__head {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: var(--space-9);
  align-items: end;
}

.impact-flow {
  margin-top: 3.368rem;
  padding: 2.316rem 2.842rem;
  border-radius: 0.321rem;
  background: rgba(255,255,255,.06);
  display: flex;
  gap: 1.053rem;
  align-items: center;
  justify-content: center;
}

.impact-flow img {
  display: block;
  width: 100%;
  height: auto;
}

.impact-flow__item {
  width: 6.95rem;
  min-width: 6.95rem;
  min-height: 4.341rem;
  display: grid;
  place-items: center;
  padding: 0.421rem 0.526rem;
  background: #fff;
  border-radius: 0.28rem;
  box-shadow: var(--shadow-blue);
  color: #045d9b;
  font-family: var(--font-display);
  font-size: 0.753rem;
  line-height: 1.24;
  text-align: center;
  white-space: normal;
}

.impact-flow__arrow {
  width: 1.632rem;
  flex: 0 0 auto;
}

.impact-chain__bottom {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: 1.5fr auto;
  gap: 3rem;
  align-items: center;
}

.impact-chain__quote {
  padding: 1.632rem 1.789rem;
  border-left: 1px solid rgba(255,255,255,.56);
  font-family: var(--font-display);
  font-size: 0.877rem;
  line-height: 1.33;
}

.competencies {
  padding: 0;
  background: #fff;
}

.competencies__layout {
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  min-height: 47.368rem;
}

.competencies__content {
  padding: 6.316rem 4rem 4.211rem max(var(--page-gutter), calc((100vw - var(--container-content))/2));
}

.competencies__intro-copy {
  width: 33.684rem;
  margin-top: 1.474rem;
  font-family: var(--font-body);
  font-size: .947rem;
  font-weight: var(--weight-light);
  line-height: 1.556;
  color: #3a4a57;
}

.competencies__visual {
  min-height: 47.368rem;
  padding: 2rem 1.526rem;
  background: var(--color-secondary-deep);
}

.competencies__image {
  height: 43.684rem;
  border-radius: var(--radius-xs);
  background-image: var(--asset-competencies);
}

.image-frame--competencies {
  background-image: var(--asset-competencies);
  background-position: center;
}

.competency-list {
  margin-top: 2.842rem;
  max-width: 39.263rem;
}

.competency-list .number-list__item {
  min-height: 3.1rem;
}

.competency-list .number-list__item--active {
  align-items: start;
}

.competency-list__desc {
  display: block;
  margin-top: .421rem;
  font-family: var(--font-display);
  font-size: .718rem;
  font-weight: var(--weight-regular);
  line-height: 1.4;
  color: rgba(12,78,119,.75);
}

.standards {
  min-height: 53.368rem;
  padding: 0 0 1.263rem;
  background: var(--color-white);
}

.standards__surface {
  position: relative;
  width: calc(100% - 2.737rem);
  max-width: none;
  min-height: 52.105rem;
  margin-inline: auto;
  padding: 0;
  border-radius: var(--radius-sm);
  background: var(--gradient-standards);
}

.standards__copy-card {
  border-radius: var(--radius-sm);
  background: #fff;
  position: absolute;
  left: 10.368rem;
  top: 3rem;
  width: 31.842rem;
  min-height: 23.895rem;
  padding: 4.053rem 1.842rem 2rem;
}

.ladder {
  position: absolute;
  right: 3.526rem;
  bottom: 4.211rem;
  width: 46rem;
  height: 36rem;
}

.ladder-step {
  position: absolute;
  height: 3.105rem;
  min-width: 23.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: var(--font-heading);
  font-size: 0.947rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.ladder-step::before {
  content: "";
  width: 2.211rem;
  height: 2.211rem;
  border-radius: 50%;
  background: var(--step-color);
  flex: 0 0 auto;
}

.ladder-step::after {
  content: "";
  height: 3.105rem;
  width: 14.474rem;
  margin-left: auto;
  background: var(--step-color);
}

.ladder-step:nth-child(1) {
  left: 0;
  bottom: 0;
  --step-color: #8db5d9;
}

.ladder-step:nth-child(2) {
  left: 5.5rem;
  bottom: 4.7rem;
  --step-color: #c0d6ea;
}

.ladder-step:nth-child(3) {
  left: 10.5rem;
  bottom: 9.4rem;
  --step-color: #b7e1ff;
}

.ladder-step:nth-child(4) {
  left: 16rem;
  bottom: 14.1rem;
  --step-color: #85cdff;
}

.ladder-step:nth-child(5) {
  left: 21.5rem;
  bottom: 18.8rem;
  --step-color: #47b3ff;
}

.ladder-step:nth-child(6) {
  left: 26.5rem;
  bottom: 23.5rem;
  --step-color: #147ab9;
}

.ladder-step:nth-child(7) {
  left: 32rem;
  bottom: 28rem;
  --step-color: #e9a900;
  color: #e9a900;
  font-size: 1.158rem;
  font-weight: var(--weight-semibold);
}

.difference {
  padding: 5.579rem 0;
  background: #fff;
  min-height: 34.947rem;
}

.difference__switch {
  margin-top: 4.211rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  border-radius: 0.825rem;
  overflow: hidden;
}

.difference-switch__item {
  min-height: 8.243rem;
  padding: 1.717rem;
  background: rgba(59,157,224,.3);
  border: 1px solid rgba(155,184,200,.54);
}

.difference-switch__item:nth-child(2) {
  background: #0a263e;
  color: #fff;
  border: 0;
}

.difference-switch__item:nth-child(3) {
  background: #47b3ff;
  color: #fff;
}

.difference-switch__old {
  font-family: var(--font-ui);
  font-size: 1.079rem;
  text-transform: uppercase;
  text-decoration: line-through;
}

.difference-switch__item:nth-child(2) .difference-switch__old {
  color: var(--color-accent);
}

.difference-switch__new {
  margin-top: .3rem;
  font-family: var(--font-display);
  font-size: 1.287rem;
  font-weight: var(--weight-medium);
}

.difference__lists {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
}

.feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feature-list__item {
  min-height: 4.842rem;
  display: grid;
  grid-template-columns: 1.142rem 1fr;
  gap: .95rem;
  align-items: center;
  border-top: 1px solid rgba(0,0,0,.12);
  color: var(--color-primary);
  font-size: 1.009rem;
  line-height: 1.227;
}

.feature-list__item:first-child {
  border-top: 0;
}

.feature-list__icon {
  width: 1.142rem;
  height: 1.142rem;
}

.guide {
  color: #fff;
  min-height: 48.211rem;
  padding: 4.895rem 0 2.105rem;
  background: var(--gradient-guide);
}

.guide__main {
  display: grid;
  grid-template-columns: 34.211rem 36.211rem;
  gap: 0;
  align-items: start;
  justify-content: start;
  column-gap: 1.053rem;
  padding-left: .895rem;
}

.guide__visual {
  padding-top: 2.483rem;
}

.guide__image {
  border-radius: 0;
  width: 19.263rem;
  height: 21.105rem;
  aspect-ratio: auto;
  margin-left: .316rem;
  background-position: center;
}

.guide__content {
  display: grid;
  grid-template-columns: .8fr 1.3fr;
  gap: 3rem;
  align-items: start;
}

.guide__bio {
  font-family: var(--font-display);
  display: grid;
  width: 36.211rem;
  padding-top: 0;
  font-size: .819rem;
  line-height: 1.558;
  gap: 1.517rem;
}

.guide-role {
  border-radius: .697rem;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 .272rem .945rem .398rem rgba(0,174,255,.3);
  width: 26.947rem;
  min-height: 12.984rem;
  margin-top: 2.421rem;
  padding: 2.174rem 1.956rem;
}

.guide-role__title {
  font-family: var(--font-heading);
  font-weight: var(--weight-medium);
  line-height: 1.176;
  font-size: 1.692rem;
}

.guide-role__list {
  list-style: none;
  padding: 0;
  margin: 1.592rem 0 0;
  display: grid;
  gap: .674rem;
}

.guide-role__item {
  display: flex;
  gap: .543rem;
  align-items: center;
  color: rgba(220,236,245,.9);
  font-size: .896rem;
  line-height: 1.5;
}

.guide-role__dot {
  width: .322rem;
  height: .322rem;
  border-radius: 50%;
  background: var(--color-accent);
}

.guide-stats {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: .558rem;
  margin-top: 3.053rem;
}

.guide-stat {
  border-top: 1px solid rgba(255,255,255,.75);
  padding: 1rem .447rem;
}

.guide-stat__value {
  font-size: 1.6rem;
  font-weight: var(--weight-medium);
  color: #fff;
}

.guide-stat:first-child .guide-stat__value, .guide-stat:nth-child(2) .guide-stat__value {
  color: var(--color-accent);
}

.guide-stat__label {
  margin-top: .447rem;
  font-size: .67rem;
  line-height: 1.2;
}

.faculty {
  padding: 7.895rem 0 8.526rem;
  background: var(--color-background-warm);
  min-height: 54.158rem;
}

.faculty__head {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 5rem;
}

.faculty__grid {
  margin-top: 6rem;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 4.105rem;
}

.faculty-card {
  text-align: center;
}

.faculty-card__image {
  aspect-ratio: 300/360;
  border: .526rem solid #fff;
  border-radius: var(--radius-xs);
  background: var(--color-blue-pale-2);
}

.faculty-card__name {
  margin-top: 2.684rem;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.faculty-card__role {
  margin-top: 1.158rem;
  font-size: .711rem;
  color: var(--color-text-soft);
}

.trusted {
  padding: 6.947rem 0;
  min-height: 48.737rem;
  background: var(--gradient-trusted);
}

.trusted__layout {
  display: grid;
  grid-template-columns: 1.2fr .9fr;
  gap: 6rem;
}

.trusted__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
  text-transform: capitalize;
  color: var(--color-primary);
}

.trusted__left {
  position: relative;
  min-height: 38rem;
}

.trusted__nav {
  position: absolute;
  top: .526rem;
  right: 0;
  display: flex;
  gap: .632rem;
}

.trusted__nav-button {
  width: 3.879rem;
  height: 3.879rem;
  border: 1px solid rgba(5,30,52,.18);
  background: rgba(255,255,255,.22);
}

.testimonial {
  margin-top: 8.526rem;
  max-width: 50.737rem;
}

.testimonial__avatar {
  width: 5.842rem;
  height: 4.895rem;
  background: #d9d9d9;
  border-radius: var(--radius-sm);
}

.testimonial__name {
  margin-top: .579rem;
  font-family: var(--font-heading);
  font-size: 1.105rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.testimonial__quote {
  max-width: 25.65rem;
  margin-top: 4.263rem;
  font-family: var(--font-display);
  font-size: 1.176rem;
  line-height: 1.558;
  color: rgba(5,30,52,.64);
}

.stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .858rem;
  align-content: center;
}

.stat-card {
  min-height: 14.334rem;
  padding: 1.43rem 1.907rem;
  border-radius: 1.525rem;
  background: var(--color-primary);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.stat-card--copy-first {
  justify-content: space-between;
}

.stat-card:nth-child(2), .stat-card:nth-child(3) {
  background: linear-gradient(180deg,#051e34,#3b9de0);
}

.stat-card__value {
  font-size: 4.272rem;
  line-height: 1;
}

.stat-card__copy {
  font-family: var(--font-display);
  font-size: .803rem;
  line-height: 1.56;
  color: rgba(255,255,255,.68);
}

.everything {
  padding: 5.737rem 0 4.316rem;
  color: #fff;
  background: var(--gradient-everything);
  min-height: 54.737rem;
}

.everything__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.everything__body {
  margin-top: 4.947rem;
  display: grid;
  grid-template-columns: .85fr 1.9fr;
  gap: 6rem;
  align-items: center;
}

.everything__months {
  font-family: var(--font-heading);
  font-size: 10.526rem;
  font-weight: var(--weight-semibold);
  line-height: .8;
  letter-spacing: -.02em;
}

.everything__month-label {
  margin-top: 2rem;
  color: var(--color-accent-alt);
  font-family: var(--font-ui);
  font-size: .947rem;
  letter-spacing: .333em;
}

.everything__month-copy {
  max-width: 15.789rem;
  margin-top: 1rem;
  color: rgba(220,236,245,.8);
  font-weight: var(--weight-light);
  font-size: .842rem;
  line-height: 1.5;
}

.included-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 1.789rem;
  align-items: center;
}

.included-card {
  min-height: 20rem;
  padding: 4.6rem 1.579rem 2rem;
  border-radius: 1.263rem;
  background: #00426f;
  box-shadow: 0 1.053rem 2.316rem rgba(3,16,30,.35);
}

.included-card:nth-child(2) {
  min-height: 23.158rem;
  background: linear-gradient(180deg,#0b3d63,#2f79a6);
  border-radius: 1.368rem;
}

.included-card__title {
  font-family: var(--font-ui);
  font-size: 1.211rem;
  font-weight: var(--weight-bold);
  letter-spacing: .104em;
}

.included-list {
  list-style: none;
  padding: 0;
  margin: 2.211rem 0 0;
  display: grid;
  gap: .632rem;
}

.included-list__item {
  display: flex;
  gap: .526rem;
  font-size: .763rem;
  color: rgba(255,255,255,.9);
}

.included-list__item::before {
  content: "✓";
  color: var(--color-accent-alt);
  font-family: var(--font-ui);
  font-size: .632rem;
}

.everything__footer {
  margin-top: 4.526rem;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 1.474rem;
}

.apply-divider {
  position: relative;
  overflow: hidden;
  padding: 5.526rem 0;
  text-align: center;
  background: var(--gradient-apply-divider);
  min-height: 20.842rem;
}

.apply-divider::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0));
  pointer-events: none;
}

.apply-divider__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.apply-divider__copy {
  margin-top: 1.737rem;
  font-family: var(--font-ui);
  font-size: .884rem;
  color: rgba(0,0,0,.66);
}

.founding {
  padding: 6.368rem 0;
  background: linear-gradient(180deg,#071e32,#0a2c49);
  color: #fff;
  min-height: 43rem;
}

.founding__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}

.founding__title {
  max-width: 31.579rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.founding__copy {
  max-width: 28.421rem;
  margin-top: 4.263rem;
  color: rgba(220,236,245,.82);
  font-size: .868rem;
  line-height: 1.636;
}

.founding__network {
  position: relative;
  min-height: 31.579rem;
}

.founding__ring {
  position: absolute;
  inset: 3rem 5rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  box-shadow: 0 0 8rem rgba(59,157,224,.18);
}

.founding__core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 6.737rem;
  height: 6.737rem;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.35);
  display: grid;
  place-items: center;
  text-align: center;
  font-family: var(--font-ui);
  font-size: .579rem;
  font-weight: var(--weight-bold);
  letter-spacing: .09em;
}

.founding-tag {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: .474rem;
  padding: .526rem .842rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--radius-pill);
  background: rgba(255,255,255,.07);
  box-shadow: 0 .421rem 1.053rem rgba(3,16,30,.35);
  font-family: var(--font-ui);
  font-size: .658rem;
  letter-spacing: .112em;
}

.founding-tag::before {
  content: "";
  width: .368rem;
  height: .368rem;
  border-radius: 50%;
  background: var(--color-accent);
}

.founding-tag:nth-child(3) {
  left: 43%;
  top: 4%;
}

.founding-tag:nth-child(4) {
  right: 0;
  top: 22%;
}

.founding-tag:nth-child(5) {
  right: 0;
  top: 62%;
}

.founding-tag:nth-child(6) {
  left: 42%;
  bottom: 2%;
}

.founding-tag:nth-child(7) {
  left: 2%;
  top: 62%;
}

.founding-tag:nth-child(8) {
  left: 3%;
  top: 22%;
}

.founding__action {
  margin-top: 4rem;
}

.investment {
  padding: 6.526rem 0 6.842rem;
  background: var(--color-background-warm);
  min-height: 40rem;
}

.investment__layout {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 8rem;
}

.investment__title {
  max-width: 31.579rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
}

.investment__copy {
  max-width: 29.474rem;
  margin-top: 5rem;
  font-weight: var(--weight-light);
  line-height: 1.556;
}

.investment-table {
  width: 32.632rem;
  max-width: 100%;
}

.investment-table__label {
  font-family: var(--font-ui);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  letter-spacing: .154em;
  color: var(--color-secondary);
}

.investment-row {
  min-height: 4.105rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  border-bottom: 1px solid rgba(5,30,52,.12);
}

.investment-row__name {
  font-family: var(--font-heading);
  font-size: 1.263rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.investment-row__value {
  color: var(--color-text-soft);
  font-size: .895rem;
}

.investment-table__note {
  margin-top: 5.263rem;
  font-size: .632rem;
  color: rgba(91,107,119,.7);
}

.investment-table__action {
  margin-top: 1.579rem;
}

.application {
  padding: 5.053rem 0 5.474rem;
  background: #fff;
  min-height: 43.158rem;
}

.application__head {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 8rem;
  align-items: start;
}

.application__steps {
  margin-top: 4.947rem;
  display: grid;
  grid-template-columns: repeat(9,auto);
  align-items: center;
  justify-content: center;
  gap: 1.526rem;
}

.application-card {
  width: 10.45rem;
  min-height: 12.632rem;
  border-radius: 1.105rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.263rem;
  text-align: center;
  background: #dcf1ff;
}

.application-card:nth-of-type(2) {
  background: #b4e0ff;
}

.application-card:nth-of-type(3) {
  background: #3b9de0;
  color: #fff;
}

.application-card:nth-of-type(4) {
  background: #94c6e9;
}

.application-card__icon {
  width: 2.632rem;
  height: 2.579rem;
}

.application-card__icon-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.application-card__title {
  font-family: var(--font-heading);
  font-size: 1.158rem;
  font-weight: var(--weight-medium);
  letter-spacing: .018em;
}

.application-card__copy {
  font-size: .763rem;
  color: var(--color-text-soft);
}

.application-card:nth-of-type(3) .application-card__copy {
  color: #fff;
}

.application-arrow {
  width: 3.211rem;
  opacity: .68;
}

.application-arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.application__action {
  margin-top: 3.684rem;
  text-align: center;
}

.faq {
  padding: 7.895rem 0 7.368rem;
  background: var(--color-blue-pale);
  min-height: 52.579rem;
}

.faq__layout {
  display: grid;
  grid-template-columns: .72fr 1.35fr;
  gap: 7rem;
}

.faq__intro {
  padding-top: .1rem;
}

.faq__title {
  max-width: 21.053rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
}

.faq__copy {
  max-width: 18.947rem;
  margin-top: 3rem;
  color: var(--color-text-soft);
  font-size: .895rem;
  line-height: 1.529;
}

.faq-list {
  border-top: 1px solid var(--color-border);
}

.faq-item {
  border-bottom: 1px solid var(--color-border);
}

.faq-question {
  width: 100%;
  min-height: 4rem;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  padding: 1.368rem 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 1.105rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.faq-symbol {
  color: var(--color-secondary);
  font-size: 1.263rem;
  font-weight: var(--weight-medium);
}

.faq-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--transition);
}

.faq-answer__inner {
  overflow: hidden;
}

.faq-answer p {
  padding: 0 4rem 1.579rem 0;
  color: var(--color-text);
  font-size: .895rem;
  line-height: 1.588;
}

.faq-item.is-open .faq-answer {
  grid-template-rows: 1fr;
}

/* Closing CTA and footer */
.final-cta {
  min-height: 37.211rem;
  padding: 4.421rem;
  color: #fff;
  background-color: #fff;
  background-image: var(--asset-final-cta);
  background-repeat: no-repeat;
  background-size: 123.438% auto;
  background-position: center 43%;
}

.final-cta__layout {
  display: grid;
  grid-template-columns: 1.3fr .58fr;
  gap: 8rem;
  min-height: 28rem;
}

.final-cta__title {
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  font-weight: var(--weight-section-title);
  letter-spacing: var(--tracking-section-title);
}

.final-cta__aside {
  padding-top: 2rem;
}

.final-cta__copy {
  font-family: var(--font-ui);
  font-size: .916rem;
  line-height: 1.4;
  color: rgba(255,255,255,.68);
  display: grid;
  gap: 1.368rem;
}

.final-cta__actions {
  margin-top: 2.474rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.368rem;
}

.site-footer {
  min-height: 34.211rem;
  padding: 4.316rem 0 2.021rem;
  color: #fff;
  background: var(--gradient-footer);
}

.footer-banner {
  min-height: 7.895rem;
  display: grid;
  place-items: center;
  border-radius: .737rem;
  background: rgba(242,234,212,.07);
  font-family: var(--font-script);
  font-size: 2.712rem;
  line-height: 1.106;
  text-align: center;
}

.footer-main {
  margin-top: 4.211rem;
  padding: 0 4.547rem 3.368rem;
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 7rem;
}

.footer-brand__name {
  font-family: var(--font-footer);
  font-size: 1.263rem;
  font-weight: var(--weight-bold);
}

.footer-brand__copy {
  max-width: 21.264rem;
  margin-top: .789rem;
  color: rgba(255,255,255,.56);
  font-family: var(--font-display);
  font-size: .968rem;
  line-height: 1.5;
}

.footer-affiliates {
  justify-self: end;
  min-width: 14rem;
}

.footer-affiliates__title {
  font-family: var(--font-footer);
  font-size: .895rem;
  font-weight: var(--weight-semibold);
}

.footer-affiliates__links {
  margin-top: 1.293rem;
  display: grid;
  gap: .284rem;
  color: rgba(255,255,255,.56);
  font-family: var(--font-heading);
  font-size: .968rem;
  line-height: 1.6;
}

.footer-bottom {
  margin: 0 4.547rem;
  padding-top: 1.568rem;
  border-top: 1px solid rgba(255,255,255,.16);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: rgba(255,255,255,.7);
  font-family: var(--font-footer);
  font-size: .842rem;
}

.footer-social {
  display: flex;
  gap: 1.179rem;
}


.comparison-table__head .comparison-table__nsm,
.comparison-row__nsm {
  background: var(--gradient-nsm-column);
}

.advantage__header > div .section-title {
  margin-top: 0;
}

.comparison-row::before {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(0,0,0,.15);
  pointer-events: none;
  content: none;
}

.comparison-row:first-of-type::before {
  height: 2px;
  background: rgba(0,0,0,.58);
}

.practice-spine::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -9rem;
  background: linear-gradient(90.0084deg, #3b9de0 0%, #73b3df 89.731%);
  filter: blur(11.434rem);
  transform: scale(1.08);
}

.practice-spine::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(ellipse at 20% 9%, rgba(255,255,255,.96) 0 12%, rgba(255,255,255,.25) 31%, transparent 47%),
    radial-gradient(ellipse at 77% 8%, rgba(255,255,255,.95) 0 10%, rgba(255,255,255,.24) 29%, transparent 44%),
    radial-gradient(ellipse at 94% 34%, rgba(255,255,255,.90) 0 11%, rgba(255,255,255,.20) 30%, transparent 46%),
    radial-gradient(ellipse at 9% 41%, rgba(255,255,255,.76) 0 9%, rgba(255,255,255,.13) 29%, transparent 44%);
  pointer-events: none;
}

.practice-spine > .container {
  position: relative;
  z-index: 1;
  max-width: 81.895rem;
}

.practice-spine__head .section-title--display {
  max-width: 41.053rem;
  margin-top: var(--section-heading-gap);
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.practice-spine__head > .section-copy {
  width: 29.474rem;
  padding-top: 1.474rem;
  font-size: .947rem;
  line-height: 1.556;
}

.practice-spine__curve-glow,
.practice-spine__curve-line {
  position: absolute;
  pointer-events: none;
}

.practice-spine__curve-glow {
  left: 0;
  top: 4.595rem;
  width: 75.053rem;
  height: 9.379rem;
}

.practice-spine__curve-line {
  left: 1.29rem;
  top: 5.842rem;
  width: 72.579rem;
  height: 6.905rem;
}

.practice-stage__day {
  position: absolute;
  top: 12.053rem;
  font-family: var(--font-ui);
  font-size: .632rem;
  font-weight: var(--weight-medium);
  letter-spacing: .1em;
  color: var(--color-primary);
  white-space: nowrap;
}

.practice-stage__day--start {
  left: -4.421rem;
}

.practice-stage__day--end {
  right: -5rem;
}

.practice-stage--foundation {
  left: 5.5rem;
}

.practice-stage--embodiment {
  left: 32.947rem;
  top: 6.263rem;
}

.practice-stage--embodiment .practice-stage__dot {
  margin-top: 2.947rem;
}

.practice-stage--embodiment .practice-stage__day {
  top: 8.158rem;
  left: 15rem;
}

.practice-stage--opening {
  left: 58.526rem;
}

.practice-stage--resting {
  right: 1.632rem;
  top: 2.895rem;
  width: 15rem;
}

.practice-stage--resting .practice-stage__title {
  font-size: 1.158rem;
}

.practice-stage--resting .practice-stage__days {
  font-size: .684rem;
  color: rgba(255,255,255,.92);
}

.practice-stage__resting-ring {
  width: 4.895rem;
  height: 4.895rem;
  margin: 1.579rem auto 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  border: .526rem solid rgba(255,255,255,.88);
  box-shadow: 0 0 0 .526rem #9ccbe8, 0 0 2rem 1.1rem #3b9de0;
  color: var(--color-blue);
  font-family: var(--font-ui);
  font-size: .842rem;
  font-weight: var(--weight-bold);
}

.rhythm-list__item + .rhythm-list__item::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: -.895rem;
  height: 1.789rem;
  border-left: 1px solid rgba(0,0,0,.22);
}

.rhythm-panel__action {
  position: absolute;
  left: 2.421rem;
  bottom: 2.421rem;
  width: 9.862rem;
  min-width: 0;
  min-height: 2.209rem;
  padding: .632rem .737rem;
  justify-content: space-between;
  border-radius: var(--button-radius);
  border-color: rgba(0,0,0,.58);
  color: var(--color-black);
  font-size: .575rem;
  gap: .368rem;
  white-space: nowrap;
}

.community .container {
  max-width: 76.158rem;
  transform: translateX(-.342rem);
}

.standards > .container {
  width: 100%;
  max-width: none;
  margin: 0;
}

.standards__copy-card .eyebrow {
  font-family: var(--font-section-eyebrow);
  font-size: var(--text-eyebrow);
  font-weight: var(--weight-section-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
}

.standards__copy-card .section-title {
  width: 27.263rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.standards__copy-card .section-copy {
  width: 25.316rem;
  margin-top: 2.947rem;
}

.standards .ladder {
  left: 30.211rem;
  right: auto;
  top: 14.474rem;
  bottom: auto;
  width: 67.158rem;
  height: 32.632rem;
}

.guide__left .section-title {
  width: 26.421rem;
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.guide__right {
  padding-top: 2.842rem;
}

.advantage__header > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--section-heading-gap);
}

.comparison-row:last-child {
  border-bottom-color: var(--color-accent);
}


.practice-spine__curve-glow,
.practice-spine__curve-line,
.practice-stage {
  display: none;
}

.rhythm-panel__action-icon {
  width: .71rem;
  height: .71rem;
  flex: 0 0 auto;
}

.phase-two__layout > div:first-child {
  padding-top: 6.842rem;
}

.phase-two .eyebrow {
  margin-bottom: 0;
}

.practicum-intro .eyebrow {
  margin-bottom: 0;
}

.phase-two .practicum-graphic {
  width: 51.053rem;
  min-height: 34rem;
  margin-top: 5.211rem;
}

.community__top > div:first-child {
  width: 28.421rem;
}

.community #community-title {
  max-width: 23.842rem;
  margin-top: var(--section-heading-gap);
  font-family: var(--font-section-title);
  font-size: var(--text-section-title);
  font-weight: var(--weight-section-title);
  line-height: var(--line-section-title);
  letter-spacing: var(--tracking-section-title);
}

.community__top .section-copy {
  width: 28.421rem;
  max-width: none;
  margin-top: 2rem;
  font-family: var(--font-body);
  font-size: .947rem;
  font-weight: var(--weight-light);
  line-height: 1.556;
}

.footer-brand {
  max-width: 23rem;
}


@media (min-width: 768px) and (max-width: 1300px) {
  .application__steps { gap: .75rem; }
  .application-card { width: 9.2rem; }
  .application-arrow { width: 1.7rem; }
}
@media (max-width: 767px) {
  :root {
    --text-eyebrow: 1.35rem;
    --text-section-title: clamp(3.8rem, 10.2vw, 4.6rem);
    --section-heading-gap: 1.8rem;
    --section-title-copy-gap: 2.4rem;
  }

  html {
    font-size: 10px !important;
  }
}

@media (max-width: 340px) {
  html {
    font-size: 9px !important;
  }
}

@media (max-width: 1400px) {
  :root {
    --page-gutter: 1.895rem;
    --section-space: 5.789rem;
  }

  .site-header__inner {
    gap: var(--space-4);
  }

  .site-nav {
    gap: 1rem;
  }

  .hero__benefits {
    right: 1rem;
  }

  .section-header--split, .program__head, .practice-spine__head {
    gap: var(--space-7);
  }

  .audience__layout {
    gap: 4.421rem;
  }

  .impact-flow {
    gap: 1rem;
    padding-inline: 2.2rem;
  }

  .impact-flow__item {
    min-width: 10.9rem;
  }

  .faculty__grid {
    gap: 2.7rem;
  }
}

@media (max-width: 1100px) {
  :root {
    --page-gutter: 1.474rem;
    --section-space: 4.737rem;
    --text-section-title: 2.15rem;
  }

  .hero__inner {
    padding-top: 6.1rem;
  }

  .hero__title {
    font-size: 3.95rem;
  }

  .hero__benefits {
    width: 17rem;
  }

  .benefit-strip__grid {
    gap: 2rem;
  }

  .section-title,
  .section-title--display,
  .phase-one__title {
    font-size: var(--text-section-title);
  }

  .approach__cards {
    gap: 1.8rem;
  }

  .program__phases {
    gap: 1rem;
  }

  .phase-one__layout {
    grid-template-columns: 34rem 1fr;
  }

  .phase-one__content {
    padding-left: 3.8rem;
  }

  .community__top {
    gap: 4rem;
  }

  .impact-flow {
    gap: .7rem;
  }

  .impact-flow__item {
    min-width: 9.8rem;
    font-size: .68rem;
  }

  .impact-flow__arrow {
    width: 1.8rem;
  }

  .everything__body {
    gap: 3.5rem;
  }

  .included-grid {
    gap: 1rem;
  }

  .founding__layout, .investment__layout, .application__head {
    gap: 4rem;
  }

  .faq__layout {
    gap: 4rem;
  }
}

@media (max-width: 1100px) and (min-width: 768px) {
  .practice-spine__curve {
    transform: translateX(-50%) scale(.92);
    transform-origin: top center;
    left: 50%;
  }

  .rhythm-panel {
    width: calc(100% - (var(--page-gutter) * 2));
    grid-template-columns: 1fr 1fr;
  }

  .rhythm-panel__image, .rhythm-panel__content {
    width: auto;
  }

  .community {
    padding-top: 6rem;
    padding-bottom: 10rem;
  }

  .guide__main {
    grid-template-columns: .92fr 1.08fr;
    padding-left: 0;
    column-gap: 2.5rem;
  }

  .guide__bio {
    width: auto;
  }

  .guide-role {
    width: min(100%, 26.947rem);
  }

  .practice-spine > .container {
    width: calc(100% - (var(--page-gutter) * 2));
  }

  .practice-spine__head {
    column-gap: 4rem;
    padding-left: 0;
  }

  .standards .ladder {
    transform: scale(.88);
    transform-origin: left top;
  }

  .community .container {
    transform: none;
  }

  .community__top {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr);
    gap: 4rem;
    padding-left: 0;
  }

  .community__top > div:first-child,
  .community__image,
  .community__top .section-copy {
    width: auto;
  }

  .phase-two__layout {
    width: calc(100% - (var(--page-gutter) * 2));
    padding-left: 0;
    grid-template-columns: .85fr 1.2fr;
    column-gap: 3rem;
    margin-inline: auto;
  }

  .phase-two .practicum-graphic {
    width: auto;
  }
}


/* targeted v10 adjustments */

.approach__quote { color: #ffffff; text-shadow: 0 0.053rem 0.632rem rgba(5,30,52,.32); }

/* Header mobile-navigation foundation: desktop remains unchanged. */
.site-logo {
  color: var(--color-white);
}

.mobile-menu-toggle {
  display: none;
}

.mobile-nav-panel {
  display: contents;
}

.outcome-dots {
  display: none;
}

/* Tablet: preserve desktop composition and only tighten scale/gutters. */
@media (min-width: 768px) and (max-width: 1199px) {
  :root {
    --page-gutter: 1.6rem;
    --section-space: 4.8rem;
  }

  .site-header__inner,
  .hero__inner {
    width: min(calc(100% - (var(--page-gutter) * 2)), 96.211rem);
  }

  .site-nav {
    gap: .9rem;
  }

  .site-nav__link {
    font-size: .74rem;
  }

  .hero__title {
    font-size: clamp(3.35rem, 5.5vw, 3.95rem);
  }

  .section-title--display {
    font-size: var(--text-section-title);
  }

  .faculty__grid,
  .included-grid,
  .community__cards {
    gap: 1.8rem;
  }
}

/* Mobile responsive system */
@media (max-width: 767px) {
  :root {
    --page-gutter: 2rem;
    --section-space: 6rem;
    --header-height: 6.4rem;
    --header-content-height: 6.4rem;
    --header-offset-top: 0rem;
    --text-footer-brand: 2.8rem;
    --text-footer-heading: 1.7rem;
    --text-footer-body: 1.5rem;
    --text-footer-meta: 1.35rem;
  }

  html {
    font-size: 10px !important;
  }

  body {
    overflow-x: hidden;
    font-size: 1.6rem;
  }

  body.menu-open {
    overflow: hidden;
  }

  .site {
    overflow-x: clip;
  }

  .container,
  .container--content,
  .container--narrow,
  .container--copy {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: none;
  }

  .section,
  .section--tight {
    padding-block: var(--section-padding);
  }

  .section-header {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }

  .section-header--center {
    align-items: center;
  }

  .section-header--split,
  .program__head,
  .practice-spine__head,
  .application__head,
  .faculty__head,
  .impact-chain__head {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--section-title-copy-gap);
    align-items: start;
  }

  .section-title,
  .section-title--display,
  .phase-one__title,
  .phase-two__title,
  .curriculum__title,
  .program__title,
  .faq__title,
  .founding__title,
  .investment__title,
  .guide__left .section-title,
  .community #community-title {
    max-width: 100%;
    width: auto;
    font-size: var(--text-section-title);
    line-height: var(--line-section-title);
    overflow-wrap: anywhere;
  }

  .section-copy,
  .section-copy--body,
  .section-copy--light {
    width: auto;
    max-width: 100%;
    font-size: 1.6rem;
    line-height: 1.55;
  }

  .eyebrow {
    font-size: 1.25rem;
    line-height: 1.35;
    letter-spacing: .14em;
  }

  .button {
    min-height: 44px;
    padding-inline: 2rem;
    font-size: 1.35rem;
  }

  .button--lg {
    min-height: 48px;
  }

  /* Header + accessible mobile menu */
  .site-header {
    position: absolute;
    height: var(--header-height);
    border-bottom-color: rgba(255,255,255,.22);
  }

  .site-header__inner {
    width: calc(100% - (var(--page-gutter) * 2));
    height: var(--header-content-height);
    margin-top: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
  }

  .site-logo {
    color: var(--color-white);
    font-size: 1.8rem;
    position: relative;
    z-index: 12;
  }

  .mobile-menu-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    padding: 1.1rem;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: var(--radius-sm);
    background: rgba(5,30,52,.16);
    color: var(--color-white);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .55rem;
    cursor: pointer;
    justify-self: end;
    position: relative;
    z-index: 12;
  }

  .mobile-menu-toggle__line {
    width: 2.1rem;
    height: 1px;
    background: currentColor;
    transition: transform var(--transition), opacity var(--transition);
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(1) {
    transform: translateY(.65rem) rotate(45deg);
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(2) {
    opacity: 0;
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(3) {
    transform: translateY(-.65rem) rotate(-45deg);
  }

  .mobile-nav-panel {
    display: flex;
    position: absolute;
    z-index: 11;
    top: calc(var(--header-height) - .2rem);
    left: var(--page-gutter);
    right: var(--page-gutter);
    max-height: calc(100vh - var(--header-height) - 2rem);
    overflow-y: auto;
    flex-direction: column;
    padding: 2rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--radius-lg);
    background: rgba(5,30,52,.97);
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1rem);
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  }

  .site-header.is-menu-open .mobile-nav-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .site-nav,
  .site-nav--primary,
  .site-nav--utility {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .site-nav--utility {
    border-top: 1px solid rgba(255,255,255,.14);
    margin-top: 1rem;
    padding-top: 1rem;
  }

  .site-nav__link {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem .6rem;
    color: var(--color-white);
    font-size: 1.6rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  /* Hero */
  .hero--home,
  .hero__inner {
    min-height: 0;
  }

  .hero--home {
    padding-bottom: 5rem;
    background: linear-gradient(145deg, var(--color-primary) 0%, var(--color-secondary) 68%, var(--color-blue) 135%);
  }

  .hero__image {
    object-position: 61% center;
    opacity: .42;
  }

  .hero__inner {
    width: calc(100% - (var(--page-gutter) * 2));
    padding-top: 10.5rem;
  }

  .hero__content {
    width: 100%;
  }

  .hero__title {
    max-width: 100%;
    font-size: clamp(3.5rem, 10.9vw, 4.7rem);
    line-height: 1.03;
    letter-spacing: -.045em;
  }

  .hero__lead,
  .hero__copy,
  .hero__meta {
    width: 100%;
  }

  .hero__lead {
    margin-top: 4rem;
    font-size: 1.75rem;
    line-height: 1.4;
  }

  .hero__copy {
    margin-top: 1.7rem;
    font-size: 1.55rem;
    line-height: 1.55;
  }

  .hero__actions {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .hero__actions .button {
    width: 100%;
    justify-content: space-between;
  }

  .hero__meta {
    margin-top: 2rem;
    font-size: 1.35rem;
    line-height: 1.45;
  }

  .hero__benefits {
    position: static;
    width: 100%;
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1.6rem;
  }

  .hero-benefit {
    min-width: 0;
    padding-top: 1.3rem;
  }

  .hero-benefit__title {
    font-size: 1.5rem;
    line-height: 1.2;
  }

  .hero-benefit__copy {
    margin-top: .8rem;
    font-size: 1.35rem;
    line-height: 1.4;
  }

  /* Icon strip */
  .benefit-strip {
    min-height: 0;
    padding: 4.2rem 0;
  }

  .benefit-strip__grid {
    width: calc(100% - (var(--page-gutter) * 2));
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    justify-content: stretch;
    gap: 2.4rem 2rem;
  }

  .benefit-item {
    gap: 1.2rem;
  }

  .benefit-item:last-child {
    grid-column: 1 / -1;
    width: calc(50% - 1rem);
    justify-self: center;
  }

  .benefit-item__icon {
    width: 5.4rem;
    height: 5.4rem;
    max-width: 5.4rem;
    padding: .65rem;
    border-radius: 50%;
    background-color: rgba(59,157,224,.10);
  }

  .benefit-item__text {
    max-width: 16.8rem;
    font-size: 1.4rem;
    line-height: 1.48;
  }

  /* Problem */
  .problem {
    padding: 6rem 0;
  }

  .problem__intro,
  .problem__title,
  .problem__summary {
    max-width: 100%;
  }

  .problem__statements {
    margin-top: 3rem;
    gap: 1.2rem;
    font-size: 1.5rem;
  }

  .problem__divider {
    width: calc(100% - 4rem);
    margin-top: 3rem;
  }

  .problem__summary {
    padding-inline: 2rem;
    font-size: 2rem;
  }

  .problem-panel {
    width: calc(100% - (var(--page-gutter) * 2));
    min-height: 0;
    grid-template-columns: 1fr;
    margin-top: 4rem;
  }

  .problem-panel__image {
    min-height: 38rem;
    height: 38rem;
  }

  .problem-panel__content {
    padding: 3rem 2.2rem;
  }

  .problem-panel__title {
    font-size: 2rem;
  }

  .problem-panel__lead {
    max-width: 100%;
    font-size: 1.6rem;
  }

  .problem-list {
    margin-top: 3.5rem;
  }

  .problem-list__item {
    grid-template-columns: 4.4rem 1fr;
    gap: 1.4rem;
    min-height: 6rem;
    font-size: 1.4rem;
  }

  .problem-list__number {
    width: 4.4rem;
    height: 4.4rem;
    font-size: 1.25rem;
  }

  .problem-list__item + .problem-list__item::before {
    left: 2.2rem;
    top: -1rem;
    height: 2rem;
  }

  .problem-panel__action {
    margin-top: 3rem;
    width: 100%;
  }

  /* Methodology */
  .methodology {
    padding-bottom: 6rem;
  }

  .methodology__inner {
    padding-top: 7rem;
  }

  .methodology .section-header,
  .methodology__definition,
  .methodology__grid,
  .methodology__arc {
    max-width: 100%;
  }

  .methodology__definition {
    margin-top: 3rem;
    font-size: 1.55rem;
  }

  .methodology__grid {
    margin-top: 4rem;
    grid-template-columns: 1fr;
  }

  .methodology-item {
    min-height: 0;
    padding: 2.4rem 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.25);
  }

  .methodology-item__number {
    font-size: 1.35rem;
  }

  .methodology-item__title {
    min-height: 0;
    margin-top: 1rem;
    font-size: 2rem;
  }

  .methodology-item__copy {
    margin-top: 1.2rem;
    font-size: 1.45rem;
  }

  .methodology__arc {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .methodology-arc__item,
  .methodology-arc__item:first-child,
  .methodology-arc__item:last-child {
    min-height: 9rem;
    border-radius: var(--radius-md);
  }

  .methodology-arc__label {
    font-size: 1.35rem;
  }

  .methodology-arc__value {
    font-size: 1.65rem;
  }

  /* Advantage */
  .advantage {
    padding: 6rem 0;
  }

  .advantage::before {
    top: -4rem;
    width: 100%;
    height: 32rem;
    background-size: cover;
    opacity: .45;
  }

  .advantage__header,
  .advantage__copy,
  .comparison-table,
  .advantage__after {
    max-width: 100%;
  }

  .comparison-table {
    margin-top: 4rem;
  }

  .comparison-table__head {
    display: none;
  }

  .comparison-row {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    margin-bottom: 1.4rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--color-surface);
  }

  .comparison-row > * {
    padding: 1.4rem 1.6rem;
  }

  .comparison-row__label {
    background: var(--color-blue-pale);
    font-size: 1.45rem;
  }

  .comparison-row__standard {
    font-size: 1.35rem;
  }

  .comparison-row__nsm,
  .comparison-row:last-child .comparison-row__nsm {
    margin: 0;
    border-radius: 0;
    font-size: 1.35rem;
  }

  .tag-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .tag {
    min-width: 0;
    font-size: 1.35rem;
    padding-block: .7rem;
  }

  /* Advanced + approach */
  .advanced-banner {
    min-height: 0;
    padding: 6rem 0;
  }

  .advanced-banner__title {
    font-size: var(--text-section-title);
  }

  .advanced-banner__copy {
    font-size: 1.5rem;
  }

  .approach {
    padding: 6rem 0;
  }

  .approach__background-decor {
    background-size: 75rem auto, 75rem auto;
    opacity: .72;
  }

  .approach__cards {
    max-width: 100%;
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .approach-card__heading {
    min-height: 5rem;
    font-size: 1.8rem;
  }

  .approach-card__image {
    height: 30rem;
  }

  .approach-list__item {
    min-height: 5rem;
    font-size: 1.35rem;
  }

  .approach__quote {
    margin-top: 4rem;
    font-size: 2rem;
  }

  /* Outcomes: swipe track + dots */
  .outcomes {
    min-height: 0;
    padding: 6rem 0;
  }

  .outcomes__head,
  .outcomes__body {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 0;
    margin-top: 0;
  }

  .outcomes__head {
    gap: 2rem;
  }

  .outcomes__head .section-title,
  .outcomes__intro-copy {
    width: auto;
    max-width: 100%;
  }

  .outcomes__intro-copy {
    font-size: 1.45rem;
  }

  .outcomes__controls {
    padding-top: 2.5rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
    align-items: center;
  }

  .outcomes__nav {
    order: 1;
  }

  .icon-button {
    width: 44px;
    height: 44px;
  }

  .outcomes__action {
    order: 2;
    width: 100%;
    min-height: 44px;
    margin-top: 0;
  }

  .outcome-track {
    width: 100%;
    margin-top: 3rem;
    padding: .5rem 0 1.5rem;
    gap: 1.6rem;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .outcome-track::-webkit-scrollbar {
    display: none;
  }


  .outcome-track::after {
    display: none;
  }

  .outcome-card,
  .outcome-card--small {
    flex: 0 0 calc(100% - 3rem);
    min-height: 0;
    margin-top: 0;
    scroll-snap-align: start;
  }

  .outcome-card__image,
  .outcome-card--small .outcome-card__image {
    height: 30rem;
    opacity: 1;
  }

  .outcome-card__body {
    padding: 2rem;
  }

  .outcome-card__title {
    font-size: 1.8rem;
  }

  .outcome-card__copy {
    font-size: 1.4rem;
  }

  .outcome-dots {
    display: flex;
    justify-content: center;
    gap: .8rem;
    margin-top: 1.4rem;
  }

  .outcome-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(5,30,52,.22);
  }

  .outcome-dot.is-active {
    background: var(--color-secondary);
  }

  /* Audience */
  .audience {
    padding: 6rem 0;
  }

  .audience__layout {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .audience-list {
    min-height: 0;
  }

  .audience-list__item {
    min-height: 5.6rem;
    padding: 1.6rem;
    font-size: 1.45rem;
  }

  .audience-list__item--active {
    min-height: 0;
  }

  .audience-list__item--active span {
    font-size: 1.4rem;
    line-height: 1.45;
  }

  .audience__image {
    aspect-ratio: 4 / 3;
  }

  .audience__quote {
    font-size: 2rem;
  }

  /* Milestone becomes a vertical journey */
  .milestone {
    min-height: 0;
    padding: 6rem 0;
  }

  .milestone__head {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    min-height: 0;
  }

  .milestone__copy {
    width: auto;
    font-size: 1.45rem;
  }

  .milestone__title {
    max-width: 100%;
    font-size: var(--text-section-title);
  }

  .milestone-line {
    height: auto;
    margin-top: 4rem;
    display: grid;
    gap: 1.4rem;
    padding-left: 3rem;
  }

  .milestone-line::before {
    left: .9rem;
    right: auto;
    top: 1rem;
    bottom: 1rem;
    width: 1px;
    height: auto;
    border: 0;
    border-left: 1px solid rgba(5,30,52,.28);
    transform: none;
  }

  .milestone-step,
  .milestone-step:nth-child(n) {
    position: relative;
    inset: auto;
    bottom: auto;
    left: auto;
    right: auto;
    min-height: 4rem;
    display: flex;
    align-items: center;
    font-size: 1.25rem;
  }

  .milestone-step::before {
    position: absolute;
    left: -2.55rem;
    width: .9rem;
    height: .9rem;
    margin: 0;
    box-shadow: 0 0 0 1.2rem rgba(12,78,119,.08);
  }

  .milestone-card {
    position: relative;
    inset: auto;
    left: auto;
    top: auto;
    transform: none;
    width: 100%;
    min-height: 13rem;
    padding: 2rem;
  }

  .quote-divider {
    padding: 4.5rem 0;
  }

  .quote-divider__top {
    font-size: 1.6rem;
  }

  .quote-divider__script {
    margin-top: .8rem;
    font-size: 2rem;
  }

  /* Program */
  .program {
    min-height: 0;
    padding: 6rem 0;
  }

  .program__intro-copy {
    width: auto;
    padding-top: 0;
    font-size: 1.5rem;
  }

  .program__weeks {
    display: none;
  }

  .program__phases {
    grid-template-columns: 1fr;
    gap: 3rem;
    margin-top: 4rem;
  }

  .phase-column__bar {
    min-height: 9rem;
  }

  .phase-panel {
    min-height: 0;
  }

  .check-list__item {
    min-height: 6rem;
    font-size: 1.4rem;
  }

  .program__action .button {
    width: 100%;
  }

  /* Phase one */
  .phase-one__layout {
    grid-template-columns: 1fr;
  }

  .phase-one__visual {
    min-height: 46rem;
  }

  .phase-one__image {
    min-height: 46rem;
  }

  .phase-one__content {
    padding: 6rem var(--page-gutter);
  }

  .phase-one__copy {
    max-width: 100%;
    font-size: 1.5rem;
  }

  .number-list__item {
    min-height: 6rem;
  }

  .number-list__number {
    font-size: 2.8rem;
  }

  .number-list__label {
    font-size: 1.6rem;
  }

  /* Curriculum */
  .curriculum {
    padding: 6rem 0 8rem;
  }

  .curriculum__intro {
    max-width: 100%;
  }

  .curriculum__copy {
    max-width: 100%;
    font-size: 1.5rem;
  }

  .module-progress {
    margin-top: 4rem;
    padding: 1.5rem 1rem 2rem;
  }

  .module-progress__dots {
    grid-template-columns: repeat(6,1fr);
    gap: .8rem 0;
    font-size: 1rem;
  }

  .core-area {
    padding: 4rem 0;
  }

  .core-area__title {
    font-size: 2.8rem;
  }

  .core-area__copy {
    font-size: 1.55rem;
  }

  .module-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .module-card {
    min-height: 0;
    padding: 2.4rem 2rem;
  }

  .module-card__title {
    font-size: 2rem;
  }

  .module-card__text {
    font-size: 1.4rem;
  }

  .curriculum__action {
    height: auto;
    min-height: 48px;
    padding-inline: 2rem;
  }

  /* Practice Spine + Weekly Rhythm */
  .practice-spine {
    min-height: 0;
    padding: 6rem 0;
    overflow: visible;
  }

  .practice-spine > .container {
    width: calc(100% - (var(--page-gutter) * 2));
  }

  .practice-spine__head {
    padding-left: 0;
  }

  .practice-spine__curve {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    left: auto;
    transform: none;
    margin: 4rem 0 0;
  }

  .practice-spine__curve-export {
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  .rhythm-panel {
    position: relative;
    inset: auto;
    left: auto;
    top: auto;
    transform: none;
    width: calc(100% - (var(--page-gutter) * 2));
    height: auto;
    min-height: 0;
    margin: 2.8rem auto 0;
    grid-template-columns: 1fr;
    border-radius: var(--radius-lg);
  }

  .rhythm-panel__image,
  .rhythm-panel__content {
    width: 100%;
    height: auto;
  }

  .rhythm-panel__image {
    min-height: 22rem;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    background-size: cover;
    background-position: center;
  }

  .rhythm-panel__content {
    padding: 3rem 2rem;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }

  .rhythm-panel__title {
    font-size: 2rem;
  }

  .rhythm-panel__lead {
    font-size: 1.55rem;
  }

  .rhythm-list {
    margin-top: 3rem;
  }

  .rhythm-list__item {
    min-height: 6.5rem;
    grid-template-columns: 4.4rem 1fr;
    gap: 1.4rem;
    font-size: 1.35rem;
  }

  .rhythm-list__number {
    width: 4.4rem;
    height: 4.4rem;
  }

  .rhythm-panel__action {
    width: 100%;
    margin-top: 2.4rem;
  }

  /* Community */
  .community {
    min-height: 0;
    padding: 6rem 0 5rem;
  }

  .community .container {
    transform: none;
  }

  .community__top {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 3rem;
    padding-left: 0;
  }

  .community__top > div:first-child,
  .community__image,
  .community__top .section-copy {
    width: 100%;
    max-width: 100%;
  }

  .community__image {
    height: auto;
    min-height: 28rem;
    aspect-ratio: 4 / 3;
  }

  .community__cards {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .community-card {
    height: auto;
    min-height: 14rem;
    padding: 2rem;
  }

  .community-card__title {
    font-size: 1.8rem;
  }

  .community-card__copy {
    font-size: 1.4rem;
  }

  /* Phase two */
  .phase-two {
    min-height: 0;
    padding: 6rem 0 8rem;
    background-position: center, 58% center;
  }

  .phase-two__layout {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: none;
    min-height: 0;
    margin: 0 auto;
    padding: 0;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .phase-two__layout > div:first-child {
    padding-top: 0;
  }

  .phase-two .eyebrow {
    margin-bottom: 2rem;
  }

  .phase-two__copy {
    max-width: 100%;
    margin-top: 2.5rem;
    font-size: 1.5rem;
  }

  .phase-two .practicum-graphic {
    width: 100%;
    min-height: 34rem;
    margin-top: 0;
    transform: scale(.94);
    transform-origin: center;
  }

  .practicum-intro {
    min-height: 0;
    padding: 6rem 0;
  }

  .practicum-intro .eyebrow {
    margin-bottom: 0;
  }

  .practicum-intro__title,
  .practicum-intro__copy {
    max-width: 100%;
  }

  .practicum-intro__copy {
    font-size: 1.5rem;
  }

  .process-row {
    margin-top: 3rem;
    flex-wrap: wrap;
    gap: 1rem;
  }

  .process-pill {
    padding: 1rem 1.4rem;
    font-size: 1.3rem;
  }

  .process-arrow {
    transform: rotate(90deg);
  }

  .practicum-features {
    width: 100%;
    max-width: 100%;
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .practicum-feature {
    min-height: 7rem;
    padding: 1.5rem;
    font-size: 1.35rem;
  }

  /* Feedback */
  .feedback {
    min-height: 0;
    padding: 7rem 0 6rem;
    background-position: center;
  }

  .feedback__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .feedback__copy {
    max-width: 100%;
  }

  .feedback__callout {
    margin-top: 2.5rem;
    font-size: 1.7rem;
  }

  .review-card {
    padding: 2rem 1.2rem;
  }

  .review-card__top,
  .review-card__footer {
    gap: 1rem;
    flex-wrap: wrap;
  }

  .review-card__edge {
    padding: 1.8rem;
  }

  /* Impact chain */
  .impact-chain {
    min-height: 0;
    padding: 6rem 0;
  }

  .impact-flow {
    margin-top: 4rem;
    padding: 2rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .impact-flow__item {
    width: 100%;
    min-width: 0;
    min-height: 5.5rem;
    font-size: 1.4rem;
  }

  .impact-flow__arrow {
    width: 2.4rem;
    justify-self: center;
    transform: rotate(90deg);
  }

  .impact-chain__bottom {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .impact-chain__quote {
    font-size: 1.4rem;
  }

  .impact-chain__bottom .button {
    width: 100%;
  }

  /* Competencies */
  .competencies__layout {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .competencies__content {
    padding: 6rem var(--page-gutter);
  }

  .competencies__intro-copy {
    width: auto;
    font-size: 1.5rem;
  }

  .competency-list {
    max-width: 100%;
  }

  .competencies__visual {
    min-height: 0;
    padding: 2rem;
  }

  .competencies__image {
    height: auto;
    min-height: 45rem;
  }

  /* Standards */
  .standards {
    min-height: 0;
    padding: 2rem 0 6rem;
  }

  .standards > .container {
    width: calc(100% - (var(--page-gutter) * 2));
  }

  .standards__surface {
    width: 100%;
    min-height: 0;
    padding: 2rem;
    display: grid;
    gap: 3rem;
  }

  .standards__copy-card {
    position: relative;
    inset: auto;
    width: 100%;
    min-height: 0;
    padding: 3rem 2rem;
  }

  .ladder,
  .standards .ladder {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    transform: none;
    display: grid;
    gap: 1rem;
  }

  .ladder-step,
  .ladder-step:nth-child(n) {
    position: relative;
    inset: auto;
    min-width: 0;
    min-height: 5.5rem;
    height: auto;
    padding: 1rem 1.2rem;
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.58);
    font-size: 1.35rem;
  }

  .ladder-step::before {
    width: 2.8rem;
    height: 2.8rem;
  }

  .ladder-step::after {
    display: none;
  }

  /* Difference */
  .difference {
    min-height: 0;
    padding: 6rem 0;
  }

  .difference__switch,
  .difference__lists {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .difference__switch {
    overflow: visible;
  }

  .difference-switch__item {
    min-height: 8rem;
    border-radius: var(--radius-lg);
  }

  .difference__lists {
    gap: 0;
  }

  .feature-list__item {
    min-height: 6rem;
    font-size: 1.45rem;
  }

  /* Guide */
  .guide {
    min-height: 0;
    padding: 6rem 0;
  }

  .guide__main {
    grid-template-columns: 1fr;
    padding-left: 0;
    gap: 4rem;
  }

  .guide__visual {
    padding-top: 3rem;
  }

  .guide__image {
    width: 100%;
    height: auto;
    min-height: 38rem;
    margin-left: 0;
    background-position: center 20%;
  }

  .guide__right,
  .guide__bio,
  .guide-role {
    width: 100%;
  }

  .guide__right {
    padding-top: 0;
  }

  .guide__bio {
    font-size: 1.45rem;
  }

  .guide-role {
    min-height: 0;
    margin-top: 3rem;
    padding: 2.5rem 2rem;
  }

  .guide-role__title {
    font-size: 2rem;
  }

  .guide-role__item {
    font-size: 1.35rem;
  }

  .guide-stats {
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }

  .guide-stat {
    min-height: 9rem;
  }

  .guide-stat__value {
    font-size: 2.2rem;
  }

  .guide-stat__label {
    font-size: 1.35rem;
  }

  /* Faculty */
  .faculty {
    min-height: 0;
    padding: 6rem 0;
  }

  .faculty__grid {
    margin-top: 4rem;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 1.6rem;
  }

  .faculty-card__name {
    margin-top: 1.6rem;
    font-size: 1.5rem;
  }

  .faculty-card__role {
    margin-top: .8rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }

  /* Trusted voices */
  .trusted {
    min-height: 0;
    padding: 6rem 0;
  }

  .trusted__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .trusted__title {
    font-size: var(--text-section-title);
  }

  .trusted__left {
    min-height: 0;
  }

  .trusted__nav {
    position: static;
    margin-top: 2rem;
  }

  .trusted__nav-button {
    width: 44px;
    height: 44px;
  }

  .testimonial {
    margin-top: 4rem;
  }

  .testimonial__quote {
    max-width: 100%;
    margin-top: 3rem;
    font-size: 1.7rem;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }

  .stat-card {
    min-height: 16rem;
    padding: 1.8rem;
  }

  .stat-card__value {
    font-size: 4rem;
  }

  .stat-card__copy {
    font-size: 1.4rem;
    line-height: 1.42;
  }

  /* Everything included */
  .everything {
    min-height: 0;
    padding: 6rem 0;
  }

  .everything__body {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .everything__months {
    font-size: 8rem;
  }

  .everything__month-copy {
    max-width: 100%;
    font-size: 1.4rem;
  }

  .included-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .included-card,
  .included-card:nth-child(2) {
    min-height: 0;
    padding: 3rem 2rem;
  }

  .included-card__title {
    font-size: 1.8rem;
  }

  .included-list__item {
    font-size: 1.35rem;
  }

  /* Apply divider */
  .apply-divider {
    min-height: 0;
    padding: 6rem 0;
  }

  .apply-divider__title {
    font-size: var(--text-section-title);
  }

  .apply-divider__copy {
    font-size: 1.45rem;
  }

  /* Founding cohort */
  .founding {
    min-height: 0;
    padding: 6rem 0;
  }

  .founding__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .founding__copy {
    max-width: 100%;
    margin-top: 2.5rem;
    font-size: 1.45rem;
  }

  .founding__network {
    min-height: 40rem;
  }

  .founding__ring {
    inset: 4rem;
  }

  .founding-tag {
    font-size: 1.3rem;
    padding: .9rem 1.1rem;
  }

  .founding__action .button {
    width: 100%;
  }

  /* Investment */
  .investment {
    min-height: 0;
    padding: 6rem 0;
  }

  .investment__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .investment__copy {
    max-width: 100%;
    margin-top: 2.5rem;
    font-size: 1.45rem;
  }

  .investment-table {
    width: 100%;
  }

  .investment-row {
    min-height: 7rem;
    grid-template-columns: 1fr;
    gap: .8rem;
    padding: 1.4rem 0;
  }

  .investment-row__name {
    font-size: 1.7rem;
  }

  .investment-row__value {
    font-size: 1.35rem;
  }

  .investment-table__note {
    margin-top: 3rem;
    font-size: 1.35rem;
  }

  .investment-table__action .button {
    width: 100%;
  }

  /* Application */
  .application {
    min-height: 0;
    padding: 6rem 0;
  }

  .application__steps {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .application-card {
    width: 100%;
    min-height: 13rem;
  }

  .application-card__title {
    font-size: 1.8rem;
  }

  .application-card__copy {
    font-size: 1.35rem;
  }

  .application-arrow {
    width: 3rem;
    justify-self: center;
    transform: rotate(90deg);
  }

  .application__action .button {
    width: 100%;
  }

  /* FAQ */
  .faq {
    min-height: 0;
    padding: 6rem 0;
  }

  .faq__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .faq__title,
  .faq__copy {
    max-width: 100%;
  }

  .faq__copy {
    margin-top: 2rem;
    font-size: 1.45rem;
  }

  .faq-question {
    min-height: 44px;
    padding: 1.8rem 0;
    font-size: 1.55rem;
  }

  .faq-answer p {
    padding-right: 0;
    font-size: 1.4rem;
  }

  /* Final CTA */
  .final-cta {
    min-height: 0;
    padding: 6rem var(--page-gutter);
    background-size: cover;
    background-position: center;
  }

  .final-cta__layout {
    grid-template-columns: 1fr;
    gap: 4rem;
    min-height: 0;
  }

  .final-cta__title {
    max-width: 100%;
    font-size: var(--text-section-title);
  }

  .final-cta__aside {
    padding-top: 0;
  }

  .final-cta__copy {
    font-size: 1.5rem;
  }

  .final-cta__actions {
    align-items: stretch;
  }

  .final-cta__actions .button {
    width: 100%;
  }

  /* Footer */
  .site-footer {
    min-height: 0;
    padding: 5rem 0 3rem;
  }

  .footer-banner {
    min-height: 11rem;
    padding: 2rem;
    font-size: clamp(3rem, 8.6vw, 4rem);
    line-height: 1.08;
  }

  .footer-main {
    margin-top: 4rem;
    padding: 0 0 3rem;
    grid-template-columns: 1fr;
    gap: 4rem;
  }

  .footer-brand,
  .footer-brand__copy {
    max-width: 100%;
  }

  .footer-brand__name {
    font-size: var(--text-footer-brand);
    line-height: 1.15;
  }

  .footer-brand__copy,
  .footer-affiliates__links {
    font-size: var(--text-footer-body);
    line-height: 1.55;
  }

  .footer-affiliates {
    justify-self: start;
    min-width: 0;
  }

  .footer-affiliates__title {
    font-size: var(--text-footer-heading);
    line-height: 1.3;
  }

  .footer-bottom {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    font-size: var(--text-footer-meta);
    line-height: 1.45;
  }

  .footer-social {
    flex-wrap: wrap;
  }
}

@media (max-width: 340px) {
  html {
    font-size: 9px !important;
  }

  :root {
    --page-gutter: 2rem;
  }

  .hero__benefits,
  .benefit-strip__grid,
  .faculty__grid,
  .guide-stats,
  .stats-grid,
  .tag-row {
    grid-template-columns: 1fr;
  }

  .benefit-item:last-child {
    grid-column: auto;
    width: 100%;
  }

  .hero__title {
    font-size: 3.5rem;
  }

  .founding__network {
    min-height: 44rem;
  }
}

@media (max-width: 767px) {
  .rhythm-panel__action {
    position: static;
    left: auto;
    bottom: auto;
    width: 100%;
    min-height: 44px;
    margin-top: 2.4rem;
    font-size: 1.35rem;
    white-space: normal;
  }

  .outcome-dots {
    gap: 0;
  }

  .outcome-dot {
    position: relative;
    width: 44px;
    height: 44px;
    background: transparent;
    cursor: pointer;
  }

  .outcome-dot::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    transform: translate(-50%,-50%);
    background: rgba(5,30,52,.22);
  }

  .outcome-dot.is-active::before {
    background: var(--color-secondary);
  }

  .final-cta {
    background-color: var(--color-primary);
    background-image: var(--asset-final-cta), linear-gradient(145deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  }
}


/* Mobile polish: readability, spacing and resilient image fallbacks. */
@media (max-width: 767px) {
  .eyebrow {
    font-size: var(--text-eyebrow);
  }

  .hero-benefit__title,
  .faculty-card__name {
    line-height: 1.25;
  }

  .image-frame--problem,
  .image-frame--who,
  .image-frame--phase-one,
  .image-frame--practice,
  .image-frame--community,
  .image-frame--competencies,
  .outcome-card__image {
    background-color: var(--color-blue-pale-2);
  }

  .image-frame--practice {
    background-image: var(--asset-practice), linear-gradient(135deg, var(--color-blue-pale) 0%, var(--color-blue-soft) 100%);
  }

  .approach-card__image::before {
    background: var(--asset-compare-left) center / cover no-repeat, linear-gradient(135deg, var(--color-blue-pale) 0%, var(--color-blue-pale-2) 100%);
  }

  .approach-card--nsm .approach-card__image::before {
    background: var(--asset-compare-right) center / cover no-repeat, linear-gradient(135deg, var(--color-blue-pale-2) 0%, var(--color-blue-soft) 100%);
  }

  .rhythm-panel__image {
    background-color: var(--color-blue-pale-2);
  }

  .practicum-graphic__core {
    font-size: 1.25rem;
  }

  .practicum-node {
    min-width: 12.5rem;
    padding: 1rem 1.1rem;
    font-size: 1.25rem;
    line-height: 1.25;
  }

  .guide-stat__label,
  .faculty-card__role,
  .stat-card__copy,
  .investment-table__note,
  .included-list__item,
  .application-card__copy,
  .footer-bottom {
    line-height: 1.45;
  }
}


/* Mobile polish v13: typography alignment and final CTA readability. */
@media (max-width: 767px) {
  .problem__intro .eyebrow {
    width: 100%;
    justify-content: center;
    align-self: center;
    text-align: center;
  }

  .practice-spine__head .section-title--display,
  .community #community-title {
    max-width: 100%;
    width: auto;
    font-size: var(--text-section-title);
    line-height: var(--line-section-title);
  }

  .practice-spine__head > .section-copy,
  .community__top .section-copy {
    width: 100%;
    max-width: 100%;
    padding-top: 0;
    font-size: 1.7rem;
    line-height: 1.55;
  }

  .practice-spine__head > .section-copy {
    margin-top: .6rem;
  }

  .community__top .section-copy {
    margin-top: 1.6rem;
  }

  .competency-list__desc {
    margin-top: .8rem;
    font-size: 1.5rem;
    line-height: 1.5;
  }

  .standards__copy-card .eyebrow {
    font-size: var(--text-eyebrow);
    line-height: 1.35;
    letter-spacing: var(--tracking-eyebrow);
  }

  .final-cta {
    position: relative;
    isolation: isolate;
  }

  .final-cta::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background: color-mix(in srgb, var(--color-primary) 70%, transparent);
    pointer-events: none;
  }

  .final-cta__layout {
    position: relative;
    z-index: 1;
  }

  .final-cta__copy {
    color: var(--color-white);
    font-size: 1.65rem;
    line-height: 1.55;
  }
}


/* v16 targeted desktop/mobile refinements */
.apply-divider .eyebrow {
  width: 100%;
  justify-content: center;
}

.apply-divider__title {
  margin-inline: auto;
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1279px) {
  .impact-flow {
    flex-wrap: wrap;
    row-gap: 1rem;
  }

  .impact-flow__item {
    width: 9.25rem;
    min-width: 9.25rem;
  }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .impact-flow {
    justify-content: center;
    flex-wrap: wrap;
    row-gap: .85rem;
  }

  .impact-flow__item {
    width: 8.6rem;
    min-width: 8.6rem;
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .advanced-banner .eyebrow + .advanced-banner__title {
    margin-top: .842rem;
  }

  .apply-divider .eyebrow {
    justify-content: center;
  }
}


/* v17 Practice Spine markup responsiveness */
@media (max-width: 767px) {
  .practice-spine__curve {
    width: 100%;
    height: 31rem;
    margin-top: 4rem;
    left: auto;
    transform: none;
    overflow: visible;
  }

  .practice-spine__journey {
    top: 8rem;
    height: 15rem;
  }

  .practice-spine__stage strong,
  .practice-spine__resting strong {
    font-size: 1.45rem;
  }

  .practice-spine__stage span,
  .practice-spine__resting span {
    font-size: 1.2rem;
  }

  .practice-spine__stage--foundation { left: 16%; top: 2rem; }
  .practice-spine__stage--embodiment { left: 47%; top: 20.5rem; }
  .practice-spine__stage--opening { left: 77%; top: 2rem; }

  .practice-spine__resting {
    right: -1rem;
    top: 10.2rem;
    width: 12rem;
  }

  .practice-spine__day {
    font-size: 1rem;
  }

  .practice-spine__day--1 { left: 0; top: 20.2rem; }
  .practice-spine__day--7 { left: 25%; top: 18.8rem; }
  .practice-spine__day--14 { left: 55%; top: 21rem; }
}

/* v20 — final mobile H2 scale. Kept at the end so tablet/root rules cannot override it. */
@media (max-width: 767px) {
  :root {
    --text-section-title: clamp(3.6rem, 9.4vw, 4.2rem);
  }

  .section-title,
  .section-title--display,
  .advanced-banner__title,
  .milestone__title,
  .phase-one__title,
  .phase-two__title,
  .practicum-intro__title,
  .everything__title,
  .apply-divider__title,
  .founding__title,
  .investment__title,
  .faq__title,
  .final-cta__title,
  .community #community-title,
  .practice-spine__head .section-title--display {
    font-size: var(--text-section-title);
  }
}


/* ==========================================================================\n   HUBSPOT EDITOR COMPATIBILITY — v32\n   The approved v23 stylesheet above remains the visual source of truth.\n   These additions only handle empty HubSpot media fields/fallback icons; they\n   do not remap section geometry.\n   ========================================================================== */

/* Empty photo/image fields: intentional color/gradient only. */
.hero__media { background: linear-gradient(135deg,#071e32 0%,#0c4e77 52%,#2f79a6 100%); }
.image-frame--problem { background-image: var(--asset-problem), linear-gradient(145deg,#dcecf5 0%,#f4f8fb 48%,#8dbbd8 100%); }
.image-frame--who { background-image: var(--asset-who), linear-gradient(145deg,#eef5f8 0%,#dcecf5 55%,#7dafcf 100%); }
.image-frame--phase-one { background-image: var(--asset-phase-one), linear-gradient(145deg,#eef5f8 0%,#bdd8e9 52%,#2f79a6 100%); }
.image-frame--practice { background-image: var(--asset-practice), linear-gradient(135deg,#eef5f8 0%,#dcecf5 50%,#78add0 100%); }
.image-frame--community { background-image: var(--asset-community), linear-gradient(145deg,#eef5f8 0%,#dcecf5 52%,#4d8eb8 100%); }
.image-frame--guide { background-image: var(--asset-guide), linear-gradient(145deg,#dcecf5 0%,#7aaccb 52%,#0c4e77 100%); }
.image-frame--competencies { background-image: var(--asset-competencies), linear-gradient(145deg,#dcecf5 0%,#80b1cf 52%,#0c4e77 100%); }
.outcome-card__image { background-image: var(--asset-outcome), linear-gradient(145deg,#eef5f8 0%,#dcecf5 55%,#7eafcf 100%); }
.faculty-card__image { background-image: linear-gradient(145deg,#eef5f8 0%,#dcecf5 55%,#8bb8d3 100%); background-position:center; background-size:cover; }
.feedback { background-image: var(--asset-feedback), linear-gradient(135deg,#eef5f8 0%,#dcecf5 60%,#b7d3e4 100%); }
.final-cta { background-color:#08263f; background-image: var(--asset-final-cta), linear-gradient(120deg,#08263f 0%,#0c4e77 52%,#2f79a6 100%); }
.phase-two { background-color:#0c4e77; background-image: var(--gradient-phase-two-overlay), var(--asset-phase-two-bg), linear-gradient(120deg,#0c4e77 0%,#2f79a6 100%); }
.approach-card__image::before { background-image: var(--asset-compare-left), linear-gradient(135deg,#eef5f8 0%,#dcecf5 58%,#81b2d0 100%); }
.approach-card:nth-child(2) .approach-card__image::before { background-image: var(--asset-compare-right), linear-gradient(135deg,#dcecf5 0%,#8dbbd8 52%,#0c4e77 100%); }

/* Repeater arrow fallback uses the same original SVG proportion. */
.impact-flow__arrow svg { display:block; width:100%; height:auto; aspect-ratio:31/18; }
.application-arrow svg { display:block; width:100%; height:24px; }

/* Empty application icon fields keep the exact v23 icon box without a fake placeholder. */
.application-card__icon:empty { display:block; }


/* ==========================================================================\n   v35 — targeted polish after image-content QA\n   Keeps v32/v23 structure and v33 image fields; only the requested areas below\n   are adjusted.\n   ========================================================================== */

/* Keep the custom Approach background image clean: no color wash over it. */
.approach::after {
  display: none;
}

/* Weekly Learning Rhythm: never distort an uploaded image. */
.rhythm-panel__image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Feedback: restore breathing room between the H2 and description. */
.feedback__copy {
  margin-top: 1.35rem;
}

/* Competencies: image should visually fill the full image-side panel height. */
.competencies__visual {
  display: flex;
  align-items: stretch;
}
.competencies__image {
  flex: 1 1 auto;
  height: auto;
  min-height: 100%;
  background-size: cover;
  background-position: center;
}

/* Closing full-width banner: constrain only its CONTENT, not its background. */
.final-cta__layout {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
}

/* Phase Two remains full-bleed, but its inner composition is centered. */
.phase-two__layout {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-max));
  max-width: var(--container-max);
  margin-inline: auto;
  padding-left: 0;
  padding-right: 0;
  grid-template-columns: 36.263rem 51.053rem;
}

/* Figma-sized central competence circle; surrounding nodes retain their design. */
.practicum-graphic__core {
  width: 23rem;
  height: 23rem;
  font-size: 1.15rem;
  line-height: 1.2;
}

/* Certification Standards: preserve the original v32/v23 internal composition.\n   Only center the complete standards surface as one unit on desktop. */
@media (min-width: 768px) {
  .standards > .container {
    width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-max));
    max-width: var(--container-max);
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  /* Practice Spine: distribute labels around the curve instead of crowding the top. */
  .practice-spine__curve {
    width: min(100%, 35rem);
    min-height: 27rem;
    padding-top: 1rem;
    overflow: visible;
  }
  .practice-spine__journey {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1519 / 304;
    overflow: visible;
  }
  .practice-spine__stage strong,
  .practice-spine__resting strong {
    font-size: 1.25rem;
  }
  .practice-spine__stage span,
  .practice-spine__resting span,
  .practice-spine__day {
    font-size: 1rem;
    line-height: 1.25;
  }
  .practice-spine__stage--foundation {
    left: 14.2%;
    top: -.4rem;
  }
  .practice-spine__stage--embodiment {
    left: 46.1%;
    top: 8rem;
  }
  /* Opening intentionally moves below the curve on mobile. */
  .practice-spine__stage--opening {
    left: 73%;
    top: 15.2rem;
  }
  .practice-spine__resting {
    right: -.3rem;
    top: 2.7rem;
    width: 10.8rem;
  }
  .practice-spine__day--1 {
    left: 0;
    top: 17.2rem;
  }
  .practice-spine__day--7 {
    left: 8.8rem;
    top: 15.8rem;
  }
  .practice-spine__day--14 {
    left: 18.2rem;
    top: 11.4rem;
  }

  /* Weekly rhythm mobile image: maintain crop instead of stretching. */
  .rhythm-panel__image {
    min-height: 28rem;
    background-size: cover;
    background-position: center;
  }

  /* Phase Two centered on mobile too. */
  .phase-two__layout {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: none;
    margin-inline: auto;
    padding: 0;
    grid-template-columns: 1fr;
    gap: 4.6rem;
  }
  .phase-two__copy {
    margin-top: 2.8rem;
  }

  /* Responsive practicum orbital graphic. */
  .phase-two .practicum-graphic,
  .practicum-graphic {
    width: min(100%, 34rem);
    min-height: 42rem;
    margin-inline: auto;
    margin-top: 0;
    transform: none;
  }
  .practicum-graphic__core {
    width: 16.5rem;
    height: 16.5rem;
    font-size: 1.35rem;
    line-height: 1.2;
  }
  .practicum-node {
    min-width: 0;
    width: 12.6rem;
    padding: 1rem 1.1rem;
    font-size: 1.22rem;
    line-height: 1.25;
  }
  .practicum-node:nth-child(2) {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .practicum-node:nth-child(3) {
    top: 12rem;
    right: 0;
  }
  .practicum-node:nth-child(4) {
    right: 1rem;
    bottom: 3.6rem;
  }
  .practicum-node:nth-child(5) {
    left: 1rem;
    bottom: 3.6rem;
  }
  .practicum-node:nth-child(6) {
    top: 12rem;
    left: 0;
  }

  /* Keep previously approved mobile readability improvements. */
  .milestone-card__eyebrow {
    font-size: 1.05rem;
  }
  .milestone-card__title {
    font-size: 2.1rem;
    line-height: 1.15;
  }
  .milestone-card__copy {
    font-size: 1.35rem;
    line-height: 1.45;
  }
  .review-card {
    padding: 2rem 1.6rem;
  }
  .review-card__top {
    font-size: .95rem;
    line-height: 1.45;
  }
  .score-row__top {
    font-size: 1.35rem;
    line-height: 1.35;
  }
  .review-card__edge-label {
    font-size: 1rem;
  }
  .review-card__edge-copy {
    font-size: 1.35rem;
    line-height: 1.5;
  }
  .review-card__footer {
    font-size: .95rem;
    line-height: 1.45;
  }
  .feedback__callout {
    margin-top: 2rem;
  }
  .competencies__image {
    min-height: 52rem;
  }

  /* Founding cohort network remains contained and centered on small screens. */
  .founding__network {
    width: min(100%, 34rem);
    min-height: 34rem;
    margin-inline: auto;
  }
  .founding__ring {
    inset: 3rem;
  }
  .founding__core {
    width: 8.6rem;
    height: 8.6rem;
    font-size: .95rem;
    line-height: 1.3;
  }
  .founding-tag {
    max-width: 11rem;
    justify-content: center;
    text-align: center;
    font-size: 1.3rem;
    padding: .9rem 1.1rem;
  }
  .founding-tag:nth-child(3) { left: 50%; top: 0; transform: translateX(-50%); }
  .founding-tag:nth-child(4) { right: 0; top: 20%; }
  .founding-tag:nth-child(5) { right: 0; top: 62%; }
  .founding-tag:nth-child(6) { left: 50%; bottom: 0; transform: translateX(-50%); }
  .founding-tag:nth-child(7) { left: 0; top: 62%; }
  .founding-tag:nth-child(8) { left: 0; top: 20%; }

  /* Standards mobile: use the pre-v34 stacked design, centered as one complete block. */
  .standards > .container,
  .standards__surface,
  .standards__copy-card,
  .standards .ladder {
    margin-inline: auto;
  }
}


/* v36 — two final targeted refinements only */
@media (min-width: 768px) {
  /* Give Certification Standards more horizontal breathing room while preserving
     the original card-left / ladder-right composition. */
  .standards > .container {
    width: min(calc(100% - (var(--page-gutter) * 2)), 96.211rem);
    max-width: 96.211rem;
    margin-inline: auto;
  }

  /* Keep the final certification step fully inside the surface and let its
     yellow bar terminate exactly at the surface's right edge. */
  .standards .ladder-step:nth-child(7) {
    left: 22.5rem;
    right: -3.526rem;
    width: auto;
    min-width: 0;
  }

  .standards .ladder-step:nth-child(7)::after {
    width: auto;
    min-width: 7rem;
    flex: 1 1 auto;
  }
}

@media (max-width: 767px) {
  /* Bring FOUNDATION / Days 1–7 closer down toward the spine. */
  .practice-spine__stage--foundation {
    top: .8rem;
  }
}


/* ==========================================================================
   v37 — Certification Standards containment + true mobile centering
   ========================================================================== */

@media (min-width: 768px) {
  /* Preserve the exact ladder's visual left edge while extending its coordinate
     system to the Standards surface's right edge. This lets the final yellow
     bar end flush with the surface instead of overflowing it. */
  .standards .ladder {
    width: 49.526rem;
    right: 0;
  }

  .standards .ladder-step:nth-child(7) {
    left: 22.5rem;
    right: 0;
    width: auto;
    min-width: 0;
  }

  .standards .ladder-step:nth-child(7)::after {
    width: auto;
    min-width: 4rem;
    flex: 1 1 auto;
    margin-left: 1rem;
  }
}

@media (max-width: 767px) {
  /* Center the LIGHT-BLUE Standards surface itself in the viewport rather than
     successively shrinking nested containers. */
  .standards {
    overflow-x: clip;
  }

  .standards > .container {
    width: 100%;
    max-width: none;
    margin-inline: auto;
    padding-inline: var(--page-gutter);
  }

  .standards__surface {
    width: min(100%, 36rem);
    max-width: 100%;
    margin-inline: auto;
    padding: 2rem;
  }

  .standards__copy-card {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .standards .ladder {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}


/* ==========================================================================\n   v38 — Certification Standards only: restore Figma grid reference + true mobile card centering\n   ========================================================================== */
@media (min-width: 768px) {
  /* Keep all existing Standards typography/card spacing. Only rebuild the ladder geometry. */
  .standards .ladder {
    left: 30.211rem;
    right: auto;
    top: 14.474rem;
    bottom: auto;
    width: 63.2rem;
    height: 32.632rem;
    overflow: visible;
  }

  /* Figma reference: dark stepped spine behind the coloured horizontal bars. */
  .standards .ladder::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 13.2rem;
    bottom: 0;
    width: 38rem;
    height: 32.632rem;
    background: #0c4e77;
    clip-path: polygon(
      0% 100%, 0% 88%,
      14% 88%, 14% 73%,
      28% 73%, 28% 58%,
      42% 58%, 42% 43%,
      56% 43%, 56% 28%,
      70% 28%, 70% 13%,
      84% 13%, 84% 0%,
      100% 0%, 100% 18%,
      86% 18%, 86% 33%,
      72% 33%, 72% 48%,
      58% 48%, 58% 63%,
      44% 63%, 44% 78%,
      30% 78%, 30% 93%,
      16% 93%, 16% 100%
    );
    pointer-events: none;
  }

  .standards .ladder-step {
    z-index: 1;
  }

  /* Restore the original stepped progression for rows 1–6. */
  .standards .ladder-step:nth-child(1) { left: 0; bottom: 0; }
  .standards .ladder-step:nth-child(2) { left: 5.5rem; bottom: 4.7rem; }
  .standards .ladder-step:nth-child(3) { left: 10.5rem; bottom: 9.4rem; }
  .standards .ladder-step:nth-child(4) { left: 16rem; bottom: 14.1rem; }
  .standards .ladder-step:nth-child(5) { left: 21.5rem; bottom: 18.8rem; }
  .standards .ladder-step:nth-child(6) { left: 26.5rem; bottom: 23.5rem; }

  .standards .ladder-step:nth-child(-n+6)::after {
    width: 14.474rem;
    min-width: 14.474rem;
    flex: 0 0 14.474rem;
    margin-left: auto;
  }

  /* Final certification row: text first, then a full yellow bar ending inside the surface. */
  .standards .ladder-step:nth-child(7) {
    left: 22.5rem;
    right: 0;
    bottom: 28rem;
    width: auto;
    min-width: 0;
  }

  .standards .ladder-step:nth-child(7)::after {
    width: auto;
    min-width: 10rem;
    flex: 1 1 auto;
    margin-left: 1rem;
  }
}

@media (max-width: 767px) {
  /* The light-blue surface is already centered; center the white card within its padding too. */
  .standards__surface {
    box-sizing: border-box;
  }

  .standards__copy-card {
    box-sizing: border-box;
    width: calc(100% - 2rem);
    max-width: calc(100% - 2rem);
    margin-left: auto;
    margin-right: auto;
  }

  /* Mobile uses the existing stacked ladder cards; no desktop staircase pseudo here. */
  .standards .ladder::before {
    content: none;
  }
}


/* ==========================================================================
   v39 — Certification Standards grid-only rebuild from Figma reference
   Keeps copy-card typography, padding, section sizing, and all other sections unchanged.
   ========================================================================== */
@media (min-width: 768px) {
  /* Use the complete Standards surface as the coordinate system so every step
     follows the Figma proportions instead of flex/text-dependent placement. */
  .standards .ladder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    transform: none;
    overflow: hidden;
  }

  /* Figma: narrow diagonal spine with a stair-stepped right edge. */
  .standards .ladder::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 53.0%;
    top: 30.3%;
    width: 32.0%;
    height: 60.2%;
    background: #0c4e77;
    clip-path: polygon(
      100% 0%,
      100% 16.7%, 83.5% 16.7%,
      83.5% 33.0%, 67.0% 33.0%,
      67.0% 49.2%, 50.2% 49.2%,
      50.2% 65.5%, 33.5% 65.5%,
      33.5% 82.0%, 16.5% 82.0%,
      16.5% 100%, 0% 100%
    );
    pointer-events: none;
  }

  .standards .ladder-step,
  .standards .ladder-step:nth-child(n) {
    position: absolute;
    z-index: 1;
    left: 0;
    right: auto;
    bottom: auto;
    width: 100%;
    min-width: 0;
    height: 3.105rem;
    padding: 0;
    padding-left: var(--label-x);
    padding-right: calc(100% - var(--bar-x));
    display: flex;
    align-items: center;
    gap: 1rem;
    background: transparent;
    border-radius: 0;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: .947rem;
    font-weight: var(--weight-medium);
    text-align: left;
  }

  .standards .ladder-step::before {
    position: static;
    width: 2.211rem;
    height: 2.211rem;
    flex: 0 0 2.211rem;
    margin: 0;
    background: var(--step-color);
  }

  .standards .ladder-step::after,
  .standards .ladder-step:nth-child(n)::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: var(--bar-x);
    top: 0;
    width: 14.65%;
    min-width: 0;
    height: 3.105rem;
    margin: 0;
    flex: none;
    background: var(--step-color);
  }

  .standards .ladder-step:nth-child(1) {
    --label-x: 30.9%; --bar-x: 53.1%; --step-color: #8db5d9;
    top: 90.4%;
  }
  .standards .ladder-step:nth-child(2) {
    --label-x: 36.4%; --bar-x: 58.3%; --step-color: #c0d6ea;
    top: 80.8%;
  }
  .standards .ladder-step:nth-child(3) {
    --label-x: 41.5%; --bar-x: 63.8%; --step-color: #b7e1ff;
    top: 71.1%;
  }
  .standards .ladder-step:nth-child(4) {
    --label-x: 47.1%; --bar-x: 69.1%; --step-color: #85cdff;
    top: 61.5%;
  }
  .standards .ladder-step:nth-child(5) {
    --label-x: 52.9%; --bar-x: 74.5%; --step-color: #47b3ff;
    top: 51.8%;
  }
  .standards .ladder-step:nth-child(6) {
    --label-x: 58.0%; --bar-x: 79.7%; --step-color: #147ab9;
    top: 42.2%;
  }
  .standards .ladder-step:nth-child(7) {
    --label-x: 63.8%; --bar-x: 84.4%; --step-color: #e9a900;
    top: 32.5%;
    color: #e9a900;
    font-size: 1.158rem;
    font-weight: var(--weight-semibold);
  }
}

@media (max-width: 767px) {
  /* True viewport centering: 1rem outer blue margin, 2rem equal inner margin
     around the white card. Keep the existing stacked mobile ladder below it. */
  .standards > .container {
    width: 100%;
    max-width: none;
    margin: 0 auto;
    padding-inline: 1rem;
    box-sizing: border-box;
  }

  .standards__surface {
    width: 100%;
    max-width: 36rem;
    margin: 0 auto;
    padding: 2rem;
    box-sizing: border-box;
  }

  .standards__copy-card {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
  }

  .standards .ladder {
    position: relative;
    inset: auto;
    width: 100%;
    height: auto;
    margin: 0 auto;
    transform: none;
    overflow: visible;
  }

  .standards .ladder::before {
    content: none;
  }
}


/* ==========================================================================\n   v40 — readability + requested content/navigation updates\n   Mobile typography from v39 is intentionally preserved.\n   ========================================================================== */

/* Sticky certification navigation. */
.site-header.site-header--sticky {
  position: fixed;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 60;
  background: rgba(5, 30, 52, .82);
  border-bottom-color: rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.site-nav__apply {
  min-height: 2.2rem;
  padding: .48rem 1.15rem;
  font-family: var(--font-ui);
  font-size: .78rem;
  font-weight: var(--weight-semibold);
  letter-spacing: .02em;
  text-transform: none;
  white-space: nowrap;
}

#program,
#curriculum,
#faculty,
#investment,
#faq,
/* Hero rotating accent phrases. */
.hero-title__second-line {
  white-space: nowrap;
}

.hero-rotator {
  position: relative;
  display: inline-grid;
  width: 5.9em;
  height: 1.08em;
  margin-left: .08em;
  overflow: hidden;
  vertical-align: -.08em;
  color: var(--color-accent);
}

.hero-rotator__item {
  grid-area: 1 / 1;
  display: block;
  width: max-content;
  max-width: 100%;
  opacity: 0;
  transform: translateY(105%);
  animation: nsmHeroWord 9s cubic-bezier(.4,0,.2,1) infinite;
}

.hero-rotator__item:nth-child(2) { animation-delay: 3s; }
.hero-rotator__item:nth-child(3) { animation-delay: 6s; }

@keyframes nsmHeroWord {
  0%, 4% { opacity: 0; transform: translateY(105%); }
  9%, 28% { opacity: 1; transform: translateY(0); }
  33%, 100% { opacity: 0; transform: translateY(-105%); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-rotator__item { animation: none; opacity: 0; transform: none; }
  .hero-rotator__item:first-child { opacity: 1; }
}

/* Why? now flows directly into the numbered reasons. */
.problem-list--without-intro {
  margin-top: 2.8rem;
}

/* The Wow Factor — intentional visual emphasis without changing table structure. */
.comparison-row--highlight {
  background: linear-gradient(90deg, rgba(229,168,0,.11), rgba(229,168,0,.04));
  box-shadow: inset 4px 0 0 var(--color-accent);
}

.comparison-row--highlight .comparison-row__label {
  color: #8b6500;
  font-weight: var(--weight-bold);
}

.comparison-row--highlight .comparison-row__standard {
  color: #2b2b2b;
  font-weight: var(--weight-medium);
}

.comparison-row--highlight .comparison-row__nsm {
  background: linear-gradient(90deg, #0a4268 0%, #277fae 72%, #d69d00 160%);
}

/* Investment: new content from the approved pricing copy, kept in NSM's native visual language. */
.investment--founding .investment__layout {
  grid-template-columns: .82fr 1.18fr;
  gap: 5.4rem;
  align-items: start;
}

.investment--founding .investment__copy {
  max-width: 31rem;
  margin-top: 2.2rem;
}

.investment-early-bird {
  margin-top: 2.5rem;
  padding: 1.25rem 0 1.25rem 1.25rem;
  border-left: 2px solid var(--color-accent);
}

.investment-early-bird__label,
.investment-includes__label {
  display: block;
  font-family: var(--font-ui);
  font-size: .72rem;
  font-weight: var(--weight-semibold);
  letter-spacing: .16em;
  color: var(--color-secondary);
}

.investment-early-bird p {
  margin-top: .65rem;
  color: var(--color-text-soft);
  line-height: 1.55;
}

.investment-table--founding {
  width: 100%;
}

.investment-options {
  margin-top: 1rem;
  border-top: 1px solid var(--color-border);
}

.investment-option {
  position: relative;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--color-border);
}

.investment-option--featured {
  padding-left: 1rem;
  border-left: 2px solid var(--color-blue);
}

.investment-option__top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}

.investment-option__name {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.investment-option__badge {
  padding: .32rem .65rem;
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-ui);
  font-size: .68rem;
  letter-spacing: .05em;
}

.investment-option__price {
  margin-top: .7rem;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: var(--weight-medium);
  color: var(--color-primary);
}

.investment-option__copy {
  margin-top: .45rem;
  color: var(--color-text-soft);
  line-height: 1.5;
}

.investment-includes {
  margin-top: 2.2rem;
}

.investment-includes__list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: .75rem;
}

.investment-includes__list li {
  position: relative;
  padding-left: 1.2rem;
  line-height: 1.48;
  color: var(--color-text);
}

.investment-includes__list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--color-accent);
}

.investment-details {
  margin-top: 2.2rem;
  display: grid;
  gap: .75rem;
}

.investment-detail {
  display: grid;
  grid-template-columns: 9.5rem 1fr;
  gap: 1rem;
  padding-top: .9rem;
  border-top: 1px solid var(--color-border);
}

.investment-detail span {
  font-family: var(--font-ui);
  font-size: .7rem;
  letter-spacing: .12em;
  color: var(--color-secondary);
}

.investment-detail strong {
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
  color: var(--color-text);
}

.investment--founding .investment-table__note {
  margin-top: 1.6rem;
}

.investment--founding .investment-table__action {
  margin-top: 1.2rem;
}

/* Desktop-only readability pass. Do not alter the approved mobile typography. */
@media (min-width: 1024px) {
  :root {
    --text-xs: .72rem;
    --text-sm: .79rem;
    --text-body-sm: .94rem;
    --text-body: 1.04rem;
    --text-body-lg: 1.2rem;
    --text-card: 1.24rem;
    --text-h3: 1.56rem;
    --text-section-copy: .96rem;
    --text-eyebrow: .79rem;
  }

  .button { font-size: .86rem; }
  .site-logo { font-size: 1rem; }
  .site-nav__link { font-size: .88rem; }
  .site-nav__apply { font-size: .86rem; }

  /* Hero readability + move supporting copy upward. */
  .hero__lead {
    width: 30rem;
    margin-top: 6.3rem;
    font-size: 1.12rem;
    line-height: 1.42;
  }
  .hero__copy {
    width: 26rem;
    margin-top: .9rem;
    font-size: .98rem;
    line-height: 1.5;
  }
  .hero__actions { margin-top: 1.45rem; }
  .hero__meta { font-size: .9rem; line-height: 1.4; }
  .hero-benefit__title { font-size: 1.16rem; }
  .hero-benefit__copy { font-size: .8rem; line-height: 1.35; }

  .problem-panel__title { font-size: 1.24rem; }
  .problem-list__item { font-size: .82rem; line-height: 1.45; }
  .problem-list__number { font-size: .72rem; }
  .problem-panel__action { font-size: .72rem; }

  .methodology__definition,
  .advanced-banner__copy,
  .outcomes__intro-copy,
  .audience-list__item,
  .milestone__copy,
  .program__intro-copy,
  .phase-one__copy,
  .curriculum__copy,
  .community__top .section-copy,
  .phase-two__copy,
  .practicum-intro__copy,
  .feedback__copy,
  .competencies__intro-copy,
  .guide__bio,
  .founding__copy,
  .faq__copy,
  .final-cta__copy,
  .investment--founding .investment__copy {
    font-size: 1rem;
    line-height: 1.55;
  }

  .methodology-item__copy,
  .outcome-card__copy,
  .faculty-card__role,
  .community-card__copy,
  .feature-list__item,
  .guide-role__item,
  .included-list__item,
  .faq-answer p,
  .investment-option__copy,
  .investment-includes__list li,
  .investment-detail strong,
  .investment-early-bird p {
    font-size: .92rem;
    line-height: 1.5;
  }

  .comparison-table__head { font-size: .88rem; }
  .comparison-row { font-size: .98rem; }
  .check-list__item { font-size: .96rem; }
  .module-card__text { font-size: .88rem; line-height: 1.5; }
  .rhythm-panel__lead { font-size: 1.16rem; }
  .rhythm-list__item { font-size: .84rem; line-height: 1.45; }
  .process-pill, .practicum-feature { font-size: .9rem; }
  .review-card__top, .review-card__edge-label, .review-card__footer { font-size: .7rem; }
  .score-row__top { font-size: .84rem; }
  .review-card__edge-copy { font-size: .96rem; }
  .impact-chain__quote { font-size: .94rem; }
  .competency-list__desc { font-size: .82rem; }
  .faculty-card__name { font-size: 1.18rem; }
  .testimonial__quote { font-size: 1rem; }
  .stat-card__copy { font-size: .9rem; }
  .investment-option__name { font-size: 1.22rem; }
  .investment-option__price { font-size: 2.15rem; }
  .investment-detail span, .investment-includes__label, .investment-early-bird__label { font-size: .76rem; }
  .investment-table__note { font-size: .74rem; }
  .faq-question { font-size: 1rem; }
}

/* New structures only: responsive behavior without changing the existing mobile typography system. */
@media (max-width: 1023px) {
  .investment--founding .investment__layout {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .investment--founding .investment__copy { max-width: 100%; }
}

@media (max-width: 767px) {
  .site-header.site-header--sticky { position: fixed; }
  .site-nav__apply {
    width: 100%;
    min-height: 44px;
    margin-top: 1rem;
    font-size: 1.35rem;
  }
  #program, #curriculum, #faculty, #investment, #faq { scroll-margin-top: 7.5rem; }

  .hero-title__second-line { white-space: normal; }
  .hero-rotator {
    width: 5.7em;
    min-width: 0;
    margin-left: .04em;
  }

  .problem-list--without-intro { margin-top: 3rem; }

  .investment-early-bird { margin-top: 2.5rem; }
  .investment-options { margin-top: 1.5rem; }
  .investment-option { padding: 2rem 0; }
  .investment-option--featured { padding-left: 1.4rem; }
  .investment-option__name { font-size: 1.8rem; }
  .investment-option__price { font-size: 3.2rem; }
  .investment-option__copy,
  .investment-includes__list li,
  .investment-detail strong,
  .investment-early-bird p { font-size: 1.4rem; }
  .investment-early-bird__label,
  .investment-includes__label,
  .investment-detail span { font-size: 1.15rem; }
  .investment-detail { grid-template-columns: 1fr; gap: .5rem; padding-top: 1.4rem; }
  .investment-option__top { align-items: flex-start; }
  .investment-option__badge { font-size: 1.1rem; }
  .investment--founding .investment-table__action .button { width: 100%; }

  /* Preserve a clear highlighted Wow row in stacked mobile table form. */
  .comparison-row--highlight { box-shadow: inset 4px 0 0 var(--color-accent); }
}

/* ============================================================
   v41 — desktop typography, navigation, alignment + interactions
   Mobile typography remains unchanged.
   ============================================================ */

/* New in-page anchors used by the expanded sticky navigation. */
#learn,
#rhythm,
#competencies,
#formation {
  scroll-margin-top: 5.25rem;
}

/* Header: more useful long-page navigation without altering the Apply CTA. */
.site-nav--certification {
  gap: .9rem;
  flex-wrap: nowrap;
}

/* Neutral base state for the interactive number-list sections. */
.phase-one .number-list__item,
.competency-list .number-list__item {
  cursor: default;
  border-radius: .35rem;
  transition: transform 220ms ease, background-color 220ms ease;
  outline: none;
}

.phase-one .number-list__item .number-list__number,
.phase-one .number-list__item .number-list__label,
.phase-one .number-list__item .number-list__arrow,
.competency-list .number-list__item .number-list__number,
.competency-list .number-list__item .number-list__label,
.competency-list .number-list__item .number-list__arrow {
  transition: color 220ms ease, opacity 220ms ease, transform 220ms ease;
}

/* Undo any legacy first-row active styling in Formation/Competencies. */
.phase-one .number-list__item--active .number-list__number,
.phase-one .number-list__item--active .number-list__label,
.phase-one .number-list__item--active .number-list__arrow,
.competency-list .number-list__item--active .number-list__number,
.competency-list .number-list__item--active .number-list__label,
.competency-list .number-list__item--active .number-list__arrow {
  color: inherit;
  opacity: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .phase-one .number-list__item:hover,
  .competency-list .number-list__item:hover {
    transform: translateX(.28rem);
    background: rgba(59,157,224,.055);
  }

  .phase-one .number-list__item:hover .number-list__number,
  .phase-one .number-list__item:hover .number-list__label,
  .phase-one .number-list__item:hover .number-list__arrow,
  .competency-list .number-list__item:hover .number-list__number,
  .competency-list .number-list__item:hover .number-list__label,
  .competency-list .number-list__item:hover .number-list__arrow {
    color: var(--color-secondary);
    opacity: 1;
  }
}

.phase-one .number-list__item:focus-visible,
.competency-list .number-list__item:focus-visible {
  transform: translateX(.28rem);
  background: rgba(59,157,224,.07);
  box-shadow: 0 0 0 2px rgba(59,157,224,.22);
}

.phase-one .number-list__item:focus-visible .number-list__number,
.phase-one .number-list__item:focus-visible .number-list__label,
.phase-one .number-list__item:focus-visible .number-list__arrow,
.competency-list .number-list__item:focus-visible .number-list__number,
.competency-list .number-list__item:focus-visible .number-list__label,
.competency-list .number-list__item:focus-visible .number-list__arrow {
  color: var(--color-secondary);
  opacity: 1;
}

/* Why? + Weekly Rhythm: one continuous centered timeline, with scroll-active stages. */
.problem-list--without-intro,
.rhythm-list {
  position: relative;
}

.problem-list--without-intro::before,
.rhythm-list::before {
  content: "";
  position: absolute;
  left: 1.263rem;
  top: 2rem;
  bottom: 2rem;
  width: 1px;
  background: rgba(0,0,0,.20);
  pointer-events: none;
}

.problem-list__item + .problem-list__item::before,
.rhythm-list__item + .rhythm-list__item::before {
  display: none;
}

.problem-list__item,
.rhythm-list__item {
  z-index: 1;
  transition: color 220ms ease, transform 220ms ease, opacity 220ms ease;
}

.problem-list__number,
.rhythm-list__number {
  position: relative;
  z-index: 2;
  background: #fff;
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease;
}

/* Remove hard-coded first-step state; JS now follows the reader's scroll position. */
.problem-list__item:first-child,
.rhythm-list__item:first-child {
  color: rgba(0,0,0,.54);
}

.problem-list__item:first-child .problem-list__number,
.rhythm-list__item:first-child .rhythm-list__number {
  background: #fff;
  color: #000;
}

.problem-list__item.is-active,
.rhythm-list__item.is-active {
  color: #000;
  transform: translateX(.2rem);
}

.problem-list__item.is-active .problem-list__number,
.rhythm-list__item.is-active .rhythm-list__number {
  background: #000;
  border-color: #000;
  color: #fff;
  transform: scale(1.06);
  box-shadow: 0 0 0 .22rem rgba(0,0,0,.07);
}

/* Keep the entire Why timeline vertically centered as a single group in its white panel. */
.problem-list--without-intro {
  flex: 1 1 auto;
  width: 100%;
  margin: 0;
  padding-block: 1.5rem;
  align-content: center;
  row-gap: 1.25rem;
}

.problem-list--without-intro .problem-list__item {
  min-height: 4rem;
}

/* Weekly Rhythm: more breathing room between timeline stages. */
.rhythm-list {
  margin-top: 3.25rem;
  row-gap: 1.05rem;
}

.rhythm-list__item {
  min-height: 4rem;
}

/* Weekly Rhythm CTA: allow the full label to remain inside the button. */
.rhythm-panel__action {
  width: max-content;
  max-width: calc(100% - 4.842rem);
  min-width: 10.5rem;
  min-height: 2.5rem;
  padding: .68rem 1rem;
  line-height: 1.25;
  white-space: normal;
  text-align: left;
}

/* Desktop-only refinements requested in this pass. */
@media (min-width: 1024px) {
  :root {
    --text-section-title: clamp(2.55rem, 2.35vw, 2.82rem);
  }

  /* Rotating H1 phrase was being clipped from the sides, not vertically. */
  .hero__content {
    width: 56rem;
    max-width: 62vw;
  }

  .hero__title {
    max-width: 56rem;
  }

  .hero-rotator {
    width: max-content;
    min-width: 7.35em;
    max-width: none;
    padding-right: .08em;
  }

  .hero-rotator__item {
    width: max-content;
    max-width: none;
    padding-right: .04em;
  }

  /* Keep the six-month inclusion cards aligned after the desktop font increase. */
  .included-grid {
    align-items: stretch;
  }

  .included-card,
  .included-card:nth-child(2) {
    height: 100%;
    min-height: 23.2rem;
    padding-top: 4rem;
  }

  /* Additional nav items still fit comfortably at normal desktop widths. */
  .site-nav--certification .site-nav__link {
    white-space: nowrap;
  }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  .site-nav--certification {
    gap: .62rem;
  }

  .site-nav--certification .site-nav__link {
    font-size: .78rem;
  }

  .site-nav__apply {
    padding-inline: .9rem;
  }
}

/* Keep the user's approved mobile typography and mobile layouts intact. */
@media (max-width: 767px) {
  #learn,
  #rhythm,
  #competencies,
  #formation {
    scroll-margin-top: 7.5rem;
  }

  .problem-list--without-intro,
  .rhythm-list {
    row-gap: 0;
  }

  .problem-list--without-intro::before,
  .rhythm-list::before {
    top: 2.2rem;
    bottom: 2.2rem;
    left: 2.2rem;
  }

  .problem-list--without-intro .problem-list__item,
  .rhythm-list__item {
    min-height: 6.5rem;
  }

  .rhythm-panel__action {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .problem-list__item,
  .rhythm-list__item,
  .problem-list__number,
  .rhythm-list__number,
  .phase-one .number-list__item,
  .competency-list .number-list__item {
    transition: none !important;
  }
}

/* v41 mobile guard: preserve the approved v40 spacing while keeping the new active-state behavior. */
@media (max-width: 767px) {
  .problem-list--without-intro {
    flex: initial;
    margin-top: 3rem;
    padding-block: 0;
    align-content: initial;
  }

  .rhythm-list {
    margin-top: 3rem;
  }
}


/* ============================================================
   v44 — desktop heading scale, editorial widths + audience hover
   Mobile typography/layout remains untouched.
   ============================================================ */

@media (min-width: 1024px) {
  /* Larger H2 system for desktop readability. */
  :root {
    --text-section-title: clamp(3rem, 2.75vw, 3.35rem);
  }

  /* Editorial width pass: use the space available in each composition
     instead of forcing every heading through the old 41rem cap. */
  .section-header--split > div:first-child .section-title {
    max-width: 100%;
  }

  .problem__title {
    max-width: 54rem;
  }

  .advantage__header .section-title {
    max-width: 54rem;
  }

  .outcomes__head {
    grid-template-columns: minmax(0, 43rem) minmax(22rem, 26rem);
    column-gap: 4rem;
  }

  .outcomes__head .section-title {
    width: min(100%, 33rem);
    max-width: 33rem;
  }

  .outcomes__intro-copy {
    width: auto;
    max-width: 26rem;
  }

  .audience .section-header--split {
    grid-template-columns: minmax(0, 1.35fr) minmax(24rem, .85fr);
    gap: 5rem;
  }

  .audience .section-copy {
    max-width: 36rem;
  }

  .milestone__title {
    max-width: 43rem;
  }

  .milestone__copy {
    width: auto;
    max-width: 28rem;
  }

  .program__head {
    grid-template-columns: minmax(0, 46rem) minmax(24rem, 29rem);
    column-gap: 4rem;
  }

  .program__title {
    max-width: 46rem;
  }

  .program__intro-copy {
    width: auto;
    max-width: 29rem;
  }

  .curriculum__intro {
    max-width: 50rem;
  }

  .curriculum__copy {
    max-width: 35rem;
  }

  .practice-spine__head .section-title--display {
    max-width: 43rem;
  }

  .practice-spine__head > .section-copy {
    max-width: 31rem;
  }

  .community__top > div:first-child .section-title {
    max-width: 29rem;
  }

  .community__top .section-copy {
    max-width: 39rem;
  }

  .feedback__copy {
    max-width: 32rem;
  }

  .founding__title {
    max-width: 36rem;
  }

  .founding__copy {
    max-width: 34rem;
  }

  .faculty__head .section-title,
  .application__head .section-title,
  .impact-chain__head .section-title {
    max-width: 100%;
  }

  .faq__layout {
    grid-template-columns: minmax(27rem, .82fr) minmax(0, 1.35fr);
    gap: 6rem;
  }

  .faq__title {
    max-width: 30rem;
  }

  .faq__copy {
    max-width: 28rem;
  }

  .final-cta__title {
    max-width: 56rem;
  }

  /* The four Professional Gap statements were escaping the reading column. */
  .problem__statements {
    width: min(calc(100% - (var(--page-gutter) * 2)), 68rem);
    margin: 3.579rem auto 0;
  }

  .problem__statements p {
    max-width: 68ch;
    margin-inline: auto;
  }
}

/* Audience accordion / image selector. The first role is open initially;
   hover, focus or tap transfers the active state to one role at a time. */
.audience-list__item {
  cursor: pointer;
  transition: min-height 240ms ease, padding 240ms ease, background-color 240ms ease, box-shadow 240ms ease, border-radius 240ms ease, transform 240ms ease;
}

.audience-list__item strong {
  display: block;
  font-weight: var(--weight-regular);
}

.audience-list__item span {
  display: block;
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  color: #5e5e5e;
  font-size: 0.774rem;
  line-height: 1.48;
  transform: translateY(-.25rem);
  transition: max-height 260ms ease, margin-top 260ms ease, opacity 200ms ease, transform 260ms ease;
}

.audience-list__item--active span {
  max-height: 8rem;
  margin-top: .68rem;
  opacity: 1;
  transform: translateY(0);
}

.audience-list__item:focus-visible {
  outline: 2px solid rgba(59,157,224,.45);
  outline-offset: -3px;
}

.audience__image-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 842 / 678;
  overflow: hidden;
  border-radius: .947rem;
  background: linear-gradient(145deg,#eef5f8 0%,#dcecf5 55%,#7dafcf 100%);
}

.audience__image-panel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  opacity: 0;
  transform: scale(1.018);
  pointer-events: none;
  transition: opacity 300ms ease, transform 420ms ease;
}

.audience__image-panel.is-active {
  opacity: 1;
  transform: scale(1);
}

@media (max-width: 767px) {
  .audience-list__item span {
    font-size: 1.4rem;
    line-height: 1.45;
  }

  .audience__image-stage {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .audience-list__item,
  .audience-list__item span,
  .audience__image-panel {
    transition: none !important;
  }
}

/* ============================================================
   v45 — targeted desktop spacing + editorial width refinements
   Requested after v44. Mobile remains untouched.
   ============================================================ */
@media (min-width: 1024px) {
  /* 1. Six Core Areas: remove the fixed tall-card feel. Each pair now
     grows only as much as its actual content needs. */
  .module-grid {
    align-items: stretch;
    row-gap: 1rem;
  }

  .module-card {
    min-height: 0;
    padding: 1.9rem 2.342rem 2rem;
  }

  .module-card__group {
    margin-top: 1.35rem;
  }

  /* 2. Phase One intro copy: use more of the available content column. */
  .phase-one__copy {
    max-width: 42rem;
  }

  /* 3. Advanced-specialization banner: the old narrow 35rem measure
     forced both the H2 and paragraph into unnecessary extra lines. */
  .advanced-banner__title {
    max-width: 64rem;
    text-wrap: balance;
  }

  .advanced-banner__copy {
    max-width: 68rem;
    text-wrap: pretty;
  }

  /* The short pull quote should read as a wide statement, not a narrow block. */
  .approach__quote {
    max-width: 72rem;
    text-wrap: balance;
  }

  /* 4. The larger v44 H2 was colliding with the outcome cards because
     this section still used the original aggressive negative lift. */
  .outcomes__head {
    min-height: 13rem;
  }

  .outcomes__body {
    margin-top: -1.25rem;
  }

  /* 5. Fleet bio: redistribute unused space from the portrait column
     into the editorial text column without changing the section design. */
  .guide__main {
    grid-template-columns: 29rem minmax(0, 43rem);
    column-gap: 3.25rem;
  }

  .guide__bio {
    width: 100%;
    max-width: 43rem;
  }

  .guide__bio p {
    text-wrap: pretty;
  }

  /* 6. Practicum intro: give the heading and paragraph a more natural
     long-form measure instead of the original 29/38rem constraints. */
  .practicum-intro__title {
    max-width: 60rem;
    text-wrap: balance;
  }

  .practicum-intro__copy {
    max-width: 68rem;
    text-wrap: pretty;
  }

  /* 7–8. Founding copy: avoid the orphaned final word by allowing the
     copy column to use more room; keep the network graphic intact. */
  .founding__layout {
    grid-template-columns: 1.12fr .88fr;
    gap: 4rem;
  }

  .founding__copy {
    max-width: 39rem;
    text-wrap: pretty;
  }

  /* 9–10. Application cards: add real inner side breathing room while
     keeping the existing card footprint and arrow geometry. */
  .application-card {
    box-sizing: border-box;
    padding-inline: 1rem;
  }

  .application-card__copy {
    max-width: 8.2rem;
    text-wrap: pretty;
  }

  /* General orphan control for long editorial copy. This only changes
     line-breaking when the browser can improve it; it does not impose a
     new max-width on unrelated sections. */
  .section-copy,
  .problem__statements p,
  .outcomes__intro-copy,
  .audience .section-copy,
  .milestone__copy,
  .program__intro-copy,
  .phase-one__copy,
  .curriculum__copy,
  .core-area__copy,
  .module-card__text,
  .practice-spine__head > .section-copy,
  .community__top .section-copy,
  .feedback__copy,
  .faq__copy,
  .final-cta__copy {
    text-wrap: pretty;
  }
}

/* ============================================================
   v46 — targeted desktop width corrections + tiered pricing copy
   Mobile typography remains unchanged.
   ============================================================ */
@media (min-width: 1024px) {
  /* Advanced specialization: v45 widened the paragraph too far.
     Keep the heading generous, but return the body copy to an editorial measure. */
  .advanced-banner__copy {
    max-width: 54rem;
  }

  /* Short pull quote: let the one-line statement breathe across the section. */
  .approach__quote {
    width: min(100%, 84rem);
    max-width: 84rem;
  }

  /* Founding Cohort: restore the original equal-column allocation so the
     network/circle has its former visual width, while tightening the copy. */
  .founding__layout {
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }

  .founding__copy {
    max-width: 32rem;
  }

  /* Application: intro and five-step track share the same outer boundaries. */
  .application__head,
  .application__steps,
  .application__action {
    width: min(100%, 68rem);
    margin-left: auto;
    margin-right: auto;
  }

  .application__head {
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    gap: 5rem;
  }

  .application__steps {
    justify-content: space-between;
    gap: 0;
  }

  /* New tiered investment content uses the current NSM investment styling,
     not the PDF's card design. */
  .investment-pricing-plans {
    margin-top: 1rem;
    border-top: 1px solid var(--color-border);
  }

  .investment-plan {
    padding: 1.45rem 0 1.7rem;
    border-bottom: 1px solid var(--color-border);
  }

  .investment-plan__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .investment-plan__title {
    font-family: var(--font-heading);
    font-size: 1.22rem;
    font-weight: var(--weight-medium);
    color: var(--color-primary);
  }

  .investment-plan__badge {
    padding: .32rem .65rem;
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-ui);
    font-size: .72rem;
    letter-spacing: .05em;
    white-space: nowrap;
  }

  .investment-plan__tiers {
    margin-top: .75rem;
    display: grid;
  }

  .investment-tier {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    padding: .9rem 0;
    border-top: 1px solid rgba(5,30,52,.09);
  }

  .investment-tier:first-child {
    border-top: 0;
  }

  .investment-tier__name {
    display: block;
    font-family: var(--font-ui);
    font-size: .92rem;
    font-weight: var(--weight-semibold);
    color: var(--color-text);
  }

  .investment-tier__timing {
    display: block;
    margin-top: .18rem;
    font-size: .78rem;
    color: var(--color-text-soft);
  }

  .investment-tier__price-wrap {
    text-align: right;
  }

  .investment-tier__price {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.42rem;
    font-weight: var(--weight-medium);
    color: var(--color-primary);
    white-space: nowrap;
  }

  .investment-tier__note {
    display: block;
    margin-top: .18rem;
    font-size: .76rem;
    color: var(--color-text-soft);
  }

  .investment-before-apply {
    margin-top: 2.1rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--color-border);
  }

  .investment-before-apply__label {
    font-family: var(--font-ui);
    font-size: .76rem;
    font-weight: var(--weight-semibold);
    letter-spacing: .16em;
    color: var(--color-secondary);
  }

  .investment-before-apply__item {
    padding: .8rem 0;
    border-bottom: 1px solid rgba(5,30,52,.09);
  }

  .investment-before-apply__item strong {
    display: block;
    font-family: var(--font-ui);
    font-size: .9rem;
    font-weight: var(--weight-semibold);
    color: var(--color-text);
  }

  .investment-before-apply__item p {
    margin-top: .35rem;
    font-size: .86rem;
    line-height: 1.5;
    color: var(--color-text-soft);
  }

  .investment-pricing-note {
    margin-top: 1.25rem;
    font-size: .82rem;
    line-height: 1.5;
    color: var(--color-text-soft);
  }
}

@media (max-width: 767px) {
  .investment-plan {
    padding: 1.8rem 0;
    border-bottom: 1px solid var(--color-border);
  }

  .investment-plan__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }

  .investment-plan__title {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: var(--weight-medium);
  }

  .investment-plan__badge {
    padding: .5rem .8rem;
    border-radius: var(--radius-pill);
    background: var(--color-primary);
    color: #fff;
    font-family: var(--font-ui);
    font-size: 1.1rem;
    white-space: nowrap;
  }

  .investment-tier {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    padding: 1.2rem 0;
    border-top: 1px solid rgba(5,30,52,.09);
  }

  .investment-tier__name,
  .investment-tier__price {
    font-size: 1.5rem;
  }

  .investment-tier__timing,
  .investment-tier__note,
  .investment-pricing-note,
  .investment-before-apply__item p {
    font-size: 1.3rem;
  }

  .investment-before-apply {
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-border);
  }

  .investment-before-apply__label {
    font-size: 1.15rem;
    letter-spacing: .13em;
  }

  .investment-before-apply__item {
    padding: 1.3rem 0;
    border-bottom: 1px solid rgba(5,30,52,.09);
  }

  .investment-before-apply__item strong {
    font-size: 1.4rem;
  }
}

/* ============================================================
   v47 — three targeted desktop refinements only
   1) widen the Top-down pull quote beyond its narrow parent
   2) widen + bottom-align the Application intro to its card track
   3) rebuild the Certification milestone journey line to match
      the Figma node 174:10 wave/glow geometry more faithfully
   Mobile remains untouched.
   ============================================================ */
@media (min-width: 1024px) {
  /* 1. The quote sits inside a container--narrow, so increasing only its
     max-width could never make it wider. Let this one statement break out
     to the normal page container while leaving the cards/header untouched. */
  .approach__quote {
    width: min(calc(100vw - (var(--page-gutter) * 2)), var(--container-max));
    max-width: none;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  /* 2. Application: intro and step cards now share the same wider boundary.
     The description is aligned to the bottom of the title block, matching
     the split-header treatment used elsewhere on the page. */
  .application > .container.container--narrow {
    max-width: 82rem;
  }

  .application__head,
  .application__steps,
  .application__action {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
  }

  .application__head {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 5rem;
    align-items: end;
  }

  /* 3. Certification milestone journey.
     Figma reference 174:10 uses a shallow rise from Practice -> Reflection ->
     Feedback, then a shallow dip through Mastery -> Service, with luminous
     blue nodes and a warm milestone glow beneath the certification card. */
  .milestone-line {
    max-width: 79.263rem;
    height: 18.184rem;
    overflow: visible;
    isolation: isolate;
  }

  .milestone-line::before,
  .milestone-line::after {
    content: "";
    position: absolute;
    top: auto;
    width: 51.25%;
    height: 1.6rem;
    border: 2.5px solid transparent;
    border-radius: 50%;
    background: transparent;
    pointer-events: none;
    z-index: 0;
    filter:
      drop-shadow(0 0 .18rem rgba(255,255,255,.95))
      drop-shadow(0 0 .45rem rgba(59,157,224,.9))
      drop-shadow(0 0 1.15rem rgba(59,157,224,.45));
    transform: none;
  }

  /* Rising first half: endpoints at Practice/Feedback, crest at Reflection. */
  .milestone-line::before {
    left: 0;
    right: auto;
    bottom: 2.25rem;
    border-top-color: #86d6ff;
  }

  /* Falling second half: endpoints at Feedback/Service, trough at Mastery. */
  .milestone-line::after {
    left: auto;
    right: 0;
    bottom: 2.25rem;
    border-bottom-color: #86d6ff;
  }

  .milestone-step {
    z-index: 2;
  }

  /* The card is a div inserted between the second and third span in the DOM,
     therefore nth-child caused the old journey points to skip across the line.
     nth-of-type targets only the five step spans, matching the Figma positions. */
  .milestone-step:nth-of-type(1) {
    left: 0;
    right: auto;
    bottom: 0;
  }

  .milestone-step:nth-of-type(2) {
    left: 23.5%;
    right: auto;
    bottom: .8rem;
  }

  .milestone-step:nth-of-type(3) {
    left: 46.5%;
    right: auto;
    bottom: 0;
  }

  .milestone-step:nth-of-type(4) {
    left: 69.5%;
    right: auto;
    bottom: -.8rem;
  }

  .milestone-step:nth-of-type(5) {
    left: auto;
    right: 1.5%;
    bottom: 0;
  }

  .milestone-step::before {
    width: .54rem;
    height: .54rem;
    margin-bottom: 1.9rem;
    background: #eaf9ff;
    box-shadow:
      0 0 .16rem .08rem rgba(255,255,255,1),
      0 0 .7rem .38rem rgba(89,190,245,.95),
      0 0 1.55rem .8rem rgba(59,157,224,.5),
      0 0 2.5rem 1.3rem rgba(59,157,224,.18);
  }

  .milestone-card {
    z-index: 3;
  }

  .milestone-card::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -.42rem;
    width: .82rem;
    height: .82rem;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #fffbe7;
    box-shadow:
      0 0 .18rem .12rem rgba(255,255,255,1),
      0 0 .72rem .42rem rgba(255,229,113,.95),
      0 0 1.7rem .95rem rgba(244,194,31,.55),
      0 0 2.7rem 1.45rem rgba(244,194,31,.18);
    pointer-events: none;
  }
}

/* ============================================================
   v48 — targeted desktop refinements only
   1) Phase One visual uses more vertical image area so its badge
      sits clearly on the image instead of the dark surround.
   2) "Top-down..." H2 gets a deliberate two-line editorial measure.
   3) Certification milestone card begins just after the Feedback node,
      matching the Figma node 174:10 composition more closely.
   No content is hard-coded here; HubSpot module fields remain the source
   for all editable text, images, labels and journey names.
   ============================================================ */
@media (min-width: 1024px) {
  /* 1. Professional Formation — reduce the dark top/bottom surround and
     let the selected HubSpot image occupy nearly the full visual column. */
  .phase-one__visual {
    position: relative;
    padding: 0.75rem 1.526rem;
    overflow: hidden;
  }

  .phase-one__image {
    position: absolute;
    top: 0.75rem;
    right: 1.526rem;
    bottom: 0.75rem;
    left: 1.526rem;
    width: auto;
    height: auto;
    min-height: 0;
  }

  .phase-one__badge {
    left: 2.105rem;
    bottom: 1.55rem;
    z-index: 2;
  }

  /* 2. This is the section H2 (not the lower pull quote). The global
     41rem title cap was forcing an extra line; this measure keeps it at
     two balanced lines at normal desktop widths. */
  .approach__header .section-title {
    width: 100%;
    max-width: 52rem;
    margin-inline: auto;
    text-wrap: balance;
  }

  /* 3. Figma 174:10: Feedback sits at ~48.2% of the journey width while
     the Certification card itself begins just to its right (~49.3%),
     rather than being centered directly over Feedback. */
  .milestone-step:nth-of-type(1) {
    left: 2.5%;
  }

  .milestone-step:nth-of-type(2) {
    left: 25.3%;
  }

  .milestone-step:nth-of-type(3) {
    left: 48.2%;
  }

  .milestone-step:nth-of-type(4) {
    left: 71.1%;
  }

  .milestone-step:nth-of-type(5) {
    left: 94%;
    right: auto;
    transform: translateX(-50%);
  }

  .milestone-card {
    left: 49.3%;
    top: -1rem;
    transform: none;
  }
}

/* ============================================================
   v49 — two targeted desktop fixes only
   1) Certification journey uses one continuous Figma-style wave path,
      eliminating the visible break between Feedback and Mastery.
   2) Header NSM wordmark is vertically centered in the header row.
   Mobile-specific refinements remain intentionally untouched for the
   later dedicated mobile pass.
   ============================================================ */
@media (min-width: 1024px) {
  /* One uninterrupted path across all five journey points. The previous
     two half-ellipses could separate visually around the center. */
  .milestone-line::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.72rem;
    width: 100%;
    height: 4.2rem;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 63 C 95 57 175 47 253 47 C 340 47 410 55 482 63 C 560 72 638 76 711 76 C 800 76 880 69 1000 61' fill='none' stroke='%2386d6ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 0;
    filter:
      drop-shadow(0 0 .18rem rgba(255,255,255,.95))
      drop-shadow(0 0 .45rem rgba(59,157,224,.9))
      drop-shadow(0 0 1.15rem rgba(59,157,224,.45));
    transform: none;
  }

  .milestone-line::after {
    display: none;
  }

  /* Keep the NSM wordmark optically centered with the navigation row. */
  .site-logo {
    align-self: center;
    display: inline-flex;
    align-items: center;
    min-height: 100%;
    margin: 0;
    line-height: 1;
  }
}

/* ============================================================
   v50 — optical header wordmark alignment only
   The header row itself is centered; the light-weight NSM glyphs render
   optically a touch high, so nudge only the desktop wordmark down.
   ============================================================ */
@media (min-width: 1024px) {
  .site-logo {
    transform: translateY(.10rem);
  }
}

/* ============================================================
   v51 — final optical NSM wordmark centering
   v50's .10rem downward nudge was too low. Split the difference so the
   desktop wordmark sits visually centered against the nav/button row.
   ============================================================ */
@media (min-width: 1024px) {
  .site-logo {
    transform: translateY(.045rem);
  }
}


/* ============================================================
   v52 — header wordmark, practicum detail borders, and Figma-style
   star treatment for the Everything Included section.
   ============================================================ */
@media (min-width: 1024px) {
  /* The v51 nudge still left the NSM wordmark optically low. Bring it
     up a touch above true center so it visually matches the nav row. */
  .site-logo {
    transform: translateY(-0.035rem);
  }

  /* Practicum inclusion points: add the requested blue top border. */
  .practicum-feature {
    border-top: 0.158rem solid rgba(46, 132, 192, 0.95);
    padding-top: 1.211rem;
  }

  /* Everything Included / Six months section: support editable star art
     while preserving the current layout and colors. */
  .everything__body {
    align-items: center;
  }

  .everything__left {
    position: relative;
    min-height: 20rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .everything__bg-star {
    position: absolute;
    inset: 50% auto auto 0.263rem;
    width: 15.5rem;
    max-width: 100%;
    transform: translateY(-45%);
    opacity: 0.16;
    pointer-events: none;
    z-index: 0;
  }

  .everything__left > *:not(.everything__bg-star) {
    position: relative;
    z-index: 1;
  }

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

  .included-card {
    position: relative;
    overflow: visible;
    padding-top: 4.95rem;
  }

  .included-card__star-wrap {
    position: absolute;
    top: 1.053rem;
    right: 1.158rem;
    width: 2.842rem;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
  }

  .included-card:nth-child(2) .included-card__star-wrap {
    left: 50%;
    right: auto;
    top: -0.947rem;
    width: 3.474rem;
    transform: translateX(-50%);
  }

  .included-card:nth-child(3) .included-card__star-wrap {
    top: 1.211rem;
    right: 1.316rem;
    width: 2.632rem;
  }

  .included-card__star {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}


/* ============================================================
   v53 — refine Everything Included stars to match Figma more closely.
   - background 06 star much larger and more blended
   - center orange star brought down and seated correctly
   ============================================================ */
@media (min-width: 1024px) {
  .everything__left {
    isolation: isolate;
  }

  /* Soft blue atmospheric glow behind the 06 block, similar to Figma. */
  .everything__left::before {
    content: "";
    position: absolute;
    left: -2.25rem;
    top: 52%;
    width: 24rem;
    height: 24rem;
    transform: translateY(-50%);
    background: radial-gradient(circle, rgba(47, 121, 166, 0.34) 0%, rgba(47, 121, 166, 0.16) 26%, rgba(11, 67, 108, 0.08) 46%, rgba(11, 67, 108, 0) 72%);
    filter: blur(10px);
    pointer-events: none;
    z-index: 0;
  }

  .everything__bg-star {
    left: -1.35rem;
    top: 56%;
    width: 31rem; /* roughly 2x larger */
    max-width: none;
    transform: translateY(-50%);
    opacity: 0.085;
    filter: saturate(0.88) brightness(1.02) blur(0.15rem);
  }

  .everything__months,
  .everything__month-label,
  .everything__month-copy {
    position: relative;
    z-index: 1;
  }

  /* Re-seat the middle orange star so it is centered and not floating too high. */
  .included-card:nth-child(2) .included-card__star-wrap {
    left: 50%;
    right: auto;
    top: -0.05rem;
    width: 3.05rem;
    transform: translateX(-50%);
  }

  /* Make side stars slightly cleaner and less oversized relative to the cards. */
  .included-card__star-wrap {
    top: 1.2rem;
    right: 1.15rem;
    width: 2.45rem;
  }

  .included-card:nth-child(3) .included-card__star-wrap {
    top: 1.2rem;
    right: 1.2rem;
    width: 2.35rem;
  }
}


/* ============================================================
   v54 — micro-adjust the Everything Included star positions.
   ============================================================ */
@media (min-width: 1024px) {
  /* Pull the large background star in closer so it sits directly behind
     the 06 rather than drifting too far to the right. */
  .everything__left::before {
    left: -3.15rem;
    top: 58%;
    width: 21.5rem;
    height: 21.5rem;
    background: radial-gradient(circle, rgba(47, 121, 166, 0.30) 0%, rgba(47, 121, 166, 0.14) 28%, rgba(11, 67, 108, 0.07) 50%, rgba(11, 67, 108, 0) 72%);
  }

  .everything__bg-star {
    left: -2.65rem;
    top: 63%;
    width: 24.5rem;
    transform: translateY(-50%);
    opacity: 0.10;
    filter: saturate(0.86) brightness(1.0) blur(0.08rem);
  }

  /* Seat the orange star onto the middle card more naturally. */
  .included-card:nth-child(2) .included-card__star-wrap {
    left: 54%;
    top: 0.55rem;
    width: 2.75rem;
    transform: translateX(-50%);
  }
}


/* ============================================================
   v55 — final orange star micro-adjust.
   ============================================================ */
@media (min-width: 1024px) {
  .included-card:nth-child(2) .included-card__star-wrap {
    left: 51.75%;
    top: 0.85rem;
    width: 2.58rem;
    transform: translateX(-50%);
  }
}


/* ============================================================
   v56 — orange star matched to Figma card-relative position.
   Figma places the star around 77% across the middle card, not centered.
   Keep the vertical position; only correct horizontal placement and scale.
   ============================================================ */
@media (min-width: 1024px) {
  .included-card:nth-child(2) .included-card__star-wrap {
    left: 77%;
    top: 0.85rem;
    width: 3.4rem;
    transform: translateX(-50%);
  }
}


/* ============================================================
   v57 — comprehensive MOBILE-ONLY refinement pass
   Desktop remains untouched. All content stays editable in HubSpot.
   ============================================================ */
@media (max-width: 767px) {
  /* 1. HERO ROTATING WORDS — remove horizontal clipping. */
  .hero-title__second-line {
    display: block;
    width: 100%;
    white-space: normal;
  }

  .hero-rotator {
    display: grid;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
    min-height: 1.08em;
    margin: .05em 0 0;
    overflow: visible;
    vertical-align: baseline;
  }

  .hero-rotator__item {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    padding-right: 0;
  }

  /* 2. PROFESSIONAL GAP — keep the four statements inside the mobile viewport. */
  .problem__statements {
    box-sizing: border-box;
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: none;
    margin: 3rem auto 0;
    padding: 0;
    overflow: hidden;
  }

  .problem__statements p {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* 3 + 11. WHY? + WEEKLY RHYTHM — more separation between timeline points. */
  .problem-list--without-intro,
  .rhythm-list {
    row-gap: .75rem;
  }

  .problem-list--without-intro .problem-list__item,
  .rhythm-list__item {
    min-height: 8.65rem;
  }

  .problem-list--without-intro::before,
  .rhythm-list::before {
    top: 2.2rem;
    bottom: 2.2rem;
  }

  /* 4 + 9. THE TRANSFORMATION — narrower swipe cards and CTA below cards. */
  .outcomes__body {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }

  .outcomes__controls {
    display: contents;
  }

  .outcome-track {
    order: 1;
    width: 100%;
    margin-top: 3rem;
    padding-right: 10%;
    scroll-padding-inline: 0;
  }

  .outcome-card,
  .outcome-card--small {
    flex: 0 0 82%;
    width: 82%;
    max-width: 82%;
  }

  .outcomes__nav {
    order: 2;
    width: 100%;
    margin-top: 1.5rem;
    justify-content: center;
  }

  .outcomes__action {
    order: 3;
    width: 100%;
    margin-top: 1.5rem;
  }

  /* 5. CERTIFICATION MILESTONE — restore a designed journey on mobile. */
  .milestone-line {
    position: relative;
    display: block;
    width: 100%;
    height: 21.5rem;
    margin: 3.5rem auto 0;
    padding: 0;
    overflow: visible;
  }

  .milestone-line::before {
    content: "";
    position: absolute;
    left: 4%;
    right: 4%;
    top: 11.15rem;
    bottom: auto;
    width: auto;
    height: 2px;
    border: 0;
    background: linear-gradient(90deg, rgba(71,179,255,.55), rgba(59,157,224,.95) 45%, rgba(71,179,255,.65));
    box-shadow: 0 0 1.5rem rgba(59,157,224,.32);
    transform: rotate(-1deg);
    transform-origin: center;
  }

  .milestone-step,
  .milestone-step:nth-child(n) {
    position: absolute;
    top: 10.82rem;
    bottom: auto;
    right: auto;
    width: 5.2rem;
    min-height: 0;
    display: block;
    padding: 2rem 0 0;
    transform: translateX(-50%);
    text-align: center;
    font-size: .72rem;
    line-height: 1.25;
    letter-spacing: .08em;
  }

  .milestone-step::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: .72rem;
    height: .72rem;
    margin: 0;
    transform: translateX(-50%);
    background: #fff;
    border: 2px solid #3b9de0;
    box-shadow: 0 0 0 .5rem rgba(59,157,224,.13), 0 0 1.15rem rgba(59,157,224,.55);
  }

  .milestone-step:nth-of-type(1) { left: 5%; }
  .milestone-step:nth-of-type(2) { left: 27%; }
  .milestone-step:nth-of-type(3) { left: 48%; }
  .milestone-step:nth-of-type(4) { left: 72%; }
  .milestone-step:nth-of-type(5) { left: 95%; }

  .milestone-card {
    position: absolute;
    left: 58%;
    top: 0;
    width: 11.8rem;
    min-height: 8.7rem;
    padding: 1.25rem 1rem;
    transform: translateX(-50%);
    border-radius: 1.35rem;
    z-index: 3;
  }

  .milestone-card::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2.55rem;
    width: .85rem;
    height: .85rem;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #fff6c8;
    box-shadow: 0 0 0 .45rem rgba(255,212,82,.18), 0 0 1.5rem .45rem rgba(240,190,39,.65);
  }

  .milestone-card__eyebrow {
    font-size: .78rem;
  }

  .milestone-card__title {
    margin-top: .45rem;
    font-size: 1.35rem;
  }

  .milestone-card__copy {
    margin-top: .35rem;
    font-size: .9rem;
  }

  /* 6. PROGRAM OVERVIEW — increase Phase One + Phase Two bar typography. */
  .phase-column__bar {
    min-height: 9.5rem;
    padding: 1.8rem 1.6rem;
  }

  .phase-column__eyebrow {
    font-size: 1.02rem;
    line-height: 1.2;
    letter-spacing: .14em;
  }

  .phase-column__title {
    margin-top: .65rem;
    font-size: 1.75rem;
    line-height: 1.2;
  }

  /* 7. Phase One image badge readability. */
  .phase-one__badge {
    font-size: 1.05rem;
    line-height: 1.25;
    letter-spacing: .08em;
    padding: .75rem 1rem;
  }

  /* 8. CURRICULUM — all small/meta labels get a consistent mobile boost. */
  .curriculum .eyebrow,
  .module-progress__label,
  .core-area__meta,
  .module-card__number,
  .module-card__label {
    font-size: 1rem;
    line-height: 1.35;
    letter-spacing: .08em;
  }

  .module-progress__dots {
    font-size: 1.05rem;
  }

  .module-card__label {
    margin-bottom: .45rem;
  }

  /* 10. PRACTICE SPINE — contain the gradient and use a true mobile journey. */
  .practice-spine {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(180deg, #f7fbfe 0%, #e8f5fd 42%, #d9effb 72%, #f8fbfd 100%);
  }

  .practice-spine::before {
    inset: 0;
    background: radial-gradient(circle at 22% 18%, rgba(59,157,224,.30), transparent 34%),
                radial-gradient(circle at 82% 58%, rgba(115,179,223,.28), transparent 36%);
    filter: blur(3rem);
    transform: none;
    opacity: .75;
  }

  .practice-spine::after {
    inset: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.50), rgba(255,255,255,.08) 45%, rgba(255,255,255,.34));
  }

  .practice-spine__curve {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
    min-height: 0;
    margin: 3rem 0 0;
    padding: 1rem 0 1rem 2.65rem;
    left: auto;
    transform: none;
  }

  .practice-spine__curve::before {
    content: "";
    position: absolute;
    left: 1.05rem;
    top: 2.2rem;
    bottom: 2.2rem;
    width: 2px;
    background: linear-gradient(180deg, #2f79a6, #73b3df 52%, #e4a900);
    box-shadow: 0 0 .9rem rgba(59,157,224,.25);
  }

  .practice-spine__journey,
  .practice-spine__day {
    display: none;
  }

  .practice-spine__stage,
  .practice-spine__stage--foundation,
  .practice-spine__stage--embodiment,
  .practice-spine__stage--opening,
  .practice-spine__resting {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    min-height: 6.1rem;
    transform: none;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(12,78,119,.10);
    border-radius: 1rem;
    background: rgba(255,255,255,.68);
    box-shadow: 0 .55rem 1.35rem rgba(5,30,52,.05);
    text-align: left;
  }

  .practice-spine__stage::before,
  .practice-spine__resting::before {
    content: "";
    position: absolute;
    left: -2.02rem;
    top: 50%;
    width: .9rem;
    height: .9rem;
    transform: translateY(-50%);
    border: 3px solid #fff;
    border-radius: 50%;
    background: #2f79a6;
    box-shadow: 0 0 0 .3rem rgba(59,157,224,.16);
  }

  .practice-spine__resting::before {
    background: #e4a900;
    box-shadow: 0 0 0 .3rem rgba(228,169,0,.14);
  }

  .practice-spine__stage strong,
  .practice-spine__resting strong {
    font-size: 1.35rem;
  }

  .practice-spine__stage span,
  .practice-spine__resting span {
    margin-top: .35rem;
    font-size: 1rem;
  }

  /* 12. PHASE TWO ORBIT — tighter, more connected mobile composition. */
  .phase-two .practicum-graphic,
  .practicum-graphic {
    width: min(100%, 28rem);
    min-height: 28rem;
    margin-inline: auto;
  }

  .practicum-graphic__core {
    width: 10.8rem;
    height: 10.8rem;
    font-size: 1.08rem;
    line-height: 1.15;
  }

  .practicum-node {
    width: 9.3rem;
    min-width: 0;
    padding: .78rem .72rem;
    font-size: .98rem;
    line-height: 1.18;
  }

  .practicum-node:nth-child(2) {
    top: .2rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .practicum-node:nth-child(3) {
    top: 6.4rem;
    right: 0;
  }

  .practicum-node:nth-child(4) {
    right: .35rem;
    bottom: .35rem;
  }

  .practicum-node:nth-child(5) {
    left: .35rem;
    bottom: .35rem;
  }

  .practicum-node:nth-child(6) {
    top: 6.4rem;
    left: 0;
  }

  /* 13. Practicum inclusions — same blue top border used on desktop. */
  .practicum-feature {
    border-top: .16rem solid rgba(46,132,192,.95);
    padding-top: 1.65rem;
  }

  /* 14. Small role / attribution text readability. */
  .testimonial__name,
  .faculty-card__role {
    font-size: 1.15rem;
    line-height: 1.4;
  }

  /* 15. Everything Included — center the decorative star directly behind 06. */
  .everything__left {
    position: relative;
    isolation: isolate;
    min-height: 17rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .everything__left::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 48%;
    width: 18rem;
    height: 18rem;
    transform: translate(-50%,-50%);
    background: radial-gradient(circle, rgba(47,121,166,.26), rgba(47,121,166,.11) 38%, transparent 70%);
    filter: blur(10px);
    z-index: 0;
  }

  .everything__bg-star {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 18rem;
    max-width: none;
    transform: translate(-50%,-50%);
    opacity: .09;
    filter: saturate(.86) blur(.06rem);
    pointer-events: none;
    z-index: 0;
  }

  .everything__months,
  .everything__month-label,
  .everything__month-copy {
    position: relative;
    z-index: 1;
  }

  /* 16. FOUNDING GENERATION — force the network to remain circular, not oval. */
  .founding__network {
    width: min(100%, 22rem);
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin: 1rem auto 0;
  }

  .founding__ring {
    inset: 2.45rem;
    border-radius: 50%;
  }

  .founding__core {
    width: 6.8rem;
    height: 6.8rem;
    font-size: .78rem;
    line-height: 1.2;
  }

  .founding-tag {
    max-width: 8.75rem;
    padding: .55rem .72rem;
    font-size: .82rem;
    line-height: 1.15;
  }

  .founding-tag:nth-child(3) { left: 50%; top: 0; transform: translateX(-50%); }
  .founding-tag:nth-child(4) { right: 0; top: 18%; }
  .founding-tag:nth-child(5) { right: 0; top: 66%; }
  .founding-tag:nth-child(6) { left: 50%; bottom: 0; transform: translateX(-50%); }
  .founding-tag:nth-child(7) { left: 0; top: 66%; }
  .founding-tag:nth-child(8) { left: 0; top: 18%; }
}


/* ============================================================
   v58 — MOBILE-ONLY refinement pass #2
   All desktop rules remain unchanged.
   ============================================================ */
@media (max-width: 767px) {
  /* 1. Path of Mastery: match desktop's curvy journey and balance section padding. */
  .milestone {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .milestone-line {
    height: 17.5rem;
    margin-top: 3rem;
    margin-bottom: 0;
  }

  .milestone-line::before {
    left: 2%;
    right: 2%;
    top: 9.1rem;
    bottom: auto;
    width: 96%;
    height: 3.8rem;
    border: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 60 C 105 54 185 43 270 45 C 350 47 410 58 485 64 C 575 72 650 76 730 75 C 830 74 910 66 1000 58' fill='none' stroke='%2386d6ff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: none;
    filter:
      drop-shadow(0 0 .12rem rgba(255,255,255,.85))
      drop-shadow(0 0 .42rem rgba(59,157,224,.75));
    transform: none;
  }

  .milestone-step,
  .milestone-step:nth-child(n) {
    padding-top: 2rem;
  }
  .milestone-step:nth-of-type(1) { left: 5%;  top: 10.95rem; }
  .milestone-step:nth-of-type(2) { left: 27%; top: 10.40rem; }
  .milestone-step:nth-of-type(3) { left: 48%; top: 11.05rem; }
  .milestone-step:nth-of-type(4) { left: 72%; top: 11.45rem; }
  .milestone-step:nth-of-type(5) { left: 95%; top: 10.90rem; }

  /* 2. Practice Spine: keep vertical architecture, but make it larger and more spine-like. */
  .practice-spine__curve {
    gap: 1.35rem;
    padding-left: 3rem;
  }

  .practice-spine__curve::before {
    left: .72rem;
    top: 2rem;
    bottom: 2rem;
    width: 2rem;
    height: auto;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 500' preserveAspectRatio='none'%3E%3Cpath d='M20 0 C35 45 5 95 20 145 C35 195 5 245 20 300 C35 355 5 410 20 500' fill='none' stroke='%233b9de0' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: none;
    filter: drop-shadow(0 0 .4rem rgba(59,157,224,.32));
  }

  .practice-spine__stage,
  .practice-spine__stage--foundation,
  .practice-spine__stage--embodiment,
  .practice-spine__stage--opening,
  .practice-spine__resting {
    min-height: 7.4rem;
    padding: 1.4rem 1.45rem;
    border-radius: 1.1rem;
  }

  .practice-spine__stage::before,
  .practice-spine__resting::before {
    left: -2.55rem;
    width: 1rem;
    height: 1rem;
  }

  .practice-spine__stage strong,
  .practice-spine__resting strong {
    font-size: 1.58rem;
    line-height: 1.15;
  }

  .practice-spine__stage span,
  .practice-spine__resting span {
    margin-top: .45rem;
    font-size: 1.12rem;
    line-height: 1.35;
  }

  /* 3. Supervised Practicum: enlarge the central competence circle without reopening the old huge spacing. */
  .phase-two .practicum-graphic,
  .practicum-graphic {
    width: min(100%, 30rem);
    min-height: 29rem;
  }

  .practicum-graphic__core {
    width: 12.8rem;
    height: 12.8rem;
    font-size: 1.17rem;
    line-height: 1.15;
    border-width: 2.5px;
  }

  .practicum-node {
    width: 9.7rem;
    font-size: 1.02rem;
  }

  .practicum-node:nth-child(2) { top: .1rem; }
  .practicum-node:nth-child(3) { top: 6.7rem; right: 0; }
  .practicum-node:nth-child(4) { right: .15rem; bottom: .15rem; }
  .practicum-node:nth-child(5) { left: .15rem; bottom: .15rem; }
  .practicum-node:nth-child(6) { top: 6.7rem; left: 0; }

  /* 4. Difference section switch labels: larger on mobile. */
  .difference-switch__old {
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .difference-switch__new {
    margin-top: .45rem;
    font-size: 1.62rem;
    line-height: 1.2;
  }

  .difference-switch__item {
    min-height: 9rem;
    padding: 2rem 1.4rem;
  }

  /* 5. Founding generation network: preserve the circle but give it more visual scale. */
  .founding__network {
    width: min(calc(100% + 1.75rem), 25rem);
    max-width: none;
    aspect-ratio: 1 / 1;
    margin: 1.5rem 0 0 50%;
    transform: translateX(-50%);
  }

  .founding__ring {
    inset: 2.2rem;
  }

  .founding__core {
    width: 7.8rem;
    height: 7.8rem;
    font-size: .9rem;
  }

  .founding-tag {
    max-width: 9.25rem;
    padding: .62rem .82rem;
    font-size: .92rem;
  }

  /* 6 + 7. Founding cohort pricing: stronger mobile price hierarchy and label. */
  .investment-table__label {
    font-size: 1.42rem;
    line-height: 1.25;
    font-weight: var(--weight-bold);
    letter-spacing: .11em;
  }

  .investment-tier__price {
    font-size: 2rem;
    line-height: 1.1;
    font-weight: var(--weight-bold);
  }

  .investment-tier__name {
    font-weight: var(--weight-semibold);
  }

  /* 8. Placeholder / Executive Coach style attribution should read clearly on mobile. */
  .testimonial__name,
  .faculty-card__role {
    font-size: 1.45rem;
    line-height: 1.4;
  }
}


/* ============================================================
   v59 — mobile refinement #3 + desktop Trusted Voices slider fix
   ============================================================ */

@media (max-width: 767px) {
  /* 1. Investment plan headings: give Pay in full / Payment plan / badge
     breathing room from the plan borders. */
  .investment-plan {
    padding: 2.2rem 1.15rem 2rem;
  }

  .investment-plan__tiers {
    margin-top: 1.15rem;
  }

  /* 2. Supervised practicum: compact, intentional orbit instead of
     floating labels around a small center circle. */
  .phase-two .practicum-graphic,
  .practicum-graphic {
    width: min(100%, 23rem);
    min-height: 23rem;
    aspect-ratio: 1 / 1;
    margin: 2.1rem auto 0;
  }

  .practicum-graphic::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16.8rem;
    height: 16.8rem;
    transform: translate(-50%, -50%);
    border: 1.5px solid rgba(224, 243, 255, .34);
    border-radius: 50%;
    box-shadow: 0 0 1.4rem rgba(131, 206, 248, .10);
    pointer-events: none;
  }

  .practicum-graphic__core {
    width: 10.4rem;
    height: 10.4rem;
    font-size: 1.08rem;
    line-height: 1.12;
    border-width: 2px;
    box-shadow: 0 0 2.8rem rgba(255,255,255,.14);
  }

  .practicum-node {
    width: 7.8rem;
    min-width: 0;
    padding: .68rem .55rem;
    border-radius: .55rem;
    font-size: .88rem;
    line-height: 1.12;
  }

  .practicum-node:nth-child(2) {
    top: .2rem;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }

  .practicum-node:nth-child(3) {
    top: 5.2rem;
    right: -.05rem;
    left: auto;
  }

  .practicum-node:nth-child(4) {
    right: .25rem;
    bottom: 1.15rem;
    left: auto;
  }

  .practicum-node:nth-child(5) {
    left: .25rem;
    bottom: 1.15rem;
    right: auto;
  }

  .practicum-node:nth-child(6) {
    top: 5.2rem;
    left: -.05rem;
    right: auto;
  }

  /* 3. Weekly Learning Rhythm CTA: match the visual weight of the other
     mobile buttons and scale its arrow/icon up too. */
  .rhythm-panel__action {
    min-height: 3.75rem;
    padding: 1rem 1.25rem;
    font-size: 1rem;
    line-height: 1.2;
    gap: .8rem;
  }

  .rhythm-panel__action-icon {
    width: 1.05rem;
    height: 1.05rem;
  }

  /* 4. Practice Spine: smoother desktop-inspired luminous curve, keep the
     final Resting in Being stage fully inside the mobile composition. */
  .practice-spine__curve {
    gap: 1.35rem;
    padding: 1.1rem 0 3rem 3.15rem;
    margin-bottom: 1.2rem;
    overflow: visible;
  }

  .practice-spine__curve::before {
    left: .45rem;
    top: 1.85rem;
    bottom: 2.8rem;
    width: 2.7rem;
    height: auto;
    background: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 620' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='.92'/%3E%3Cstop offset='.45' stop-color='%2386d6ff' stop-opacity='.96'/%3E%3Cstop offset='.78' stop-color='%2362afe2' stop-opacity='.92'/%3E%3Cstop offset='1' stop-color='%23f1c753' stop-opacity='.90'/%3E%3C/linearGradient%3E%3Cfilter id='b' x='-100%25' y='-20%25' width='300%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M31 2 C8 78 48 142 27 220 C8 292 49 358 29 430 C12 492 44 555 28 618' fill='none' stroke='%2386d6ff' stroke-opacity='.35' stroke-width='12' stroke-linecap='round' filter='url(%23b)'/%3E%3Cpath d='M31 2 C8 78 48 142 27 220 C8 292 49 358 29 430 C12 492 44 555 28 618' fill='none' stroke='url(%23g)' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    box-shadow: none;
    filter: none;
  }

  .practice-spine__stage::before,
  .practice-spine__resting::before {
    left: -2.78rem;
  }

  .practice-spine__resting {
    margin-bottom: .4rem;
  }
}

/* Trusted By Leading Voices — real desktop slider controls and stable
   positioning next to the section heading. */
.trusted__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
}

.trusted__header .trusted__title {
  min-width: 0;
}

.trusted__header .trusted__nav {
  position: static;
  flex: 0 0 auto;
  margin-top: .15rem;
}

.trusted__slides {
  margin-top: 8.526rem;
}

.trusted__slides .testimonial {
  margin-top: 0;
}

.trusted__slides .testimonial[hidden] {
  display: none !important;
}

.trusted__nav-button:not(:disabled) {
  cursor: pointer;
}

.trusted__nav-button:disabled {
  opacity: .38;
  cursor: default;
}

@media (max-width: 767px) {
  .trusted__header {
    display: block;
  }

  .trusted__header .trusted__nav {
    margin-top: 2rem;
  }

  .trusted__slides {
    margin-top: 4rem;
  }
}


/* ============================================================
   v60 — two mobile-only refinements:
   1) enlarge the Demonstrated Competence orbit + labels
   2) extend the Practice Spine curve cleanly through the final stage
   ============================================================ */
@media (max-width: 767px) {
  /* Demonstrated Competence: keep the compact composition from v59,
     but restore stronger scale/readability. */
  .phase-two .practicum-graphic,
  .practicum-graphic {
    width: min(100%, 25.75rem);
    min-height: 25.75rem;
    aspect-ratio: 1 / 1;
  }

  .practicum-graphic::before {
    width: 18.6rem;
    height: 18.6rem;
  }

  .practicum-graphic__core {
    width: 11.75rem;
    height: 11.75rem;
    font-size: 1.2rem;
    line-height: 1.12;
  }

  .practicum-node {
    width: 8.65rem;
    padding: .78rem .65rem;
    font-size: .98rem;
    line-height: 1.14;
  }

  .practicum-node:nth-child(2) {
    top: .05rem;
  }

  .practicum-node:nth-child(3) {
    top: 5.65rem;
    right: 0;
  }

  .practicum-node:nth-child(4) {
    right: .2rem;
    bottom: .85rem;
  }

  .practicum-node:nth-child(5) {
    left: .2rem;
    bottom: .85rem;
  }

  .practicum-node:nth-child(6) {
    top: 5.65rem;
    left: 0;
  }

  /* Practice Spine: let the illuminated curve continue through the
     Resting in Being node instead of stopping above it. */
  .practice-spine__curve {
    padding-bottom: 1.35rem;
    margin-bottom: 1rem;
    overflow: visible;
  }

  .practice-spine__curve::before {
    top: 1.7rem;
    bottom: .3rem;
    height: auto;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 700' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23ffffff' stop-opacity='.92'/%3E%3Cstop offset='.44' stop-color='%2386d6ff' stop-opacity='.96'/%3E%3Cstop offset='.76' stop-color='%2362afe2' stop-opacity='.92'/%3E%3Cstop offset='1' stop-color='%23f1c753' stop-opacity='.96'/%3E%3C/linearGradient%3E%3Cfilter id='b' x='-100%25' y='-20%25' width='300%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='4'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M31 2 C8 82 48 155 27 245 C8 330 49 410 29 500 C12 575 43 635 29 698' fill='none' stroke='%2386d6ff' stroke-opacity='.34' stroke-width='12' stroke-linecap='round' filter='url(%23b)'/%3E%3Cpath d='M31 2 C8 82 48 155 27 245 C8 330 49 410 29 500 C12 575 43 635 29 698' fill='none' stroke='url(%23g)' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  .practice-spine__resting {
    margin-bottom: 0;
  }

  .practice-spine__resting::before {
    z-index: 2;
  }
}


/* ============================================================
   v66 — Troy edit refinement
   Restores the approved pre-v65 heading/measure system, keeps the requested
   navigation/application-flow changes, balances supporting typography, and
   gives the Investment section a more intentional NSM-native design.
   ============================================================ */

/* Header brand cluster — requested HeartMind + NSM Certification treatment. */
.site-brand {
  display: inline-flex;
  align-items: center;
  gap: .68rem;
  min-height: 100%;
  white-space: nowrap;
}

.site-brand__heartmind-logo {
  display: block;
  width: auto;
  height: 1.5rem;
  max-width: 8.25rem;
  object-fit: contain;
}

.site-brand__heartmind-fallback {
  font-family: var(--font-heading);
  font-size: .98rem;
  line-height: 1;
  font-weight: var(--weight-semibold);
  color: #fff;
  letter-spacing: -.02em;
}

.site-brand__divider {
  width: 1px;
  height: 1.35rem;
  background: rgba(255,255,255,.38);
}

.site-brand__certification {
  font-family: var(--font-ui);
  font-size: .86rem;
  line-height: 1;
  font-weight: var(--weight-medium);
  color: rgba(255,255,255,.94);
  letter-spacing: .01em;
}

/* Program title should simply read Program Overview without a duplicate eyebrow. */
.program__head .eyebrow {
  display: none;
}

/* Troy wanted the Wow Factor to be unmistakable, but keep the table elegant. */
.comparison-row--highlight {
  position: relative;
  z-index: 2;
  border-top: 2px solid rgba(229,168,0,.9) !important;
  border-bottom: 2px solid rgba(229,168,0,.9) !important;
  background: linear-gradient(90deg, rgba(255,245,203,.92) 0%, rgba(255,235,153,.94) 42%, rgba(229,168,0,.22) 100%) !important;
  box-shadow: 0 .7rem 1.8rem rgba(126,91,0,.13), inset .28rem 0 0 var(--color-accent);
}

.comparison-row--highlight .comparison-row__label {
  color: #604500 !important;
  font-weight: var(--weight-bold) !important;
}

.comparison-row--highlight .comparison-row__standard {
  color: #463b1f !important;
  font-weight: var(--weight-semibold) !important;
}

.comparison-row--highlight .comparison-row__nsm {
  background: linear-gradient(135deg,#0a4268 0%,#226f9c 62%,#d69d00 145%) !important;
  color: #fff !important;
  font-weight: var(--weight-bold) !important;
}

@media (min-width: 1024px) {
  /* Keep the exact pre-v65 H2 system: size, weight, line-height, and widths all
     continue to come from the approved v64 rules. Only navigation is enlarged. */
  .site-header__inner {
    width: min(calc(100% - (var(--page-gutter) * 2)), 99rem);
    grid-template-columns: auto minmax(0,1fr) auto;
    gap: 1.25rem;
  }

  .site-logo.site-brand {
    transform: none !important;
  }

  .site-nav--primary {
    justify-self: end;
  }

  .site-nav {
    gap: 1.08rem;
  }

  .site-nav__link,
  .site-nav__apply {
    font-size: .9rem;
    font-weight: var(--weight-semibold);
  }

  /* Middle-ground subheading scale: larger than the older version, but calmer
     than v65 so the hierarchy belongs to the H2s again. */
  .phase-column__title,
  .core-area__title,
  .community-card__title,
  .investment-plan__title {
    font-size: 1.32rem;
    line-height: 1.22;
  }

  .module-card__title,
  .faculty-card__name,
  .audience-item__title {
    font-size: 1.2rem;
    line-height: 1.3;
  }

  /* Lift only the long-form copy that remained visibly small. Do not touch
     headings, labels, width measures, or already-large display copy. */
  .problem__statements p,
  .methodology__definition,
  .methodology-item__copy,
  .advanced-banner__copy,
  .audience__copy,
  .milestone__copy,
  .program__intro-copy,
  .phase-one__copy,
  .core-area__copy,
  .module-card__text,
  .practice-spine__copy,
  .community__copy,
  .phase-two__copy,
  .practicum-intro__copy,
  .feedback__copy,
  .competencies__copy,
  .difference__copy,
  .guide__copy,
  .founding__copy,
  .faq-item__answer,
  .application-card__copy,
  .final-cta__copy {
    font-size: .98rem;
    line-height: 1.58;
  }

  /* ------------------------------------------------------------
     Investment — premium NSM-native side-by-side composition.
     Intro stays editorial; FAQs left; pricing right; CTA under pricing.
     ------------------------------------------------------------ */
  .investment--founding {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
      radial-gradient(circle at 86% 12%, rgba(59,157,224,.13), transparent 29rem),
      radial-gradient(circle at 10% 88%, rgba(229,168,0,.09), transparent 25rem),
      var(--color-background-warm);
  }

  .investment--founding::before {
    content: "";
    position: absolute;
    inset: 1.4rem 2.1rem;
    z-index: -1;
    border: 1px solid rgba(5,30,52,.065);
    border-radius: 1.5rem;
    pointer-events: none;
  }

  .investment--founding .investment__layout {
    width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-content));
    max-width: var(--container-content);
    margin-inline: auto;
    grid-template-columns: 1fr;
    gap: 3.4rem;
  }

  .investment--founding .investment__intro {
    width: min(100%, 56rem);
    max-width: 56rem;
  }

  .investment--founding .investment__copy {
    max-width: 44rem;
    margin-top: 2rem;
    font-size: 1.02rem;
  }

  .investment-early-bird {
    width: min(100%, 47rem);
    margin-top: 1.8rem;
    padding: 1.05rem 1.2rem 1.05rem 1.35rem;
    border-left: .22rem solid var(--color-accent);
    border-radius: 0 .8rem .8rem 0;
    background: rgba(255,255,255,.62);
    box-shadow: 0 .55rem 1.5rem rgba(5,30,52,.04);
  }

  .investment-content-grid {
    display: grid;
    grid-template-columns: minmax(17rem,.68fr) minmax(0,1.55fr);
    gap: 2rem;
    align-items: stretch;
  }

  .investment-before-apply {
    position: relative;
    margin: 0;
    padding: 1.7rem 1.55rem 1.45rem;
    border: 1px solid rgba(5,30,52,.11);
    border-radius: 1.2rem;
    background: linear-gradient(165deg, rgba(255,255,255,.94), rgba(236,245,250,.72));
    box-shadow: 0 1rem 2.4rem rgba(5,30,52,.07);
  }

  .investment-before-apply::before {
    content: "✷";
    position: absolute;
    top: 1.2rem;
    right: 1.3rem;
    font-size: 1.25rem;
    color: rgba(229,168,0,.9);
  }

  .investment-before-apply__label {
    padding-right: 2rem;
    font-size: .8rem;
    font-weight: var(--weight-bold);
    letter-spacing: .15em;
    color: var(--color-secondary);
  }

  .investment-before-apply__item {
    padding: 1.15rem 0;
    border-bottom: 1px solid rgba(5,30,52,.09);
  }

  .investment-before-apply__item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
  }

  .investment-before-apply__item strong {
    display: block;
    padding-right: .5rem;
    font-family: var(--font-heading);
    font-size: 1rem;
    line-height: 1.35;
    font-weight: var(--weight-semibold);
    color: var(--color-primary);
  }

  .investment-before-apply__item p {
    margin-top: .45rem;
    font-size: .91rem;
    line-height: 1.52;
    color: var(--color-text-soft);
  }

  .investment-pricing-column {
    min-width: 0;
    padding: 1.2rem;
    border: 1px solid rgba(5,30,52,.1);
    border-radius: 1.25rem;
    background: rgba(255,255,255,.7);
    box-shadow: 0 1rem 2.6rem rgba(5,30,52,.075);
  }

  .investment-pricing-column .investment-table__label {
    margin: .2rem .25rem 1.1rem;
    font-size: .82rem;
    font-weight: var(--weight-bold);
    letter-spacing: .17em;
    color: var(--color-secondary);
  }

  .investment-pricing-plans {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1rem;
    margin: 0;
    border: 0;
  }

  .investment-plan {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0 1.1rem 1.15rem;
    border: 1px solid rgba(5,30,52,.12);
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 .7rem 1.7rem rgba(5,30,52,.055);
  }

  .investment-plan:first-child {
    border-color: rgba(229,168,0,.3);
  }

  .investment-plan:nth-child(2) {
    border-color: rgba(59,157,224,.28);
  }

  .investment-plan__head {
    min-height: 4.25rem;
    margin: 0 -1.1rem .25rem;
    padding: 1rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    border-radius: 0;
    background: linear-gradient(135deg,#071e32,#114e76);
  }

  .investment-plan:nth-child(2) .investment-plan__head {
    background: linear-gradient(135deg,#0d4e78,#398fc8);
  }

  .investment-plan__title {
    margin: 0;
    color: #fff !important;
    font-family: var(--font-heading);
    font-size: 1.32rem !important;
    font-weight: var(--weight-semibold) !important;
    line-height: 1.16;
  }

  .investment-plan__badge {
    padding: .38rem .62rem;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: .69rem;
    letter-spacing: .04em;
  }

  .investment-plan__tiers {
    margin-top: .3rem;
  }

  .investment-tier {
    padding: 1rem .05rem;
    border-top: 1px solid rgba(5,30,52,.09);
  }

  .investment-tier:first-child {
    margin-top: .1rem;
    border-top: 0;
  }

  .investment-tier:first-child::before {
    content: "BEST RATE";
    display: inline-block;
    grid-column: 1 / -1;
    width: max-content;
    margin-bottom: .45rem;
    padding: .22rem .48rem;
    border-radius: var(--radius-pill);
    background: rgba(229,168,0,.12);
    color: #8a6500;
    font-family: var(--font-ui);
    font-size: .62rem;
    font-weight: var(--weight-bold);
    letter-spacing: .11em;
  }

  .investment-tier__name {
    font-size: .94rem;
  }

  .investment-tier__timing {
    font-size: .79rem;
  }

  .investment-tier__price {
    font-size: 1.65rem;
    font-weight: var(--weight-semibold);
  }

  .investment-tier__note {
    font-size: .75rem;
  }

  .investment-pricing-column .investment-includes {
    margin-top: 1rem;
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(59,157,224,.16);
    border-radius: .9rem;
    background: linear-gradient(135deg,rgba(220,241,255,.48),rgba(255,255,255,.78));
  }

  .investment-pricing-column .investment-includes__label {
    font-size: .75rem;
    font-weight: var(--weight-bold);
    letter-spacing: .14em;
  }

  .investment-pricing-column .investment-includes__list {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: .55rem 1rem;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size: .88rem;
  }

  .investment-pricing-note {
    margin: .9rem .15rem 0;
    font-size: .76rem;
    line-height: 1.5;
  }

  .investment-pricing-column .investment-table__action {
    margin-top: 1.2rem;
    display: flex;
  }

  .investment-pricing-column .investment-table__action .button {
    min-width: 15rem;
    min-height: 3.15rem;
    justify-content: center;
    font-weight: var(--weight-semibold);
  }
}

@media (max-width: 767px) {
  .site-brand {
    gap: .48rem;
  }

  .site-brand__heartmind-logo {
    height: 1.3rem;
    max-width: 6.6rem;
  }

  .site-brand__divider {
    height: 1.15rem;
  }

  .site-brand__certification {
    font-size: .84rem;
  }

  /* New Investment markup remains cleanly stacked on mobile. */
  .investment-content-grid {
    display: block;
  }
}


/* ============================================================
   v67 — hover timelines + centered/larger header + proportional desktop type
   ============================================================ */
.problem-list__item.is-active,
.rhythm-list__item.is-active { color: rgba(0,0,0,.54); transform: none; }
.problem-list__item.is-active .problem-list__number,
.rhythm-list__item.is-active .rhythm-list__number {
  background:#fff; border-color:rgba(0,0,0,.18); color:#000; transform:none; box-shadow:none;
}
.problem-list__item:hover,
.problem-list__item:focus-within,
.rhythm-list__item:hover,
.rhythm-list__item:focus-within { color:#000; transform:translateX(.2rem); }
.problem-list__item:hover .problem-list__number,
.problem-list__item:focus-within .problem-list__number,
.rhythm-list__item:hover .rhythm-list__number,
.rhythm-list__item:focus-within .rhythm-list__number {
  background:#000; border-color:#000; color:#fff; transform:scale(1.06); box-shadow:0 0 0 .22rem rgba(0,0,0,.07);
}

@media (min-width:1024px) {
  .site-header,.site-header.site-header--sticky { height:4.45rem; }
  .site-header__inner {
    width:min(calc(100% - (var(--page-gutter) * 2)),104rem);
    height:3.55rem; margin:.42rem auto 0;
    grid-template-columns:1fr auto 1fr; align-items:center; gap:1.1rem;
  }
  .site-logo.site-brand { justify-self:start; transform:none !important; gap:.82rem; }
  .site-brand__heartmind-logo { height:1.95rem; max-width:10.7rem; }
  .site-brand__heartmind-fallback { font-size:1.27rem; }
  .site-brand__divider { height:1.72rem; }
  .site-brand__certification { font-size:1.08rem; }
  .site-nav--primary { justify-self:center; }
  .site-nav--utility { justify-self:end; }
  .site-nav { gap:1rem; }
  .site-nav__link { font-size:1.17rem; font-weight:var(--weight-semibold); letter-spacing:-.012em; }
  .site-nav__apply { min-height:3.05rem; padding:.72rem 1.55rem; font-size:1.05rem; font-weight:var(--weight-semibold); }
  #program,#curriculum,#faculty,#investment,#faq,#learn,#rhythm,#competencies { scroll-margin-top:6rem; }

  :root {
    --text-xs:.90rem; --text-sm:.988rem; --text-body-sm:1.175rem; --text-body:1.30rem;
    --text-body-lg:1.50rem; --text-card:1.55rem; --text-h3:1.794rem;
    --text-h2-compact:2.433rem; --text-h2:2.663rem; --text-section-display:3.238rem;
    --text-hero:4.916rem; --text-section-copy:1.20rem; --text-eyebrow:.988rem;
  }
  body { font-size:var(--text-body); }

  .section-copy,.section-copy--body,.section-copy--light,
  .problem__statements p,.methodology__definition,.advanced-banner__copy,.outcomes__intro-copy,
  .audience__copy,.audience-list__item span,.milestone__copy,.program__intro-copy,.phase-one__copy,
  .core-area__copy,.curriculum__copy,.practice-spine__copy,.community__copy,.community__top .section-copy,
  .phase-two__copy,.practicum-intro__copy,.feedback__copy,.competencies__copy,.competencies__intro-copy,
  .difference__copy,.guide__copy,.guide__bio,.founding__copy,.faq__copy,.faq-item__answer,
  .application-card__copy,.final-cta__copy,.investment--founding .investment__copy {
    font-size:1.225rem; line-height:1.56;
  }

  .methodology-item__copy,.outcome-card__copy,.faculty-card__role,.community-card__copy,
  .feature-list__item,.guide-role__item,.included-list__item,.faq-answer p,.module-card__text,
  .investment-option__copy,.investment-includes__list li,.investment-detail strong,
  .investment-early-bird p,.investment-before-apply__item p {
    font-size:1.14rem; line-height:1.5;
  }

  .problem-list__item,.rhythm-list__item,.competency-list__desc,.process-pill,.practicum-feature,.stat-card__copy { font-size:1.05rem; }
  .comparison-table__head,.comparison-row,.check-list__item,.testimonial__quote,.impact-chain__quote,.score-row__top,.review-card__edge-copy { font-size:1.16rem; }
  .eyebrow,.core-area__meta,.module-card__number,.module-card__label,.module-progress__label,
  .investment-before-apply__label,.investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label { font-size:.99rem; }
  .button { font-size:1.075rem; }

  .section-title,.section-title--display { font-size:var(--text-h2); }
  .section-title--compact { font-size:var(--text-h2-compact); }
  .phase-column__title,.core-area__title,.community-card__title,.investment-plan__title { font-size:1.52rem !important; line-height:1.22; }
  .module-card__title,.faculty-card__name,.audience-item__title { font-size:1.38rem; line-height:1.3; }
  .investment-before-apply__item strong { font-size:1.15rem; }
  .investment-tier__name { font-size:1.08rem; }
  .investment-tier__timing { font-size:.91rem; }
  .investment-tier__price { font-size:1.90rem; }
  .investment-tier__note,.investment-pricing-note,.investment-plan__badge { font-size:.86rem; }
}


/* ============================================================
   v68 — rebalance desktop typography/header + always-visible outcome images
   ============================================================ */
@media (min-width: 1024px) {
  /* Header: v67 used ~1.30x. Bring the whole header back to a calmer ~1.15x
     while preserving the true-centered navigation architecture. */
  .site-header,
  .site-header.site-header--sticky {
    height: 3.75rem;
  }

  .site-header__inner {
    width: min(calc(100% - (var(--page-gutter) * 2)), 101rem);
    height: 2.82rem;
    margin: .48rem auto 0;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
  }

  .site-logo.site-brand {
    justify-self: start;
    transform: none !important;
    gap: .76rem;
  }

  .site-brand__heartmind-logo {
    height: 1.73rem;
    max-width: 9.5rem;
  }

  .site-brand__heartmind-fallback {
    font-size: 1.13rem;
  }

  .site-brand__divider {
    height: 1.55rem;
  }

  .site-brand__certification {
    font-size: .99rem;
  }

  .site-nav--primary { justify-self: center; }
  .site-nav--utility { justify-self: end; }
  .site-nav { gap: 1rem; }

  .site-nav__link {
    font-size: 1.035rem;
    font-weight: var(--weight-semibold);
    letter-spacing: -.01em;
  }

  .site-nav__apply {
    min-height: 2.53rem;
    padding: .58rem 1.32rem;
    font-size: 1.035rem;
    font-weight: var(--weight-semibold);
  }

  /* Typography: use an actual ~1.15x scale from the approved pre-v67 system.
     H1 remains at its existing 1.15x size; H2s are explicitly lifted too. */
  :root {
    --text-xs: .727rem;
    --text-sm: .787rem;
    --text-body-sm: .948rem;
    --text-body: 1.089rem;
    --text-body-lg: 1.271rem;
    --text-card: 1.332rem;
    --text-h3: 1.695rem;
    --text-h2-compact: 2.433rem;
    --text-h2: 2.663rem;
    --text-section-title: 2.663rem;
    --text-section-display: 3.238rem;
    --text-hero: 4.916rem;
    --text-section-copy: 1.104rem;
    --text-eyebrow: .909rem;
  }

  body { font-size: var(--text-body); }

  /* Ensure the main H2 system really receives the 1.15x increase, including
     section-specific H2s that do not always carry .section-title. */
  .section-title,
  .section-title--display,
  .phase-one__title,
  .phase-two__title,
  .program__title,
  .curriculum__title,
  .practice-spine__head .section-title--display,
  .practicum-intro__title,
  .feedback__title,
  .competencies__title,
  .founding__title,
  .investment__title,
  .faq__title,
  .advanced-banner__title,
  .outcomes__title,
  .guide__left .section-title,
  .community #community-title,
  .application__title {
    font-size: 2.663rem;
  }

  .section-title--compact { font-size: 2.433rem; }

  /* Main editorial/body copy: v67's 1.25x was too aggressive. */
  .section-copy,
  .section-copy--body,
  .section-copy--light,
  .problem__statements p,
  .methodology__definition,
  .advanced-banner__copy,
  .outcomes__intro-copy,
  .audience__copy,
  .audience-list__item span,
  .milestone__copy,
  .program__intro-copy,
  .phase-one__copy,
  .core-area__copy,
  .curriculum__copy,
  .practice-spine__copy,
  .community__copy,
  .community__top .section-copy,
  .phase-two__copy,
  .practicum-intro__copy,
  .feedback__copy,
  .competencies__copy,
  .competencies__intro-copy,
  .difference__copy,
  .guide__copy,
  .guide__bio,
  .founding__copy,
  .faq__copy,
  .faq-item__answer,
  .application-card__copy,
  .final-cta__copy,
  .investment--founding .investment__copy {
    font-size: 1.13rem;
    line-height: 1.56;
  }

  /* Supporting copy also settles at roughly +15%, rather than +25–30%. */
  .methodology-item__copy,
  .outcome-card__copy,
  .faculty-card__role,
  .community-card__copy,
  .feature-list__item,
  .guide-role__item,
  .included-list__item,
  .faq-answer p,
  .module-card__text,
  .investment-option__copy,
  .investment-includes__list li,
  .investment-detail strong,
  .investment-early-bird p,
  .investment-before-apply__item p {
    font-size: 1.02rem;
    line-height: 1.5;
  }

  .problem-list__item,
  .rhythm-list__item,
  .competency-list__desc,
  .process-pill,
  .practicum-feature,
  .stat-card__copy {
    font-size: 1.02rem;
  }

  .comparison-table__head,
  .comparison-row,
  .check-list__item,
  .testimonial__quote,
  .impact-chain__quote,
  .score-row__top,
  .review-card__edge-copy {
    font-size: 1.08rem;
  }

  .eyebrow,
  .core-area__meta,
  .module-card__number,
  .module-card__label,
  .module-progress__label,
  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: .91rem;
  }

  .button { font-size: .99rem; }

  /* Subheads remain intentionally larger than v66, but only by ~15%. */
  .phase-column__title,
  .core-area__title,
  .community-card__title,
  .investment-plan__title {
    font-size: 1.52rem !important;
    line-height: 1.22;
  }

  .module-card__title,
  .faculty-card__name,
  .audience-item__title {
    font-size: 1.38rem;
    line-height: 1.3;
  }

  .investment-before-apply__item strong { font-size: 1.15rem; }
  .investment-tier__name { font-size: 1.08rem; }
  .investment-tier__timing { font-size: .91rem; }
  .investment-tier__price { font-size: 1.90rem; }
  .investment-tier__note,
  .investment-pricing-note,
  .investment-plan__badge { font-size: .86rem; }

  /* The Transformation: every card keeps its own image visible even when the
     card is not the featured/active card. Active state may resize the card,
     but it no longer controls image visibility. */
  .outcome-card--small .outcome-card__image,
  .outcome-card:not(.outcome-card--featured) .outcome-card__image {
    opacity: 1;
    background-color: transparent;
    background-blend-mode: normal;
  }
}


/* ============================================================
   v69 — balanced desktop type, larger H2/H3 hierarchy, stronger CTAs,
   and a new image-free creative visual for the Why / Professional Gap panel.
   Desktop typography only; tablet/mobile typography remains on their approved passes.
   ============================================================ */
@media (min-width: 1024px) {
  /* Body copy: pull v68 back from ~1.15x to a calmer ~1.10x. */
  :root {
    --text-body: 1.045rem;
    --text-body-lg: 1.215rem;
    --text-section-copy: 1.06rem;
    --text-eyebrow: .88rem;
  }

  body { font-size: var(--text-body); }

  .section-copy,
  .section-copy--body,
  .section-copy--light,
  .problem__statements p,
  .methodology__definition,
  .advanced-banner__copy,
  .outcomes__intro-copy,
  .audience__copy,
  .audience-list__item span,
  .milestone__copy,
  .program__intro-copy,
  .phase-one__copy,
  .core-area__copy,
  .curriculum__copy,
  .practice-spine__copy,
  .community__copy,
  .community__top .section-copy,
  .phase-two__copy,
  .practicum-intro__copy,
  .feedback__copy,
  .competencies__copy,
  .competencies__intro-copy,
  .difference__copy,
  .guide__copy,
  .guide__bio,
  .founding__copy,
  .faq__copy,
  .faq-item__answer,
  .application-card__copy,
  .final-cta__copy,
  .investment--founding .investment__copy {
    font-size: 1.08rem;
    line-height: 1.56;
    text-wrap: pretty;
  }

  .methodology-item__copy,
  .outcome-card__copy,
  .faculty-card__role,
  .community-card__copy,
  .feature-list__item,
  .guide-role__item,
  .included-list__item,
  .faq-answer p,
  .module-card__text,
  .investment-option__copy,
  .investment-includes__list li,
  .investment-detail strong,
  .investment-early-bird p,
  .investment-before-apply__item p {
    font-size: .99rem;
    line-height: 1.5;
    text-wrap: pretty;
  }

  .problem-list__item,
  .rhythm-list__item,
  .competency-list__desc,
  .process-pill,
  .practicum-feature,
  .stat-card__copy {
    font-size: .99rem;
  }

  .comparison-table__head,
  .comparison-row,
  .check-list__item,
  .testimonial__quote,
  .impact-chain__quote,
  .score-row__top,
  .review-card__edge-copy {
    font-size: 1.05rem;
  }

  .eyebrow,
  .core-area__meta,
  .module-card__number,
  .module-card__label,
  .module-progress__label,
  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: .89rem;
  }

  /* H2 hierarchy: intentionally ~10% larger than v68. */
  .section-title,
  .section-title--display,
  .phase-one__title,
  .phase-two__title,
  .program__title,
  .curriculum__title,
  .practice-spine__head .section-title--display,
  .practicum-intro__title,
  .feedback__title,
  .competencies__title,
  .founding__title,
  .investment__title,
  .faq__title,
  .advanced-banner__title,
  .outcomes__title,
  .guide__left .section-title,
  .community #community-title,
  .application__title {
    font-size: 2.93rem;
    line-height: 1.08;
    text-wrap: balance;
  }

  .section-title--compact { font-size: 2.67rem; }

  /* H3/subheading hierarchy: also +~10% so H2/body proportions read clearly. */
  .phase-column__title,
  .core-area__title,
  .community-card__title,
  .investment-plan__title,
  .problem-panel__title,
  .methodology-item__title,
  .outcome-card__title,
  .faq-question {
    font-size: 1.67rem !important;
    line-height: 1.2;
    text-wrap: balance;
  }

  .module-card__title,
  .faculty-card__name,
  .audience-item__title {
    font-size: 1.52rem;
    line-height: 1.25;
    text-wrap: balance;
  }

  /* Slightly widen only the headings that became tight after the larger type. */
  .problem__title { max-width: 57rem; }
  .advanced-banner__title { max-width: 38rem; }
  .program__title { max-width: 47rem; }
  .practicum-intro__title { max-width: 32rem; }
  .founding__title { max-width: 34rem; }
  .faq__title { max-width: 23rem; }
  .outcomes__head .section-title { max-width: 35rem; width: min(100%, 35rem); }

  /* CTA buttons: more breathing room and a stronger arrow glyph. */
  .button {
    min-height: 3rem;
    padding: .82rem 1.65rem;
    gap: .95rem;
    font-size: .98rem;
    line-height: 1.15;
  }

  .button--lg {
    min-height: 3.3rem;
    padding: .92rem 1.9rem;
  }

  .button span[aria-hidden="true"] {
    display: inline-block;
    flex: 0 0 auto;
    font-size: 1.34em;
    line-height: 1;
    transform: translateY(-.02em);
  }

  .hero__actions .button,
  .final-cta__actions .button,
  .problem-panel__action,
  .rhythm-panel__action,
  .outcomes__action {
    padding-inline: 1.8rem;
  }

  /* Why / Professional Gap: image removed and replaced with an abstract
     embodied-shift visual that keeps the approved 50/50 architecture. */
  .problem-panel__visual {
    position: relative;
    min-height: 42.524rem;
    overflow: hidden;
    isolation: isolate;
    background:
      radial-gradient(circle at 50% 48%, rgba(112, 194, 248, .34) 0%, rgba(36, 124, 184, .18) 22%, rgba(6, 32, 53, 0) 48%),
      radial-gradient(circle at 18% 80%, rgba(255, 228, 158, .14) 0%, rgba(255, 228, 158, 0) 32%),
      linear-gradient(155deg, #061d31 0%, #0a456f 52%, #3b9de0 118%);
  }

  .problem-panel__visual::before {
    content: "";
    position: absolute;
    width: 28rem;
    height: 28rem;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(207, 226, 238, .28);
    border-radius: 50%;
    box-shadow:
      0 0 0 4.8rem rgba(207, 226, 238, .045),
      0 0 0 9.6rem rgba(207, 226, 238, .025);
  }

  .problem-panel__visual::after {
    content: "";
    position: absolute;
    inset: 8% -22% auto;
    height: 72%;
    border: 1px solid rgba(112, 194, 248, .28);
    border-left-color: transparent;
    border-right-color: transparent;
    border-radius: 50%;
    transform: rotate(-14deg);
    filter: drop-shadow(0 0 1.1rem rgba(59,157,224,.20));
  }

  .problem-visual__core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8.4rem;
    height: 8.4rem;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(circle at 38% 34%, #e3f5ff 0%, #7bc7f3 24%, #2d8fc9 52%, #0c4169 100%);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.25),
      0 0 3.4rem rgba(88, 183, 239, .48),
      inset -1rem -1rem 2.4rem rgba(5,30,52,.34);
    z-index: 3;
  }

  .problem-visual__core::after {
    content: "";
    position: absolute;
    inset: 1.35rem;
    border: 1px solid rgba(255,255,255,.44);
    border-radius: 50%;
  }

  .problem-visual__ring {
    position: absolute;
    left: 50%;
    top: 50%;
    border: 1px solid rgba(168, 218, 248, .34);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .problem-visual__ring--one { width: 14.5rem; height: 14.5rem; }
  .problem-visual__ring--two { width: 21rem; height: 21rem; opacity: .66; }
  .problem-visual__ring--three { width: 31rem; height: 31rem; opacity: .36; }

  .problem-visual__node {
    position: absolute;
    width: .86rem;
    height: .86rem;
    border-radius: 50%;
    background: #d8f2ff;
    border: 2px solid #56afe6;
    box-shadow: 0 0 0 .45rem rgba(86,175,230,.10), 0 0 1.1rem rgba(86,175,230,.64);
    z-index: 4;
  }

  .problem-visual__node--one { left: 19%; top: 28%; }
  .problem-visual__node--two { right: 15%; top: 40%; }
  .problem-visual__node--three { left: 27%; bottom: 18%; }
  .problem-visual__node--four { right: 29%; bottom: 24%; background:#ffe49e; border-color:#f1c95d; box-shadow:0 0 0 .45rem rgba(255,228,158,.08),0 0 1.15rem rgba(255,228,158,.42); }

  .problem-visual__bridge {
    position: absolute;
    left: 13%;
    right: 11%;
    top: 50%;
    height: 1px;
    background: linear-gradient(90deg, rgba(112,194,248,0), rgba(112,194,248,.86) 22%, rgba(255,228,158,.74) 78%, rgba(255,228,158,0));
    transform: rotate(-8deg);
    transform-origin: center;
    box-shadow: 0 0 .8rem rgba(112,194,248,.28);
    z-index: 1;
  }
}

/* The new Why visual remains intentional at smaller breakpoints too, without
   changing the approved tablet/mobile typography systems. */
@media (max-width: 1023px) {
  .problem-panel__visual {
    position: relative;
    min-height: clamp(16rem, 46vw, 25rem);
    overflow: hidden;
    isolation: isolate;
    background:
      radial-gradient(circle at 50% 48%, rgba(112, 194, 248, .30) 0%, rgba(36, 124, 184, .16) 24%, rgba(6,32,53,0) 50%),
      linear-gradient(155deg, #061d31 0%, #0a456f 58%, #3b9de0 120%);
  }
  .problem-panel__visual::before {
    content:"";
    position:absolute;
    width:15rem;
    height:15rem;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:1px solid rgba(207,226,238,.28);
    border-radius:50%;
    box-shadow:0 0 0 3rem rgba(207,226,238,.04),0 0 0 6rem rgba(207,226,238,.022);
  }
  .problem-panel__visual::after {
    content:"";
    position:absolute;
    left:9%;
    right:9%;
    top:50%;
    height:1px;
    background:linear-gradient(90deg,rgba(112,194,248,0),rgba(112,194,248,.9),rgba(255,228,158,.7),rgba(255,228,158,0));
    transform:rotate(-7deg);
  }
  .problem-visual__core {
    position:absolute;
    left:50%;
    top:50%;
    width:5rem;
    height:5rem;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle at 38% 34%,#e3f5ff 0%,#7bc7f3 24%,#2d8fc9 52%,#0c4169 100%);
    box-shadow:0 0 2.4rem rgba(88,183,239,.48);
    z-index:3;
  }
  .problem-visual__ring { position:absolute;left:50%;top:50%;border:1px solid rgba(168,218,248,.3);border-radius:50%;transform:translate(-50%,-50%); }
  .problem-visual__ring--one { width:8.5rem;height:8.5rem; }
  .problem-visual__ring--two { width:12rem;height:12rem;opacity:.62; }
  .problem-visual__ring--three { width:18rem;height:18rem;opacity:.30; }
  .problem-visual__node { position:absolute;width:.65rem;height:.65rem;border-radius:50%;background:#d8f2ff;border:2px solid #56afe6;box-shadow:0 0 .8rem rgba(86,175,230,.62);z-index:4; }
  .problem-visual__node--one { left:20%;top:28%; }
  .problem-visual__node--two { right:17%;top:38%; }
  .problem-visual__node--three { left:29%;bottom:20%; }
  .problem-visual__node--four { right:28%;bottom:22%;background:#ffe49e;border-color:#f1c95d; }
  .problem-visual__bridge { display:none; }
}


/* ============================================================
   v70 — desktop hierarchy + practicum width + transformation clipping
   Targeted refinements only. Header/nav remains as approved in v69.
   ============================================================ */
@media (min-width: 1024px) {
  /* H2 stays at the requested +10% level. */
  .section-title,
  .section-title--display,
  .phase-one__title,
  .phase-two__title,
  .program__title,
  .curriculum__title,
  .practice-spine__head .section-title--display,
  .practicum-intro__title,
  .feedback__title,
  .competencies__title,
  .founding__title,
  .investment__title,
  .faq__title,
  .advanced-banner__title,
  .outcomes__title,
  .guide__left .section-title,
  .community #community-title,
  .application__title {
    font-size: 2.93rem;
    line-height: 1.08;
  }

  /* H3/subheads: v69 was too large. Keep them at only ~1.05x
     over the previously approved v68 scale. */
  .phase-column__title,
  .core-area__title,
  .community-card__title,
  .investment-plan__title,
  .problem-panel__title,
  .methodology-item__title,
  .outcome-card__title,
  .faq-question {
    font-size: 1.60rem !important;
    line-height: 1.22;
  }

  .module-card__title,
  .faculty-card__name,
  .audience-item__title {
    font-size: 1.45rem;
    line-height: 1.27;
  }

  /* 1. Give the Phase Two / deliberate-practice heading a more generous
     measure so it doesn't wrap into an unnecessarily narrow block. */
  .practicum-intro__title {
    width: min(100%, 44rem);
    max-width: 44rem;
  }

  /* 2. Practice Spine intro deserves slightly stronger readability than
     generic body copy. */
  .practice-spine__copy {
    font-size: 1.18rem;
    line-height: 1.6;
  }

  /* 3. Increase the comparison-card bullet copy on BOTH cards. */
  .approach-list__item {
    font-size: 1.02rem;
    line-height: 1.42;
    min-height: 3rem;
    padding-block: .72rem;
  }

  /* 4. Transformation CTA must stay on one line. */
  .outcomes__action {
    width: auto;
    min-width: 21rem;
    max-width: none;
    white-space: nowrap;
    justify-content: center;
  }

  /* 5. Keep the Transformation card rail visually bounded by the featured
     card height. Content in smaller/inactive cards is clipped inside its
     designed card instead of lengthening the whole rail. */
  .outcome-track {
    align-items: flex-start;
    max-height: 30.263rem;
    overflow-y: hidden;
  }

  .outcome-card--featured {
    height: 28.263rem;
    min-height: 28.263rem;
    max-height: 28.263rem;
  }

  .outcome-card--small,
  .outcome-card:not(.outcome-card--featured) {
    height: 22.288rem;
    min-height: 22.288rem;
    max-height: 22.288rem;
  }
}


/* ============================================================
   v71 — targeted desktop readability / card refinements
   ============================================================ */

/* 8. Global root sizing requested explicitly. This becomes the single
   minimum/viewport/maximum rule used by the rem-based page system. */
html {
  font-size: clamp(14px, .95vw, 19px) !important;
}

/* 3. Closing CTA artwork should always fill the banner rather than render
   at an arbitrary percentage width. */
.final-cta {
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}

@media (min-width: 1024px) {
  /* 1. Methodology card headings: bring them back into proportion. */
  .methodology-item__title {
    font-size: 1.20rem !important;
    line-height: 1.26;
  }

  /* 2. FAQ questions were reading like section subheads. */
  .faq-question {
    font-size: 1.25rem !important;
    line-height: 1.3;
  }

  /* 4. Give the Advanced Professional Specialization title enough measure
     to retain the larger H2 treatment without wrapping too narrowly. */
  .advanced-banner__title {
    width: min(100%, 48rem);
    max-width: 48rem;
  }

  /* 5. Transformation: restore intact card boxes. Truncate only the
     description copy with a real ellipsis instead of clipping the cards. */
  .outcome-track {
    max-height: none;
    overflow-y: visible;
  }

  .outcome-card--featured {
    height: auto;
    min-height: 28.263rem;
    max-height: none;
  }

  .outcome-card--small,
  .outcome-card:not(.outcome-card--featured) {
    height: auto;
    min-height: 22.288rem;
    max-height: none;
  }

  .outcome-card__title {
    font-size: 1.28rem !important;
    line-height: 1.24;
  }

  .outcome-card__copy {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: .90rem;
    line-height: 1.42;
  }

  .outcome-card--featured .outcome-card__copy {
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .outcome-card--small .outcome-card__copy,
  .outcome-card:not(.outcome-card--featured) .outcome-card__copy {
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  /* 6. Widen the two long editorial intro paragraphs without making the
     entire sections wider. */
  .milestone__head {
    grid-template-columns: minmax(0, 1fr) 32rem;
    gap: 4rem;
  }

  .milestone__copy {
    width: 32rem;
    max-width: 32rem;
  }

  .program__head {
    grid-template-columns: minmax(0, 1fr) 30rem;
    gap: 4rem;
  }

  .program__intro-copy {
    width: 30rem;
    max-width: 30rem;
  }

  /* 7. Application process cards: wider/taller cards with tighter spacing. */
  .application__steps {
    width: min(100%, 75rem);
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(9, auto);
    justify-content: center;
    gap: .58rem;
  }

  .application-card {
    width: 11.45rem;
    min-height: 14.25rem;
    padding: 1.65rem 1.15rem;
    gap: 1.15rem;
  }

  .application-card__copy {
    max-width: 9.4rem;
    font-size: .84rem;
    line-height: 1.4;
  }

  .application-arrow {
    width: 2.25rem;
  }

  /* 9. Benefit strip: increase the complete visual unit, not only the text. */
  .benefit-strip {
    min-height: 17.25rem;
    padding-top: 4rem;
    padding-bottom: 2.8rem;
  }

  .benefit-strip__grid {
    grid-template-columns: repeat(5, minmax(10.25rem, 1fr));
    column-gap: 1rem;
  }

  .benefit-item {
    gap: 1.05rem;
  }

  .benefit-item__icon {
    height: 3.55rem;
    max-width: 3.9rem;
  }

  .benefit-item__text {
    max-width: 11rem;
    font-size: .84rem;
    line-height: 1.5;
  }
}


/* ============================================================
   v72 — desktop root sizing + Transformation title clamp +
   Application width alignment. Tablet/mobile sizing restored.
   ============================================================ */

/* Tablet + mobile keep the pre-v71 root sizing. */
@media (max-width: 1023px) {
  html {
    font-size: clamp(11px, 0.95vw, 19px) !important;
  }
}

@media (min-width: 1024px) {
  /* Desktop-only root sizing requested. */
  html {
    font-size: clamp(13px, .95vw, 19px) !important;
  }

  /* The Transformation: inactive card titles may use up to two lines;
     if a title would run to a third line, truncate it with an ellipsis.
     Featured/active card keeps its full title. */
  .outcome-card:not(.outcome-card--featured) .outcome-card__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .outcome-card--featured .outcome-card__title {
    display: block;
    overflow: visible;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
  }

  /* Application: preserve the good card/gap proportions, but make the
     intro and the process track share essentially the same visual width. */
  .application__head,
  .application__steps,
  .application__action {
    width: min(100%, 71rem);
    margin-left: auto;
    margin-right: auto;
  }

  .application__steps {
    grid-template-columns: repeat(9, auto);
    justify-content: center;
    gap: .58rem;
  }
}


/* ============================================================
   v73 — MOBILE ONLY: larger header brand + premium Investment treatment
   Desktop/tablet remain unchanged.
   ============================================================ */
@media (max-width: 767px) {
  /* Header brand: make the HeartMind mark more legible on phones without
     changing the menu architecture. */
  .site-brand {
    gap: .58rem;
  }

  .site-brand__heartmind-logo {
    height: 1.62rem;
    max-width: 8.1rem;
  }

  .site-brand__heartmind-fallback {
    font-size: 1.08rem;
  }

  .site-brand__divider {
    height: 1.38rem;
  }

  .site-brand__certification {
    font-size: .90rem;
    line-height: 1;
  }

  /* ------------------------------------------------------------
     Founding cohort investment — mobile version of the approved desktop
     visual system. Keep the content stacked, but make it feel intentional.
     ------------------------------------------------------------ */
  .investment--founding {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-top: 4.6rem;
    padding-bottom: 4.6rem;
    background:
      radial-gradient(circle at 88% 8%, rgba(59,157,224,.14), transparent 18rem),
      radial-gradient(circle at 8% 92%, rgba(229,168,0,.09), transparent 16rem),
      var(--color-background-warm);
  }

  .investment--founding::before {
    content: "";
    position: absolute;
    inset: .7rem;
    z-index: -1;
    border: 1px solid rgba(5,30,52,.07);
    border-radius: 1.25rem;
    pointer-events: none;
  }

  .investment--founding .investment__layout {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: 100%;
    margin-inline: auto;
    display: block;
  }

  .investment--founding .investment__intro {
    width: 100%;
    max-width: none;
  }

  .investment--founding .investment__title {
    max-width: 19rem;
    margin-top: .7rem;
    line-height: 1.08;
    text-wrap: balance;
  }

  .investment--founding .investment__copy {
    max-width: 100%;
    margin-top: 1.4rem;
    line-height: 1.58;
  }

  .investment-early-bird {
    width: 100%;
    margin-top: 1.5rem;
    padding: 1rem 1rem 1rem 1.15rem;
    border-left: .22rem solid var(--color-accent);
    border-radius: 0 .8rem .8rem 0;
    background: rgba(255,255,255,.72);
    box-shadow: 0 .55rem 1.5rem rgba(5,30,52,.05);
  }

  .investment-table--founding {
    margin-top: 2.2rem;
  }

  .investment-content-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .investment-before-apply {
    position: relative;
    margin: 0;
    padding: 1.45rem 1.2rem 1.2rem;
    border: 1px solid rgba(5,30,52,.11);
    border-radius: 1.05rem;
    background: linear-gradient(165deg,rgba(255,255,255,.96),rgba(236,245,250,.78));
    box-shadow: 0 .8rem 2rem rgba(5,30,52,.065);
  }

  .investment-before-apply::before {
    content: "✷";
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: rgba(229,168,0,.92);
    font-size: 1.2rem;
  }

  .investment-before-apply__label {
    padding-right: 2rem;
    font-weight: var(--weight-bold);
    letter-spacing: .14em;
    color: var(--color-secondary);
  }

  .investment-before-apply__item {
    padding: 1rem 0;
    border-bottom: 1px solid rgba(5,30,52,.09);
  }

  .investment-before-apply__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .investment-before-apply__item strong {
    display: block;
    font-family: var(--font-heading);
    font-size: 1.05rem;
    line-height: 1.35;
    color: var(--color-primary);
  }

  .investment-before-apply__item p {
    margin-top: .4rem;
    font-size: .94rem;
    line-height: 1.5;
    color: var(--color-text-soft);
  }

  .investment-pricing-column {
    min-width: 0;
    padding: .85rem;
    border: 1px solid rgba(5,30,52,.10);
    border-radius: 1.15rem;
    background: rgba(255,255,255,.74);
    box-shadow: 0 .85rem 2.1rem rgba(5,30,52,.07);
  }

  .investment-pricing-column .investment-table__label {
    margin: .15rem .2rem .9rem;
    font-size: 1rem;
    font-weight: var(--weight-bold);
    letter-spacing: .12em;
    color: var(--color-secondary);
  }

  .investment-pricing-plans {
    display: grid;
    grid-template-columns: 1fr;
    gap: .95rem;
    margin: 0;
    border: 0;
  }

  .investment-plan {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0 1rem 1.05rem;
    border: 1px solid rgba(5,30,52,.12);
    border-radius: .95rem;
    background: #fff;
    box-shadow: 0 .6rem 1.5rem rgba(5,30,52,.055);
  }

  .investment-plan:first-child {
    border-color: rgba(229,168,0,.30);
  }

  .investment-plan:nth-child(2) {
    border-color: rgba(59,157,224,.28);
  }

  .investment-plan__head {
    min-height: 4rem;
    margin: 0 -1rem .15rem;
    padding: .95rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    background: linear-gradient(135deg,#071e32,#114e76);
  }

  .investment-plan:nth-child(2) .investment-plan__head {
    background: linear-gradient(135deg,#0d4e78,#398fc8);
  }

  .investment-plan__title {
    margin: 0;
    color: #fff !important;
    font-family: var(--font-heading);
    font-size: 1.38rem !important;
    font-weight: var(--weight-semibold) !important;
    line-height: 1.16;
  }

  .investment-plan__badge {
    padding: .34rem .55rem;
    border: 1px solid rgba(255,255,255,.36);
    border-radius: var(--radius-pill);
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: .74rem;
    line-height: 1.15;
  }

  .investment-plan__tiers {
    margin-top: .2rem;
  }

  .investment-tier {
    padding: .95rem .05rem;
    border-top: 1px solid rgba(5,30,52,.09);
  }

  .investment-tier:first-child {
    margin-top: .1rem;
    border-top: 0;
  }

  .investment-tier:first-child::before {
    content: "BEST RATE";
    display: inline-block;
    grid-column: 1 / -1;
    width: max-content;
    margin-bottom: .42rem;
    padding: .22rem .47rem;
    border-radius: var(--radius-pill);
    background: rgba(229,168,0,.12);
    color: #8a6500;
    font-family: var(--font-ui);
    font-size: .64rem;
    font-weight: var(--weight-bold);
    letter-spacing: .1em;
  }

  .investment-tier__name {
    font-size: .98rem;
    font-weight: var(--weight-semibold);
  }

  .investment-tier__timing {
    font-size: .82rem;
  }

  .investment-tier__price {
    font-size: 1.9rem;
    line-height: 1.05;
    font-weight: var(--weight-bold);
  }

  .investment-tier__note {
    font-size: .78rem;
  }

  .investment-pricing-column .investment-includes {
    margin-top: .95rem;
    padding: 1rem;
    border: 1px solid rgba(59,157,224,.16);
    border-radius: .85rem;
    background: linear-gradient(135deg,rgba(220,241,255,.55),rgba(255,255,255,.82));
  }

  .investment-pricing-column .investment-includes__label {
    font-weight: var(--weight-bold);
    letter-spacing: .12em;
  }

  .investment-pricing-column .investment-includes__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size: .93rem;
    line-height: 1.45;
  }

  .investment-pricing-note {
    margin: .85rem .1rem 0;
    font-size: .76rem;
    line-height: 1.48;
  }

  .investment-pricing-column .investment-table__action {
    margin-top: 1rem;
    display: flex;
  }

  .investment-pricing-column .investment-table__action .button {
    width: 100%;
    min-height: 3.2rem;
    justify-content: center;
  }
}


/* ============================================================
   v74 — MOBILE ONLY: larger brand lockup + Investment readability/CTA
   ============================================================ */
@media (max-width: 767px) {
  /* HeartMind + NSM Certification: ~1.3x larger than v73. */
  .site-brand {
    gap: .72rem;
    max-width: calc(100% - 3.8rem);
  }

  .site-brand__heartmind-logo {
    height: 2.10rem;
    max-width: 10.5rem;
  }

  .site-brand__heartmind-fallback {
    font-size: 1.40rem;
  }

  .site-brand__divider {
    height: 1.80rem;
  }

  .site-brand__certification {
    font-size: 1.17rem;
    line-height: 1;
    white-space: nowrap;
  }

  /* Investment mobile copy: bring the entire section up to a readable
     size without changing its structure. */
  .investment--founding .investment__copy {
    font-size: 1.04rem;
    line-height: 1.62;
  }

  .investment-early-bird,
  .investment-early-bird p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: 1.04rem;
    line-height: 1.3;
  }

  .investment-before-apply__item strong {
    font-size: 1.16rem;
    line-height: 1.36;
  }

  .investment-before-apply__item p {
    font-size: 1.06rem;
    line-height: 1.58;
  }

  .investment-plan__title {
    font-size: 1.48rem !important;
  }

  .investment-plan__badge {
    font-size: .88rem;
    padding: .42rem .66rem;
  }

  .investment-tier__name {
    font-size: 1.08rem;
  }

  .investment-tier__timing {
    font-size: .95rem;
    line-height: 1.4;
  }

  .investment-tier__price {
    font-size: 2.08rem;
    font-weight: var(--weight-bold);
  }

  .investment-tier__note {
    font-size: .91rem;
    line-height: 1.4;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size: 1.05rem;
    line-height: 1.52;
  }

  .investment-pricing-note {
    font-size: .92rem;
    line-height: 1.55;
  }

  /* Pricing CTA: more breathing room and slightly larger type/icon. */
  .investment-pricing-column .investment-table__action {
    margin-top: 1.25rem;
  }

  .investment-pricing-column .investment-table__action .button {
    min-height: 4.15rem;
    padding: 1rem 1.35rem;
    font-size: 1.04rem;
    line-height: 1.2;
    gap: .85rem;
  }

  .investment-pricing-column .investment-table__action .button span[aria-hidden="true"],
  .investment-pricing-column .investment-table__action .button .button__icon {
    font-size: 1.35em;
    width: 1.35rem;
    height: 1.35rem;
  }
}


/* ============================================================
   v75 — MOBILE ONLY: normalize Investment typography + Application intro
   ============================================================ */
@media (max-width: 767px) {
  /* Investment intro should visually match the other mobile sections. */
  .investment--founding .investment__title {
    font-size: clamp(3.8rem, 10vw, 4.3rem) !important;
    line-height: 1.08;
    max-width: 22rem;
  }

  .investment--founding .investment__copy {
    font-size: 1.6rem;
    line-height: 1.58;
    max-width: 100%;
  }

  .investment-early-bird,
  .investment-early-bird p {
    font-size: 1.45rem;
    line-height: 1.55;
  }

  /* Before You Apply + pricing grid: v74 values were too small against
     the mobile root size, so bring all supporting copy up deliberately. */
  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: 1.45rem;
    line-height: 1.3;
  }

  .investment-before-apply__item strong {
    font-size: 1.7rem;
    line-height: 1.34;
  }

  .investment-before-apply__item p {
    font-size: 1.48rem;
    line-height: 1.58;
  }

  .investment-plan__title {
    font-size: 2.05rem !important;
    line-height: 1.15;
  }

  .investment-plan__badge {
    font-size: 1.15rem;
    padding: .48rem .72rem;
  }

  .investment-tier {
    padding-top: 1.15rem;
    padding-bottom: 1.15rem;
  }

  .investment-tier:first-child::before {
    font-size: .95rem;
    padding: .28rem .52rem;
  }

  .investment-tier__name {
    font-size: 1.55rem;
  }

  .investment-tier__timing {
    font-size: 1.35rem;
    line-height: 1.4;
  }

  .investment-tier__price {
    font-size: 3rem;
    line-height: 1.04;
    font-weight: var(--weight-bold);
  }

  .investment-tier__note {
    font-size: 1.28rem;
    line-height: 1.4;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size: 1.48rem;
    line-height: 1.5;
  }

  .investment-pricing-note {
    font-size: 1.3rem;
    line-height: 1.55;
  }

  /* Application intro was inheriting the full mobile section-copy size and
     was visually overpowering the heading/cards. Keep it intentionally smaller. */
  .application__head .section-copy--body {
    font-size: 1.35rem;
    line-height: 1.58;
  }
}


/* ============================================================
   v76 — MOBILE ONLY: keep Investment intro scale, restore pricing/support
   copy to v74 balance, and fully contain Certification Standards.
   ============================================================ */
@media (max-width: 767px) {
  /* Investment: keep v75 H2 + intro paragraph exactly as approved. */
  .investment--founding .investment__title {
    font-size: clamp(3.8rem, 10vw, 4.3rem) !important;
    line-height: 1.08;
    max-width: 22rem;
  }

  .investment--founding .investment__copy {
    font-size: 1.6rem;
    line-height: 1.58;
    max-width: 100%;
  }

  /* Restore the rest of the Investment typography to the v74 scale. */
  .investment-early-bird,
  .investment-early-bird p {
    font-size: 1rem;
    line-height: 1.55;
  }

  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: 1.04rem;
    line-height: 1.3;
  }

  .investment-before-apply__item strong {
    font-size: 1.16rem;
    line-height: 1.36;
  }

  .investment-before-apply__item p {
    font-size: 1.06rem;
    line-height: 1.58;
  }

  .investment-plan__title {
    font-size: 1.48rem !important;
    line-height: 1.15;
  }

  .investment-plan__badge {
    font-size: .88rem;
    padding: .42rem .66rem;
  }

  .investment-tier {
    padding-top: .95rem;
    padding-bottom: .95rem;
  }

  .investment-tier:first-child::before {
    font-size: .64rem;
    padding: .22rem .47rem;
  }

  .investment-tier__name {
    font-size: 1.08rem;
  }

  .investment-tier__timing {
    font-size: .95rem;
    line-height: 1.4;
  }

  .investment-tier__price {
    font-size: 2.08rem;
    line-height: 1.05;
    font-weight: var(--weight-bold);
  }

  .investment-tier__note {
    font-size: .91rem;
    line-height: 1.4;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size: 1.05rem;
    line-height: 1.52;
  }

  .investment-pricing-note {
    font-size: .92rem;
    line-height: 1.55;
  }

  /* Certification Standards: prevent the light-blue surface / white card
     from exceeding the viewport at narrow mobile widths. */
  .standards {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
  }

  .standards > .container {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    padding-inline: 1rem;
    box-sizing: border-box;
    overflow: hidden;
  }

  .standards__surface {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
    padding: 1.5rem;
    box-sizing: border-box;
    overflow: hidden;
  }

  .standards__copy-card {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 3rem 2rem;
    box-sizing: border-box;
    overflow: hidden;
  }

  .standards__copy-card .eyebrow,
  .standards__copy-card .section-title,
  .standards__copy-card .section-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .standards .ladder,
  .standards .ladder-step {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}


/* ============================================================
   v77 — Troy/Mutter edits
   Fleet NSM Advantage comparison treatment.
   ============================================================ */
@media (min-width: 1024px) {
  .comparison-table__head {
    min-height: 5.35rem;
    align-items: stretch;
    border-bottom: 2px solid rgba(5, 30, 52, 0.38);
    color: var(--color-primary);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
  }

  .comparison-table__head > * {
    display: flex;
    align-items: center;
    padding: 1.15rem 1rem;
    background: linear-gradient(180deg, #f4f8fb 0%, #edf4f8 100%);
  }

  /* Mainstream heading belongs over the actual mainstream text column,
     not over the category/label column. */
  .comparison-table__head > *:first-child {
    grid-column: 2;
    justify-content: flex-start;
    text-align: left;
    padding-left: 1rem;
    padding-right: 1rem;
    border-radius: 0;
  }

  .comparison-table__head .comparison-table__nsm {
    grid-column: 3;
    margin-inline: 0.526rem;
    padding: 1.15rem 1.45rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 800;
    line-height: 1.25;
    text-transform: uppercase;
    background: linear-gradient(90deg, #0b4f78 0%, #2f79a6 100%);
    border-radius: 1.55rem 1.55rem 0 0;
  }

  .comparison-table__head .comparison-table__nsm::before {
    content: "";
    width: .24rem;
    height: 2.35rem;
    flex: 0 0 .24rem;
    margin-right: 1rem;
    border-radius: 999px;
    background: var(--color-accent);
  }

  /* Only Fleet's two highlighted statements are gold/orange. */
  .comparison-row--fleet-accent .comparison-row__nsm {
    color: var(--color-accent);
    font-weight: var(--weight-bold);
  }

  .advantage__people-talk {
    color: rgba(26,116,179,1.0);
  }

  /* The NSM Advantage is a special section: its eyebrow is larger and gold. */
  .advantage__header .eyebrow {
    color: var(--color-accent) !important;
    font-size: 1.3em !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .comparison-table__head {
    font-weight: 700;
    color: var(--color-primary);
  }

  .comparison-table__head > * {
    background: #eef5f9;
  }

  /* Same column alignment on tablet: mainstream heading sits over the
     mainstream content column. */
  .comparison-table__head > *:first-child {
    grid-column: 2;
    justify-content: flex-start;
    text-align: left;
  }

  .comparison-table__head .comparison-table__nsm {
    grid-column: 3;
    color: #fff;
    background: linear-gradient(90deg, #0b4f78 0%, #2f79a6 100%);
  }

  .comparison-row--fleet-accent .comparison-row__nsm {
    color: var(--color-accent);
    font-weight: var(--weight-bold);
  }

  .advantage__people-talk {
    color: rgba(26,116,179,1.0);
  }

  .advantage__header .eyebrow {
    color: var(--color-accent) !important;
    font-size: 1.3em !important;
  }
}

v80 — SIMPLE TABLET MODE
   Keep the approved desktop architecture on tablets and scale it with the
   root font size. No tablet-specific max-width redesigns or stacked rewrites.
   Only safe wrapping/containment is added where the desktop layout gets tight.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
  html {
    font-size: clamp(13px, 1.2vw, 19px) !important;
  }

  body,
  .site {
    overflow-x: hidden;
  }

  /* Preserve desktop container/max-width rules. Only prevent children from
     forcing horizontal overflow when tablet space gets tight. */
  .site *,
  .site *::before,
  .site *::after {
    min-width: 0;
  }

  img,
  video,
  svg {
    max-width: 100%;
  }

  h1,
  h2,
  h3,
  h4,
  p,
  li,
  a,
  span {
    overflow-wrap: break-word;
  }

  /* Desktop composition stays intact; text/buttons may wrap naturally when
     the viewport is genuinely too narrow instead of triggering a new layout. */
  .button,
  .site-nav__link,
  .hero__actions a,
  .outcomes__action,
  .investment a,
  .application a,
  .final-cta a {
    white-space: normal;
    text-align: center;
  }

  .comparison-table,
  .program__grid,
  .phase-one__layout,
  .phase-two__layout,
  .curriculum__grid,
  .everything__body,
  .included-grid,
  .founding__layout,
  .investment__layout,
  .application__steps,
  .application-process,
  .audience__layout,
  .guide__layout,
  .competencies__layout {
    max-width: 100%;
  }
}


/* ============================================================
   v81 — CAREFUL TABLET FIX PASS (768px–1023px only)
   Keeps the approved desktop/mobile systems intact while fixing the
   specific tablet issues reported after v80.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
  html {
    font-size: clamp(13px, 1.2vw, 19px) !important;
  }

  /* ------------------------------------------------------------
     1) HEADER — use the existing hamburger architecture on tablet.
     ------------------------------------------------------------ */
  :root {
    --header-height: 5.2rem;
    --header-content-height: 5.2rem;
    --header-offset-top: 0rem;
  }

  .site-header__inner {
    width: calc(100% - (var(--page-gutter) * 2));
    height: var(--header-content-height);
    margin-top: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
  }

  .site-logo,
  .site-logo.site-brand {
    position: relative;
    z-index: 12;
    justify-self: start;
    transform: none !important;
  }

  .mobile-menu-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    padding: .9rem;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: var(--radius-sm);
    background: rgba(5,30,52,.18);
    color: var(--color-white);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .48rem;
    cursor: pointer;
    justify-self: end;
    position: relative;
    z-index: 12;
  }

  .mobile-menu-toggle__line {
    width: 1.8rem;
    height: 1px;
    background: currentColor;
    transition: transform var(--transition), opacity var(--transition);
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(1) {
    transform: translateY(.49rem) rotate(45deg);
  }
  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(2) { opacity: 0; }
  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(3) {
    transform: translateY(-.49rem) rotate(-45deg);
  }

  .mobile-nav-panel {
    display: flex;
    position: absolute;
    z-index: 11;
    top: calc(var(--header-height) - .15rem);
    left: var(--page-gutter);
    right: var(--page-gutter);
    max-height: calc(100vh - var(--header-height) - 2rem);
    overflow-y: auto;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: var(--radius-lg);
    background: rgba(5,30,52,.98);
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-.75rem);
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
  }

  .site-header.is-menu-open .mobile-nav-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .mobile-nav-panel .site-nav,
  .mobile-nav-panel .site-nav--primary,
  .mobile-nav-panel .site-nav--utility {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .mobile-nav-panel .site-nav--utility {
    margin-top: .7rem;
    padding-top: .7rem;
    border-top: 1px solid rgba(255,255,255,.14);
  }

  .mobile-nav-panel .site-nav__link {
    min-height: 44px;
    padding: .85rem .45rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    font-size: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .mobile-nav-panel .site-nav__apply {
    width: 100%;
    margin-top: .75rem;
    justify-content: center;
  }

  /* ------------------------------------------------------------
     2) HERO — rotating words must never clip on tablet.
     ------------------------------------------------------------ */
  .hero__content,
  .hero__title {
    max-width: 100%;
  }

  .hero-title__second-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    width: 100%;
    white-space: normal;
  }

  .hero-rotator {
    flex: 0 0 auto;
    width: max-content;
    min-width: 7.2em;
    max-width: 100%;
    padding-right: .08em;
    overflow: visible;
  }

  .hero-rotator__item {
    width: max-content;
    max-width: none;
    white-space: nowrap;
    padding-right: .04em;
  }

  /* ------------------------------------------------------------
     3) PROFESSIONAL GAP — keep the four editorial statements readable.
     ------------------------------------------------------------ */
  .problem__statements {
    width: min(100%, 56rem);
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    padding-inline: 1rem;
    box-sizing: border-box;
  }

  .problem__statements p {
    width: 100%;
    max-width: 60ch;
    margin-left: auto;
    margin-right: auto;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  /* ------------------------------------------------------------
     4) PRACTICE SPINE — responsive desktop architecture, no fixed-width
        overflow; title/copy are allowed to wrap naturally.
     ------------------------------------------------------------ */
  .practice-spine__head {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    column-gap: 3rem;
    padding-left: 0;
  }

  .practice-spine__head .section-title,
  .practice-spine__head .section-title--display,
  .practice-spine__head > .section-copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  .practice-spine__curve {
    width: calc(100% - 1rem);
    max-width: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 6.5rem;
  }

  /* ------------------------------------------------------------
     5) PHASE TWO — keep two-column desktop feel but make the title/copy
        wrap inside a responsive tablet grid instead of fixed rem columns.
     ------------------------------------------------------------ */
  .phase-two__layout {
    width: 100%;
    max-width: none;
    padding-left: var(--page-gutter);
    padding-right: var(--page-gutter);
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
    column-gap: 2.25rem;
    gap: 2.25rem;
  }

  .phase-two__layout > div,
  .phase-two__title,
  .phase-two__copy {
    min-width: 0;
    max-width: 100%;
  }

  .phase-two__title {
    width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  .phase-two__copy {
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  /* ------------------------------------------------------------
     6) EVERYTHING INCLUDED — heading may wrap instead of forcing width.
     ------------------------------------------------------------ */
  .everything__title {
    width: 100%;
    max-width: 34rem;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: balance;
  }

  /* ------------------------------------------------------------
     7) FOUNDING COHORT — force a true circle on tablet.
     ------------------------------------------------------------ */
  .founding__network {
    width: min(100%, 33rem);
    max-width: 33rem;
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin-inline: auto;
    justify-self: center;
  }

  .founding__ring {
    inset: 3rem;
    border-radius: 50%;
  }

  /* ------------------------------------------------------------
     8) CERTIFICATION MILESTONE — bring back the continuous desktop-like
        curvy journey instead of the plain tablet line.
     ------------------------------------------------------------ */
  .milestone-line {
    width: 100%;
    max-width: 100%;
    height: 18rem;
    margin-top: 4.5rem;
    overflow: visible;
    isolation: isolate;
  }

  .milestone-line::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.72rem;
    width: 100%;
    height: 4.2rem;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M 0 63 C 95 57 175 47 253 47 C 340 47 410 55 482 63 C 560 72 638 76 711 76 C 800 76 880 69 1000 61' fill='none' stroke='%2386d6ff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 0;
    filter:
      drop-shadow(0 0 .18rem rgba(255,255,255,.95))
      drop-shadow(0 0 .45rem rgba(59,157,224,.9))
      drop-shadow(0 0 1.15rem rgba(59,157,224,.45));
    transform: none;
  }

  .milestone-line::after { display: none; }

  .milestone-step:nth-of-type(1) { left: 2.5%; right: auto; bottom: 0; }
  .milestone-step:nth-of-type(2) { left: 25.3%; right: auto; bottom: .8rem; }
  .milestone-step:nth-of-type(3) { left: 48.2%; right: auto; bottom: 0; }
  .milestone-step:nth-of-type(4) { left: 71.1%; right: auto; bottom: -.7rem; }
  .milestone-step:nth-of-type(5) { left: 94%; right: auto; bottom: 0; transform: translateX(-50%); }

  .milestone-step::before {
    width: .54rem;
    height: .54rem;
    margin-bottom: 1.9rem;
    background: #eaf9ff;
    box-shadow:
      0 0 .16rem .08rem rgba(255,255,255,1),
      0 0 .7rem .38rem rgba(89,190,245,.95),
      0 0 1.55rem .8rem rgba(59,157,224,.5);
  }

  .milestone-card {
    left: 49.3%;
    top: -.6rem;
    width: 16rem;
    transform: none;
    z-index: 3;
  }

  .milestone-card::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -.42rem;
    width: .82rem;
    height: .82rem;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #fffbe7;
    box-shadow:
      0 0 .18rem .12rem rgba(255,255,255,1),
      0 0 .72rem .42rem rgba(255,229,113,.95),
      0 0 1.7rem .95rem rgba(244,194,31,.55);
    pointer-events: none;
  }

  /* ------------------------------------------------------------
     9) CERTIFICATION STANDARDS — keep the Figma staircase visible on
        tablet and give the final certification label more usable width.
     ------------------------------------------------------------ */
  .standards {
    min-height: 0;
    padding: 2rem 0 3rem;
    overflow-x: hidden;
  }

  .standards > .container {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: var(--container-max);
    margin-inline: auto;
  }

  .standards__surface {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 58rem;
    margin-inline: auto;
    padding: 2rem;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
  }

  .standards__copy-card {
    position: absolute;
    left: 2rem;
    top: 2rem;
    width: min(31rem, calc(100% - 4rem));
    max-width: calc(100% - 4rem);
    min-height: 22rem;
    padding: 3rem 1.65rem 2rem;
    box-sizing: border-box;
    z-index: 2;
  }

  .standards .ladder {
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    bottom: 1.5rem;
    width: 100%;
    height: 34rem;
    margin: 0;
    transform: none;
    overflow: visible;
  }

  .standards .ladder::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 53%;
    top: 7%;
    width: 32%;
    height: 82%;
    background: #0c4e77;
    clip-path: polygon(
      100% 0%, 100% 16.7%, 83.5% 16.7%, 83.5% 33%, 67% 33%,
      67% 49.2%, 50.2% 49.2%, 50.2% 65.5%, 33.5% 65.5%,
      33.5% 82%, 16.5% 82%, 16.5% 100%, 0% 100%
    );
    pointer-events: none;
  }

  .standards .ladder-step,
  .standards .ladder-step:nth-child(n) {
    position: absolute;
    z-index: 1;
    left: 0;
    right: auto;
    bottom: auto;
    width: 100%;
    min-width: 0;
    height: 2.8rem;
    padding: 0;
    padding-left: var(--label-x);
    padding-right: calc(100% - var(--bar-x));
    display: flex;
    align-items: center;
    gap: .7rem;
    background: transparent;
    border-radius: 0;
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-size: .84rem;
    font-weight: var(--weight-medium);
    text-align: left;
  }

  .standards .ladder-step::before {
    position: static;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 1.9rem;
    margin: 0;
    background: var(--step-color);
  }

  .standards .ladder-step::after,
  .standards .ladder-step:nth-child(n)::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: var(--bar-x);
    top: 0;
    width: 14.65%;
    min-width: 0;
    height: 2.8rem;
    margin: 0;
    flex: none;
    display: block;
    background: var(--step-color);
  }

  .standards .ladder-step:nth-child(1) { --label-x: 29%; --bar-x: 52%; --step-color:#8db5d9; top:84%; }
  .standards .ladder-step:nth-child(2) { --label-x: 34%; --bar-x: 57%; --step-color:#c0d6ea; top:70%; }
  .standards .ladder-step:nth-child(3) { --label-x: 39%; --bar-x: 62%; --step-color:#b7e1ff; top:56%; }
  .standards .ladder-step:nth-child(4) { --label-x: 44%; --bar-x: 67%; --step-color:#85cdff; top:42%; }
  .standards .ladder-step:nth-child(5) { --label-x: 49%; --bar-x: 72%; --step-color:#47b3ff; top:28%; }
  .standards .ladder-step:nth-child(6) { --label-x: 54%; --bar-x: 77%; --step-color:#147ab9; top:14%; }
  .standards .ladder-step:nth-child(7) {
    --label-x: 56%;
    --bar-x: 84%;
    --step-color:#e9a900;
    top:0;
    color:#e9a900;
    font-size:.9rem;
    font-weight:var(--weight-semibold);
    gap:.45rem;
  }

  /* ------------------------------------------------------------
     10) INVESTMENT — restore the premium NSM-native styling on tablet.
     ------------------------------------------------------------ */
  .investment--founding {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
      radial-gradient(circle at 86% 12%, rgba(59,157,224,.13), transparent 24rem),
      radial-gradient(circle at 10% 88%, rgba(229,168,0,.08), transparent 22rem),
      var(--color-background-warm);
  }

  .investment--founding::before {
    content: "";
    position: absolute;
    inset: 1rem 1.25rem;
    z-index: -1;
    border: 1px solid rgba(5,30,52,.065);
    border-radius: 1.35rem;
    pointer-events: none;
  }

  .investment--founding .investment__layout {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: var(--container-content);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .investment--founding .investment__intro {
    width: min(100%, 54rem);
    max-width: 54rem;
  }

  .investment--founding .investment__copy {
    max-width: 44rem;
    margin-top: 1.6rem;
  }

  .investment-content-grid {
    display: grid;
    grid-template-columns: minmax(15rem,.72fr) minmax(0,1.28fr);
    gap: 1.35rem;
    align-items: stretch;
  }

  .investment-before-apply {
    position: relative;
    margin: 0;
    padding: 1.4rem 1.25rem 1.2rem;
    border: 1px solid rgba(5,30,52,.11);
    border-radius: 1.1rem;
    background: linear-gradient(165deg,rgba(255,255,255,.95),rgba(236,245,250,.74));
    box-shadow: 0 .85rem 2rem rgba(5,30,52,.065);
  }

  .investment-before-apply::before {
    content: "✷";
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: rgba(229,168,0,.9);
    font-size: 1.15rem;
  }

  .investment-before-apply__label,
  .investment-pricing-column .investment-table__label,
  .investment-pricing-column .investment-includes__label {
    font-size: .78rem;
    font-weight: var(--weight-bold);
    letter-spacing: .14em;
    color: var(--color-secondary);
  }

  .investment-before-apply__item {
    padding: .95rem 0;
    border-bottom: 1px solid rgba(5,30,52,.09);
  }
  .investment-before-apply__item:last-child { border-bottom: 0; }
  .investment-before-apply__item strong {
    display:block;
    font-family:var(--font-heading);
    font-size:.95rem;
    line-height:1.35;
    color:var(--color-primary);
  }
  .investment-before-apply__item p {
    margin-top:.38rem;
    font-size:.84rem;
    line-height:1.5;
    color:var(--color-text-soft);
  }

  .investment-pricing-column {
    min-width:0;
    padding:1rem;
    border:1px solid rgba(5,30,52,.1);
    border-radius:1.15rem;
    background:rgba(255,255,255,.74);
    box-shadow:0 .85rem 2.1rem rgba(5,30,52,.07);
  }

  .investment-pricing-plans {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.8rem;
    margin-top:.85rem;
  }

  .investment-plan {
    position:relative;
    overflow:hidden;
    margin:0;
    padding:0 .9rem 1rem;
    border:1px solid rgba(5,30,52,.12);
    border-radius:.9rem;
    background:#fff;
    box-shadow:0 .55rem 1.4rem rgba(5,30,52,.05);
  }

  .investment-plan__head {
    min-height:3.7rem;
    margin:0 -.9rem .2rem;
    padding:.85rem .9rem;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    background:linear-gradient(135deg,#071e32,#114e76);
  }
  .investment-plan:nth-child(2) .investment-plan__head {
    background:linear-gradient(135deg,#0d4e78,#398fc8);
  }

  .investment-plan__title {
    margin:0;
    color:#fff !important;
    font-size:1.12rem !important;
    line-height:1.15;
    font-weight:var(--weight-semibold) !important;
  }

  .investment-plan__badge {
    padding:.3rem .5rem;
    border:1px solid rgba(255,255,255,.35);
    border-radius:var(--radius-pill);
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:.62rem;
  }

  .investment-tier {
    padding:.78rem 0;
    border-top:1px solid rgba(5,30,52,.09);
  }
  .investment-tier:first-child { border-top:0; }
  .investment-tier__name { font-size:.88rem; font-weight:var(--weight-semibold); }
  .investment-tier__timing { font-size:.74rem; }
  .investment-tier__price { font-size:1.5rem; font-weight:var(--weight-bold); }
  .investment-tier__note { font-size:.7rem; }

  .investment-pricing-column .investment-includes {
    margin-top:.9rem;
    padding:.95rem;
    border:1px solid rgba(59,157,224,.16);
    border-radius:.8rem;
    background:linear-gradient(135deg,rgba(220,241,255,.55),rgba(255,255,255,.86));
  }

  .investment-pricing-column .investment-includes__list {
    margin-top:.6rem;
    display:grid;
    grid-template-columns:1fr;
    gap:.45rem;
  }

  .investment-pricing-column .investment-includes__list li {
    font-size:.82rem;
    line-height:1.45;
  }

  .investment-pricing-note {
    margin:.75rem .05rem 0;
    font-size:.72rem;
    line-height:1.45;
  }

  .investment-pricing-column .investment-table__action {
    margin-top:.9rem;
    display:flex;
  }

  .investment-pricing-column .investment-table__action .button {
    width:100%;
    justify-content:center;
  }

  /* ------------------------------------------------------------
     11) General tablet text wrapping guardrails.
     ------------------------------------------------------------ */
  .section-copy,
  .program__intro-copy,
  .phase-one__copy,
  .phase-two__copy,
  .practice-spine__head > .section-copy,
  .community__top .section-copy,
  .feedback__copy,
  .competencies__copy,
  .founding__copy,
  .investment__copy,
  .application__head .section-copy,
  .faq__copy,
  .final-cta__copy {
    min-width:0;
    max-width:100%;
    white-space:normal;
    overflow-wrap:break-word;
    text-wrap:pretty;
  }
}

/* Smaller tablets: keep the desktop architecture but allow intros/heads to
   breathe instead of overflowing fixed split columns. */
@media (min-width: 768px) and (max-width: 899px) {
  .section-header--split,
  .program__head,
  .practice-spine__head,
  .application__head,
  .faculty__head,
  .impact-chain__head {
    grid-template-columns: minmax(0,1fr) minmax(0,.9fr);
    column-gap: 2rem;
  }

  .section-header--split > *,
  .program__head > *,
  .practice-spine__head > *,
  .application__head > *,
  .faculty__head > *,
  .impact-chain__head > * {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  .investment-content-grid {
    grid-template-columns: 1fr;
  }

  .investment-pricing-plans {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .phase-two__layout {
    grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr);
    column-gap: 1.5rem;
  }

  .standards__copy-card {
    width: min(29rem, calc(100% - 4rem));
  }

  .standards .ladder-step,
  .standards .ladder-step:nth-child(n) {
    font-size: .78rem;
  }

  .standards .ladder-step:nth-child(7) {
    --label-x: 53%;
    --bar-x: 84%;
    font-size: .82rem;
  }
}


/* ============================================================
   v82 — tablet-only wrap/overflow fixes
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
  /* 1) Certification Standards: let the heading wrap naturally inside
     the existing white copy card instead of behaving like a fixed desktop line. */
  .standards__copy-card .section-title {
    width: 100% !important;
    max-width: 24rem !important;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  .standards__copy-card .section-copy {
    width: 100% !important;
    max-width: 25.316rem !important;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
  }

  /* 2) Path of Mastery intro: replace the fixed desktop column widths with
     responsive tablet columns so the paragraph wraps instead of overflowing. */
  .milestone__head {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr) !important;
    gap: 2.25rem;
    width: 100%;
    min-width: 0;
  }

  .milestone__head > * {
    min-width: 0;
    max-width: 100%;
  }

  .milestone__title {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-wrap: balance;
  }

  .milestone__copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  /* 3) Transformation intro: same fix — keep the approved two-column
     architecture, but make both columns fluid on tablet. */
  .outcomes__head {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    gap: 2.25rem;
    width: 100%;
    min-width: 0;
  }

  .outcomes__head > * {
    min-width: 0;
    max-width: 100%;
  }

  .outcomes__head .section-title {
    width: 100% !important;
    max-width: 32rem !important;
    white-space: normal;
    text-wrap: balance;
  }

  .outcomes__intro-copy {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }
}

/* On narrower tablets, give the long intro paragraphs the full row if the
   two-column split would become cramped. This is a wrap safeguard only. */
@media (min-width: 768px) and (max-width: 839px) {
  .milestone__head,
  .outcomes__head {
    grid-template-columns: 1fr !important;
    gap: 1.5rem;
  }

  .milestone__copy,
  .outcomes__intro-copy {
    max-width: 42rem !important;
  }
}


/* ============================================================
   v83 — tablet-only final wrap corrections
   ============================================================ */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Certification Standards: force the long title into a deliberate,
     balanced multi-line heading inside the white card. */
  .standards__copy-card .section-title {
    width: 100% !important;
    max-width: 18.5rem !important;
    white-space: normal !important;
    overflow: visible !important;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
  }
}

@media (min-width: 768px) and (max-width: 839px) {
  /* Transformation intro: keep a narrower readable measure on smaller
     tablets so it cannot run into the outcome-card area. */
  .outcomes__intro-copy {
    width: 100% !important;
    max-width: 30rem !important;
    margin-right: auto;
    white-space: normal !important;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  /* Once the intro stacks, remove the inherited desktop negative lift that
     can visually pull the cards back into the copy. */
  .outcomes__body {
    margin-top: 2rem !important;
  }
}


/* ============================================================
   v84 — menu breakpoint consistency + true tablet Standards wrap
   ============================================================ */

/* Stop the legacy <=1240px desktop rule from shrinking the navigation.
   Keep the approved desktop nav size all the way down to the tablet/menu switch. */
@media (min-width: 1024px) and (max-width: 1240px) {
  .site-nav--certification .site-nav__link {
    font-size: 1.035rem !important;
  }
}

/* Certification Standards: on tablet / compact landscape, wrap the section
   vertically instead of forcing the desktop copy-card + staircase into the
   same absolute canvas. Preserve the staircase styling, just place it below. */
@media (min-width: 768px) and (max-width: 1240px) {
  .standards {
    min-height: 0 !important;
    overflow-x: hidden;
  }

  .standards > .container {
    width: calc(100% - (var(--page-gutter) * 2));
    max-width: var(--container-max);
    margin-inline: auto;
  }

  .standards__surface {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 0 !important;
    padding: 2rem;
    display: flex !important;
    flex-direction: column;
    gap: 1.75rem;
    overflow: hidden;
    box-sizing: border-box;
  }

  .standards__copy-card {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    width: min(100%, 38rem) !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 3rem 1.65rem 2rem;
    box-sizing: border-box;
    z-index: 2;
  }

  .standards__copy-card .section-title {
    width: 100% !important;
    max-width: 23rem !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  .standards__copy-card .section-copy {
    width: 100% !important;
    max-width: 31rem !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word;
    text-wrap: pretty;
  }

  .standards .ladder {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 34rem !important;
    margin: 0 !important;
    transform: none !important;
    flex: 0 0 34rem;
    overflow: hidden;
  }
}


/* ============================================================
   v85 — tighten Certification Standards tablet composition only
   Bring the staircase/grid closer to the white copy card.
   ============================================================ */
@media (min-width: 768px) and (max-width: 1240px) {
  .standards__surface {
    gap: .65rem !important;
  }

  .standards .ladder {
    margin-top: -0.85rem !important;
  }
}


/* ============================================================
   v86 — Certification Standards desktop (>1240px) vertical alignment
   Match the tighter tablet composition by bringing the staircase/grid
   upward toward the white copy card without changing its geometry.
   ============================================================ */
@media (min-width: 1241px) {
  .standards .ladder {
    transform: translateY(-1.75rem) !important;
  }
}


/* ============================================================
   v87 — Certification Standards compact-desktop alignment correction
   User clarification: adjust the range UNDER 1240px, not >1240px.
   Keep tablet/mobile as-is and leave large desktop untouched.
   ============================================================ */
@media (min-width: 1024px) and (max-width: 1240px) {
  .standards__surface {
    gap: .2rem !important;
  }

  .standards .ladder {
    margin-top: -2.25rem !important;
    transform: none !important;
  }
}

/* Undo the v86 >1240px lift so large desktop returns to the approved position. */
@media (min-width: 1241px) {
  .standards .ladder {
    transform: none !important;
  }
}


/* ============================================================
   v88 — compact desktop Standards visual lift (1024–1240px)
   v87 changed the flow gap, but the staircase's own 34rem canvas still
   left visible whitespace above the graphic. Shift the actual ladder
   canvas upward and reclaim the displaced space.
   ============================================================ */
@media (min-width: 1024px) and (max-width: 1240px) {
  .standards__surface {
    gap: 0 !important;
  }

  .standards .ladder {
    position: relative !important;
    top: -4.25rem !important;
    margin-top: 0 !important;
    margin-bottom: -4.25rem !important;
    transform: none !important;
  }
}


/* ============================================================
   v89 — much tighter Standards gap for compact desktop (1024–1240px)
   Pull the whole staircase upward in normal flow instead of shifting the
   ladder canvas with `top`, which could clip the upper step.
   ============================================================ */
@media (min-width: 1024px) and (max-width: 1240px) {
  .standards__surface {
    gap: 0 !important;
  }

  .standards .ladder {
    top: auto !important;
    margin-top: -9rem !important;
    margin-bottom: -8rem !important;
    transform: none !important;
  }
}


/* ============================================================
   v90 — compact desktop Certification Standards composition
   1024–1240px only.
   Fix the v89 clipping and restore a wider, properly proportioned
   staircase while keeping it visually close to the white copy card.
   ============================================================ */
@media (min-width: 1024px) and (max-width: 1240px) {
  .standards {
    overflow: visible !important;
  }

  .standards__surface {
    gap: 0 !important;
    padding-bottom: 2.75rem !important;
    overflow: hidden !important;
  }

  /* Pull the grid upward without subtracting its bottom footprint.
     This keeps the section tall enough for the full staircase. */
  .standards .ladder {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    height: 31.5rem !important;
    flex: 0 0 31.5rem !important;
    margin-top: -5.75rem !important;
    margin-bottom: 0 !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* Give the staircase a broader visual footprint across the blue panel. */
  .standards .ladder::before {
    left: 46% !important;
    width: 40% !important;
  }

  .standards .ladder-step:nth-child(1) { --label-x: 21%; --bar-x: 47%; }
  .standards .ladder-step:nth-child(2) { --label-x: 27%; --bar-x: 53%; }
  .standards .ladder-step:nth-child(3) { --label-x: 33%; --bar-x: 59%; }
  .standards .ladder-step:nth-child(4) { --label-x: 39%; --bar-x: 65%; }
  .standards .ladder-step:nth-child(5) { --label-x: 45%; --bar-x: 71%; }
  .standards .ladder-step:nth-child(6) { --label-x: 51%; --bar-x: 77%; }
  .standards .ladder-step:nth-child(7) { --label-x: 54%; --bar-x: 82%; }

  .standards .ladder-step::after,
  .standards .ladder-step:nth-child(n)::after {
    width: 17% !important;
  }

  .standards .ladder-step:nth-child(7)::after {
    width: 16% !important;
  }
}


/* ============================================================
   v91 — Troy/Mutter structural edits
   Two-CTA conversion paths, Prerequisites, Case Studies,
   leading-teacher social proof, reusable testimonial breaks.
   ============================================================ */

/* Hero readability — modest increase only; preserve approved layout. */
@media (min-width: 1024px) {
  .hero__lead { font-size: 1.18rem; }
  .hero__copy { font-size: 1.04rem; }
  .hero__actions { gap: .8rem; }
  .hero__actions .button { min-height: 3.55rem; padding: .9rem 1.5rem; font-size: .94rem; }
  .hero-benefit__title { font-size: 1.22rem; }
  .hero-benefit__copy { font-size: .86rem; }
}

/* Application + Founding Cohort — two CTAs side-by-side. */
.application__actions,
.founding__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .85rem;
}
.application__actions { margin-top: 2.35rem; justify-content: center; }
.founding__actions { margin-top: 2.25rem; justify-content: flex-start; }
.application__actions .button,
.founding__actions .button { min-height: 3.45rem; padding-inline: 1.65rem; }
.founding__actions .button--secondary { border: 1px solid rgba(255,255,255,.4); background: rgba(255,255,255,.06); color: #fff; }

/* Prerequisites */
.prerequisites {
  position: relative;
  padding: 7.25rem 0;
  background: #f4f8fb;
  color: var(--color-primary);
}
.prerequisites__head { max-width: 56rem; }
.prerequisites__head .section-copy { max-width: 42rem; margin-top: 1.1rem; }
.prerequisites__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  margin-top: 3rem;
}
.prerequisite-card {
  position: relative;
  min-height: 24rem;
  padding: 2.25rem;
  border: 1px solid rgba(9,65,102,.13);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 1.1rem 2.8rem rgba(5,30,52,.07);
}
.prerequisite-card--accent { background: linear-gradient(145deg,#0a527f 0%,#0d6a9e 100%); color:#fff; }
.prerequisite-card__number { display:inline-flex; margin-bottom:2.25rem; font-family:var(--font-ui); font-size:.75rem; letter-spacing:.18em; color:var(--color-accent); }
.prerequisite-card h3 { margin:0 0 1rem; font-size:1.35rem; line-height:1.2; }
.prerequisite-card p,
.prerequisite-card li { font-size:.98rem; line-height:1.62; }
.prerequisite-card ul { margin:1rem 0 0; padding-left:1.15rem; display:grid; gap:.55rem; }
.prerequisite-card__note { margin-top:1.55rem; opacity:.86; }
.prerequisite-card__link { display:inline-flex; align-items:center; gap:.35rem; margin-top:1.25rem; font-weight:700; color:var(--color-primary); text-decoration:none; border-bottom:1px solid currentColor; }
.prerequisite-card--accent .prerequisite-card__link { color:#fff; }
.prerequisite-card--accent .prerequisite-card__link--secondary { color:#ffd45a; }

/* Case Studies */
.case-studies { padding: 7.5rem 0; background:#fff; }
.case-studies__head { max-width:58rem; }
.case-studies__head .section-copy { max-width:44rem; margin-top:1.1rem; }
.case-studies__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; margin-top:3rem; }
.case-study-card { overflow:hidden; border-radius:1.35rem; background:#f4f8fb; border:1px solid rgba(9,65,102,.1); }
.case-study-card__media { aspect-ratio: 16/10; overflow:hidden; }
.case-study-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.case-study-card__body { padding:1.7rem; }
.case-study-card__eyebrow { margin-bottom:.7rem; font-size:.72rem; font-weight:700; letter-spacing:.16em; color:#2f79a6; }
.case-study-card h3 { margin:0; font-size:1.38rem; line-height:1.2; }
.case-study-card p { margin:1rem 0 0; font-size:.94rem; line-height:1.58; }
.case-study-card__result { margin-top:1.35rem; padding-top:1.15rem; border-top:1px solid rgba(9,65,102,.14); font-weight:600; font-size:.9rem; line-height:1.5; }
.case-study-card a { display:inline-flex; margin-top:1.25rem; color:#0c4e77; font-weight:700; text-decoration:none; }

/* Leading teachers */
.teacher-voices { padding:7.5rem 0; background:#eaf3f8; }
.teacher-voices__head { max-width:64rem; }
.teacher-voices__head .section-title { max-width:60rem; }
.teacher-voices__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; margin-top:3rem; }
.teacher-voice-card { padding:2rem; border-radius:1.35rem; background:#fff; box-shadow:0 1rem 2.5rem rgba(5,30,52,.06); }
.teacher-voice-card__person { display:flex; align-items:center; gap:1rem; }
.teacher-voice-card__person img,
.teacher-voice-card__avatar { width:4rem; height:4rem; border-radius:50%; object-fit:cover; flex:0 0 4rem; }
.teacher-voice-card__avatar { display:grid; place-items:center; background:#0c4e77; color:#fff; font-size:1.25rem; font-weight:700; }
.teacher-voice-card h3 { margin:0; font-size:1.18rem; }
.teacher-voice-card__person p { margin:.25rem 0 0; font-size:.82rem; color:var(--color-text-muted); }
.teacher-voice-card blockquote { margin:1.5rem 0 0; font-size:1.08rem; line-height:1.58; color:#17364c; }

/* Reusable testimonial break */
.testimonial-break { padding:3.25rem 0; }
.testimonial-break--light { background:#f6f9fb; color:#0b304d; }
.testimonial-break--dark { background:#082f4d; color:#fff; }
.testimonial-break__inner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:1.25rem; }
.testimonial-break__image { width:4.25rem; height:4.25rem; object-fit:cover; border-radius:50%; }
.testimonial-break blockquote { margin:0; max-width:56rem; font-family:var(--font-display); font-size:1.3rem; line-height:1.45; }
.testimonial-break__byline { display:flex; flex-direction:column; gap:.2rem; min-width:8rem; font-size:.82rem; }
.testimonial-break__byline span { opacity:.72; }

@media (max-width: 1023px) {
  .prerequisites,
  .case-studies,
  .teacher-voices { padding:5.25rem 0; }
  .prerequisites__grid,
  .case-studies__grid { grid-template-columns:1fr; }
  .teacher-voices__grid { grid-template-columns:1fr; }
  .prerequisite-card { min-height:0; }
  .testimonial-break__inner { grid-template-columns:auto 1fr; }
  .testimonial-break__byline { grid-column:2; }
}

@media (max-width: 767px) {
  .application__actions,
  .founding__actions { gap:.7rem; }
  .application__actions .button,
  .founding__actions .button { flex:1 1 100%; width:100%; justify-content:center; }
  .prerequisites__grid,
  .case-studies__grid,
  .teacher-voices__grid { margin-top:2rem; }
  .prerequisite-card,
  .case-study-card__body,
  .teacher-voice-card { padding:1.6rem; }
  .testimonial-break { padding:2.5rem 0; }
  .testimonial-break__inner { grid-template-columns:1fr; text-align:left; }
  .testimonial-break__image { width:3.75rem; height:3.75rem; }
  .testimonial-break blockquote { font-size:1.15rem; }
  .testimonial-break__byline { grid-column:auto; }
}


/* ============================================================
   v93 — coded-template structural pass
   - Apply divider gets two CTA buttons
   - New structural modules are inserted by the page template
   ============================================================ */
.apply-divider__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2.15rem;
}
.apply-divider__actions .button {
  min-width: 13.75rem;
  justify-content: center;
}
@media (max-width: 767px) {
  .apply-divider__actions {
    width: min(100%, 34rem);
    margin: 2rem auto 0;
    gap: 1rem;
  }
  .apply-divider__actions .button {
    width: 100%;
    min-width: 0;
  }
}


/* v94 safety — remove old Trusted By Leading Voices even if HubSpot retains a stale page module instance. */
.nsm-certification-page .trusted, .trusted[data-nsm-trusted] { display:none !important; }

/* v95 — safe fallback avatar for testimonial breaks when no approved headshot is supplied. */
.testimonial-break__avatar {
  display: grid;
  place-items: center;
  background: #0c4e77;
  color: #fff;
  font-weight: 700;
  font-size: 1.15rem;
}
.testimonial-break--dark .testimonial-break__avatar {
  background: rgba(255,255,255,.15);
}

/* ============================================================
   v96 — final CTA / case-study / prerequisite refinement
   - Video case studies
   - More editorial Prerequisites layout
   - Apply + Book A Call conversion pairs
   - Stronger desktop hero support copy
   ============================================================ */

/* Header: compact dual CTA pair without disturbing the centered nav. */
.site-nav--cta-pair {
  display: flex;
  align-items: center;
  gap: .55rem;
  white-space: nowrap;
}
.site-nav__book {
  min-height: 2.53rem;
  padding: .58rem 1.08rem;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-family: var(--font-ui);
  font-size: .92rem;
  font-weight: var(--weight-semibold);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition), border-color var(--transition), transform var(--transition);
}
.site-nav__book:hover {
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.72);
  transform: translateY(-1px);
}

/* Desktop hero: strengthen the two supporting lines Troy called out. */
@media (min-width: 1024px) {
  .hero__lead {
    width: min(38rem, 100%);
    max-width: 38rem;
    font-size: 1.42rem !important;
    font-weight: 700 !important;
    line-height: 1.32;
    letter-spacing: -.015em;
  }
  .hero__copy {
    width: min(35rem, 100%);
    max-width: 35rem;
    font-size: 1.16rem !important;
    font-weight: 500 !important;
    line-height: 1.52;
    letter-spacing: -.005em;
  }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  .site-nav--certification { gap: .68rem; }
  .site-nav--certification .site-nav__link { font-size: .89rem; }
  .site-nav--cta-pair { gap: .4rem; }
  .site-nav--cta-pair .button,
  .site-nav__book { padding-inline: .88rem; font-size: .84rem; }
}

/* Prerequisites: editorial pathway rather than a plain three-card list. */
.prerequisites--editorial {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 8rem 0 7.4rem;
  background:
    radial-gradient(circle at 10% 14%, rgba(73,164,214,.14), transparent 25rem),
    radial-gradient(circle at 93% 84%, rgba(245,183,67,.12), transparent 24rem),
    linear-gradient(180deg, #f8fbfd 0%, #edf5f9 100%);
}
.prerequisites__orb {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(1px);
  pointer-events: none;
}
.prerequisites__orb--one {
  width: 19rem;
  height: 19rem;
  left: -8rem;
  top: 14rem;
  border: 1px solid rgba(18,89,132,.12);
}
.prerequisites__orb--two {
  width: 11rem;
  height: 11rem;
  right: -3rem;
  bottom: 5rem;
  background: rgba(255,255,255,.45);
  border: 1px solid rgba(18,89,132,.09);
}
.prerequisites__inner { position: relative; }
.prerequisites__head--editorial {
  max-width: none;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 5rem;
  align-items: end;
}
.prerequisites__kicker {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.15rem;
}
.prerequisites__micro {
  display: inline-flex;
  padding: .5rem .8rem;
  border: 1px solid rgba(9,65,102,.14);
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: rgba(9,65,102,.68);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.prerequisites__headline-wrap .section-title { max-width: 35rem; }
.prerequisites__headline-wrap .section-copy {
  max-width: 40rem;
  margin-top: 1.2rem;
  color: rgba(9,48,76,.68);
}
.prerequisites__path {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1rem;
  margin-top: 4.4rem;
}
.prerequisites__path::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 9%;
  right: 9%;
  top: 2.2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(35,117,166,.16), rgba(35,117,166,.5), rgba(245,183,67,.5));
}
.prerequisite-card {
  min-height: 27rem;
  padding: 2rem 2rem 2.2rem;
  border: 1px solid rgba(9,65,102,.11);
  border-radius: 1.65rem;
  background: rgba(255,255,255,.9);
  box-shadow: 0 1.25rem 3rem rgba(4,38,61,.07);
  backdrop-filter: blur(10px);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.prerequisite-card:hover {
  transform: translateY(-.4rem);
  box-shadow: 0 1.8rem 3.8rem rgba(4,38,61,.11);
  border-color: rgba(34,125,179,.28);
}
.prerequisite-card--professional { transform: translateY(1.55rem); }
.prerequisite-card--professional:hover { transform: translateY(1.15rem); }
.prerequisite-card--foundations {
  background: linear-gradient(150deg, #093956 0%, #0d5f8b 100%);
  color: #fff;
}
.prerequisite-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2.65rem;
}
.prerequisite-card__number {
  margin: 0;
  font-size: .79rem;
  font-weight: 800;
  letter-spacing: .18em;
  color: #ec9f31;
}
.prerequisite-card__type {
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(9,65,102,.46);
}
.prerequisite-card--foundations .prerequisite-card__type { color: rgba(255,255,255,.6); }
.prerequisite-card__icon {
  width: 4.2rem;
  height: 4.2rem;
  margin-bottom: 2rem;
  display: grid;
  place-items: center;
  position: relative;
}
.prerequisite-card__icon span {
  position: absolute;
  border: 1px solid rgba(14,105,157,.26);
  border-radius: 50%;
}
.prerequisite-card__icon span:nth-child(1) { width: 4.2rem; height: 4.2rem; }
.prerequisite-card__icon span:nth-child(2) { width: 2.9rem; height: 2.9rem; }
.prerequisite-card__icon span:nth-child(3) { width: 1.45rem; height: 1.45rem; background: rgba(236,159,49,.85); border-color: transparent; }
.prerequisite-card__foundation-mark {
  width: 4.2rem;
  height: 4.2rem;
  margin-bottom: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.24);
  background: rgba(255,255,255,.08);
  font-family: var(--font-ui);
  font-size: .86rem;
  font-weight: 800;
  letter-spacing: .1em;
}
.prerequisite-card h3 {
  margin: 0 0 1rem;
  font-size: 1.45rem;
  line-height: 1.22;
}
.prerequisite-card p,
.prerequisite-card li {
  font-size: 1rem;
  line-height: 1.62;
}
.prerequisite-card--foundations p { color: rgba(255,255,255,.78); }
.prerequisite-card__professions {
  list-style: none;
  padding: 0;
  margin: 1.35rem 0 0;
  display: grid;
  gap: .7rem;
}
.prerequisite-card__professions li {
  display: grid;
  grid-template-columns: 1.15rem 1fr;
  gap: .5rem;
  align-items: start;
  padding-bottom: .62rem;
  border-bottom: 1px solid rgba(9,65,102,.08);
}
.prerequisite-card__professions li span { color: #2d89b8; }
.prerequisites__next-steps {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 4rem;
}
.prerequisite-callout {
  min-height: 9rem;
  padding: 1.5rem 1.6rem;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  gap: 1.25rem;
  align-items: center;
  border-radius: 1.35rem;
  border: 1px solid rgba(9,65,102,.1);
  background: rgba(255,255,255,.76);
}
.prerequisite-callout--training {
  background: rgba(7,47,74,.96);
  color: #fff;
}
.prerequisite-callout__index {
  width: 2.55rem;
  height: 2.55rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e7f3f9;
  color: #0d5e8b;
  font-weight: 800;
}
.prerequisite-callout--training .prerequisite-callout__index { background: rgba(255,255,255,.12); color:#fff; }
.prerequisite-callout__label {
  display: block;
  font-size: 1.03rem;
  font-weight: 750;
}
.prerequisite-callout p {
  margin: .35rem 0 0;
  max-width: 31rem;
  font-size: .9rem;
  line-height: 1.5;
  color: rgba(9,48,76,.64);
}
.prerequisite-callout--training p { color: rgba(255,255,255,.68); }
.prerequisite-callout--training .button--secondary {
  color:#fff;
  border-color:rgba(255,255,255,.34);
  background:rgba(255,255,255,.06);
}

/* Video-first case studies. */
.case-studies--video {
  padding: 8rem 0;
  background: linear-gradient(180deg, #fff 0%, #f6fafc 100%);
}
.case-studies__head--video {
  max-width: 62rem;
  text-align: center;
  margin-inline: auto;
}
.case-studies__head--video .section-title { max-width: none; }
.case-studies__intro {
  margin: 1.15rem auto 0;
  font-family: var(--font-display);
  font-size: 1.32rem;
  font-weight: 500;
  line-height: 1.35;
  color: #397da6;
}
.case-studies__video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.2rem;
  margin-top: 3.2rem;
}
.case-study-video-card {
  overflow: hidden;
  border-radius: 1.35rem;
  border: 1px solid rgba(9,65,102,.1);
  background: #fff;
  box-shadow: 0 1.1rem 2.8rem rgba(5,30,52,.07);
  transition: transform .28s ease, box-shadow .28s ease;
}
.case-study-video-card:hover {
  transform: translateY(-.32rem);
  box-shadow: 0 1.6rem 3.4rem rgba(5,30,52,.11);
}
.case-study-video-card__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(145deg,#082e4b,#0d6696);
}
.case-study-video-card__media video,
.case-study-video-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.case-study-video-card__placeholder {
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:.75rem;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 30% 30%, rgba(93,180,227,.35), transparent 42%),
    linear-gradient(145deg,#082e4b,#0b567f);
}
.case-study-video-card__placeholder--poster { display:block; position:relative; }
.case-study-video-card__placeholder--poster .case-study-video-card__play {
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
}
.case-study-video-card__number { font-size:.72rem; font-weight:800; letter-spacing:.2em; opacity:.65; }
.case-study-video-card__play {
  width:3.5rem;
  height:3.5rem;
  display:grid;
  place-items:center;
  padding-left:.16rem;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.34);
  backdrop-filter:blur(6px);
}
.case-study-video-card__placeholder-copy { font-size:.78rem; opacity:.72; }
.case-study-video-card__body { padding:1.35rem 1.45rem 1.5rem; }
.case-study-video-card__body h3 { margin:0; font-size:1.12rem; line-height:1.3; }
.case-study-video-card__body p { margin:.55rem 0 0; font-size:.9rem; line-height:1.5; color:var(--color-text-muted); }

/* Conversion CTA pairs: Investment, Application, and final banner. */
.investment-table__actions,
.application__actions,
.final-cta__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem;
}
.investment-table__actions { margin-top: 1.6rem; }
.application__actions { margin-top: 3.684rem; justify-content:center; }
.final-cta__actions { margin-top:2.474rem; align-items:center; }
.investment-table__actions .button,
.application__actions .button,
.final-cta__actions .button { justify-content:center; }
.investment-table__actions .button--secondary,
.application__actions .button--secondary {
  border:1px solid rgba(9,65,102,.22);
  background:#fff;
  color:var(--color-primary);
}

@media (max-width: 1023px) {
  .mobile-nav-panel .site-nav--cta-pair {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:.7rem;
  }
  .mobile-nav-panel .site-nav--cta-pair .button,
  .mobile-nav-panel .site-nav__book {
    width:100%;
    min-height:44px;
    justify-content:center;
    margin:0;
  }
  .prerequisites--editorial,
  .case-studies--video { padding:5.5rem 0; }
  .prerequisites__head--editorial { grid-template-columns:1fr; gap:1.5rem; }
  .prerequisites__path { grid-template-columns:1fr; margin-top:2.75rem; }
  .prerequisites__path::before { display:none; }
  .prerequisite-card,
  .prerequisite-card--professional { min-height:0; transform:none; }
  .prerequisite-card--professional:hover { transform:translateY(-.3rem); }
  .prerequisites__next-steps { grid-template-columns:1fr; margin-top:2rem; }
  .case-studies__video-grid { grid-template-columns:1fr; max-width:44rem; margin-inline:auto; }
}

@media (max-width: 767px) {
  .prerequisite-callout { grid-template-columns:auto 1fr; padding:1.35rem; }
  .prerequisite-callout .button { grid-column:1 / -1; width:100%; justify-content:center; }
  .case-studies__intro { font-size:1.12rem; }
  .investment-table__actions,
  .application__actions,
  .final-cta__actions { flex-direction:column; align-items:stretch; }
  .investment-table__actions .button,
  .application__actions .button,
  .final-cta__actions .button { width:100%; }
}


/* ============================================================
   v97 — CTA link/size + section hierarchy polish
   ============================================================ */

/* Header CTA pair: identical physical sizing. */
.site-nav--cta-pair .site-nav__apply,
.site-nav--cta-pair .site-nav__book {
  box-sizing: border-box;
  width: 8.35rem;
  min-width: 8.35rem;
  min-height: 2.72rem;
  padding: .66rem .9rem;
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .9rem;
  font-weight: var(--weight-semibold);
  line-height: 1.1;
  border-radius: 999px;
}
@media (min-width:1024px) and (max-width:1240px) {
  .site-nav--cta-pair .site-nav__apply,
  .site-nav--cta-pair .site-nav__book {
    width: 7.75rem;
    min-width: 7.75rem;
    min-height: 2.6rem;
    padding: .6rem .72rem;
    font-size: .82rem;
  }
}

/* Case Studies: same page-wide eyebrow -> main heading hierarchy. */
.case-studies__head--video {
  max-width: 58rem;
  text-align: left;
  margin-inline: 0;
}
.case-studies__head--video .eyebrow {
  margin-bottom: 1.15rem;
}
.case-studies__head--video .section-title {
  max-width: 52rem;
  margin: 0;
}
.case-studies__video-grid {
  margin-top: 3.1rem;
}

/* Prerequisites: use the standard page intro rhythm, not a split editorial intro. */
.prerequisites__head--editorial {
  max-width: 56rem;
  display: block;
}
.prerequisites__head--editorial .eyebrow {
  margin-bottom: 1.15rem;
}
.prerequisites__head--editorial .section-title {
  max-width: 48rem;
  margin: 0;
}
.prerequisites__path {
  margin-top: 3.35rem;
}

/* Next-step cards: copy first, CTA on a dedicated line. */
.prerequisite-callout {
  min-height: 11.5rem;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  padding: 1.65rem 1.7rem;
}
.prerequisite-callout__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.prerequisite-callout__label {
  font-size: 1.06rem;
  line-height: 1.35;
}
.prerequisite-callout p {
  margin: .45rem 0 0;
}
.prerequisite-callout__button {
  width: auto;
  max-width: 100%;
  margin-top: 1rem;
  align-self: flex-start;
  white-space: normal;
  text-align: left;
}

@media (max-width:1023px) {
  .mobile-nav-panel .site-nav--cta-pair .site-nav__apply,
  .mobile-nav-panel .site-nav--cta-pair .site-nav__book {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }
  .case-studies__head--video {
    max-width: 44rem;
    margin-inline: auto;
  }
}

@media (max-width:767px) {
  .prerequisite-callout {
    grid-template-columns: auto 1fr;
  }
  .prerequisite-callout__button {
    width: auto !important;
    grid-column: auto !important;
    justify-content: flex-start !important;
  }
}

/* ============================================================
   v98 — Prerequisites mobile sizing refinement
   - +10% type inside prerequisite cards on mobile
   - Smaller, content-width callout buttons on mobile
   ============================================================ */
@media (max-width: 767px) {
  /* Main prerequisite cards: approximately 1.1x larger type. */
  .prerequisite-card__number {
    font-size: .87rem;
  }
  .prerequisite-card__type {
    font-size: .76rem;
  }
  .prerequisite-card h3 {
    font-size: 1.60rem;
    line-height: 1.2;
  }
  .prerequisite-card p,
  .prerequisite-card li {
    font-size: 1.10rem;
    line-height: 1.58;
  }

  /* A/B next-step cards: increase copy, but keep CTAs compact. */
  .prerequisite-callout__label {
    font-size: 1.17rem;
    line-height: 1.32;
  }
  .prerequisite-callout p {
    font-size: .99rem;
    line-height: 1.5;
  }
  .prerequisite-callout__button {
    width: auto !important;
    max-width: 100%;
    min-height: 38px;
    padding: .58rem 1rem;
    margin-top: .85rem;
    font-size: 1.05rem;
    line-height: 1.15;
    justify-content: flex-start !important;
    align-self: flex-start;
    white-space: normal;
  }
}

/* ============================================================
   v99 — Case Study video preview + lightbox
   - If no poster is supplied, use the video's first frame
   - Crop card previews from the TOP instead of the center
   - Clicking a case study expands it into a responsive lightbox
   ============================================================ */
.case-study-video-card__open {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  padding: 0;
  border: 0;
  overflow: hidden;
  background: #082e4b;
  color: inherit;
  cursor: pointer;
  text-align: inherit;
}

.case-study-video-card__open > img,
.case-study-video-card__preview {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
}

.case-study-video-card__open::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(2,24,40,0) 48%, rgba(2,24,40,.42) 100%);
  transition: background .24s ease;
  pointer-events: none;
}

.case-study-video-card__open:hover::after,
.case-study-video-card__open:focus-visible::after {
  background: linear-gradient(180deg, rgba(2,24,40,.03) 35%, rgba(2,24,40,.56) 100%);
}

.case-study-video-card__open:focus-visible {
  outline: 3px solid rgba(67,156,207,.72);
  outline-offset: -3px;
}

.case-study-video-card__play--overlay {
  position: absolute;
  z-index: 2;
  inset: 50% auto auto 50%;
  transform: translate(-50%,-50%);
  width: 3.75rem;
  height: 3.75rem;
  color: #fff;
  background: rgba(8,50,76,.72);
  border-color: rgba(255,255,255,.72);
  box-shadow: 0 .75rem 1.8rem rgba(2,18,30,.22);
  transition: transform .24s ease, background .24s ease;
}

.case-study-video-card__open:hover .case-study-video-card__play--overlay,
.case-study-video-card__open:focus-visible .case-study-video-card__play--overlay {
  transform: translate(-50%,-50%) scale(1.08);
  background: rgba(8,74,110,.88);
}

.case-study-video-card__watch {
  position: absolute;
  z-index: 2;
  left: 1rem;
  bottom: .9rem;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}

html.case-study-lightbox-open,
html.case-study-lightbox-open body {
  overflow: hidden;
}

.case-study-lightbox {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem, 3vw, 2.5rem);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease, visibility .22s ease;
}

.case-study-lightbox.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.case-study-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3,16,27,.86);
  backdrop-filter: blur(8px);
}

.case-study-lightbox__dialog {
  position: relative;
  z-index: 1;
  width: min(92vw, 74rem);
  max-height: 92vh;
  border-radius: 1.15rem;
  background: #061d2d;
  box-shadow: 0 2rem 6rem rgba(0,0,0,.46);
  overflow: hidden;
  transform: translateY(.8rem) scale(.985);
  transition: transform .24s ease;
}

.case-study-lightbox.is-open .case-study-lightbox__dialog {
  transform: translateY(0) scale(1);
}

.case-study-lightbox__video-wrap {
  width: 100%;
  background: #000;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
}

.case-study-lightbox__video {
  width: 100%;
  height: 100%;
  max-height: 82vh;
  display: block;
  object-fit: contain;
  background: #000;
}

.case-study-lightbox__close {
  position: absolute;
  z-index: 3;
  top: .8rem;
  right: .8rem;
  width: 2.65rem;
  height: 2.65rem;
  display: grid;
  place-items: center;
  padding: 0 0 .08rem;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(3,21,34,.74);
  color: #fff;
  font: 400 2rem/1 Arial,sans-serif;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.case-study-lightbox__close:hover,
.case-study-lightbox__close:focus-visible {
  background: rgba(11,92,133,.92);
}

.case-study-lightbox__title {
  padding: .9rem 1.15rem 1rem;
  color: rgba(255,255,255,.92);
  font-size: .92rem;
  font-weight: 650;
}

@media (max-width: 767px) {
  .case-study-lightbox {
    padding: .7rem;
  }
  .case-study-lightbox__dialog {
    width: 100%;
    border-radius: .9rem;
  }
  .case-study-lightbox__close {
    top: .55rem;
    right: .55rem;
    width: 2.45rem;
    height: 2.45rem;
  }
  .case-study-video-card__watch {
    left: .85rem;
    bottom: .72rem;
    font-size: .68rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .case-study-lightbox,
  .case-study-lightbox__dialog,
  .case-study-video-card__play--overlay {
    transition: none;
  }
}

/* ============================================================
   v100 — case-study crop + hero rotator descenders + mobile CTA rhythm
   ============================================================ */

/* Case-study previews: restore the more balanced center crop.
   The expanded lightbox still shows the complete uncropped video. */
.case-study-video-card__open > img,
.case-study-video-card__preview {
  object-position: center center;
}

/* Hero rotating words: give descenders (g, y, p, etc.) enough vertical room
   while keeping the reveal animation clipped cleanly. */
.hero-rotator {
  height: 1.22em;
  padding-bottom: .08em;
  box-sizing: content-box;
  vertical-align: -.12em;
}
.hero-rotator__item {
  line-height: 1.08;
  padding-bottom: .10em;
}

/* Mobile CTA system: one consistent physical rhythm across the page.
   Keep section-specific colours/styles, but normalize height and padding. */
@media (max-width: 767px) {
  .button,
  .site-nav--cta-pair .site-nav__apply,
  .site-nav--cta-pair .site-nav__book,
  .apply-divider__actions .button,
  .founding__actions .button,
  .investment-table__actions .button,
  .application__actions .button,
  .final-cta__actions .button,
  .prerequisite-callout__button {
    box-sizing: border-box;
    min-height: 48px !important;
    padding: .82rem 1.28rem !important;
    font-size: 1rem !important;
    line-height: 1.18 !important;
    border-radius: var(--button-radius) !important;
    align-items: center;
    justify-content: center;
  }

  /* Compact prerequisite CTAs remain content-width, but now share the
     same vertical padding/height as the rest of the mobile CTA system. */
  .prerequisite-callout__button {
    width: auto !important;
    max-width: 100%;
    align-self: flex-start;
    justify-content: flex-start !important;
    white-space: normal;
  }
}

/* ============================================================
   v102 — sprinkled NSM participant testimonials
   Mobile testimonial typography intentionally ~1.3x larger.
   ============================================================ */
@media (max-width: 767px) {
  .testimonial-break blockquote {
    font-size: 1.5rem !important; /* 1.15rem × ~1.3 */
    line-height: 1.42;
    letter-spacing: -0.012em;
  }

  .testimonial-break__byline {
    font-size: 1.05rem !important;
    line-height: 1.35;
    gap: .28rem;
  }

  .testimonial-break__image {
    width: 4.1rem;
    height: 4.1rem;
  }
}

/* ============================================================
   v103 — mobile CTA text-size refinement
   Increase CTA/button text ~1.1x globally on mobile only.
   Keep the approved padding, heights, colours and button styles intact.
   ============================================================ */
@media (max-width: 767px) {
  .button,
  .site-nav--cta-pair .site-nav__apply,
  .site-nav--cta-pair .site-nav__book,
  .apply-divider__actions .button,
  .founding__actions .button,
  .investment-table__actions .button,
  .application__actions .button,
  .final-cta__actions .button,
  .prerequisite-callout__button {
    font-size: 1.1rem !important;
  }
}

/* ============================================================
   v107 — HeartMind logo scale + deterministic Apply routing companion
   Logo image only: 1.5x larger at each responsive breakpoint.
   ============================================================ */
.site-brand__heartmind-logo {
  height: 2.25rem;
  max-width: 12.375rem;
}

@media (min-width: 1024px) {
  .site-brand__heartmind-logo {
    height: 2.595rem;
    max-width: 14.25rem;
  }
}

@media (max-width: 767px) {
  .site-brand__heartmind-logo {
    height: 3.15rem;
    max-width: 15.75rem;
  }
}

/* ============================================================
   v111 — clean routing architecture
   Investment CTA disabled only until the application page URL is set.
   ============================================================ */
.investment-table__actions .button--disabled {
  opacity: .58;
  cursor: not-allowed;
  pointer-events: none;
}

/* ============================================================
   v114 — INVESTMENT STYLING RESTORE + CONTAINMENT
   Base: v112 (v113 broad overflow patch intentionally NOT included).
   Scope: Investment section only. No global layout, typography, CTA,
   HubSpot field, testimonial, routing, template, or JS changes.
   ============================================================ */

/* Grid children must be allowed to shrink inside their assigned tracks.
   This fixes the desktop "Before You Apply" copy painting into pricing. */
.investment--founding .investment-content-grid > *,
.investment--founding .investment-before-apply,
.investment--founding .investment-pricing-column,
.investment--founding .investment-plan,
.investment--founding .investment-tier > * {
  min-width: 0;
}

/* Long Investment copy wraps inside its own card/column instead of crossing
   the grid boundary. Keep normal word wrapping; do not clip content. */
.investment--founding .investment-before-apply__label,
.investment--founding .investment-before-apply__item strong,
.investment--founding .investment-before-apply__item p,
.investment--founding .investment-pricing-note,
.investment--founding .investment-pricing-column .investment-table__label,
.investment--founding .investment-pricing-column .investment-includes__label,
.investment--founding .investment-pricing-column .investment-includes__list li {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
}

/* Desktop/laptop: preserve the approved two-column composition while making
   both columns truly shrinkable. Pricing remains untouched visually. */
@media (min-width: 1024px) {
  .investment--founding .investment-content-grid {
    grid-template-columns: minmax(0, .68fr) minmax(0, 1.55fr);
  }

  .investment--founding .investment-before-apply {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .investment--founding .investment-before-apply__item strong,
  .investment--founding .investment-before-apply__item p {
    width: 100%;
  }
}

/* Phones: explicitly restore the pre-v113 full-width pricing-card headers.
   Do not clamp the header to the card's inner content width; the negative
   side margins are intentional and make the blue header span edge-to-edge. */
@media (max-width: 767px) {
  .investment--founding .investment-content-grid,
  .investment--founding .investment-pricing-column,
  .investment--founding .investment-pricing-plans,
  .investment--founding .investment-plan,
  .investment--founding .investment-plan__tiers,
  .investment--founding .investment-tier,
  .investment--founding .investment-tier__price-wrap {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .investment--founding .investment-plan__head {
    width: auto;
    max-width: none;
    margin-left: -1rem;
    margin-right: -1rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    box-sizing: border-box;
  }

  .investment--founding .investment-plan__title {
    min-width: 0;
    max-width: none;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  .investment--founding .investment-plan__badge {
    flex: 0 0 auto;
    max-width: none;
    white-space: nowrap;
  }

  .investment--founding .investment-tier {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .investment--founding .investment-tier__price-wrap {
    width: auto;
    text-align: right;
  }

  .investment--founding .investment-tier__name,
  .investment--founding .investment-tier__timing,
  .investment--founding .investment-tier__price,
  .investment--founding .investment-tier__note {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* Very narrow phones: keep the original full-width blue header, but allow
   its title/badge to stack within that header rather than forcing the page
   wider. Pricing tiers themselves keep their familiar two-side layout. */
@media (max-width: 360px) {
  .investment--founding .investment-plan__head {
    flex-wrap: wrap;
  }
}


/* ==========================================================================
   v115 — Prerequisites foundations path connector
   - Add a clear visual line from the Foundations prerequisite card
     to the “Need NSM Foundations?” callout card.
   - Desktop / larger tablet only so mobile remains clean.
   ========================================================================== */
@media (min-width: 992px) {
  .prerequisites__next-steps {
    position: relative;
  }

  .prerequisite-callout--foundations {
    position: relative;
  }

  .prerequisite-callout--foundations::before {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
    top: -4.35rem;
    left: 53%;
    width: 58%;
    height: 4.4rem;
    border-top: 2px solid rgba(13,94,139,.34);
    border-right: 2px solid rgba(13,94,139,.34);
    border-top-right-radius: 2.25rem;
  }

  .prerequisite-callout--foundations::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
    top: -0.7rem;
    left: calc(53% - .38rem);
    width: .76rem;
    height: .76rem;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid rgba(13,94,139,.34);
    box-shadow: 0 0 0 .28rem rgba(237,245,249,.92);
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  .prerequisite-callout--foundations::before {
    left: 50%;
    width: 62%;
  }

  .prerequisite-callout--foundations::after {
    left: calc(50% - .38rem);
  }
}

@media (max-width: 991px) {
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after {
    content: none;
  }
}


/* ==========================================================================
   v116 — Correct Foundations connector target
   - Connect the 03 Foundation card to the “Need NSM Foundations?” callout.
   - Replace the previous callout-origin line with a card-origin elbow line.
   ========================================================================== */
@media (min-width: 992px) {
  .prerequisite-card--foundations {
    position: relative;
    overflow: visible;
  }

  .prerequisite-card--foundations::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 2;
    right: 46%;
    top: calc(100% + 0.55rem);
    width: 146%;
    height: 4.25rem;
    border-right: 2px solid rgba(13,94,139,.36);
    border-bottom: 2px solid rgba(13,94,139,.36);
    border-bottom-left-radius: 2.35rem;
  }

  .prerequisite-callout--foundations::before {
    content: none !important;
  }

  .prerequisite-callout--foundations::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 2;
    top: -0.42rem;
    left: 51%;
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid rgba(13,94,139,.36);
    box-shadow: 0 0 0 .28rem rgba(237,245,249,.92);
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  .prerequisite-card--foundations::after {
    right: 43%;
    width: 152%;
    height: 4.5rem;
  }

  .prerequisite-callout--foundations::after {
    left: 48%;
  }
}

@media (max-width: 991px) {
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::after {
    content: none;
  }
}

/* ==========================================================================\n   v117 — final targeted fixes\n   1) Correct Foundations -> Need NSM Foundations visual connector.\n   2) Tablet curriculum containment / responsive layout.\n   3) Tablet Program Overview checklist wrapping.\n   ========================================================================== */

/* --------------------------------------------------------------------------
   1) PREREQUISITES CONNECTOR
   Start at the bottom-center of the 03 Foundations card, travel down through
   the inter-row gap, then left to the top-center of the Need Foundations card.
   -------------------------------------------------------------------------- */
@media (min-width: 992px) {
  /* Disable the previous experimental connector pieces. */
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after {
    content: none !important;
    display: none !important;
  }

  .prerequisites__next-steps {
    position: relative;
  }

  .prerequisites__next-steps::before {
    content: "";
    position: absolute;
    z-index: 2;
    pointer-events: none;
    /* Source ≈ center of column 3 (83.33%); destination ≈ center of callout A (25%). */
    left: 25%;
    width: 58.333%;
    top: -4rem;
    height: 4rem;
    border-right: 2px solid rgba(45, 137, 184, .42);
    border-bottom: 2px solid rgba(45, 137, 184, .42);
    border-bottom-left-radius: 1.6rem;
  }

  .prerequisites__next-steps::after {
    content: "";
    position: absolute;
    z-index: 3;
    pointer-events: none;
    left: calc(25% - .27rem);
    top: -.27rem;
    width: .54rem;
    height: .54rem;
    border-radius: 50%;
    background: #f7fbfd;
    border: 2px solid rgba(45, 137, 184, .5);
  }
}

@media (max-width: 991px) {
  .prerequisites__next-steps::before,
  .prerequisites__next-steps::after,
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after {
    content: none !important;
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   2 + 3) TABLET ONLY — Curriculum + Program Overview
   Do not touch desktop or mobile. Remove min-content pressure from the grids
   and give the dense curriculum a deliberate tablet layout.
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Curriculum section: contain every child within the tablet viewport. */
  .curriculum,
  .curriculum > .container,
  .curriculum__intro,
  .core-area,
  .module-grid,
  .module-card,
  .module-card__group,
  .curriculum__action {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .curriculum > .container {
    width: calc(100% - (var(--page-gutter) * 2));
    margin-inline: auto;
  }

  .curriculum__title,
  .curriculum__copy,
  .core-area__title,
  .core-area__copy,
  .module-card__title,
  .module-card__text {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  /* Two module cards side-by-side are too compressed at tablet widths.
     A single-column card flow is cleaner and prevents any card/text overflow. */
  .module-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.15rem;
  }

  .module-card {
    min-height: 0;
    padding: 1.8rem 1.7rem;
  }

  /* Twelve markers become two neat rows instead of squeezing across one line. */
  .module-progress__dots {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    row-gap: .65rem;
  }

  .module-progress {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .curriculum__action,
  .curriculum__action .button {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  /* Program Overview: keep the two Phase columns but make the checklist text
     a truly shrinkable grid track so long lines wrap inside each panel. */
  .program__phases,
  .phase-column,
  .phase-panel,
  .check-list,
  .check-list__item {
    min-width: 0;
    max-width: 100%;
  }

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

  .phase-panel {
    padding: 2rem 1.5rem;
  }

  .check-list__item {
    grid-template-columns: 1.05rem minmax(0, 1fr) !important;
    gap: .7rem;
    align-items: start;
    min-height: 0;
    padding: 1rem 0;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    line-height: 1.42;
  }

  .check-list__icon {
    width: 1.05rem;
    height: 1.05rem;
    line-height: 1.05rem;
    margin-top: .15rem;
  }

  .phase-column__bar,
  .phase-column__title,
  .phase-column__eyebrow {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
  }
}


/* ==========================================================================
   v118 — Artistic Foundations pathway connector
   Replace the v117 right-angle line with a cleaner, curved pathway:
   03 Foundation -> Need NSM Foundations?
   ========================================================================== */
@media (min-width: 992px) {
  /* Kill all older connector geometry first. */
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after,
  .prerequisites__next-steps::after {
    content: none !important;
    display: none !important;
  }

  .prerequisites__next-steps {
    position: relative;
  }

  .prerequisites__next-steps::before {
    content: "";
    display: block !important;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    left: 0;
    top: -4.35rem;
    width: 100%;
    height: 4.45rem;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    /* Starts beneath the 03 Foundation card, eases left across the gap,
       then softly drops into the Need NSM Foundations card. */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M830 0 L830 20 C830 34 814 40 786 40 C675 40 560 44 442 42 C330 40 218 36 120 36 C88 36 72 43 72 60 L72 100' fill='none' stroke='%232d89b8' stroke-opacity='.48' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  .prerequisites__next-steps::before {
    top: -4.2rem;
    height: 4.3rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M820 0 L820 19 C820 33 804 39 775 39 C660 39 548 43 430 41 C315 39 207 35 105 35 C77 35 64 42 64 59 L64 100' fill='none' stroke='%232d89b8' stroke-opacity='.48' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }
}

@media (max-width: 991px) {
  .prerequisites__next-steps::before,
  .prerequisites__next-steps::after,
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after {
    content: none !important;
    display: none !important;
  }
}

/* ==========================================================================
   v119 — Center-to-center Foundations connector
   Exact anchors:
   - Source = horizontal center of card 03 in a 3-column grid = 83.333%
   - Destination = horizontal center of callout A in a 2-column grid = 25%
   The path is deliberately shaped: short vertical stem -> controlled soft
   horizontal sweep -> short vertical stem. No freehand wobble / endpoint dot.
   ========================================================================== */
@media (min-width: 992px) {
  /* Remove every earlier connector artifact before drawing the final path. */
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after,
  .prerequisites__next-steps::after {
    content: none !important;
    display: none !important;
  }

  .prerequisites__next-steps {
    position: relative;
  }

  .prerequisites__next-steps::before {
    content: "";
    display: block !important;
    position: absolute;
    z-index: 2;
    pointer-events: none;
    left: 0;
    top: -4.5rem;
    width: 100%;
    height: 4.5rem;
    border: 0 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 100% 100% !important;
    /* 83.333% -> 25%, centered on both cards. */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M1000 0 L1000 22 C1000 35 989 42 968 42 C850 42 770 48 660 48 C545 48 452 42 350 42 C317 42 300 51 300 72 L300 120' fill='none' stroke='%232d89b8' stroke-opacity='.46' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }
}

@media (min-width: 992px) and (max-width: 1180px) {
  .prerequisites__next-steps::before {
    top: -4.35rem;
    height: 4.35rem;
    /* Same exact center anchors, slightly tighter vertical sweep. */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 116' preserveAspectRatio='none'%3E%3Cpath d='M1000 0 L1000 20 C1000 33 988 39 967 39 C850 39 770 45 660 45 C545 45 452 39 350 39 C317 39 300 48 300 68 L300 116' fill='none' stroke='%232d89b8' stroke-opacity='.46' stroke-width='2' vector-effect='non-scaling-stroke' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  }
}

@media (max-width: 991px) {
  .prerequisites__next-steps::before,
  .prerequisites__next-steps::after,
  .prerequisite-card--foundations::after,
  .prerequisite-callout--foundations::before,
  .prerequisite-callout--foundations::after {
    content: none !important;
    display: none !important;
  }
}

/* ==========================================================================
   v120 — Targeted mobile overflow hardening
   Scope ONLY:
   1) Program Overview
   2) Twelve Modules / Curriculum
   3) Faculty / Supported by Experienced NSM Practitioners
   4) FAQ / Questions You May Be Asking
   Preserve v114 Investment, v117 tablet fixes, v119 connector and all routing.
   ========================================================================== */
@media (max-width: 767px) {
  /* Shared containment for the four affected sections only. */
  .program,
  .curriculum,
  .faculty,
  .faq,
  .program .container,
  .curriculum .container,
  .faculty .container,
  .faq .container {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .program .container,
  .curriculum .container,
  .faculty .container,
  .faq .container {
    width: 100%;
  }

  /* ------------------------------------------------------------
     1) PROGRAM OVERVIEW
     ------------------------------------------------------------ */
  .program {
    min-height: 0;
    overflow: visible;
  }

  .program__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem;
    width: 100%;
    min-width: 0;
  }

  .program__head > *,
  .program__title,
  .program__intro-copy,
  .program__weeks,
  .program__phases,
  .phase-column,
  .phase-column__bar,
  .phase-panel,
  .check-list,
  .check-list__item {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .program__title,
  .program__intro-copy,
  .phase-column__title,
  .phase-column__eyebrow,
  .check-list__item {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .program__intro-copy {
    padding-top: 0;
  }

  .program__weeks {
    gap: 1rem;
    font-size: clamp(1.05rem, 5.2vw, 1.5rem);
  }

  .program__weeks span {
    min-width: 0;
    white-space: normal;
  }

  .program__phases {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.5rem;
  }

  .phase-panel {
    min-height: 0;
    padding: 1.75rem 1.25rem;
  }

  .check-list__item {
    grid-template-columns: 1rem minmax(0, 1fr) !important;
    gap: .7rem;
    align-items: start;
    min-height: 0;
    padding: 1rem 0;
    line-height: 1.45;
  }

  .check-list__icon {
    width: 1rem;
    height: 1rem;
    line-height: 1rem;
    margin-top: .18rem;
  }

  .program__action,
  .program__action .button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .program__action .button {
    white-space: normal;
    justify-content: center;
    text-align: center;
  }

  /* ------------------------------------------------------------
     2) TWELVE MODULES / CURRICULUM
     ------------------------------------------------------------ */
  .curriculum {
    overflow: visible;
  }

  .curriculum__intro,
  .curriculum__title,
  .curriculum__copy,
  .module-progress,
  .module-progress__dots,
  .core-area,
  .core-area__title,
  .core-area__copy,
  .module-grid,
  .module-card,
  .module-card__group,
  .module-card__title,
  .module-card__text,
  .curriculum__action,
  .curriculum__action .button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .curriculum__title,
  .curriculum__copy,
  .core-area__title,
  .core-area__copy,
  .module-card__title,
  .module-card__label,
  .module-card__text,
  .curriculum__action .button {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .module-progress {
    padding-inline: 1rem;
    overflow: visible;
  }

  .module-progress__dots {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: .65rem .35rem;
  }

  .module-progress__dots > * {
    min-width: 0;
  }

  .module-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .module-card {
    min-height: 0;
    padding: 2rem 1.5rem;
  }

  .curriculum__action {
    height: auto;
    min-height: 4.8rem;
    padding: 0 1.25rem;
  }

  /* ------------------------------------------------------------
     3) FACULTY
     ------------------------------------------------------------ */
  .faculty {
    min-height: 0;
    overflow: visible;
  }

  .faculty__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.75rem;
    width: 100%;
  }

  .faculty__head > *,
  .faculty__head .section-title,
  .faculty__head .section-copy,
  .faculty__grid,
  .faculty-card,
  .faculty-card__image,
  .faculty-card__name,
  .faculty-card__role {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .faculty__head .section-title,
  .faculty__head .section-copy,
  .faculty-card__name,
  .faculty-card__role {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .faculty__grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2rem 1rem;
  }

  .faculty-card__image {
    width: 100%;
  }

  /* ------------------------------------------------------------
     4) FAQ
     ------------------------------------------------------------ */
  .faq {
    min-height: 0;
    overflow: visible;
  }

  .faq__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2.5rem;
    width: 100%;
    min-width: 0;
  }

  .faq__intro,
  .faq__title,
  .faq__copy,
  .faq-list,
  .faq-item,
  .faq-item h3,
  .faq-question,
  .faq-answer,
  .faq-answer__inner,
  .faq-answer p {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .faq__title,
  .faq__copy,
  .faq-question span:first-child,
  .faq-answer p {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .faq-question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
  }

  .faq-question span:first-child {
    min-width: 0;
  }

  .faq-symbol {
    flex: 0 0 auto;
  }
}

/* Extra protection for very narrow phones without changing the section
   architecture at normal mobile widths. */
@media (max-width: 390px) {
  .faculty__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .program__weeks {
    align-items: flex-start;
    font-size: 1rem;
  }
}


/* ==========================================================================
   v121 — Restore standard mobile side gutters after v120 overflow hardening
   v120 correctly removed min-content overflow, but its width:100% rule on the
   four section containers overrode the site's normal mobile container gutter.
   Keep the overflow fixes; restore the same page-gutter behavior used elsewhere.
   ========================================================================== */
@media (max-width: 767px) {
  .program .container,
  .curriculum .container,
  .faculty .container,
  .faq .container {
    width: calc(100% - (var(--page-gutter) * 2)) !important;
    max-width: none;
    margin-inline: auto;
    padding-inline: 0;
    min-width: 0;
    box-sizing: border-box;
  }
}


/* ==========================================================================
   v122 — Mobile typography + wrapping / Tablet FAQ heading
   Scope:
   1) Investment intro copy wraps on phones.
   2) Leading Voices mobile card text + images = 1.2x.
   3) Prerequisites mobile card text = 1.2x.
   4) Tablet FAQ heading constrained to two-line-friendly width.
   ========================================================================== */

/* 1) Investment intro: force normal wrapping on phones without touching
   the pricing card layout restored in v114. */
@media (max-width: 767px) {
  .investment--founding .investment__intro,
  .investment--founding .investment__copy {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .investment--founding .investment__copy {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
  }
}

/* 2) Leading Voices: requested 1.2x mobile image + text scale. */
@media (max-width: 767px) {
  .teacher-voice-card__person img,
  .teacher-voice-card__avatar {
    width: 4.8rem;
    height: 4.8rem;
    flex-basis: 4.8rem;
  }

  .teacher-voice-card__avatar {
    font-size: 1.5rem;
  }

  .teacher-voice-card h3 {
    font-size: 1.416rem;
    line-height: 1.22;
  }

  .teacher-voice-card__person p {
    font-size: .984rem;
    line-height: 1.42;
  }

  .teacher-voice-card blockquote {
    font-size: 1.296rem;
    line-height: 1.58;
  }
}

/* 3) Prerequisites: scale the current mobile card typography by 1.2x.
   Includes the A/B next-step cards so the section reads consistently. */
@media (max-width: 767px) {
  .prerequisite-card__number {
    font-size: 1.044rem;
  }

  .prerequisite-card__type {
    font-size: .912rem;
  }

  .prerequisite-card h3 {
    font-size: 1.92rem;
    line-height: 1.18;
  }

  .prerequisite-card p,
  .prerequisite-card li {
    font-size: 1.32rem;
    line-height: 1.52;
  }

  .prerequisite-callout__label {
    font-size: 1.404rem;
    line-height: 1.28;
  }

  .prerequisite-callout p {
    font-size: 1.188rem;
    line-height: 1.48;
  }

  .prerequisite-callout__button {
    font-size: 1.26rem;
    line-height: 1.15;
  }
}

/* 4) Tablet FAQ: keep the title inside its intro column and encourage a
   balanced two-line wrap instead of colliding with the questions column. */
@media (min-width: 768px) and (max-width: 1023px) {
  .faq__layout {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 2.5rem;
  }

  .faq__intro {
    min-width: 0;
  }

  .faq__title {
    width: 100%;
    max-width: 13ch;
    white-space: normal !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  .faq-list {
    min-width: 0;
  }
}


/* ==========================================================================
   v124 — Troy authority / proof hierarchy
   Fleet bio → Leading Voices → Faculty moved higher in template.
   Leading Voices receives a stronger dark proof section with large portraits.
   Scattered testimonial portraits are enlarged.
   Payment-plan timing copy is constrained to a clean two-line wrap.
   ========================================================================== */

/* Anchor offsets for sticky header navigation. */
#faculty,
#testimonials,
#faculty-practitioners {
  scroll-margin-top: 7.5rem;
}

/* Leading Voices: make this a major authority / proof moment. */
.teacher-voices {
  position: relative;
  padding: 8.75rem 0;
  background:
    radial-gradient(circle at 12% 12%, rgba(71,154,204,.20), transparent 28rem),
    radial-gradient(circle at 88% 84%, rgba(236,159,49,.12), transparent 24rem),
    #072f4b;
  color: #fff;
}
.teacher-voices__head {
  max-width: 68rem;
}
.teacher-voices__head .eyebrow,
.teacher-voices__head .section-title,
.teacher-voices__head .section-copy {
  color: #fff;
}
.teacher-voices__head .section-copy {
  color: rgba(255,255,255,.74);
}
.teacher-voices__grid {
  gap: 1.5rem;
  margin-top: 3.75rem;
}
.teacher-voice-card {
  padding: 2.25rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 1.5rem 3.5rem rgba(0,0,0,.16);
}
.teacher-voice-card__person {
  align-items: center;
  gap: 1.5rem;
}
.teacher-voice-card__person img,
.teacher-voice-card__avatar {
  width: 9.15rem;
  height: 9.15rem;
  flex: 0 0 9.15rem;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 .4rem #eef5f8;
}
.teacher-voice-card__avatar {
  display: grid;
  place-items: center;
  background: #0c4e77;
  color: #fff;
  font-size: 3rem;
}
.teacher-voice-card h3 {
  font-size: 1.42rem;
  line-height: 1.18;
}
.teacher-voice-card__person p {
  margin-top: .45rem;
  font-size: .9rem;
  line-height: 1.45;
}
.teacher-voice-card blockquote {
  margin-top: 1.75rem;
  font-size: 1.12rem;
  line-height: 1.62;
}

/* Scattered proof moments: larger faces and more visual authority. */
.testimonial-break {
  padding-block: 4rem;
}
.testimonial-break__inner {
  gap: 1.75rem;
}
.testimonial-break__image {
  width: 8rem;
  height: 8rem;
  flex: 0 0 8rem;
  box-shadow: 0 0 0 .35rem rgba(255,255,255,.55);
}
.testimonial-break blockquote {
  font-size: 1.42rem;
  line-height: 1.5;
}
.testimonial-break__byline {
  font-size: .9rem;
}

/* Fleet / faculty proof cluster gets breathing room when moved higher. */
.guide + .teacher-voices,
.teacher-voices + .faculty {
  position: relative;
}

/* Fleet requested payment-plan wording can breathe instead of running long. */
.investment-pricing-plans .investment-plan:nth-child(2) .investment-tier__timing {
  display: block;
  max-width: 27ch;
  white-space: normal !important;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
}

/* Tablet: maintain large proof portraits without crushing card copy. */
@media (min-width: 768px) and (max-width: 1100px) {
  .teacher-voice-card__person img,
  .teacher-voice-card__avatar {
    width: 6.67rem;
    height: 6.67rem;
    flex-basis: 6.67rem;
  }
  .teacher-voice-card {
    padding: 1.8rem;
  }
}

/* Mobile: large enough to sell authority, still proportionate to the card. */
@media (max-width: 767px) {
  .teacher-voices {
    padding: 5.75rem 0;
  }
  .teacher-voice-card {
    padding: 1.65rem;
  }
  .teacher-voice-card__person {
    align-items: flex-start;
    gap: 1.15rem;
  }
  .teacher-voice-card__person img,
  .teacher-voice-card__avatar {
    width: 5.83rem;
    height: 5.83rem;
    flex-basis: 5.83rem;
  }
  .teacher-voice-card__avatar {
    font-size: 2rem;
  }
  .teacher-voice-card h3 {
    font-size: 1.5rem;
  }
  .teacher-voice-card__person p {
    font-size: 1rem;
  }
  .teacher-voice-card blockquote {
    font-size: 1.32rem;
    line-height: 1.58;
  }

  .testimonial-break {
    padding-block: 3.25rem;
  }
  .testimonial-break__inner {
    display: grid;
    grid-template-columns: 6.5rem minmax(0,1fr);
    gap: 1rem 1.2rem;
    text-align: left;
  }
  .testimonial-break__image {
    width: 6.5rem;
    height: 6.5rem;
    grid-row: 1 / span 2;
  }
  .testimonial-break blockquote {
    grid-column: 2;
    font-size: 1.28rem;
    line-height: 1.5;
  }
  .testimonial-break__byline {
    grid-column: 2;
    font-size: .9rem;
  }

  .investment-pricing-plans .investment-plan:nth-child(2) .investment-tier__timing {
    max-width: 27ch;
  }
}

/* ==========================================================================
   v125 — Authority block order + Leading Voices portrait refinement
   ========================================================================== */
/* Fleet bio → Leading Voices → Faculty now follows Program Overview.
   Leading Voices portraits are ~1.2x smaller than v124; all other v124
   testimonial styling is preserved. */


/* ==========================================================================
   v126 — Fleet responsive containment + Leading Voices portrait/name polish
   ========================================================================== */

/* Fleet bio: remove desktop fixed-width assumptions on tablet and mobile. */
@media (max-width: 1023px) {
  .guide,
  .guide .container,
  .guide .container--narrow,
  .guide__main,
  .guide__left,
  .guide__right,
  .guide__visual,
  .guide__bio,
  .guide-role,
  .guide-stats,
  .guide-stat {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .guide {
    min-height: 0;
    overflow: hidden;
  }

  .guide .container,
  .guide .container--narrow {
    width: calc(100% - (var(--page-gutter) * 2));
    margin-inline: auto;
  }

  .guide__main {
    width: 100%;
    padding-left: 0;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
  }

  .guide__left,
  .guide__right {
    width: 100%;
  }

  .guide__bio {
    width: 100% !important;
  }

  .guide__bio p,
  .guide-role__title,
  .guide-role__item,
  .guide .section-title {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .guide__image {
    max-width: 100%;
    margin-left: 0;
  }

  .guide-role {
    width: 100% !important;
  }
}

/* Tablet retains a composed two-column feel without overflowing. */
@media (min-width: 768px) and (max-width: 1023px) {
  .guide__main {
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 2.5rem;
  }

  .guide__image {
    width: min(100%, 19rem);
    height: auto;
    aspect-ratio: 19 / 21;
  }

  .guide-role {
    padding: 2rem;
  }
}

/* Phone layout: one column with the same page gutters as neighboring sections. */
@media (max-width: 767px) {
  .guide {
    padding-block: 5rem 3.75rem;
  }

  .guide__main {
    gap: 2.25rem;
  }

  .guide__visual {
    padding-top: 1.5rem;
  }

  .guide__image {
    width: min(100%, 18rem);
    height: auto;
    aspect-ratio: 19 / 21;
  }

  .guide__bio {
    gap: 1.25rem;
  }

  .guide-stats {
    width: 100%;
  }
}

/* Leading Voices — desktop portraits 0.8x the v125 size. */
@media (min-width: 1024px) {
  .teacher-voice-card__person img,
  .teacher-voice-card__avatar {
    width: 7.32rem;
    height: 7.32rem;
    flex: 0 0 7.32rem;
  }
}

/* Leading Voices — mobile portraits 1.1x the v125 mobile size. */
@media (max-width: 767px) {
  .teacher-voice-card__person img,
  .teacher-voice-card__avatar {
    width: 6.41rem;
    height: 6.41rem;
    flex-basis: 6.41rem;
  }
}

/* Names/credentials sit on white cards, so explicitly use dark readable type. */
.teacher-voice-card h3 {
  color: #08263f !important;
}

.teacher-voice-card__person p {
  color: #526473 !important;
}

.teacher-voice-card blockquote {
  color: #173447;
}


/* ==========================================================================
   v127 — Fleet mobile/tablet wrapping + testimonial alignment refinements
   ========================================================================== */

/* 1) Fleet section: make every text-bearing child shrink/wrap safely.
   This is intentionally stronger than v126 because a few nested flex/grid
   children were still retaining intrinsic widths on tablet/mobile. */
@media (max-width: 1023px) {
  .guide *,
  .guide *::before,
  .guide *::after {
    box-sizing: border-box;
  }

  .guide__main,
  .guide__left,
  .guide__right,
  .guide__visual,
  .guide__bio,
  .guide__bio p,
  .guide-role,
  .guide-role__list,
  .guide-role__item,
  .guide-role__title,
  .guide-stats,
  .guide-stat,
  .guide-stat__value,
  .guide-stat__label,
  .guide .section-title,
  .guide .eyebrow {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .guide__bio p,
  .guide-role__item,
  .guide-role__title,
  .guide-stat__value,
  .guide-stat__label,
  .guide .section-title,
  .guide .eyebrow {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .guide-role__item {
    align-items: flex-start;
  }

  .guide-role__dot {
    flex: 0 0 .322rem;
    margin-top: .52em;
  }

  .guide-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Restore the mobile portrait treatment: full container width and slightly
   shorter than the earlier portrait proportion. */
@media (max-width: 767px) {
  .guide__visual {
    width: 100%;
  }

  .guide__image {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 4.25 !important;
    margin: 0 !important;
    background-size: cover;
    background-position: center 20%;
  }

  .guide-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 2) Leading Voices mobile identity block:
   vertically center author name + credential against the portrait. */
@media (max-width: 767px) {
  .teacher-voice-card__person {
    align-items: center !important;
  }

  .teacher-voice-card__person > div {
    min-width: 0;
    align-self: center;
  }

  .teacher-voice-card__person h3,
  .teacher-voice-card__person p {
    margin-left: 0;
    margin-right: 0;
  }
}

/* 3) Sprinkled testimonials on mobile:
   portrait should begin at the top of the testimonial instead of sitting
   vertically centered beside the quote/byline block. */
@media (max-width: 767px) {
  .testimonial-break__inner {
    align-items: start !important;
  }

  .testimonial-break__image,
  .testimonial-break__avatar {
    align-self: start !important;
  }
}


/* ========================================================================== 
   v129 — Sept 29 full NSM redesign (staging only)
   Current NSM visual language retained; layouts evolve only where required.
   ========================================================================== */

.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Hero refinement */
.hero__program-name{margin:0 0 1rem;font:700 .78rem/1.35 var(--font-sans,inherit);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82);max-width:52rem}
.hero__decision-note{margin:.85rem 0 0;color:rgba(255,255,255,.82);font-size:.88rem}
.hero__masterclass{margin:.7rem 0 0;font-size:.88rem}.hero__masterclass a{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.hero__meta{margin-top:1rem}

/* Under-hero logistics and eligibility */
.program-snapshot{background:#f7fafc;border-bottom:1px solid rgba(8,38,63,.1)}
.program-snapshot>.container{padding-top:1.2rem;padding-bottom:1.2rem}
.program-snapshot__facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(8,38,63,.12);border-radius:1rem;overflow:hidden;background:#fff}
.program-snapshot__fact{min-width:0;padding:1.05rem 1.15rem;border-right:1px solid rgba(8,38,63,.1)}.program-snapshot__fact:last-child{border-right:0}
.program-snapshot__fact span{display:block;color:#1d6292;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.program-snapshot__fact strong{display:block;margin-top:.28rem;color:#08263f;font-size:1rem;line-height:1.28}.program-snapshot__fact small{display:block;margin-top:.2rem;color:#6d6e71;font-size:.76rem;line-height:1.35}
.program-snapshot__eligibility{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 1.15rem;margin-top:.7rem;border-radius:1rem;background:#eef4f8}
.program-snapshot__eligibility-title{font-weight:800;color:#08263f}.program-snapshot__eligibility p{display:inline;margin-left:.5rem;color:#526473}.program-snapshot__links{display:flex;flex-wrap:wrap;gap:1rem;flex:0 0 auto}.program-snapshot__links a{font-size:.84rem;font-weight:750;color:#1d6292;text-decoration:none;border-bottom:1px solid currentColor}

/* Professional Gap */
.problem__statements--single{max-width:56rem}.problem__statements--single p{font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.65}.problem-panel__closing{margin:1.4rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.18);font-weight:700;line-height:1.55}

/* What is NSM */
.methodology__header-v2 .section-title{margin-bottom:.65rem}.methodology__subhead{margin:0 auto;max-width:48rem;color:rgba(255,255,255,.75);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.55}.methodology__grid--unnumbered .methodology-item{padding-top:1.5rem}.methodology__grid--unnumbered .methodology-item__number{display:none}

/* NSM Advantage */
.advantage__header .section-title{max-width:18ch}.comparison-table--v2 .comparison-row--highlight{background:transparent}.advantage__after--v2{display:grid;gap:1.4rem}.nsm-chain{display:flex;align-items:center;justify-content:center;gap:.55rem;flex-wrap:wrap}.nsm-chain__step,.impact-flow.nsm-chain .impact-flow__item{padding:.72rem 1rem;border-radius:999px;background:#f7fafc;border:1px solid rgba(29,98,146,.2);font-size:.86rem;font-weight:750;color:#16415f;text-align:center}.nsm-chain__arrow{color:#8dc63f;font-weight:900}.nsm-chain--dark .impact-flow__item{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18)}

/* Student again banner */
.student-banner{padding:0;background:#fff}.student-banner__inner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem;align-items:center;padding:2.2rem 2.5rem!important;border-radius:1.2rem;background:#eef4f8;border:1px solid rgba(29,98,146,.12)}.student-banner__mark{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#1d6292;color:#fff;font-size:1.2rem}.student-banner h2{margin:0;color:#08263f;font-size:clamp(1.35rem,2vw,2rem);line-height:1.2}.student-banner p{margin:.55rem 0 0;max-width:60rem;color:#526473;line-height:1.6}

/* Prerequisites - exactly three cards */
.prerequisites--v2 .prerequisites__path--three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.prerequisites--v2 .prerequisite-card{min-width:0;height:100%;display:flex;flex-direction:column}.prerequisites--v2 .prerequisite-card__inset{margin-top:auto;padding:1.15rem;border-radius:.85rem;background:#f3f8fb;border:1px solid rgba(29,98,146,.12)}.prerequisite-card__inset strong{display:block;color:#08263f}.prerequisite-card__inset p{margin:.45rem 0 .75rem}.prerequisite-card__inset a{font-weight:750;color:#1d6292}.prerequisites--v2 .prerequisite-card--foundations .prerequisite-card__button{margin-top:auto;align-self:flex-start}.prerequisites--v2 .prerequisites__next-steps{display:none!important}

/* Unified Program Overview */
.program-overview-v2{padding:8rem 0;background:#fff;color:#08263f;scroll-margin-top:7rem}.program-overview-v2__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);gap:4rem;align-items:start}.program-overview-v2__head .section-title{max-width:14ch}.program-overview-v2__lead{max-width:44rem;font-size:1.05rem;line-height:1.7;color:#526473}.program-overview-v2__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(8,38,63,.16);border-left:1px solid rgba(8,38,63,.16)}.program-overview-v2__fact{padding:1rem;border-right:1px solid rgba(8,38,63,.16);border-bottom:1px solid rgba(8,38,63,.16);min-width:0}.program-overview-v2__fact span{display:block;color:#1d6292;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.program-overview-v2__fact strong{display:block;margin-top:.35rem;font-size:1rem;line-height:1.3}.program-overview-v2__fact small{display:block;margin-top:.2rem;color:#6d6e71;font-size:.75rem}
.program-journey{margin-top:4rem;padding:2.4rem;border-radius:1.35rem;background:#eef4f8}.program-journey__labels{display:grid;grid-template-columns:64fr 22fr 14fr;gap:1rem}.program-journey__phase{min-width:0}.program-journey__phase strong{display:block;font-size:.96rem}.program-journey__phase span{display:block;margin-top:.35rem;color:#526473;font-size:.82rem;line-height:1.4}.program-journey__rail{display:grid;grid-template-columns:64fr 22fr 14fr;gap:0;margin-top:1.6rem;align-items:center}.program-journey__weeks{display:grid;grid-template-columns:repeat(12,1fr);position:relative}.program-journey__weeks:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:#1d6292}.program-journey__weeks span{position:relative;z-index:1;display:grid;place-items:center;width:1.55rem;height:1.55rem;margin:auto;border-radius:50%;background:#fff;border:2px solid #1d6292;color:#1d6292;font-size:.65rem;font-weight:800}.program-journey__phase-two-rail{display:grid;grid-template-columns:repeat(12,1fr);height:2px;background:#16415f;position:relative}.program-journey__phase-two-rail i{position:relative}.program-journey__phase-two-rail i:after{content:"";position:absolute;left:50%;top:-3px;width:1px;height:8px;background:#16415f}.program-journey__finish-rail{height:2px;border-top:2px dashed #8dc63f;position:relative}.program-journey__finish-rail span{position:absolute;right:-.2rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;border:2px solid #8dc63f;border-radius:50%;background:#fff;color:#5c8f1f}.program-journey__caption{margin:1.2rem 0 0;color:#526473;font-size:.83rem}
.program-weekly{margin-top:3.5rem}.program-weekly>h3,.program-curriculum__head h3{font-size:clamp(1.55rem,2.5vw,2.25rem);margin:0}.program-weekly__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin-top:1.2rem;background:rgba(8,38,63,.12);border:1px solid rgba(8,38,63,.12)}.program-weekly__item{padding:1.25rem;background:#fff}.program-weekly__item strong{color:#16415f}.program-weekly__item p{margin:.45rem 0 0;font-size:.85rem;line-height:1.5;color:#526473}
.program-curriculum{margin-top:5rem}.program-curriculum__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:1.2rem;border-bottom:2px solid #1d6292}.program-area{display:grid;grid-template-columns:minmax(12rem,.34fr) minmax(0,1fr);gap:2.5rem;padding:2.5rem 0;border-bottom:1px solid rgba(8,38,63,.16)}.program-area__heading span{display:block;color:#1d6292;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.program-area__heading h4{margin:.45rem 0 0;font-size:1.4rem;line-height:1.25}.program-area__modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.program-module{min-width:0}.program-module__number{display:block;color:#6d6e71;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.program-module h5{margin:.45rem 0 .75rem;font-size:1.1rem;line-height:1.35}.program-module__details{border-top:1px solid rgba(8,38,63,.12)}.program-module__details summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;cursor:pointer;list-style:none;color:#1d6292;font-weight:800;font-size:.84rem}.program-module__details summary::-webkit-details-marker{display:none}.program-module__hide{display:none}.program-module__details[open] .program-module__show{display:none}.program-module__details[open] .program-module__hide{display:inline}.program-module__details[open] .program-module__symbol{transform:rotate(45deg)}.program-module__symbol{font-size:1.2rem;transition:transform .2s ease}.program-module__expanded{display:grid;gap:1rem;padding:.4rem 0 1.1rem}.program-module__expanded strong{display:block;color:#08263f;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.program-module__expanded p{margin:.3rem 0 0;color:#526473;font-size:.88rem;line-height:1.58}
.program-overview-v2__decision{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:3rem 0 0;padding-top:2rem;border-top:1px solid rgba(8,38,63,.14)}.program-overview-v2__decision p{flex-basis:100%;margin:.2rem 0 0;color:#6d6e71;font-size:.82rem}
.program-phase-two{display:grid;grid-template-columns:minmax(19rem,.8fr) minmax(0,1.2fr);gap:4rem;margin-top:5rem;padding-top:4rem;border-top:2px solid #16415f}.program-phase-two__eyebrow{display:inline-block;color:#16415f;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.program-phase-two__visual h3{margin:.45rem 0 .4rem;font-size:2rem}.program-phase-two__visual>p{margin:0;color:#526473}.program-phase-two__competence{position:relative;width:min(100%,24rem);aspect-ratio:1;margin:2rem auto 0;border-radius:50%;border:1px solid rgba(22,65,95,.2);background:radial-gradient(circle,#fff 0 27%,#eef4f8 28% 52%,#dfeaf1 53% 100%)}.program-phase-two__core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);text-align:center;font-weight:800;line-height:1.25;color:#16415f}.program-phase-two__orbit{position:absolute;max-width:8rem;padding:.3rem .5rem;border-radius:.5rem;background:#fff;color:#16415f;font-size:.72rem;font-weight:750;text-align:center;box-shadow:0 .25rem 1rem rgba(8,38,63,.08)}.program-phase-two__orbit--1{top:6%;left:50%;transform:translateX(-50%)}.program-phase-two__orbit--2{right:-2%;top:31%}.program-phase-two__orbit--3{right:4%;bottom:13%}.program-phase-two__orbit--4{left:3%;bottom:13%}.program-phase-two__orbit--5{left:-3%;top:31%}.program-phase-two__details{display:grid;gap:2rem;align-content:center}.program-phase-two__details h3{margin:0 0 1rem;font-size:1.35rem}.program-phase-two__details ul{margin:0;padding-left:1.2rem;color:#526473}.program-phase-two__details li+li{margin-top:.7rem}.program-phase-two__ending{padding:1.5rem;border-radius:1rem;background:#eef4f8}.program-phase-two__ending p{color:#526473;line-height:1.6}.program-phase-two__ending strong{display:block;margin-top:.75rem;color:#16415f}

/* Leading Voices carousel */
.teacher-voices--carousel{padding:8rem 0;background:#072f4b;color:#fff}.teacher-voices--carousel .teacher-voices__head{display:flex;align-items:end;justify-content:space-between;gap:2rem;max-width:none}.teacher-voices__controls{display:flex;align-items:center;gap:.75rem;flex:0 0 auto}.teacher-voices__arrow{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.teacher-voices__arrow:disabled{opacity:.35;cursor:default}.teacher-voices__counter{font-size:.8rem;color:rgba(255,255,255,.72)}.teacher-voices__counter b{color:#fff}.teacher-voices__viewport{margin-top:2.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.teacher-voices__viewport::-webkit-scrollbar{display:none}.teacher-voices__track{display:flex;gap:1.35rem}.teacher-voices--carousel .teacher-voice-card{flex:0 0 min(48rem,76%);scroll-snap-align:start;min-width:0;padding:2.4rem;border-radius:1.35rem;background:#fff;color:#08263f}.teacher-voices--carousel .teacher-voice-card__person{display:flex;align-items:center;gap:1.2rem}.teacher-voices--carousel .teacher-voice-card__person img,.teacher-voices--carousel .teacher-voice-card__avatar{width:7.2rem;height:7.2rem;flex:0 0 7.2rem;border-radius:50%;object-fit:cover}.teacher-voices--carousel .teacher-voice-card h3{color:#08263f!important}.teacher-voices--carousel .teacher-voice-card__person p{color:#526473!important}.teacher-voices--carousel .teacher-voice-card blockquote{margin:1.7rem 0 0;color:#173447;font-size:1.17rem;line-height:1.62}

/* Fleet + coaches */
.faculty--coaches .faculty__grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}.faculty--coaches .faculty-card__image{aspect-ratio:4/5;height:auto}.faculty--coaches .faculty-card__role:empty{display:none}

/* Live learning */
.community--v2 .community__cards{display:none}.session-strip{margin-top:2.5rem;padding:1.7rem;border-radius:1.15rem;background:#fff;border:1px solid rgba(8,38,63,.12)}.session-strip__label{font-weight:800;color:#16415f}.session-strip__weeks{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;margin-top:1.2rem}.session-strip__weeks span{display:grid;place-items:center;min-width:0;aspect-ratio:1;border-radius:50%;background:#eef4f8;color:#1d6292;border:1px solid rgba(29,98,146,.2)}.session-strip__weeks b{font-size:.8rem}.session-strip__weeks small{font-size:.5rem;text-transform:uppercase}.session-strip__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:1.2rem;background:rgba(8,38,63,.1)}.session-strip__summary span{padding:.9rem;background:#f7fafc;font-size:.78rem;line-height:1.4;color:#526473}

/* Professional proof / case study metadata */
.professional-proof{padding:7rem 0;background:#f7fafc}.professional-proof__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.professional-proof__card{padding:1.5rem;border-radius:1rem;background:#fff;border:1px solid rgba(8,38,63,.1)}.professional-proof__card img{width:4rem;height:4rem;border-radius:50%;object-fit:cover}.professional-proof__card blockquote{margin:1rem 0;line-height:1.6}.professional-proof__card strong,.professional-proof__card span{display:block}.professional-proof__card span{margin-top:.2rem;color:#6d6e71;font-size:.82rem}.case-study-video-card__role{font-weight:750;color:#16415f}.case-study-video-card__takeaway{color:#526473}.case-study-video-card__transcript{margin-top:.75rem}.case-study-video-card__transcript summary{cursor:pointer;color:#1d6292;font-weight:700}

/* Investment refinements */
.investment-tier__bonus{display:inline-flex;margin-top:.45rem;padding:.3rem .55rem;border-radius:999px;background:#eef7df;color:#4f7f17;font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.investment-logistics{margin:1.25rem 0 .6rem;padding:1rem;border-radius:.8rem;background:#eef4f8;color:#16415f;font-size:.86rem;font-weight:700;line-height:1.5}.investment-refund{margin:.6rem 0 1.3rem;color:#526473;font-size:.85rem}.investment-heartmind-note{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(8,38,63,.12);color:#526473;font-size:.82rem;line-height:1.5}.investment-heartmind-note p{margin:.25rem 0}.investment-table__actions{align-items:center}.investment-apply-microcopy{font-size:.78rem;color:#6d6e71}

/* Application */
.application__optional-note{margin-top:.8rem;color:#1d6292;font-weight:750}.application-card__step{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#eef4f8;color:#1d6292;font-size:.7rem;font-weight:800}.application__actions{display:none!important}

/* FAQ grouped */
.faq--grouped .faq__layout{align-items:start}.faq-groups{min-width:0}.faq-group+.faq-group{margin-top:2.1rem}.faq-group__title{margin:0 0 .65rem;color:#1d6292;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase}.faq-group h4{margin:0}

/* Final close */
.final-cta__microcopy{margin:1rem 0 0;color:rgba(255,255,255,.72);font-size:.82rem;line-height:1.5}

/* Responsive */
@media(max-width:1023px){.program-overview-v2__head{grid-template-columns:1fr;gap:2rem}.program-weekly__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-area{grid-template-columns:1fr}.program-phase-two{grid-template-columns:1fr;gap:2rem}.faculty--coaches .faculty__grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.session-strip__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.program-snapshot__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.program-snapshot__fact:nth-child(2){border-right:0}.program-snapshot__fact:nth-child(-n+2){border-bottom:1px solid rgba(8,38,63,.1)}.program-snapshot__eligibility{align-items:flex-start;flex-direction:column;gap:.75rem}.program-snapshot__eligibility p{display:block;margin:.35rem 0 0}.program-snapshot__links{gap:.7rem}.student-banner__inner{grid-template-columns:1fr;padding:1.6rem!important}.prerequisites--v2 .prerequisites__path--three{grid-template-columns:1fr}.program-overview-v2{padding:5.5rem 0}.program-overview-v2__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.program-journey{padding:1.35rem}.program-journey__labels,.program-journey__rail{display:none}.program-journey__caption{margin-top:0}.program-journey:before{content:"Phase One  →  Phase Two  →  Your own pace  →  Certified";display:block;padding-left:1rem;border-left:3px solid #1d6292;color:#16415f;font-weight:800;line-height:1.6}.program-weekly__grid{grid-template-columns:1fr}.program-curriculum{margin-top:3.8rem}.program-curriculum__head{display:block}.program-area{gap:1.2rem;padding:2rem 0}.program-area__modules{grid-template-columns:1fr;gap:1.7rem}.program-overview-v2__decision{align-items:stretch}.program-overview-v2__decision .button{width:100%;justify-content:center}.program-phase-two__competence{width:min(100%,20rem)}.teacher-voices--carousel{padding:5.5rem 0}.teacher-voices--carousel .teacher-voices__head{align-items:flex-start;flex-direction:column}.teacher-voices--carousel .teacher-voice-card{flex-basis:92%;padding:1.55rem}.teacher-voices--carousel .teacher-voice-card__person img,.teacher-voices--carousel .teacher-voice-card__avatar{width:6.4rem;height:6.4rem;flex-basis:6.4rem}.teacher-voices--carousel .teacher-voice-card blockquote{font-size:1.05rem}.faculty--coaches .faculty__grid--four{grid-template-columns:1fr}.session-strip__weeks{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:.55rem}.session-strip__summary{grid-template-columns:1fr}.professional-proof__grid{grid-template-columns:1fr}.nsm-chain{align-items:stretch;flex-direction:column}.nsm-chain__arrow{transform:rotate(90deg);text-align:center}.comparison-table--v2 .comparison-table__head{display:none}.comparison-table--v2 .comparison-row{display:grid;grid-template-columns:1fr;padding:1rem;border:1px solid rgba(8,38,63,.12);border-radius:.8rem;margin-bottom:.75rem;background:#fff}.comparison-table--v2 .comparison-row>span{padding:.45rem 0!important;border:0!important}.comparison-table--v2 .comparison-row__label{font-weight:800;color:#08263f}.comparison-table--v2 .comparison-row__standard:before{content:"Insight-first: ";font-weight:800;color:#6d6e71}.comparison-table--v2 .comparison-row__nsm:before{content:"NSM: ";font-weight:800;color:#1d6292}.final-cta__actions{align-items:stretch;flex-direction:column}.final-cta__actions .button{width:100%;justify-content:center}}


/* ==========================================================================
   v131 — FIRST COORDINATED VISUAL REFINEMENT
   Targets the nine staging issues reported after the v130 full-page rebuild.
   Staging / redesign stylesheet only.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1–2. HERO
   Keep the program-name eyebrow on one line and give the expanded hero
   content enough real vertical space instead of relying on the old fixed
   composition height.
   -------------------------------------------------------------------------- */
.hero--home {
  min-height: 0;
}

.hero__inner {
  min-height: 46.737rem;
  padding-bottom: 6.5rem;
}

.hero__program-name {
  display: block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
  font-size: clamp(.68rem, .82vw, .78rem);
  letter-spacing: .12em;
}

/* --------------------------------------------------------------------------
   3. PROGRAM SNAPSHOT / ELIGIBILITY
   Preserve the current NSM visual language, but make this feel like a premium
   bridge out of the hero instead of a plain utility table.
   -------------------------------------------------------------------------- */
.program-snapshot {
  position: relative;
  isolation: isolate;
  padding: 2.4rem 0 2.7rem;
  background:
    radial-gradient(circle at 10% 10%, rgba(59,157,224,.08), transparent 21rem),
    linear-gradient(180deg, #f7fafc 0%, #ffffff 100%);
  border-bottom: 1px solid rgba(8,38,63,.08);
  overflow: hidden;
}

.program-snapshot > .container {
  padding-top: 0;
  padding-bottom: 0;
}

.program-snapshot__facts {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .85rem;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.program-snapshot__fact {
  position: relative;
  min-width: 0;
  min-height: 8rem;
  padding: 1.35rem 1.25rem 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(8,38,63,.10) !important;
  border-radius: 1rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 .55rem 1.6rem rgba(8,38,63,.055);
}

.program-snapshot__fact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .24rem;
  background: linear-gradient(180deg, #1d6292, #59a8df);
}

.program-snapshot__fact:nth-child(2)::before { background: linear-gradient(180deg,#59a8df,#8dc63f); }
.program-snapshot__fact:nth-child(3)::before { background: linear-gradient(180deg,#8dc63f,#f7941d); }
.program-snapshot__fact:nth-child(4)::before { background: linear-gradient(180deg,#f7941d,#1d6292); }

.program-snapshot__fact span {
  font-size: .7rem;
  letter-spacing: .13em;
}

.program-snapshot__fact strong {
  margin-top: .5rem;
  font-size: 1.08rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.program-snapshot__fact small {
  margin-top: .42rem;
  font-size: .78rem;
  line-height: 1.45;
}

.program-snapshot__eligibility {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 2rem;
  margin-top: 1rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(29,98,146,.13);
  border-radius: 1rem;
  background:
    linear-gradient(90deg, rgba(232,241,250,.92), rgba(247,250,252,.96));
}

.program-snapshot__eligibility > div:first-child {
  min-width: 0;
}

.program-snapshot__eligibility-title {
  display: block;
  margin-bottom: .35rem;
  color: #08263f;
  font-size: .95rem;
}

.program-snapshot__eligibility p {
  display: block;
  margin: 0;
  max-width: 52rem;
  line-height: 1.55;
}

.program-snapshot__links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .65rem;
}

.program-snapshot__links a {
  display: inline-flex;
  align-items: center;
  min-height: 2.65rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(29,98,146,.18);
  border-radius: 999px;
  background: #fff;
  text-decoration: none;
  font-size: .79rem;
  line-height: 1.2;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

@media (hover:hover) and (pointer:fine) {
  .program-snapshot__links a:hover {
    transform: translateY(-1px);
    border-color: rgba(29,98,146,.42);
    background: #fafdff;
  }
}

/* --------------------------------------------------------------------------
   4. PROFESSIONAL GAP
   Add deliberate breathing room between the strong closing statement and CTA.
   -------------------------------------------------------------------------- */
.problem-panel__closing {
  margin-bottom: 1.8rem;
}

.problem-panel__action {
  margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   5. WHAT IS NSM
   Six method points share one row on desktop. Keep the original section
   character, but widen the content rail so six columns remain readable.
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .methodology__grid--unnumbered {
    max-width: 82rem;
    grid-template-columns: repeat(6, minmax(0,1fr));
  }

  .methodology__grid--unnumbered .methodology-item {
    min-width: 0;
    min-height: 15rem;
    padding: 1.5rem 1.15rem 1.15rem;
  }

  .methodology__grid--unnumbered .methodology-item__title {
    min-height: 4.25rem;
    font-size: .96rem;
    overflow-wrap: anywhere;
  }

  .methodology__grid--unnumbered .methodology-item__copy {
    font-size: .78rem;
    line-height: 1.46;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .methodology__grid--unnumbered {
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0,1fr));
  }

  .methodology__grid--unnumbered .methodology-item:nth-child(3n) {
    border-right: 0;
  }

  .methodology__grid--unnumbered .methodology-item {
    min-width: 0;
  }
}

/* --------------------------------------------------------------------------
   6. NSM ADVANTAGE HEADING
   Let the title breathe horizontally instead of forcing an unnecessarily
   narrow multi-line stack.
   -------------------------------------------------------------------------- */
.advantage__header {
  max-width: 68rem;
}

.advantage__header .section-title {
  max-width: 26ch;
}

/* --------------------------------------------------------------------------
   7. STUDENT-AGAIN BANNER
   Separate it from Transformation and align its outer width with the audience
   / “Designed for Experienced Professionals…” content rail.
   -------------------------------------------------------------------------- */
.student-banner {
  padding: 3rem 0 .75rem;
}

.student-banner > .container,
.student-banner__inner {
  max-width: var(--container-content);
}

.student-banner__inner {
  width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-content));
  margin-inline: auto;
  padding: 2.3rem 2.6rem !important;
  box-shadow: 0 .65rem 2rem rgba(8,38,63,.055);
}

/* --------------------------------------------------------------------------
   8. PROGRAM OVERVIEW
   Recompose the section as one designed journey. Most importantly, every grid
   child can shrink, every long curriculum string can wrap, and the module
   tables become real cards rather than bare text columns.
   -------------------------------------------------------------------------- */
.program-overview-v2 {
  position: relative;
  isolation: isolate;
  padding: 8rem 0 7.5rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 3%, rgba(59,157,224,.07), transparent 24rem),
    linear-gradient(180deg, #ffffff 0%, #fbfdfe 52%, #ffffff 100%);
}

.program-overview-v2 > .container,
.program-overview-v2__head,
.program-overview-v2__head > *,
.program-overview-v2__facts,
.program-overview-v2__fact,
.program-journey,
.program-journey *,
.program-weekly,
.program-weekly__grid,
.program-weekly__item,
.program-curriculum,
.program-curriculum__head,
.program-area,
.program-area > *,
.program-area__modules,
.program-module,
.program-module *,
.program-overview-v2__decision,
.program-phase-two,
.program-phase-two > *,
.program-phase-two__details,
.program-phase-two__details > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.program-overview-v2 :is(h2,h3,h4,h5,p,li,strong,span,a,summary) {
  overflow-wrap: break-word;
  word-break: normal;
}

.program-overview-v2__head {
  position: relative;
  grid-template-columns: minmax(0,1.08fr) minmax(20rem,.92fr);
  gap: 3.5rem;
  padding-bottom: 2.7rem;
}

.program-overview-v2__head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, #1d6292 0 22%, rgba(29,98,146,.12) 22% 100%);
}

.program-overview-v2__head .section-title {
  max-width: 18ch;
}

.program-overview-v2__lead {
  max-width: 48rem;
}

.program-overview-v2__facts {
  gap: .65rem;
  border: 0;
}

.program-overview-v2__fact {
  min-height: 7rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(8,38,63,.11);
  border-radius: .85rem;
  background: #fff;
  box-shadow: 0 .35rem 1.1rem rgba(8,38,63,.04);
}

.program-journey {
  position: relative;
  margin-top: 3.4rem;
  padding: 2.5rem;
  overflow: hidden;
  border: 1px solid rgba(29,98,146,.10);
  border-radius: 1.5rem;
  background:
    linear-gradient(118deg, rgba(232,241,250,.96) 0%, rgba(247,250,252,.98) 56%, rgba(238,247,223,.72) 100%);
  box-shadow: 0 .8rem 2.2rem rgba(8,38,63,.045);
}

.program-journey::after {
  content: "";
  position: absolute;
  right: -5rem;
  bottom: -7rem;
  width: 17rem;
  height: 17rem;
  border: 1px solid rgba(141,198,63,.16);
  border-radius: 50%;
  box-shadow:
    0 0 0 2.5rem rgba(141,198,63,.035),
    0 0 0 5rem rgba(141,198,63,.02);
  pointer-events: none;
}

.program-journey__labels,
.program-journey__rail,
.program-journey__caption {
  position: relative;
  z-index: 1;
}

.program-journey__phase strong {
  color: #0d456b;
}

.program-weekly {
  margin-top: 3.6rem;
}

.program-weekly > h3 {
  color: #08263f;
}

.program-weekly__grid {
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .85rem;
  margin-top: 1.3rem;
  border: 0;
  background: transparent;
}

.program-weekly__item {
  position: relative;
  min-height: 9.2rem;
  padding: 1.25rem 1.2rem;
  overflow: hidden;
  border: 1px solid rgba(8,38,63,.10);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 .35rem 1.25rem rgba(8,38,63,.04);
}

.program-weekly__item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: .2rem;
  background: linear-gradient(90deg,#1d6292,#59a8df);
}

.program-weekly__item:nth-child(2)::before { background: linear-gradient(90deg,#59a8df,#8dc63f); }
.program-weekly__item:nth-child(3)::before { background: linear-gradient(90deg,#8dc63f,#f7941d); }
.program-weekly__item:nth-child(4)::before { background: linear-gradient(90deg,#f7941d,#1d6292); }
.program-weekly__item:nth-child(5)::before { background: linear-gradient(90deg,#1d6292,#8dc63f); }

.program-weekly__item strong {
  display: block;
  font-size: .95rem;
}

.program-weekly__item p {
  font-size: .82rem;
  overflow-wrap: anywhere;
}

.program-curriculum {
  margin-top: 5.2rem;
}

.program-curriculum__head {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: end;
  gap: 1rem 2rem;
  padding: 0 0 1.35rem;
}

.program-curriculum__head .eyebrow {
  align-self: center;
}

.program-curriculum__head h3 {
  max-width: 100%;
  margin: 0;
  font-size: clamp(1.7rem, 2.7vw, 2.45rem);
  line-height: 1.08;
  text-align: right;
}

.program-area {
  position: relative;
  display: grid;
  grid-template-columns: minmax(12.5rem,.31fr) minmax(0,1fr);
  gap: 1.4rem;
  margin-top: 1.1rem;
  padding: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(8,38,63,.10);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 .45rem 1.6rem rgba(8,38,63,.035);
}

.program-area + .program-area {
  margin-top: 1rem;
}

.program-area::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .24rem;
  background: #1d6292;
}

.program-area:nth-of-type(2)::before { background:#59a8df; }
.program-area:nth-of-type(3)::before { background:#8dc63f; }
.program-area:nth-of-type(4)::before { background:#f7941d; }
.program-area:nth-of-type(5)::before { background:#a05ac8; }
.program-area:nth-of-type(6)::before { background:#1d6292; }

.program-area__heading {
  align-self: stretch;
  padding: 1rem 1.1rem;
  border-radius: .9rem;
  background: linear-gradient(150deg,#f3f8fb,#eef4f8);
}

.program-area__heading span {
  font-size: .7rem;
}

.program-area__heading h4 {
  margin-top: .55rem;
  font-size: 1.32rem;
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.program-area__modules {
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: .85rem;
}

.program-module {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.15rem 1.2rem .85rem;
  overflow: hidden;
  border: 1px solid rgba(8,38,63,.09);
  border-radius: .95rem;
  background: #fcfeff;
}

.program-module__number {
  color: #1d6292;
}

.program-module h5 {
  min-height: 3.25rem;
  margin: .45rem 0 .9rem;
  font-size: 1.04rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.program-module__details {
  margin-top: auto;
  border-top: 1px solid rgba(8,38,63,.10);
}

.program-module__details summary {
  min-width: 0;
  padding: .85rem 0 .2rem;
}

.program-module__show,
.program-module__hide {
  min-width: 0;
  overflow-wrap: anywhere;
}

.program-module__symbol {
  flex: 0 0 auto;
}

.program-module__expanded {
  min-width: 0;
  padding: .75rem 0 .45rem;
}

.program-module__expanded > div {
  min-width: 0;
  padding: .85rem;
  border-radius: .7rem;
  background: #f4f8fb;
}

.program-module__expanded p {
  overflow-wrap: anywhere;
}

.program-overview-v2__decision {
  margin-top: 3.4rem;
  padding: 2.2rem;
  border: 1px solid rgba(8,38,63,.10);
  border-radius: 1rem;
  background: #f7fafc;
}

.program-phase-two {
  gap: 3rem;
  margin-top: 4.5rem;
  padding: 3.2rem;
  border: 1px solid rgba(22,65,95,.12);
  border-top: .24rem solid #16415f;
  border-radius: 1.35rem;
  background: linear-gradient(145deg,#f8fbfd,#eef4f8 58%,#ffffff);
  box-shadow: 0 .6rem 2rem rgba(8,38,63,.04);
}

.program-phase-two__visual h3 {
  max-width: 18ch;
}

.program-phase-two__competence {
  overflow: visible;
}

.program-phase-two__orbit {
  max-width: 7.5rem;
  overflow-wrap: anywhere;
}

.program-phase-two__orbit--2 { right: 1%; }
.program-phase-two__orbit--3 { right: 5%; }
.program-phase-two__orbit--4 { left: 5%; }
.program-phase-two__orbit--5 { left: 1%; }

.program-phase-two__details {
  align-content: start;
  padding-top: .5rem;
}

.program-phase-two__details > div:first-child {
  padding: 1.35rem 1.45rem;
  border: 1px solid rgba(8,38,63,.09);
  border-radius: 1rem;
  background: #fff;
}

.program-phase-two__details li {
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.program-phase-two__ending {
  padding: 1.4rem 1.5rem;
}

/* --------------------------------------------------------------------------
   9. LIVE LEARNING
   Reduce the long empty tail after the compact 12-session treatment.
   -------------------------------------------------------------------------- */
.community--v2 {
  padding-bottom: 4.5rem;
}

/* --------------------------------------------------------------------------
   TABLET REFINEMENT
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero__inner {
    min-height: 0;
    padding-bottom: 5.5rem;
  }

  .hero__program-name {
    font-size: clamp(.62rem, 1.05vw, .72rem);
    letter-spacing: .09em;
  }

  .program-snapshot {
    padding-block: 2rem 2.2rem;
  }

  .program-snapshot__facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .program-snapshot__eligibility {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .program-snapshot__links {
    justify-content: flex-start;
  }

  .student-banner {
    padding-top: 2.5rem;
  }

  .student-banner__inner {
    width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-content));
  }

  .program-overview-v2 {
    padding-block: 6.5rem;
  }

  .program-overview-v2__head {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .program-overview-v2__facts {
    grid-template-columns: repeat(4,minmax(0,1fr));
  }

  .program-journey {
    padding: 1.8rem;
  }

  .program-journey__labels,
  .program-journey__rail {
    grid-template-columns: 60fr 25fr 15fr;
  }

  .program-journey__weeks span {
    width: 1.35rem;
    height: 1.35rem;
    font-size: .58rem;
  }

  .program-weekly__grid {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .program-weekly__item:nth-child(4),
  .program-weekly__item:nth-child(5) {
    min-height: 8.2rem;
  }

  .program-curriculum__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .program-curriculum__head h3 {
    text-align: left;
  }

  .program-area {
    grid-template-columns: 1fr;
    gap: .9rem;
  }

  .program-area__heading {
    padding: 1rem 1.1rem;
  }

  .program-area__modules {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .program-module h5 {
    min-height: 0;
  }

  .program-phase-two {
    grid-template-columns: 1fr;
    padding: 2.4rem;
  }

  .program-phase-two__visual {
    max-width: 34rem;
    margin-inline: auto;
  }

  .program-phase-two__details {
    width: 100%;
  }

  .community--v2 {
    padding-bottom: 4rem;
  }
}

/* --------------------------------------------------------------------------
   MOBILE REFINEMENT
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .hero__inner {
    min-height: 0;
    padding-bottom: 5rem;
  }

  .hero__program-name {
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
    font-size: clamp(.56rem, 2vw, .68rem);
    letter-spacing: .055em;
  }

  .program-snapshot {
    padding: 1.6rem 0 2rem;
  }

  .program-snapshot__facts {
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
  }

  .program-snapshot__fact {
    min-height: 8.4rem;
    padding: 1.15rem 1rem;
    border: 1px solid rgba(8,38,63,.10) !important;
  }

  .program-snapshot__fact strong {
    font-size: 1.5rem;
  }

  .program-snapshot__fact span {
    font-size: 1rem;
  }

  .program-snapshot__fact small {
    font-size: 1.15rem;
  }

  .program-snapshot__eligibility {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: .8rem;
    padding: 1.35rem;
  }

  .program-snapshot__eligibility-title {
    font-size: 1.45rem;
  }

  .program-snapshot__eligibility p {
    font-size: 1.35rem;
  }

  .program-snapshot__links {
    justify-content: flex-start;
  }

  .program-snapshot__links a {
    min-height: 4rem;
    padding: .85rem 1.05rem;
    font-size: 1.2rem;
  }

  .problem-panel__closing {
    margin-bottom: 2.4rem;
  }

  .methodology__grid--unnumbered {
    grid-template-columns: 1fr;
  }

  .advantage__header .section-title {
    max-width: 100%;
  }

  .student-banner {
    padding: 2.5rem 0 .5rem;
  }

  .student-banner__inner {
    width: min(calc(100% - (var(--page-gutter) * 2)), var(--container-content));
    padding: 2rem !important;
  }

  .program-overview-v2 {
    padding: 5.5rem 0;
    overflow: hidden;
  }

  .program-overview-v2__head {
    padding-bottom: 2.2rem;
  }

  .program-overview-v2__head .section-title {
    max-width: 100%;
  }

  .program-overview-v2__facts {
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
  }

  .program-overview-v2__fact {
    min-height: 8.4rem;
    padding: 1.15rem 1rem;
  }

  .program-overview-v2__fact span {
    font-size: 1rem;
  }

  .program-overview-v2__fact strong {
    font-size: 1.45rem;
  }

  .program-overview-v2__fact small {
    font-size: 1.1rem;
  }

  .program-journey {
    margin-top: 2.5rem;
    padding: 1.8rem;
  }

  .program-journey::before {
    padding: 1.2rem 1.35rem !important;
    border: 0 !important;
    border-radius: .9rem;
    background: #fff;
    box-shadow: inset .24rem 0 0 #1d6292;
    font-size: 1.35rem;
  }

  .program-journey__caption {
    margin-top: 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }

  .program-weekly {
    margin-top: 3rem;
  }

  .program-weekly__grid {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .program-weekly__item {
    min-height: 0;
    padding: 1.55rem;
  }

  .program-weekly__item strong {
    font-size: 1.5rem;
  }

  .program-weekly__item p {
    font-size: 1.3rem;
  }

  .program-curriculum {
    margin-top: 4rem;
  }

  .program-curriculum__head {
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: .8rem;
  }

  .program-curriculum__head h3 {
    text-align: left;
    font-size: 2.8rem;
    line-height: 1.12;
  }

  .program-area {
    display: grid;
    grid-template-columns: 1fr;
    gap: .8rem;
    margin-top: 1rem;
    padding: 1rem;
  }

  .program-area__heading {
    padding: 1.3rem;
  }

  .program-area__heading span {
    font-size: 1.05rem;
  }

  .program-area__heading h4 {
    font-size: 1.75rem;
  }

  .program-area__modules {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .program-module {
    padding: 1.45rem 1.35rem 1rem;
  }

  .program-module__number {
    font-size: 1.05rem;
  }

  .program-module h5 {
    min-height: 0;
    font-size: 1.55rem;
    line-height: 1.35;
  }

  .program-module__details summary {
    font-size: 1.3rem;
  }

  .program-module__expanded {
    gap: .75rem;
  }

  .program-module__expanded strong {
    font-size: 1.05rem;
  }

  .program-module__expanded p {
    font-size: 1.3rem;
    line-height: 1.55;
  }

  .program-overview-v2__decision {
    padding: 1.5rem;
  }

  .program-phase-two {
    gap: 2rem;
    margin-top: 3.5rem;
    padding: 1.6rem;
  }

  .program-phase-two__visual h3 {
    max-width: 100%;
    font-size: 2.5rem;
  }

  .program-phase-two__visual > p,
  .program-phase-two__details li,
  .program-phase-two__ending p {
    font-size: 1.3rem;
  }

  .program-phase-two__competence {
    width: min(100%, 27rem);
  }

  .program-phase-two__core {
    font-size: 1.2rem;
  }

  .program-phase-two__orbit {
    max-width: 8rem;
    font-size: .95rem;
    line-height: 1.25;
  }

  .program-phase-two__details > div:first-child,
  .program-phase-two__ending {
    padding: 1.4rem;
  }

  .community--v2 {
    padding-bottom: 3.5rem;
  }
}

/* Very small phones: retain the one-line hero eyebrow without causing x-scroll. */
@media (max-width: 370px) {
  .hero__program-name {
    font-size: .53rem;
    letter-spacing: .035em;
  }

  .program-snapshot__facts,
  .program-overview-v2__facts {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================================
   v132 — VISUAL REFINEMENT BATCH 2
   ========================================================================== */

/* 1. Under-hero logistics cards:
   use ONE HeartMind blue gradient accent on every card. */
.program-snapshot__fact {
  border-color: rgba(29,98,146,.16) !important;
}

.program-snapshot__fact::before,
.program-snapshot__fact:nth-child(2)::before,
.program-snapshot__fact:nth-child(3)::before,
.program-snapshot__fact:nth-child(4)::before {
  background: linear-gradient(180deg, #1d6292 0%, #59a8df 100%) !important;
}

/* 2. What Is NSM:
   increase the six-card/table typography without losing the one-row desktop layout. */
@media (min-width: 1200px) {
  .methodology__grid--unnumbered .methodology-item__title {
    font-size: 1.04rem;
    line-height: 1.25;
  }

  .methodology__grid--unnumbered .methodology-item__copy {
    font-size: .88rem;
    line-height: 1.5;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .methodology__grid--unnumbered .methodology-item__title {
    font-size: 1.08rem;
    line-height: 1.26;
  }

  .methodology__grid--unnumbered .methodology-item__copy {
    font-size: .94rem;
    line-height: 1.5;
  }
}

/* 3. Header CTA:
   the longer Apply label must live INSIDE its pill, never hang outside it. */
@media (min-width: 1024px) {
  .site-nav--cta-pair {
    gap: .55rem;
  }

  .site-nav--cta-pair .site-nav__apply {
    width: auto !important;
    min-width: 10.7rem !important;
    max-width: none;
    padding-inline: 1rem !important;
    white-space: nowrap;
    text-align: center;
    line-height: 1.1;
    flex: 0 0 auto;
  }

  .site-nav--cta-pair .site-nav__book {
    width: auto !important;
    min-width: 9.6rem !important;
    max-width: none;
    padding-inline: .95rem !important;
    white-space: nowrap;
    text-align: center;
    flex: 0 0 auto;
  }
}

@media (min-width: 1024px) and (max-width: 1240px) {
  .site-nav--cta-pair .site-nav__apply {
    min-width: 9.8rem !important;
    font-size: .74rem !important;
    padding-inline: .72rem !important;
  }

  .site-nav--cta-pair .site-nav__book {
    min-width: 8.7rem !important;
    font-size: .74rem !important;
    padding-inline: .72rem !important;
  }
}

/* 4. Advantage outcome chain:
   keep all five states on one horizontal line on desktop. */
@media (min-width: 1024px) {
  .advantage .nsm-chain {
    flex-wrap: nowrap;
    width: 100%;
    gap: .42rem;
  }

  .advantage .nsm-chain__step {
    flex: 1 1 0;
    min-width: 0;
    padding: .72rem .62rem;
    white-space: nowrap;
    font-size: .78rem;
  }

  .advantage .nsm-chain__arrow {
    flex: 0 0 auto;
  }
}

/* 5. Live Learning:
   remove the unnecessary large tail beneath the strip. */
.community--v2 {
  padding-bottom: 1.6rem !important;
}

@media (max-width: 1023px) {
  .community--v2 {
    padding-bottom: 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .community--v2 {
    padding-bottom: 1rem !important;
  }
}

/* 6. Everything Included duration:
   never split “6–12” over two lines. */
.everything__months {
  display: inline-block;
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

/* 7. Founding Cohort:
   visually define the start of this dark section. */
.founding {
  border-top: 1px solid rgba(145,205,244,.42);
}

/* 8. Application process:
   Restore the original visual progression. The source design used connecting
   arrows and equal-height cards; the Sept redesign notes never requested their
   removal. */
.application__steps {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 2rem !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.application-card {
  position: relative;
  width: auto !important;
  min-width: 0;
  min-height: 13rem !important;
  height: 100%;
  padding: 1.45rem 1rem;
  justify-content: center;
}

@media (min-width: 1100px) {
  .application-card:not(:last-child)::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: -1.48rem;
    transform: translate(50%, -50%);
    z-index: 3;
    color: rgba(29,98,146,.52);
    font-family: var(--font-ui);
    font-size: 1.55rem;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
  }
}

@media (min-width: 768px) and (max-width: 1099px) {
  .application__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .application-card {
    min-height: 11.5rem !important;
  }
}

@media (max-width: 767px) {
  .application__steps {
    grid-template-columns: 1fr !important;
    gap: 2.2rem !important;
  }

  .application-card {
    min-height: 0 !important;
    padding: 1.7rem 1.3rem;
  }

  .application-card:not(:last-child)::after {
    content: "↓";
    position: absolute;
    left: 50%;
    bottom: -1.68rem;
    transform: translateX(-50%);
    color: rgba(29,98,146,.55);
    font-size: 1.4rem;
    line-height: 1;
  }
}

/* 9. Hero:
   v131 solved crowding but added more bottom room than needed. */
.hero__inner {
  padding-bottom: 4.55rem;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hero__inner {
    padding-bottom: 4rem;
  }
}

@media (max-width: 767px) {
  .hero__inner {
    padding-bottom: 3.6rem;
  }
}

/* 10. Program Overview:
   strict anti-overflow rules + ONE consistent HeartMind blue-gradient accent.
   No multicolour card borders. */
.program-overview-v2,
.program-overview-v2 .container,
.program-overview-v2__head,
.program-overview-v2__facts,
.program-overview-v2__fact,
.program-journey,
.program-journey__labels,
.program-journey__phase,
.program-weekly,
.program-weekly__grid,
.program-weekly__item,
.program-curriculum,
.program-curriculum__head,
.program-area,
.program-area__heading,
.program-area__modules,
.program-module,
.program-module__details,
.program-module__expanded,
.program-module__expanded > div,
.program-phase-two,
.program-phase-two__visual,
.program-phase-two__details,
.program-phase-two__details > div {
  min-width: 0 !important;
  max-width: 100% !important;
}

.program-overview-v2 :is(
  h2,h3,h4,h5,p,li,strong,small,span,summary,a
) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere !important;
  word-break: normal;
  hyphens: auto;
}

.program-overview-v2__facts {
  overflow: visible;
}

.program-overview-v2__fact {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(29,98,146,.17) !important;
}

.program-overview-v2__fact::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: .22rem;
  background: linear-gradient(180deg,#1d6292 0%,#59a8df 100%);
}

.program-overview-v2__fact strong,
.program-overview-v2__fact small {
  display: block;
  overflow-wrap: anywhere !important;
}

/* Weekly cards: one blue-gradient language, not individual colours. */
.program-weekly__item {
  overflow: hidden;
  border-color: rgba(29,98,146,.15) !important;
}

.program-weekly__item::before,
.program-weekly__item:nth-child(2)::before,
.program-weekly__item:nth-child(3)::before,
.program-weekly__item:nth-child(4)::before,
.program-weekly__item:nth-child(5)::before {
  background: linear-gradient(90deg,#1d6292 0%,#59a8df 100%) !important;
}

.program-weekly__item strong,
.program-weekly__item p {
  width: 100%;
  white-space: normal;
  overflow-wrap: anywhere !important;
}

/* Core areas: same HeartMind gradient stripe on EVERY area. */
.program-area {
  overflow: hidden;
  border-color: rgba(29,98,146,.15) !important;
}

.program-area::before,
.program-area:nth-of-type(2)::before,
.program-area:nth-of-type(3)::before,
.program-area:nth-of-type(4)::before,
.program-area:nth-of-type(5)::before,
.program-area:nth-of-type(6)::before {
  background: linear-gradient(180deg,#1d6292 0%,#59a8df 100%) !important;
}

.program-area__heading h4,
.program-module h5,
.program-module__expanded p {
  width: 100%;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

/* Module cards themselves also use the same subtle blue edge. */
.program-module {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(29,98,146,.14) !important;
}

.program-module::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: .17rem;
  background: linear-gradient(90deg,#1d6292 0%,#59a8df 100%);
}

.program-module__details summary {
  display: flex;
  align-items: center;
  gap: .55rem;
  width: 100%;
}

.program-module__show,
.program-module__hide {
  min-width: 0;
  flex: 1 1 auto;
}

.program-module__symbol {
  flex: 0 0 auto;
}

/* Phase Two: preserve the liked design, but contain every label and list item. */
.program-phase-two {
  overflow: hidden;
}

.program-phase-two__visual,
.program-phase-two__competence,
.program-phase-two__details {
  min-width: 0;
}

.program-phase-two__orbit {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  line-height: 1.2;
}

.program-phase-two__details ul {
  min-width: 0;
  max-width: 100%;
}

.program-phase-two__details li {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere !important;
}

/* Desktop module widths: keep both modules usable rather than letting long
   curriculum strings push a card outside the parent. */
@media (min-width: 1024px) {
  .program-area__modules {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .program-module {
    width: 100%;
  }
}

/* Tablet: keep typography readable and prevent the two-column curriculum
   from becoming an overflow trap. */
@media (min-width: 768px) and (max-width: 1023px) {
  .program-area__modules {
    grid-template-columns: 1fr !important;
  }

  .program-module h5 {
    font-size: 1.1rem;
  }

  .program-module__expanded p {
    font-size: .92rem;
  }
}

/* Mobile: no horizontal spill from long curriculum/facilitation terms. */
@media (max-width: 767px) {
  .program-overview-v2 {
    overflow-x: clip;
  }

  .program-overview-v2__facts {
    width: 100%;
  }

  .program-overview-v2__fact,
  .program-weekly__item,
  .program-area,
  .program-module,
  .program-phase-two {
    width: 100%;
  }

  .program-area__modules {
    grid-template-columns: 1fr !important;
  }

  .program-module h5 {
    font-size: 1.48rem;
  }

  .program-module__expanded p {
    font-size: 1.25rem;
  }
}


/* ==========================================================================
   v133 — SMALL VISUAL POLISH
   ========================================================================== */

/* 1. Advantage outcome chain:
   give “Lasting transformation” enough width while keeping the entire
   sequence on one row and every label inside its pill. */
@media (min-width: 1024px) {
  .advantage .nsm-chain {
    flex-wrap: nowrap !important;
    gap: .42rem;
  }

  .advantage .nsm-chain__step {
    min-width: 0;
    white-space: nowrap;
    overflow: visible;
  }

  /* 7th child = fourth pill, because arrows are interleaved between pills. */
  .advantage .nsm-chain__step:nth-child(7) {
    flex: 1.55 1 0;
    min-width: 10.75rem;
    padding-inline: .85rem;
  }

  .advantage .nsm-chain__step:not(:nth-child(7)) {
    flex: 1 1 0;
  }
}

/* 2. Application process:
   create a wider, cleaner breathing gap between cards and position each arrow
   precisely in the centre of that gap instead of letting it hug the next card. */
@media (min-width: 1100px) {
  .application__steps {
    gap: 2.7rem !important;
  }

  .application-card:not(:last-child)::after {
    left: calc(100% + 1.35rem);
    right: auto;
    transform: translate(-50%, -50%);
    font-size: 1.35rem;
    opacity: .9;
  }
}


/* ==========================================================================
   v134 — OUTCOME CHAIN WIDTH BALANCE
   ========================================================================== */

/* Keep all five outcome pills on one line while giving the two longest
   labels enough dedicated width. */
@media (min-width: 1024px) {
  .advantage .nsm-chain {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .38rem;
    width: 100%;
  }

  .advantage .nsm-chain__step {
    min-width: 0;
    padding-inline: .58rem;
    white-space: nowrap;
    text-align: center;
    font-size: .76rem;
  }

  /* Felt experience */
  .advantage .nsm-chain__step:nth-child(1) {
    flex: 1.35 1 0;
    min-width: 8.9rem;
    padding-inline: .78rem;
  }

  /* Lasting transformation */
  .advantage .nsm-chain__step:nth-child(7) {
    flex: 1.65 1 0;
    min-width: 10.9rem;
    padding-inline: .82rem;
  }

  /* Trust, Engagement, Referrals */
  .advantage .nsm-chain__step:nth-child(3),
  .advantage .nsm-chain__step:nth-child(5),
  .advantage .nsm-chain__step:nth-child(9) {
    flex: .95 1 0;
  }

  .advantage .nsm-chain__arrow {
    flex: 0 0 auto;
  }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  .advantage .nsm-chain__step {
    font-size: .7rem;
    padding-inline: .45rem;
  }

  .advantage .nsm-chain__step:nth-child(1) {
    min-width: 8.1rem;
  }

  .advantage .nsm-chain__step:nth-child(7) {
    min-width: 9.8rem;
  }
}


/* ==========================================================================
   v135 — OUTCOME CHAIN PERMANENT LAYOUT FIX
   Root cause: the chain was being forced into the old 41.533rem content width.
   Give the redesigned chain its proper width and use an explicit 9-column grid
   instead of repeatedly rebalancing flex widths.
   ========================================================================== */

.advantage__after--v2 {
  max-width: 64rem;
  width: 100%;
}

@media (min-width: 1024px) {
  .advantage .nsm-chain {
    display: grid !important;
    grid-template-columns:
      minmax(8.7rem, 1.25fr)
      1.1rem
      minmax(5rem, .72fr)
      1.1rem
      minmax(6.8rem, .9fr)
      1.1rem
      minmax(10.8rem, 1.55fr)
      1.1rem
      minmax(6.2rem, .85fr);
    align-items: center;
    justify-content: stretch;
    gap: .3rem;
    width: 100%;
  }

  .advantage .nsm-chain__step {
    width: 100%;
    min-width: 0 !important;
    max-width: none;
    padding: .72rem .7rem;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
    font-size: .78rem;
    line-height: 1.15;
    text-align: center;
  }

  .advantage .nsm-chain__step:nth-child(1),
  .advantage .nsm-chain__step:nth-child(3),
  .advantage .nsm-chain__step:nth-child(5),
  .advantage .nsm-chain__step:nth-child(7),
  .advantage .nsm-chain__step:nth-child(9) {
    flex: none !important;
    min-width: 0 !important;
  }

  .advantage .nsm-chain__arrow {
    width: 1.1rem;
    min-width: 1.1rem;
    text-align: center;
    flex: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1120px) {
  .advantage .nsm-chain {
    grid-template-columns:
      minmax(8.2rem, 1.2fr)
      .9rem
      minmax(4.7rem, .7fr)
      .9rem
      minmax(6.2rem, .86fr)
      .9rem
      minmax(10rem, 1.5fr)
      .9rem
      minmax(5.8rem, .82fr);
    gap: .22rem;
  }

  .advantage .nsm-chain__step {
    font-size: .72rem;
    padding-inline: .5rem;
  }

  .advantage .nsm-chain__arrow {
    width: .9rem;
    min-width: .9rem;
  }
}


/* ==========================================================================
   v137 — MOBILE TYPOGRAPHY + CONTAINMENT PASS
   User-requested mobile-only refinements. Desktop/tablet intentionally unchanged.
   ========================================================================== */
@media (max-width: 767px) {

  /* 1. Hero program-name eyebrow: larger, but still kept on one line. */
  .hero__program-name {
    width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem) !important;
    margin-inline: auto;
    white-space: nowrap !important;
    font-size: .88rem !important;
    line-height: 1.2;
    letter-spacing: .012em !important;
    text-align: center;
  }

  /* 2. Professional Gap main paragraph. */
  .problem__statements--single p,
  .problem__statements p {
    font-size: 1.48rem !important;
    line-height: 1.62 !important;
  }

  /* 3. What Is NSM subheading. */
  .methodology__subhead {
    max-width: 100%;
    font-size: 1.55rem !important;
    line-height: 1.5 !important;
  }

  /* 4. NSM Advantage outcome pills. */
  .advantage .nsm-chain {
    gap: .8rem !important;
  }

  .advantage .nsm-chain__step {
    width: 100%;
    min-width: 0 !important;
    padding: 1rem 1.15rem !important;
    font-size: 1.38rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
  }

  .advantage .nsm-chain__arrow {
    width: 2rem !important;
    min-width: 2rem !important;
    margin-inline: auto;
    font-size: 1.7rem;
    line-height: 1;
  }

  /* 5. Student-again banner heading. */
  .student-banner__inner h2,
  #student-banner-title {
    max-width: 100%;
    font-size: 2.2rem !important;
    line-height: 1.18 !important;
    text-wrap: balance;
  }

  .student-banner__inner p {
    font-size: 1.4rem;
    line-height: 1.58;
  }

  /* 6. Program Overview: stop ugly mid-word wrapping / overflow. */
  .program-overview-v2 {
    overflow-x: clip;
  }

  .program-overview-v2 .container,
  .program-overview-v2__head,
  .program-overview-v2__head > div {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .program-overview-v2__head .section-title,
  #program-overview-title {
    width: 100%;
    max-width: 100% !important;
    font-size: clamp(2.9rem, 9.2vw, 3.5rem) !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .program-overview-v2__lead {
    width: 100%;
    max-width: 100%;
    font-size: 1.45rem !important;
    line-height: 1.6 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  /* Do not let the broad v132 anti-overflow rule break words in this section. */
  .program-overview-v2 :is(h2,h3,h4,h5,p,li,strong,small,span,summary,a) {
    word-break: normal !important;
    hyphens: none !important;
  }

  /* 7. Leading Voices: quote + controls larger on mobile. */
  .teacher-voices--carousel .teacher-voice-card blockquote,
  .teacher-voice-card blockquote {
    font-size: 1.52rem !important;
    line-height: 1.6 !important;
  }

  .teacher-voices--carousel .teacher-voice-card h3 {
    font-size: 1.65rem !important;
    line-height: 1.22;
  }

  .teacher-voices--carousel .teacher-voice-card__person p {
    font-size: 1.15rem !important;
    line-height: 1.42;
  }

  .teacher-voices__controls {
    gap: .9rem;
  }

  .teacher-voices__arrow {
    width: 4rem !important;
    height: 4rem !important;
    flex: 0 0 4rem;
    font-size: 1.75rem !important;
    line-height: 1;
  }

  .teacher-voices__counter {
    font-size: 1.2rem !important;
  }

  /* 8. Live Learning & Community session strip. */
  .session-strip {
    padding: 1.55rem;
  }

  .session-strip__label {
    font-size: 1.55rem !important;
    line-height: 1.35;
  }

  .session-strip__weeks {
    gap: .55rem;
    row-gap: .75rem;
  }

  .session-strip__weeks span {
    min-width: 0;
  }

  .session-strip__weeks b {
    font-size: 1.28rem !important;
    line-height: 1;
  }

  .session-strip__weeks small {
    margin-top: .15rem;
    font-size: .86rem !important;
    line-height: 1;
    letter-spacing: .02em;
  }

  .session-strip__summary {
    gap: .65rem;
    background: transparent;
  }

  .session-strip__summary span {
    border: 1px solid rgba(29,98,146,.12);
    border-radius: .65rem;
    padding: 1rem;
    font-size: 1.3rem !important;
    line-height: 1.48;
  }

  /* 9. Client relationship chain: larger labels + arrows exactly centered. */
  .impact-flow.nsm-chain {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: .65rem !important;
  }

  .impact-flow.nsm-chain .impact-flow__item {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 5.2rem;
    padding: 1rem 1.15rem !important;
    font-size: 1.45rem !important;
    line-height: 1.28 !important;
  }

  .impact-flow.nsm-chain .impact-flow__arrow {
    display: grid !important;
    place-items: center !important;
    justify-self: center !important;
    align-self: center !important;
    width: 2.6rem !important;
    height: 2.2rem;
    margin: 0 auto !important;
    transform: rotate(90deg) !important;
  }

  .impact-flow.nsm-chain .impact-flow__arrow svg,
  .impact-flow.nsm-chain .impact-flow__arrow img {
    width: 2.4rem !important;
    height: auto;
    margin: 0 auto;
  }

  /* 10. Certification Standards heading: clean natural mobile wrapping. */
  .standards__copy-card .section-title,
  #standards-title {
    width: 100%;
    max-width: 100% !important;
    font-size: 3rem !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  /* 10b. FAQ category labels: 1.6x the original .78rem scale. */
  .faq-group__title {
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
    letter-spacing: .08em !important;
  }

  /* 11. Investment: larger readable text + hard containment on mobile. */
  .investment--founding,
  .investment--founding .container,
  .investment--founding .investment-content-grid,
  .investment--founding .investment-pricing-column,
  .investment--founding .investment-pricing-plans,
  .investment--founding .investment-plan,
  .investment--founding .investment-plan__tiers,
  .investment--founding .investment-tier,
  .investment--founding .investment-tier > *,
  .investment--founding .investment-tier__price-wrap {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .investment--founding .investment-plan__head {
    flex-wrap: wrap !important;
    gap: .7rem 1rem;
  }

  .investment--founding .investment-plan__title {
    min-width: 0;
    font-size: 1.72rem !important;
    line-height: 1.18 !important;
  }

  .investment--founding .investment-plan__badge {
    max-width: 100%;
    white-space: normal !important;
    font-size: 1.02rem !important;
    line-height: 1.22;
  }

  .investment--founding .investment-tier {
    grid-template-columns: minmax(0, 1fr) minmax(8.5rem, 9rem) !important;
    row-gap: .7rem !important;
    column-gap: 1.75rem !important;
    align-items: start !important;
  }

  .investment--founding .investment-tier > div:first-child {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .08rem !important;
  }

  .investment--founding .investment-tier__name {
    font-size: 1.32rem !important;
    line-height: 1.3;
    overflow-wrap: normal !important;
  }

  .investment--founding .investment-tier__timing {
    max-width: 100% !important;
    font-size: 1.16rem !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  .investment--founding .investment-tier__price-wrap {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: .15rem !important;
    text-align: right !important;
  }

  .investment--founding .investment-tier__price {
    font-size: 2.55rem !important;
    line-height: 1.02;
    white-space: nowrap !important;
  }

  .investment--founding .investment-tier__note {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-align: right !important;
  }

  .investment--founding .investment-tier__bonus {
    max-width: 100%;
    white-space: normal;
    font-size: .98rem !important;
    line-height: 1.25;
  }

  .investment-logistics,
  .investment-refund,
  .investment-heartmind-note,
  .investment-apply-microcopy {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
  }

  .investment-logistics {
    font-size: 1.3rem !important;
    line-height: 1.52 !important;
  }

  .investment-refund {
    font-size: 1.2rem !important;
    line-height: 1.5;
  }

  .investment-heartmind-note {
    font-size: 1.2rem !important;
    line-height: 1.52;
  }

  .investment-apply-microcopy {
    display: block;
    width: 100%;
    font-size: 1.18rem !important;
    line-height: 1.45;
  }

  .investment--founding .investment-includes__list li {
    font-size: 1.3rem !important;
    line-height: 1.52 !important;
  }

  /* Very narrow phones: retain the two-side pricing composition while
     giving the right side enough width for the price + wrapped note. */
  @media (max-width: 390px) {
    .investment--founding .investment-tier {
      grid-template-columns: minmax(0, 1fr) minmax(8.25rem, 8.75rem) !important;
      row-gap: .65rem !important;
      column-gap: 1.5rem !important;
    }

    .investment--founding .investment-tier__price-wrap {
      width: 100% !important;
      text-align: right !important;
    }
  }

  /* 12. Final decision microcopy. */
  .final-cta__microcopy {
    margin-top: 1.25rem;
    max-width: 100%;
    font-size: 1.35rem !important;
    line-height: 1.55 !important;
  }
}


/* ==========================================================================
   v138 — MOBILE HERO EYEBROW + PROGRAM OVERVIEW STRUCTURAL FIX
   Mobile only. Desktop/tablet remain unchanged.
   ========================================================================== */
@media (max-width: 767px) {

  /* 1. Hero program-name line:
     larger, left-aligned, and allowed to wrap naturally. */
  .hero__program-name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
    font-size: 1.05rem !important;
    line-height: 1.32 !important;
    letter-spacing: .035em !important;
    text-align: left !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  /* 2. Program Overview:
     force the top section into a true mobile stack and restore side padding. */
  .program-overview-v2 {
    overflow-x: clip !important;
  }

  .program-overview-v2 > .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
    box-sizing: border-box !important;
  }

  .program-overview-v2__head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .program-overview-v2__head > div,
  .program-overview-v2__head > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .program-overview-v2__head .eyebrow {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: .75rem;
  }

  .program-overview-v2__head .section-title,
  #program-overview-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(2.65rem, 10.5vw, 3.35rem) !important;
    line-height: 1.06 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .program-overview-v2__lead {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 1.1rem !important;
    font-size: 1.4rem !important;
    line-height: 1.58 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  /* Facts must sit BELOW the title/copy, never beside them on mobile. */
  .program-overview-v2__facts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: .8rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    align-self: stretch !important;
  }

  .program-overview-v2__fact {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 1rem .9rem !important;
  }

  .program-overview-v2__fact span,
  .program-overview-v2__fact strong,
  .program-overview-v2__fact small {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .program-overview-v2__fact span {
    font-size: .9rem !important;
    line-height: 1.25 !important;
  }

  .program-overview-v2__fact strong {
    margin-top: .35rem;
    font-size: 1.32rem !important;
    line-height: 1.25 !important;
  }

  .program-overview-v2__fact small {
    margin-top: .35rem;
    font-size: 1rem !important;
    line-height: 1.4 !important;
  }

  /* Journey/timeline: constrain every child to the mobile content width. */
  .program-journey,
  .program-journey__labels,
  .program-journey__rail,
  .program-journey__caption,
  .program-journey__weeks,
  .program-journey__phase,
  .program-journey__phase > *,
  .program-journey__weeks > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .program-journey {
    display: block !important;
    margin-top: 2.2rem !important;
    padding: 1.35rem !important;
    overflow: hidden !important;
  }

  /* Remove desktop rail geometry on mobile and let the journey read vertically. */
  .program-journey__labels {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .program-journey__phase {
    padding: .95rem 1rem !important;
    border-radius: .75rem;
    background: rgba(255,255,255,.72);
  }

  .program-journey__phase strong,
  .program-journey__phase span,
  .program-journey__phase small {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .program-journey__rail {
    display: none !important;
  }

  .program-journey__weeks {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: .55rem !important;
    margin-top: 1rem !important;
  }

  .program-journey__weeks span {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* The sentence the screenshot showed running beyond the content area. */
  .program-journey__caption {
    display: block !important;
    margin-top: 1.1rem !important;
    padding: 0 !important;
    font-size: 1.22rem !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .program-journey__caption strong,
  .program-journey__caption span {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* Very narrow phones: keep the 2×2 facts but tighten them instead of
   collapsing the title area into a narrow column. */
@media (max-width: 380px) {
  .hero__program-name {
    font-size: .98rem !important;
  }

  .program-overview-v2__facts {
    gap: .65rem !important;
  }

  .program-overview-v2__fact {
    padding: .9rem .75rem !important;
  }

  #program-overview-title,
  .program-overview-v2__head .section-title {
    font-size: 2.55rem !important;
  }

  .program-journey__weeks {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}


/* ==========================================================================
   v139 — MOBILE PROGRAM JOURNEY CLEANUP + DESKTOP FOOTER HEIGHT FIX
   ========================================================================== */

/* The legacy footer banner is hidden in v136. Remove the old minimum height
   that was sized to include that banner, otherwise desktop keeps empty space
   below the real footer content. */
.site-footer {
  min-height: 0 !important;
}

@media (max-width: 767px) {

  /* Remove the old generated desktop-style journey sentence completely.
     v138 already supplies the real mobile phase blocks. */
  .program-journey::before,
  .program-journey:before {
    content: none !important;
    display: none !important;
  }

  /* Make all three real journey phase blocks comfortably readable. */
  .program-journey__labels {
    gap: 1rem !important;
  }

  .program-journey__phase {
    padding: 1.2rem 1.15rem !important;
  }

  .program-journey__phase strong {
    display: block !important;
    margin: 0 0 .45rem !important;
    font-size: 1.5rem !important;
    line-height: 1.24 !important;
    letter-spacing: -.015em;
  }

  .program-journey__phase span {
    display: block !important;
    font-size: 1.24rem !important;
    line-height: 1.52 !important;
  }

  /* Program Overview decision area: buttons stack full-width and the
     secondary Advisor CTA gets a visible light-background treatment. */
  .program-overview-v2__decision {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
    width: 100% !important;
    padding: 1.35rem !important;
  }

  .program-overview-v2__decision .button {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .program-overview-v2__decision .button--secondary {
    background: #fff !important;
    color: #1d6292 !important;
    border: 1.5px solid #1d6292 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .program-overview-v2__decision .button--secondary:visited {
    color: #1d6292 !important;
  }

  .program-overview-v2__decision p {
    margin: .35rem 0 0 !important;
    font-size: 1.15rem !important;
    line-height: 1.5 !important;
  }
}


/* ==========================================================================
   v140 — DESKTOP/TABLET FOOTER BALANCE + TABLET FAQ/EVERYTHING FIXES
   ========================================================================== */

/* Desktop footer: restore enough bottom breathing room after v139 removed
   the obsolete minimum height. */
@media (min-width: 1024px) {
  .site-footer {
    padding-bottom: 4.316rem !important;
  }
}

/* Tablet-only fixes. */
@media (min-width: 768px) and (max-width: 1100px) {

  /* Footer: balance visible top/bottom breathing room on tablet. */
  .site-footer {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }

  /* 1. FAQ questions:
     force the question text column to shrink/wrap instead of pushing
     the + icon or text beyond the viewport. */
  .faq,
  .faq .container,
  .faq__layout,
  .faq-list,
  .faq-item,
  .faq-item h3,
  .faq-question {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .faq-question {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 2rem !important;
    gap: 1rem !important;
    align-items: center !important;
    overflow: hidden;
  }

  .faq-question span:first-child {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .faq-symbol {
    width: 2rem;
    min-width: 2rem;
    justify-self: end;
    text-align: center;
  }

  /* 2. Everything Included:
     preserve the large 6–12 treatment but make it responsive and keep
     the whole duration block completely separate from the included cards. */
  .everything {
    overflow: hidden !important;
  }

  .everything > .container,
  .everything__body,
  .everything__body > *,
  .everything__left,
  .included-grid,
  .included-card {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .everything__title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.15rem, 4.6vw, 3rem) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .everything__body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3rem !important;
    width: 100% !important;
    margin-top: 3.4rem !important;
  }

  .everything__left {
    width: 100% !important;
    min-height: 0 !important;
    padding: .5rem 0 1rem;
    overflow: visible !important;
  }

  .everything__months {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    font-size: clamp(5.25rem, 9.2vw, 7rem) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
    overflow: visible !important;
  }

  .everything__month-label,
  .everything__month-copy {
    width: 100%;
    max-width: 100% !important;
  }

  .included-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
    width: 100% !important;
  }

  .included-card,
  .included-card:nth-child(2),
  .included-card:nth-child(3) {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
  }
}

/* Exact 1024px-class tablets also inherit desktop decorative rules.
   Keep the decorative background behind 6–12 contained inside its block. */
@media (min-width: 1024px) and (max-width: 1100px) {
  .everything__left::before {
    left: 0 !important;
    top: 50% !important;
    width: 17rem !important;
    height: 17rem !important;
    transform: translateY(-50%) !important;
  }

  .everything__bg-star {
    left: 0 !important;
    top: 50% !important;
    width: 18rem !important;
    max-width: 100% !important;
    transform: translateY(-50%) !important;
  }
}


/* ==========================================================================
   v141 — TABLET FAQ STRUCTURAL OVERFLOW FIX
   Root cause: at 1024–1100px the older desktop FAQ two-column rule was still
   winning (27rem intro + 6rem gap + FAQ column), which made the whole section
   wider than the tablet viewport. Force a true single-column tablet layout.
   ========================================================================== */
@media (min-width: 768px) and (max-width: 1100px) {

  .faq {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .faq > .container,
  .faq .container--narrow {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .faq__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2.5rem !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .faq__intro,
  .faq-groups,
  .faq-group,
  .faq-list,
  .faq-item,
  .faq-item h4,
  .faq-question,
  .faq-answer,
  .faq-answer__inner,
  .faq-answer p {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .faq__title,
  .faq__copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  .faq-question {
    grid-template-columns: minmax(0, 1fr) 2rem !important;
    gap: .9rem !important;
    overflow: visible !important;
  }

  .faq-question span:first-child,
  .faq-answer p {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .faq-symbol {
    width: 2rem !important;
    min-width: 2rem !important;
    justify-self: end !important;
  }

  .faq-answer p {
    padding-right: 0 !important;
  }
}


/* ==========================================================================
   v142 — Professional Gap editable image
   ========================================================================== */
.problem-panel__visual--image {
  position: relative;
  overflow: hidden;
  background: #0b2f4b;
}
.problem-panel__visual--image::before,
.problem-panel__visual--image::after {
  content: none !important;
  display: none !important;
}
.problem-panel__visual--image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 1023px) {
  .problem-panel__visual--image img {
    min-height: clamp(16rem, 46vw, 25rem);
  }
}

/* ==========================================================================
   v143 — Professional Gap desktop image crop/layout refinement
   Wider image column gives the landscape teaching photo more horizontal room,
   reducing the forced cover crop without introducing letterboxing.
   ========================================================================== */
@media (min-width: 1180px) {
  .problem-panel {
    width: calc(100% - 2rem) !important;
    max-width: 89rem !important;
    grid-template-columns: minmax(0, 60fr) minmax(0, 40fr) !important;
  }

  .problem-panel__visual--image {
    min-width: 0 !important;
  }

  .problem-panel__visual--image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: none !important;
  }

  .problem-panel__content {
    min-width: 0 !important;
    padding-left: 2.45rem !important;
    padding-right: 2.45rem !important;
  }
}


/* ==========================================================================
   v144 — ORANGE APPLY CTAs + HAMBURGER AT <= 1100px
   ========================================================================== */

/* 1) Every actual Apply CTA uses HeartMind orange.
   Links that jump to Investment are the page's Apply CTAs.
   The final Investment Apply button uses its own selector because it links
   directly to the application page instead of #investment. */
a.button[href="#investment"],
.site-nav__apply,
.investment-table__actions .button--primary {
  background: #F7941D !important;
  border-color: #F7941D !important;
  color: #fff !important;
}

a.button[href="#investment"]:hover,
.site-nav__apply:hover,
.investment-table__actions .button--primary:hover {
  background: #E8830F !important;
  border-color: #E8830F !important;
  color: #fff !important;
}

a.button[href="#investment"]:focus-visible,
.site-nav__apply:focus-visible,
.investment-table__actions .button--primary:focus-visible {
  outline-color: #F7941D !important;
}

/* Preserve the disabled state at Investment while keeping it visually tied
   to the Apply CTA. */
.investment-table__actions .button--disabled {
  opacity: .55 !important;
  cursor: not-allowed !important;
  transform: none !important;
}

/* 2) Switch to the existing hamburger navigation architecture at 1100px
   and below. The existing JS already controls this menu. */
@media (min-width: 1024px) and (max-width: 1100px) {
  :root {
    --header-height: 5.2rem;
    --header-content-height: 5.2rem;
    --header-offset-top: 0rem;
  }

  .site-header__inner {
    width: calc(100% - (var(--page-gutter) * 2)) !important;
    height: var(--header-content-height) !important;
    margin-top: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 1rem !important;
    align-items: center !important;
  }

  .site-logo,
  .site-logo.site-brand {
    position: relative !important;
    z-index: 12 !important;
    justify-self: start !important;
    transform: none !important;
  }

  .mobile-menu-toggle {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    padding: .9rem !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    border-radius: var(--radius-sm) !important;
    background: rgba(5,30,52,.18) !important;
    color: #fff !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: .48rem !important;
    cursor: pointer !important;
    justify-self: end !important;
    position: relative !important;
    z-index: 12 !important;
  }

  .mobile-menu-toggle__line {
    width: 1.8rem !important;
    height: 1px !important;
    background: currentColor !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(1) {
    transform: translateY(.49rem) rotate(45deg) !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(2) {
    opacity: 0 !important;
  }

  .site-header.is-menu-open .mobile-menu-toggle__line:nth-child(3) {
    transform: translateY(-.49rem) rotate(-45deg) !important;
  }

  .mobile-nav-panel {
    display: flex !important;
    position: absolute !important;
    z-index: 11 !important;
    top: calc(var(--header-height) - .15rem) !important;
    left: var(--page-gutter) !important;
    right: var(--page-gutter) !important;
    width: auto !important;
    max-height: calc(100vh - var(--header-height) - 2rem) !important;
    overflow-y: auto !important;
    flex-direction: column !important;
    padding: 1.5rem !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: var(--radius-lg) !important;
    background: rgba(5,30,52,.98) !important;
    box-shadow: var(--shadow-md) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-.75rem) !important;
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition) !important;
  }

  .site-header.is-menu-open .mobile-nav-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  .mobile-nav-panel .site-nav,
  .mobile-nav-panel .site-nav--primary,
  .mobile-nav-panel .site-nav--utility,
  .mobile-nav-panel .site-nav--cta-pair {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    justify-self: stretch !important;
  }

  .mobile-nav-panel .site-nav--utility,
  .mobile-nav-panel .site-nav--cta-pair {
    margin-top: .7rem !important;
    padding-top: .7rem !important;
    border-top: 1px solid rgba(255,255,255,.14) !important;
  }

  .mobile-nav-panel .site-nav__link {
    width: 100% !important;
    min-height: 44px !important;
    padding: .85rem .45rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: #fff !important;
    font-size: 1rem !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  .mobile-nav-panel .site-nav--cta-pair .site-nav__apply,
  .mobile-nav-panel .site-nav--cta-pair .site-nav__book {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-top: .65rem !important;
    min-height: 3rem !important;
    padding: .75rem 1rem !important;
    font-size: .92rem !important;
    justify-content: center !important;
  }
}


/* ==========================================================================
   v145 — 1024–1100 HAMBURGER HEADER FIT
   The desktop-sized brand was still being inherited at >=1024px while the
   navigation had already switched to hamburger. Give this breakpoint its own
   header height and tablet-scaled brand so nothing can overflow.
   ========================================================================== */
@media (min-width: 1024px) and (max-width: 1100px) {
  :root {
    --header-height: 6.2rem !important;
    --header-content-height: 6.2rem !important;
    --header-offset-top: 0rem !important;
  }

  .site-header {
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
  }

  .site-header__inner {
    height: var(--header-content-height) !important;
    min-height: var(--header-content-height) !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 1.25rem !important;
    overflow: visible !important;
  }

  /* Brand must be allowed to shrink inside the first grid column. */
  .site-logo.site-brand,
  .site-brand {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    gap: .65rem !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    align-items: center !important;
  }

  /* Undo the larger desktop logo that starts at 1024px. */
  .site-brand__heartmind-logo {
    flex: 0 1 auto !important;
    width: auto !important;
    height: 2.2rem !important;
    max-width: 11.75rem !important;
    object-fit: contain !important;
  }

  .site-brand__heartmind-fallback {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    font-size: 1.08rem !important;
    line-height: 1 !important;
  }

  .site-brand__divider {
    flex: 0 0 1px !important;
    height: 1.55rem !important;
  }

  .site-brand__certification {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 12rem !important;
    font-size: .94rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .mobile-menu-toggle {
    align-self: center !important;
    justify-self: end !important;
  }

  /* Menu panel starts immediately below the now-taller header. */
  .mobile-nav-panel {
    top: calc(var(--header-height) - .15rem) !important;
    max-height: calc(100vh - var(--header-height) - 2rem) !important;
  }

  /* Keep hero content safely below the taller hamburger header. */
  .hero__inner {
    padding-top: max(7.25rem, calc(var(--header-height) + 1.2rem)) !important;
  }
}


/* ==========================================================================
   v146 — iOS INVESTMENT TITLE OVERFLOW FIX
   ========================================================================== */
@media (max-width: 767px) {
  .investment__title,
  #investment-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: clamp(2.6rem, 11vw, 3.35rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    text-wrap: balance;
  }

  .investment__head,
  .investment__head > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Extra safety for narrow iPhones. */
@media (max-width: 390px) {
  .investment__title,
  #investment-title {
    font-size: 2.45rem !important;
  }
}


/* ==========================================================================
   v149 — PROGRAM MODULE INDEPENDENT CARD HEIGHTS
   In the two-column “Twelve modules in six core areas” layout, opening one
   module must not stretch the neighboring card. Each card keeps its own
   natural height.
   ========================================================================== */
@media (min-width: 768px) {
  .program-area__modules {
    align-items: start !important;
  }

  .program-area__modules > .program-module {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
  }
}


/* ==========================================================================
   v150 — APPLY + ADVISOR CTA PAIRS
   Every Apply CTA keeps its adjacent advisor option. Advisor CTAs are
   explicitly outlined so they read as the secondary action.
   ========================================================================== */
.nsm-advisor-cta {
  border-width: 1px !important;
  border-style: solid !important;
}

/* Final close lives on a dark background: keep Advisor outlined, not filled. */
.final-cta__actions .nsm-advisor-cta {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.58) !important;
}

.final-cta__actions .nsm-advisor-cta:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.82) !important;
}

/* Investment + Program Overview live on light surfaces. */
.investment-table__actions .nsm-advisor-cta,
.program-overview-v2__decision .nsm-advisor-cta {
  border-color: rgba(9,65,102,.28) !important;
}


/* ==========================================================================
   v151 — PROGRAM OVERVIEW ADVISOR BUTTON TEXT VISIBILITY
   The Program Overview advisor CTA sits on a light panel. Force the secondary
   button text/icon to the NSM blue so inherited light-button styles cannot
   make the label disappear.
   ========================================================================== */
.program-overview-v2__decision .nsm-advisor-cta,
.program-overview-v2__decision .nsm-advisor-cta:link,
.program-overview-v2__decision .nsm-advisor-cta:visited {
  background: transparent !important;
  color: #094166 !important;
  border-color: rgba(9,65,102,.38) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #094166 !important;
}

.program-overview-v2__decision .nsm-advisor-cta *,
.program-overview-v2__decision .nsm-advisor-cta::before,
.program-overview-v2__decision .nsm-advisor-cta::after {
  color: #094166 !important;
  -webkit-text-fill-color: #094166 !important;
  opacity: 1 !important;
}

.program-overview-v2__decision .nsm-advisor-cta:hover,
.program-overview-v2__decision .nsm-advisor-cta:focus-visible {
  background: rgba(9,65,102,.07) !important;
  color: #094166 !important;
  border-color: #094166 !important;
  -webkit-text-fill-color: #094166 !important;
}


/* ==========================================================================
   v152 — STICKY MASTERCLASS CTA
   Compact bottom-right CTA that stays visible without taking over mobile.
   ========================================================================== */
.nsm-masterclass-sticky {
  position: fixed;
  right: 1.35rem;
  bottom: 1.35rem;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 3rem;
  padding: .78rem 1rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: #F7941D;
  color: #fff !important;
  font-size: .92rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .01em;
  text-decoration: none !important;
  box-shadow: 0 .8rem 2rem rgba(4,30,50,.22);
  transform: translateZ(0);
  transition:
    transform var(--transition),
    box-shadow var(--transition),
    background var(--transition);
}

.nsm-masterclass-sticky:hover,
.nsm-masterclass-sticky:focus-visible {
  background: #E8830F;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 1rem 2.3rem rgba(4,30,50,.28);
}

.nsm-masterclass-sticky__arrow {
  flex: 0 0 auto;
  font-size: 1rem;
  line-height: 1;
}

@media (max-width: 767px) {
  .nsm-masterclass-sticky {
    right: .8rem;
    bottom: calc(.8rem + env(safe-area-inset-bottom, 0px));
    min-height: 2.65rem;
    max-width: calc(100vw - 1.6rem);
    padding: .66rem .82rem;
    gap: .42rem;
    font-size: .82rem;
    box-shadow: 0 .55rem 1.4rem rgba(4,30,50,.22);
  }

  .nsm-masterclass-sticky__arrow {
    font-size: .9rem;
  }
}

@media (max-width: 380px) {
  .nsm-masterclass-sticky {
    padding: .62rem .75rem;
    font-size: .78rem;
  }
}


/* ==========================================================================
   v153 — MOBILE MASTERCLASS CTA + CASE STUDY VIDEO HEIGHT
   ========================================================================== */

/* Slightly larger mobile sticky Masterclass CTA */
@media (max-width: 767px) {
  .nsm-masterclass-sticky {
    min-height: 3rem;
    padding: .78rem 1rem;
    font-size: .88rem;
    gap: .5rem;
  }
}

/* Allow case study videos to show more content on mobile */
@media (max-width: 767px) {
  .case-study-video,
  .case-studies__video,
  .case-study__video,
  .video-embed,
  .video-embed iframe {
    min-height: 230px !important;
  }

  .case-study-video iframe,
  .case-studies__video iframe,
  .case-study__video iframe,
  .video-embed iframe {
    height: 230px !important;
  }
}

@media (max-width: 390px) {
  .case-study-video,
  .case-studies__video,
  .case-study__video,
  .video-embed,
  .video-embed iframe {
    min-height: 210px !important;
  }

  .case-study-video iframe,
  .case-studies__video iframe,
  .case-study__video iframe,
  .video-embed iframe {
    height: 210px !important;
  }
}


/* ==========================================================================
   v154 — LEADING VOICES TESTIMONIAL GRID
   Restore all testimonials to a visible responsive grid rather than the
   horizontal carousel. Content and HubSpot fields remain unchanged.
   ========================================================================== */
.teacher-voices--carousel .teacher-voices__controls {
  display: none !important;
}

.teacher-voices--carousel .teacher-voices__viewport {
  margin-top: 2.5rem !important;
  overflow: visible !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  scrollbar-width: auto !important;
}

.teacher-voices--carousel .teacher-voices__track {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.35rem !important;
  width: 100% !important;
}

.teacher-voices--carousel .teacher-voice-card {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  scroll-snap-align: none !important;
  padding: 2rem !important;
  border-radius: 1.35rem !important;
  background: #fff !important;
  color: #08263f !important;
  overflow: visible !important;
}

.teacher-voices--carousel .teacher-voice-card__person {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
}

.teacher-voices--carousel .teacher-voice-card__person img,
.teacher-voices--carousel .teacher-voice-card__avatar {
  width: 5.8rem !important;
  height: 5.8rem !important;
  flex: 0 0 5.8rem !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

.teacher-voices--carousel .teacher-voice-card blockquote {
  margin: 1.35rem 0 0 !important;
  color: #173447 !important;
  font-size: 1.03rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 1023px) {
  .teacher-voices--carousel .teacher-voices__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .teacher-voices--carousel .teacher-voices__viewport {
    margin-top: 2rem !important;
  }

  .teacher-voices--carousel .teacher-voices__track {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .teacher-voices--carousel .teacher-voice-card {
    padding: 1.35rem !important;
  }

  .teacher-voices--carousel .teacher-voice-card__person {
    align-items: center !important;
  }

  .teacher-voices--carousel .teacher-voice-card__person img,
  .teacher-voices--carousel .teacher-voice-card__avatar {
    width: 6.4rem !important;
    height: 6.4rem !important;
    flex-basis: 6.4rem !important;
  }

  .teacher-voices--carousel .teacher-voice-card blockquote {
    font-size: 1.12rem !important;
    line-height: 1.55 !important;
  }
}


/* ==========================================================================
   v155 — MOBILE TESTIMONIAL QUOTE SIZE
   Increase testimonial quote readability without making the cards excessively
   tall or changing tablet/desktop sizing.
   ========================================================================== */
@media (max-width: 767px) {
  .teacher-voices--carousel .teacher-voice-card blockquote,
  .teacher-voice-card blockquote {
    font-size: 1.28rem !important;
    line-height: 1.55 !important;
  }
}

@media (max-width: 390px) {
  .teacher-voices--carousel .teacher-voice-card blockquote,
  .teacher-voice-card blockquote {
    font-size: 1.22rem !important;
    line-height: 1.55 !important;
  }
}


/* ==========================================================================
   v156 — MOBILE TESTIMONIAL IMAGE TOP ALIGNMENT
   Keep the testimonial portrait aligned to the top of the author block rather
   than vertically centering it beside the name/credential.
   ========================================================================== */
@media (max-width: 767px) {
  .teacher-voices--carousel .teacher-voice-card__person {
    align-items: flex-start !important;
  }

  .teacher-voices--carousel .teacher-voice-card__person img,
  .teacher-voices--carousel .teacher-voice-card__avatar {
    align-self: flex-start !important;
  }
}


/* ==========================================================================
   v157 — TESTIMONIAL IMAGE TOP ALIGNMENT — ALL BREAKPOINTS
   Match the mobile top-aligned treatment on desktop and tablet as well.
   ========================================================================== */
.teacher-voices--carousel .teacher-voice-card__person {
  align-items: flex-start !important;
}

.teacher-voices--carousel .teacher-voice-card__person img,
.teacher-voices--carousel .teacher-voice-card__avatar {
  align-self: flex-start !important;
}


/* ==========================================================================
   v158 — PROFESSIONAL GAP: APPLY + ADVISOR CTA PAIR
   ========================================================================== */
.problem-panel__actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}

.problem-panel__actions .problem-panel__action {
  margin-top: 0 !important;
  align-self: auto !important;
  min-height: var(--button-height, 3rem);
  font-size: .9rem;
}

.problem-panel__actions .nsm-advisor-cta {
  background: transparent !important;
  color: #094166 !important;
  border-color: rgba(9,65,102,.38) !important;
  -webkit-text-fill-color: #094166 !important;
}

.problem-panel__actions .nsm-advisor-cta:hover,
.problem-panel__actions .nsm-advisor-cta:focus-visible {
  background: rgba(9,65,102,.07) !important;
  color: #094166 !important;
  border-color: #094166 !important;
  -webkit-text-fill-color: #094166 !important;
}

@media (max-width: 767px) {
  .problem-panel__actions {
    width: 100%;
    gap: .65rem;
  }

  .problem-panel__actions .problem-panel__action {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }
}


/* ==========================================================================
   v159 — PROFESSIONAL GAP ADVISOR URL IS EDITABLE IN HUBSPOT
   The CTA destination is now controlled by problem.module's
   advisor_cta_url_v2 field. Existing CTA styling is unchanged.
   ========================================================================== */


/* ==========================================================================
   v160 — PROFESSIONAL GAP IMAGE COLUMN BACK TO ORIGINAL BALANCE
   The updated image has more suitable framing, so restore the original
   50/50 desktop column balance instead of the wider 60/40 image treatment.
   ========================================================================== */
@media (min-width: 1180px) {
  .problem-panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .problem-panel__content {
    padding-left: 2.632rem !important;
    padding-right: 2.632rem !important;
  }
}


/* ==========================================================================
   v164 — NSM ADVANTAGE TABLE HEADER + CASE STUDY VIDEO HEIGHT
   ========================================================================== */

/* NSM Case Studies: increase the visible video area by 1.5x while keeping
   the card width unchanged. Original 16:9 becomes 32:27. */
.case-studies--video .case-study-video-card__media {
  aspect-ratio: 32 / 27 !important;
}


/* ==========================================================================
   v165 — MOBILE NSM ADVANTAGE + EDITABLE MASTERCLASS INSTANCE
   ========================================================================== */

/* Mobile Advantage: replace the dense 3-column table with stacked comparison
   cards. Each row becomes: focus -> traditional mindfulness -> NSM advantage. */
@media (max-width: 767px) {
  .advantage .comparison-table--v2 {
    display: block !important;
    overflow: visible !important;
  }

  .advantage .comparison-table__head {
    display: block !important;
    min-height: 0 !important;
    border: 0 !important;
    margin-bottom: 1rem !important;
    padding: 0 !important;
  }

  .advantage .comparison-table__head > * {
    display: none !important;
  }

  .advantage .comparison-table__head .comparison-table__nsm {
    display: block !important;
    margin: 0 !important;
    padding: 1rem 1.15rem !important;
    border-radius: 1rem !important;
    font-size: 1.2rem !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  .advantage .comparison-row {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border: 1px solid rgba(9,65,102,.12) !important;
    border-radius: 1rem !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 .35rem 1.1rem rgba(5,30,52,.06) !important;
  }

  .advantage .comparison-row > * {
    display: block !important;
    margin: 0 !important;
    padding: .9rem 1rem !important;
    border-radius: 0 !important;
  }

  .advantage .comparison-row__label {
    background: #f1f6f9 !important;
    color: #082e4b !important;
    font-size: 1.02rem !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
  }

  .advantage .comparison-row__standard {
    color: #3f3f3f !important;
    font-size: 1rem !important;
    line-height: 1.48 !important;
    border-top: 1px solid rgba(9,65,102,.08) !important;
  }

  .advantage .comparison-row__nsm {
    display: block !important;
    color: #fff !important;
    padding: 1rem !important;
    font-size: 1rem !important;
    line-height: 1.48 !important;
    border-radius: 0 !important;
  }

  .advantage .comparison-row:last-child {
    margin-bottom: 0 !important;
  }

  .advantage__after--v2 {
    margin-top: 1.5rem !important;
  }
}

/* ==========================================================================
   v166 — NSM ADVANTAGE MOBILE COMPARISON CLARITY
   Mobile only: make each comparison read as:
   Row topic → Mainstream mindfulness training → NSM Advantage.
   Desktop/tablet table remains unchanged.
   ========================================================================== */
@media (max-width: 767px) {
  .advantage .comparison-table {
    margin-top: 2.2rem !important;
  }

  /* The column header is replaced by explicit headings inside each card so
     the mobile reading order is unambiguous. */
  .advantage .comparison-table__head {
    display: none !important;
  }

  .advantage .comparison-row {
    margin: 0 0 1.15rem !important;
    padding: .25rem !important;
    border: 1px solid rgba(9,65,102,.16) !important;
    border-radius: 1.05rem !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: 0 .35rem 1.1rem rgba(5,30,52,.06) !important;
  }

  .advantage .comparison-row > * {
    margin: 0 !important;
    padding: 1.05rem 1.05rem !important;
    border-radius: .8rem !important;
  }

  /* Topic first */
  .advantage .comparison-row__label {
    background: #f1f6f9 !important;
    color: #082e4b !important;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
    padding: 1rem 1.05rem .8rem !important;
  }

  /* Explicit column heading before the mainstream content. */
  .advantage .comparison-row__standard {
    color: #3f3f3f !important;
    background: #fff !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    border-top: 0 !important;
    padding-top: .65rem !important;
  }

  .advantage .comparison-row__standard::before {
    display: block;
    content: "Mainstream mindfulness training";
    margin: 0 0 .55rem !important;
    color: #082e4b !important;
    font-family: var(--font-data);
    font-size: .92rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  /* NSM gets its own clearly separated blue panel with a white border so
     white text cannot disappear into surrounding blue. */
  .advantage .comparison-row__nsm {
    display: block !important;
    margin: .15rem 0 0 !important;
    padding: 1.05rem 1.05rem 1.15rem !important;
    color: #fff !important;
    background: linear-gradient(90deg,#0c4e77,#2f79a6) !important;
    border: 2px solid #fff !important;
    border-radius: .85rem !important;
    font-size: 1.08rem !important;
    line-height: 1.55 !important;
    box-sizing: border-box !important;
  }

  .advantage .comparison-row__nsm::before {
    display: block;
    content: "The NSM Advantage";
    margin: 0 0 .55rem !important;
    color: #fff !important;
    font-family: var(--font-data);
    font-size: .92rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }

  .advantage .comparison-row:last-child {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 390px) {
  .advantage .comparison-row__label {
    font-size: 1.02rem !important;
  }

  .advantage .comparison-row__standard,
  .advantage .comparison-row__nsm {
    font-size: 1.03rem !important;
  }
}


/* ==========================================================================
   v167 — MOBILE NSM ADVANTAGE + MASTERCLASS FLOW FIX
   ========================================================================== */
@media (max-width: 767px) {
  .advantage .comparison-row__nsm {
    padding: 1rem 1.15rem 1.15rem !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    box-sizing: border-box !important;
  }

  .advantage .comparison-row__nsm::before {
    margin-bottom: .65rem !important;
    font-size: .9rem !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 390px) {
  .advantage .comparison-row__nsm {
    padding: .95rem 1.05rem 1.1rem !important;
    font-size: .98rem !important;
  }
}

/* The CTA is fixed and must never participate in normal page flow. */
.nsm-masterclass-sticky {
  position: fixed !important;
}


/* ==========================================================================
   v168 — MOBILE NSM ADVANTAGE SCALE + HERO TOP SPACING
   ========================================================================== */

/* Mobile NSM Advantage rows: increase body/heading text by 1.5x and give the
   blue NSM panel substantially more inner horizontal padding. */
@media (max-width: 767px) {
  .advantage .comparison-row__nsm {
    padding: 1.15rem 2.875rem 1.25rem !important;
    font-size: 1.5rem !important;
    line-height: 1.45 !important;
  }

  .advantage .comparison-row__nsm::before {
    margin-bottom: .8rem !important;
    font-size: 1.15rem !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 390px) {
  .advantage .comparison-row__nsm {
    padding-left: 2.625rem !important;
    padding-right: 2.625rem !important;
    font-size: 1.47rem !important;
  }

  .advantage .comparison-row__nsm::before {
    font-size: 1.12rem !important;
  }
}

/* Reduce the extra top space above the hero on mobile. */
@media (max-width: 767px) {
  .hero__inner {
    padding-top: 6rem !important;
  }
}

@media (max-width: 390px) {
  .hero__inner {
    padding-top: 5.6rem !important;
  }
}


/* ==========================================================================
   v169 — DESKTOP HERO + SIMPLE FULL MOBILE ADVANTAGE SCALING
   ========================================================================== */

/* Desktop only: slightly reduce the hero's top padding. */
@media (min-width: 1200px) {
  .hero__inner {
    padding-top: 6.35rem !important;
  }
}

/* Mobile NSM Advantage:
   Keep the existing simple stacked-card structure, but scale the WHOLE
   comparison row consistently. Every part of every row gets the same 1.5x
   text treatment and 2.5x inner padding. No special enlargement of only
   the NSM panel. */
@media (max-width: 767px) {
  .advantage .comparison-row > * {
    padding: 2.625rem 2.625rem !important;
  }

  .advantage .comparison-row__label,
  .advantage .comparison-row__standard,
  .advantage .comparison-row__nsm {
    font-size: 1.62rem !important;
    line-height: 1.5 !important;
  }

  .advantage .comparison-row__standard::before,
  .advantage .comparison-row__nsm::before {
    font-size: 1.38rem !important;
    line-height: 1.25 !important;
    margin-bottom: .8rem !important;
  }

  .advantage .comparison-row__nsm {
    margin: .15rem 0 0 !important;
    border: 2px solid #fff !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 390px) {
  .advantage .comparison-row > * {
    padding: 2.45rem 2.45rem !important;
  }

  .advantage .comparison-row__label,
  .advantage .comparison-row__standard,
  .advantage .comparison-row__nsm {
    font-size: 1.55rem !important;
  }

  .advantage .comparison-row__standard::before,
  .advantage .comparison-row__nsm::before {
    font-size: 1.32rem !important;
  }
}




/* ==========================================================================
   v178 — FLEET NSM ADVANTAGE FINAL COLOR + MOBILE BORDER
   ========================================================================== */
@media (max-width: 767px) {
  .advantage .comparison-table--v2 .comparison-row > span {
    padding: 1.2rem !important;
  }

  .advantage .comparison-table--v2 .comparison-row__label {
    font-size: 1.8rem !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
  }

  .advantage .comparison-table--v2 .comparison-row__standard {
    font-size: 1.35rem !important;
    line-height: 1.5 !important;
  }

  .advantage .comparison-table--v2 .comparison-row__standard::before,
  .advantage .comparison-table--v2 .comparison-row__nsm::before {
    font-size: 1.8rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  .advantage .comparison-table--v2 .comparison-row__standard::before {
    color: #082e4b !important;
  }

  .advantage .comparison-table--v2 .comparison-row__nsm {
    font-size: 1.35rem !important;
    line-height: 1.5 !important;
    /* Match the desktop panel treatment without the old heavy white frame. */
    border: 1px solid rgba(255,255,255,.72) !important;
    box-sizing: border-box !important;
  }

  .advantage .comparison-table--v2 .comparison-row__nsm::before {
    color: #fff !important;
  }

  /* Only the same two Fleet-highlighted statements are gold on mobile. */
  .advantage .comparison-table--v2 .comparison-row--fleet-accent .comparison-row__nsm {
    color: var(--color-accent) !important;
    font-weight: 800 !important;
  }

  /* All other NSM copy remains white. */
  .advantage .comparison-table--v2 .comparison-row:not(.comparison-row--fleet-accent) .comparison-row__nsm {
    color: #fff !important;
  }

  .advantage__people-talk {
    color: rgba(26,116,179,1.0) !important;
  }

  .advantage .advantage__header .eyebrow {
    color: var(--color-accent) !important;
    font-size: 1.3em !important;
  }

  .advantage .advantage__after--v2 > p {
    font-size: 2rem !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 390px) {
  .advantage .comparison-table--v2 .comparison-row > span {
    padding: 1.2rem !important;
  }

  .advantage .comparison-table--v2 .comparison-row__label {
    font-size: 1.8rem !important;
  }

  .advantage .comparison-table--v2 .comparison-row__standard {
    font-size: 1.35rem !important;
  }

  .advantage .comparison-table--v2 .comparison-row__standard::before,
  .advantage .comparison-table--v2 .comparison-row__nsm::before {
    font-size: 1.8rem !important;
  }

  .advantage .advantage__after--v2 > p {
    font-size: 2rem !important;
  }
}

/* ==========================================================================
   v180 — MOBILE NSM ADVANTAGE LEFT ACCENT
   ========================================================================== */
@media (max-width: 767px) {
  .advantage .comparison-table--v2 .comparison-row__nsm {
    border-left: 0.24rem solid var(--color-accent) !important;
  }
}


/* ==========================================================================
   v182 — TEMPORARY FLEET "YOUR OWN JOURNEY" TRANSFORMATION STRUCTURE
   Uses the existing NSM design language; the previous outcomes module is
   preserved as module.legacy-current.html + fields.legacy-current.json.
   ========================================================================== */

.outcomes--journey {
  min-height: 0;
  padding: 5.5rem 0 4.75rem;
  background: var(--gradient-outcomes);
  overflow: hidden;
}

.outcomes--journey > .container {
  max-width: 100%;
}

.journey__head {
  max-width: 72rem;
  margin: 0 auto;
  text-align: center;
}

.journey__eyebrow {
  width: fit-content;
  min-width: 13rem;
  margin: 0 auto 1.4rem;
  padding: .55rem 1.5rem;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: var(--color-secondary);
  font-size: var(--text-eyebrow);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.journey__title {
  width: auto !important;
  max-width: none !important;
  margin: 0 auto !important;
  color: var(--color-primary);
  text-align: center;
}

.journey__subheading {
  max-width: 58rem;
  margin: 1.25rem auto 0;
  color: var(--color-secondary);
  font-size: 1.45rem;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.journey__intro {
  max-width: 63rem;
  margin: 1.5rem auto 0;
  color: var(--color-text-muted);
  font-size: 1.08rem;
  line-height: 1.55;
  text-align: center;
}

.journey__cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem;
  margin: 3rem auto 0;
  max-width: 79rem;
}

.journey-card {
  min-width: 0;
  background: #fff;
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  overflow: hidden;
  border: 1px solid rgba(12,78,119,.08);
}

.journey-card__visual {
  position: relative;
  min-height: 15.5rem;
  background: #dce8f0 center/cover no-repeat;
}

.journey-card__visual--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 40%, rgba(12,78,119,.12), transparent 31%),
    linear-gradient(145deg, #edf5f9 0%, #d7e5ee 100%);
}

.journey-card__visual--placeholder::after {
  content: "";
  position: absolute;
  inset: 1.1rem;
  border: 1px solid rgba(12,78,119,.12);
  border-radius: .75rem;
}

.journey-card__placeholder {
  position: relative;
  z-index: 1;
  color: var(--color-secondary);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.journey-card__body {
  padding: 1.55rem 1.55rem 1.8rem;
}

.journey-card__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-bottom: .85rem;
  border-radius: 50%;
  background: var(--color-accent);
  color: #fff;
  font-size: .95rem;
  font-weight: 800;
}

.journey-card__title {
  margin: 0;
  color: var(--color-primary);
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 800;
}

.journey-card__copy {
  margin: 1rem 0 0;
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.55;
}

.journey-card__arrow {
  color: var(--color-accent);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.journey__closing {
  max-width: 52rem;
  margin: 2.6rem auto 0;
  padding-top: 1.15rem;
  border-top: .18rem solid var(--color-accent);
  color: var(--color-primary);
  font-size: 1.65rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

.journey__closing::first-line {
  color: var(--color-primary);
}

@media (max-width: 1023px) {
  .outcomes--journey {
    padding: 5rem 0 4rem;
  }

  .journey__subheading {
    font-size: 1.3rem;
  }

  .journey__intro {
    font-size: 1rem;
  }

  .journey__cards {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .7rem;
  }

  .journey-card__visual {
    min-height: 12rem;
  }

  .journey-card__body {
    padding: 1.25rem;
  }

  .journey-card__title {
    font-size: 1.3rem;
  }

  .journey-card__copy {
    font-size: .95rem;
  }
}

@media (max-width: 767px) {
  .outcomes--journey {
    padding: 4.5rem 0 3.75rem;
  }

  .journey__head {
    max-width: 100%;
  }

  .journey__eyebrow {
    margin-bottom: 1rem;
  }

  .journey__title {
    font-size: 2.35rem !important;
    line-height: 1.12 !important;
  }

  .journey__subheading {
    margin-top: 1rem;
    font-size: 1.25rem;
    line-height: 1.4;
  }

  .journey__intro {
    margin-top: 1.15rem;
    font-size: 1.05rem;
    line-height: 1.55;
  }

  .journey__cards {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: 2.25rem;
  }

  .journey-card {
    width: 100%;
  }

  .journey-card__visual {
    min-height: 15rem;
  }

  .journey-card__body {
    padding: 1.2rem 1.2rem 1.45rem;
  }

  .journey-card__number {
    width: 2rem;
    height: 2rem;
    margin-bottom: .7rem;
  }

  .journey-card__title {
    font-size: 1.6rem;
    line-height: 1.22;
  }

  .journey-card__copy {
    margin-top: .85rem;
    font-size: 1.08rem;
    line-height: 1.55;
  }

  .journey-card__arrow {
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(90deg);
    font-size: 1.9rem;
  }

  .journey__closing {
    margin-top: 2rem;
    font-size: 1.65rem;
    line-height: 1.3;
  }
}

@media (max-width: 390px) {
  .journey__title {
    font-size: 2.15rem !important;
  }

  .journey__subheading {
    font-size: 1.15rem;
  }

  .journey-card__visual {
    min-height: 13rem;
  }

  .journey-card__title {
    font-size: 1.45rem;
  }

  .journey-card__copy {
    font-size: 1rem;
  }

  .journey__closing {
    font-size: 1.5rem;
  }
}


/* ==========================================================================
   v184 — JOURNEY TYPOGRAPHY SCALE + DESKTOP SUBHEADING LINE
   ========================================================================== */

/* Desktop: keep the supporting subheading on one clean line. */
@media (min-width: 1200px) {
  .journey__subheading {
    max-width: none;
    white-space: nowrap;
  }
}

/* Mobile: bring the Journey section into the same typography scale as the
   other major sections on the page. */
@media (max-width: 767px) {
  .journey__title {
    font-size: 2.93rem !important;
    line-height: 1.08 !important;
  }

  .journey__subheading {
    font-size: 1.45rem !important;
    line-height: 1.4 !important;
  }

  .journey__intro {
    font-size: 1.15rem !important;
    line-height: 1.55 !important;
  }

  .journey-card__title {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }

  .journey-card__copy {
    font-size: 1.12rem !important;
    line-height: 1.55 !important;
  }

  .journey__closing {
    font-size: 1.8rem !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 390px) {
  .journey__title {
    font-size: 2.75rem !important;
  }

  .journey__subheading {
    font-size: 1.35rem !important;
  }

  .journey__intro {
    font-size: 1.1rem !important;
  }

  .journey-card__title {
    font-size: 1.65rem !important;
  }

  .journey-card__copy {
    font-size: 1.08rem !important;
  }

  .journey__closing {
    font-size: 1.7rem !important;
  }
}


/* ==========================================================================
   v187 — JOIN MASTERCLASS MOBILE CTA 1.4X
   ========================================================================== */
@media (max-width: 767px) {
  .nsm-masterclass-sticky {
    min-height: 4.2rem !important;
    padding: 1.092rem 1.4rem !important;
    gap: .7rem !important;
    font-size: 1.232rem !important;
  }

  .nsm-masterclass-sticky__arrow {
    font-size: 1.26rem !important;
  }
}

@media (max-width: 380px) {
  .nsm-masterclass-sticky {
    padding: 1.092rem 1.4rem !important;
    font-size: 1.232rem !important;
  }

  .nsm-masterclass-sticky__arrow {
    font-size: 1.26rem !important;
  }
}