/*
 * LP responsive — hero card ≤1199px; ≤991 stack layouts; ≤600 tight type;
 * ≤559 narrow phones (headings + body); 992–1199 tablet; 1200–1919 laptop; ≥1921 ultra-wide.
 */

/* ——— Hero / banner — 360px–1199px: Figma 374:541 stack (tablet + phone) ——— */
@media (max-width: 1199px) {
  .hero {
    background: #020219 none !important;
    padding: clamp(16px, 3.2vw, 32px) max(16px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(16px, env(safe-area-inset-right, 0px)) !important;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(18px, 3.5vw, 36px);
    box-sizing: border-box;
    position: relative;
    min-width: 0;
  }
  .hero__mob-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(24px, 3.8vw, 40px);
    padding: clamp(20px, 3.5vw, 32px);
    border-radius: clamp(16px, 2.2vw, 20px);
    position: relative;
    overflow: hidden;
    background: #14142c;
    width: 100%;
    max-width: min(720px, 100%);
    margin-inline: auto;
    box-sizing: border-box;
  }
  .hero__mob-layers {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    border-radius: inherit;
    overflow: hidden;
  }
  .hero__mob-card-fill {
    position: absolute;
    inset: 0;
    background: #14142c;
    border-radius: inherit;
  }
  .hero__mob-strip {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 26.16%;
    overflow: hidden;
  }
  .hero__mob-strip img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: top center;
  }
  .heroleft {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100% !important;
    gap: clamp(14px, 2.2vw, 20px);
    position: relative;
    z-index: 1;
    vertical-align: unset;
    min-width: 0;
  }
  .hero__mob-middle {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(20px, 3.2vw, 28px);
    width: 100%;
    position: relative;
    z-index: 1;
    min-width: 0;
  }
  .hero__mob-typo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(18px, 3vw, 28px);
    width: 100%;
    min-width: 0;
  }
  .hero__mob-figure {
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .hero__mob-figure img {
    width: min(296px, clamp(160px, 42vw, 260px));
    height: auto;
    display: block;
  }
  .hero .lp-hero__brand {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .hero .hero__mob-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(240px, 90vw) !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    /* Override ≤991 .lp-hero__logo { aspect-ratio: 248/96 } on this same element */
    aspect-ratio: auto;
    margin-inline: auto;
    padding: clamp(10px, 2.4vw, 14px) clamp(12px, 2.8vw, 20px);
    box-sizing: border-box;
  }
  .hero .hero__mob-logo .lp-hero__logo-shade {
    z-index: 0;
    inset: 0;
    width: auto;
    height: auto;
    min-height: 0;
    border-radius: 4px;
  }
  .hero .hero__mob-logo .lp-hero__logo-img {
    position: relative !important;
    z-index: 1;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: min(200px, 70vw) !important;
    height: auto !important;
    min-height: 0;
  }
  .hero .hero__mob-logo .lp-hero__logo-img img {
    display: block;
    object-fit: contain !important;
    object-position: center;
    width: 100% !important;
    height: auto;
    max-height: clamp(44px, 9vw, 56px);
  }
  .hero h1 {
    font-size: clamp(28px, 2.4vw + 19px, 44px);
    line-height: 0.99;
    letter-spacing: clamp(-0.05em, -0.15vw, -0.02em);
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-weight: 500;
  }
  .hero h1 strong {
    font-weight: 700;
  }
  .hero h2.hero__roles {
    font-size: clamp(32px, 2.5vw + 22px, 48px);
    line-height: 1.04;
    --hero-role-ls: clamp(-1px, -0.07vw, -0.8px);
    letter-spacing: clamp(-1px, -0.07vw, -0.8px);
    padding: 0;
    margin: 0;
    text-transform: uppercase;
    width: 100%;
  }
  .hero .hero__roles-stack {
    gap: clamp(6px, 1.2vw, 10px);
    align-items: flex-start;
  }
  .hero .hero__roles-row--primary .hero__roles-text {
    font-size: clamp(32px, 2.5vw + 22px, 48px);
    letter-spacing: clamp(-1px, -0.07vw, -0.8px);
    font-weight: 700;
  }
  .hero .hero__roles-row--secondary .hero__roles-text {
    font-size: clamp(22px, 1.8vw + 18px, 34px);
    font-weight: 400;
    letter-spacing: clamp(-0.8px, -0.05vw, -0.6px);
  }
  .hero .hero__roles--promote .hero__roles-row--secondary .hero__roles-text {
    font-size: 1em;
    font-weight: 700;
    letter-spacing: var(--hero-role-ls);
  }
  .hero p {
    font-size: clamp(14px, 0.55vw + 12px, 18px);
    line-height: 1.33;
    letter-spacing: clamp(-0.5px, -0.03vw, -0.42px);
    max-width: none;
    padding: 0;
    margin: 0;
  }
  .bannerpic--desktop {
    display: none !important;
  }
  .heroright {
    display: block !important;
    width: 100% !important;
    max-width: min(720px, 100%);
    margin-inline: auto;
    padding-top: 0 !important;
    vertical-align: unset;
  }
  .heroright .form {
    width: 100% !important;
    max-width: 100%;
    float: none; max-width: 400px;
    box-sizing: border-box; margin: 0 auto;
  }

  /* ——— Curriculum — Figma 1005:1376 — only &lt;1200px (this file: max-width 1199px) ——— */
  .lp-curriculum {
    padding: clamp(56px, 8vw, 72px) 0;
  }
  .lp-curriculum__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 760px);
    gap: 36px;
    box-sizing: border-box;
  }
  .lp-curriculum__left {
    padding-left: 0;
    align-items: center;
    text-align: center;
    max-width: min(520px, 100%);
    width: 100%;
    gap: 16px;
  }
  .lp-curriculum__headline {
    align-items: center;
    gap: 0;
  }
  .lp-curriculum__headline-white {
    font-size: clamp(28px, 5.2vw, 42px);
    font-weight: 300;
    line-height: 1.18;
  }
  .lp-curriculum__headline-gradient {
    font-size: clamp(28px, 5.2vw, 42px);
    font-weight: 300;
    line-height: 1.18;
    background: linear-gradient(104deg, #7faaff 1.91%, #ffffff 86.07%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  .lp-curriculum__headline-gradient-line {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  .lp-curriculum__body {
    width: min(520px, 100%);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    text-align: center;
  }
  .lp-curriculum__right {
    width: 100%;
    max-width: min(520px, 100%);
    align-items: center;
    text-align: center;
    justify-content: flex-start;
    gap: 10px;
  }
  .lp-curriculum__eyebrow {
    width: min(520px, 100%);
    font-size: clamp(18px, 3vw, 22px);
    font-weight: 300;
    line-height: 1.2;
    color: #7faaff;
  }
  .lp-curriculum__co-create {
    width: min(520px, 100%);
    font-size: clamp(30px, 5vw, 38px);
    font-weight: 600;
    line-height: 1.2;
    color: #5697fe;
  }
  .lp-curriculum__mob-band {
    display: none !important;
  }
  .lp-campus-band {
    display: none !important;
  }

  .psych-evolving {
    padding: clamp(64px, 8vw, 88px) 0 clamp(96px, 12vw, 116px);
  }
  .psych-evolving::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: clamp(300px, 48vw, 420px);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 45%, rgba(255, 255, 255, 0.72) 72%, rgba(255, 255, 255, 0.18) 100%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 46%, rgba(255, 255, 255, 0.58) 72%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
  }
  .psych-evolving__art {
    height: clamp(440px, 64vw, 700px);
  }
  .psych-evolving__art img {
    object-position: 68% top;
  }
  .psych-evolving__inner {
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 940px);
    gap: 28px;
  }
  .psych-evolving__top {
    gap: 32px;
  }
  .psych-evolving__bottom {
    gap: 32px;
  }
  .psych-evolving__head {
    gap: 8px;
  }
  .psych-evolving__intro {
    gap: 20px;
    width: min(620px, 100%);
  }
  .psych-evolving__title {
    width: min(620px, 100%);
    font-size: clamp(36px, 5.8vw, 58px);
  }
  .psych-evolving__summary {
    width: min(560px, 100%);
    font-size: 18px;
    margin-bottom: clamp(28px, 4vw, 40px);
  }
  .psych-evolving__cards {
    width: min(720px, 100%);
    gap: 18px;
  }
  .psych-evolving__card {
    padding: 24px;
    border-radius: 18px;
  }
  .psych-evolving__card-head {
    gap: 18px;
  }
  .psych-evolving__card-trigger {
    gap: 24px;
  }
  .psych-evolving__influence-list {
    font-size: 20px;
  }
  .psych-evolving__specialisations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    grid-template-areas:
      "indomain cross"
      "result result";
    gap: 32px;
    margin-top: 0;
  }
  .psych-evolving__specialisation--left,
  .psych-evolving__specialisation--right {
    grid-row: auto;
  }
  .psych-evolving__connector--desk,
  .psych-evolving__connector--mob {
    display: none;
  }
  .psych-evolving__center {
    display: contents;
  }
  .psych-evolving__result {
    justify-self: center;
    max-width: min(760px, 100%);
    padding: clamp(16px, 2.5vw, 28px) 0;
  }
  .psych-evolving__cross-layout {
    flex-direction: column;
  }
  .psych-evolving__specialisation {
    width: 100%;
    max-width: none;
    padding-top: 0;
  }
  .psych-evolving__result {
    font-size: clamp(18px, 2vw, 22px);
    text-align: center;
    align-items: center;
  }

  .psych-capability__inner {
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 940px);
    padding: 0 0 clamp(40px, 6vw, 64px);
  }
  .psych-capability__intro {
    gap: 20px;
    width: min(760px, 100%);
    padding-top: clamp(56px, 8vw, 88px);
    padding-bottom: clamp(40px, 6vw, 64px);
    padding-left: 0;
  }
  .psych-capability__title-main {
    font-size: clamp(30px, 4.6vw, 48px);
  }
  .psych-capability__title-sub {
    font-size: clamp(22px, 3.2vw, 28px);
  }
  .psych-capability__summary {
    width: min(760px, 100%);
    font-size: 17px;
  }
  .psych-capability__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-top: 0;
  }
  .psych-capability__card {
    padding: 24px 28px;
    border-radius: 22px;
  }

  .psych-roadmap__inner {
    flex-direction: column;
    gap: 28px;
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 940px);
    padding: clamp(56px, 8vw, 76px) 0 clamp(64px, 8vw, 88px);
  }
  .psych-roadmap__intro {
    gap: 20px;
    width: min(620px, 100%);
    flex: 0 1 auto;
  }
  .psych-roadmap__title {
    font-size: clamp(34px, 6vw, 54px);
  }
  .psych-roadmap__summary {
    font-size: clamp(18px, 2.6vw, 22px);
  }
  .psych-roadmap__stack {
    width: 100%;
  }
  .psych-roadmap__item {
    padding: 24px 28px 24px 44px;
  }
  .psych-roadmap__item.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    padding-top: 28px;
    padding-bottom: 28px;
  }
  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 24px;
  }
  .psych-roadmap__item.is-open .psych-roadmap__year-block {
    gap: 16px;
  }
  .psych-roadmap__item.is-open .psych-roadmap__panel {
    grid-column: auto;
  }

  .psych-ai__bg img {
    object-position: center top;
  }
  .psych-ai__inner {
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 940px);
    padding: clamp(72px, 10vw, 120px) 0 clamp(40px, 5vw, 56px);
  }
  .psych-ai__intro {
    max-width: 100%;
    padding: clamp(24px, 4vw, 40px) 0 clamp(36px, 6vw, 64px);
  }
  .psych-ai__title {
    max-width: none;
  }
  .psych-ai__subtitle {
    max-width: none;
  }
  .psych-ai__lead {
    max-width: none;
  }
  .psych-ai__panel {
    min-height: 0;
  }
  .psych-ai__panel-row {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: flex-start;
    padding: clamp(16px, 3vw, 24px) 0;
  }
  .psych-ai__col {
    padding: 0 clamp(16px, 4vw, 28px);
  }
  .psych-ai__col--accent {
    max-width: none;
  }
  .psych-ai__panel-heading {
    margin-bottom: 16px;
  }

  /* psych-campus 768–1199: see Figma 2505:870 + 768–1199 grid block */

  /* ——— NAP / New age programmes — Figma 374:1132 (≤1199px) ——— */
  .nap {
    gap: clamp(28px, 5vw, 40px);
    background: #fff;
    box-sizing: border-box;
    padding: 0;
  }

  .nap__header {
    gap: clamp(20px, 4vw, 24px);
    padding: clamp(28px, 5vw, 40px) max(24px, env(safe-area-inset-left, 0px)) 0;
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }

  .nap__h2 {
    font-size: clamp(24px, 2.2vw + 18px, 28px);
    line-height: 0.97;
    text-align: left;
  }

  .nap__header-copy-col {
    align-items: stretch;
    gap: 16px;
  }

  .nap__intro-copy {
    font-size: 16px;
    line-height: 1.5;
    text-align: left;
  }

  .nap__apply {
    display: none;
  }

  /* ——— NAP building — mobile Figma 1005:1393: px-24 gutters outside blue card; p-24 inside ——— */
  .nap__building {
    align-self: stretch;
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    width: auto;
    max-width: 100%;
    margin-left: max(24px, env(safe-area-inset-left, 0px));
    margin-right: max(24px, env(safe-area-inset-right, 0px));
    padding: 24px 24px 56px;
    box-sizing: border-box;
    background: #204ab2;
    border-radius: 23px;
    box-shadow: var(--nap-card-shadow);
  }

  .nap__program-card {
    height: auto;
    min-height: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    gap: 18px;
  }

  .nap__program-title {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.11;
  }

  .nap__program-body {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.34;
    letter-spacing: -0.42px;
  }

  .nap__building-flow {
    flex: none;
    width: 100%;
    gap: 0;
  }

  .nap__building-flow-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
  }

  .nap__spec-stack {
    gap: 16px;
    width: 100%;
  }

  .nap__spec-card {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    min-height: 0;
    gap: 24px;
  }

  .nap__spec-heading {
    flex-shrink: 1;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-size: 28px;
    font-weight: 700;
    line-height: 36px;
  }

  .nap__spec-heading--wide {
    font-weight: 600;
    line-height: 36px;
  }

  /* 1005:1399 — two lines: “Within Domain …” then “Specialisations” */
  .nap__spec-heading--stack:not(.nap__spec-heading--wide) .nap__spec-heading-line {
    display: inline;
  }

  .nap__spec-heading--stack:not(.nap__spec-heading--wide) .nap__spec-heading-line:last-child {
    display: block;
  }

  /* 1005:1407 — single title block */
  .nap__spec-heading--wide.nap__spec-heading--stack .nap__spec-heading-line {
    display: inline;
  }

  .nap__spec-heading--wide.nap__spec-heading--stack .nap__spec-heading-line:first-child::after {
    content: "\00a0";
  }

  .nap__spec-heading-line {
    white-space: normal;
  }

  /* Keep “Specialisations” unbroken; scale heading in ≤559px if needed */
  .nap__spec-heading-line:last-child {
    white-space: nowrap;
  }

  .nap__spec-list li {
    font-size: 16px;
    line-height: 1.22;
  }

  .lp-choose {
    padding-top: clamp(20px, 6vw, 36px);
    padding-bottom: clamp(24px, 8vw, 40px);
    padding-left: max(clamp(20px, 6vw, 32px), env(safe-area-inset-left, 0px));
    padding-right: max(clamp(20px, 6vw, 32px), env(safe-area-inset-right, 0px));
    box-sizing: border-box;
  }
  .lp-choose__band {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
    max-height: none;
    padding-bottom: clamp(24px, 7vw, 36px);
    padding-left: clamp(0px, 1vw, 8px);
    padding-right: clamp(0px, 1vw, 8px);
    box-sizing: border-box;
  }
  .lp-choose__views {
    min-height: 0;
  }
  .lp-choose__view {
    min-height: 0;
  }
  .lp-choose__view--step1 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-inline: clamp(8px, 2.5vw, 16px);
    box-sizing: border-box;
  }
  .lp-choose__view--step2 {
    padding-inline: clamp(8px, 2.5vw, 16px);
    box-sizing: border-box;
  }
  .lp-choose__diagonal-img--desk {
    display: none;
  }
  .lp-choose__diagonal-img--mob {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 30.22%;
    max-height: 45%;
    object-fit: cover;
    object-position: top center;
  }
  .lp-choose__grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(28px, 6vw, 36px);
    padding: clamp(4px, 1.5vw, 12px) 0 0;
    min-height: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .lp-choose__h2,
  .lp-choose__lead,
  .lp-choose__step,
  .lp-choose__choices {
    grid-area: unset;
  }
  .lp-choose__main {
    grid-area: unset;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(22px, 5.5vw, 32px);
    width: 100%;
  }
  .lp-choose__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(14px, 4vw, 20px);
    width: 100%;
  }
  .lp-choose__step {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: clamp(16px, 4.5vw, 24px);
    margin: 0 0 2px;
    font-size: clamp(16px, 4.2vw, 20px);
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
    align-self: flex-start;
    letter-spacing: 0.02em;
  }
  .lp-choose__step-line {
    display: inline;
  }
  .lp-choose__step-line:first-child::after {
    content: "";
  }
  .lp-choose__h2 {
    margin: 0;
    max-width: none;
    /* Figma 374:1219 — headline 46px / 0.93 */
    font-size: clamp(32px, 11.71vw, 46px);
    font-weight: 600;
    line-height: 0.93;
    letter-spacing: -0.04em;
  }
  .lp-choose__lead {
    margin: 0;
    /* Figma 374:1220 — fluid 360–1199 */
    font-size: clamp(22px, 7.2vw, 28px);
    font-weight: 600;
    line-height: 0.93;
  }
  .lp-choose__choices {
    gap: clamp(14px, 4vw, 20px);
    max-width: none;
    width: 100%;
  }
  .lp-choose__pill {
    min-height: 52px;
    padding: clamp(18px, 4.5vw, 26px) clamp(16px, 4vw, 22px);
    border-radius: 40px;
    border-width: 1px;
    font-size: clamp(16px, 4.2vw, 18px);
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    justify-content: center;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }
  .lp-choose__pill--active {
    margin-left: 0;
    width: 100%;
    font-size: clamp(16px, 4.2vw, 18px);
    font-weight: 600;
    box-shadow: none;
    border-width: 1px;
  }
  .lp-choose__photo {
    order: -1;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    height: clamp(220px, 58vw, 320px);
    flex-shrink: 0;
    margin: 0;
    aspect-ratio: auto;
    pointer-events: none;
    z-index: 2;
    overflow: visible;
  }
  .lp-choose__photo-img--desk {
    display: none;
  }
  .lp-choose__photo-img--mob {
    display: block;
    position: absolute;
    left: 50%;
    top: clamp(-44px, -11vw, -51px);
    transform: translateX(-50%);
    width: min(285px, 80vw);
    height: auto;
    max-height: 312px;
    object-fit: cover;
    object-position: center top;
  }
  .lp-choose__view--step1 .lp-choose__photo-img--mob {
    top: clamp(-56px, -13vw, -48px);
    object-position: center 12%;
  }

  /* Choose — step 2 — mobile stack */
  .lp-choose__grid--step2 {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(24px, 5.5vw, 32px);
    padding: clamp(4px, 1.5vw, 12px) 0 0;
    width: 100%;
    box-sizing: border-box;
  }
  .lp-choose__step2-head {
    width: 100%;
  }
  .lp-choose__h2--step2 {
    max-width: none;
    font-size: clamp(28px, 8.2vw, 46px);
    line-height: 1.05;
    letter-spacing: -0.04em;
  }
  .lp-choose__choices--step2 {
    gap: clamp(14px, 4vw, 20px);
    max-width: none;
    width: 100%;
  }
  .lp-choose__choices--step2 .lp-choose__pill--step2 {
    min-height: 52px;
    padding: clamp(18px, 4.5vw, 26px) clamp(14px, 3.5vw, 20px);
    border-radius: 40px;
    border-width: 1px;
    font-size: clamp(14px, 3.8vw, 16px);
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .lp-choose__choices--step2 .lp-choose__pill--step2.lp-choose__pill--active {
    font-size: clamp(14px, 3.8vw, 16px);
    font-weight: 600;
    box-shadow: none;
    border-width: 1px;
  }

  .lp-choose__view--mapping {
    min-height: 0;
    padding: clamp(12px, 3.5vw, 20px);
  }
  .lp-choose__mapping-card {
    min-height: 0;
    gap: clamp(16px, 4vw, 28px);
    padding: clamp(20px, 4vw, 28px) clamp(14px, 3.5vw, 20px);
  }
  .lp-choose__mapping-label {
    font-size: clamp(17px, 4.8vw, 28px);
    padding-inline: 4px;
  }
  .lp-choose__view--result {
    padding-top: clamp(24px, 5vw, 40px);
    padding-bottom: clamp(32px, 8vw, 48px);
    padding-left: max(clamp(14px, 4vw, 24px), env(safe-area-inset-left, 0px));
    padding-right: max(clamp(14px, 4vw, 24px), env(safe-area-inset-right, 0px));
  }
  .lp-choose__result-layout {
    display: flex;
    flex-direction: column;
    gap: clamp(22px, 4vw, 32px);
  }
  .lp-choose__result-left {
    order: 0;
  }
  .lp-choose__result-card {
    order: 1;
    min-height: 0;
    max-width: none;
  }
  .lp-choose__result-outcomes {
    flex-direction: column;
    gap: 12px;
  }
  .lp-choose__result-outcomes-label {
    width: auto;
    max-width: 100%;
    white-space: nowrap;
  }
  .lp-choose__result-outcomes-body {
    padding-left: 0;
    padding-top: 0;
    border: 0;
    box-shadow: none;
  }
  /* Duplicates sticky mobile Apply; desktop ≥1200 keeps in-flow CTA in styles.css */
  .lp-choose__result-cta {
    display: none !important;
  }
  .lp-choose__result-degree,
  .lp-choose__result-secondary {
    font-size: clamp(18px, 4.5vw, 32px);
  }
  .lp-choose__result-card-title {
    font-size: clamp(17px, 4.2vw, 28px);
  }
  .lp-choose__result-blurb {
    font-size: clamp(14px, 3.6vw, 18px);
  }
  .lp-choose__result-outcomes-label {
    font-size: clamp(13px, 3.4vw, 22px);
  }
  .lp-choose__result-careers li {
    font-size: clamp(14px, 3.5vw, 18px);
    border-bottom: none;
  }

  /* ——— Learning model — ≤1199px: static vertical stack (page scroll; no horizontal Swiper) ——— */
  .lp-learn {
    margin-top: clamp(16px, 3.5vw, 48px);
  }
  .lp-learn__left {
    padding: 56px max(24px, env(safe-area-inset-right, 0px)) 24px max(24px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
    flex: 0 0 auto;
    justify-content: flex-start;
  }

  .lp-learn__left .lp-learn__h2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    font-size: 36px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.72px;
  }
  .lp-learn__years {
    min-height: 0;
    max-width: 100%;
    flex: 0 0 auto;
    justify-content: flex-start;
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) 56px max(24px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }
  .lp-learn__swiper {
    overflow: visible;
    margin: 0;
    width: 100%;
    padding-bottom: 0;
  }
  .lp-learn__swiper .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 3.5vw, 20px);
    transform: none !important;
  }
  .lp-learn__swiper .swiper-slide {
    height: auto;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    box-sizing: border-box;
  }
  .lp-learn__swiper .swiper-slide .lp-yr {
    display: flex;
    flex-direction: column;
    flex: none;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 16px;
    gap: 12px;
    border: 1px solid #6166b7;
    border-radius: 20px;
    box-sizing: border-box;
    justify-content: flex-start;
  }
  .lp-learn__swiper .lp-yr__tag {
    font-size: 18px;
    line-height: 1.11;
    font-weight: 600;
  }
  .lp-learn__swiper .lp-yr__content {
    gap: 8px;
    flex: none;
    min-height: 0;
    overflow: visible;
  }
  .lp-learn__swiper .lp-yr__content h3 {
    font-size: 26px;
    line-height: 1.11;
  }
  .lp-learn__swiper .lp-yr__desc {
    font-size: 14px;
    line-height: 1.39;
  }
  .lp-learn__swiper .lp-yr__sep {
    display: none;
  }

  /* ——— Legacy stat boxes — Figma 2859:18143 (≤1199px): 2-col mosaic, 86000+ full width ——— */
  .lp-legacy {
    margin-top: -32px;
    padding: 40px max(24px, env(safe-area-inset-left, 0px)) 48px max(24px, env(safe-area-inset-right, 0px));
    gap: 24px;
    align-items: stretch;
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    background: linear-gradient(180deg, #040c6d 7.89%, #457be1 59.14%, rgba(69, 123, 225, 0) 100%);
  }
  .lp-legacy__head {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 16px;
  }
  .lp-legacy__h2 {
    font-size: 36px;
    line-height: 1.04;
    max-width: none;
    letter-spacing: -0.72px;
    flex: none;
  }
  .lp-legacy__lede {
    font-size: 16px;
    line-height: 0;
    flex: none;
  }
  .lp-legacy__lede p {
    line-height: 20px;
  }
  .lp-legacy__lede p + p {
    margin-top: 16px;
  }
  .lp-legacy__grids {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }
  .lp-legacy__grid1,
  .lp-legacy__grid2 {
    display: contents;
  }
  .lp-legacy__grid1 .lp-legacy__cell:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
  }
  .lp-legacy__grid1 .lp-legacy__cell--hospital {
    grid-column: 2;
    grid-row: 1;
  }
  .lp-legacy__grid1 .lp-legacy__cell--students {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .lp-legacy__grid2 .lp-legacy__s--schools {
    grid-column: 1;
    grid-row: 3;
  }
  .lp-legacy__grid2 .lp-legacy__s--hei {
    grid-column: 2;
    grid-row: 3;
  }
  .lp-legacy__grid2 .lp-legacy__s--med {
    grid-column: 1 / -1;
    grid-row: 4;
  }
  .lp-legacy__cell,
  .lp-legacy__s {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
    padding: 16px;
    min-height: 0;
    flex: none !important;
    max-width: none !important;
  }
  .lp-legacy__s--schools {
    padding-left: 16px;
  }
  .lp-legacy__s--hei,
  .lp-legacy__s--med {
    gap: 10px;
  }
  .lp-legacy__cell .lp-legacy__n,
  .lp-legacy__cell:nth-child(1) .lp-legacy__n,
  .lp-legacy__cell--students .lp-legacy__n,
  .lp-legacy__cell--hospital .lp-legacy__n {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    justify-content: flex-start;
    text-align: left;
  }
  .lp-legacy__n,
  .lp-legacy__n2 {
    font-size: 45px;
    letter-spacing: -0.9px;
    line-height: 1.04;
  }
  .lp-legacy__label p {
    font-size: 14px;
    letter-spacing: -0.42px;
    line-height: 0.94;
  }

  /* Leadership — tighter gap under heading vs desktop 80px (218:2254) */
  .lp-lead__slider-wrap {
    margin-top: clamp(24px, 5.5vw, 40px);
  }
}

/* ——— 1/5 — ≤991px: stack layouts, gutters, Swiper fallbacks ——— */
@media (max-width: 991px) {
  :root {
    --lp-pad: clamp(14px, 3.6vw, 22px);
    --lp-pad-l: clamp(14px, 4.2vw, 28px);
    --lp-pad-m: clamp(12px, 2.8vw, 20px);
  }

  .lp-hero {
    width: 100%;
    max-width: 100%;
  }

  /* Hero: stretch full viewport width (desktop inner used align-items: flex-start) */
  .lp-hero__inner {
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding-top: clamp(32px, 7vw, 72px);
    padding-left: max(var(--lp-pad), env(safe-area-inset-left, 0px));
    padding-right: max(var(--lp-pad), env(safe-area-inset-right, 0px));
    padding-bottom: clamp(20px, 5vw, 40px);
  }
  .lp-hero__brand {
    align-self: stretch;
    max-width: 100%;
  }
  .lp-hero__page-title {
    max-width: none;
    font-size: clamp(13px, 3.4vw, 18px);
  }
  .lp-hero__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: clamp(20px, 5vw, 36px);
  }
  .lp-hero__content {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
    min-height: 0;
  }
  .lp-hero__aside {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
  }
  .lp-hero__copy {
    width: 100%;
    max-width: 100%;
    flex: 0 1 auto;
    min-height: 0;
  }
  .lp-hero__subrow {
    width: 100%;
    max-width: 100%;
  }
  .lp-hero__textbtn {
    width: 100%;
    max-width: 100%;
  }
  .lp-hero__h1-lines p {
    font-size: clamp(18px, 4.9vw, 32px);
    letter-spacing: -0.035em;
  }
  .lp-hero__accent p:first-child {
    font-size: clamp(22px, 5.5vw, 36px);
  }
  .lp-hero__accent p:last-child {
    font-size: clamp(15px, 3.8vw, 20px);
  }
  .lp-hero__enquire {
    width: 100%;
    max-width: min(404px, 100%);
    margin-top: clamp(4px, 1.2vw, 12px);
    flex: 0 0 auto;
  }
  .lp-hero__center-photo {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    max-width: min(687px, 100%);
    align-self: center;
    margin-top: clamp(4px, 1.5vw, 16px);
    overflow: visible;
    pointer-events: none;
  }
  .lp-hero__center-photo img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }

  .lp-lead__panel {
    height: auto;
    min-height: 0;
  }
  [data-lp-lead-duplicate] {
    display: none !important;
  }
  /* Leadership: horizontal Swiper on mobile (see app.js) */
  .lp-lead__swiper {
    overflow: hidden;
    margin: 0;
    width: 100%;
  }
  .lp-lead__swiper .swiper-slide {
    height: auto;
    box-sizing: border-box;
  }
  .lp-lead__panel {
    height: auto;
    min-height: 0;
  }
  .lp-lead__photo-clip {
    flex: 0 0 auto;
  }

  .lp-hero__logo {
    width: min(220px, 88vw);
    height: auto;
    aspect-ratio: 248 / 96;
    min-height: 64px;
  }
  .lp-hero__logo-shade {
    width: 100%;
    height: 100%;
    min-height: 64px;
  }
  .lp-hero__logo-img {
    width: min(241px, 90%);
    height: auto;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  .lp-hero__logo-img img {
    height: auto;
    max-height: 56px;
    object-fit: contain;
  }

  .psych-evolving {
    padding: clamp(52px, 8vw, 72px) 0 clamp(96px, 14vw, 120px);
  }
  .psych-evolving::before {
    height: clamp(280px, 60vw, 380px);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.96) 52%, rgba(255, 255, 255, 0.74) 76%, rgba(255, 255, 255, 0.14) 100%),
      linear-gradient(90deg, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.97) 62%, rgba(255, 255, 255, 0.34) 100%);
  }
  .psych-evolving__art {
    height: clamp(340px, 76vw, 560px);
  }
  .psych-evolving__art img {
    object-position: 74% top;
  }
  .psych-evolving__inner {
    width: min(calc(100% - (2 * max(20px, env(safe-area-inset-left, 0px)))), 720px);
    gap: 26px;
  }
  .psych-evolving__top {
    gap: 28px;
  }
  .psych-evolving__bottom {
    gap: 28px;
  }
  .psych-evolving__head {
    gap: 8px;
  }
  .psych-evolving__intro,
  .psych-evolving__head,
  .psych-evolving__title,
  .psych-evolving__summary,
  .psych-evolving__cards {
    width: 100%;
    max-width: 100%;
  }
  .psych-evolving__eyebrow {
    font-size: clamp(20px, 4vw, 26px);
  }
  .psych-evolving__title {
    font-size: clamp(34px, 7vw, 52px);
    line-height: 1.04;
  }
  .psych-evolving__summary {
    font-size: 16px;
    line-height: 1.5;
  }
  .psych-evolving__card {
    gap: 18px;
    padding: 20px;
  }
  .psych-evolving__card-trigger {
    gap: 24px;
  }
  .psych-evolving__card-title {
    font-size: clamp(18px, 3vw, 22px);
  }
  .psych-evolving__card-icon {
    width: 32px;
    height: 24px;
  }
  .psych-evolving__influence-list {
    padding-left: 24px;
    font-size: 18px;
  }
  .psych-evolving__specialisations {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "indomain"
      "result"
      "cross";
    gap: 28px;
  }
  .psych-evolving__specialisation {
    width: min(100%, 520px);
    margin: 0 auto;
    gap: 16px;
  }
  .psych-evolving__specialisation--left,
  .psych-evolving__specialisation--right {
    grid-row: auto;
  }
  .psych-evolving__center {
    display: contents;
  }
  .psych-evolving__result {
    width: min(100%, 520px);
    justify-self: center;
    padding: 0;
  }
  .psych-evolving__connector--desk,
  .psych-evolving__connector--mob {
    display: none;
  }
  .psych-evolving__cross-layout {
    flex-direction: column;
  }
  .psych-evolving__specialisation-title {
    font-size: clamp(24px, 4.8vw, 32px);
    line-height: 1.25;
  }
  .psych-evolving__specialisation-list li {
    padding: 18px 12px;
    font-size: 17px;
    line-height: 1.25;
  }
  .psych-evolving__result {
    max-width: min(640px, 100%);
    font-size: 18px;
    line-height: 1.4;
    text-align: center;
    align-items: center;
  }

  .psych-capability__inner {
    width: min(calc(100% - (2 * max(20px, env(safe-area-inset-left, 0px)))), 720px);
    padding: 0 0 36px;
  }
  .psych-capability__intro {
    gap: 16px;
    width: 100%;
    padding-top: clamp(48px, 8vw, 72px);
    padding-bottom: 36px;
    padding-left: 0;
  }
  .psych-capability__title-main {
    font-size: clamp(28px, 6.4vw, 42px);
    line-height: 1.12;
  }
  .psych-capability__title-sub {
    font-size: clamp(20px, 4.2vw, 26px);
  }
  .psych-capability__summary {
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
  }
  .psych-capability__grid {
    gap: 16px;
    margin-top: 0;
  }
  .psych-capability__card {
    padding: 22px 20px;
    gap: 16px;
    border-radius: 20px;
  }
  .psych-capability__icon-box {
    width: 68px;
    height: 68px;
  }
  .psych-capability__card-title {
    font-size: clamp(18px, 3.3vw, 22px);
  }
  .psych-capability__card-copy,
  .psych-capability__list {
    font-size: 16px;
  }

  .psych-roadmap__inner {
    width: min(calc(100% - (2 * max(20px, env(safe-area-inset-left, 0px)))), 720px);
    gap: 24px;
    padding: 48px 0 56px;
  }
  .psych-roadmap__intro {
    gap: 16px;
    width: 100%;
  }
  .psych-roadmap__title {
    font-size: clamp(30px, 8vw, 46px);
    line-height: 1.14;
  }
  .psych-roadmap__summary {
    font-size: 16px;
    line-height: 1.5;
  }
  .psych-roadmap__stack {
    gap: 16px;
  }
  .psych-roadmap__item {
    border-radius: 18px;
  }
  .psych-roadmap__item {
    padding: 20px;
  }
  .psych-roadmap__year {
    font-size: 24px;
    line-height: 1.35;
  }
  .psych-roadmap__year-title {
    font-size: clamp(24px, 4.4vw, 30px);
  }
  .psych-roadmap__item.is-open {
    gap: 18px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    column-gap: 16px;
  }
  .psych-roadmap__detail-label,
  .psych-roadmap__detail-list,
  .psych-roadmap__detail-text {
    font-size: 16px;
  }

  .psych-ai__inner {
    width: min(calc(100% - (2 * max(20px, env(safe-area-inset-left, 0px)))), 720px);
    padding: 64px 0 48px;
  }
  .psych-ai__intro {
    padding: 24px 0 40px;
  }
  .psych-ai__panel-row {
    gap: 24px;
  }

  .lp-hero__textbtn {
    gap: clamp(22px, 5vw, 40px);
  }
  .lp-hero__lead p {
    font-size: clamp(16px, 3.9vw, 20px);
  }

  .lp-path {
    padding-top: clamp(16px, 4.5vw, 40px);
    padding-bottom: clamp(12px, 3.6vw, 32px);
    padding-left: var(--lp-pad-l);
    padding-right: var(--lp-pad-l);
  }
  .lp-path__container {
    --lp-path-inset-x: clamp(6px, 3.2vw, 24px);
    --lp-path-inset-t: clamp(14px, 3.2vw, 36px);
    --lp-path-inset-b: clamp(14px, 3.2vw, 38px);
    --lp-path-copy-pad: clamp(12px, 3.2vw, 24px);
  }
  .lp-path__text {
    padding: clamp(18px, 4vw, 36px) 0 clamp(14px, 3.5vw, 28px) var(--lp-path-copy-pad);
  }

  .lp-learn__left {
    padding-left: clamp(24px, 6vw, 48px);
    padding-right: clamp(24px, 6vw, 48px);
  }
  .lp-learn__h2 {
    letter-spacing: -0.04em;
  }

  /* Programme focus — mobile Figma 1005:1460: white; image full-bleed h-353; copy px-24 pb-56 gap-24 */
  .lp-prog-focus {
    overflow-x: clip;
    padding: 0;
    background: #fff;
  }
  .lp-prog-focus__art {
    flex: 0 0 auto;
    width: 100%;
    height: 353px;
    min-height: 353px;
    overflow: hidden;
  }
  .lp-prog-focus__img {
    object-fit: cover;
    object-position: center center;
  }
  .lp-prog-focus__inner {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 23px;
    min-height: 0;
    padding: 0;
  }
  .lp-prog-focus__body {
    flex: 0 1 auto;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    justify-content: flex-start;
    gap: 24px;
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) 56px max(24px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }
  .lp-prog-focus__lede {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.42px;
  }
  .lp-prog-focus__title {
    font-size: 24px;
    font-weight: 600;
    line-height: 0.97;
    letter-spacing: 0;
  }
  .lp-prog-focus__text {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.42px;
  }

  .lp-legacy {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
  }

  .lp-lead__h2 {
    padding-left: var(--lp-pad-l);
    padding-right: var(--lp-pad-l);
  }
  .lp-lead__slider-wrap {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
  }

  /* Eligibility — mobile Figma 2505:3712 / CTA 2505:3734: inset card, tabs, accordion, full-width brochure CTA */
  .lp-eli {
    align-items: stretch;
    padding: 32px max(24px, env(safe-area-inset-right, 0px)) 32px max(24px, env(safe-area-inset-left, 0px));
    gap: 10px;
    box-sizing: border-box;
  }
  .lp-eli__bg img {
    left: -99.34%;
    width: 527.1%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
  }
  .lp-eli__box {
    max-width: none;
    width: 100%;
    border-radius: 25px;
    padding: 24px max(24px, env(safe-area-inset-right, 0px)) 24px max(24px, env(safe-area-inset-left, 0px));
    gap: 32px;
    box-sizing: border-box;
  }
  .lp-eli__intro {
    gap: 32px;
    width: 100%;
  }

  .lp-eli__tabs--desktop {
    display: none !important;
  }

  .lp-eli__layout,
  .lp-eli__layout-sidebar {
    display: contents;
  }

  .lp-eli__layout-content {
    display: none !important;
  }

  .lp-eli__panels {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
  }

  .lp-eli__national {
    width: 100%;
  }

  .lp-eli__national--intl {
    border-top: 1px solid #cfcfcf;
    padding-top: 32px;
    margin-top: 0;
  }

  .lp-eli__national-details {
    width: 100%;
  }

  .lp-eli__national-details > summary.lp-eli__national-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
    list-style: none;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 18px;
    color: #000;
    box-sizing: border-box;
  }

  .lp-eli__national-details > summary.lp-eli__national-trigger::-webkit-details-marker {
    display: none;
  }

  .lp-eli__national-title {
    flex: 1 1 0;
    min-width: 0;
  }

  .lp-eli__national-chevron {
    flex-shrink: 0;
    width: 36px;
    height: 25px;
    object-fit: contain;
    transition: transform 0.2s ease;
  }

  .lp-eli__national-details[open] .lp-eli__national-chevron {
    transform: scaleY(-1);
  }

  .lp-eli__national-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding-top: 16px;
    box-sizing: border-box;
  }

  .lp-eli__h2 {
    font-size: 40px;
    font-weight: 400;
    line-height: 44px;
    letter-spacing: normal;
  }

  .lp-eli__h2-line {
    text-transform: lowercase;
  }

  .lp-eli__h2-line:first-child::first-letter {
    text-transform: uppercase;
  }

  .lp-eli__tabs {
    flex-direction: row !important;
    width: 100% !important;
    min-height: 68px;
    align-items: center;
    align-self: stretch;
  }
  .lp-eli__tab,
  .lp-eli__tab--on,
  .lp-eli__tab:not(.lp-eli__tab--on) {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 58px;
    min-height: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.11;
  }
  .lp-eli__tab--on {
    height: 68px;
    align-self: stretch;
    background: #010767;
    color: #fff;
  }

  .lp-eli__tab:not(.lp-eli__tab--on) {
    background: #fff;
    color: #000;
  }
  .lp-eli__grid-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .lp-eli__box > .lp-eli__brochure {
    margin-top: 32px;
  }

  /* Brochure CTA — stacked layout Figma 2505:3734 */
  .lp-eli__brochure {
    gap: 8px;
    padding: 12px 16px;
    border-radius: 16px;
  }

  .lp-eli__brochure span {
    font-size: 18px;
    white-space: normal;
  }

  .lp-eli__brochure-ico {
    width: 40px;
    height: 40px;
  }

  .lp-eli__national-body {
    padding-top: 16px;
  }

  .lp-eli__national-content {
    gap: 8px;
  }

  .lp-eli__national-content p {
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: -0.42px;
  }

  /* Brochure CTA — mobile Figma 2505:3734 */
  .lp-eli .lp-eli__brochure {
    gap: 8px;
    padding: 12px 16px;
    border-radius: 16px;
  }

  .lp-eli .lp-eli__brochure span {
    font-size: 18px;
    white-space: normal;
  }

  .lp-eli .lp-eli__brochure-ico {
    width: 40px;
    height: 40px;
  }

  .lp-adm__head {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
    padding-top: 0;
  }
  .lp-adm__g {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
  }
  .lp-adm__step {
    flex: 1 1 100%;
  }

  .lp-sch__head {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
    padding-left: var(--lp-pad-l);
    padding-right: var(--lp-pad-l);
  }
  .lp-sch__head h2,
  .lp-sch__head p {
    flex-basis: 100%;
    max-width: none;
  }
  .lp-sch__head p {
    font-size: clamp(15px, 3.8vw, 20px);
    line-height: 1.4;
  }
  .lp-sch__student-tabs {
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    padding: 0 var(--lp-pad-l) 24px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .lp-sch__student-tabs::-webkit-scrollbar {
    height: 5px;
  }
  .lp-sch__student-tabs::-webkit-scrollbar-thumb {
    background: rgba(1, 7, 103, 0.2);
    border-radius: 999px;
  }
  .lp-sch__student-tab {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .lp-sch__row {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
  }
  .lp-sch__left {
    max-width: none;
    width: 100%;
  }

  /* Scholarship types: horizontal row with horizontal scroll (not a vertical stack) */
  .lp-sch__tablist {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding-bottom: 6px;
    margin-bottom: 2px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
  }
  .lp-sch__tablist::-webkit-scrollbar {
    height: 5px;
  }
  .lp-sch__tablist::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 3px;
  }
  .lp-sch__tablist .lp-sch__rulef {
    display: none;
  }
  .lp-sch__tablist button.lp-sch__tab {
    flex: 0 0 auto;
    width: auto;
    min-width: min(260px, 72vw);
    max-width: min(320px, 85vw);
    align-self: stretch;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    border-bottom: 2px solid rgba(255, 255, 255, 0.45);
    padding: 12px 16px 14px;
  }
  .lp-sch__tablist button.lp-sch__tab:last-of-type {
    border-right: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.45);
  }

  .lp-footer__inner {
    min-height: min(85vh, 620px);
    padding-top: clamp(32px, 8vw, 64px);
  }

  .snum {
    font-size: clamp(24px, 6vw, 40px);
  }
  .t-step {
    font-size: clamp(20px, 4vw, 40px);
  }
}

/* Layer 1b: ≤600px — tight hero + programme rows (single extra breakpoint keeps file at 6 blocks) */
@media (max-width: 600px) {
  .hero h1 {
    font-size: clamp(28px, 9.2vw, 36px);
    letter-spacing: -0.06em;
  }
  .hero .hero__roles-row--primary .hero__roles-text {
    font-size: clamp(28px, 10vw, 40px);
  }
  .hero .hero__roles-row--secondary .hero__roles-text {
    font-size: clamp(22px, 7.8vw, 30px);
  }
  .lp-hero__h1-lines p {
    font-size: clamp(18px, 5.2vw, 30px);
  }
  .lp-hero__accent p:first-child {
    font-size: clamp(21px, 5.8vw, 34px);
  }
  .lp-hero__textbtn {
    gap: 24px;
  }
  .lp-sch__tab-txt {
    font-size: clamp(15px, 3.6vw, 20px);
  }
  .lp-sch__panel-subtitle {
    font-size: clamp(18px, 4.2vw, 24px);
  }
  .lp-sch__panel-copy {
    font-size: clamp(15px, 3.7vw, 18px);
    line-height: 1.45;
  }
  .lp-sch__panel-meta,
  .lp-sch__panel-label {
    font-size: 15px;
  }
  .lp-sch__panel li {
    font-size: clamp(15px, 3.5vw, 20px);
    margin-left: clamp(18px, 5vw, 30px);
  }
  .lp-lead__headban p {
    font-size: clamp(16px, 3.8vw, 24px);
  }

}

/* Eligibility — desktop Figma 2505:985 (≥992px): sidebar + content column */
@media (min-width: 992px) {
  .lp-eli__tabs--desktop {
    display: none !important;
  }

  .lp-eli {
    align-items: center;
    padding: clamp(80px, 9.375vw, 180px) clamp(24px, 13.54vw, 260px) clamp(40px, 4.17vw, 80px);
    gap: 0;
    box-sizing: border-box;
  }

  .lp-eli__bg img {
    height: 127.9%;
    left: -22.84%;
    top: 0;
    width: 194.85%;
  }

  .lp-eli__box {
    max-width: min(1720px, 100%);
    gap: 74px;
    padding: 80px;
    width: 100%;
  }

  .lp-eli__intro {
    gap: 0;
    width: 100%;
  }

  .lp-eli__h2 {
    font-size: 64px;
    font-weight: 300;
    line-height: 0.97;
    letter-spacing: -0.03em;
  }

  .lp-eli__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 53px;
    align-items: start;
    width: 100%;
    min-width: 0;
  }

  .lp-eli__layout-sidebar {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-self: stretch;
    min-width: 0;
    width: 100%;
  }

  .lp-eli__layout-content {
    display: block;
    min-width: 0;
    width: 100%;
    align-self: start;
  }

  .lp-eli__layout-content .lp-eli__national-content[hidden] {
    display: none !important;
  }

  .lp-eli__layout-content .lp-eli__national-content:not([hidden]) {
    display: flex;
  }

  .lp-eli__panels {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 24px;
  }

  .lp-eli__national {
    width: 100%;
  }

  .lp-eli__national--intl {
    border-top: 1px solid #cfcfcf;
    padding-top: 24px;
    margin-top: 0;
  }

  .lp-eli__national-details > summary.lp-eli__national-trigger {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    list-style: none;
    font-family: "Montserrat", sans-serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.11;
    color: #000;
    box-sizing: border-box;
  }

  .lp-eli__national-details > summary.lp-eli__national-trigger::-webkit-details-marker {
    display: none;
  }

  .lp-eli__national-title {
    font-weight: 600;
  }

  .lp-eli__national-chevron {
    display: none;
  }

  .lp-eli__national-body {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding-top: 16px;
    box-sizing: border-box;
  }

  .lp-eli__grid-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0;
    grid-template-columns: none;
    column-gap: 0;
  }

  .lp-eli__layout-sidebar .lp-eli__national-content {
    display: none !important;
  }

  .lp-eli__layout-content .lp-eli__national-content {
    gap: 0;
  }

  .lp-eli__layout-content .lp-eli__national-content p {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -0.54px;
    margin: 0;
  }

  .lp-eli__layout-content .lp-eli__national-content p + p {
    margin-top: 1.35em;
  }

  .lp-eli__layout-sidebar .lp-eli__brochure {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: auto;
  }
}

/* ——— 2/5 — 992–1199px: row hero + scaled type + NAP column ——— */
@media (min-width: 992px) and (max-width: 1199px) {
  :root {
    --lp-pad: calc(24px + 8 * (100vw - 992px) / 208);
    --lp-pad-l: calc(28px + 12 * (100vw - 992px) / 208);
    --lp-pad-m: calc(16px + 4 * (100vw - 992px) / 208);
  }

  .lp-hero__inner {
    padding-top: calc(40px + 16px * (100vw - 992px) / 208);
    padding-bottom: 0;
  }
  .lp-hero__row {
    min-width: 0;
    gap: max(8px, calc(12px * (1920px - 100vw) / 720));
  }
  .lp-hero__content {
    flex: 1 1 380px;
    min-width: 0;
    max-width: min(720px, 100%);
    min-height: calc(520px + 80px * (100vw - 992px) / 208);
    align-items: flex-start;
  }
  .lp-hero__copy {
    min-width: 0;
    min-height: calc(420px + 80px * (100vw - 992px) / 208);
  }
  .lp-hero__h1 {
    gap: calc(10px + 2px * (100vw - 992px) / 208);
  }
  .lp-hero__h1-lines p {
    font-size: calc(22px + 26px * (100vw - 992px) / 208);
    line-height: 0.99;
    letter-spacing: calc(-0.45px + (-0.5px - -0.45px) * (100vw - 992px) / 208);
  }
  .lp-hero__accent p:first-child {
    font-size: calc(24px + 28px * (100vw - 992px) / 208);
    line-height: 1.04;
    letter-spacing: calc(-0.5px + (-0.55px - -0.5px) * (100vw - 992px) / 208);
  }
  .lp-hero__accent p:last-child {
    font-size: calc(16px + 12px * (100vw - 992px) / 208);
    line-height: 1.04;
    letter-spacing: calc(-0.35px + (-0.4px - -0.35px) * (100vw - 992px) / 208);
  }
  .lp-hero__accent {
    gap: calc(6px + 2px * (100vw - 992px) / 208);
  }
  .lp-hero__textbtn {
    gap: calc(24px + 8px * (100vw - 992px) / 208);
  }
  .lp-hero__lead p {
    font-size: calc(15px + 1px * (100vw - 992px) / 208);
    line-height: 1.33;
    letter-spacing: calc(-0.4px + (-0.35px - -0.4px) * (100vw - 992px) / 208);
  }
  .lp-hero__lead strong {
    font-weight: 700;
  }
  .lp-btn--apply-blue span {
    font-size: calc(15px + 1px * (100vw - 992px) / 208);
    line-height: 1;
    letter-spacing: 0;
  }
  .lp-hero__center-photo img {
    max-width: min(520px, calc(240px + 55px * (100vw - 992px) / 208));
  }
  .lp-hero__enquire {
    max-width: min(404px, calc(240px + 40px * (100vw - 992px) / 208), 30vw);
    min-width: 0;
  }

  .lp-legacy__h2 {
    font-size: clamp(34px, 4.2vw, 52px);
  }
  .lp-eli__box {
    padding: clamp(28px, 3.5vw, 56px);
    gap: clamp(40px, 5vw, 64px);
  }
  .lp-lead__card {
    max-width: min(100%, 400px);
  }

  .lp-footer__inner {
    min-height: min(92vh, 1100px);
  }
}

/* ——— 3/5 — ≤1100px: pathway stack + learning model stack ——— */
@media (max-width: 1100px) {
  .lp-learn__vline {
    display: none;
  }
  .lp-learn {
    flex-direction: column;
    gap: 2px;
  }
  .lp-learn__left {
    min-height: 0 !important;
    justify-content: flex-start;
    gap: clamp(16px, 4vw, 24px);
    flex: 0 0 auto;
  }
  .lp-learn__years {
    max-width: 100%;
    flex: 0 0 auto;
    justify-content: flex-start;
  }
  .lp-yr {
    padding: 24px 16px;
  }
  .lp-path__inner {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
  }
  .lp-path__stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 0;
  }
  .lp-path__model-wrap {
    position: relative;
    order: -1;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: 100%;
    min-height: min(360px, 55vw);
    height: auto;
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 0;
  }
  .lp-path__model {
    position: relative;
    inset: auto;
    top: auto;
    bottom: auto;
    max-width: min(420px, 88vw);
    width: 100%;
    height: auto;
    max-height: min(480px, 70vh);
    transform: none;
    object-fit: contain;
    object-position: 50% 100%;
  }
  .lp-path__role-layer {
    position: relative;
    inset: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(16px, 3vw, 24px);
    padding: 12px 0 0;
    width: 100%;
    pointer-events: auto;
  }
  .lp-path__role-layer .lp-glass--path {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto;
  }
}

/* Scholarships — tab column max 500px for 1001px–1599px (row layout, below 1600) */
@media (min-width: 1001px) and (max-width: 1599px) {
  .lp-sch__left {
    max-width: 500px;
  }
}

/* ——— 4/5 — 1200–1919px: smooth scale (reads well at 1200 & 1600) ——— */
@media (min-width: 1200px) and (max-width: 1919px) {
  :root {
    --lp-pad: calc(28px + 52 * (100vw - 1200px) / 720);
    --lp-pad-l: calc(36px + 128 * (100vw - 1200px) / 720);
    --lp-pad-m: calc(18px + 52 * (100vw - 1200px) / 720);
  }

  /* Align with 992–1199 at 1200px: pad-top matches 40+16*208/208=56px; type ramps to 1920 artboard */
  .lp-hero__inner {
    padding-top: calc(56px + 54px * (100vw - 1200px) / 720);
    padding-bottom: calc(16px + 40px * (100vw - 1200px) / 720);
  }
  .lp-hero__brand {
    gap: calc(20px + 12px * (100vw - 1200px) / 720);
    margin-bottom: calc(28px + 16px * (100vw - 1200px) / 720);
  }
  .lp-hero__row {
    min-width: 0;
    gap: max(8px, calc(12px * (1920px - 100vw) / 720));
  }
  .lp-hero__content {
    flex: 1 1 420px;
    min-width: 0;
    max-width: min(760px, 100%);
    align-items: flex-start;
  }
  .lp-hero__copy {
    min-width: 0;
  }
  .lp-hero__h1 {
    gap: calc(12px + 4px * (100vw - 1200px) / 720);
  }
  /*
   * Type sizes: at 1200px match the 992–1199 formula end (22+26, 24+28, 16+12);
   * at 1919px land on 75.676 / 80.059 / 41.224px (same as ≥1920 base).
   */
  .lp-hero__h1-lines p {
    font-size: calc(48px + 27.676px * (100vw - 1200px) / 720);
    line-height: 0.99;
    letter-spacing: calc(-0.5px + -1.0135px * (100vw - 1200px) / 720);
  }
  .lp-hero__accent p:first-child {
    font-size: calc(52px + 28.059px * (100vw - 1200px) / 720);
    line-height: 1.04;
    letter-spacing: calc(-0.55px + -1.0512px * (100vw - 1200px) / 720);
  }
  .lp-hero__accent p:last-child {
    font-size: calc(28px + 13.224px * (100vw - 1200px) / 720);
    line-height: 1.04;
    letter-spacing: calc(-0.4px + -0.4245px * (100vw - 1200px) / 720);
  }
  .lp-hero__accent {
    gap: calc(8px + 2px * (100vw - 1200px) / 720);
  }
  .lp-hero__textbtn {
    gap: calc(32px + 24px * (100vw - 1200px) / 720);
  }
  .lp-hero__lead p {
    font-size: calc(15px + 5px * (100vw - 1200px) / 720);
    line-height: 1.33;
    letter-spacing: calc(-0.4px + -0.2px * (100vw - 1200px) / 720);
  }
  .lp-hero__lead strong {
    font-weight: 700;
  }
  .lp-btn--apply-blue span {
    font-size: calc(15px + 5px * (100vw - 1200px) / 720);
    line-height: 1;
    letter-spacing: 0;
  }
  .lp-hero__center-photo img {
    max-width: min(520px, calc(280px + 220px * (100vw - 1200px) / 720));
  }
  .lp-hero__enquire {
    max-width: min(404px, calc(252px + 152px * (100vw - 1200px) / 720), 32vw);
    min-width: 0;
  }

  .lp-footer__stage {
    min-height: calc(980px + 730px * (100vw - 1200px) / 720);
  }

  .lp-footer__inner {
    min-height: calc(980px + 730px * (100vw - 1200px) / 720);
    padding-top: calc(560px + 397px * (100vw - 1200px) / 720);
    padding-bottom: calc(96px + 56px * (100vw - 1200px) / 720);
    justify-content: flex-end;
    align-items: flex-start;
  }

  .lp-footer__bg-art--desktop {
    top: -3.1%;
    height: 103.07%;
    width: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center top;
  }

  .lp-footer__content {
    gap: 32px;
    width: min(720px, 100%);
  }

  .lp-footer__h2 {
    font-size: calc(42px + 22px * (100vw - 1200px) / 720);
    line-height: 1.07;
    letter-spacing: -0.03em;
    font-weight: 300;
  }

  .lp-footer__copy {
    gap: 8px;
  }

  .lp-footer__copy p {
    font-size: 18px;
    line-height: 1.45;
    font-weight: 300;
    letter-spacing: -0.03em;
  }

  .lp-footer__content .lp-btn {
    display: inline-flex;
    padding: 12px 30px;
  }

  .lp-campus-band {
    min-height: calc(180px + 120 * (100vw - 1200px) / 720);
    max-height: min(52vh, calc(400px + 160 * (100vw - 1200px) / 720));
  }
  .lp-campus-band img {
    object-position: center center;
  }

  .lp-curriculum {
    padding-top: calc(72px + 28 * (100vw - 1200px) / 720);
    padding-bottom: calc(72px + 28 * (100vw - 1200px) / 720);
  }
  /* Curriculum headline block — fluid column width, gap, copy inset (Figma 341:835 / 946:1382) */
  .lp-curriculum__inner {
    gap: calc(56px + 60 * (100vw - 1200px) / 720);
    min-width: 0;
  }
  .lp-curriculum__left {
    max-width: calc(620px + 115 * (100vw - 1200px) / 720);
    padding-left: calc(48px + 102 * (100vw - 1200px) / 720);
    gap: 20px;
    min-width: 0;
  }
  .lp-curriculum__headline-white {
    font-size: calc(42px + 23 * (100vw - 1200px) / 720);
    line-height: 1.2;
  }
  .lp-curriculum__headline-gradient {
    font-size: calc(42px + 23 * (100vw - 1200px) / 720);
    line-height: 1.2;
  }
  .lp-curriculum__body {
    width: min(calc(420px + 112 * (100vw - 1200px) / 720), 100%);
    font-size: calc(16px + 4 * (100vw - 1200px) / 720);
    line-height: 1.5;
  }
  .lp-curriculum__eyebrow {
    width: min(calc(460px + 145 * (100vw - 1200px) / 720), 100%);
    font-size: calc(18px + 6 * (100vw - 1200px) / 720);
  }
  .lp-curriculum__co-create {
    width: min(calc(460px + 145 * (100vw - 1200px) / 720), 100%);
    font-size: calc(36px + 14 * (100vw - 1200px) / 720);
  }

  .lp-path__container {
    --lp-path-inset-t: calc(28px + 36 * (100vw - 1200px) / 720);
    --lp-path-inset-b: calc(28px + 44 * (100vw - 1200px) / 720);
  }
  .lp-path__h2 {
    font-size: clamp(28px, calc(26px + 14 * (100vw - 1200px) / 720), 40px);
  }
  .lp-path__role-layer .lp-glass--path p {
    font-size: calc(17px + 7 * (100vw - 1200px) / 720);
  }

  /* Learning model — Figma 340:447 fluid 1200→1920 */
  .lp-learn {
    min-height: calc(800px + 435 * (100vw - 1200px) / 720);
  }
  .lp-learn__left {
    gap: calc(24px + 8 * (100vw - 1200px) / 720);
    min-height: calc(800px + 435 * (100vw - 1200px) / 720);
  }
  .lp-learn__h2 {
    max-width: calc(420px + 232 * (100vw - 1200px) / 720);
    font-size: calc(64px + 16 * (100vw - 1200px) / 720);
    letter-spacing: calc(-1.28px + -0.32px * (100vw - 1200px) / 720);
  }
  .lp-learn__cta {
    max-width: calc(360px + 149 * (100vw - 1200px) / 720);
  }
  .lp-learn__years {
    min-height: calc(800px + 435 * (100vw - 1200px) / 720);
    max-width: calc(620px + 350 * (100vw - 1200px) / 720);
  }
  .lp-learn__vline {
    min-height: calc(800px + 435 * (100vw - 1200px) / 720);
  }
  .lp-yr {
    padding: calc(24px + 6 * (100vw - 1200px) / 720) calc(52px + 25 * (100vw - 1200px) / 720)
      calc(24px + 6 * (100vw - 1200px) / 720) calc(62px + 38 * (100vw - 1200px) / 720);
  }
  .lp-yr__content {
    gap: calc(10px + 4 * (100vw - 1200px) / 720);
  }
  .lp-yr__content h3 {
    font-size: calc(26px + 6 * (100vw - 1200px) / 720);
    line-height: 1.11;
  }
  .lp-yr__desc {
    font-size: calc(15px + 3 * (100vw - 1200px) / 720);
    line-height: 1.39;
  }
  .lp-yr__tag {
    font-size: calc(21px + 3 * (100vw - 1200px) / 720);
    line-height: 1.11;
  }


  .lp-prog-focus__lede,
  .lp-prog-focus__text {
    font-size: calc(15px + 5 * (100vw - 1200px) / 720);
  }
  .lp-prog-focus__title {
    font-size: calc(28px + 8 * (100vw - 1200px) / 720);
  }

  .lp-legacy {
    gap: calc(32px + 68 * (100vw - 1200px) / 720);
  }
  .lp-legacy__h2 {
    font-size: calc(36px + 28 * (100vw - 1200px) / 720);
  }
  .lp-legacy__lede {
    font-size: calc(15px + 5 * (100vw - 1200px) / 720);
  }
  .lp-legacy__lede p {
    line-height: 1.42;
  }

  /* Legacy stat boxes — Figma 2859:18143; scale 1200→1920 */
  .lp-legacy__grid1,
  .lp-legacy__grid2 {
    flex-wrap: nowrap;
    gap: calc(12px + 9 * (100vw - 1200px) / 720);
  }
  .lp-legacy__grid2 {
    max-width: calc(857px + 514 * (100vw - 1200px) / 720);
  }
  .lp-legacy__cell,
  .lp-legacy__s {
    padding: calc(16px + 14 * (100vw - 1200px) / 720);
    min-height: calc(140px + 37 * (100vw - 1200px) / 720);
  }
  .lp-legacy__cell:nth-child(1) {
    flex: calc(177 + 106 * (100vw - 1200px) / 720) 1 0;
  }
  .lp-legacy__cell--students {
    flex: calc(335 + 202 * (100vw - 1200px) / 720) 1 0;
  }
  .lp-legacy__cell--hospital {
    flex: calc(319 + 191 * (100vw - 1200px) / 720) 1 0;
  }
  .lp-legacy__cell:nth-child(1) .lp-legacy__n {
    flex: 0 0 calc(52px + 31 * (100vw - 1200px) / 720);
    width: calc(52px + 31 * (100vw - 1200px) / 720);
  }
  .lp-legacy__cell--hospital .lp-legacy__n {
    max-width: min(calc(218px + 130 * (100vw - 1200px) / 720), 68%);
  }
  .lp-legacy__n,
  .lp-legacy__n2 {
    font-size: calc(60px + 36 * (100vw - 1200px) / 720);
    letter-spacing: calc(-1.2px + -0.72px * (100vw - 1200px) / 720);
  }
  .lp-legacy__label p {
    font-size: calc(15px + 9 * (100vw - 1200px) / 720);
  }
  .lp-legacy__s--schools {
    flex: calc(292 + 175 * (100vw - 1200px) / 720) 1 0;
    padding-left: calc(25px + 15 * (100vw - 1200px) / 720);
  }
  .lp-legacy__s--hei {
    flex: calc(282 + 169 * (100vw - 1200px) / 720) 1 0;
    gap: calc(19px + 11 * (100vw - 1200px) / 720);
  }
  .lp-legacy__s--med {
    flex: calc(256 + 154 * (100vw - 1200px) / 720) 1 0;
    gap: calc(19px + 11 * (100vw - 1200px) / 720);
  }

  .lp-lead {
    padding: 0 0 calc(48px + 40 * (100vw - 1200px) / 720);
  }
  .lp-lead__h2 {
    padding-left: var(--lp-pad-l);
    padding-right: var(--lp-pad-l);
  }
  .lp-lead__slider-wrap {
    margin-top: calc(40px + 40 * (100vw - 1200px) / 720);
  }
  .lp-lead__headban p {
    font-size: calc(17px + 7 * (100vw - 1200px) / 720);
  }
  .t-cap {
    font-size: calc(15px + 3 * (100vw - 1200px) / 720);
  }

  .lp-eli {
    padding-top: calc(100px + 80 * (100vw - 1200px) / 720);
    padding-bottom: calc(48px + 32 * (100vw - 1200px) / 720);
    padding-left: calc(40px + 220 * (100vw - 1200px) / 720);
    padding-right: calc(40px + 220 * (100vw - 1200px) / 720);
    gap: calc(40px + 12 * (100vw - 1200px) / 720);
  }
  .lp-eli__box {
    gap: calc(56px + 18 * (100vw - 1200px) / 720);
    padding: calc(48px + 32 * (100vw - 1200px) / 720);
  }
  .lp-eli__intro {
    gap: calc(32px + 11 * (100vw - 1200px) / 720);
  }
  .lp-eli__h2 {
    font-size: calc(48px + 16 * (100vw - 1200px) / 720);
  }

  .lp-sch__head p {
    font-size: calc(14px + 4 * (100vw - 1200px) / 720);
    line-height: 1.45;
  }

  .lp-footer__copy p {
    font-size: 18px;
    line-height: 1.45;
  }
  .lp-sch__head {
    gap: calc(20px + 8 * (100vw - 1200px) / 720);
  }
  .t-step {
    font-size: calc(26px + 14 * (100vw - 1200px) / 720);
  }
  .lp-footer__inner .lp-footer__h2 {
    line-height: 1.07;
  }
}

/* Footer — desktop Figma 2505:1111 (≥1200px; mobile uses ≤767 rules only) */
@media (min-width: 1200px) {
  .lp-footer__bg-art--mobile {
    display: none;
  }

  .lp-footer__bg-art--desktop {
    display: block;
  }

  .lp-footer__bottom-visual {
    display: none;
  }

  .lp-footer__h2-line--desk {
    display: block;
  }

  .lp-footer__h2-line--mob {
    display: none;
  }

  .lp-footer__content .lp-btn {
    display: inline-flex;
  }
}

/* ——— Learning model (Four-Year) — 1200–1300px: flex min-width, balanced columns, calmer insets (narrow laptop) ——— */
@media (min-width: 1200px) and (max-width: 1300px) {
  .lp-learn {
    min-width: 0;
  }
  .lp-learn__left {
    min-width: 0;
    flex: 1 1 300px;
    padding-top: calc(clamp(24px, 4.5vw, 80px) + clamp(20px, 2.4vw, 48px));
    padding-bottom: clamp(24px, 4.5vw, 80px);
    padding-left: clamp(20px, 3.2vw, 40px);
    padding-right: clamp(20px, 3.2vw, 40px);
  }
  .lp-learn__years {
    min-width: 0;
    flex: 1 1 340px;
    max-width: min(580px, calc(100vw - 380px)) !important;
  }
  .lp-learn__h2 {
    max-width: 100%;
    font-size: clamp(44px, 2.1vw + 40px, 64px);
    letter-spacing: -0.06em;
  }
  .lp-yr {
    min-width: 0;
    padding: clamp(18px, 1.4vw, 24px) clamp(18px, 2.4vw, 40px) clamp(18px, 1.4vw, 24px)
      clamp(26px, 2.8vw, 48px);
  }
  .lp-yr__content {
    min-width: 0;
  }
  .lp-yr__content h3 {
    font-size: clamp(24px, 1.6vw + 12px, 32px);
  }
  .lp-yr__desc {
    font-size: clamp(15px, 0.25vw + 14.5px, 17px);
  }
  .lp-yr__tag {
    font-size: clamp(20px, 0.2vw + 19px, 22px);
  }
}

/* Admission process — mobile 954:1611; horizontal Swiper ≤1199px */
@media (max-width: 1199px) {
  .lp-adm {
    --lp-adm-section-pad: clamp(40px, 5vw, 56px);
    padding: var(--lp-adm-section-pad) 0;
  }
  .lp-adm__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    /* Modest band before step swiper — avoid stacking large clamps with tablet rules */
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) clamp(18px, 4vw, 32px)
      max(24px, env(safe-area-inset-left, 0px));
  }
  .lp-adm__head h2 {
    flex: none;
    font-size: 36px;
    font-weight: 300;
    line-height: 0.97;
    letter-spacing: -0.03em;
    text-transform: none;
    max-width: none;
  }
  .lp-adm__head-txt {
    max-width: none;
  }
  .lp-adm__lede {
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -0.42px;
  }
  .lp-adm__g {
    /* Override styles.css (min-width:900px) asymmetric padding; match frame px 24 */
    gap: 0;
    margin-top: 0;
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) 0 max(24px, env(safe-area-inset-left, 0px));
  }
  .lp-adm__r {
    display: block;
    width: 100%;
  }
  .lp-adm__swiper {
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding-bottom: 0;
  }
  /* Equal-height cards in each row: stretch slides to tallest in view (Swiper ≤1199) */
  .lp-adm__swiper .swiper-wrapper {
    align-items: stretch;
  }
  .lp-adm__swiper .swiper-slide {
    display: flex;
    height: auto;
    box-sizing: border-box;
    align-self: stretch;
  }
  .lp-adm__swiper .swiper-slide .lp-adm__step {
    flex: 1 1 auto;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: 0;
  }
  .lp-adm__step {
    width: 100%;
    min-height: 0;
    align-items: flex-start;
    gap: 24px;
    padding: 24px 20px;
    position: relative;
  }
  .lp-adm__copy {
    gap: 11px;
    max-width: none;
  }
  .lp-adm__ico {
    width: 72px;
    height: 72px;
    flex-shrink: 0;
  }
  .lp-adm__ico--sm {
    width: 64px;
    height: 64px;
  }
  .lp-adm__step-label {
    font-size: 18px;
    line-height: 1.14;
    letter-spacing: -0.54px;
    font-weight: 600;
  }
  .lp-adm__txt {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: 0;
  }
}

/* Admission steps — tablet 768–1199: step row + intro→swiper rhythm (column 768–991 & row 992–1199 head) */
@media (min-width: 768px) and (max-width: 1199px) {
  .lp-adm__head {
    padding-bottom: clamp(28px, 4vw, 42px);
    gap: clamp(18px, 3.2vw, 28px);
  }
  .lp-adm__head-txt {
    gap: clamp(10px, 1.8vw, 16px);
  }
  .lp-adm__lede {
    font-size: clamp(15px, 1.55vw, 17px);
    line-height: 1.48;
    letter-spacing: -0.02em;
  }
  .lp-adm__g {
    margin-top: 0;
    padding-top: 0;
  }
  .lp-adm__step {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    min-height: 0;
    padding: 28px 24px;
  }
  .lp-adm__ico {
    width: 80px;
    height: 80px;
  }
  .lp-adm__ico--sm {
    width: 72px;
    height: 72px;
  }
  .lp-adm__copy {
    flex: 1;
    min-width: 0;
  }
  .lp-adm__step-label {
    font-size: 22px;
    letter-spacing: -0.035em;
  }
  .lp-adm__txt {
    font-size: 15px;
    line-height: 1.25;
  }
}

/* 768–991px: symmetric horizontal gutter on steps strip (vertical gap: 460–992 block) */
@media (min-width: 768px) and (max-width: 991px) {
  .lp-adm__g {
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }
}

/* Admission — very narrow phones <460px: slightly more band before swiper */
@media (max-width: 459px) {
  .lp-adm__head {
    padding-bottom: clamp(20px, 4.8vw, 32px);
  }
  .lp-adm__g {
    padding-top: clamp(4px, 1vw, 10px);
  }
}

/* ——— Tablet 992–1199: stack like mobile Figma 1005:1460 ——— */
@media (min-width: 992px) and (max-width: 1199px) {
  .lp-prog-focus {
    overflow-x: clip;
    padding: 0;
    background: #fff;
  }
  .lp-prog-focus__art {
    flex: 0 0 auto;
    width: 100%;
    height: 353px;
    min-height: 353px;
    overflow: hidden;
  }
  .lp-prog-focus__img {
    object-fit: cover;
    object-position: center center;
  }
  .lp-prog-focus__inner {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 23px;
    min-height: 0;
    padding: 0;
  }
  .lp-prog-focus__body {
    flex: 0 1 auto;
    width: 100%;
    max-width: 100%;
    align-self: stretch;
    justify-content: flex-start;
    gap: 24px;
    padding: 0 max(24px, env(safe-area-inset-right, 0px)) 56px max(24px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }
  .lp-prog-focus__lede {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.42px;
  }
  .lp-prog-focus__title {
    font-size: 24px;
    font-weight: 600;
    line-height: 0.97;
    letter-spacing: 0;
  }
  .lp-prog-focus__text {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.42px;
  }

  .lp-adm__head {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(24px, 3.2vw, 40px);
    padding: 0 max(32px, env(safe-area-inset-right, 0px)) clamp(28px, 3.8vw, 44px)
      max(32px, env(safe-area-inset-left, 0px));
  }
  .lp-adm__head h2 {
    flex: 0 1 40%;
    max-width: min(400px, 38vw);
    font-size: clamp(42px, 4.5vw, 64px);
    letter-spacing: -0.04em;
  }
  .lp-adm__head-txt {
    flex: 1 1 0;
    min-width: 0;
  }
  .lp-adm__lede {
    font-size: clamp(15px, 1.4vw, 18px);
    line-height: 1.38;
    letter-spacing: -0.045em;
  }

  .lp-adm__g {
    padding-top: clamp(6px, 1vw, 12px);
  }
}

/* Admission 460–992px: one intro→steps band — no head bottom + .lp-adm__g top stack; lighter tracking */
@media (min-width: 460px) and (max-width: 992px) {
  .lp-adm__head {
    padding-bottom: clamp(14px, 3vw, 24px);
  }
  .lp-adm__g {
    margin-top: 0;
    padding-top: 0;
  }
  .lp-adm__lede {
    letter-spacing: -0.012em;
  }
}

@media (max-width: 1199px) {
  .lp-footer {
    padding: 0;
  }
  .lp-footer__bg {
    z-index: 0;
  }
  .lp-footer__bg-art {
    object-position: center top;
  }
  .lp-footer__inner {
    position: relative;
    z-index: 2;
    width: min(calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))), 100%);
    min-height: clamp(860px, 210vw, 1220px);
    justify-content: flex-start;
    align-items: stretch;
    padding: clamp(300px, 84vw, 440px) 0 max(56px, env(safe-area-inset-bottom, 0px));
  }
  .lp-footer__content {
    max-width: min(540px, 100%);
    gap: 24px;
  }
  .lp-footer__h2 {
    font-size: clamp(34px, 9vw, 52px);
    line-height: 1.07;
    letter-spacing: -0.04em;
    font-weight: 300;
  }
  .lp-footer__copy {
    gap: 10px;
  }
  .lp-footer__copy p {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.45;
    letter-spacing: -0.03em;
    max-width: none;
  }
  .lp-footer__copy-spacer {
    display: none;
  }
  .lp-footer__content .lp-btn {
    display: none;
  }
}

/* Hero 1200–1600px: slightly tighter gutters; photo stays centered column */
@media (min-width: 1200px) and (max-width: 1600px) {
  .lp-hero__row {
    gap: max(12px, calc(14px * (1920px - 100vw) / 520));
  }
  .lp-hero__copy {
    position: relative;
    z-index: 1;
  }
}

/* Choose pathway — tablet 600–1199: balance type & photo height */
@media (max-width: 1199px) and (min-width: 600px) {
  .lp-choose__h2 {
    font-size: clamp(36px, 5.8vw, 46px);
  }
  .lp-choose__h2--step2 {
    font-size: clamp(36px, 5.2vw, 46px);
  }
  .lp-choose__photo {
    height: clamp(260px, 42vw, 320px);
  }
}

/* Choose pathway — narrow phones 360–479 */
@media (max-width: 479px) {
  .psych-roadmap__inner {
    width: min(calc(100% - 28px), 100%);
    gap: 22px;
    padding: 38px 0 44px;
  }
  .psych-roadmap__title {
    font-size: clamp(28px, 10.5vw, 40px);
  }
  .psych-roadmap__summary {
    font-size: 15px;
  }
  .psych-roadmap__stack {
    gap: 14px;
  }
  .psych-roadmap__item {
    border-radius: 16px;
    padding: 18px 16px;
  }
  .psych-roadmap__item.is-open {
    gap: 16px;
  }
  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    column-gap: 12px;
  }
  .psych-roadmap__year {
    font-size: 20px;
  }
  .psych-roadmap__year-title {
    font-size: 22px;
  }
  .psych-roadmap__detail-label,
  .psych-roadmap__detail-list,
  .psych-roadmap__detail-text {
    font-size: 15px;
  }
  .psych-roadmap__detail-list {
    padding-left: 20px;
  }
  .psych-roadmap__icon {
    width: 30px;
    height: 24px;
  }

  .lp-choose__h2 {
    font-size: clamp(26px, 10vw, 46px);
  }
  .lp-choose__step {
    font-size: clamp(15px, 4.2vw, 20px);
    gap: 16px;
  }
  .lp-choose__pill {
    padding: 22px max(8px, 2vw);
  }
  .lp-choose__choices--step2 .lp-choose__pill--step2 {
    padding: 20px max(10px, 2.5vw);
    font-size: clamp(14px, 3.9vw, 16px);
  }
  .lp-choose__choices--step2 .lp-choose__pill--step2.lp-choose__pill--active {
    font-size: clamp(14px, 3.9vw, 16px);
  }
}

/* Choose pathway — laptop 1200–1439: slightly tighter step-2 row */
@media (min-width: 1200px) and (max-width: 1439px) {
  .lp-choose__grid--step2 {
    column-gap: clamp(40px, 4vw, 80px);
    grid-template-columns: 52px minmax(0, 1fr) minmax(220px, min(480px, 36vw));
  }
}

/* Programme focus — ≥1200px row: no cover-crop; raster ≤1200px wide; left flush (954:1475) */
@media (min-width: 1200px) {
  .lp-prog-focus {
    overflow-x: clip;
  }

  .lp-prog-focus__img {
    inset: auto;
    left: 0;
    top: 0;
    bottom: 0;
    right: auto;
    width: min(100%, 1200px);
    height: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: left center;
  }
}

/* Choose pathway — ultra-wide: cap inner width for readability */
@media (min-width: 1920px) {
  .lp-choose__result-layout {
    max-width: min(1780px, calc(100vw - 140px));
  }
}

/* ——— 5/5 — ≥1921px — ultra-wide: subtle edge only (no harsh gutter) ——— */
@media (min-width: 1921px) {
  .lp {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03);
  }
}

/* ——— Mobile fixed Apply CTA — Figma 2505:3835 (pill button, white-box arrow) ——— */
.lp-mob-sticky-apply {
  display: none;
}

@media (max-width: 1199px) {
  .lp-mob-sticky-apply {
    display: flex;
    justify-content: stretch;
    align-items: flex-end;
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: auto;
    max-height: none;
    z-index: 10050;
    padding: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    pointer-events: none;
  }
  .lp-mob-sticky-apply__inner {
    pointer-events: auto;
    display: flex;
    justify-content: stretch;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    box-sizing: border-box;
  }
  .lp-mob-sticky-apply__btn {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 12px 16px;
    gap: 8px;
    border-radius: 0;
    justify-content: space-between;
    align-items: center;
    border: 0;
    background: #ce0637;
    box-shadow: none;
  }
  .lp-mob-sticky-apply__btn:hover,
  .lp-mob-sticky-apply__btn:focus-visible {
    background: #ce0637;
    box-shadow: none;
    transform: none;
  }
  .lp-mob-sticky-apply__btn .lp-mob-sticky-apply__ico,
  .lp-mob-sticky-apply__btn .lp-btn__ico {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    transform: none;
  }
  .lp-mob-sticky-apply__btn:hover .lp-btn__ico,
  .lp-mob-sticky-apply__btn:focus-visible .lp-btn__ico {
    transform: none;
  }
  .lp-mob-sticky-apply__btn span {
    flex: 1 1 0;
    min-width: 0;
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    color: #fff;
  }
  .lp {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
  #lp-enquire {
    scroll-margin-top: 12px;
    /* Keep form visible above the fixed Apply bar when jumping from the CTA */
    scroll-margin-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}

/* ——— Banner — mobile Figma 2602:2579 (≤767px) ——— */
@media (max-width: 767px) {
  .heroNewSection {
    position: relative;
    padding: 20px 0 0;
    background: #fff;
    overflow: hidden;
  }

  .heroBanner__bg,
  .heroBanner__bg-tint {
    display: none;
  }

  .heroNewSection .container {
    width: min(400px, 100%);
    max-width: 100%;
    margin-inline: auto;
    padding-inline: max(20px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }

  .heroBanner__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    position: relative;
    gap: 20px;
    min-height: 0;
    padding-bottom: 24px;
  }

  .heroBanner__content {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    max-width: none;
    position: relative;
    z-index: 2;
    padding-right: 52px;
    box-sizing: border-box;
  }

  .heroBanner__brand {
    width: 100%;
  }

  .heroBanner__brand-card {
    width: 196px;
    max-width: 100%;
    height: 60px;
    min-height: 60px;
    padding: 10px;
    border-radius: 4px;
    box-shadow:
      0 6.712px 76.068px rgba(0, 0, 0, 0.13),
      0 2.804px 31.779px rgba(0, 0, 0, 0.09),
      0 1.499px 16.991px rgba(0, 0, 0, 0.08),
      0 0.84px 9.525px rgba(0, 0, 0, 0.06),
      0 0.446px 5.059px rgba(0, 0, 0, 0.05),
      0 0.186px 2.105px rgba(0, 0, 0, 0.04);
  }

  .heroBanner__brand-logo {
    width: 176px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 552 / 166;
    object-fit: contain;
  }

  .heroBanner__copy {
    gap: 10px;
    width: 100%;
    max-width: 725px;
  }

  .heroBanner__headline {
    gap: 8px;
  }

  .heroBanner__title {
    max-width: 282px;
    font-size: 30px;
    font-style: italic;
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: -0.6px;
    color: #010767;
  }

  .heroBanner__tagline {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: -0.28px;
    color: #000;
  }

  .heroBanner__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
  }

  .heroBanner__cta-group {
    display: contents;
  }

  .heroBanner__lead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    max-width: 100%;
    font-size: 16px;
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.32px;
  }

  .heroBanner__lead-text {
    display: block;
    color: #000;
  }

  .heroBanner__lead-line {
    display: block;
    white-space: pre-wrap;
  }

  .heroBanner__lead-accent {
    color: #010767;
    white-space: nowrap;
  }

  .heroBanner__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
  }

  .heroBanner__cta-label {
    font-size: 16px;
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.32px;
    color: #b0002d;
    white-space: nowrap;
  }

  .heroBanner__cta-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 228px;
    max-width: 100%;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    background: #ce0637;
    box-sizing: border-box;
  }

  .heroBanner__cta-badge-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.32px;
    color: #fff;
    white-space: nowrap;
  }

  .heroBanner__program {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.32px;
    color: #000;
  }

  .heroBanner__program-line {
    display: block;
    white-space: nowrap;
  }

  .heroBanner__program-line + .heroBanner__program-line::before {
    content: none;
  }

  .heroBanner__foot {
    display: flex;
    gap: 8px;
    align-items: center;
    max-width: 100%;
  }

  .heroBanner__foot-icon {
    width: 28px;
    height: 27px;
    flex-shrink: 0;
  }

  .heroBanner__foot-text {
    max-width: 194px;
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    line-height: 0.99;
    letter-spacing: -0.28px;
    color: #000;
  }

  .heroBanner__figure {
    order: 2;
    display: block;
    position: relative;
    left: auto;
    bottom: auto;
    z-index: 1;
    width: min(337px, 100%);
    max-width: 337px;
    height: auto;
    margin-inline: auto;
    transform: none;
    pointer-events: none;
  }

  .heroBanner__figure picture,
  .heroBanner__figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 337 / 490;
    object-fit: contain;
    object-position: center bottom;
  }

  .formWidget__design-img {
    display: none;
  }

  .heroNewSection .formWidget--hero-design .formWidget__header,
  .heroNewSection .formWidget--hero-design .heroFormFallback {
    display: flex;
  }

  .heroNewSection .formWidget--hero-design .formWidget__body {
    position: static;
  }

  .heroNewSection .formContainer {
    order: 3;
    position: relative;
    z-index: 3;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    margin-inline: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  .heroNewSection .formWidget {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    border-radius: 20px;
    border: 1px solid rgba(24, 34, 75, 0.12);
    box-shadow: 0 26px 72px rgba(13, 24, 51, 0.12);
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
  }

  .heroNewSection .formWidget__body {
    min-height: 0;
  }

  .lp-curriculum {
    padding: 40px 0;
  }

  .lp-curriculum__inner {
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    max-width: 100%;
    gap: 24px;
    align-items: stretch;
  }

  .lp-curriculum__left {
    align-items: flex-start;
    text-align: left;
    max-width: 100%;
    gap: 24px;
  }

  .lp-curriculum__headline {
    align-items: flex-start;
    gap: 24px;
  }

  .lp-curriculum__headline-white {
    font-size: 40px;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.03em;
  }

  .lp-curriculum__headline-gradient {
    font-size: 40px;
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: -0.03em;
    background: linear-gradient(109deg, #7faaff 1.91%, #ffffff 86.07%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .lp-curriculum__body {
    width: 100%;
    max-width: none;
    font-size: 14px;
    line-height: calc(20 / 14);
    text-align: left;
    font-weight: 400;
  }

  .lp-curriculum__body-break {
    display: block;
  }

  .lp-curriculum__right {
    align-items: flex-start;
    text-align: left;
    max-width: 100%;
    gap: 24px;
  }

  .lp-curriculum__eyebrow {
    width: 100%;
    font-size: 22px;
    font-weight: 300;
    line-height: 1;
    text-align: left;
  }

  .lp-curriculum__co-create {
    width: 100%;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.15;
    text-align: left;
    color: transparent;
    background: linear-gradient(104deg, #7faaff 1.91%, #ffffff 86.07%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  /* Psychology section — mobile Figma 2581:1288 (also ≤479px; do not re-override in narrower queries) */
  .psych-evolving {
    padding: 40px 0;
    background: #020215;
    color: #fff;
  }

  .psych-evolving::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.98) 0%,
      rgba(255, 255, 255, 0.94) 22%,
      rgba(255, 255, 255, 0.55) 38%,
      rgba(255, 255, 255, 0) 48%
    );
  }

  .psych-evolving__art {
    inset: 0;
    height: 100%;
  }

  .psych-evolving__art img {
    object-fit: cover;
    object-position: center center;
  }

  .psych-evolving__inner {
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    gap: clamp(320px, 128vw, 500px);
  }

  .psych-evolving__top {
    gap: 32px;
    color: #000;
  }

  .psych-evolving__bottom {
    gap: 56px;
  }

  .psych-evolving__intro {
    width: 100%;
    gap: 32px;
  }

  .psych-evolving__head {
    gap: 24px;
  }

  .psych-evolving__eyebrow {
    font-size: 20px;
    line-height: 0.97;
    font-weight: 300;
    font-style: italic;
    color: #000;
  }

  .psych-evolving__title {
    width: 100%;
    font-size: 40px;
    font-weight: 300;
    line-height: calc(44 / 40);
    letter-spacing: -0.03em;
    color: #000;
  }

  .psych-evolving__title-view--desk {
    display: none;
  }

  .psych-evolving__title-view--mob {
    display: block;
  }

  .psych-evolving__summary {
    width: 100%;
    max-width: none;
    margin-bottom: 0;
    font-size: 14px;
    line-height: calc(20 / 14);
    font-weight: 400;
    color: #000;
  }

  .psych-evolving__cards {
    width: 100%;
    gap: 24px;
  }

  .psych-evolving__card {
    padding: 20px;
    border: 0.542px solid #151515;
    border-radius: 12px;
    gap: 8px;
  }

  .psych-evolving__card--closed {
    gap: 0;
  }

  .psych-evolving__card-trigger {
    gap: 40px;
  }

  .psych-evolving__card-title {
    font-size: 16px;
    line-height: 1.5;
    color: #151515;
  }

  .psych-evolving__card-icon {
    width: 36px;
    height: 26px;
  }

  .psych-evolving__influence-list {
    padding-left: 21px;
    list-style-type: disc;
    list-style-position: outside;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    color: #000;
  }

  .psych-evolving__influence-list li + li {
    margin-top: 0;
  }

  .psych-evolving__specialisations {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "indomain"
      "result"
      "cross";
    gap: 40px;
    margin-top: 0;
  }

  .psych-evolving__specialisation--left,
  .psych-evolving__specialisation--right {
    grid-row: auto;
    width: 100%;
    max-width: none;
    padding-top: 0;
    justify-self: stretch;
  }

  .psych-evolving__specialisation--left {
    padding-left: 20px;
    padding-right: 48px;
    gap: 38px;
  }

  .psych-evolving__center {
    display: contents;
  }

  .psych-evolving__specialisation--right {
    padding-top: 0;
  }

  .psych-evolving__connector--desk {
    display: none;
  }

  .psych-evolving__connector--mob {
    display: block;
  }

  .psych-evolving__connector-wrap {
    display: block;
    position: relative;
    flex: 0 0 33px;
    width: 33px;
    height: 241px;
    overflow: hidden;
    align-self: flex-start;
    margin-top: 6px;
  }

  .psych-evolving__connector-mob {
    position: absolute;
    top: 0;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 194px;
    max-width: none;
    transform: translateX(-50%);
    display: block;
    pointer-events: none;
  }

  .psych-evolving__cross-layout {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    min-height: 241px;
  }

  .psych-evolving__cross-content {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 0;
    padding-left: 20px;
    padding-right: 48px;
    gap: 38px;
  }

  .psych-evolving__specialisation-title {
    font-size: 24px;
    font-weight: 300;
    line-height: calc(30 / 24);
    text-align: left;
  }

  .psych-evolving__specialisation-title span {
    display: inline;
  }

  .psych-evolving__specialisation--left .psych-evolving__specialisation-title span {
    display: block;
  }

  .psych-evolving__specialisation-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  .psych-evolving__specialisation-list li {
    padding: 0 0 10px;
    border-bottom: 1px solid #d9d9d9;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    text-align: left;
    color: #fff;
  }

  .psych-evolving__specialisation-list li:last-child {
    border-bottom: none;
  }

  .psych-evolving__result {
    align-items: flex-start;
    justify-self: stretch;
    width: 100%;
    max-width: none;
    padding: 0 48px 0 20px;
    font-size: 16px;
    font-weight: 500;
    line-height: calc(20 / 16);
    letter-spacing: -0.48px;
    text-align: left;
    color: #fff;
  }

  .psych-evolving__result-line {
    display: block;
  }

  /* Graduate capability — mobile Figma 2505:3470 (also ≤479px; do not re-override in narrower queries) */
  .psych-capability__inner {
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    padding: 40px 0 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .psych-capability__intro {
    width: 100%;
    max-width: none;
    gap: 32px;
    padding: 0;
  }

  .psych-capability__title {
    gap: 24px;
  }

  .psych-capability__title-main {
    font-size: 40px;
    font-weight: 400;
    line-height: calc(44 / 40);
    letter-spacing: -0.03em;
  }

  .psych-capability__title-sub {
    font-size: 22px;
    font-weight: 300;
    font-style: italic;
    line-height: calc(20 / 22);
  }

  .psych-capability__summary {
    width: 100%;
    gap: 24px;
    font-size: 14px;
    font-weight: 400;
    line-height: calc(20 / 14);
  }

  .psych-capability__summary-accent--intro {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: calc(20 / 14);
  }

  .psych-capability__card-copy--tail {
    display: none;
  }

  .psych-capability__grid {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 24px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    overscroll-behavior-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .psych-capability__grid::-webkit-scrollbar {
    display: none;
  }

  .psych-capability__card {
    flex: 0 0 288px;
    width: 288px;
    min-height: 397px;
    padding: 20px;
    gap: 24px;
    border-radius: 12px;
    scroll-snap-align: start;
  }

  .psych-capability__card-body {
    gap: 16px;
  }

  .psych-capability__icon-box {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 4px;
    box-shadow:
      0 15px 80px rgba(0, 0, 0, 0.07),
      0 6.267px 33.422px rgba(0, 0, 0, 0.05),
      0 3.35px 17.869px rgba(0, 0, 0, 0.04),
      0 1.878px 10.017px rgba(0, 0, 0, 0.04),
      0 0.998px 5.32px rgba(0, 0, 0, 0.03),
      0 0.415px 2.214px rgba(0, 0, 0, 0.02);
  }

  .psych-capability__icon {
    width: 30px;
    height: 30px;
  }

  .psych-capability__card-title {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(24 / 18);
  }

  .psych-capability__card-copy,
  .psych-capability__list {
    font-size: 14px;
    font-weight: 300;
    line-height: calc(20 / 14);
  }

  .psych-capability__list {
    padding-left: 21px;
    list-style-type: disc;
    list-style-position: outside;
  }

  .psych-capability__list li + li {
    margin-top: 0;
  }
}

/* AI section — mobile Figma 2505:3551 (360px–768px; overrides ≤1199 tablet rules) */
@media (max-width: 768px) {
  .psych-ai {
    background: #010118;
    overflow: hidden;
  }

  .psych-ai__bg {
    overflow: hidden;
  }

  .psych-ai__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
      180deg,
      #010119 53.66%,
      rgba(1, 1, 25, 0) 82.67%
    );
  }

  .psych-ai__bg picture,
  .psych-ai__bg img {
    position: absolute;
    max-width: none;
  }

  .psych-ai__bg img {
    width: 217.79%;
    height: 50.61%;
    left: -81.25%;
    top: 57.55%;
    object-fit: cover;
    object-position: center center;
  }

  .psych-ai__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    max-width: 100%;
    margin-inline: auto;
    padding: 0 0 40px;
    gap: 0;
    box-sizing: border-box;
  }

  .psych-ai__intro {
    width: 100%;
    max-width: none;
    gap: 20px;
    padding: 40px 0 32px;
    box-sizing: border-box;
  }

  .psych-ai__title {
    max-width: none;
    font-family: "Inter", sans-serif;
    font-size: 40px;
    line-height: 1.04;
    font-weight: 400;
    color: #7faaff;
  }

  .psych-ai__title-line {
    display: block;
  }

  .psych-ai__subtitle {
    max-width: none;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.17;
    color: #fff;
  }

  .psych-ai__lead {
    max-width: none;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.42px;
    color: #fff;
  }

  .psych-ai__panel {
    width: 100%;
    min-height: 0;
    border: 0.542px solid #151515;
    border-radius: 8px;
    background: linear-gradient(
      154.41deg,
      rgba(255, 255, 255, 0.2) 0%,
      rgba(255, 255, 255, 0) 100%
    );
    -webkit-backdrop-filter: blur(11.378px);
    backdrop-filter: blur(11.378px);
    box-sizing: border-box;
  }

  .psych-ai__panel-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    width: 100%;
    padding: 20px 0;
    box-sizing: border-box;
  }

  .psych-ai__col {
    flex: none;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .psych-ai__col--lead {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .psych-ai__col--list {
    padding-left: 20px;
    padding-right: 20px;
  }

  .psych-ai__col--accent {
    width: 100%;
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
    align-items: flex-start;
  }

  .psych-ai__panel-heading {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.17;
    color: #fff;
    max-width: none;
  }

  .psych-ai__panel-heading-line {
    display: block;
  }

  .psych-ai__panel-text {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.48px;
    color: #fff;
    max-width: none;
  }

  .psych-ai__text-break--mob {
    display: block;
  }

  .psych-ai__list-lead {
    margin: 0 0 0;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.52;
    letter-spacing: -0.42px;
    color: #fff;
  }

  .psych-ai__list {
    margin: 0;
    padding-left: 21px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.52;
    letter-spacing: -0.42px;
    color: #fff;
    list-style-type: disc;
    list-style-position: outside;
  }

  .psych-ai__list li + li {
    margin-top: 0;
  }

  .psych-ai__accent {
    margin: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -0.42px;
    color: #7faaff;
    max-width: none;
  }
}

/* AI section — desktop Figma 2505:2886, fluid 769px→1920px (≤768 uses block above) */
@media (min-width: 769px) {
  .psych-ai {
    background: #010118;
  }

  .psych-ai__bg::after {
    display: none;
  }

  .psych-ai__bg img {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    max-width: none;
    object-fit: cover;
    object-position: center center;
  }

  .psych-ai__inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: min(1720px, calc(100% - (2 * clamp(24px, 6.25vw, 120px))));
    max-width: 1720px;
    margin: 0 auto;
    padding: clamp(88px, 9.17vw, 176px) clamp(24px, 6.25vw, 120px) clamp(35px, 3.65vw, 70px);
  }

  .psych-ai__intro {
    width: min(740px, 100%);
    max-width: 740px;
    gap: 20px;
    padding: clamp(30px, 3.125vw, 60px) 0 clamp(50px, 5.21vw, 100px);
  }

  .psych-ai__title {
    font-family: "Inter", sans-serif;
    font-size: clamp(40px, 4.167vw, 80px);
    font-weight: 400;
    line-height: 1.04;
    color: #7faaff;
    max-width: min(616px, 100%);
  }

  .psych-ai__title-line {
    display: inline;
  }

  .psych-ai__subtitle {
    font-family: "Inter", sans-serif;
    font-size: clamp(20px, 1.667vw, 32px);
    font-weight: 500;
    line-height: 1.17;
    color: #fff;
    max-width: min(496px, 100%);
  }

  .psych-ai__lead {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.042vw, 20px);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.6px;
    color: #fff;
    max-width: min(496px, 100%);
  }

  .psych-ai__panel {
    width: 100%;
    min-height: clamp(200px, 13.33vw, 256px);
    border: 0.542px solid #151515;
    border-radius: 17px;
    background: linear-gradient(174.96deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%);
    -webkit-backdrop-filter: blur(11.378px);
    backdrop-filter: blur(11.378px);
  }

  .psych-ai__panel-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    width: 100%;
    padding: 20px 0;
  }

  .psych-ai__col {
    padding-top: 0;
    padding-bottom: 0;
  }

  .psych-ai__col--lead {
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex: 0 1 auto;
    padding-left: clamp(24px, 3.906vw, 75px);
    padding-right: 0;
  }

  .psych-ai__col--list {
    flex: 1 1 auto;
    padding-left: clamp(24px, 3.906vw, 75px);
    padding-right: 0;
  }

  .psych-ai__col--accent {
    flex: 0 0 auto;
    width: min(443px, 34%);
    max-width: 443px;
    padding: 0 clamp(24px, 3.906vw, 75px);
  }

  .psych-ai__panel-heading {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: clamp(20px, 1.667vw, 32px);
    font-weight: 500;
    line-height: 1.17;
    color: #fff;
    max-width: min(382px, 100%);
  }

  .psych-ai__panel-heading-line {
    display: inline;
  }

  .psych-ai__panel-text {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.042vw, 20px);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.6px;
    color: #fff;
    max-width: min(369px, 100%);
  }

  .psych-ai__list-lead,
  .psych-ai__list {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(16px, 1.042vw, 20px);
    font-weight: 400;
    line-height: 1.52;
    letter-spacing: -0.6px;
    color: #fff;
  }

  .psych-ai__list {
    padding-left: 30px;
    list-style-type: disc;
    list-style-position: outside;
  }

  .psych-ai__accent {
    font-family: "Montserrat", sans-serif;
    font-size: clamp(18px, 1.25vw, 24px);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: -0.72px;
    color: #7faaff;
    max-width: min(328px, 100%);
  }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .psych-ai__panel-row {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: 24px;
    padding: 20px clamp(16px, 2.5vw, 24px);
  }

  .psych-ai__col--lead {
    flex: 1 1 calc(50% - 12px);
    min-width: min(280px, 100%);
  }

  .psych-ai__col--list {
    flex: 1 1 calc(50% - 12px);
    min-width: min(280px, 100%);
  }

  .psych-ai__col--accent {
    flex: 1 1 100%;
    width: 100%;
    max-width: none;
    padding-left: clamp(20px, 3vw, 40px);
    padding-right: clamp(20px, 3vw, 40px);
  }
}

/* ——— Narrow phones ≤559px: clearer section titles + consistent readable paragraphs ——— */
@media (max-width: 559px) {
  .hero h1 {
    font-size: clamp(30px, 9.6vw, 38px);
    font-weight: 700;
  }
  .hero .hero__roles-row--primary .hero__roles-text {
    font-size: clamp(30px, 10vw, 42px);
  }

  .lp-hero__h1-lines p {
    font-size: clamp(20px, 5.6vw, 30px);
    font-weight: 600;
  }
  .lp-hero__accent p:first-child {
    font-size: clamp(22px, 6.2vw, 34px);
    font-weight: 700;
  }
  .lp-hero__accent p:last-child {
    font-size: clamp(16px, 4.2vw, 19px);
    line-height: 1.45;
  }
  .lp-hero__lead p {
    font-size: clamp(16px, 4.5vw, 19px);
    line-height: 1.52;
    font-weight: 500;
  }
  .lp-hero__page-title {
    font-size: clamp(14px, 3.8vw, 18px);
  }

  .nap__h2 {
    font-size: clamp(26px, 7.5vw, 32px);
    font-weight: 700;
    letter-spacing: -0.05em;
  }
  .nap__intro-copy {
    font-size: 15px;
    line-height: 1.55;
  }
  .nap__program-title {
    font-size: clamp(28px, 7.8vw, 32px);
    font-weight: 700;
  }
  .nap__program-body,
  .nap__spec-list li {
    font-size: 15px;
    line-height: 1.5;
  }
  .nap__spec-heading {
    font-size: clamp(18px, 6.5vw, 32px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
  }

  .lp-path__h2 {
    font-size: clamp(26px, 6.8vw, 34px);
    font-weight: 700;
    letter-spacing: 0.035em;
  }

  .lp-choose__h2 {
    font-size: clamp(34px, 11vw, 48px);
    font-weight: 700;
  }
  .lp-choose__h2--step2 {
    font-size: clamp(30px, 9.5vw, 44px);
    font-weight: 700;
  }
  .lp-choose__lead {
    font-size: clamp(20px, 6.6vw, 28px);
    font-weight: 600;
  }
  .lp-choose__step {
    font-size: clamp(15px, 4.4vw, 18px);
    font-weight: 600;
  }

  .lp-learn__left .lp-learn__h2 {
    font-size: clamp(38px, 10.5vw, 44px);
    font-weight: 700;
    letter-spacing: -0.08em;
  }
  .lp-learn__swiper .lp-yr__content h3 {
    font-size: clamp(24px, 6.8vw, 28px);
    font-weight: 700;
  }
  .lp-learn__swiper .lp-yr__desc {
    font-size: 15px;
    line-height: 1.45;
  }
  .lp-learn__swiper .lp-yr__tag {
    font-size: clamp(19px, 5.4vw, 22px);
  }

  .lp-prog-focus__lede {
    font-size: 15px;
    line-height: 1.52;
  }
  .lp-prog-focus__title {
    font-size: 26px;
    font-weight: 700;
  }
  .lp-prog-focus__text {
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: -0.03em;
  }

  .lp-lead__headban p {
    font-size: clamp(17px, 4.2vw, 24px);
    line-height: 1.4;
  }

  .lp-eli__h2 {
    font-size: clamp(38px, 10vw, 44px);
    font-weight: 300;
    letter-spacing: -0.075em;
  }
  .lp-eli__national-content p {
    font-size: 15px;
    line-height: 1.45;
  }

  .lp-adm__head h2 {
    font-size: clamp(38px, 10vw, 44px);
    font-weight: 300;
  }
  .lp-adm__lede {
    font-size: 15px;
    line-height: 1.5;
  }
  .lp-adm__txt {
    font-size: 15px;
    line-height: 1.35;
  }

  .lp-sch__head h2 {
    font-size: clamp(30px, 8.8vw, 42px);
    font-weight: 300;
    letter-spacing: -0.04em;
  }
  .lp-sch__head p {
    font-size: 16px;
    line-height: 1.4;
    font-weight: 300;
  }
  .lp-sch__student-tab {
    min-height: 48px;
    padding: 12px 18px;
    font-size: 15px;
  }
  .lp-sch__types-label {
    font-size: clamp(21px, 6vw, 28px);
  }
  .lp-sch__tab-txt {
    font-size: clamp(15px, 4vw, 18px);
  }
  .lp-sch__panel-subtitle {
    font-size: 18px;
  }
  .lp-sch__panel-copy {
    font-size: 15px;
    line-height: 1.45;
  }
  .lp-sch__panel-meta,
  .lp-sch__panel-label {
    font-size: 14px;
  }
  .lp-sch__panel li {
    font-size: 15px;
    line-height: 1.4;
  }
  .lp-sch__panel-h {
    font-size: clamp(17px, 4.8vw, 20px);
  }

  .lp-footer__h2 {
    font-size: clamp(36px, 9.8vw, 42px);
    font-weight: 300;
    letter-spacing: -0.06em;
  }
  .lp-footer__copy p {
    font-size: 15px;
    line-height: 1.55;
  }
}

/* Legacy stat boxes — mobile mosaic (≤767px; do not re-override in narrower queries) */
@media (max-width: 767px) {
  .lp-legacy {
    margin-top: -32px;
    padding: 40px max(24px, env(safe-area-inset-left, 0px)) 48px max(24px, env(safe-area-inset-right, 0px));
    gap: 32px;
    align-items: stretch;
    box-sizing: border-box;
    background: linear-gradient(180deg, #040c6d 7.89%, #457be1 59.144%, rgba(69, 123, 225, 0) 100%);
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
  }

  .lp-legacy__head {
    width: 100%;
    max-width: min(392px, 100%);
    margin-left: auto;
    margin-right: auto;
    gap: 16px;
    align-items: stretch;
  }

  .lp-legacy__h2 {
    font-size: 40px;
    line-height: 44px;
    font-weight: 400;
    letter-spacing: -0.03em;
    text-transform: none;
    color: #fff;
    max-width: none;
    flex: none;
  }

  .lp-legacy__lede {
    font-size: 16px;
    line-height: 20px;
    flex: none;
    max-width: none;
  }

  .lp-legacy__lede p {
    line-height: 20px;
  }

  .lp-legacy__lede p + p {
    margin-top: 16px;
  }

  .lp-legacy__grids {
    width: 100%;
    max-width: min(392px, 100%);
    margin-left: auto;
    margin-right: auto;
    gap: 8px;
  }

  .lp-legacy__grid1 .lp-legacy__cell:nth-child(1) {
    grid-column: 1 / -1;
    grid-row: 1;
    align-items: flex-start;
    text-align: left;
  }

  .lp-legacy__grid1 .lp-legacy__cell--students {
    grid-column: 1;
    grid-row: 2;
    align-items: center;
    text-align: center;
  }

  .lp-legacy__grid1 .lp-legacy__cell--hospital {
    grid-column: 2;
    grid-row: 2;
    align-items: center;
    text-align: center;
  }

  .lp-legacy__grid2 .lp-legacy__s--schools {
    grid-column: 1;
    grid-row: 3;
    align-items: center;
    text-align: center;
  }

  .lp-legacy__grid2 .lp-legacy__s--hei {
    grid-column: 2;
    grid-row: 3;
    align-items: center;
    text-align: center;
  }

  .lp-legacy__grid2 .lp-legacy__s--med {
    grid-column: 1 / -1;
    grid-row: 4;
    align-items: center;
    text-align: center;
  }

  .lp-legacy__cell,
  .lp-legacy__s {
    gap: 8px;
    padding: 16px;
    border-radius: 20px;
    flex-direction: column;
    min-height: 0;
  }

  .lp-legacy__s--schools {
    padding-left: 16px;
  }

  .lp-legacy__grid1 .lp-legacy__cell:nth-child(1) .lp-legacy__n,
  .lp-legacy__grid1 .lp-legacy__cell:nth-child(1) .lp-legacy__label {
    width: 100%;
    text-align: left;
    justify-content: flex-start;
  }

  .lp-legacy__grid1 .lp-legacy__cell--students .lp-legacy__n,
  .lp-legacy__grid1 .lp-legacy__cell--hospital .lp-legacy__n,
  .lp-legacy__grid2 .lp-legacy__n2 {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .lp-legacy__grid1 .lp-legacy__cell--students .lp-legacy__label,
  .lp-legacy__grid1 .lp-legacy__cell--hospital .lp-legacy__label,
  .lp-legacy__grid2 .lp-legacy__label {
    align-items: center;
    text-align: center;
  }

  .lp-legacy__n,
  .lp-legacy__n2 {
    font-size: 45px;
    line-height: 1.04;
    letter-spacing: -0.9px;
    text-transform: uppercase;
  }

  .lp-legacy__label p {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.42px;
    line-height: 0.94;
  }

  /* Leadership heading — mobile Figma 2474:420 */
  .lp-lead {
    align-items: flex-start;
    padding: 40px max(24px, env(safe-area-inset-right, 0px)) 48px max(24px, env(safe-area-inset-left, 0px));
  }

  .lp-lead__h2 {
    width: min(392px, 100%);
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-size: 40px;
    line-height: 44px;
    font-weight: 400;
    letter-spacing: normal;
    text-transform: none;
    text-align: left;
    align-items: flex-start;
    align-self: flex-start;
    gap: 0;
  }

  .lp-lead__h2-line {
    text-transform: lowercase;
  }

  .lp-lead__h2-line:first-child::first-letter {
    text-transform: uppercase;
  }

  .lp-lead__slider-wrap {
    margin-top: 32px;
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }
}

@media (max-width: 1199px) {
  .lp-sch-intro__inner {
    grid-template-columns: 1fr;
    row-gap: 28px;
    padding: 56px max(24px, env(safe-area-inset-right, 0px)) 56px max(24px, env(safe-area-inset-left, 0px));
  }

  .lp-sch-intro__title {
    max-width: 640px;
    font-size: clamp(40px, 5.2vw, 56px);
  }

  .lp-sch-intro__copy {
    max-width: 760px;
    font-size: 17px;
  }

  .lp-sch-detail__inner {
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }

  .lp-sch-detail__surface {
    gap: 40px;
    padding: 40px 24px;
  }

  .lp-sch-detail__switch {
    width: 100%;
    max-width: 780px;
  }

  .lp-sch-detail__switch-btn {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    font-size: 17px;
  }

  .lp-sch-detail__grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .lp-sch-detail__menu {
    width: 100%;
    max-width: 640px;
  }

  .lp-sch-detail__hero {
    flex-direction: column;
    gap: 18px;
  }

  .lp-sch-detail__duration {
    padding-top: 0;
    white-space: normal;
  }

  .lp-sch-detail__body,
  .lp-sch-detail__continuation {
    max-width: none;
  }
}

@media (max-width: 767px) {
  .lp-sch-intro__inner {
    display: flex;
    flex-direction: column;
    row-gap: 16px;
    padding: 44px 24px;
  }

  .lp-sch-intro__title {
    max-width: 360px;
    font-size: 40px;
    font-weight: 500;
    line-height: 44px;
    letter-spacing: -0.03em;
  }

  .lp-sch-intro__copy {
    max-width: none;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__inner {
    padding: 40px 24px 10px;
  }

  .lp-sch-detail__surface {
    gap: 32px;
    padding: 20px;
    border-radius: 20px;
  }

  .lp-sch-detail__switch {
    width: 100%;
    border-radius: 40px;
    box-shadow:
      0 6px 40px rgba(0, 0, 0, 0.07),
      0 2.507px 16.711px rgba(0, 0, 0, 0.05),
      0 1.34px 8.935px rgba(0, 0, 0, 0.04),
      0 0.751px 5.009px rgba(0, 0, 0, 0.04),
      0 0.399px 2.66px rgba(0, 0, 0, 0.03),
      0 0.166px 1.107px rgba(0, 0, 0, 0.02);
  }

  .lp-sch-detail__switch-btn,
  .lp-sch-detail__switch-btn--active {
    min-height: 58px;
    height: auto;
    padding: 10px 12px;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.11;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }

  .lp-sch-detail__switch-btn--active {
    min-height: 68px;
  }

  .lp-sch-detail__grid {
    display: block;
  }

  .lp-sch-detail__menu,
  .lp-sch-detail__content {
    display: none !important;
  }

  .lp-sch-detail__mobile-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  .lp-sch-detail__accordion-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 20px;
    border-radius: 12px;
    background: #fff;
    box-sizing: border-box;
  }

  .lp-sch-detail__accordion-trigger {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    text-align: left;
  }

  .lp-sch-detail__accordion-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
  }

  .lp-sch-detail__accordion-title,
  .lp-sch-detail__accordion-subtitle,
  .lp-sch-detail__accordion-hero-title,
  .lp-sch-detail__accordion-hero-subtitle,
  .lp-sch-detail__accordion-duration,
  .lp-sch-detail__accordion-continuation-title,
  .lp-sch-detail__accordion-lead p,
  .lp-sch-detail__accordion-list li {
    margin: 0;
    color: #151515;
  }

  .lp-sch-detail__accordion-card--active .lp-sch-detail__accordion-title {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.33;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-card--active .lp-sch-detail__accordion-subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.33;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-card:not(.lp-sch-detail__accordion-card--active) .lp-sch-detail__accordion-title,
  .lp-sch-detail__accordion-card:not(.lp-sch-detail__accordion-card--active) .lp-sch-detail__accordion-subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-arrow {
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
  }

  .lp-sch-detail__accordion-arrow img {
    display: block;
    width: 100%;
    height: 100%;
    transition: transform 180ms ease;
  }

  .lp-sch-detail__accordion-card--active .lp-sch-detail__accordion-arrow img {
    transform: rotate(-90deg);
  }

  .lp-sch-detail__accordion-card:not(.lp-sch-detail__accordion-card--active) .lp-sch-detail__accordion-arrow img {
    transform: rotate(90deg);
  }

  .lp-sch-detail__accordion-panel {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid rgba(21, 21, 21, 0.35);
  }

  .lp-sch-detail__accordion-panel[hidden] {
    display: none !important;
  }

  .lp-sch-detail__accordion-intro,
  .lp-sch-detail__accordion-hero {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }

  .lp-sch-detail__accordion-intro {
    gap: 24px;
  }

  .lp-sch-detail__accordion-hero {
    gap: 16px;
  }

  .lp-sch-detail__accordion-hero-title {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-hero-subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.78;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-lead {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
  }

  .lp-sch-detail__accordion-lead p,
  .lp-sch-detail__accordion-list li {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-list {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: disc;
  }

  .lp-sch-detail__accordion-list li {
    margin-left: 21px;
  }

  .lp-sch-detail__accordion-duration {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.38;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-continuation {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  .lp-sch-detail__accordion-continuation-title {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.38;
    letter-spacing: -0.03em;
  }

  .lp-sch-detail__accordion-list--continuation li + li {
    margin-top: 0;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .lp-sch-intro__inner {
    padding: 56px max(24px, env(safe-area-inset-right, 0px)) 56px
      max(24px, env(safe-area-inset-left, 0px));
  }
}

/* Footer — mobile Figma 2602:2041 (≤767px) */
@media (max-width: 767px) {
  .lp-sch-detail__inner {
    padding-bottom: 0;
  }

  .lp-footer {
    margin-top: 0;
    background: #000;
  }

  .lp-footer__stage {
    position: relative;
    overflow: hidden;
    background: #fff;
  }

  .lp-footer__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
  }

  .lp-footer__bg-art--desktop {
    display: none;
  }

  .lp-footer__bg-art--mobile {
    display: block;
    position: absolute;
    top: 0;
    left: -1.46%;
    width: 102.93%;
    height: 108.52%;
    max-width: none;
    transform: none;
    object-fit: cover;
    object-position: center top;
  }

  .lp-footer__inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: 0 !important;
    padding: 348px 24px 20px;
    border: 0;
    box-sizing: border-box;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .lp-footer__content {
    width: 100%;
    max-width: none;
    gap: 32px;
  }

  .lp-footer__h2-line--desk {
    display: none;
  }

  .lp-footer__h2-line--mob {
    display: block;
  }

  .lp-footer__h2 {
    font-size: 40px;
    font-weight: 400;
    line-height: 44px;
    letter-spacing: 0;
    text-transform: none;
    color: #fff;
  }

  .lp-footer__copy {
    gap: 0;
  }

  .lp-footer__copy p {
    margin: 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: 0;
    color: #fff;
  }

  .lp-footer__content .lp-btn {
    display: none;
  }

  .lp-footer__bottom-visual {
    display: block;
    position: relative;
    width: 100%;
    min-height: 280px;
    flex-shrink: 0;
    overflow: hidden;
    background: #000;
  }

  .lp-footer__bottom-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
  }
}

/* Footer — small phones: scale top inset with viewport */
@media (max-width: 479px) {
  .lp-footer__inner {
    padding-top: clamp(280px, 87vw, 348px);
  }

  .lp-footer__bottom-visual {
    min-height: clamp(240px, 75vw, 320px);
  }
}


/* Heading font sizes −20% below 400px */
@media (max-width: 399px) {
  .lp-choose__h2 {
    font-size: calc(clamp(34px, 11vw, 48px) * 0.8);
  }
  .lp-choose__h2--step2 {
    font-size: calc(clamp(30px, 9.5vw, 44px) * 0.8);
  }
  .lp-choose__mapping-label {
    font-size: calc(clamp(17px, 4.8vw, 28px) * 0.8);
  }
  .lp-curriculum__co-create {
    font-size: calc(36px * 0.8);
  }
  .lp-curriculum__headline-gradient {
    font-size: calc(40px * 0.8);
  }
  .lp-curriculum__headline-white {
    font-size: calc(40px * 0.8);
  }
  .lp-eli__h2 {
    font-size: calc(clamp(38px, 10vw, 44px) * 0.8);
  }
  .lp-footer__h2 {
    font-size: calc(40px * 0.8);
  }
  .lp-lead__h2 {
    font-size: calc(40px * 0.8);
  }
  .lp-learn__h2 {
    font-size: calc(clamp(28px, 5vw, 80px) * 0.8);
  }
  .lp-legacy__h2 {
    font-size: calc(40px * 0.8);
  }
  .lp-path__h2 {
    font-size: calc(clamp(26px, 6.8vw, 34px) * 0.8);
  }
  .lp-prog-focus__title {
    font-size: calc(26px * 0.8);
  }
  .lp-sch-detail__accordion-hero-title {
    font-size: calc(20px * 0.8);
  }
  .lp-sch-detail__hero-title {
    font-size: calc(clamp(30px, 2.08vw, 40px) * 0.8);
  }
  .lp-sch-intro__title {
    font-size: calc(40px * 0.8);
  }
  .lp-sch__panel-h {
    font-size: calc(clamp(17px, 4.8vw, 20px) * 0.8);
  }
  .lp-sch__types-label {
    font-size: calc(clamp(21px, 6vw, 28px) * 0.8);
  }
  .nap__h2 {
    font-size: calc(clamp(26px, 7.5vw, 32px) * 0.8);
  }
  .nap__program-title {
    font-size: calc(clamp(28px, 7.8vw, 32px) * 0.8);
  }
  .psych-ai__panel-heading {
    font-size: calc(20px * 0.8);
  }
  .psych-ai__title {
    font-size: calc(40px * 0.8);
  }
  .psych-campus__title {
    font-size: calc(40px * 0.8);
  }
  .psych-capability__title-main {
    font-size: calc(40px * 0.8);
  }
  .psych-capability__title-sub {
    font-size: calc(22px * 0.8);
  }
  .psych-evolving__title {
    font-size: calc(40px * 0.8);
  }
  .psych-roadmap__title {
    font-size: calc(clamp(28px, 10.5vw, 40px) * 0.8);
  }
  .snum {
    font-size: calc(clamp(24px, 6vw, 40px) * 0.8);
  }
  .t-step {
    font-size: calc(clamp(20px, 4vw, 40px) * 0.8);
  }
  .hero h1 {
    font-size: calc(clamp(30px, 9.6vw, 38px) * 0.8);
  }
  .hero h2.hero__roles {
    font-size: calc(clamp(32px, 2.5vw + 22px, 48px) * 0.8);
  }
  .hero__roles-row--secondary .hero__roles-text {
    font-size: calc(34px * 0.8);
  }
  .lp-adm__head h2 {
    font-size: calc(clamp(38px, 10vw, 44px) * 0.8);
  }
  .lp-choose__view--step1 .lp-choose__h2 {
    font-size: calc(clamp(48px, calc(100vw * 80 / 1792), 80px) * 0.8);
  }
  .lp-hero__accent p:first-child {
    font-size: calc(clamp(22px, 6.2vw, 34px) * 0.8);
  }
  .lp-hero__h1-lines p {
    font-size: calc(clamp(20px, 5.6vw, 30px) * 0.8);
  }
  .lp-lead__headban p {
    font-size: calc(clamp(17px, 4.2vw, 24px) * 0.8);
  }
  .lp-learn__left .lp-learn__h2 {
    font-size: calc(clamp(38px, 10.5vw, 44px) * 0.8);
  }
  .lp-sch__head h2 {
    font-size: calc(clamp(30px, 8.8vw, 42px) * 0.8);
  }
  .lp-sch__head p {
    font-size: calc(16px * 0.8);
  }
  .lp-yr__content h3 {
    font-size: calc(clamp(22px, 1.67vw, 32px) * 0.8);
  }
  .hero .hero__roles-row--primary .hero__roles-text {
    font-size: calc(clamp(30px, 10vw, 42px) * 0.8);
  }
  .hero .hero__roles-row--secondary .hero__roles-text {
    font-size: calc(clamp(22px, 7.8vw, 30px) * 0.8);
  }
  .hero .hero__roles--promote .hero__roles-row--secondary .hero__roles-text {
    font-size: calc(clamp(30px, 10vw, 42px) * 0.8);
  }
  .lp-learn__swiper .lp-yr__content h3 {
    font-size: calc(clamp(24px, 6.8vw, 28px) * 0.8);
  }
}

/* ——— Fluid tablet / small laptop: 769px → 1400px (≤767 mobile unchanged) ——— */
@media (min-width: 769px) and (max-width: 1400px) {
  :root {
    --lp-pad: calc(20px + 32 * (100vw - 769px) / 631);
    --lp-pad-l: calc(24px + 84 * (100vw - 769px) / 631);
    --lp-pad-m: calc(14px + 34 * (100vw - 769px) / 631);
  }

  /* Psych sections — fluid inner width */
  .psych-evolving__inner,
  .psych-capability__inner,
  .psych-roadmap__inner,
  .psych-ai__inner {
    width: min(
      calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))),
      calc(720px + 280 * (100vw - 769px) / 631)
    );
  }

  .psych-evolving__title {
    font-size: calc(36px + 18 * (100vw - 769px) / 631);
  }

  .psych-capability__title-main {
    font-size: calc(32px + 14 * (100vw - 769px) / 631);
  }

  .psych-roadmap__title {
    font-size: calc(34px + 16 * (100vw - 769px) / 631);
  }

  /* psych-campus: desktop layout in Figma 2505:870 block (≥768px) */

  /* Legacy — fluid headline */
  .lp-legacy__h2 {
    font-size: calc(32px + 12 * (100vw - 769px) / 631);
  }

  .lp-legacy__n,
  .lp-legacy__n2 {
    font-size: calc(42px + 18 * (100vw - 769px) / 631);
  }

  /* Leadership */
  .lp-lead__h2 {
    font-size: calc(32px + 14 * (100vw - 769px) / 631);
  }

  .lp-lead__slider-wrap {
    margin-top: calc(28px + 20 * (100vw - 769px) / 631);
  }

  /* Eligibility — fluid padding (desktop layout from ≥992) */
  .lp-eli {
    padding-top: calc(72px + 50 * (100vw - 769px) / 631);
    padding-bottom: calc(40px + 24 * (100vw - 769px) / 631);
    padding-left: calc(28px + 120 * (100vw - 769px) / 631);
    padding-right: calc(28px + 120 * (100vw - 769px) / 631);
  }

  .lp-eli__box {
    gap: calc(40px + 22 * (100vw - 769px) / 631);
    padding: calc(32px + 28 * (100vw - 769px) / 631);
  }

  .lp-eli__h2 {
    font-size: calc(40px + 16 * (100vw - 769px) / 631);
  }

  /* Admission */
  .lp-adm__head {
    padding-left: var(--lp-pad-l);
    padding-right: var(--lp-pad);
  }

  .lp-adm__g {
    padding-left: var(--lp-pad);
    padding-right: var(--lp-pad);
  }

  /* Footer — desktop art, fluid type */
  .lp-footer__bg-art--mobile {
    display: none;
  }

  .lp-footer__bg-art--desktop {
    display: block;
  }

  .lp-footer__h2-line--desk {
    display: block;
  }

  .lp-footer__h2-line--mob {
    display: none;
  }

  .lp-footer__inner {
    min-height: calc(720px + 200 * (100vw - 769px) / 631);
    padding-top: calc(380px + 120 * (100vw - 769px) / 631);
    padding-bottom: calc(64px + 24 * (100vw - 769px) / 631);
  }

  .lp-footer__h2 {
    font-size: calc(36px + 14 * (100vw - 769px) / 631);
  }

  .lp-footer__copy p {
    font-size: calc(15px + 3 * (100vw - 769px) / 631);
  }

  /* Learning model + career path */
  .lp-learn__h2 {
    font-size: calc(40px + 18 * (100vw - 769px) / 631);
  }

  .lp-path__h2 {
    font-size: calc(26px + 10 * (100vw - 769px) / 631);
  }

  .lp-path__container {
    --lp-path-inset-x: calc(12px + 20 * (100vw - 769px) / 631);
    --lp-path-inset-t: calc(18px + 18 * (100vw - 769px) / 631);
    --lp-path-inset-b: calc(18px + 20 * (100vw - 769px) / 631);
  }

  /* Choose pathway */
  .lp-choose__band {
    min-height: calc(520px + 120 * (100vw - 769px) / 631);
  }

  .lp-choose__h2 {
    font-size: calc(28px + 10 * (100vw - 769px) / 631);
  }
}

/* Hero / banner — desktop Figma 2505:662 fluid 992px → 1920px */
@media (min-width: 992px) and (max-width: 1920px) {
  .heroNewSection {
    padding-top: calc(88px + 54 * (100vw - 992px) / 928);
    padding-bottom: calc(64px + 36 * (100vw - 992px) / 928);
  }

  .heroBanner__inner {
    column-gap: calc(16px + 30.5 * (100vw - 992px) / 928);
    min-height: calc(520px + 254 * (100vw - 992px) / 928);
  }

  .heroBanner__content {
    gap: calc(28px + 12 * (100vw - 992px) / 928);
  }

  .heroBanner__brand-card {
    width: calc(168px + 36 * (100vw - 992px) / 928);
    min-height: calc(68px + 11 * (100vw - 992px) / 928);
    padding: calc(8px + 2 * (100vw - 992px) / 928);
    border-radius: calc(3.5px + 0.88 * (100vw - 992px) / 928);
  }

  .heroBanner__brand-logo {
    width: calc(152px + 32 * (100vw - 992px) / 928);
  }

  .heroBanner__copy {
    gap: calc(36px + 32 * (100vw - 992px) / 928);
  }

  .heroBanner__body {
    gap: calc(40px + 40 * (100vw - 992px) / 928);
  }

  .heroBanner__cta-group {
    gap: calc(20px + 10 * (100vw - 992px) / 928);
  }

  .heroBanner__headline {
    gap: calc(10px + 4 * (100vw - 992px) / 928);
  }

  .heroBanner__title {
    font-size: calc(40px + 24 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.8px + -0.48 * (100vw - 992px) / 928);
  }

  .heroBanner__tagline,
  .heroBanner__lead {
    font-size: calc(22px + 14 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.44px + -0.28 * (100vw - 992px) / 928);
  }

  .heroBanner__lead-accent {
    max-width: calc(320px + 219 * (100vw - 992px) / 928);
  }

  .heroBanner__cta-label {
    font-size: calc(18px + 7.48 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.36px + -0.15 * (100vw - 992px) / 928);
  }

  .heroBanner__cta {
    gap: calc(12px + 12 * (100vw - 992px) / 928);
  }

  .heroBanner__cta-badge {
    min-height: calc(68px + 24 * (100vw - 992px) / 928);
    padding:
      calc(14px + 9 * (100vw - 992px) / 928)
      calc(12px + 5 * (100vw - 992px) / 928)
      calc(18px + 9 * (100vw - 992px) / 928)
      calc(10px + 2 * (100vw - 992px) / 928);
  }

  .heroBanner__cta-badge-text {
    font-size: calc(22px + 20.47 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.44px + -0.41 * (100vw - 992px) / 928);
  }

  .heroBanner__program {
    font-size: calc(20px + 12 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.4px + -0.24 * (100vw - 992px) / 928);
  }

  .heroBanner__foot-icon {
    width: calc(26px + 6 * (100vw - 992px) / 928);
    height: calc(26px + 5.3 * (100vw - 992px) / 928);
  }

  .heroBanner__foot-text {
    font-size: calc(16px + 4 * (100vw - 992px) / 928);
    letter-spacing: calc(-0.32px + -0.08 * (100vw - 992px) / 928);
  }

  .heroBanner__figure {
    max-height: calc(520px + 254 * (100vw - 992px) / 928);
  }

  .heroBanner__figure img {
    max-height: calc(520px + 254 * (100vw - 992px) / 928);
  }

  .formContainer {
    padding-right: 0;
  }

  .formWidget,
  .formWidget--hero-design,
  .formWidget__design-img {
    width: 100%;
    max-width: calc(280px + 97 * (100vw - 992px) / 928);
  }

  .heroNewSection .formWidget--hero-design {
    min-height: 0;
  }

  .heroNewSection .formWidget--hero-design.formWidget--live {
    min-height: calc(480px + 149 * (100vw - 992px) / 928);
  }
}

@media (min-width: 1921px) {
  .heroNewSection {
    padding: 142px 0 100px;
  }

  .heroBanner__inner {
    min-height: 774px;
  }

  .heroBanner__figure {
    max-width: 533px;
    max-height: 774px;
  }

  .heroBanner__figure img {
    max-height: 774px;
  }

  .heroBanner__title {
    font-size: 64px;
    letter-spacing: -1.28px;
  }

  .heroBanner__tagline,
  .heroBanner__lead {
    font-size: 36px;
    letter-spacing: -0.72px;
  }

  .heroBanner__cta-label {
    font-size: 25.481px;
    letter-spacing: -0.5096px;
  }

  .heroBanner__cta-badge {
    min-height: 91.734px;
  }

  .heroBanner__cta-badge-text {
    font-size: 42.468px;
    letter-spacing: -0.8494px;
  }

  .heroBanner__copy {
    gap: 68px;
  }

  .heroBanner__body {
    gap: 80px;
  }

  .heroBanner__cta-group {
    gap: 30px;
  }

  .heroBanner__foot-text {
    font-size: 20px;
    letter-spacing: -0.4px;
  }

  .formContainer {
    max-width: 457px;
    padding-right: 0;
  }

  .formWidget,
  .formWidget--hero-design,
  .formWidget__design-img {
    width: 100%;
    max-width: 377px;
  }

  .formWidget {
    min-height: 629px;
  }
}

/* Psychology evolving — fluid tablet/laptop 769px → 1200px (≤767 mobile unchanged) */
@media (min-width: 769px) and (max-width: 1200px) {
  .psych-evolving {
    padding: calc(56px + 32 * (100vw - 769px) / 431) 0
      calc(80px + 36 * (100vw - 769px) / 431);
  }

  .psych-evolving::before {
    height: calc(280px + 100 * (100vw - 769px) / 431);
  }

  .psych-evolving__art {
    height: calc(380px + 180 * (100vw - 769px) / 431);
  }

  .psych-evolving__art img {
    object-position: calc(62% + 6 * (100vw - 769px) / 431) top;
  }

  .psych-evolving__inner {
    width: min(
      calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))),
      calc(680px + 240 * (100vw - 769px) / 431)
    );
    gap: calc(28px + 16 * (100vw - 769px) / 431);
  }

  .psych-evolving__top {
    gap: 0;
    width: 100%;
  }

  .psych-evolving__intro {
    width: 100%;
    max-width: min(720px, 100%);
    gap: calc(16px + 8 * (100vw - 769px) / 431);
  }

  .psych-evolving__head {
    gap: calc(8px + 8 * (100vw - 769px) / 431);
  }

  .psych-evolving__eyebrow {
    font-size: calc(20px + 10 * (100vw - 769px) / 431);
    line-height: 1.2;
    color: #151515;
  }

  .psych-evolving__title {
    width: 100%;
    max-width: min(680px, 100%);
    font-size: calc(34px + 22 * (100vw - 769px) / 431);
    line-height: 1.04;
    letter-spacing: -0.03em;
    color: #151515;
  }

  .psych-evolving__title-break {
    display: block;
  }

  .psych-evolving__summary {
    width: 100%;
    max-width: min(620px, 100%);
    margin-bottom: calc(28px + 28 * (100vw - 769px) / 431);
    font-size: calc(15px + 3 * (100vw - 769px) / 431);
    line-height: 1.45;
    color: #151515;
  }

  .psych-evolving__cards {
    width: 100%;
    max-width: min(900px, 100%);
    gap: calc(16px + 8 * (100vw - 769px) / 431);
  }

  .psych-evolving__card {
    padding: calc(20px + 8 * (100vw - 769px) / 431);
    border-radius: calc(14px + 4 * (100vw - 769px) / 431);
  }

  .psych-evolving__card-title {
    font-size: calc(18px + 4 * (100vw - 769px) / 431);
  }

  .psych-evolving__influence-list {
    font-size: calc(17px + 5 * (100vw - 769px) / 431);
    padding-left: calc(22px + 6 * (100vw - 769px) / 431);
  }

  .psych-evolving__bottom {
    gap: calc(28px + 12 * (100vw - 769px) / 431);
  }

  .psych-evolving__specialisations {
    margin-top: calc(8px + 10 * (100vw - 769px) / 431);
    gap: calc(24px + 12 * (100vw - 769px) / 431);
  }

  .psych-evolving__specialisation {
    padding-top: calc(24px + 40 * (100vw - 769px) / 431);
    gap: calc(18px + 10 * (100vw - 769px) / 431);
  }

  .psych-evolving__specialisation-title {
    font-size: calc(22px + 10 * (100vw - 769px) / 431);
    line-height: 1.3;
  }

  .psych-evolving__specialisation-list li {
    font-size: calc(15px + 3 * (100vw - 769px) / 431);
    padding: calc(14px + 4 * (100vw - 769px) / 431) calc(12px + 4 * (100vw - 769px) / 431);
  }

  .psych-evolving__result {
    max-width: min(900px, 100%);
    margin-top: 0;
    font-size: calc(17px + 5 * (100vw - 769px) / 431);
    line-height: 1.35;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .psych-evolving__specialisations {
    grid-template-columns: minmax(0, 1fr) clamp(120px, 22vw, 280px) minmax(0, 1fr);
    grid-template-rows: auto auto;
    grid-template-areas:
      "indomain connector cross"
      "indomain result cross";
    gap: calc(20px + 8 * (100vw - 992px) / 208);
  }

  .psych-evolving__specialisation--left,
  .psych-evolving__specialisation--right {
    grid-row: 1 / -1;
  }

  .psych-evolving__connector--desk {
    display: block;
    min-height: calc(160px + 40 * (100vw - 992px) / 208);
  }

  .psych-evolving__specialisation {
    width: min(100%, 320px);
    max-width: none;
    margin: 0;
    padding-top: calc(40px + 40 * (100vw - 992px) / 208);
  }

  .psych-evolving__specialisation--left {
    justify-self: start;
  }

  .psych-evolving__specialisation--right {
    justify-self: end;
  }
}

@media (min-width: 769px) and (max-width: 991px) {
  .psych-evolving__specialisations {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    grid-template-areas:
      "indomain"
      "result"
      "cross";
    gap: calc(24px + 12 * (100vw - 769px) / 222);
  }

  .psych-evolving__specialisation--left,
  .psych-evolving__specialisation--right {
    grid-row: auto;
  }

  .psych-evolving__connector--desk,
  .psych-evolving__connector--mob {
    display: none;
  }

  .psych-evolving__center {
    display: contents;
  }

  .psych-evolving__cross-layout {
    flex-direction: column;
  }

  .psych-evolving__specialisation {
    width: 100%;
    max-width: none;
    padding-top: 0;
    margin: 0;
  }

  .psych-evolving__result {
    justify-self: center;
    width: min(100%, 520px);
    padding: clamp(12px, 2vw, 20px) 0;
    text-align: center;
    align-items: center;
  }
}

/* Psychology roadmap — fluid 769px → 1600px (≤767 mobile unchanged) */
@media (min-width: 769px) and (max-width: 1600px) {
  .psych-roadmap__inner {
    flex-direction: column;
    align-items: flex-start;
    width: min(
      calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))),
      calc(680px + 520 * (100vw - 769px) / 831)
    );
    gap: calc(28px + 52 * (100vw - 769px) / 831);
    padding: calc(52px + 24 * (100vw - 769px) / 831) 0
      calc(56px + 36 * (100vw - 769px) / 831);
  }

  .psych-roadmap__intro {
    flex: 0 1 auto;
    width: 100%;
    max-width: min(620px, 100%);
    gap: calc(18px + 22 * (100vw - 769px) / 831);
  }

  .psych-roadmap__title {
    font-size: calc(34px + 22 * (100vw - 769px) / 831);
    line-height: 1.15;
  }

  .psych-roadmap__summary {
    font-size: calc(16px + 6 * (100vw - 769px) / 831);
    line-height: 1.5;
  }

  .psych-roadmap__stack {
    width: 100%;
    max-width: 100%;
    gap: calc(16px + 6 * (100vw - 769px) / 831);
  }

  .psych-roadmap__item {
    padding: calc(22px + 6 * (100vw - 769px) / 831)
      calc(24px + 16 * (100vw - 769px) / 831)
      calc(22px + 6 * (100vw - 769px) / 831)
      calc(40px + 60 * (100vw - 769px) / 831);
    border-radius: calc(16px + 4 * (100vw - 769px) / 831);
  }

  .psych-roadmap__year {
    font-size: calc(22px + 8 * (100vw - 769px) / 831);
    line-height: 1.35;
  }

  .psych-roadmap__year-title {
    font-size: calc(22px + 8 * (100vw - 769px) / 831);
    line-height: 1.25;
  }

  .psych-roadmap__item.is-open {
    grid-template-columns: minmax(0, 1fr);
    gap: calc(20px + 8 * (100vw - 769px) / 831);
    padding-top: calc(24px + 6 * (100vw - 769px) / 831);
    padding-bottom: calc(24px + 6 * (100vw - 769px) / 831);
  }

  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: calc(16px + 12 * (100vw - 769px) / 831);
  }

  .psych-roadmap__item.is-open .psych-roadmap__year-block {
    gap: calc(12px + 8 * (100vw - 769px) / 831);
  }

  .psych-roadmap__item.is-open .psych-roadmap__year-title {
    max-height: 12em;
  }

  .psych-roadmap__item.is-open .psych-roadmap__panel {
    grid-column: auto;
  }

  .psych-roadmap__panel-inner {
    gap: calc(12px + 4 * (100vw - 769px) / 831);
  }

  .psych-roadmap__detail-label,
  .psych-roadmap__detail-list,
  .psych-roadmap__detail-text {
    font-size: calc(15px + 3 * (100vw - 769px) / 831);
  }

  .psych-roadmap__detail-list {
    padding-left: calc(20px + 4 * (100vw - 769px) / 831);
  }

  .psych-roadmap__icon {
    width: calc(30px + 6 * (100vw - 769px) / 831);
    height: calc(24px + 4 * (100vw - 769px) / 831);
  }
}

@media (min-width: 992px) and (max-width: 1600px) {
  .psych-roadmap__inner {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: calc(40px + 69 * (100vw - 992px) / 608);
  }

  .psych-roadmap__intro {
    flex: 0 0 auto;
    width: min(520px, calc(280px + 240 * (100vw - 992px) / 608));
    max-width: 38%;
    min-width: min(280px, 32%);
    gap: calc(24px + 16 * (100vw - 992px) / 608);
  }

  .psych-roadmap__title {
    font-size: calc(40px + 24 * (100vw - 992px) / 608);
    line-height: 1.2;
  }

  .psych-roadmap__summary {
    font-size: calc(18px + 6 * (100vw - 992px) / 608);
  }

  .psych-roadmap__stack {
    flex: 1 1 auto;
    width: min(889px, 58%);
    min-width: 0;
    max-width: none;
    gap: calc(16px + 4 * (100vw - 992px) / 608);
  }

  .psych-roadmap__item {
    padding: calc(24px + 4 * (100vw - 992px) / 608)
      calc(28px + 12 * (100vw - 992px) / 608)
      calc(24px + 4 * (100vw - 992px) / 608)
      calc(56px + 44 * (100vw - 992px) / 608);
    border-radius: calc(18px + 2 * (100vw - 992px) / 608);
  }

  .psych-roadmap__year,
  .psych-roadmap__year-title {
    font-size: calc(24px + 8 * (100vw - 992px) / 608);
  }

  .psych-roadmap__item.is-open {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: calc(28px + 12 * (100vw - 992px) / 608);
    padding-top: calc(26px + 4 * (100vw - 992px) / 608);
    padding-bottom: calc(26px + 4 * (100vw - 992px) / 608);
  }

  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: calc(28px + 12 * (100vw - 992px) / 608);
    align-items: start;
  }

  .psych-roadmap__item.is-open .psych-roadmap__year-block {
    gap: calc(20px + 12 * (100vw - 992px) / 608);
  }

  .psych-roadmap__item.is-open .psych-roadmap__panel {
    grid-column: 1;
  }

  .psych-roadmap__detail-label,
  .psych-roadmap__detail-list,
  .psych-roadmap__detail-text {
    font-size: calc(16px + 2 * (100vw - 992px) / 608);
  }

  .psych-roadmap__icon {
    width: calc(32px + 4 * (100vw - 992px) / 608);
    height: calc(26px + 2 * (100vw - 992px) / 608);
  }
}

@media (min-width: 1200px) and (max-width: 1600px) {
  .psych-roadmap__inner {
    width: min(
      calc(100% - (2 * clamp(32px, 4vw, 80px))),
      calc(920px + 360 * (100vw - 1200px) / 400)
    );
    gap: calc(56px + 53 * (100vw - 1200px) / 400);
    padding: calc(64px + 16 * (100vw - 1200px) / 400) 0
      calc(72px + 28 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__intro {
    width: min(520px, calc(380px + 140 * (100vw - 1200px) / 400));
    max-width: 36%;
    gap: calc(32px + 8 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__title {
    font-size: calc(52px + 12 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__summary {
    font-size: calc(20px + 4 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__stack {
    width: min(889px, calc(520px + 369 * (100vw - 1200px) / 400));
  }

  .psych-roadmap__item {
    padding: calc(26px + 2 * (100vw - 1200px) / 400)
      calc(32px + 8 * (100vw - 1200px) / 400)
      calc(26px + 2 * (100vw - 1200px) / 400)
      calc(72px + 28 * (100vw - 1200px) / 400);
    border-radius: 20px;
  }

  .psych-roadmap__year,
  .psych-roadmap__year-title {
    font-size: calc(28px + 4 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__item.is-open {
    gap: calc(32px + 8 * (100vw - 1200px) / 400);
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .psych-roadmap__item.is-open .psych-roadmap__trigger {
    column-gap: calc(32px + 8 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__item.is-open .psych-roadmap__year-block {
    gap: calc(24px + 8 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__detail-label,
  .psych-roadmap__detail-list,
  .psych-roadmap__detail-text {
    font-size: calc(17px + 1 * (100vw - 1200px) / 400);
  }

  .psych-roadmap__icon {
    width: 36px;
    height: 28px;
  }
}

/* Curriculum — two-column layout 992–1400 (overrides ≤1199 stack) */
@media (min-width: 992px) and (max-width: 1400px) {
  .lp-curriculum {
    padding: calc(56px + 20 * (100vw - 992px) / 408) 0;
  }

  .lp-curriculum__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: start;
    width: min(calc(100% - 48px), 1400px);
    max-width: 100%;
    margin: 0 auto;
    gap: calc(36px + 44 * (100vw - 992px) / 408);
  }

  .lp-curriculum__left {
    align-items: flex-start;
    text-align: left;
    max-width: none;
    width: 100%;
    padding-left: calc(24px + 72 * (100vw - 992px) / 408);
  }

  .lp-curriculum__right {
    align-items: flex-start;
    text-align: left;
    max-width: none;
    width: 100%;
  }

  .lp-curriculum__headline-white,
  .lp-curriculum__headline-gradient {
    font-size: calc(36px + 18 * (100vw - 992px) / 408);
    text-align: left;
  }

  .lp-curriculum__body {
    width: min(100%, calc(380px + 100 * (100vw - 992px) / 408));
    font-size: calc(16px + 4 * (100vw - 992px) / 408);
    text-align: left;
  }

  .lp-curriculum__eyebrow {
    font-size: calc(17px + 5 * (100vw - 992px) / 408);
    text-align: left;
  }

  .lp-curriculum__co-create {
    font-size: calc(28px + 10 * (100vw - 992px) / 408);
    text-align: left;
  }
}

/* Capability cards — 2-column grid 900–1400 */
@media (min-width: 900px) and (max-width: 1400px) {
  .psych-capability__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(16px + 6 * (100vw - 900px) / 500);
  }
}

/* Campus environment — desktop Figma 2505:870 (≥768px, fluid 768–1920px) */
@media (min-width: 768px) {
  .psych-campus {
    --psych-campus-art-h: clamp(260px, calc(260px + (100vw - 768px) * 260 / 1152), 520px);
    background: #fff;
  }

  .psych-campus__art {
    inset: auto 0 0;
    top: auto;
    height: var(--psych-campus-art-h);
  }

  .psych-campus__art::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: clamp(56px, 10vw, 120px);
    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
  }

  .psych-campus__art img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    max-width: none;
    object-fit: cover;
    object-position: center bottom;
  }

  .psych-campus__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(48px, calc(48px + (100vw - 768px) * 52 / 1152), 100px);
    width: min(1720px, calc(100% - (2 * clamp(32px, calc(32px + (100vw - 768px) * 48 / 1152), 100px))));
    max-width: 100%;
    margin-inline: auto;
    padding:
      clamp(80px, calc(80px + (100vw - 768px) * 70 / 1152), 150px)
      clamp(32px, calc(32px + (100vw - 768px) * 68 / 1152), 100px)
      calc(var(--psych-campus-art-h) + clamp(40px, calc(40px + (100vw - 768px) * 40 / 1152), 80px))
      clamp(48px, calc(48px + (100vw - 768px) * 102 / 1152), 150px);
    box-sizing: border-box;
  }

  .psych-campus__copy,
  .psych-campus__features {
    position: relative;
    z-index: 2;
  }

  .psych-campus__features {
    margin-bottom: 0;
  }

  .psych-campus__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(16px, calc(16px + (100vw - 768px) * 4 / 1152), 20px);
    width: 100%;
    max-width: none;
    padding: 0;
    box-sizing: border-box;
  }

  .psych-campus__title {
    font-size: clamp(40px, calc(40px + (100vw - 768px) * 24 / 1152), 64px);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: 0;
    color: #000;
  }

  .psych-campus__title-prefix {
    display: inline;
  }

  .psych-campus__title-rest {
    display: inline;
    text-transform: none;
  }

  .psych-campus__title-line {
    display: block;
    white-space: normal;
  }

  .psych-campus__subtitle {
    font-size: clamp(18px, calc(18px + (100vw - 768px) * 6 / 1152), 24px);
    font-weight: 500;
    line-height: clamp(28px, calc(28px + (100vw - 768px) * 7 / 1152), 35px);
    text-transform: none;
    text-align: left;
    color: #000;
  }

  .psych-campus__subtitle-cap {
    text-transform: uppercase;
  }

  .psych-campus__features {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: clamp(10px, calc(10px + (100vw - 768px) * 14 / 1152), 24px);
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  .psych-campus__feature {
    flex: 0 1 clamp(140px, calc(140px + (100vw - 768px) * 110 / 1152), 250.2px);
    max-width: clamp(140px, calc(140px + (100vw - 768px) * 110 / 1152), 250.2px);
    min-width: 0;
    gap: clamp(14px, calc(14px + (100vw - 768px) * 6 / 1152), 20px);
    align-items: flex-start;
  }

  .psych-campus__feature--solo {
    grid-column: auto;
    max-width: clamp(140px, calc(140px + (100vw - 768px) * 110 / 1152), 250.2px);
  }

  .psych-campus__icon-badge {
    width: clamp(56px, calc(56px + (100vw - 768px) * 19 / 1152), 75px);
    height: clamp(56px, calc(56px + (100vw - 768px) * 19 / 1152), 75px);
    padding: clamp(4px, calc(4px + (100vw - 768px) * 2 / 1152), 6px);
    border-radius: clamp(9px, calc(9px + (100vw - 768px) * 3 / 1152), 12px);
    background: #0938df;
    box-shadow:
      0 15px 80px rgba(0, 0, 0, 0.07),
      0 6.267px 33.422px rgba(0, 0, 0, 0.05),
      0 3.35px 17.869px rgba(0, 0, 0, 0.04),
      0 1.878px 10.017px rgba(0, 0, 0, 0.04),
      0 0.998px 5.32px rgba(0, 0, 0, 0.03),
      0 0.415px 2.214px rgba(0, 0, 0, 0.02);
  }

  .psych-campus__icon--raw {
    width: clamp(36px, calc(36px + (100vw - 768px) * 12 / 1152), 48px);
    height: clamp(36px, calc(36px + (100vw - 768px) * 12 / 1152), 48px);
  }

  .psych-campus__icon--glyph {
    width: clamp(36px, calc(36px + (100vw - 768px) * 12 / 1152), 48px);
    height: clamp(36px, calc(36px + (100vw - 768px) * 12 / 1152), 48px);
  }

  .psych-campus__feature-title {
    font-size: clamp(16px, calc(16px + (100vw - 768px) * 8 / 1152), 24px);
    font-weight: 500;
    line-height: 1.2;
    color: #000;
    text-align: left;
  }

  .psych-campus__feature-line {
    display: block;
  }

  .psych-campus__title-line--mob,
  .psych-campus__feature-line--mob {
    display: none !important;
  }

  .psych-campus__title-line--desk,
  .psych-campus__feature-line--desk {
    display: block;
  }
}

@media (min-width: 1921px) {
  .psych-campus {
    --psych-campus-art-h: 520px;
  }

  .psych-campus__inner {
    width: 1720px;
    padding:
      150px
      100px
      calc(520px + 80px)
      150px;
    gap: 100px;
  }

  .psych-campus__copy {
    gap: 20px;
  }

  .psych-campus__title {
    font-size: 64px;
  }

  .psych-campus__subtitle {
    font-size: 24px;
    line-height: 35px;
  }

  .psych-campus__features {
    gap: 24px;
  }

  .psych-campus__feature,
  .psych-campus__feature--solo {
    flex: 0 1 250.2px;
    max-width: 250.2px;
    gap: 20px;
  }

  .psych-campus__icon-badge {
    width: 75px;
    height: 75px;
    padding: 6px;
    border-radius: 12px;
  }

  .psych-campus__icon--raw,
  .psych-campus__icon--glyph {
    width: 48px;
    height: 48px;
  }

  .psych-campus__feature-title {
    font-size: 24px;
  }
}

/* Campus — tablet/laptop: 3-column features (768px–1199px) */
@media (min-width: 768px) and (max-width: 1199px) {
  .psych-campus__features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 28px) clamp(16px, 2vw, 24px);
    justify-content: start;
  }

  .psych-campus__feature,
  .psych-campus__feature--solo {
    flex: none;
    width: 100%;
    max-width: none;
  }

  .psych-campus__feature--solo {
    grid-column: auto;
  }
}

/* Campus — large desktop: single-row features (Figma 2505:870) */
@media (min-width: 1200px) {
  .psych-campus__title-line {
    white-space: nowrap;
  }

  .psych-campus__features {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: clamp(12px, 1.25vw, 24px);
  }

  .psych-campus__feature,
  .psych-campus__feature--solo {
    flex: 0 1 clamp(160px, calc(160px + (100vw - 1200px) * 90 / 720), 250.2px);
    max-width: clamp(160px, calc(160px + (100vw - 1200px) * 90 / 720), 250.2px);
  }
}

/* Campus environment — mobile Figma 2505:3567 (≤767px only) */
@media (max-width: 767px) {
  .psych-campus {
    --psych-campus-mob-art-h: clamp(210px, 46vw, 280px);
    background: #fff;
  }

  .psych-campus__art {
    inset: auto 0 0;
    top: auto;
    height: var(--psych-campus-mob-art-h);
  }

  .psych-campus__art::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 auto;
    height: 56px;
    background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 1;
  }

  .psych-campus__art img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    max-width: none;
    object-fit: cover;
    object-position: center bottom;
  }

  .psych-campus__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px;
    width: min(392px, calc(100% - (2 * max(24px, env(safe-area-inset-left, 0px)))));
    max-width: 100%;
    margin-inline: auto;
    padding: 40px 0 calc(var(--psych-campus-mob-art-h) + 32px);
    box-sizing: border-box;
  }

  .psych-campus__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
    padding: 0;
    position: relative;
    z-index: 2;
  }

  .psych-campus__title {
    margin: 0;
    width: 100%;
    font-size: clamp(32px, 8.6vw, 36px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: #000;
    text-transform: capitalize;
  }

  .psych-campus__title-prefix {
    display: inline;
    line-height: inherit;
  }

  .psych-campus__title-rest {
    display: inline;
    text-transform: lowercase;
  }

  .psych-campus__title-line {
    display: block;
    line-height: inherit;
  }

  .psych-campus__title-line--desk,
  .psych-campus__feature-line--desk {
    display: none !important;
  }

  .psych-campus__title-line--mob,
  .psych-campus__feature-line--mob {
    display: block;
  }

  .psych-campus__subtitle {
    margin: 0;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    line-height: 16px;
    text-align: left;
    text-transform: lowercase;
    color: #000;
  }

  .psych-campus__subtitle-cap {
    text-transform: uppercase;
  }

  .psych-campus__features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 25px;
    row-gap: 16px;
    width: 100%;
    margin: 0;
    padding: 0;
    justify-items: start;
    align-items: start;
    position: relative;
    z-index: 2;
  }

  .psych-campus__feature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    max-width: none;
  }

  .psych-campus__feature--solo {
    grid-column: 1;
    gap: 16px;
  }

  .psych-campus__feature-title {
    margin: 0;
    width: 100%;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    text-align: left;
    color: #000;
  }

  .psych-campus__feature-line {
    display: block;
  }

  .psych-campus__icon-badge {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 0;
    border-radius: 4px;
    background: #0938df;
    box-shadow:
      0 15px 80px rgba(0, 0, 0, 0.07),
      0 6.267px 33.422px rgba(0, 0, 0, 0.05),
      0 3.35px 17.869px rgba(0, 0, 0, 0.04),
      0 1.878px 10.017px rgba(0, 0, 0, 0.04),
      0 0.998px 5.32px rgba(0, 0, 0, 0.03),
      0 0.415px 2.214px rgba(0, 0, 0, 0.02);
    overflow: hidden;
  }

  .psych-campus__icon--raw {
    width: 34px;
    height: 30px;
  }

  .psych-campus__icon--glyph {
    width: 30px;
    height: 30px;
  }

  @media (max-width: 399px) {
    .psych-campus__title {
      font-size: clamp(25.6px, 6.88vw, 28.8px);
    }
  }
}

/* ——— Banner — tablet 768px–991px (same stack as mobile Figma 2602:2579, scaled) ——— */
@media (min-width: 768px) and (max-width: 991px) {
  .heroNewSection {
    padding: clamp(28px, 4vw, 40px) 0 0;
    background: #fff;
    overflow: hidden;
  }

  .heroBanner__bg,
  .heroBanner__bg-tint {
    display: none;
  }

  .heroNewSection .container {
    width: min(720px, 100%);
    max-width: 100%;
    margin-inline: auto;
    padding-inline: max(24px, env(safe-area-inset-left, 0px));
    box-sizing: border-box;
  }

  .heroBanner__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(24px, 3.5vw, 32px);
    min-height: 0;
    padding-bottom: clamp(28px, 4vw, 40px);
  }

  .heroBanner__content {
    order: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(24px, 3vw, 32px);
    width: 100%;
    max-width: none;
    padding-right: 0;
    box-sizing: border-box;
  }

  .heroBanner__brand-card {
    width: 196px;
    min-height: 60px;
    padding: 10px;
    border-radius: 4px;
  }

  .heroBanner__brand-logo {
    width: 176px;
    height: auto;
    aspect-ratio: 552 / 166;
    object-fit: contain;
  }

  .heroBanner__copy {
    gap: clamp(16px, 2.5vw, 24px);
    width: 100%;
    max-width: 640px;
  }

  .heroBanner__headline {
    gap: 10px;
  }

  .heroBanner__title {
    max-width: min(480px, 100%);
    font-size: clamp(34px, 4.8vw, 44px);
    font-style: italic;
    font-weight: 500;
    line-height: 0.96;
    letter-spacing: -0.02em;
    color: #010767;
  }

  .heroBanner__tagline {
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: -0.02em;
    color: #000;
  }

  .heroBanner__body {
    gap: clamp(20px, 3vw, 28px);
    width: 100%;
  }

  .heroBanner__cta-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(16px, 2.5vw, 24px);
    width: 100%;
  }

  .heroBanner__lead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    font-size: clamp(17px, 2.2vw, 20px);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #000;
  }

  .heroBanner__lead-line {
    display: block;
    white-space: pre-wrap;
  }

  .heroBanner__lead-accent {
    color: #010767;
  }

  .heroBanner__cta {
    gap: 10px;
  }

  .heroBanner__cta-label {
    font-size: clamp(17px, 2.2vw, 20px);
    font-weight: 500;
    line-height: 1.1;
    color: #b0002d;
  }

  .heroBanner__cta-badge {
    width: min(280px, 100%);
    min-height: 48px;
    height: auto;
    padding: 12px 16px;
  }

  .heroBanner__cta-badge-text {
    font-size: clamp(17px, 2.2vw, 20px);
    font-weight: 500;
    line-height: 1.1;
    color: #fff;
    white-space: nowrap;
  }

  .heroBanner__program {
    font-size: clamp(18px, 2.4vw, 24px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #000;
  }

  .heroBanner__program-line {
    display: block;
    white-space: nowrap;
  }

  .heroBanner__program-line + .heroBanner__program-line::before {
    content: none;
  }

  .heroBanner__foot {
    gap: 10px;
    align-items: center;
  }

  .heroBanner__foot-text {
    max-width: none;
    font-size: clamp(15px, 1.8vw, 17px);
    font-style: italic;
    font-weight: 500;
    line-height: 1.2;
    color: #000;
  }

  .heroBanner__figure {
    order: 2;
    display: block;
    position: relative;
    width: min(420px, 72vw);
    max-width: 420px;
    height: auto;
    margin-inline: auto;
    pointer-events: none;
  }

  .heroBanner__figure picture,
  .heroBanner__figure img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 533 / 774;
    object-fit: contain;
    object-position: center bottom;
  }

  .formWidget__design-img {
    display: none;
  }

  .heroNewSection .formWidget--hero-design .formWidget__header,
  .heroNewSection .formWidget--hero-design .heroFormFallback {
    display: flex;
  }

  .heroNewSection .formWidget--hero-design .formWidget__body {
    position: static;
  }

  .heroNewSection .formContainer {
    order: 3;
    align-self: stretch;
    width: 100%;
    max-width: min(520px, 100%);
    margin-inline: auto;
    padding-right: 0;
    box-sizing: border-box;
  }

  .heroNewSection .formWidget {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    border-radius: 20px;
    border: 1px solid rgba(24, 34, 75, 0.12);
    box-shadow: 0 26px 72px rgba(13, 24, 51, 0.12);
    background: #fff;
    overflow: hidden;
    box-sizing: border-box;
  }

  .heroNewSection .formWidget__body {
    min-height: 0;
  }
}

@media print {
  .lp-mob-sticky-apply {
    display: none !important;
  }
}
