.hero {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 5.5rem);
  display: grid;
  align-items: center;
  padding-block: clamp(4.5rem, 8vw, 7rem);
  color: var(--paper);
  background:
    radial-gradient(circle at 78% 34%, rgba(79, 125, 166, 0.23), transparent 31%),
    linear-gradient(120deg, var(--navy-950), #0a2036 70%, var(--navy-900));
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
  align-items: center;
  gap: clamp(2rem, 4.5vw, 4.75rem);
}

.hero__copy { position: relative; z-index: 2; }
.hero__school { color: var(--blue-200); font-size: 0.86rem; }
.hero h1 { max-width: 17ch; margin-bottom: 1.5rem; color: var(--white); font-size: clamp(3.5rem, 5.35vw, 5.65rem); line-height: 0.92; }
.hero h1 span { display: block; white-space: nowrap; }
.hero .lede { max-width: 62ch; color: rgba(255, 255, 255, 0.78); }
.hero__visual { position: relative; min-height: 31rem; }
.hero__photo { position: absolute; z-index: 2; width: min(100%, 31rem); aspect-ratio: 4 / 3; right: 0; top: 50%; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.46); border-radius: 8rem 8rem 0.5rem 0.5rem; box-shadow: var(--shadow-lg); transform: translateY(-50%); }
.hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__orbit { position: absolute; width: 112%; aspect-ratio: 1; top: 50%; left: 50%; border: 1px solid rgba(228, 164, 92, 0.58); border-radius: 50%; transform: translate(-50%, -50%) rotate(-14deg); }
.hero__orbit::before, .hero__orbit::after { position: absolute; border-radius: 50%; background: var(--warm-300); box-shadow: 0 0 0 0.4rem rgba(228, 164, 92, 0.12); content: ""; }
.hero__orbit::before { width: 0.75rem; height: 0.75rem; top: 8%; left: 24%; }
.hero__orbit::after { width: 0.5rem; height: 0.5rem; right: 4%; bottom: 28%; }
.hero__node { position: absolute; z-index: 3; width: 1rem; height: 1rem; right: 2%; bottom: 12%; border: 3px solid var(--navy-950); border-radius: 50%; background: var(--warm-300); box-shadow: 0 0 0 0.55rem rgba(228, 164, 92, 0.16); }

.line-field { position: absolute; inset: 0; overflow: hidden; opacity: 0.68; pointer-events: none; background: linear-gradient(90deg, transparent 0 15%, rgba(201, 225, 244, 0.055) 15% calc(15% + 1px), transparent calc(15% + 1px) 50%, rgba(201, 225, 244, 0.05) 50% calc(50% + 1px), transparent calc(50% + 1px) 84%, rgba(201, 225, 244, 0.055) 84% calc(84% + 1px), transparent calc(84% + 1px)), radial-gradient(ellipse at 84% 42%, transparent 0 26%, rgba(228, 164, 92, 0.22) 26% calc(26% + 1px), transparent calc(26% + 1px) 34%, rgba(201, 225, 244, 0.11) 34% calc(34% + 1px), transparent calc(34% + 1px)); }
.line-field::before { position: absolute; width: 68%; height: 42%; right: -19%; bottom: -16%; border: 1px solid rgba(201, 225, 244, 0.12); border-radius: 50%; content: ""; transform: rotate(-12deg); }
.line-field::after { position: absolute; width: 42%; height: 1px; right: 8%; top: 28%; background: linear-gradient(90deg, transparent, rgba(228, 164, 92, 0.36), transparent); content: ""; transform: rotate(-18deg); }

.line-rule { position: relative; display: flex; align-items: center; width: min(100%, 11rem); height: 1rem; margin-bottom: 2rem; }
.line-rule::before { width: 100%; height: 1px; background: var(--line-warm); content: ""; }
.line-rule span { position: absolute; width: 0.65rem; height: 0.65rem; right: 18%; border: 2px solid var(--paper); border-radius: 50%; background: var(--warm-500); }

.home-intro { min-height: 44rem; display: grid; align-items: center; }
.home-intro__arc { position: absolute; width: 45rem; height: 24rem; right: -17rem; top: -8rem; border: 1px solid rgba(199, 116, 43, 0.18); border-radius: 50%; transform: rotate(-14deg); }
.home-intro__header { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); align-items: end; gap: clamp(3rem, 7vw, 7rem); }
.home-intro__header h2 { max-width: 19ch; font-size: clamp(3.15rem, 5vw, 5rem); line-height: 0.94; }
.home-intro__statement { padding-left: clamp(0rem, 4vw, 4rem); border-left: 1px solid var(--line-dark); }
.home-intro__statement .lede { max-width: 48ch; margin: 0; color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.75rem); line-height: 1.4; }
.home-proof-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(2.5rem, 5vw, 4.25rem); border-top: 1px solid var(--line-dark); }
.home-proof-grid::before { position: absolute; width: 0.8rem; height: 0.8rem; top: 0; left: 0; border: 3px solid var(--paper-warm); border-radius: 50%; background: var(--warm-500); content: ""; transform: translateY(-50%); }
.home-proof { position: relative; min-height: 11.5rem; padding: 2.25rem 2rem 1.25rem; border-right: 1px solid var(--line-dark); transition: background var(--transition), transform var(--transition); }
.home-proof::after { position: absolute; width: 0.48rem; aspect-ratio: 1; top: 1rem; left: 2rem; border-radius: 50%; background: var(--warm-500); box-shadow: 0 0 0 0.45rem rgba(199, 116, 43, 0.1); content: ""; }
.home-proof:hover { background: rgba(255, 255, 255, 0.55); transform: translateY(-0.35rem); }
.home-proof:last-child { border-right: 0; }
.home-proof > span { display: block; margin-bottom: 1.5rem; color: var(--navy-500); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.17em; }
.home-proof strong { display: block; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(1.7rem, 2.5vw, 2.35rem); font-weight: 650; line-height: 1; }
.home-proof p { margin: 0.75rem 0 0; color: var(--muted); }

.programs-showcase { padding-block: clamp(2.5rem, 5vh, 4rem); }
.programs-showcase__header { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(14rem, 0.45fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); margin-bottom: clamp(1.5rem, 3vh, 2.25rem); }
.programs-showcase__header h2 { max-width: 20ch; margin: 0; font-size: clamp(3rem, 4.25vw, 4.6rem); line-height: 0.94; }
.programs-showcase__map { position: relative; width: min(100%, 19rem); aspect-ratio: 1.65; justify-self: end; border: 1px solid rgba(201, 225, 244, 0.2); border-radius: 50%; transform: rotate(-12deg); }
.programs-showcase__map::before, .programs-showcase__map::after { position: absolute; inset: 16%; border: 1px solid rgba(228, 164, 92, 0.28); border-radius: 50%; content: ""; }
.programs-showcase__map::after { inset: 40% -12%; height: 1px; border: 0; background: linear-gradient(90deg, transparent, var(--warm-300), transparent); }
.programs-showcase__map span, .programs-showcase__map i, .programs-showcase__map b { position: absolute; width: 0.75rem; aspect-ratio: 1; border: 2px solid var(--navy-950); border-radius: 50%; background: var(--warm-300); box-shadow: 0 0 0 1px var(--warm-300); }
.programs-showcase__map span { top: 16%; left: 20%; }
.programs-showcase__map i { right: 8%; bottom: 32%; }
.programs-showcase__map b { left: 44%; bottom: -0.35rem; }

.intro-grid, .split-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: start; }
.split-grid--balanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.stat { min-height: 11rem; padding: 1.6rem; border-top: 2px solid var(--warm-500); background: var(--paper-warm); }
.stat strong { display: block; margin-bottom: 0.7rem; color: var(--navy-800); font-family: var(--font-display); font-size: var(--step-2); font-weight: 600; line-height: 1; }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.card-grid--two { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feature-card { position: relative; min-height: clamp(19rem, 35vh, 22rem); display: grid; overflow: hidden; padding: clamp(1.7rem, 3vw, 2.4rem); border: 1px solid var(--line-light); background: linear-gradient(145deg, rgba(23, 63, 103, 0.7), rgba(10, 32, 53, 0.96)); color: var(--paper); transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition); }
.feature-card > div { position: relative; z-index: 2; height: 100%; display: grid; grid-template-rows: auto minmax(4.8rem, auto) minmax(3.5rem, auto) auto; align-content: start; }
.feature-card::before { position: absolute; width: 16rem; height: 10rem; top: -4rem; right: -5rem; border: 1px solid rgba(201, 225, 244, 0.2); border-radius: 50%; content: ""; transform: rotate(-15deg); }
.feature-card::after { position: absolute; width: 11rem; height: 1px; top: 4rem; right: 2rem; background: linear-gradient(90deg, transparent, rgba(228, 164, 92, 0.65)); content: ""; transform: rotate(-18deg); }
.feature-card:hover { transform: translateY(-5px); border-color: rgba(228, 164, 92, 0.5); box-shadow: var(--shadow-lg); }
.feature-card__number { position: absolute; top: 1.7rem; left: 2rem; color: var(--warm-300); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.18em; }
.feature-card h3 { max-width: 18ch; margin: 0 0 0.7rem; font-family: var(--font-display); font-size: clamp(2rem, 2.7vw, 2.8rem); font-weight: 600; line-height: 1.02; }
.feature-card p { max-width: 45ch; margin: 0; color: rgba(255, 255, 255, 0.7); }
.feature-card .text-link { align-self: end; justify-self: start; margin-top: 1.25rem; }
.feature-card__kicker { margin-bottom: 1rem !important; color: var(--warm-300) !important; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.18em; text-transform: uppercase; }

.home-compass { overflow: hidden; color: var(--paper); background: radial-gradient(circle at 50% 48%, rgba(35, 82, 123, 0.45), transparent 27%), linear-gradient(125deg, #061523, var(--navy-950) 54%, #102f4b); }
.values-aurora { position: absolute; z-index: 0; width: 34rem; aspect-ratio: 1; top: 50%; left: 50%; border: 1px solid rgba(228, 164, 92, 0.28); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(201, 225, 244, 0.025), 0 0 0 11rem rgba(201, 225, 244, 0.018); animation: aurora-orbit 12s linear infinite; transform: translate(-50%, -50%); }
.home-compass > .container { z-index: 2; display: grid; grid-template-columns: minmax(18rem, 0.72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(3.5rem, 8vw, 8rem); }
.home-compass__heading { max-width: 32rem; display: block; text-align: left; }
.home-compass__heading .eyebrow { justify-content: flex-start; margin-bottom: 1.25rem; color: var(--warm-300); }
.home-compass__heading h2 { max-width: 11ch; margin-bottom: 1.4rem; color: var(--paper); font-size: clamp(3.25rem, 5.4vw, 5.5rem); line-height: 0.92; }
.home-compass__heading .lede { max-width: 30ch; margin: 0; color: rgba(249, 249, 249, 0.72); font-size: clamp(1.15rem, 1.7vw, 1.45rem); }
.compass-map { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(10.5rem, 1fr)); align-items: stretch; gap: 1rem; margin: 0; padding: 0; }
.compass-map__geometry { display: none; }
.compass-map__geometry::before, .compass-map__geometry::after, .compass-map__geometry span::before, .compass-map__geometry span::after { position: absolute; z-index: 0; background: rgba(199, 116, 43, 0.58); content: ""; }
.compass-map__geometry::before, .compass-map__geometry span::before { width: 140%; height: 1px; top: 50%; left: -20%; }
.compass-map__geometry::after, .compass-map__geometry span::after { width: 1px; height: 140%; top: -20%; left: 50%; }
.compass-map__geometry span::before, .compass-map__geometry span::after { transform: rotate(45deg); transform-origin: center; }
.compass-map__geometry i { position: absolute; inset: 25%; border: 1px solid rgba(201, 225, 244, 0.32); border-radius: 50%; }
.compass-map__geometry b { position: absolute; z-index: 2; width: 1rem; aspect-ratio: 1; top: 50%; left: 50%; border: 3px solid var(--navy-950); border-radius: 50%; background: var(--warm-300); box-shadow: 0 0 1.5rem rgba(228, 164, 92, 0.8); transform: translate(-50%, -50%); }
.compass-map__geometry em { position: absolute; z-index: 3; left: 50%; bottom: 1.3rem; color: var(--warm-300); font-size: 0.66rem; font-style: normal; font-weight: 850; letter-spacing: 0.18em; text-transform: uppercase; transform: translateX(-50%); }
.compass-point { position: relative; z-index: 1; min-height: 10.5rem; display: flex; flex-direction: column; justify-content: center; padding: 1.5rem 1.65rem; border: 1px solid rgba(201, 225, 244, 0.22); background: linear-gradient(135deg, rgba(6, 21, 35, 0.96), rgba(16, 47, 75, 0.88)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0.7rem 2rem rgba(0, 0, 0, 0.16); transition: translate var(--transition), border-color var(--transition), box-shadow var(--transition), background var(--transition); }
.compass-point::before { position: absolute; top: 0; right: 1.4rem; left: 1.4rem; height: 2px; background: linear-gradient(90deg, var(--warm-500), transparent); content: ""; transform: scaleX(0.36); transform-origin: left; transition: transform 500ms var(--ease); }
.compass-point:hover { z-index: 2; border-color: rgba(228, 164, 92, 0.72); background: linear-gradient(135deg, rgba(228, 164, 92, 0.14), rgba(255, 255, 255, 0.045)); box-shadow: 0 1.2rem 2.6rem rgba(0, 0, 0, 0.28); translate: 0 -0.45rem; }
.compass-point:hover::before { transform: scaleX(1); }
.compass-point > span { color: var(--warm-300); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.14em; }
.compass-point h3 { margin: 0.35rem 0; color: var(--paper); font-family: var(--font-display); font-size: clamp(1.6rem, 2.3vw, 2.25rem); font-weight: 650; }
.compass-point p { margin: 0; color: rgba(249, 249, 249, 0.65); font-size: 0.88rem; font-weight: 750; letter-spacing: 0.02em; }
.compass-point--north,
.compass-point--east,
.compass-point--south,
.compass-point--west { grid-column: auto; grid-row: auto; }

@keyframes compass-breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(228, 164, 92, 0.05); transform: scale(0.96); }
  50% { box-shadow: 0 0 0 1.15rem rgba(228, 164, 92, 0.07); transform: scale(1.02); }
}

@keyframes aurora-orbit {
  from { transform: translate(-50%, -50%) rotate(0); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@media (min-width: 961px) {
  .home-page main > section[data-nav-label] {
    min-height: min(52rem, calc(100svh - 5.5rem));
    display: grid;
    align-items: center;
  }

  .home-compass {
    padding-block: clamp(2.75rem, 5vh, 4.5rem);
  }
}

.pathway { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 3.5rem; }
.pathway__step { position: relative; min-height: 13rem; padding: 2.6rem 1.4rem 0 0; border-top: 1px solid var(--line-light); }
.pathway__step::before { position: absolute; width: 0.8rem; height: 0.8rem; top: 0; left: 0; border: 3px solid var(--navy-950); border-radius: 50%; background: var(--blue-200); box-shadow: 0 0 0 1px var(--blue-200); content: ""; transform: translateY(-50%); }
.pathway__step span { display: block; margin-bottom: 0.7rem; color: var(--warm-300); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.pathway__step h3 { font-family: var(--font-display); font-size: var(--step-2); font-weight: 600; }
.home-pathway h2 { max-width: none; font-size: clamp(3.25rem, 5.5vw, 5.65rem); }
.home-pathway .pathway__step p { max-width: 24ch; font-size: 1rem; }

.value-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.value-list li { padding: 1.5rem; border: 1px solid var(--line-dark); background: rgba(255, 255, 255, 0.72); }
.value-list strong { display: block; margin-bottom: 0.35rem; color: var(--navy-800); }
.section--values { color: var(--paper); background: linear-gradient(115deg, var(--navy-800), var(--navy-950)); }
.section--values .eyebrow { color: var(--warm-300); }
.values-layout { display: grid; grid-template-columns: minmax(15rem, 0.65fr) minmax(0, 1.35fr); align-items: center; gap: clamp(3rem, 8vw, 7rem); }
.section--values .value-list li { border-color: rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.96); color: var(--ink); box-shadow: var(--shadow-lg); }
.compass-lines { position: relative; width: 7rem; aspect-ratio: 1; margin-top: 2.5rem; border: 1px solid rgba(228, 164, 92, 0.54); border-radius: 50%; }
.compass-lines::before, .compass-lines::after, .compass-lines span::before, .compass-lines span::after { position: absolute; background: rgba(228, 164, 92, 0.54); content: ""; }
.compass-lines::before, .compass-lines span::before { width: 150%; height: 1px; top: 50%; left: -25%; }
.compass-lines::after, .compass-lines span::after { width: 1px; height: 150%; top: -25%; left: 50%; }
.compass-lines span::before, .compass-lines span::after { transform: rotate(45deg); transform-origin: center; }

.cta-band { position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 5.5rem); background: linear-gradient(105deg, var(--warm-100), #f1ba7e); color: var(--navy-950); }
.cta-band .container { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cta-band h2 { max-width: 28ch; margin: 0; }
.cta-band .eyebrow { margin-bottom: 0.65rem; color: var(--navy-700); font-size: 0.78rem; }
.cta-band .button--light { border-color: var(--navy-900); background: var(--navy-900); color: var(--paper); }
.cta-band__orbit { position: absolute; width: 28rem; aspect-ratio: 1; right: -8rem; top: 50%; border: 1px solid rgba(11, 44, 78, 0.22); border-radius: 50%; transform: translateY(-50%); }
.cta-band__orbit::before { position: absolute; inset: 3.5rem; border: 1px solid rgba(11, 44, 78, 0.14); border-radius: 50%; content: ""; }
.leadership-invite h2 { max-width: 16ch; font-size: clamp(3.5rem, 6vw, 6.25rem); line-height: 0.92; }
.leadership-invite .button { min-width: 12rem; }
.leadership-invite .cta-band__orbit { width: min(52vw, 40rem); right: -9rem; animation: leadership-orbit 10s ease-in-out infinite; }

@keyframes leadership-orbit {
  0%, 100% { rotate: -4deg; scale: 0.96; }
  50% { rotate: 4deg; scale: 1.04; }
}

.contact-section { min-height: 48rem; display: grid; align-items: center; }
.contact-section__line { position: absolute; width: 36rem; height: 18rem; left: -16rem; bottom: 2rem; border: 1px solid var(--line-warm); border-radius: 50%; transform: rotate(18deg); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(26rem, 1fr); align-items: start; gap: clamp(2.5rem, 6vw, 6rem); }
.contact-grid > :first-child { padding-top: clamp(0rem, 3vw, 2.5rem); }
.contact-grid > :first-child h2 { max-width: 18ch; }
.form-grid { display: grid; gap: 1rem; }
.field { display: grid; gap: 0.4rem; }
.field label { font-size: 0.82rem; font-weight: 800; }
.field input, .field textarea, .field select { width: 100%; padding: 0.9rem 1rem; border: 1px solid var(--line-dark); border-radius: var(--radius-sm); background: var(--white); color: var(--ink); }
.field textarea { min-height: 10rem; resize: vertical; }
.form-status { min-height: 1.5rem; color: var(--navy-700); font-size: 0.9rem; font-weight: 750; }
.contact-form-surface { padding: clamp(1.5rem, 4vw, 2.5rem); }

.contact-page-hero { min-height: calc(100svh - 5.5rem); display: grid; align-items: center; }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1.1fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.contact-page-grid h1 { max-width: 13ch; font-size: clamp(3.5rem, 6vw, 6.5rem); }
.contact-page-grid .contact-form-surface { color: var(--ink); }

.quote-card { padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--line-warm); background: var(--paper-warm); }
.quote-card blockquote { margin: 0; font-family: var(--font-display); font-size: var(--step-2); line-height: 1.25; }
.quote-card cite { display: block; margin-top: 1.3rem; color: var(--muted); font-size: 0.85rem; font-style: normal; font-weight: 750; }
.section--direction { background: linear-gradient(90deg, transparent 49.95%, var(--line-dark) 50%, transparent 50.05%), var(--paper); }
.not-found-hero { min-height: 65vh; display: grid; align-items: center; }
