:root {
  --night: #061632;
  --night-deep: #020a24;
  --blue-deep: #003fb8;
  --blue: #0094ef;
  --cyan: #2bc8e6;
  --purple: #5b3f8c;
  --purple-dark: #493372;
  --gold: #d4a64a;
  --gold-ink: #7a5710;
  --gold-soft: #ead3a0;
  --ivory: #edf6ff;
  --paper: #ffffff;
  --white: #ffffff;
  --ink: #14233d;
  --muted: #5b687b;
  --line: #d7e3ef;
  --line-dark: rgba(255, 255, 255, 0.18);
  --display: 'Montserrat', system-ui, sans-serif;
  --sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  --container: 1240px;
  --shadow: 0 24px 70px rgba(6, 22, 50, 0.12);
}

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.16;
  background-image: radial-gradient(rgba(0, 63, 184, 0.12) 0.65px, transparent 0.65px);
  background-size: 9px 9px;
}

img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
address { font-style: normal; }

:focus-visible {
  outline: 3px solid var(--blue);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--white);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  left: 24px;
  top: 16px;
  z-index: 200;
  padding: 10px 16px;
  color: var(--white);
  background: var(--night);
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus { transform: translateY(0); }

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.site-header.is-scrolled {
  border-bottom-color: rgba(6, 22, 50, 0.1);
  box-shadow: 0 10px 28px rgba(6, 22, 50, 0.07);
}

.header-inner {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.brand {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--night);
  text-decoration: none;
}
.brand img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  object-position: center 52%;
  border-radius: 9px;
  box-shadow: 0 3px 9px rgba(0, 63, 184, .12);
}
.brand span { display: grid; line-height: 1.05; }
.brand strong { font-family: var(--display); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.brand small {
  max-width: 235px;
  margin-top: 4px;
  color: #42526a;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 28px;
  font-size: 14px;
  font-weight: 600;
}

.site-nav > a:not(.button) {
  position: relative;
  text-decoration: none;
}

.site-nav > a:not(.button)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  background: var(--gold);
  transition: right 180ms ease;
}

.site-nav > a:not(.button):hover::after { right: 0; }
.site-nav .nav-utility { color: var(--purple-dark); }
.site-nav a[aria-current='page'] { color: var(--blue-deep); }
.site-nav a[aria-current='page']::after { right: 0; background: var(--blue); }

.menu-toggle {
  display: none;
  width: 46px;
  height: 46px;
  padding: 11px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 50%;
}

.menu-toggle span:not(.sr-only) {
  display: block;
  height: 2px;
  margin: 4px 0;
  background: var(--night);
}

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 22px;
  color: var(--white);
  background: var(--blue-deep);
  border: 1px solid var(--blue-deep);
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(0, 63, 184, 0.2);
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  background: var(--night);
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 63, 184, 0.24);
}

.button--small { min-height: 42px; padding: 10px 17px; }
.button--outline { color: var(--night); background: transparent; border-color: rgba(6, 22, 50, 0.38); box-shadow: none; }
.button--outline:hover { color: var(--white); border-color: var(--night); background: var(--night); }
.button--light { color: var(--night); background: var(--white); border-color: var(--white); box-shadow: none; }
.button--light:hover { color: var(--night); background: var(--gold-soft); border-color: var(--gold-soft); }
.button--ghost-light { color: var(--white); background: transparent; border-color: rgba(255, 255, 255, 0.5); box-shadow: none; }
.button--ghost-light:hover { color: var(--night); background: var(--white); border-color: var(--white); }
.button-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 {
  font-family: var(--display);
  font-weight: 700;
  text-wrap: balance;
}

h1, h2 {
  color: var(--night);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

h1 { margin-bottom: 24px; font-size: clamp(3.1rem, 5vw, 4.65rem); font-weight: 800; }
h2 { margin-bottom: 22px; font-size: clamp(2.35rem, 4.2vw, 3.5rem); }
h3 { color: var(--night); font-size: 1.18rem; line-height: 1.35; }
h1 em, h2 em { color: var(--blue-deep); font-style: normal; font-weight: 700; }

.eyebrow {
  margin-bottom: 18px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.4;
  text-transform: uppercase;
}

.eyebrow--light { color: var(--gold-soft); }
.hero { overflow: hidden; padding: 66px 0 86px; }

.hero-grid {
  min-height: 600px;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(420px, 5fr);
  align-items: center;
  gap: 6.5%;
}

.hero-copy { min-width: 0; max-width: 680px; padding-bottom: 12px; }
.hero-lead { max-width: 620px; color: var(--muted); font-size: 19px; line-height: 1.75; }
.hero-note { margin: 16px 0 0; color: #42526a; font-size: 13px; font-weight: 500; }

.editorial-visual {
  position: relative;
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 88% 12%, rgba(43, 200, 230, 0.28), transparent 28%),
    radial-gradient(circle at 8% 92%, rgba(91, 63, 140, 0.18), transparent 30%),
    linear-gradient(135deg, var(--night-deep), var(--blue-deep) 62%, #007bcf),
    repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(255,255,255,.06) 19px, rgba(255,255,255,.06) 20px);
  border-radius: 2px;
  box-shadow: var(--shadow);
}

.editorial-visual::before,
.editorial-visual::after {
  content: '';
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
}

.editorial-visual::before { width: 240px; height: 240px; top: -80px; right: -45px; }
.editorial-visual::after { width: 110px; height: 110px; left: 26px; bottom: 58px; }

.visual-content {
  position: relative;
  z-index: 1;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 40px;
}

.visual-kicker {
  margin: 0 0 16px;
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.visual-title {
  max-width: 430px;
  font-family: var(--display);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.08;
}

.visual-caption {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: auto;
  padding-top: 22px;
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.visual-caption span + span { color: var(--gold-soft); }
.editorial-visual--hero { min-height: 570px; }
.hero-principle {
  background:
    linear-gradient(130deg, rgba(2, 10, 36, 0.98), rgba(0, 63, 184, 0.98)),
    var(--night);
}
.hero-principle::before {
  width: 360px;
  height: 360px;
  top: -220px;
  right: -140px;
  border-color: rgba(255, 255, 255, 0.12);
}
.hero-principle::after { display: none; }
.hero-principle .visual-content {
  justify-content: flex-start;
  padding: 52px;
}
.hero-principle .visual-title {
  max-width: 520px;
  margin-bottom: 36px;
  font-size: clamp(2rem, 2.6vw, 2.75rem);
}
.hero-principle ol {
  width: 100vw;
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.hero-principle li {
  display: grid;
  grid-template-columns: 38px 110px 1fr;
  gap: 12px;
  align-items: baseline;
  padding: 17px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.hero-principle li > span {
  color: var(--gold-soft);
  font-family: var(--display);
  font-size: 10px;
  font-weight: 700;
}
.hero-principle li > strong {
  color: var(--white);
  font-family: var(--display);
  font-size: 1rem;
}
.hero-principle li > small {
  color: rgba(255, 255, 255, 0.66);
  font-size: 12px;
  line-height: 1.5;
}
.editorial-visual--admissions { min-height: 450px; box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.editorial-visual--admissions .visual-title { max-width: 380px; }
.editorial-visual--admissions .visual-content { justify-content: space-between; }

.section { padding: 96px 0; }
.section--intro { padding-top: 108px; }
.section--ivory { background: var(--ivory); }
.section--dark { color: rgba(255,255,255,.78); background: var(--night); }
.section--dark h2, .section--dark h3 { color: var(--white); }
.section--dark p { color: rgba(255,255,255,.72); }

.proof-strip {
  color: var(--night);
  background: var(--ivory);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.proof-grid article {
  min-height: 260px;
  padding: 48px 42px;
  border-right: 1px solid var(--line);
}

.proof-grid article:first-child { border-left: 1px solid var(--line); }
.proof-grid span { color: var(--gold-ink); font-family: var(--display); font-size: 12px; font-weight: 700; }
.proof-grid h2 { margin: 34px 0 14px; font-size: 1.65rem; letter-spacing: -.025em; }
.proof-grid p { margin: 0; color: var(--muted); font-size: 14px; }

.intro-grid,
.editorial-grid,
.support-grid,
.contact-grid,
.process-layout,
.faq-layout {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 32px;
}

.intro-grid > :first-child { grid-column: 1 / span 6; }
.intro-grid > :last-child { grid-column: 8 / -1; }
.lead-copy { color: var(--night); font-family: var(--display); font-size: 1.34rem; font-weight: 600; line-height: 1.5; }

.editorial-copy { grid-column: 1 / span 5; align-self: center; }
.editorial-grid > .editorial-visual { grid-column: 7 / -1; }
.editorial-grid > .method-list { grid-column: 7 / -1; }
.editorial-grid--reverse > .editorial-copy { grid-column: 7 / -1; }
.editorial-grid--reverse > .editorial-visual { grid-column: 1 / span 5; grid-row: 1; }
.text-link { display: inline-flex; margin-top: 18px; color: var(--blue-deep); font-weight: 700; text-underline-offset: 5px; }
.text-link--light { color: var(--gold-soft); }

.method-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.method-list li { display: grid; grid-template-columns: 130px 1fr; gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--line-dark); }
.method-list span { color: var(--gold-soft); font-family: var(--display); font-size: 1.08rem; font-weight: 700; }
.method-list p { margin: 0; }

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 4fr);
  align-items: end;
  gap: 8.333%;
  margin-bottom: 62px;
}
.section-heading > p { margin-bottom: 14px; color: var(--muted); }
.section-heading--compact { margin-bottom: 48px; }
.section-heading--light > p { color: rgba(255,255,255,.7); }

.advantages-layout { display: grid; grid-template-columns: minmax(360px, 5fr) minmax(0, 6fr); gap: 8.333%; align-items: center; }
.advantage-list { margin: 0; padding: 0; list-style: none; }
.advantage-list li { display: grid; grid-template-columns: 54px 1fr; gap: 20px; padding: 28px 0; border-top: 1px solid var(--line); }
.advantage-list li:last-child { border-bottom: 1px solid var(--line); }
.advantage-list span { color: var(--gold-ink); font-family: var(--display); font-size: 1.2rem; font-weight: 700; }
.advantage-list h3 { margin-bottom: 8px; font-size: 1.35rem; }
.advantage-list p { margin: 0; color: var(--muted); }

.academic-path { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.academic-path article { position: relative; min-height: 330px; padding: 38px 30px; border-right: 1px solid var(--line); }
.academic-path article:last-child { border-right: 0; }
.academic-path article::after { content: ''; position: absolute; left: 30px; bottom: 0; width: 0; height: 3px; background: var(--blue); transition: width 220ms ease; }
.academic-path article:hover::after { width: calc(100% - 60px); }
.path-number { color: var(--gold-ink); font-family: var(--display); font-size: 2.5rem; font-weight: 700; }
.academic-path h3 { font-size: 1.7rem; }
.academic-path article > p:last-child { color: var(--muted); font-size: 14px; }

.support-grid > .editorial-visual { grid-column: 1 / span 6; }
.support-grid > div { grid-column: 8 / -1; align-self: center; }
blockquote { margin: 30px 0; color: var(--night); font-family: var(--display); font-size: 1.28rem; font-weight: 600; line-height: 1.5; }
.support-grid > div > p:not(.eyebrow):not(.support-close) { color: var(--muted); }
.support-close { margin-top: 28px; color: var(--night); font-weight: 600; }
.check-list { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; color: var(--muted); }
.check-list li { position: relative; padding-left: 26px; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--blue); font-weight: 700; }
.check-list--light { color: rgba(255,255,255,.72); }
.check-list--light li::before { color: var(--gold-soft); }

.life-heading { margin-bottom: 54px; }
.life-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.life-card {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  padding: 34px 38px 38px;
  color: var(--white);
  border-right: 1px solid var(--line-dark);
}
.life-card:last-child { border-right: 0; }
.life-card .life-number {
  color: var(--gold-soft);
  font-family: var(--display);
  font-size: 11px;
  font-weight: 700;
}
.life-card svg {
  width: 54px;
  height: 54px;
  margin: 44px 0 auto;
  fill: none;
  stroke: var(--cyan);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
}
.life-card strong {
  margin-top: 44px;
  font-family: var(--display);
  font-size: 1.45rem;
  line-height: 1.18;
}
.life-card p {
  max-width: 290px;
  margin: 12px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  line-height: 1.6;
}
.life-closing {
  max-width: 880px;
  margin: 42px 0 0;
  color: var(--white) !important;
  font-family: var(--display);
  font-size: clamp(1.45rem, 2.6vw, 2.25rem);
  font-weight: 600;
  line-height: 1.35;
}

.identity-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 8.333%; align-items: start; }
.identity-intro { max-width: 500px; }
.identity-intro h2 { margin-bottom: 30px; }
.identity-note {
  max-width: 340px;
  margin: 52px 0 0;
  padding-top: 18px;
  color: var(--blue-deep);
  border-top: 2px solid var(--gold);
  font-family: var(--display);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
.identity-statements { display: grid; grid-template-columns: repeat(2, 1fr); }
.identity-statement {
  min-height: 370px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 42px;
}
.identity-statement p:last-child {
  margin: 0;
  font-family: var(--display);
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.68;
}
.identity-statement--mission {
  color: var(--white);
  background: var(--blue-deep);
}
.identity-statement--mission p:last-child { color: rgba(255, 255, 255, 0.88); }
.identity-statement--mission .identity-label { color: var(--gold-soft); }
.identity-statement--vision {
  color: var(--night);
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 0;
}
.identity-statement--vision p:last-child { color: var(--ink); }
.identity-label {
  margin-bottom: 44px;
  color: var(--blue-deep);
  font-family: var(--display);
  font-size: 1.4rem;
  font-weight: 700;
}

.participation-path {
  position: relative;
  grid-column: 1 / span 6 !important;
  min-height: 560px;
  align-self: stretch !important;
  overflow: hidden;
  padding: 46px;
  color: var(--night);
  background: #e7f3ff;
  border: 1px solid #c9deef;
}
.participation-path > p {
  margin-bottom: 42px;
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.participation-path ol {
  position: relative;
  z-index: 1;
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(0, 63, 184, 0.2);
}
.participation-path li {
  display: grid;
  grid-template-columns: 40px 128px 1fr;
  gap: 14px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid rgba(0, 63, 184, 0.2);
}
.participation-path li span {
  color: var(--gold-ink);
  font-family: var(--display);
  font-size: 10px;
  font-weight: 700;
}
.participation-path li strong {
  font-family: var(--display);
  font-size: 1.1rem;
}
.participation-path li small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.participation-mark {
  position: absolute;
  right: -78px;
  bottom: -96px;
  width: 280px;
  height: 280px;
}
.participation-mark span {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(0, 63, 184, 0.14);
  border-radius: 50%;
}
.participation-mark span:nth-child(2) { inset: 52px; }
.participation-mark span:nth-child(3) { inset: 104px; background: var(--blue-deep); border: 0; }
.support-copy { grid-column: 8 / -1 !important; }

.innovation-map {
  grid-column: 1 / span 6;
  grid-row: 1;
  min-height: 660px;
  display: flex;
  flex-direction: column;
  padding: 42px;
  color: var(--white);
  background:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(145deg, var(--night-deep), var(--blue-deep));
  background-size: 34px 34px, 34px 34px, auto;
  box-shadow: var(--shadow);
}
.innovation-map__heading {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 12px;
}
.innovation-map__heading span {
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.innovation-map__heading strong {
  max-width: 420px;
  font-family: var(--display);
  font-size: 1.75rem;
  line-height: 1.25;
}
.innovation-map__diagram {
  position: relative;
  flex: 1;
  min-height: 400px;
  margin-top: 28px;
}
.innovation-map__diagram svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: rgba(255,255,255,.32);
  stroke-dasharray: 4 7;
  stroke-width: 1.2;
}
.innovation-core,
.innovation-node {
  position: absolute;
  z-index: 1;
  display: grid;
  place-content: center;
  text-align: center;
  border-radius: 50%;
}
.innovation-core {
  left: 50%;
  top: 50%;
  width: 160px;
  height: 160px;
  color: var(--night);
  background: var(--white);
  transform: translate(-50%, -50%);
}
.innovation-core small {
  color: var(--blue-deep);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.innovation-core strong { margin-top: 8px; font-family: var(--display); line-height: 1.3; }
.innovation-node {
  width: 112px;
  height: 112px;
  border: 1px solid rgba(255,255,255,.5);
  background: rgba(2,10,36,.48);
  backdrop-filter: blur(6px);
}
.innovation-node span { color: var(--gold-soft); font-size: 9px; font-weight: 700; }
.innovation-node strong { margin-top: 4px; font-family: var(--display); font-size: .88rem; }
.innovation-node--one { left: 0; top: 0; }
.innovation-node--two { right: 0; top: 0; }
.innovation-node--three { left: 50%; bottom: -4px; transform: translateX(-50%); }
.innovation-map__footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin: 28px 0 0;
  padding-top: 18px;
  color: rgba(255,255,255,.66);
  border-top: 1px solid rgba(255,255,255,.2);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.academic-heading h2 { max-width: 760px; }

.section--admissions { padding: 0; color: var(--white); background: linear-gradient(120deg, var(--night-deep), var(--blue-deep)); }
.admissions-panel {
  position: relative;
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  align-items: center;
  gap: 8.333%;
  padding-block: 80px;
}
.admissions-panel::after {
  content: '27';
  position: absolute;
  right: 0;
  bottom: -48px;
  color: rgba(255,255,255,.06);
  font-family: var(--display);
  font-size: 16rem;
  font-weight: 800;
  line-height: 1;
  pointer-events: none;
}
.admissions-panel h2 { color: var(--white); }
.admissions-panel p { color: rgba(255,255,255,.75); }
.admissions-panel > * { position: relative; z-index: 1; }
.admissions-overline {
  margin-bottom: 22px;
  color: var(--gold-soft) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.admissions-actions { display: grid; justify-items: start; gap: 28px; }

.section--contact { background: #edf6ff; }
.contact-grid > :first-child { grid-column: 1 / span 6; }
.contact-grid > :last-child { grid-column: 8 / -1; }
.contact-card { padding: 10px 0; border-top: 1px solid var(--line); }
.contact-card > div { display: grid; grid-template-columns: 120px 1fr; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-card span { color: var(--muted); font-size: 12px; font-weight: 600; }
.contact-card a { color: var(--blue-deep); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.contact-card .button { text-decoration: none; }
.contact-card .button:not(.button--outline) { color: var(--white); }
.location-card {
  grid-column: 8 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 5fr) minmax(220px, 7fr);
  align-items: stretch;
  min-height: 330px;
  overflow: hidden;
  color: var(--night);
  background: var(--white);
  border: 1px solid #ccdfef;
  box-shadow: 0 24px 60px rgba(6,22,50,.09);
}
.location-card > div:last-child { align-self: center; padding: 32px; }
.location-card h3 { margin: 8px 0 14px; font-size: 1.55rem; }
.location-card p:not(.location-label) { margin: 0; color: var(--muted); font-size: 13px; }
.location-label {
  margin: 0;
  color: var(--blue-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.location-map {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  background:
    linear-gradient(36deg, transparent 44%, rgba(0,63,184,.08) 44%, rgba(0,63,184,.08) 48%, transparent 48%),
    linear-gradient(132deg, transparent 34%, rgba(0,148,239,.09) 34%, rgba(0,148,239,.09) 38%, transparent 38%),
    #dceefe;
}
.map-road {
  position: absolute;
  width: 360px;
  height: 64px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(0,63,184,.08);
  transform-origin: center;
}
.map-road--one { left: -120px; top: 70px; transform: rotate(28deg); }
.map-road--two { left: -80px; top: 190px; transform: rotate(-22deg); }
.map-road--three { left: 18px; top: 120px; transform: rotate(86deg); }
.map-pin {
  position: absolute;
  left: 52%;
  top: 46%;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  background: var(--blue-deep);
  border: 7px solid var(--white);
  border-radius: 50% 50% 50% 0;
  box-shadow: 0 12px 30px rgba(0,63,184,.28);
  transform: translate(-50%, -50%) rotate(-45deg);
}
.map-pin i {
  width: 9px;
  height: 9px;
  background: var(--cyan);
  border-radius: 50%;
}

.site-footer { padding: 72px 0 24px; color: rgba(255,255,255,.72); background: var(--night-deep); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 48px; }
.footer-grid img { width: 150px; margin-bottom: 22px; filter: brightness(0) invert(1); }
.footer-grid h2 { color: var(--white); font-family: var(--sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { display: block; margin: 9px 0; font-size: 13px; text-decoration: none; }
.footer-grid a:hover { color: var(--gold-soft); }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 58px; padding-top: 22px; border-top: 1px solid var(--line-dark); font-size: 11px; }

/* Admissions */
.admissions-hero { padding: 74px 0 84px; color: rgba(255,255,255,.78); background: linear-gradient(125deg, var(--night-deep), var(--blue-deep)); }
.admissions-hero h1 { color: var(--white); }
.admissions-hero h1 em { color: var(--cyan); }
.admissions-hero-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(420px, 6fr); align-items: center; gap: 8.333%; }
.route-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.route-card { min-height: 530px; display: flex; flex-direction: column; padding: 46px; background: var(--white); border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(6,22,50,.07); }
.route-card--primary { border-top: 5px solid var(--blue-deep); }
.route-label { color: var(--blue-deep); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.route-card h3 { margin: 16px 0; font-size: 2.2rem; }
.route-card > p:not(.route-label) { color: var(--muted); }
.route-card ul { display: grid; gap: 12px; margin: 24px 0; padding-left: 20px; }
.route-card-footer { display: grid; justify-items: start; gap: 20px; margin-top: auto; padding-top: 30px; border-top: 1px solid var(--line); }
.route-card-footer span { color: var(--muted); font-size: 11px; }

.faq-list details { border-top: 1px solid var(--line); }
details summary { position: relative; padding: 22px 44px 22px 0; color: var(--night); font-weight: 700; cursor: pointer; list-style: none; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: '+'; position: absolute; right: 8px; top: 18px; color: var(--blue-deep); font-family: var(--display); font-size: 1.5rem; }
details[open] summary::after { content: '−'; }
details p { padding: 0 44px 22px 0; color: var(--muted); }

.process-layout > :first-child { grid-column: 1 / span 4; }
.process-layout > :last-child { grid-column: 6 / -1; }
.process-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 36px; }
.process-columns h3 { padding-bottom: 18px; border-bottom: 2px solid var(--gold); font-size: 1.7rem; }
.process-columns ol { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.process-columns li { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 12px; color: var(--muted); font-size: 13px; }
.process-columns li span { width: 28px; height: 28px; display: grid; place-items: center; color: var(--blue-deep); background: var(--ivory); border-radius: 50%; font-family: var(--display); font-weight: 700; }

.faq-layout > :first-child { grid-column: 1 / span 4; }
.faq-layout > :last-child { grid-column: 6 / -1; }
.contact-card--actions { display: grid; align-content: center; justify-items: start; gap: 16px; border-top: 0; }
.contact-card--actions .text-link { margin-top: 12px; }

[data-reveal] { opacity: 1; transform: none; }
.reveal-enabled [data-reveal] { opacity: 1; transform: translateY(14px); transition: transform 460ms ease; }
.reveal-enabled [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1120px) {
  .site-container { width: min(calc(100% - 64px), var(--container)); }
  .menu-toggle { display: block; }
  .site-nav {
    position: absolute;
    left: 32px;
    right: 32px;
    top: calc(100% + 8px);
    display: none;
    align-items: stretch;
    padding: 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .site-nav.is-open { display: grid; }
  .site-nav > a:not(.button):not(.nav-utility) { display: block; }
  .site-nav a { padding: 8px 4px; }
  .hero-grid, .admissions-hero-grid { grid-template-columns: minmax(0, 5fr) minmax(380px, 6fr); gap: 48px; }
  .proof-grid article { padding-inline: 30px; }
  .hero-principle .visual-content { padding: 42px; }
  .hero-principle li { grid-template-columns: 34px 95px 1fr; }
  .innovation-map { min-height: 620px; padding: 34px; }
}

@media (max-width: 900px) {
  .site-container { width: min(calc(100% - 48px), var(--container)); }
  .header-inner { min-height: 76px; }
  .menu-toggle { display: block; }
  .site-nav {
    position: absolute;
    left: 24px;
    right: 24px;
    top: calc(100% + 8px);
    display: none;
    align-items: stretch;
    padding: 18px;
    background: var(--paper);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
  }
  .site-nav.is-open { display: grid; }
  .site-nav > a:not(.button):not(.nav-utility) { display: block; }
  .site-nav a { padding: 8px 4px; }
  .hero-grid, .admissions-hero-grid { min-height: auto; grid-template-columns: 1fr; }
  .hero { padding-top: 48px; }
  .editorial-visual--hero { min-height: 520px; }
  .admissions-hero-grid { gap: 56px; }

  .intro-grid > :first-child, .editorial-copy, .support-grid > .editorial-visual,
  .contact-grid > :first-child, .process-layout > :first-child,
  .faq-layout > :first-child { grid-column: 1 / span 6; }
  .intro-grid > :last-child, .editorial-grid > .editorial-visual, .support-grid > div,
  .contact-grid > :last-child, .process-layout > :last-child,
  .faq-layout > :last-child { grid-column: 7 / -1; }

  .advantages-layout { grid-template-columns: 1fr 1fr; gap: 48px; }
  .editorial-grid > .method-list { grid-column: 7 / -1; }
  .identity-grid { grid-template-columns: 1fr; gap: 48px; }
  .identity-intro { max-width: 680px; }
  .identity-statements { grid-template-columns: 1fr 1fr; }
  .editorial-grid--reverse > .editorial-copy { grid-column: 7 / -1; }
  .editorial-grid--reverse > .editorial-visual,
  .innovation-map { grid-column: 1 / span 6; }
  .academic-path { grid-template-columns: repeat(2, 1fr); }
  .academic-path article:nth-child(2) { border-right: 0; }
  .academic-path article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .life-card { min-height: 320px; padding-inline: 28px; }
  .participation-path { padding: 36px; }
  .participation-path li { grid-template-columns: 34px 105px 1fr; }
  .admissions-panel { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid { grid-template-columns: 2fr repeat(3, 1fr); gap: 26px; }
}

@media (max-width: 720px) {
  .site-container { width: min(calc(100% - 40px), var(--container)); }
  .section { padding: 68px 0; }
  .section--intro { padding-top: 72px; }
  .hero { padding: 42px 0 66px; }
  h1 { font-size: clamp(2.65rem, 12vw, 3.5rem); }
  h2 { font-size: clamp(2.1rem, 9vw, 2.85rem); }
  .hero-lead { font-size: 17px; }
  .button-row { display: grid; }
  .button-row .button { width: 100%; }
  .editorial-visual--hero { min-height: 470px; }
  .visual-content { padding: 28px; }
  .proof-grid { grid-template-columns: 1fr; }
  .proof-grid article { min-height: auto; padding: 36px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .proof-grid article:first-child { border-left: 0; }
  .proof-grid article:last-child { border-bottom: 0; }
  .proof-grid h2 { margin-top: 20px; }

  .intro-grid, .editorial-grid, .support-grid, .contact-grid,
  .process-layout, .faq-layout { grid-template-columns: 1fr; gap: 42px; }
  .intro-grid > *, .editorial-grid > *, .support-grid > *,
  .contact-grid > *, .process-layout > *, .faq-layout > * { grid-column: 1 !important; }
  .section-heading { grid-template-columns: 1fr; gap: 12px; margin-bottom: 48px; }
  .identity-grid { grid-template-columns: 1fr; gap: 36px; }
  .identity-statements { grid-template-columns: 1fr; }
  .identity-statement { min-height: auto; padding: 34px 28px; }
  .identity-statement--vision { border-left: 1px solid var(--line); border-top: 0; }
  .identity-label { margin-bottom: 26px; }
  .editorial-grid--reverse > .editorial-visual { grid-row: auto; }
  .innovation-map { grid-row: auto; min-height: 590px; padding: 28px; }
  .innovation-map__heading strong { font-size: 1.5rem; }
  .method-list li { grid-template-columns: 1fr; gap: 8px; }
  .advantages-layout { grid-template-columns: 1fr; }
  .academic-path { grid-template-columns: 1fr; }
  .academic-path article { min-height: 270px; border-right: 0; border-bottom: 1px solid var(--line); }
  .academic-path article:last-child { border-bottom: 0; }
  .life-grid { grid-template-columns: 1fr; }
  .life-card { min-height: 290px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .life-card:last-child { border-bottom: 0; }
  .life-card svg { margin-top: 32px; }
  .participation-path { min-height: auto; padding: 30px 26px 160px; }
  .participation-path li { grid-template-columns: 34px 1fr; gap: 8px 12px; }
  .participation-path li small { grid-column: 2; }
  .support-copy { grid-column: 1 !important; }
  .admissions-panel { min-height: 470px; }
  .contact-card > div { grid-template-columns: 1fr; gap: 4px; }
  .location-card { grid-column: 1; grid-template-columns: 1fr; }
  .location-map { min-height: 230px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .footer-bottom { display: grid; }

  .admissions-hero { padding: 54px 0 66px; }
  .editorial-visual--admissions { min-height: 360px; }
  .route-cards, .process-columns { grid-template-columns: 1fr; }
  .route-card { min-height: 500px; padding: 34px 26px; }
}

@media (max-width: 420px) {
  .site-container { width: min(calc(100% - 32px), var(--container)); }
  .brand { gap: 9px; }
  .brand img { width: 42px; height: 42px; border-radius: 9px; }
  .brand strong { font-size: 1.08rem; }
  .brand small { max-width: 190px; margin-top: 2px; font-size: 7px; letter-spacing: .015em; }
  .editorial-visual--hero { min-height: 420px; }
  .visual-title { font-size: 1.5rem; }
  .hero-principle .visual-content { padding: 28px; }
  .hero-principle .visual-title { margin-bottom: 24px; }
  .hero-principle li { grid-template-columns: 32px 1fr; gap: 4px 10px; }
  .hero-principle li > small { grid-column: 2; }
  .innovation-map { min-height: 540px; padding: 24px; }
  .innovation-map__diagram { min-height: 350px; }
  .innovation-core { width: 126px; height: 126px; }
  .innovation-node { width: 88px; height: 88px; }
  .innovation-node strong { font-size: .72rem; }
  .life-card { min-height: 260px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > :first-child { grid-column: 1; }
}

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

/* Campaign-led institutional direction · 2027 */
:root {
  --campaign-blue: #064bc9;
  --campaign-cyan: #13b8e8;
  --campaign-gold: #c8a356;
  --campaign-cream: #fbfaf6;
}

.page-home .site-header {
  color: var(--white);
  background: rgba(2, 10, 36, 0.94);
  border-bottom-color: transparent;
}

.page-home .site-header.is-scrolled {
  border-bottom-color: transparent;
  box-shadow: none;
}

.page-home .brand,
.page-home .site-nav > a:not(.button) {
  color: var(--white);
}

.page-home .brand small {
  color: rgba(255, 255, 255, 0.66);
}

.page-home .site-nav .nav-utility {
  color: #c4eefe;
}

.page-home .menu-toggle {
  border-color: rgba(255, 255, 255, 0.28);
}

.page-home .menu-toggle span:not(.sr-only) {
  background: var(--white);
}

.page-home .site-nav > .button {
  color: var(--night);
  background: var(--campaign-cream);
  border-color: var(--campaign-cream);
  box-shadow: none;
}

.campaign-hero {
  position: relative;
  isolation: isolate;
  min-height: 760px;
  overflow: hidden;
  color: var(--white);
  background:
    linear-gradient(115deg, rgba(2, 10, 36, 0.98) 0%, rgba(4, 35, 104, 0.96) 46%, rgba(6, 75, 201, 0.88) 100%),
    var(--night-deep);
}

.campaign-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.26;
  background:
    linear-gradient(90deg, transparent 0 67%, rgba(255, 255, 255, 0.08) 67% 67.08%, transparent 67.08%),
    linear-gradient(0deg, transparent 0 78%, rgba(255, 255, 255, 0.08) 78% 78.08%, transparent 78.08%),
    repeating-linear-gradient(122deg, transparent 0 110px, rgba(255, 255, 255, 0.035) 111px 112px);
}

.campaign-hero::after {
  content: 'CBIS';
  position: absolute;
  z-index: -1;
  right: -0.05em;
  bottom: -0.18em;
  color: rgba(255, 255, 255, 0.035);
  font-family: var(--display);
  font-size: clamp(11rem, 25vw, 27rem);
  font-weight: 800;
  letter-spacing: -0.09em;
  line-height: 1;
  pointer-events: none;
}

.campaign-hero__glow {
  position: absolute;
  z-index: -1;
  width: 48vw;
  height: 48vw;
  right: -20vw;
  top: -24vw;
  background: radial-gradient(circle, rgba(19, 184, 232, 0.64), rgba(19, 184, 232, 0) 68%);
  filter: blur(6px);
  pointer-events: none;
}

.campaign-hero__grid {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(390px, 5fr);
  align-items: center;
  gap: clamp(52px, 7vw, 108px);
  padding-top: 54px;
  padding-bottom: 42px;
}

.campaign-hero__copy {
  min-width: 0;
  padding: 34px 0 54px;
}

.campaign-status {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 30px;
  color: #ead8af;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 1.4;
  text-transform: uppercase;
}

.campaign-status > span {
  width: 46px;
  height: 1px;
  background: var(--campaign-gold);
}

.campaign-status--compact {
  margin-bottom: 24px;
}

.campaign-hero h1 {
  max-width: 780px;
  margin-bottom: 28px;
  color: var(--white);
  font-size: clamp(3.8rem, 6.25vw, 6.55rem);
  letter-spacing: -0.065em;
  line-height: 0.91;
}

.campaign-hero h1 em {
  display: block;
  margin-top: 0.1em;
  color: #e3c77e;
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.055em;
}

.campaign-hero__lead {
  max-width: 650px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1.05rem, 1.4vw, 1.23rem);
  line-height: 1.72;
}

.campaign-hero__note {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.54);
  font-size: 12px;
  font-weight: 600;
}

.button--campaign {
  color: var(--night);
  background: var(--campaign-cream);
  border-color: var(--campaign-cream);
  box-shadow: 0 18px 40px rgba(2, 10, 36, 0.28);
}

.button--campaign:hover {
  color: var(--night);
  background: #ead8af;
  border-color: #ead8af;
}

.campaign-portrait {
  position: relative;
  width: min(100%, 470px);
  margin: 0;
  justify-self: end;
}

.campaign-portrait::before,
.campaign-portrait::after {
  content: '';
  position: absolute;
  z-index: 3;
  width: 54px;
  height: 54px;
  pointer-events: none;
}

.campaign-portrait::before {
  left: -14px;
  top: -14px;
  border-left: 1px solid var(--campaign-gold);
  border-top: 1px solid var(--campaign-gold);
}

.campaign-portrait::after {
  right: -14px;
  bottom: 72px;
  border-right: 1px solid var(--campaign-gold);
  border-bottom: 1px solid var(--campaign-gold);
}

.campaign-portrait__frame {
  position: relative;
  height: 590px;
  overflow: hidden;
  background: var(--campaign-blue);
  box-shadow: 0 34px 80px rgba(2, 10, 36, 0.42);
}

.campaign-portrait__frame::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 55%, rgba(2, 10, 36, 0.38)),
    linear-gradient(90deg, rgba(19, 184, 232, 0.1), transparent 35%);
  pointer-events: none;
}

.campaign-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 30%;
}

.campaign-portrait__index {
  position: absolute;
  z-index: 1;
  right: -0.04em;
  bottom: -0.17em;
  color: rgba(255, 255, 255, 0.12);
  font-family: var(--display);
  font-size: 13rem;
  font-weight: 800;
  line-height: 1;
}

.campaign-portrait figcaption {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 18px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.campaign-portrait figcaption strong {
  color: #ead8af;
  font-weight: 700;
  text-align: right;
}

.campaign-mark {
  position: absolute;
  z-index: 4;
  right: 22px;
  top: 22px;
  display: flex;
  gap: 7px;
}

.campaign-mark i {
  width: 9px;
  height: 9px;
  display: block;
  border-radius: 50%;
  background: #ef5c4f;
  box-shadow: 0 2px 8px rgba(2, 10, 36, 0.24);
}

.campaign-mark i:nth-child(2) { background: #eab72f; }
.campaign-mark i:nth-child(3) { background: #55aa92; }
.campaign-mark i:nth-child(4) { background: #8a6aad; }

.campaign-principles {
  min-height: 70px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.17);
}

.campaign-principles span {
  min-height: 70px;
  display: flex;
  align-items: center;
  padding: 0 26px;
  color: rgba(255, 255, 255, 0.64);
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
}

.campaign-principles span:first-child { padding-left: 0; }
.campaign-principles span:last-child { border-right: 0; }

.proof-strip {
  background: var(--campaign-cream);
  border-bottom-color: #dfe6ec;
}

.proof-grid article {
  position: relative;
  min-height: 310px;
  padding: 52px 42px 46px;
  transition: color 220ms ease, background 220ms ease;
}

.proof-grid article::before {
  content: '';
  position: absolute;
  left: 42px;
  top: 0;
  width: 58px;
  height: 3px;
  background: var(--campaign-gold);
}

.proof-grid article:hover {
  color: var(--white);
  background: var(--campaign-blue);
}

.proof-grid article:hover h2,
.proof-grid article:hover p,
.proof-grid article:hover span {
  color: inherit;
}

.section--dark {
  background:
    repeating-linear-gradient(128deg, transparent 0 150px, rgba(255, 255, 255, 0.025) 151px 152px),
    var(--night);
}

.editorial-grid > .editorial-copy {
  position: sticky;
  top: 132px;
  align-self: start;
}

.method-list {
  counter-reset: cbis-method;
}

.method-list li {
  counter-increment: cbis-method;
  position: relative;
  grid-template-columns: 38px 130px 1fr;
  gap: 22px;
  padding: 30px 0;
}

.method-list li::before {
  content: '0' counter(cbis-method);
  color: rgba(255, 255, 255, 0.34);
  font-family: var(--display);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.method-list span {
  color: #e3c77e;
}

.identity-statements {
  align-items: start;
  gap: 18px;
}

.identity-statement {
  border: 1px solid rgba(6, 22, 50, 0.1);
  box-shadow: 0 26px 60px rgba(6, 22, 50, 0.08);
}

.identity-statement--mission {
  transform: translateY(38px);
}

.participation-path {
  background:
    linear-gradient(140deg, rgba(19, 184, 232, 0.08), transparent 45%),
    var(--campaign-cream);
  border-top: 4px solid var(--campaign-blue);
}

.participation-mark {
  right: -20px;
  bottom: -28px;
  width: 210px;
  height: 150px;
  display: flex;
  align-items: end;
  gap: 12px;
  transform: rotate(-8deg);
}

.participation-mark span {
  position: static;
  width: 46px;
  height: 88px;
  border: 0;
  border-radius: 0;
  background: rgba(6, 75, 201, 0.08);
}

.participation-mark span:nth-child(2) {
  height: 118px;
  background: rgba(19, 184, 232, 0.2);
}

.participation-mark span:nth-child(3) {
  height: 148px;
  background: var(--campaign-blue);
}

.innovation-map {
  background:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(145deg, var(--night-deep), var(--campaign-blue));
  background-size: 42px 42px, 42px 42px, auto;
}

.innovation-core,
.innovation-node {
  border-radius: 3px;
}

.innovation-core {
  box-shadow: 16px 16px 0 rgba(19, 184, 232, 0.18);
}

.innovation-node {
  background: rgba(2, 10, 36, 0.72);
}

.academic-path {
  background: var(--campaign-cream);
}

.academic-path article {
  overflow: hidden;
  transition: color 220ms ease, background 220ms ease, transform 220ms ease;
}

.academic-path article:hover {
  z-index: 1;
  background: var(--white);
  box-shadow: 0 24px 50px rgba(6, 22, 50, 0.12);
  transform: translateY(-8px);
}

.life-grid {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid var(--line-dark);
}

.life-card {
  min-height: 0;
  display: grid;
  grid-template-columns: 70px 80px minmax(180px, 0.8fr) minmax(0, 1.25fr);
  align-items: center;
  gap: 24px;
  padding: 30px 0;
  border-right: 0;
  border-bottom: 1px solid var(--line-dark);
  transition: padding 200ms ease, background 200ms ease;
}

.life-card:last-child {
  border-bottom: 0;
}

.life-card:hover {
  padding-inline: 24px;
  background: rgba(255, 255, 255, 0.045);
}

.life-card .life-number,
.life-card svg,
.life-card strong,
.life-card p {
  margin: 0;
}

.life-card svg {
  width: 42px;
  height: 42px;
}

.life-card strong {
  font-size: 1.24rem;
}

.life-card p {
  max-width: none;
}

.life-closing {
  max-width: 730px;
  margin: 58px 0 0 auto;
  padding: 0 0 0 30px;
  border-top: 0;
  border-left: 1px solid var(--campaign-gold);
  text-align: left;
}

.section--admissions {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(110deg, rgba(2, 10, 36, 0.98), rgba(6, 75, 201, 0.94)),
    var(--night-deep);
}

.section--admissions::before {
  content: '';
  position: absolute;
  width: 430px;
  height: 1px;
  right: -72px;
  top: 82px;
  background: var(--campaign-gold);
  transform: rotate(-28deg);
  transform-origin: center;
}

.admissions-panel::after {
  color: rgba(255, 255, 255, 0.045);
}

/* Admissions campaign */
.admissions-hero--campaign {
  position: relative;
  isolation: isolate;
  min-height: 690px;
  overflow: hidden;
  padding: 52px 0 64px;
  background:
    linear-gradient(120deg, rgba(2, 10, 36, 0.99), rgba(4, 41, 119, 0.96) 58%, rgba(6, 75, 201, 0.9)),
    var(--night-deep);
}

.admissions-hero--campaign::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.35;
  background:
    repeating-linear-gradient(128deg, transparent 0 130px, rgba(255, 255, 255, 0.04) 131px 132px),
    linear-gradient(90deg, transparent 0 54%, rgba(255, 255, 255, 0.05) 54% 54.08%, transparent 54.08%);
}

.admissions-hero--campaign .admissions-hero-grid {
  min-height: 570px;
  grid-template-columns: minmax(0, 6fr) minmax(390px, 5fr);
  gap: clamp(52px, 8vw, 118px);
}

.admissions-hero--campaign h1 {
  max-width: 640px;
  margin-bottom: 18px;
  font-size: clamp(3.6rem, 6vw, 6rem);
  line-height: 0.94;
}

.admissions-hero--campaign h1 em {
  color: #e3c77e;
  font-style: italic;
}

.admissions-hero__statement {
  margin: 0 0 18px;
  color: var(--white) !important;
  font-family: var(--display);
  font-size: clamp(1.5rem, 2.5vw, 2.25rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.18;
}

.admissions-hero--campaign .admissions-hero-grid > div > p:not(.campaign-status):not(.admissions-hero__statement) {
  max-width: 590px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.05rem;
}

.admissions-campaign-photo {
  position: relative;
  width: min(100%, 460px);
  margin: 0;
  justify-self: end;
}

.admissions-campaign-photo::before {
  content: '';
  position: absolute;
  z-index: 2;
  left: -16px;
  top: -16px;
  width: 70px;
  height: 70px;
  border-left: 1px solid var(--campaign-gold);
  border-top: 1px solid var(--campaign-gold);
}

.admissions-campaign-photo img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  object-position: 50% 28%;
  box-shadow: 0 32px 76px rgba(2, 10, 36, 0.46);
}

.admissions-campaign-photo figcaption {
  display: flex;
  justify-content: space-between;
  gap: 22px;
  padding-top: 18px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admissions-campaign-photo figcaption strong {
  color: #e3c77e;
  font-weight: 700;
  text-align: right;
}

.page-admissions #procesos {
  background: #f5f8fb;
}

.page-admissions .route-cards {
  gap: 0;
  box-shadow: 0 26px 70px rgba(6, 22, 50, 0.1);
}

.page-admissions .route-card {
  min-height: 560px;
  border: 0;
  box-shadow: none;
}

.page-admissions .route-card--primary {
  color: rgba(255, 255, 255, 0.78);
  background:
    linear-gradient(145deg, var(--night-deep), var(--campaign-blue)),
    var(--campaign-blue);
  border-top: 0;
}

.page-admissions .route-card--primary h3,
.page-admissions .route-card--primary p,
.page-admissions .route-card--primary li,
.page-admissions .route-card--primary .route-card-footer span {
  color: inherit;
}

.page-admissions .route-card--primary .route-label {
  color: #e3c77e;
}

.page-admissions .route-card--primary .route-card-footer {
  border-top-color: rgba(255, 255, 255, 0.18);
}

.page-admissions .route-card--primary .button {
  color: var(--night);
  background: var(--white);
  border-color: var(--white);
  box-shadow: none;
}

.page-admissions .route-card:not(.route-card--primary) {
  background: var(--white);
}

.process-columns h3 {
  border-bottom-color: var(--campaign-gold);
}

.process-columns li span {
  border-radius: 2px;
}

@media (max-width: 1120px) {
  .page-home .site-nav {
    background: var(--night-deep);
    border-color: rgba(255, 255, 255, 0.14);
  }

  .campaign-hero__grid {
    grid-template-columns: minmax(0, 6fr) minmax(350px, 5fr);
    gap: 52px;
  }

  .campaign-portrait__frame {
    height: 550px;
  }

  .campaign-hero h1 {
    font-size: clamp(3.5rem, 6vw, 5.2rem);
  }
}

/* Editorial refinement · identity, inclusion and academic route */
.page-home .identity-values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  max-width: 520px;
  margin: 34px 0 0;
  padding-top: 18px;
  color: var(--blue-deep);
  border-top: 2px solid var(--gold);
  font-family: var(--display);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.2;
}

.page-home .identity-values span:not(:last-child)::after {
  content: '·';
  margin-left: 14px;
  color: var(--gold-ink);
}

.page-home .section--inclusion {
  color: var(--night);
  background: #e7f3ff;
}

.page-home .inclusion-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 8.333%;
  align-items: start;
}

.page-home .inclusion-grid h2 {
  max-width: 460px;
  margin-bottom: 0;
  font-size: clamp(2.8rem, 5vw, 5rem);
  letter-spacing: -0.065em;
  line-height: 0.96;
}

.page-home .inclusion-grid > div:last-child {
  max-width: 580px;
  padding-top: 10px;
}

.page-home .inclusion-grid > div:last-child .lead-copy {
  max-width: 510px;
  margin-bottom: 18px;
  color: var(--night);
  font-family: var(--display);
  font-size: clamp(1.35rem, 2.1vw, 1.85rem);
  font-weight: 600;
  line-height: 1.2;
}

.page-home .inclusion-grid > div:last-child p:last-child {
  max-width: 540px;
  color: var(--muted);
}

.page-home .academic-heading {
  display: block;
}

.page-home .academic-heading h2 {
  max-width: 720px;
}

.page-admissions .admissions-hero--campaign .admissions-hero-grid {
  padding-bottom: clamp(126px, 16vh, 176px);
  align-items: center;
}

@media (max-width: 900px) {
  .page-home .inclusion-grid {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 720px) {
  .page-home .identity-values {
    margin-top: 28px;
    gap: 8px 10px;
    font-size: 1.18rem;
  }

  .page-home .identity-values span:not(:last-child)::after {
    margin-left: 10px;
  }

  .page-home .inclusion-grid > div:last-child {
    padding-top: 0;
  }

  .page-home .inclusion-grid h2 {
    font-size: clamp(2.7rem, 13vw, 4.2rem);
  }

  .page-admissions .admissions-hero--campaign .admissions-hero-grid {
    padding-bottom: 58px;
    align-items: center;
  }
}

@media (max-width: 900px) {
  .campaign-hero {
    min-height: auto;
  }

  .campaign-hero__grid,
  .admissions-hero--campaign .admissions-hero-grid {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.78fr);
    gap: 40px;
    padding-top: 52px;
  }

  .campaign-hero h1,
  .admissions-hero--campaign h1 {
    font-size: clamp(3.2rem, 7.2vw, 4.6rem);
  }

  .campaign-portrait__frame,
  .admissions-campaign-photo img {
    height: 500px;
  }

  .campaign-principles {
    grid-template-columns: repeat(2, 1fr);
  }

  .campaign-principles span:nth-child(2) {
    border-right: 0;
  }

  .campaign-principles span:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .proof-grid article {
    padding-inline: 30px;
  }

  .proof-grid article::before {
    left: 30px;
  }

  .editorial-grid > .editorial-copy {
    position: static;
  }

  .method-list li {
    grid-template-columns: 34px 110px 1fr;
  }

  .life-card {
    grid-template-columns: 54px 62px minmax(170px, 0.8fr) minmax(0, 1.2fr);
  }

  .identity-statement--mission {
    transform: none;
  }
}

@media (max-width: 720px) {
  .page-home .site-nav {
    left: 20px;
    right: 20px;
  }

  .campaign-hero__grid,
  .admissions-hero--campaign .admissions-hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-top: 32px;
    padding-bottom: 48px;
  }

  .campaign-hero__copy {
    padding: 26px 0 0;
  }

  .campaign-status {
    margin-bottom: 22px;
    font-size: 9px;
  }

  .campaign-status > span {
    width: 30px;
  }

  .campaign-hero h1,
  .admissions-hero--campaign h1 {
    max-width: 560px;
    font-size: clamp(2.9rem, 13vw, 4.2rem);
  }

  .campaign-hero__lead {
    font-size: 1rem;
  }

  .campaign-portrait,
  .admissions-campaign-photo {
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .campaign-portrait__frame {
    height: min(122vw, 620px);
  }

  .campaign-portrait img {
    object-position: 50% 27%;
  }

  .campaign-portrait::before {
    left: -8px;
    top: -8px;
  }

  .campaign-portrait::after {
    right: -8px;
  }

  .campaign-portrait figcaption,
  .admissions-campaign-photo figcaption {
    display: grid;
    gap: 7px;
  }

  .campaign-portrait figcaption strong,
  .admissions-campaign-photo figcaption strong {
    text-align: left;
  }

  .campaign-principles {
    grid-template-columns: 1fr;
    padding-block: 8px;
  }

  .campaign-principles span {
    min-height: 48px;
    padding-inline: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .campaign-principles span:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .campaign-principles span:last-child {
    border-bottom: 0;
  }

  .proof-grid article {
    min-height: auto;
    padding: 42px 0;
  }

  .proof-grid article::before {
    left: 0;
  }

  .proof-grid article:hover {
    color: inherit;
    background: transparent;
  }

  .proof-grid article:hover h2 {
    color: var(--night);
  }

  .proof-grid article:hover p {
    color: var(--muted);
  }

  .proof-grid article:hover span {
    color: var(--gold-ink);
  }

  .method-list li {
    grid-template-columns: 34px 1fr;
    gap: 7px 12px;
  }

  .method-list li::before {
    grid-row: 1 / span 2;
  }

  .method-list li p {
    grid-column: 2;
  }

  .identity-statements {
    gap: 0;
  }

  .life-card {
    grid-template-columns: 44px 54px 1fr;
    gap: 16px;
    padding: 26px 0;
  }

  .life-card p {
    grid-column: 3;
  }

  .life-card:hover {
    padding-inline: 0;
    background: transparent;
  }

  .life-closing {
    margin-top: 44px;
  }

  .admissions-hero--campaign {
    padding-top: 34px;
  }

  .admissions-campaign-photo img {
    height: min(120vw, 590px);
  }

  .page-admissions .route-cards {
    gap: 20px;
    box-shadow: none;
  }

  .page-admissions .route-card {
    min-height: 0;
  }
}

@media (max-width: 420px) {
  .campaign-hero h1,
  .admissions-hero--campaign h1 {
    font-size: clamp(2.65rem, 13vw, 3.35rem);
  }

  .campaign-portrait__frame {
    height: 500px;
  }

  .campaign-portrait__index {
    font-size: 9rem;
  }

  .admissions-campaign-photo img {
    height: 500px;
  }

  .life-card {
    grid-template-columns: 36px 1fr;
  }

  .life-card svg {
    display: none;
  }

  .life-card p {
    grid-column: 2;
  }
}

/* Designer refinement — 2026-07-30 */
.campaign-portrait figcaption {
  justify-content: flex-end;
}

.support-grid > .belonging-stage {
  position: relative;
  grid-column: 1 / -1 !important;
  align-self: stretch;
  min-height: 560px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
  grid-template-rows: auto 1fr;
  column-gap: clamp(48px, 8vw, 120px);
  overflow: hidden;
  padding: clamp(38px, 4vw, 58px);
  color: var(--night);
  background:
    radial-gradient(circle at 90% 10%, rgba(19, 184, 232, 0.16), transparent 30%),
    var(--campaign-cream);
  border-top: 4px solid var(--campaign-blue);
  box-shadow: 0 24px 64px rgba(6, 22, 50, 0.08);
}

.belonging-stage::after {
  content: '';
  position: absolute;
  width: 340px;
  height: 340px;
  right: -170px;
  bottom: -160px;
  border: 1px solid rgba(6, 75, 201, 0.12);
  border-radius: 50%;
  box-shadow:
    0 0 0 52px rgba(19, 184, 232, 0.06),
    0 0 0 104px rgba(6, 75, 201, 0.035);
}

.belonging-stage__eyebrow {
  grid-column: 1 / -1;
  margin: 0 0 44px;
  color: var(--blue-deep);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.belonging-stage__words {
  position: relative;
  z-index: 1;
  display: grid;
  width: max-content;
  max-width: 100%;
  color: var(--night);
  font-family: var(--display);
  align-self: center;
  font-size: clamp(4.5rem, 7.5vw, 7.8rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.94;
}

.belonging-stage__words span:nth-child(2) {
  color: var(--campaign-blue);
  transform: translateX(0.45em);
}

.belonging-stage__words strong {
  color: var(--night);
  font-style: italic;
  font-weight: 700;
  transform: translateX(0.9em);
}

.belonging-stage__note {
  position: relative;
  z-index: 1;
  max-width: 300px;
  align-self: center;
  margin: 0;
  padding-left: 28px;
  color: var(--muted);
  border-left: 1px solid var(--campaign-gold);
  font-size: 0.92rem;
  font-weight: 600;
}

.belonging-stage__bars {
  position: absolute;
  right: 48px;
  bottom: 42px;
  z-index: 1;
  display: flex;
  align-items: end;
  gap: 10px;
  transform: skewY(-8deg);
}

.belonging-stage__bars i {
  width: 30px;
  height: 56px;
  background: rgba(6, 75, 201, 0.1);
}

.belonging-stage__bars i:nth-child(2) {
  height: 86px;
  background: rgba(19, 184, 232, 0.28);
}

.belonging-stage__bars i:nth-child(3) {
  height: 126px;
  background: var(--campaign-blue);
}

.support-copy > p:last-child {
  max-width: 570px;
}

.innovation-lab {
  position: relative;
  grid-column: 1 / span 6;
  grid-row: 1;
  min-height: 680px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(34px, 4vw, 50px);
  color: var(--white);
  background:
    radial-gradient(circle at 50% 45%, rgba(19, 184, 232, 0.32), transparent 25%),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(145deg, var(--night-deep), var(--campaign-blue));
  background-size: auto, 42px 42px, 42px 42px, auto;
  box-shadow: 0 30px 74px rgba(6, 22, 50, 0.2);
}

.innovation-lab::before {
  content: '';
  position: absolute;
  inset: 23% 12% 21%;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 50%;
  transform: rotate(-12deg);
}

.innovation-lab__heading {
  position: relative;
  z-index: 3;
  display: grid;
  gap: 12px;
}

.innovation-lab__heading span {
  color: #e3c77e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.innovation-lab__heading strong {
  max-width: 430px;
  font-family: var(--display);
  font-size: clamp(1.55rem, 2.5vw, 2rem);
  line-height: 1.22;
}

.innovation-orbit {
  position: relative;
  z-index: 2;
  flex: 1;
  min-height: 390px;
  margin: 18px 0 8px;
  perspective: 900px;
}

.innovation-object {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 146px;
  height: 146px;
  transform: translate(-50%, -47%) rotateX(58deg) rotateZ(-45deg);
  transform-style: preserve-3d;
  animation: innovation-float 5.5s ease-in-out infinite;
}

.innovation-object__top,
.innovation-object__front,
.innovation-object__side {
  position: absolute;
  display: block;
  border: 1px solid rgba(255, 255, 255, 0.38);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(172, 229, 249, 0.48));
  box-shadow: inset 0 0 36px rgba(255, 255, 255, 0.35);
  backdrop-filter: blur(10px);
}

.innovation-object__top {
  inset: 0;
  transform: translateZ(44px);
}

.innovation-object__front {
  left: 0;
  right: 0;
  bottom: -44px;
  height: 44px;
  transform: rotateX(-90deg);
  transform-origin: top;
  background: linear-gradient(180deg, rgba(19, 184, 232, 0.62), rgba(6, 75, 201, 0.84));
}

.innovation-object__side {
  top: 0;
  right: -44px;
  bottom: 0;
  width: 44px;
  transform: rotateY(90deg);
  transform-origin: left;
  background: linear-gradient(90deg, rgba(86, 155, 230, 0.8), rgba(2, 10, 36, 0.8));
}

.innovation-object__front i {
  position: absolute;
  width: 18px;
  height: 18px;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  background: #e3c77e;
  box-shadow: 0 0 20px rgba(227, 199, 126, 0.85);
  transform: translate(-50%, -50%);
}

@keyframes innovation-float {
  0%, 100% { transform: translate(-50%, -47%) rotateX(58deg) rotateZ(-45deg) translateZ(0); }
  50% { transform: translate(-50%, -51%) rotateX(58deg) rotateZ(-42deg) translateZ(12px); }
}

.innovation-trigger {
  position: absolute;
  z-index: 4;
  min-width: 112px;
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  color: rgba(255, 255, 255, 0.7);
  text-align: left;
  background: rgba(2, 10, 36, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 100px;
  box-shadow: 0 12px 30px rgba(2, 10, 36, 0.18);
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.innovation-trigger:hover,
.innovation-trigger:focus-visible,
.innovation-trigger.is-active {
  color: var(--white);
  background: rgba(6, 75, 201, 0.84);
  border-color: #e3c77e;
  transform: translateY(-3px);
}

.innovation-trigger span {
  color: #e3c77e;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.innovation-trigger strong {
  font-family: var(--display);
  font-size: 0.83rem;
}

.innovation-trigger--one { left: 2%; top: 20%; }
.innovation-trigger--two { right: 0; top: 22%; }
.innovation-trigger--three { left: 4%; bottom: 13%; }
.innovation-trigger--four { right: 2%; bottom: 15%; }

.innovation-response {
  position: relative;
  z-index: 3;
  min-height: 88px;
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 20px;
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.innovation-response span {
  color: #e3c77e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.innovation-response p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.88rem;
  line-height: 1.6;
}

.life-heading {
  max-width: 1050px;
}

.life-experiences {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}

.life-experience {
  min-width: 0;
  border-right: 1px solid var(--line-dark);
  transition: background 180ms ease;
}

.life-experience:last-child {
  border-right: 0;
}

.life-experience:hover,
.life-experience[open] {
  background: radial-gradient(circle at 50% 35%, rgba(19, 184, 232, 0.12), transparent 58%);
}

.life-experience summary {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 30px 24px 26px;
  color: var(--white);
  text-align: center;
  list-style: none;
  cursor: pointer;
}

.life-experience summary::-webkit-details-marker {
  display: none;
}

.life-experience__number {
  align-self: flex-start;
  color: #e3c77e;
  font-family: var(--display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.life-experience svg {
  width: 126px;
  height: 126px;
  margin: 30px 0 22px;
  overflow: visible;
  fill: none;
  stroke: var(--cyan);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
  filter: drop-shadow(0 0 18px rgba(19, 184, 232, 0.2));
  transition: transform 220ms ease;
}

.life-experience:nth-child(2) svg {
  stroke: #e3c77e;
  filter: drop-shadow(0 0 18px rgba(227, 199, 126, 0.18));
}

.life-experience:nth-child(3) svg {
  stroke: #9d7cbd;
  filter: drop-shadow(0 0 18px rgba(157, 124, 189, 0.2));
}

.life-experience:hover svg,
.life-experience[open] svg {
  transform: translateY(-6px) scale(1.04);
}

.life-experience summary strong {
  font-family: var(--display);
  font-size: 1.28rem;
}

.life-experience__hint {
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.life-experience[open] .life-experience__hint {
  color: #e3c77e;
}

.life-experience > p {
  margin: -4px 28px 32px;
  padding-top: 22px;
  color: rgba(255, 255, 255, 0.68);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.88rem;
  line-height: 1.65;
  text-align: center;
}

.page-admissions .route-card {
  min-height: 510px;
}

.page-admissions .route-card-footer {
  display: block;
}

@media (max-width: 980px) {
  .support-grid > .belonging-stage,
  .support-copy {
    grid-column: 1 / -1 !important;
  }

  .belonging-stage {
    min-height: 500px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .belonging-stage__note {
    max-width: 360px;
    margin-top: 42px;
  }

  .innovation-lab,
  .editorial-grid--reverse > .editorial-copy {
    grid-column: 1 / -1;
  }

  .innovation-lab {
    grid-row: auto;
    min-height: 650px;
  }

  .life-experience summary {
    min-height: 300px;
  }
}

@media (max-width: 720px) {
  .belonging-stage {
    min-height: 470px;
    padding: 36px 28px;
  }

  .belonging-stage__words {
    font-size: clamp(2.75rem, 13vw, 4rem);
  }

  .belonging-stage__words strong {
    transform: translateX(0.45em);
  }

  .belonging-stage__note {
    max-width: 240px;
  }

  .belonging-stage__bars {
    right: 26px;
    bottom: 28px;
  }

  .innovation-lab {
    min-height: 620px;
    padding: 30px 24px;
  }

  .innovation-orbit {
    min-height: 380px;
  }

  .innovation-object {
    width: 118px;
    height: 118px;
  }

  .innovation-trigger {
    min-width: 96px;
    padding: 10px 12px;
  }

  .innovation-trigger strong {
    font-size: 0.74rem;
  }

  .innovation-trigger--one { left: 0; }
  .innovation-trigger--two { right: 0; }
  .innovation-trigger--three { left: 0; }
  .innovation-trigger--four { right: 0; }

  .innovation-response {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .life-experiences {
    grid-template-columns: 1fr;
  }

  .life-experience {
    border-right: 0;
    border-bottom: 1px solid var(--line-dark);
  }

  .life-experience:last-child {
    border-bottom: 0;
  }

  .life-experience summary {
    min-height: 250px;
  }

  .life-experience svg {
    width: 104px;
    height: 104px;
    margin-block: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .innovation-object {
    animation: none;
  }
}

/* Integrated interaction refinement — 2026-07-30 */
.support-grid > .belonging-stage {
  grid-template-rows: 1fr;
  align-items: center;
}

.belonging-stage__note {
  padding-left: 0;
  border-left: 0;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
  line-height: 1.55;
}

.belonging-stage__bars {
  gap: 8px;
  opacity: 0.92;
}

.belonging-stage__bars i {
  border-radius: 999px 999px 3px 3px;
  box-shadow: 0 12px 28px rgba(6, 75, 201, 0.12);
}

.innovation-lab {
  min-height: 700px;
  background:
    radial-gradient(circle at 52% 40%, rgba(19, 184, 232, 0.28), transparent 28%),
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(145deg, #03163f, #073a96 72%, #0a55c5);
  background-size: auto, 38px 38px, 38px 38px, auto;
}

.innovation-lab::before {
  inset: 27% 18% 25%;
  border-color: rgba(123, 220, 250, 0.13);
  box-shadow: 0 0 0 34px rgba(19, 184, 232, 0.025);
}

.innovation-workbench {
  position: relative;
  z-index: 2;
  flex: 1;
  min-height: 470px;
  display: grid;
  grid-template-rows: minmax(310px, 1fr) auto;
  gap: 22px;
  margin-top: 8px;
}

.innovation-assembly {
  position: relative;
  min-height: 320px;
  display: grid;
  place-items: center;
}

.innovation-assembly svg {
  width: min(100%, 410px);
  height: auto;
  overflow: visible;
  filter: drop-shadow(0 28px 34px rgba(2, 10, 36, 0.32));
}

.innovation-assembly__status {
  position: absolute;
  left: 50%;
  bottom: 2px;
  min-width: 172px;
  padding: 8px 13px;
  color: rgba(255, 255, 255, 0.76);
  background: rgba(2, 10, 36, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(-50%);
  backdrop-filter: blur(10px);
}

.robot-shadow {
  fill: rgba(2, 10, 36, 0.38);
  filter: blur(5px);
  transition: opacity 480ms ease, transform 480ms ease;
  transform-origin: center;
}

.robot-orbit {
  fill: none;
  stroke: rgba(134, 231, 255, 0.16);
  stroke-width: 1;
  stroke-dasharray: 5 9;
  transform-origin: 180px 158px;
}

.robot-orbit--one {
  animation: robot-orbit 18s linear infinite;
}

.robot-orbit--two {
  stroke: rgba(227, 199, 126, 0.16);
  stroke-dasharray: 2 10;
  animation: robot-orbit 13s linear infinite reverse;
}

@keyframes robot-orbit {
  to { transform: rotate(360deg); }
}

.robot-part {
  opacity: 0.12;
  transition:
    opacity 460ms ease,
    transform 620ms cubic-bezier(0.2, 0.8, 0.2, 1),
    filter 460ms ease;
  transform-box: fill-box;
  transform-origin: center;
}

.robot-part--core {
  opacity: 1;
  filter: drop-shadow(0 0 16px rgba(19, 184, 232, 0.32));
}

.robot-part--head {
  transform: translateY(-54px) scale(0.92);
}

.robot-part--arms {
  transform: scale(1.28);
}

.robot-part--base {
  transform: translateY(42px) scale(0.9);
}

.innovation-assembly[data-stage="2"] .robot-part--head,
.innovation-assembly[data-stage="3"] .robot-part--head,
.innovation-assembly[data-stage="4"] .robot-part--head,
.innovation-assembly[data-stage="3"] .robot-part--arms,
.innovation-assembly[data-stage="4"] .robot-part--arms,
.innovation-assembly[data-stage="4"] .robot-part--base {
  opacity: 1;
  transform: translate(0) scale(1);
  filter: drop-shadow(0 0 13px rgba(19, 184, 232, 0.26));
}

.innovation-assembly[data-stage="4"] .robot-shadow {
  opacity: 0.78;
  transform: scale(1.08);
}

.robot-core__side {
  fill: url(#robot-depth);
  stroke: rgba(157, 218, 255, 0.7);
}

.robot-core__front {
  fill: #0851b7;
  stroke: rgba(157, 218, 255, 0.68);
}

.robot-core__top,
.robot-head__shell {
  fill: url(#robot-shell);
  stroke: rgba(255, 255, 255, 0.72);
}

.robot-head__screen {
  fill: #03163f;
  stroke: rgba(134, 231, 255, 0.62);
}

.robot-eye,
.robot-core__light,
.robot-antenna__light {
  fill: #e3c77e;
  stroke: #fff0b9;
  filter: url(#robot-glow);
}

.robot-circuit,
.robot-smile,
.robot-antenna,
.robot-arm,
.robot-hand,
.robot-leg,
.robot-foot,
.robot-signal {
  fill: none;
  stroke: #9fe8fb;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.robot-circuit,
.robot-smile {
  stroke-width: 3;
}

.robot-node,
.robot-joint,
.robot-wheel {
  fill: #0747a7;
  stroke: #8fe7ff;
  stroke-width: 4;
}

.innovation-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding-top: 18px;
}

.innovation-steps::before {
  content: '';
  position: absolute;
  left: 7%;
  right: 7%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143, 231, 255, 0.38), transparent);
}

.innovation-trigger {
  position: relative;
  inset: auto;
  min-width: 0;
  display: grid;
  grid-template-columns: 27px 1fr;
  gap: 8px;
  align-items: center;
  padding: 11px 12px;
  color: rgba(255, 255, 255, 0.63);
  background: rgba(2, 10, 36, 0.34);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(2, 10, 36, 0.13);
  transform: none;
}

.innovation-trigger::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: -1px;
  height: 2px;
  background: transparent;
  border-radius: 99px;
  transition: background 180ms ease;
}

.innovation-trigger:hover,
.innovation-trigger:focus-visible,
.innovation-trigger.is-active {
  color: var(--white);
  background: rgba(6, 75, 201, 0.68);
  border-color: rgba(227, 199, 126, 0.68);
  transform: translateY(-2px);
}

.innovation-trigger.is-active::after {
  background: #e3c77e;
}

.innovation-trigger span {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  color: #f4dda0;
  background: rgba(227, 199, 126, 0.1);
  border: 1px solid rgba(227, 199, 126, 0.28);
  border-radius: 50%;
  font-size: 8px;
}

.innovation-trigger strong {
  font-size: 0.78rem;
  letter-spacing: -0.01em;
}

.innovation-response {
  min-height: 80px;
  margin-top: 6px;
}

.life-experiences {
  border-color: rgba(255, 255, 255, 0.12);
}

.life-experience {
  position: relative;
  border-color: rgba(255, 255, 255, 0.12);
}

.life-experience::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 42%, rgba(19, 184, 232, 0.16), transparent 48%);
  transition: opacity 240ms ease;
}

.life-experience:nth-child(2)::before {
  background: radial-gradient(circle at 50% 42%, rgba(227, 199, 126, 0.15), transparent 48%);
}

.life-experience:nth-child(3)::before {
  background: radial-gradient(circle at 50% 42%, rgba(157, 124, 189, 0.2), transparent 48%);
}

.life-experience:hover::before,
.life-experience[open]::before {
  opacity: 1;
}

.life-experience summary {
  position: relative;
  min-height: 330px;
}

.life-experience summary::after {
  content: '+';
  position: absolute;
  top: 27px;
  right: 25px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  font-size: 18px;
  font-weight: 300;
  transition: color 180ms ease, border-color 180ms ease, transform 240ms ease;
}

.life-experience[open] summary::after {
  color: #e3c77e;
  border-color: rgba(227, 199, 126, 0.48);
  transform: rotate(45deg);
}

.life-experience__icon {
  position: relative;
  width: 146px;
  height: 146px;
  display: grid;
  place-items: center;
  margin: 24px 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 38px;
  background:
    radial-gradient(circle at 35% 25%, rgba(255, 255, 255, 0.1), transparent 30%),
    rgba(255, 255, 255, 0.025);
  box-shadow:
    inset 0 0 34px rgba(255, 255, 255, 0.035),
    0 24px 40px rgba(2, 10, 36, 0.24);
  transform: rotate(-3deg);
  transition: transform 260ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.life-experience:nth-child(2) .life-experience__icon {
  transform: rotate(3deg);
}

.life-experience:hover .life-experience__icon,
.life-experience[open] .life-experience__icon {
  border-color: rgba(143, 231, 255, 0.34);
  box-shadow:
    inset 0 0 36px rgba(255, 255, 255, 0.05),
    0 26px 48px rgba(2, 10, 36, 0.28),
    0 0 32px rgba(19, 184, 232, 0.1);
  transform: translateY(-7px) rotate(0) scale(1.02);
}

.life-experience__icon svg {
  width: 118px;
  height: 118px;
  margin: 0;
  overflow: visible;
  fill: none;
  stroke: none;
  filter: none;
}

.icon-surface {
  stroke-width: 2;
}

.icon-surface--top {
  fill: url(#life-cube-top);
  stroke: #bceeff;
}

.icon-surface--left {
  fill: #0753b9;
  stroke: #3dcdf4;
}

.icon-surface--right {
  fill: url(#life-cube-side);
  stroke: #2ca8e9;
}

.icon-detail {
  fill: none;
  stroke: rgba(220, 248, 255, 0.82);
  stroke-width: 2.5;
}

.icon-node {
  fill: #e3c77e;
  stroke: #fff1bd;
  stroke-width: 2;
  filter: drop-shadow(0 0 7px rgba(227, 199, 126, 0.75));
}

.hands-glow {
  fill: rgba(227, 199, 126, 0.08);
  stroke: rgba(227, 199, 126, 0.2);
  stroke-width: 1.5;
}

.hand {
  fill: rgba(227, 199, 126, 0.1);
  stroke: #e3c77e;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.heart-line {
  fill: rgba(227, 199, 126, 0.08);
  stroke: #f0d687;
  stroke-width: 3;
}

.voice-halo {
  fill: rgba(157, 124, 189, 0.08);
  stroke: rgba(157, 124, 189, 0.25);
  stroke-width: 1.5;
  stroke-dasharray: 4 8;
}

.voice-mic {
  fill: rgba(157, 124, 189, 0.18);
  stroke: #b999d5;
  stroke-width: 4;
}

.voice-stand,
.voice-wave {
  fill: none;
  stroke: #b999d5;
  stroke-width: 4;
  stroke-linecap: round;
}

.voice-wave--left,
.voice-wave--right {
  opacity: 0.8;
}

.voice-light {
  fill: #e3c77e;
  stroke: #fff0b9;
  stroke-width: 2;
  filter: drop-shadow(0 0 8px rgba(227, 199, 126, 0.7));
}

.life-experience summary strong {
  position: relative;
  z-index: 1;
  font-size: 1.18rem;
}

.life-experience > p {
  position: relative;
  z-index: 1;
  margin-top: 0;
}

@media (max-width: 980px) {
  .support-grid > .belonging-stage {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }

  .belonging-stage__note {
    max-width: 390px;
    margin-top: 42px;
  }
}

@media (max-width: 720px) {
  .innovation-lab {
    min-height: 760px;
  }

  .innovation-workbench {
    grid-template-rows: minmax(300px, 1fr) auto;
  }

  .innovation-assembly svg {
    width: min(112%, 370px);
  }

  .innovation-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .innovation-trigger {
    min-width: 0;
  }

  .life-experience__icon {
    width: 132px;
    height: 132px;
  }

  .life-experience__icon svg {
    width: 106px;
    height: 106px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .robot-orbit {
    animation: none;
  }

  .robot-part {
    transition: opacity 120ms linear;
  }
}

/* Campaign homepage simplification · August 2026 */
.page-home .site-header {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
  transition:
    background 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

.page-home .site-header.is-scrolled {
  background: rgba(2, 10, 36, 0.46);
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.page-home .header-inner {
  min-height: 78px;
  transition: min-height 220ms ease;
}

.page-home .site-header.is-scrolled .header-inner {
  min-height: 64px;
}

.page-home .brand img {
  width: 44px;
  height: 44px;
  transition: width 220ms ease, height 220ms ease, border-radius 220ms ease;
}

.page-home .site-header.is-scrolled .brand img {
  width: 38px;
  height: 38px;
  border-radius: 8px;
}

.page-home .site-header.is-scrolled .brand small {
  display: none;
}

.header-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-home .header-admissions {
  color: var(--night);
  background: var(--white);
  border-color: var(--white);
  box-shadow: none;
}

.page-home .header-admissions:hover {
  color: var(--night);
  background: #f1d36c;
  border-color: #f1d36c;
}

.page-home .campaign-hero {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  padding: 0;
  color: var(--white);
  background: #061632;
}

.page-home .campaign-hero::before,
.page-home .campaign-hero::after {
  content: none;
}

.campaign-hero__media,
.campaign-hero__shade {
  position: relative;
  inset: auto;
}

.campaign-hero__media {
  grid-column: 1;
  grid-row: 1;
  z-index: 0;
  overflow: hidden;
  background: #061632;
  clip-path: none;
}

.campaign-hero__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 50% 50%;
}

.campaign-hero__shade {
  display: none;
}

.campaign-hero__content {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 48px clamp(188px, 20vh, 226px) 100px;
}

.page-home .campaign-hero__copy {
  max-width: 680px;
  padding: 0;
}

.page-home .campaign-hero h1 {
  max-width: 100%;
  margin: 0;
  color: var(--white);
  font-size: clamp(3.25rem, 4.15vw, 4.8rem);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.95;
  text-wrap: balance;
}

.page-home .campaign-hero h1 > span {
  display: block;
}

.page-home .campaign-hero h1 mark {
  padding: 0;
  color: #ffd24a;
  background: transparent;
  font-style: italic;
}

.page-home .campaign-hero__lead {
  max-width: 620px;
  margin: 30px 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 1.65;
  text-wrap: pretty;
}

.page-home .campaign-hero .button-row {
  margin-top: 34px;
}

.page-home .button--campaign {
  color: var(--night);
  background: var(--white);
  border-color: var(--white);
  box-shadow: 0 18px 40px rgba(2, 10, 36, 0.24);
}

.page-home .button--campaign:hover {
  color: var(--night);
  background: #f1d36c;
  border-color: #f1d36c;
}

.page-home .identity-grid {
  gap: clamp(3rem, 8vw, 7rem);
}

.page-home .identity-intro h2 {
  margin-bottom: 24px;
}

.page-home .identity-statements {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(6, 22, 50, 0.14);
}

.page-home .identity-statement {
  min-height: 0;
  padding: 36px 40px 40px;
  border: 0;
  border-bottom: 1px solid rgba(6, 22, 50, 0.14);
  box-shadow: none;
  transform: none;
}

.page-home .identity-statement--mission {
  color: var(--white);
  background: var(--blue-deep);
}

.page-home .identity-statement--vision {
  background: rgba(255, 255, 255, 0.74);
}

.page-home .identity-label {
  margin-bottom: 22px;
}

.page-home .academic-heading {
  align-items: end;
}

.page-home .section--admissions {
  background: var(--blue-deep);
}

.page-home .section--admissions::before,
.page-home .admissions-panel::after {
  content: none;
}

.page-home .admissions-panel {
  min-height: 280px;
  padding-block: 52px;
}

.page-home .admissions-panel h2 {
  max-width: 620px;
  margin-bottom: 14px;
  text-wrap: balance;
}

.page-home .admissions-panel p:not(.admissions-overline) {
  max-width: 510px;
  margin-bottom: 0;
}

.page-home .admissions-actions {
  justify-items: end;
}

.page-home .admissions-actions .button {
  min-height: 56px;
  padding-inline: 26px;
  font-size: 0.98rem;
}

.page-home .admissions-actions .button span {
  margin-left: 8px;
  font-size: 1.2em;
  transition: transform 180ms ease;
}

.page-home .admissions-actions .button:hover span,
.page-home .admissions-actions .button:focus-visible span {
  display: inline-block;
  transform: translateX(3px);
}

.page-home .footer-social-label {
  margin: 26px 0 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-home .section--contact {
  background: #edf6ff;
}

.page-home .contact-grid > div:first-child {
  align-self: center;
}

.page-home .location-card {
  grid-template-columns: 1fr;
}

.page-home main section[id] {
  scroll-margin-top: 82px;
}

@media (min-width: 1121px) {
  .page-home .site-header.is-scrolled .menu-toggle {
    display: block;
  }

  .page-home .site-header.is-scrolled .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 48px;
    left: auto;
    width: min(320px, calc(100vw - 96px));
    display: none;
    align-items: stretch;
    gap: 4px;
    padding: 18px;
    background: rgba(2, 10, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 24px 64px rgba(2, 10, 36, 0.28);
  }

  .page-home .site-header.is-scrolled .site-nav.is-open {
    display: grid;
  }

  .page-home .site-header.is-scrolled .site-nav a {
    padding: 8px 6px;
  }
}

@media (max-width: 1120px) {
  .page-home .header-inner {
    min-height: 76px;
  }

  .page-home .menu-toggle {
    display: block;
  }

  .page-home .site-nav {
    top: calc(100% + 8px);
    color: var(--white);
    background: rgba(2, 10, 36, 0.98);
    border-color: rgba(255, 255, 255, 0.14);
  }

  .page-home .site-nav.is-open {
    display: grid;
  }

  .page-home .campaign-hero {
    grid-template-columns: 1fr;
  }

  .campaign-hero__media img {
    width: 100%;
  }

  .campaign-hero__content {
    padding-right: 32px;
    padding-left: 48px;
  }

  .page-home .campaign-hero h1 {
    max-width: 100%;
    font-size: clamp(3rem, 5.5vw, 4.1rem);
  }
}

@media (max-width: 900px) {
  .page-home .campaign-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 360px auto;
    padding: 68px 0 0;
  }

  .campaign-hero__media {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    inset: auto;
    clip-path: none;
  }

  .campaign-hero__media img {
    width: 100%;
    height: 100%;
    object-position: 63% 50%;
  }

  .campaign-hero__shade {
    display: none;
  }

  .campaign-hero__content {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    width: 100%;
    padding: 36px 20px 48px;
    background: #061632;
  }

  .page-home .campaign-hero {
    min-height: 0;
  }

  .page-home .campaign-hero__copy {
    max-width: none;
  }

  .page-home .contact-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .page-home .contact-grid > * {
    grid-column: 1 !important;
  }

}

@media (max-width: 720px) {
  .page-home .site-header {
    background: rgba(2, 10, 36, 0.2);
    backdrop-filter: blur(14px);
  }

  .page-home .site-header.is-scrolled {
    background: rgba(2, 10, 36, 0.5);
    backdrop-filter: blur(14px);
  }

  .page-home .header-inner,
  .page-home .site-header.is-scrolled .header-inner {
    min-height: 68px;
    gap: 12px;
  }

  .page-home .brand small {
    display: none;
  }

  .page-home .brand strong {
    font-size: 1.08rem;
  }

  .page-home .header-admissions {
    min-height: 38px;
    padding: 9px 13px;
    font-size: 0.76rem;
  }

  .page-home .menu-toggle {
    width: 40px;
    height: 40px;
    padding: 9px;
  }

  .page-home .site-nav {
    left: 20px;
    right: 20px;
  }

  .page-home .campaign-hero {
    min-height: 0;
    grid-template-rows: 350px auto;
    padding: 68px 0 0;
  }

  .campaign-hero__content {
    width: 100%;
    padding: 32px 16px 44px;
  }

  .page-home .campaign-hero h1 {
    font-size: clamp(2.9rem, 13vw, 4.2rem);
    line-height: 0.98;
  }

  .page-home .campaign-hero__lead {
    margin-top: 22px;
    font-size: 0.96rem;
  }

  .page-home .campaign-hero .button-row {
    margin-top: 26px;
  }

  .page-home .identity-statement {
    padding: 30px 26px 34px;
  }

  .page-home .location-card {
    grid-template-columns: 1fr;
  }

  .page-home .admissions-panel {
    min-height: 390px;
    padding-block: 58px;
  }
}

@media (max-width: 420px) {
  .header-admissions__year {
    display: none;
  }

  .page-home .brand img,
  .page-home .site-header.is-scrolled .brand img {
    width: 38px;
    height: 38px;
  }

  .page-home .campaign-hero {
    min-height: 0;
    grid-template-rows: 340px auto;
    padding-top: 68px;
  }

  .campaign-hero__content {
    width: 100%;
    padding: 32px 16px 44px;
  }

  .page-home .campaign-hero h1 {
    font-size: clamp(2.65rem, 12.4vw, 3.35rem);
  }

  .page-home .campaign-hero__lead {
    max-width: 34rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home .header-inner,
  .page-home .brand img {
    transition: none;
  }
}

/* Admissions hero alignment · local visual pass */
.page-admissions .site-header {
  position: fixed;
  inset: 0 0 auto;
  width: 100%;
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transition: background 220ms ease, backdrop-filter 220ms ease;
}

.page-admissions .site-header.is-scrolled {
  background: rgba(2, 10, 36, 0.42);
  border-bottom-color: transparent;
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.page-admissions .site-header .brand,
.page-admissions .site-header .site-nav,
.page-admissions .site-header .site-nav .nav-utility {
  color: var(--white);
}

.page-admissions .site-header .brand img {
  box-shadow: 0 3px 14px rgba(2, 10, 36, 0.22);
}

.page-admissions .site-header .brand small {
  color: rgba(255, 255, 255, 0.72);
}

.page-admissions .site-header .menu-toggle {
  border-color: rgba(255, 255, 255, 0.45);
}

.page-admissions .site-header .menu-toggle span:not(.sr-only) {
  background: var(--white);
}

.page-admissions .admissions-hero--campaign {
  min-height: 100dvh;
  display: grid;
  align-items: stretch;
  padding: 0;
  isolation: isolate;
  background: #0c46a4;
}

.page-admissions .admissions-hero--campaign::before {
  content: none;
}

.page-admissions .admissions-hero--campaign::after {
  content: none;
}

.page-admissions .admissions-hero--campaign .admissions-hero-grid {
  position: relative;
  z-index: 1;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 1fr;
  align-items: end;
  gap: 0;
  padding-bottom: clamp(78px, 11vh, 132px);
}

.page-admissions .admissions-hero--campaign .admissions-hero-grid > div {
  position: relative;
  z-index: 1;
  max-width: 660px;
}

.page-admissions .admissions-hero--campaign h1 {
  max-width: 660px;
  margin-bottom: 22px;
  font-size: clamp(3.8rem, 6vw, 6.2rem);
  line-height: 0.93;
}

.page-admissions .admissions-hero--campaign h1 em {
  color: #ffd24a;
}

.page-admissions .admissions-hero--campaign .admissions-hero-grid > div > p:not(.campaign-status):not(.admissions-hero__statement) {
  max-width: 470px;
  color: rgba(255, 255, 255, 0.84);
  font-size: 1.08rem;
}

.page-admissions .admissions-campaign-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100vw;
  left: calc(50% - 50vw);
  right: auto;
  transform: none;
  max-width: none;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #0c46a4;
  box-shadow: none;
}

.page-admissions .admissions-campaign-photo::before,
.page-admissions .admissions-campaign-photo figcaption {
  display: none;
}

.page-admissions .admissions-campaign-photo img {
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  max-width: none;
  min-height: 0;
  object-fit: cover;
  object-position: right center;
  box-shadow: none;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent 0%,
    transparent 31%,
    rgba(0, 0, 0, 0.5) 42%,
    #000 58%
  );
  mask-image: linear-gradient(
    90deg,
    transparent 0%,
    transparent 31%,
    rgba(0, 0, 0, 0.5) 42%,
    #000 58%
  );
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

@media (max-width: 720px) {
  .page-admissions .site-header {
    background: rgba(2, 10, 36, 0.16);
    backdrop-filter: blur(12px);
  }

  .page-admissions .brand small {
    display: none;
  }

  .page-admissions .site-nav {
    background: var(--white);
    border-color: var(--line);
    box-shadow: var(--shadow);
  }

  .page-admissions .site-nav > a:not(.button),
  .page-admissions .site-nav .nav-utility {
    color: var(--night);
  }

  .page-admissions .site-nav .nav-utility {
    color: var(--purple-dark);
  }

  .page-admissions .site-header .site-nav .nav-utility {
    color: var(--purple-dark);
  }

  .page-admissions .site-header.is-scrolled {
    background: rgba(2, 10, 36, 0.48);
  }

  .page-admissions .admissions-hero--campaign {
    min-height: 0;
    display: block;
    padding: 0;
    background: var(--night-deep);
  }

  .page-admissions .admissions-hero--campaign::after {
    content: none;
  }

  .page-admissions .admissions-hero--campaign .admissions-hero-grid {
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0;
    padding-top: min(140vw, 620px);
    padding-bottom: 58px;
  }

  .page-admissions .admissions-hero--campaign .admissions-hero-grid > div {
    max-width: 560px;
  }

  .page-admissions .admissions-hero--campaign h1 {
    max-width: 560px;
    margin-bottom: 18px;
    font-size: clamp(2.8rem, 13vw, 4.2rem);
    line-height: 0.96;
  }

  .page-admissions .admissions-hero--campaign .admissions-hero-grid > div > p:not(.campaign-status):not(.admissions-hero__statement) {
    max-width: 34rem;
    font-size: 1rem;
  }

  .page-admissions .admissions-campaign-photo {
    position: absolute;
    top: 0;
    right: auto;
    bottom: auto;
    left: calc(50% - 50vw);
    width: 100vw;
    height: min(140vw, 620px);
    transform: none;
  }

  .page-admissions .admissions-campaign-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% 24%;
    -webkit-mask-image: none;
    mask-image: none;
  }
}

/* Final editorial cascade */
.page-admissions .admissions-hero--campaign .admissions-hero-grid {
  padding-bottom: clamp(184px, 21vh, 230px);
}

.page-admissions #preguntas + .admissions-contact {
  border-top: 2px solid var(--line);
}

.page-admissions .footer-socials,
.page-home .footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.page-admissions .footer-socials li,
.page-home .footer-socials li {
  margin: 0;
}

.page-admissions .footer-social,
.page-home .footer-social {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin: 0;
  color: var(--white);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  transition: color 180ms ease, border-color 180ms ease, background 180ms ease, transform 180ms ease;
}

.page-home .footer-socials {
  position: relative;
  z-index: 1;
  visibility: visible;
  opacity: 1;
}

.page-home .footer-social {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: var(--white);
  background: rgba(0, 148, 239, 0.14);
  border-color: rgba(255, 255, 255, 0.42);
}

.page-home .footer-social svg {
  display: block;
  width: 19px;
  height: 19px;
}

.page-admissions .footer-social svg,
.page-home .footer-social svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  stroke: none;
}

.page-admissions .footer-social svg rect,
.page-admissions .footer-social svg circle,
.page-home .footer-social svg rect,
.page-home .footer-social svg circle {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.page-admissions .footer-social svg .footer-social-dot,
.page-home .footer-social svg .footer-social-dot {
  fill: currentColor;
  stroke: none;
}

.page-admissions a.footer-social:hover,
.page-admissions a.footer-social:focus-visible,
.page-home a.footer-social:hover,
.page-home a.footer-social:focus-visible {
  color: var(--gold-soft);
  border-color: var(--gold-soft);
  background: rgba(234, 211, 160, 0.08);
  transform: translateY(-2px);
}

.page-admissions .footer-grid .sr-only,
.page-home .footer-grid .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 720px) {
  .page-admissions .admissions-hero--campaign .admissions-hero-grid {
    padding-bottom: 58px;
  }

  .page-admissions #preguntas + .admissions-contact {
    border-top-width: 2px;
  }

  .page-admissions .footer-socials,
  .page-home .footer-socials {
    margin-top: 20px;
  }
}

/* Final editorial cleanup · identity, academic route and admissions nav */
.page-home .identity-grid {
  grid-template-columns: 1fr;
  gap: clamp(2rem, 4vw, 3.5rem);
}

.page-home .identity-intro {
  max-width: 760px;
}

.page-home .identity-values {
  max-width: none;
}

.page-home .identity-statements {
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  border-top: 0;
}

.page-home .identity-statement {
  min-height: 0;
  border: 0;
}

.page-home .identity-disclosure {
  grid-column: 1 / -1;
  align-self: start;
}

.page-home .identity-expanded {
  max-width: 720px;
  margin: 0;
  padding: 18px 0 0;
  color: var(--muted);
  border-top: 1px solid rgba(6, 22, 50, 0.14);
}

.page-home .academic-path h3 {
  margin: 0 0 18px;
  color: var(--night);
  font-size: clamp(1.8rem, 2.8vw, 2.5rem);
  letter-spacing: -0.055em;
  line-height: 0.98;
  text-wrap: balance;
}

.page-home .academic-path article > p:last-child {
  max-width: 250px;
  margin-top: 0;
  line-height: 1.65;
}

.page-admissions {
  --campaign-gold: #d9b45c;
}

.page-admissions .admissions-hero--campaign h1 em {
  color: #f4ce58;
}

@media (max-width: 720px) {
  .page-home .identity-statements {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .page-home .identity-statement {
    border-bottom: 1px solid rgba(6, 22, 50, 0.14);
  }

  .page-home .identity-statement:last-child {
    border-bottom: 0;
  }

  .page-home .academic-path article > p:last-child {
    max-width: 34rem;
  }

}

/* CBIS institutional home · approved long-scroll direction · 2026-09-01 */
.page-home-v2 {
  --home-night: #061632;
  --home-night-deep: #020b23;
  --home-blue: #075ed0;
  --home-blue-bright: #0f88ed;
  --home-cyan: #26b9e6;
  --home-yellow: #f2b91b;
  --home-ice: #edf6ff;
  --home-ivory: #f8f6f0;
  --home-paper: #ffffff;
  --home-ink: #091a3b;
  --home-muted: #5d6a7f;
  --home-line: #d9e4ef;
  --home-line-strong: #c4d3e4;
  --home-shadow-sm: 0 14px 38px rgba(4, 22, 53, 0.08);
  --home-shadow: 0 30px 84px rgba(4, 22, 53, 0.14);
  --motion-fast: 180ms;
  --motion-base: 260ms;
  --motion-slow: 620ms;
  --ease-smooth-out: cubic-bezier(0.22, 1, 0.36, 1);
  min-width: 320px;
  overflow-x: clip;
  color: var(--home-ink);
  background: var(--home-paper);
}

.page-home-v2::before {
  display: none;
}

.page-home-v2 img {
  height: auto;
}

.page-home-v2 main {
  overflow: clip;
}

.page-home-v2 .site-container {
  width: min(calc(100% - 64px), 1280px);
}

.page-home-v2 .home-section {
  position: relative;
  padding: clamp(92px, 9vw, 140px) 0;
  overflow: clip;
  scroll-margin-top: 76px;
}

.page-home-v2 h1,
.page-home-v2 h2,
.page-home-v2 h3 {
  color: var(--home-ink);
  font-family: var(--display);
  font-weight: 800;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.page-home-v2 h2 {
  max-width: 880px;
  margin: 0 0 22px;
  font-size: clamp(2.55rem, 5vw, 5rem);
  line-height: 0.99;
}

.page-home-v2 h3 {
  margin: 0 0 12px;
  font-size: 1.5rem;
  line-height: 1.08;
}

.page-home-v2 .home-eyebrow,
.page-home-v2 .home-card-kicker {
  margin: 0 0 14px;
  color: var(--home-blue);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-home-v2 .home-eyebrow--light {
  color: #b6e5fb;
}

.page-home-v2 .home-section-heading {
  margin-bottom: clamp(40px, 5vw, 64px);
}

.page-home-v2 .home-section-heading h2 {
  margin-bottom: 0;
}

.page-home-v2 .home-section-heading--split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 48px;
  align-items: end;
}

.page-home-v2 .home-section-heading--split > p {
  margin: 0 0 6px;
  color: var(--home-muted);
  line-height: 1.72;
}

.page-home-v2 .home-section-heading--center {
  max-width: 980px;
  margin-inline: auto;
  text-align: center;
}

.page-home-v2 .home-section-heading--center h2 {
  margin-inline: auto;
}

/* Header */
.page-home-v2 .home-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  color: white;
  background: linear-gradient(180deg, rgba(2, 11, 35, 0.7), rgba(2, 11, 35, 0));
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: none;
  backdrop-filter: none;
  transition:
    background var(--motion-base) ease,
    border-color var(--motion-base) ease,
    box-shadow var(--motion-base) ease,
    backdrop-filter var(--motion-base) ease;
}

.page-home-v2 .home-header.is-scrolled {
  color: white;
  background: rgba(2, 11, 35, 0.88);
  border-bottom-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 14px 40px rgba(2, 11, 35, 0.2);
  backdrop-filter: blur(18px) saturate(1.15);
}

.page-home-v2 .home-header .header-inner {
  min-height: 88px;
  transition: min-height var(--motion-base) var(--ease-smooth-out);
}

.page-home-v2 .home-header.is-scrolled .header-inner {
  min-height: 72px;
}

.page-home-v2 .home-brand {
  gap: 12px;
  color: white;
}

.page-home-v2 .home-brand img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  object-position: center;
  border-radius: 0;
  filter: none;
  box-shadow: none;
  transition: width var(--motion-base) var(--ease-smooth-out), height var(--motion-base) var(--ease-smooth-out);
}

.page-home-v2 .home-header .home-brand img {
  transform: scale(1.34);
  transform-origin: center;
}

.page-home-v2 .home-header.is-scrolled .home-brand img {
  width: 46px;
  height: 46px;
}

.page-home-v2 .home-brand span {
  display: grid;
  color: white;
  line-height: 1.05;
}

.page-home-v2 .home-brand strong {
  color: white;
  font-size: 1.35rem;
  font-weight: 800;
}

.page-home-v2 .home-brand small {
  max-width: 230px;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 7.5px;
  line-height: 1.25;
}

.page-home-v2 .site-nav {
  gap: clamp(16px, 1.8vw, 28px);
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.78rem;
}

.page-home-v2 .site-nav > a:not(.button) {
  color: inherit;
}

.page-home-v2 .site-nav > a:not(.button)::after {
  bottom: -8px;
  background: var(--home-yellow);
}

.page-home-v2 .site-nav .nav-utility {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #b9e9fb;
}

.page-home-v2 .site-nav .nav-utility i {
  font-size: 0.95rem;
}

.page-home-v2 .header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.page-home-v2 .header-admissions {
  min-height: 44px;
  padding: 10px 16px;
  color: var(--home-night);
  background: white;
  border-color: white;
  border-radius: 9px;
  box-shadow: 0 12px 28px rgba(1, 9, 30, 0.22);
}

.page-home-v2 .header-admissions:hover {
  color: var(--home-night);
  background: #f4d36c;
  border-color: #f4d36c;
}

.page-home-v2 .header-admissions__year {
  color: var(--home-blue);
}

.page-home-v2 .menu-toggle {
  color: white;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.08);
}

.page-home-v2 .menu-toggle span:not(.sr-only) {
  background: white;
}

/* Hero */
.page-home-v2 .home-hero {
  position: relative;
  min-height: min(920px, 100svh);
  display: grid;
  align-items: center;
  overflow: hidden;
  color: white;
  background: var(--home-night-deep);
  isolation: isolate;
}

.page-home-v2 .home-hero__photo,
.page-home-v2 .home-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.page-home-v2 .home-hero__photo {
  z-index: -2;
  object-fit: cover;
  object-position: center;
}

.page-home-v2 .home-hero__shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(2, 11, 35, 0.96) 0%, rgba(2, 11, 35, 0.83) 35%, rgba(2, 11, 35, 0.18) 69%, rgba(2, 11, 35, 0.12) 100%),
    linear-gradient(180deg, rgba(2, 11, 35, 0.14), rgba(2, 11, 35, 0.42));
}

.page-home-v2 .home-hero__inner {
  padding-top: 104px;
}

.page-home-v2 .home-hero__copy {
  max-width: 720px;
}

.page-home-v2 .home-hero h1 {
  max-width: 710px;
  margin: 0 0 24px;
  color: white;
  font-size: clamp(3.5rem, 6.1vw, 6.3rem);
  line-height: 0.96;
}

.page-home-v2 .home-hero h1 span {
  color: var(--home-blue-bright);
}

.page-home-v2 .home-hero__copy > p:not(.home-eyebrow) {
  max-width: 580px;
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.4vw, 1.22rem);
  line-height: 1.68;
}

.page-home-v2 .home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.page-home-v2 .home-button {
  min-height: 52px;
  gap: 10px;
  padding: 0 21px;
  border-radius: 10px;
  font-weight: 800;
  transition:
    transform var(--motion-base) var(--ease-smooth-out),
    background var(--motion-fast) ease,
    border-color var(--motion-fast) ease,
    box-shadow var(--motion-base) ease;
}

.page-home-v2 .home-button i {
  font-size: 1.12rem;
  transition: transform var(--motion-base) var(--ease-smooth-out);
}

.page-home-v2 .home-button:hover i {
  transform: translateX(4px);
}

.page-home-v2 .home-button--primary {
  color: white;
  background: linear-gradient(135deg, #087aef, #0652c7);
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(0, 105, 222, 0.32);
}

.page-home-v2 .home-button--ghost {
  color: white;
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.34);
  box-shadow: none;
  backdrop-filter: blur(14px);
}

.page-home-v2 .home-button--ghost:hover {
  color: var(--home-night);
  background: white;
  border-color: white;
}

.page-home-v2 .home-button--light {
  color: var(--home-blue);
  background: white;
  border-color: white;
  box-shadow: 0 18px 42px rgba(1, 9, 30, 0.24);
}

.page-home-v2 .home-button--light:hover {
  color: var(--home-blue);
  background: #f7d96f;
  border-color: #f7d96f;
}

.page-home-v2 .home-scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 28px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-decoration: none;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.page-home-v2 .home-scroll-cue i {
  font-size: 1.05rem;
  animation: home-nudge-down 1.9s ease-in-out infinite;
}

@keyframes home-nudge-down {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(6px); }
}

/* Identity */
.page-home-v2 .home-identity {
  background: var(--home-ivory);
}

.page-home-v2 .home-identity::before {
  content: '';
  position: absolute;
  left: -160px;
  bottom: -220px;
  width: 470px;
  height: 470px;
  border: 1px solid rgba(7, 94, 208, 0.16);
  border-radius: 50%;
}

.page-home-v2 .home-identity__watermark {
  position: absolute;
  right: -120px;
  top: 40px;
  width: 380px;
  opacity: 0.035;
  transform: rotate(-12deg);
}

.page-home-v2 .home-identity__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr);
  gap: clamp(52px, 6vw, 84px);
  align-items: center;
}

.page-home-v2 .home-identity__intro h2 {
  max-width: 660px;
  font-size: clamp(2.7rem, 4.5vw, 4.85rem);
}

.page-home-v2 .home-values {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-top: 32px;
  color: var(--home-blue);
  font-family: var(--display);
  font-size: clamp(1rem, 1.6vw, 1.36rem);
  font-weight: 800;
}

.page-home-v2 .home-values i {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--home-yellow);
}

.page-home-v2 .home-identity__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.page-home-v2 .home-identity-card {
  min-height: 390px;
  padding: clamp(28px, 3vw, 38px);
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: white;
  box-shadow: var(--home-shadow-sm);
}

.page-home-v2 .home-identity-card--mission {
  color: rgba(255, 255, 255, 0.86);
  background: linear-gradient(150deg, #0a68df, #0646b4 68%, #052e7b);
  border-color: transparent;
  transform: translateY(22px);
}

.page-home-v2 .home-identity-card .home-card-kicker {
  margin-bottom: 6px;
}

.page-home-v2 .home-identity-card--mission .home-card-kicker {
  color: #f7d879;
}

.page-home-v2 .home-identity-card > p:last-child {
  margin: 28px 0 0;
  color: var(--home-muted);
  font-size: 0.92rem;
  line-height: 1.78;
}

.page-home-v2 .home-identity-card--mission > p:last-child {
  color: rgba(255, 255, 255, 0.84);
}

.page-home-v2 .home-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  color: var(--home-blue);
  border-radius: 50%;
  background: var(--home-ice);
}

.page-home-v2 .home-icon i {
  font-size: 1.45rem;
}

.page-home-v2 .home-icon--inverse {
  color: white;
  background: rgba(255, 255, 255, 0.14);
}

/* Inclusion */
.page-home-v2 .home-inclusion {
  background: white;
}

.page-home-v2 .home-inclusion__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.9fr);
  gap: clamp(52px, 7vw, 100px);
  align-items: center;
}

.page-home-v2 .home-inclusion__visual {
  position: relative;
  margin: 0;
  padding: 0 34px 44px 0;
}

.page-home-v2 .home-inclusion__visual::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 58%;
  height: 58%;
  border-radius: 0 0 90px 0;
  background: var(--home-yellow);
}

.page-home-v2 .home-inclusion__photo {
  position: relative;
  aspect-ratio: 1.45;
  overflow: hidden;
  border-radius: 14px 82px 14px 14px;
  box-shadow: var(--home-shadow);
}

.page-home-v2 .home-inclusion__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.page-home-v2 .home-inclusion__visual figcaption {
  position: absolute;
  right: 0;
  bottom: 10px;
  z-index: 2;
  width: min(86%, 430px);
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  color: white;
  background: var(--home-night);
  box-shadow: 0 18px 40px rgba(4, 22, 53, 0.24);
  font-size: 0.8rem;
  font-weight: 700;
}

.page-home-v2 .home-inclusion__visual figcaption i {
  flex: 0 0 auto;
  color: var(--home-yellow);
  font-size: 1.65rem;
}

.page-home-v2 .home-inclusion__copy h2 {
  font-size: clamp(2.55rem, 4.35vw, 4.55rem);
}

.page-home-v2 .home-inclusion__copy > p:not(.home-eyebrow) {
  max-width: 600px;
  color: var(--home-muted);
  font-size: 1rem;
  line-height: 1.75;
}

.page-home-v2 .home-check-list {
  display: grid;
  gap: 12px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  font-weight: 700;
}

.page-home-v2 .home-check-list li {
  display: flex;
  align-items: center;
  gap: 11px;
}

.page-home-v2 .home-check-list i {
  width: 24px;
  color: var(--home-blue);
  font-size: 1.3rem;
  text-align: center;
}

/* Levels */
.page-home-v2 .home-levels {
  background: var(--home-ice);
}

.page-home-v2 .home-levels__shape {
  position: absolute;
  left: 7%;
  top: 54px;
  width: 250px;
  height: 124px;
  border: 1px solid rgba(7, 94, 208, 0.13);
  border-bottom: 0;
  border-radius: 250px 250px 0 0;
}

.page-home-v2 .home-level-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.page-home-v2 .home-level-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 42px rgba(4, 22, 53, 0.055);
  transition:
    transform var(--motion-base) var(--ease-smooth-out),
    border-color var(--motion-base) ease,
    box-shadow var(--motion-base) ease;
}

.page-home-v2 .home-level-card:hover,
.page-home-v2 .home-level-card.is-active {
  transform: translateY(-8px);
  border-color: var(--level-accent);
  box-shadow: 0 26px 64px color-mix(in srgb, var(--level-accent), transparent 82%);
}

.page-home-v2 .home-level-card__select {
  position: absolute;
  inset: 0;
  z-index: 5;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  cursor: pointer;
}

.page-home-v2 .home-level-card__select:focus-visible {
  outline: 3px solid var(--home-blue-bright);
  outline-offset: -5px;
}

.page-home-v2 .home-level-card__visual {
  position: relative;
  height: 240px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 35%, color-mix(in srgb, var(--level-accent), transparent 73%), transparent 34%),
    linear-gradient(155deg, #fefdf9, #f1f6fb);
}

.page-home-v2 .home-level-card__visual::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: var(--level-accent);
  transform: scaleX(0.22);
  transform-origin: left;
  transition: transform var(--motion-base) var(--ease-smooth-out);
}

.page-home-v2 .home-level-card:hover .home-level-card__visual::after,
.page-home-v2 .home-level-card.is-active .home-level-card__visual::after {
  transform: scaleX(1);
}

.page-home-v2 .home-level-card__visual img {
  position: relative;
  z-index: 2;
  width: 92%;
  height: 90%;
  object-fit: contain;
  filter: drop-shadow(0 17px 19px rgba(4, 22, 53, 0.2));
  transform: scale(0.98);
  transition: transform 420ms var(--ease-smooth-out);
}

.page-home-v2 .home-level-card:hover .home-level-card__visual img,
.page-home-v2 .home-level-card.is-active .home-level-card__visual img {
  transform: scale(1.045) rotate(-1deg);
}

.page-home-v2 .home-level-orbit {
  position: absolute;
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--level-accent), transparent 55%);
  border-radius: 50%;
}

.page-home-v2 .home-level-orbit--large {
  right: -28px;
  top: 24px;
  width: 132px;
  height: 132px;
}

.page-home-v2 .home-level-orbit--small {
  left: 18px;
  bottom: 24px;
  width: 50px;
  height: 50px;
}

.page-home-v2 .home-level-card__content {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  padding: 27px 24px 30px;
}

.page-home-v2 .home-level-range {
  margin: 0 0 8px;
  color: var(--home-blue);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-home-v2 .home-level-card h3 {
  min-height: 53px;
  font-size: 1.56rem;
}

.page-home-v2 .home-level-card__content > p:not(.home-level-range) {
  margin-bottom: 24px;
  color: var(--home-muted);
  font-size: 0.8rem;
  line-height: 1.65;
}

.page-home-v2 .home-fees {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--home-line);
}

.page-home-v2 .home-fee {
  min-width: 0;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 2px 6px;
  align-items: center;
}

.page-home-v2 .home-fee i {
  color: var(--home-blue);
  font-size: 1.05rem;
}

.page-home-v2 .home-fee span {
  color: var(--home-muted);
  font-size: 0.62rem;
}

.page-home-v2 .home-fee strong {
  grid-column: 1 / -1;
  margin-top: 4px;
  font-family: var(--display);
  font-size: 0.94rem;
}

.page-home-v2 .home-level-card__arrow {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 6;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--home-blue);
  border: 1px solid var(--home-line-strong);
  border-radius: 50%;
  background: white;
  pointer-events: none;
  transition:
    color var(--motion-base) ease,
    background var(--motion-base) ease,
    transform var(--motion-base) var(--ease-smooth-out);
}

.page-home-v2 .home-level-card.is-active .home-level-card__arrow {
  color: white;
  background: var(--home-blue);
  transform: rotate(-45deg);
}

.page-home-v2 .home-level-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 30px auto 0;
  color: var(--home-muted);
  font-size: 0.78rem;
  text-align: center;
}

.page-home-v2 .home-level-note i {
  color: var(--home-blue);
  font-size: 1.15rem;
}

/* Essentials */
.page-home-v2 .home-essentials {
  background: white;
}

.page-home-v2 .home-essentials .home-section-heading h2 {
  max-width: 690px;
}

.page-home-v2 .home-uniform-showcase {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.65fr);
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 28px;
  background: #fbfcfe;
  box-shadow: var(--home-shadow);
}

.page-home-v2 .home-uniform-showcase__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 4vw, 56px);
  color: white;
  background:
    radial-gradient(circle at 110% -10%, rgba(38, 185, 230, 0.35), transparent 34%),
    linear-gradient(145deg, #072858, #061632 70%);
}

.page-home-v2 .home-uniform-showcase__copy .home-card-kicker {
  color: #b6e5fb;
}

.page-home-v2 .home-uniform-showcase__copy h3 {
  color: white;
  font-size: clamp(2rem, 3vw, 3.15rem);
}

.page-home-v2 .home-uniform-tabs {
  display: grid;
  gap: 9px;
  margin-top: 26px;
}

.page-home-v2 .home-uniform-tabs span {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 10px 14px 10px 40px;
  color: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.74rem;
  font-weight: 700;
}

.page-home-v2 .home-uniform-tabs span::before {
  content: '';
  position: absolute;
  left: 15px;
  width: 13px;
  height: 13px;
  border: 3px solid rgba(255, 255, 255, 0.88);
  border-radius: 50%;
  background: var(--uniform-color);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.page-home-v2 .home-price-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.page-home-v2 .home-price-row span {
  display: grid;
  gap: 2px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.69rem;
}

.page-home-v2 .home-price-row strong {
  color: white;
  font-family: var(--display);
  font-size: 1rem;
}

.page-home-v2 .home-uniform-showcase__visual {
  min-width: 0;
  min-height: 580px;
  display: grid;
  place-items: center;
  margin: 0;
  overflow: hidden;
  background: #fbfbfa;
}

.page-home-v2 .home-uniform-showcase__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.page-home-v2 .home-essentials__lower {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.page-home-v2 .home-product-card {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(230px, 0.9fr);
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 24px;
  background: white;
  box-shadow: var(--home-shadow-sm);
}

.page-home-v2 .home-product-card figure {
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  background: var(--home-ice);
}

.page-home-v2 .home-product-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--motion-slow) var(--ease-smooth-out);
}

.page-home-v2 .home-product-card:hover figure img {
  transform: scale(1.025);
}

.page-home-v2 .home-product-card__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 3vw, 40px);
}

.page-home-v2 .home-product-card__copy h3 {
  font-size: clamp(1.7rem, 2.4vw, 2.5rem);
}

.page-home-v2 .home-product-card__copy > p:not(.home-card-kicker) {
  color: var(--home-muted);
  font-size: 0.83rem;
  line-height: 1.72;
}

@media (min-width: 1181px) {
  .page-home-v2 .home-essentials__lower {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  }

  .page-home-v2 .home-product-card--packages {
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
  }
}

.page-home-v2 .home-price-list {
  display: grid;
  gap: 10px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--home-line);
}

.page-home-v2 .home-price-list span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--home-muted);
  font-size: 0.72rem;
}

.page-home-v2 .home-price-list strong {
  color: var(--home-ink);
  font-family: var(--display);
  font-size: 0.9rem;
}

.page-home-v2 .home-package-prices {
  display: grid;
  grid-template-columns: minmax(250px, 0.75fr) minmax(0, 2fr);
  gap: clamp(34px, 5vw, 70px);
  margin-top: 18px;
  padding: clamp(34px, 5vw, 60px);
  color: white;
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 0%, rgba(38, 185, 230, 0.28), transparent 30%),
    linear-gradient(135deg, #0a4fb7, #062b69 62%, #061632);
  box-shadow: var(--home-shadow);
}

.page-home-v2 .home-package-prices .home-card-kicker {
  color: #b6e5fb;
}

.page-home-v2 .home-package-prices h3 {
  color: white;
  font-size: clamp(2rem, 3vw, 3.15rem);
}

.page-home-v2 .home-package-prices__grid {
  display: grid;
  grid-template-columns: 0.8fr 1.15fr 1.25fr;
  gap: 14px;
}

.page-home-v2 .home-package-group {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.07);
}

.page-home-v2 .home-package-group p {
  margin: 0 0 8px;
  color: #f7d66c;
  font-family: var(--display);
  font-size: 0.9rem;
  font-weight: 800;
}

.page-home-v2 .home-package-group span {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.69rem;
  line-height: 1.5;
}

.page-home-v2 .home-package-group strong {
  flex: 0 0 auto;
  color: white;
  font-family: var(--display);
  font-size: 0.82rem;
}

/* Life */
.page-home-v2 .home-life {
  color: white;
  background:
    radial-gradient(circle at 8% 14%, rgba(7, 94, 208, 0.34), transparent 28%),
    radial-gradient(circle at 90% 78%, rgba(38, 185, 230, 0.2), transparent 30%),
    var(--home-night);
}

.page-home-v2 .home-life h2 {
  color: white;
}

.page-home-v2 .home-life__grid {
  display: grid;
  grid-template-columns: 1.1fr repeat(3, 0.95fr);
  gap: 14px;
}

.page-home-v2 .home-life-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 20px;
  background: #0c285c;
}

.page-home-v2 .home-life-card > img,
.page-home-v2 .home-life-card__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.page-home-v2 .home-life-card > img {
  object-fit: cover;
  transition: transform var(--motion-slow) var(--ease-smooth-out);
}

.page-home-v2 .home-life-card__shade {
  background: linear-gradient(180deg, rgba(2, 11, 35, 0.03) 20%, rgba(2, 11, 35, 0.92) 92%);
}

.page-home-v2 .home-life-card:hover > img {
  transform: scale(1.045);
}

.page-home-v2 .home-life-card__copy {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: 28px;
}

.page-home-v2 .home-life-card__copy > i {
  width: 40px;
  height: 40px;
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin-bottom: 18px;
  color: white;
  border-radius: 50%;
  background: var(--home-blue);
  font-size: 1.25rem;
  font-style: normal;
  line-height: 1;
}

.page-home-v2 .home-life-card__copy h3 {
  color: white;
  font-size: 1.24rem;
}

.page-home-v2 .home-life-card__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
  line-height: 1.62;
}

/* Admissions */
.page-home-v2 .home-admissions {
  position: relative;
  padding: clamp(80px, 8vw, 112px) 0;
  overflow: hidden;
  color: white;
  background: linear-gradient(110deg, #0645b7 0%, #0966d6 58%, #0b79e5 100%);
}

.page-home-v2 .home-admissions::before {
  content: '';
  position: absolute;
  right: -80px;
  top: -140px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
}

.page-home-v2 .home-admissions__c {
  position: absolute;
  left: -110px;
  bottom: -165px;
  width: 350px;
  opacity: 0.09;
  transform: rotate(-18deg);
}

.page-home-v2 .home-admissions__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 60px;
  align-items: center;
}

.page-home-v2 .home-admissions h2 {
  margin-bottom: 16px;
  color: white;
  font-size: clamp(2.8rem, 5vw, 5.1rem);
}

.page-home-v2 .home-admissions p:not(.home-eyebrow) {
  max-width: 610px;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.page-home-v2 .home-admissions__action {
  display: grid;
  justify-items: start;
}

/* Contact and map */
.page-home-v2 .home-contact {
  background: var(--home-ivory);
}

.page-home-v2 .home-contact__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
  gap: clamp(44px, 7vw, 92px);
  align-items: end;
  margin-bottom: clamp(52px, 6vw, 78px);
}

.page-home-v2 .home-contact__intro > div > p:not(.home-eyebrow) {
  max-width: 600px;
  margin-bottom: 0;
  color: var(--home-muted);
}

.page-home-v2 .home-contact-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  color: var(--home-ink);
  border: 1px solid var(--home-line-strong);
  border-radius: 16px;
  background: white;
  box-shadow: var(--home-shadow-sm);
  text-decoration: none;
  transition: transform var(--motion-base) var(--ease-smooth-out), box-shadow var(--motion-base) ease;
}

.page-home-v2 .home-contact-line:hover {
  transform: translateY(-3px);
  box-shadow: var(--home-shadow);
}

.page-home-v2 .home-contact-line > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: white;
  border-radius: 50%;
  background: var(--home-blue);
}

.page-home-v2 .home-contact-line > span i {
  font-size: 1.3rem;
}

.page-home-v2 .home-contact-line div {
  min-width: 0;
  display: grid;
}

.page-home-v2 .home-contact-line small {
  color: var(--home-muted);
}

.page-home-v2 .home-contact-line strong {
  overflow-wrap: anywhere;
  font-size: 0.88rem;
}

.page-home-v2 .home-contact-line > i {
  color: var(--home-blue);
  font-size: 1.15rem;
}

.page-home-v2 .home-map-card {
  position: relative;
  width: min(100%, 1120px);
  min-height: 640px;
  display: grid;
  grid-template-columns: minmax(0, 718px) minmax(340px, 402px);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(7, 26, 61, 0.09);
  border-radius: 28px;
  background: white;
  box-shadow: 0 32px 70px rgba(7, 26, 61, 0.14), 0 8px 22px rgba(7, 26, 61, 0.06);
}

.page-home-v2 .home-map-card__view {
  position: relative;
  min-width: 0;
  min-height: 640px;
  overflow: hidden;
  background: #eaf0f7;
  isolation: isolate;
}

.page-home-v2 .home-map-card__view::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0;
  background: radial-gradient(circle at 50% 48%, rgba(35, 129, 255, 0.1), transparent 30%), linear-gradient(90deg, rgba(16, 91, 192, 0.04), rgba(7, 26, 61, 0.1));
  pointer-events: none;
}

.page-home-v2 .home-map-card__view::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 0;
  box-shadow: inset -30px 0 46px rgba(7, 26, 61, 0.1);
  pointer-events: none;
}

.page-home-v2 .home-map-card__source {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: saturate(0.72) contrast(0.98) brightness(1.015);
}

.page-home-v2 .home-map-card__halo {
  position: absolute;
  left: 38.2%;
  top: 36.7%;
  z-index: 3;
  width: 23.7%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(35, 132, 255, 0.3), rgba(35, 132, 255, 0.09) 46%, transparent 72%);
}

.page-home-v2 .home-map-card__pin {
  position: absolute;
  left: 50%;
  top: 43.5%;
  z-index: 4;
  width: 78px;
  height: 78px;
  border-radius: 28px 28px 28px 8px;
  background: rgba(252, 254, 255, 0.97);
  box-shadow: 0 22px 44px rgba(1, 14, 37, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.92);
  transform: translate(-50%, -50%) rotate(-45deg);
  backdrop-filter: blur(18px);
}

.page-home-v2 .home-map-card__pin::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 19px;
  background: linear-gradient(145deg, #1477ed, #074aac);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.34);
}

.page-home-v2 .home-map-card__pin-mark {
  position: absolute;
  left: 50%;
  top: 43.5%;
  z-index: 5;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.page-home-v2 .home-map-card__pin-mark img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  transform: translate(10%, 8%) scale(1.9);
  transform-origin: center;
}

.page-home-v2 .home-map-card__label {
  position: absolute;
  left: 55.4%;
  top: 31.7%;
  z-index: 5;
  width: min(38.2%, 274px);
  min-height: 114px;
  padding: 19px 20px 17px;
  color: var(--home-night);
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 20px;
  background: rgba(250, 252, 255, 0.92);
  box-shadow: 0 22px 48px rgba(1, 14, 37, 0.3);
  backdrop-filter: blur(20px) saturate(1.14);
}

.page-home-v2 .home-map-card__label strong {
  display: block;
  color: var(--home-night);
  font-family: var(--display);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}

.page-home-v2 .home-map-card__label span {
  display: block;
  margin-top: 8px;
  color: #526177;
  font-size: 0.73rem;
  font-weight: 650;
  line-height: 1.35;
}

.page-home-v2 .home-map-card__caption {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(7, 26, 61, 0.62);
  font-size: 0.7rem;
  font-weight: 620;
}

.page-home-v2 .home-map-card__caption::before {
  content: '';
  width: 26px;
  height: 2px;
  border-radius: 2px;
  background: var(--home-yellow);
}

.page-home-v2 .home-map-card__copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px 50px 54px;
  background: radial-gradient(circle at 110% -6%, rgba(22, 102, 218, 0.1), transparent 31%), white;
}

.page-home-v2 .home-map-card__watermark {
  position: absolute;
  right: -48px;
  bottom: -58px;
  width: 220px;
  opacity: 0.035;
  pointer-events: none;
}

.page-home-v2 .home-map-card__copy h3 {
  max-width: 300px;
  color: var(--home-night);
  font-size: clamp(2.35rem, 3.5vw, 2.9rem);
  line-height: 0.98;
}

.page-home-v2 .home-map-card__copy address {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 15px;
  margin-top: 24px;
  padding-top: 27px;
  color: var(--home-night);
  border-top: 1px solid rgba(7, 26, 61, 0.1);
}

.page-home-v2 .home-map-card__address-icon {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: var(--home-blue);
  border: 1px solid rgba(12, 90, 215, 0.16);
  border-radius: 13px;
  background: linear-gradient(145deg, #f8fbff, #e9f2ff);
  box-shadow: 0 10px 24px rgba(12, 90, 215, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.page-home-v2 .home-map-card__address-icon i {
  font-size: 1.45rem;
}

.page-home-v2 .home-map-card__copy address small {
  display: block;
  margin-bottom: 3px;
  color: #758195;
  font-size: 0.66rem;
  font-weight: 780;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-home-v2 .home-map-card__copy address strong {
  display: block;
  font-size: 0.83rem;
  line-height: 1.42;
}

.page-home-v2 .home-map-card__link {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 27px;
  padding: 0 18px 0 20px;
  color: white;
  border-radius: 13px;
  background: linear-gradient(135deg, var(--home-blue), #083f9e);
  box-shadow: 0 14px 28px rgba(12, 90, 215, 0.22);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 780;
  transition: transform var(--motion-base) var(--ease-smooth-out), box-shadow var(--motion-base) ease;
}

.page-home-v2 .home-map-card__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 34px rgba(12, 90, 215, 0.28);
}

.page-home-v2 .home-map-card__link span:last-child {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 9px;
  font-size: 1rem;
}

/* Footer */
.page-home-v2 .home-footer {
  padding: 74px 0 26px;
  background:
    radial-gradient(circle at 12% 10%, rgba(7, 94, 208, 0.18), transparent 26%),
    var(--home-night-deep);
}

.page-home-v2 .home-footer .footer-grid {
  grid-template-columns: 1.45fr 0.7fr 0.7fr 0.95fr;
  gap: clamp(34px, 5vw, 64px);
}

.page-home-v2 .home-footer .home-brand img {
  width: 56px;
  height: 56px;
  margin: 0;
  filter: none;
}

.page-home-v2 .home-brand--inverse small {
  color: rgba(255, 255, 255, 0.6);
}

.page-home-v2 .home-footer__brand > p:not(.home-footer__values) {
  max-width: 360px;
  margin: 24px 0 8px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.8rem;
}

.page-home-v2 .home-footer__values {
  margin: 0;
  color: #f1ca5d;
  font-size: 0.68rem;
  font-weight: 700;
}

.page-home-v2 .home-footer .footer-grid h2 {
  margin-bottom: 18px;
  color: white;
}

.page-home-v2 .home-footer .footer-grid a {
  color: rgba(255, 255, 255, 0.68);
}

.page-home-v2 .home-footer .footer-grid a:hover {
  color: #f2d170;
}

.page-home-v2 .home-footer__social-label {
  margin: 24px 0 10px;
  color: white;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-home-v2 .home-footer .footer-socials {
  margin-top: 0;
}

.page-home-v2 .home-footer .footer-social {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  margin: 0;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background: rgba(7, 94, 208, 0.12);
}

.page-home-v2 .home-footer .footer-social i {
  font-size: 1.1rem;
}

.page-home-v2 .home-footer .footer-bottom a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: rgba(255, 255, 255, 0.68);
  text-decoration: none;
}

/* Motion */
.page-home-v2 [data-reveal] {
  opacity: 1;
  transform: none;
}

.reveal-enabled .page-home-v2 [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity var(--motion-slow) var(--ease-smooth-out) var(--reveal-delay, 0ms),
    transform var(--motion-slow) var(--ease-smooth-out) var(--reveal-delay, 0ms);
}

.reveal-enabled .page-home-v2 [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.page-home-v2 .home-identity__cards [data-reveal]:nth-child(2),
.page-home-v2 .home-essentials__lower [data-reveal]:nth-child(2),
.page-home-v2 .home-life__grid [data-reveal]:nth-child(2) {
  --reveal-delay: 70ms;
}

.page-home-v2 .home-life__grid [data-reveal]:nth-child(3) {
  --reveal-delay: 140ms;
}

.page-home-v2 .home-life__grid [data-reveal]:nth-child(4) {
  --reveal-delay: 210ms;
}

@media (max-width: 1180px) {
  .page-home-v2 .site-nav {
    gap: 15px;
    font-size: 0.72rem;
  }

  .page-home-v2 .site-nav > a:nth-child(3) {
    display: none;
  }

  .page-home-v2 .home-identity__grid {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-identity__intro {
    max-width: 820px;
  }

  .page-home-v2 .home-identity__cards {
    max-width: 960px;
  }

  .page-home-v2 .home-level-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home-v2 .home-level-card__content {
    min-height: 330px;
  }

  .page-home-v2 .home-product-card {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-product-card figure {
    min-height: 400px;
  }

  .page-home-v2 .home-package-prices {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-life__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-home-v2 .home-life-card {
    min-height: 470px;
  }
}

@media (max-width: 920px) {
  .page-home-v2 .home-section {
    padding: 96px 0;
  }

  .page-home-v2 .home-header .header-inner,
  .page-home-v2 .home-header.is-scrolled .header-inner {
    min-height: 78px;
  }

  .page-home-v2 .site-nav {
    position: fixed;
    inset: 84px 20px auto;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 14px;
    color: var(--home-ink);
    border: 1px solid var(--home-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--home-shadow);
    backdrop-filter: blur(18px);
  }

  .page-home-v2 .site-nav.is-open {
    display: flex;
  }

  .page-home-v2 .site-nav > a,
  .page-home-v2 .site-nav > a:nth-child(3) {
    min-height: 49px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    color: var(--home-ink);
    border-bottom: 1px solid var(--home-line);
  }

  .page-home-v2 .site-nav > a:last-child {
    border-bottom: 0;
  }

  .page-home-v2 .site-nav > a:not(.button)::after {
    display: none;
  }

  .page-home-v2 .site-nav .nav-utility {
    color: var(--home-blue);
  }

  .page-home-v2 .menu-toggle {
    display: block;
  }

  .page-home-v2 .home-hero {
    min-height: 840px;
  }

  .page-home-v2 .home-hero__photo {
    object-position: 65% center;
  }

  .page-home-v2 .home-hero__shade {
    background: linear-gradient(90deg, rgba(2, 11, 35, 0.96), rgba(2, 11, 35, 0.7) 58%, rgba(2, 11, 35, 0.28));
  }

  .page-home-v2 .home-inclusion__grid,
  .page-home-v2 .home-admissions__inner {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-inclusion__visual {
    max-width: 760px;
  }

  .page-home-v2 .home-section-heading--split {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .page-home-v2 .home-uniform-showcase {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-uniform-showcase__visual {
    min-height: 480px;
  }

  .page-home-v2 .home-essentials__lower {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-product-card {
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
  }

  .page-home-v2 .home-product-card figure {
    min-height: 460px;
  }

  .page-home-v2 .home-package-prices__grid {
    grid-template-columns: 1fr 1fr;
  }

  .page-home-v2 .home-package-group:last-child {
    grid-column: 1 / -1;
  }

  .page-home-v2 .home-admissions__inner {
    gap: 34px;
  }

  .page-home-v2 .home-contact__intro {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-contact-line {
    max-width: 560px;
  }

  .page-home-v2 .home-map-card {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .page-home-v2 .home-map-card__view {
    min-height: 560px;
  }

  .page-home-v2 .home-map-card__copy {
    min-height: 410px;
  }

  .page-home-v2 .home-footer .footer-grid {
    grid-template-columns: 1.2fr repeat(3, 0.8fr);
    gap: 28px;
  }
}

@media (max-width: 680px) {
  .page-home-v2 .site-container {
    width: min(calc(100% - 32px), 1280px);
  }

  .page-home-v2 .home-section {
    padding: 78px 0;
  }

  .page-home-v2 h2 {
    font-size: clamp(2.35rem, 12vw, 3.55rem);
  }

  .page-home-v2 .home-header .header-inner,
  .page-home-v2 .home-header.is-scrolled .header-inner {
    min-height: 72px;
  }

  .page-home-v2 .home-brand img,
  .page-home-v2 .home-header.is-scrolled .home-brand img {
    width: 46px;
    height: 46px;
  }

  .page-home-v2 .home-brand strong {
    font-size: 1.2rem;
  }

  .page-home-v2 .home-header .home-brand small {
    display: none;
  }

  .page-home-v2 .header-admissions {
    min-height: 40px;
    padding: 8px 12px;
    font-size: 0.74rem;
  }

  .page-home-v2 .header-admissions__year {
    display: none;
  }

  .page-home-v2 .menu-toggle {
    width: 42px;
    height: 42px;
  }

  .page-home-v2 .site-nav {
    inset: 76px 16px auto;
  }

  .page-home-v2 .home-hero {
    min-height: 820px;
    align-items: end;
  }

  .page-home-v2 .home-hero__photo {
    object-position: 68% top;
  }

  .page-home-v2 .home-hero__shade {
    background: linear-gradient(180deg, rgba(2, 11, 35, 0.18) 18%, rgba(2, 11, 35, 0.9) 66%, #020b23 100%);
  }

  .page-home-v2 .home-hero__inner {
    padding: 126px 0 92px;
  }

  .page-home-v2 .home-hero h1 {
    font-size: clamp(2.75rem, 14vw, 4.1rem);
  }

  .page-home-v2 .home-hero__copy > p:not(.home-eyebrow) {
    font-size: 0.94rem;
  }

  .page-home-v2 .home-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-home-v2 .home-hero__actions .home-button {
    width: 100%;
  }

  .page-home-v2 .home-scroll-cue {
    display: none;
  }

  .page-home-v2 .home-identity__grid {
    gap: 44px;
  }

  .page-home-v2 .home-identity__cards {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-identity-card {
    min-height: 0;
  }

  .page-home-v2 .home-identity-card--mission {
    transform: none;
  }

  .page-home-v2 .home-values {
    gap: 8px 10px;
    font-size: 0.96rem;
  }

  .page-home-v2 .home-inclusion__visual {
    padding: 0 20px 44px 0;
  }

  .page-home-v2 .home-inclusion__photo {
    aspect-ratio: 0.98;
    border-radius: 12px 54px 12px 12px;
  }

  .page-home-v2 .home-inclusion__visual figcaption {
    width: 90%;
    padding: 15px;
    font-size: 0.72rem;
  }

  .page-home-v2 .home-level-grid {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-level-card,
  .page-home-v2 .home-level-card:hover,
  .page-home-v2 .home-level-card.is-active {
    transform: none;
  }

  .page-home-v2 .home-level-card__visual {
    height: 270px;
  }

  .page-home-v2 .home-level-card__content {
    min-height: 340px;
  }

  .page-home-v2 .home-level-card h3 {
    min-height: 0;
  }

  .page-home-v2 .home-level-note {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .page-home-v2 .home-uniform-showcase__copy {
    padding: 32px 24px;
  }

  .page-home-v2 .home-uniform-tabs {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-uniform-showcase__visual {
    min-height: 290px;
  }

  .page-home-v2 .home-product-card {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-product-card figure {
    min-height: 360px;
  }

  .page-home-v2 .home-product-card__copy {
    padding: 28px 24px 32px;
  }

  .page-home-v2 .home-package-prices {
    padding: 32px 24px;
  }

  .page-home-v2 .home-package-prices__grid {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-package-group:last-child {
    grid-column: auto;
  }

  .page-home-v2 .home-package-group span {
    align-items: flex-start;
  }

  .page-home-v2 .home-life__grid {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-life-card {
    min-height: 500px;
  }

  .page-home-v2 .home-admissions__action .home-button {
    width: 100%;
    padding-inline: 14px;
  }

  .page-home-v2 .home-contact-line {
    padding: 15px;
  }

  .page-home-v2 .home-contact-line strong {
    font-size: 0.76rem;
  }

  .page-home-v2 .home-map-card {
    border-radius: 22px;
  }

  .page-home-v2 .home-map-card__view {
    min-height: 390px;
  }

  .page-home-v2 .home-map-card__pin {
    width: 62px;
    height: 62px;
    border-radius: 23px 23px 23px 7px;
  }

  .page-home-v2 .home-map-card__pin::after {
    inset: 10px;
    border-radius: 15px;
  }

  .page-home-v2 .home-map-card__pin-mark {
    width: 38px;
    height: 38px;
  }

  .page-home-v2 .home-map-card__pin-mark img {
    width: 100%;
    height: 100%;
  }

  .page-home-v2 .home-map-card__label {
    left: 58%;
    top: 29%;
    width: 40%;
    min-height: 0;
    padding: 13px;
    border-radius: 14px;
  }

  .page-home-v2 .home-map-card__label strong {
    font-size: 1.05rem;
  }

  .page-home-v2 .home-map-card__label span {
    margin-top: 5px;
    font-size: 0.58rem;
  }

  .page-home-v2 .home-map-card__caption {
    left: 16px;
    bottom: 16px;
    font-size: 0.6rem;
  }

  .page-home-v2 .home-map-card__copy {
    min-height: 0;
    padding: 38px 24px 34px;
  }

  .page-home-v2 .home-map-card__copy h3 {
    font-size: 2.55rem;
  }

  .page-home-v2 .home-footer .footer-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .page-home-v2 .home-footer .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 390px) {
  .page-home-v2 .header-admissions {
    display: none;
  }

  .page-home-v2 .home-fees {
    grid-template-columns: 1fr 1fr;
  }

  .page-home-v2 .home-price-row {
    grid-template-columns: 1fr;
  }

  .page-home-v2 .home-map-card__label {
    left: 59%;
    width: 39%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home-v2 .home-scroll-cue i {
    animation: none;
  }

  .reveal-enabled .page-home-v2 [data-reveal],
  .reveal-enabled .page-home-v2 [data-reveal].is-visible {
    opacity: 1;
    transform: none;
  }
}
