:root {
  --ink: #102f50;
  --blue: #087fba;
  --sky: #dff2fb;
  --pale: #f3f8fb;
  --muted: #526779;
  --line: #d5e4ed;
  --warm: #f29a3f;
  --warm-pale: #fff3e6;
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; background: var(--white); color: var(--ink); font: 16px/1.65 Arial, Helvetica, sans-serif; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--blue); }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; }
h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { line-height: 1.08; font-weight: 500; letter-spacing: -.04em; }
h1 { font-size: clamp(2.85rem, 4vw, 4.35rem); }
h2 { font-size: clamp(2.35rem, 3.8vw, 3.7rem); }
h3 { font-size: clamp(1.75rem, 2.2vw, 2.35rem); }
h4 { font-size: 1.3rem; letter-spacing: -.025em; }
p { color: var(--muted); }
em { color: var(--blue); font-style: normal; }
.wrap { width: min(1320px, calc(100% - 100px)); margin-inline: auto; }
.skip { position: absolute; top: -70px; left: 10px; z-index: 20; padding: 10px 14px; background: white; }
.skip:focus { top: 10px; }
.eyebrow { margin-bottom: 18px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }

.nav { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { width: 218px; flex: 0 0 auto; }
nav { display: flex; align-items: center; gap: 30px; font-size: 14px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 22px; padding: 13px 21px; border: 1px solid var(--ink); border-radius: 5px; background: var(--ink); color: white; font-size: 15px; line-height: 1.35; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.button:hover { background: var(--blue); border-color: var(--blue); color: white; transform: translateY(-1px); }
.nav-cta { min-height: 44px; padding: 10px 17px; }
.button-contact { gap: 11px; background: white; color: var(--ink); border-color: var(--line); }
.button-contact:hover { background: var(--pale); border-color: var(--blue); color: var(--ink); }
.button-contact img { width: 38px; height: 23px; object-fit: contain; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.text-link { display: inline-block; padding-bottom: 3px; border-bottom: 1px solid #acc4d3; font-size: 14px; }
.text-link span { margin-left: 8px; }

.hero { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 56px; padding-block: 0 22px; }
.hero-copy { padding-top: 20px; }
.hero-subline { display: block; margin-top: 18px; color: var(--ink); font-size: clamp(1.05rem, 1.8vw, 1.65rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.25; white-space: nowrap; }
.launch { margin-top: 22px; padding-left: 16px; border-left: 3px solid var(--blue); }
.launch strong { display: block; font-size: 18px; font-weight: 600; }
.launch span { display: block; color: var(--muted); font-size: 14px; }
.hero .actions { margin-top: 22px; }
.hero-link { margin-top: 14px; }
.hero-photo { height: 410px; margin-top: -8px; overflow: hidden; border-radius: 8px; background: white; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 34%; }

.facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-block: 12px 40px; }
.facts > div + div { padding-left: 25px; border-left: 1px solid var(--line); }
.facts strong { display: block; font-size: 23px; font-weight: 500; letter-spacing: -.035em; }
.facts span { color: var(--muted); font-size: 14px; }

.pathway-section { background: linear-gradient(180deg, #edf7fc 0%, #f8fbfd 100%); }
.section { padding-block: 78px; }
.section-heading { margin-bottom: 42px; }
.entry-pathways { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.path-card { border: 1px solid var(--line); border-radius: 10px; background: rgba(255, 255, 255, .96); box-shadow: 0 9px 28px rgba(16, 47, 80, .055); }
.path-junior { border-top: 4px solid #2a9fd2; }
.path-engineering { border-top: 4px solid #157ba9; }
.path-card-head { min-height: 245px; display: grid; grid-template-columns: 1fr 205px; align-items: center; gap: 8px; padding: 28px 20px 18px 28px; }
.path-card-head img { width: 205px; max-height: 190px; object-fit: contain; }
.age-badge { display: inline-block; margin-bottom: 13px; padding: 5px 10px; border-radius: 30px; background: var(--sky); color: var(--ink); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.age-badge.warm { background: var(--warm-pale); }
.path-kicker { margin-bottom: 7px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.path-focus { margin-top: 10px; color: var(--blue); font-size: 14px; font-weight: 600; }
.stage-line { min-height: 110px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-inline: 28px; padding-block: 18px; border-top: 1px solid var(--line); }
.stage-line.three { grid-template-columns: 1fr auto 1fr auto 1.2fr; gap: 9px; }
.stage-line span { color: var(--muted); font-size: 12px; line-height: 1.45; }
.stage-line b { display: block; margin-bottom: 4px; color: var(--ink); font-size: 15px; font-weight: 600; }
.stage-line i { color: var(--blue); font-style: normal; }
.module-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 20px 28px 26px; border-top: 1px solid var(--line); list-style: none; }
.module-list li { padding: 6px 9px; border-radius: 4px; background: var(--pale); color: var(--muted); font-size: 12px; line-height: 1.35; }
.path-bridge { display: flex; flex-direction: column; align-items: center; gap: 5px; padding-block: 22px; text-align: center; }
.path-bridge span { color: var(--blue); font-size: 27px; line-height: 1; }
.path-bridge strong { font-size: 14px; font-weight: 600; }
.path-squad { display: grid; grid-template-columns: 1fr 260px; align-items: center; overflow: hidden; border: 0; border-left: 5px solid var(--warm); background: var(--ink); color: white; }
.path-feature-copy { padding: 38px 42px; }
.path-feature-copy h3 { font-size: clamp(2rem, 3vw, 3rem); }
.path-feature-copy > p:not(.path-kicker):not(.path-focus) { max-width: 760px; margin-top: 17px; color: #d5e4ed; }
.path-squad .path-kicker, .path-squad .path-focus { color: #8dd8f7; }
.path-squad .squad-modules { padding: 23px 0 0; border: 0; }
.path-squad .module-list li { background: rgba(255, 255, 255, .1); color: #e7f2f7; }
.path-feature-image { width: 100%; height: 100%; min-height: 300px; padding: 24px; object-fit: contain; background: white; }
.advanced-bridge { padding-block: 21px; }
.path-advanced { overflow: hidden; border-top: 4px solid var(--blue); }
.advanced-intro { display: grid; grid-template-columns: 1fr 205px; align-items: center; gap: 24px; padding: 30px 34px 22px; }
.advanced-intro img { width: 205px; max-height: 190px; object-fit: contain; }
.advanced-tracks { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.advanced-tracks > div { padding: 28px 34px 32px; }
.advanced-tracks > div + div { border-left: 1px solid var(--line); }
.advanced-tracks p { margin-top: 11px; font-size: 14px; }
.advanced-tracks strong { color: var(--ink); font-weight: 600; }
.approach { display: grid; grid-template-columns: .8fr 1fr; align-items: center; gap: 80px; }
.approach figure img { width: 100%; height: 500px; border-radius: 8px; object-fit: cover; object-position: center 62%; }
.approach .lead { margin: 24px 0 15px; color: var(--ink); font-size: 19px; }
.teacher { margin-top: 28px; padding-top: 25px; border-top: 1px solid var(--line); }
.teacher h3 { font-size: 21px; }
.teacher-role { margin-top: 13px; font-size: 15px; }
.teacher ul { margin: 11px 0 0; padding-left: 19px; color: var(--muted); font-size: 14px; }
.teacher li + li { margin-top: 4px; }
.teacher-future { margin-top: 17px; font-size: 14px; }

.interest-section { background: var(--ink); }
.interest { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 80px; padding-block: 68px; color: white; }
.interest .eyebrow { color: #89d7f7; }
.interest p { color: #d4e3ec; }
.interest .actions { margin-top: 25px; }
.button-light { background: white; border-color: white; color: var(--ink); }
.button-light:hover { background: #dff3fc; border-color: #dff3fc; color: var(--ink); }
.button-contact-dark { background: transparent; border-color: #7390a6; color: white; }
.button-contact-dark:hover { background: rgba(255, 255, 255, .08); border-color: white; color: white; }
.button-contact-dark img { padding: 3px; border-radius: 2px; background: white; }
.small { margin-top: 13px; font-size: 12px; }

footer { padding-block: 31px 23px; border-top: 1px solid var(--line); }
.footer-top, .footer-bottom { display: flex; justify-content: space-between; align-items: start; gap: 24px; }
.footer-top strong { font-size: 21px; font-weight: 500; }
.footer-top p { margin-top: 4px; font-size: 13px; }
.footer-top > a { font-size: 14px; }
.footer-bottom { margin-top: 25px; color: var(--muted); font-size: 12px; }
details { max-width: 590px; text-align: right; }
summary { cursor: pointer; display: list-item; list-style-position: inside; }
details p { margin-top: 15px; text-align: left; font-size: 13px; }

@media (max-width: 1080px) {
  .wrap { width: min(100% - 64px, 1320px); }
  .hero { gap: 38px; }
  .path-card-head { grid-template-columns: 1fr 160px; }
  .path-card-head img { width: 160px; }
  .stage-line.three { grid-template-columns: 1fr 1fr 1fr; }
  .stage-line.three i { display: none; }
  .approach { gap: 48px; }
  .interest { gap: 48px; }
}

@media (max-width: 760px) {
  .wrap { width: calc(100% - 40px); }
  .nav { min-height: 0; flex-wrap: wrap; justify-content: center; gap: 0; padding-block: 14px 17px; }
  .brand { width: 188px; }
  nav { width: 100%; justify-content: space-between; gap: 9px; font-size: 13px; }
  .nav-cta { min-height: 40px; padding: 9px 11px; font-size: 13px; }
  .hero { grid-template-columns: 1fr; gap: 20px; padding-block: 5px 24px; }
  .hero-copy { padding-top: 6px; }
  h1 { font-size: clamp(2.55rem, 10.5vw, 3.45rem); }
  .hero-subline { margin-top: 14px; font-size: 1.05rem; }
  .hero-photo { height: clamp(280px, 72vw, 380px); margin-top: 0; }
  .hero-photo img { object-position: center 34%; }
  .facts { grid-template-columns: 1fr 1fr; gap: 22px; padding-block: 8px 36px; }
  .facts > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .facts strong { font-size: 21px; }
  .facts span { font-size: 12px; }
  .section { padding-block: 54px; }
  .section-heading { margin-bottom: 31px; }
  .entry-pathways { grid-template-columns: 1fr; }
  .path-card-head { min-height: 0; grid-template-columns: 1fr 135px; padding: 23px 17px 16px 22px; }
  .path-card-head img { width: 135px; }
  .stage-line { margin-inline: 22px; }
  .module-list { padding: 18px 22px 22px; }
  .path-squad { grid-template-columns: 1fr 165px; }
  .path-feature-copy { padding: 30px 26px; }
  .path-feature-image { min-height: 330px; }
  .advanced-intro { grid-template-columns: 1fr 140px; padding: 25px 24px 18px; }
  .advanced-intro img { width: 140px; }
  .advanced-tracks > div { padding: 24px; }
  .approach { grid-template-columns: 1fr; gap: 32px; }
  .approach figure img { height: 350px; }
  .interest { grid-template-columns: 1fr; gap: 26px; padding-block: 48px; }
  .footer-top { display: block; }
  .footer-top > a { display: inline-block; margin-top: 14px; }
  details { max-width: 65%; }
}

@media (max-width: 520px) {
  nav > a:not(.nav-cta) { display: none; }
  nav { justify-content: center; }
  .hero .actions, .interest .actions { align-items: stretch; flex-direction: column; }
  .hero .button, .interest .button { width: 100%; }
  .path-card-head { grid-template-columns: 1fr; }
  .path-card-head img { width: 100%; height: 170px; justify-self: center; }
  .stage-line, .stage-line.three { grid-template-columns: 1fr; gap: 13px; }
  .stage-line i { display: none; }
  .stage-line span + span { padding-top: 11px; border-top: 1px dashed var(--line); }
  .path-squad { display: flex; flex-direction: column; }
  .path-feature-image { width: 100%; min-height: 0; height: 220px; object-fit: contain; background: white; }
  .advanced-intro { grid-template-columns: 1fr; }
  .advanced-intro img { width: 100%; height: 150px; }
  .advanced-tracks { grid-template-columns: 1fr; }
  .advanced-tracks > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .footer-bottom { display: block; }
  details { max-width: none; margin-top: 14px; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button { transition: none; }
}

/* Draft hero: retain the complete classroom illustration. */
.hero-photo { height: auto; aspect-ratio: 4 / 3; margin-top: 12px; }
.hero-photo img { object-fit: contain; object-position: center; }
@media (max-width: 760px) { .hero-photo { height: auto; margin-top: 0; } }

/* Draft: dedicated teaching team section. */
.teaching-team { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; padding: 48px; margin-block: 40px 64px; background: #edf3f8; border-radius: 16px; border-top: 4px solid var(--ink); }
.teaching-team h2 { font-size: clamp(30px, 3.5vw, 46px); line-height: 1.12; }
.teaching-team .teacher-role { font-size: 18px; margin-top: 20px; }
.coach-credentials { margin: 0; padding-left: 22px; font-size: 18px; line-height: 1.55; color: var(--ink); }
.coach-credentials li + li { margin-top: 16px; }
.teaching-team .teacher-future { margin-top: 24px; font-size: 16px; line-height: 1.65; }
@media (max-width: 760px) { .teaching-team { grid-template-columns: 1fr; gap: 24px; padding: 28px 22px; } }

/* Outcomes-led course guide for parents. */
.course-choice { margin: 24px 0 32px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.course-choice h3 { font-size: 24px; line-height: 1.3; max-width: 820px; }
.choice-options { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin: 24px 0 18px; }
.choice-options h4, .course-output h4 { font-size: 19px; line-height: 1.35; margin-bottom: 10px; }
.choice-options p, .course-output p, .advanced-tracks p { font-size: 16px; line-height: 1.65; }
.choice-note { font-size: 14px !important; line-height: 1.6; color: var(--muted); }
.course-output { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.course-output p + p { margin-top: 14px; }
.course-plan { background: #eaf2f7; padding: 12px 14px; border-radius: 6px; margin-bottom: 22px; color: var(--ink); font-size: 14px !important; }
.course-detail { max-width: none; text-align: left; margin-top: 22px; border-top: 1px solid var(--line); padding-top: 16px; }
.course-detail summary { font-size: 16px; font-weight: 600; color: var(--ink); cursor: pointer; }
.project-stages { display: grid; gap: 20px; padding-top: 20px; }
.project-stages h5 { font-size: 16px; margin: 0 0 8px; }
.project-stages p { margin: 0; }
.path-squad { align-items: start; }
.path-squad .path-feature-image { margin-top: 24px; }
@media(max-width: 760px) { .choice-options { grid-template-columns: 1fr; gap: 20px; } .course-choice { padding: 22px; } .course-choice h3 { font-size: 21px; } }

/* A consistent overview-first layout and a single disclosure per pathway. */
.entry-pathways { align-items: start; }
.pathway-teaser { font-size: 16px; line-height: 1.65; margin: 20px 0 0; color: var(--muted); max-width: 66ch; }
.pathway-more { max-width: none; width: 100%; margin-top: 22px; text-align: left; }
.pathway-more > summary { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 12px 0; border-top: 1px solid var(--line); font-size: 16px; font-weight: 600; color: var(--ink); cursor: pointer; list-style: none; }
.pathway-more > summary::-webkit-details-marker { display: none; }
.pathway-more > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
.disclosure-icon { margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 5px; }
.pathway-more[open] .disclosure-icon { transform: rotate(225deg); }
.pathway-more .less-label { display: none; }
.pathway-more[open] .more-label { display: none; }
.pathway-more[open] .less-label { display: inline; }
.pathway-more-body { padding-top: 16px; }
.pathway-more-body .course-output { padding-top: 0; margin-top: 20px; border-top: 0; }
.course-progress { margin-top: 24px; }
.course-progress h4 { margin-bottom: 16px; }
.course-progress .project-stages { padding-top: 0; }
.pathway-more-body .stage-line { margin-top: 0; }
.compact-choice h3 { font-size: 22px; }
.compact-choice > div > p:last-child { font-size: 16px; line-height: 1.6; margin-top: 10px; color: var(--muted); }
.compact-choice .choice-options { margin-top: 4px; }
.path-advanced .pathway-more-body .advanced-tracks { margin-top: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Consistent course palette and visible weekly schedule. */
.path-squad { background: rgba(255,255,255,.96); color: var(--ink); border: 1px solid var(--line); border-top: 4px solid var(--blue); border-left: 1px solid var(--line); }
.path-squad .path-kicker, .path-squad .path-focus { color: var(--blue); }
.path-feature-copy > p:not(.path-kicker):not(.path-focus) { color: var(--muted); }
.course-schedule { font-size: 15px; font-weight: 600; line-height: 1.6; color: var(--ink); margin-top: 16px; }
.path-junior > .course-schedule, .path-engineering > .course-schedule { margin: 8px 28px 0; }
.path-junior > .pathway-teaser, .path-engineering > .pathway-teaser, .path-advanced > .pathway-teaser { margin-left: 28px; margin-right: 28px; }
.path-card > .pathway-more { padding-inline: 28px; padding-bottom: 20px; box-sizing: border-box; }
.path-squad .course-schedule { color: var(--ink) !important; }
.vex-context { margin: 0 0 24px; padding: 20px; background: var(--sky); border-radius: 8px; }
.vex-context h4 { font-size: 19px; margin-bottom: 10px; }
.vex-context p { font-size: 16px; line-height: 1.65; }
.vex-context .choice-note { margin-top: 12px; }

/* Independent skills overview, preceding the course pathway. */
.key-skills-section { padding: 40px 0 44px; background: linear-gradient(110deg,#f5fbff,#fff); border-top: 1px solid var(--line); }
.key-skills-section h2 { font-size: 19px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 30px; }
.key-skills-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; }
.key-skills-grid li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 15px; padding: 0 16px; font-size: 16px; line-height: 1.35; color: var(--ink); }
.key-skills-grid li + li { border-left: 1px solid #cfe6f3; }
.skill-icon { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; background: #e5f4fe; color: var(--ink); }
.skill-icon svg { width: 37px; height: 37px; }
@media(max-width: 900px) { .key-skills-grid { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 30px; } .key-skills-grid li:nth-child(4) { border-left: 0; } }
@media(max-width: 520px) { .key-skills-section { padding-block: 30px; } .key-skills-section h2 { font-size: 16px; letter-spacing: .08em; } .key-skills-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 0; } .key-skills-grid li { padding-inline: 12px; } .key-skills-grid li:nth-child(odd) { border-left: 0; } .key-skills-grid li:nth-child(even) { border-left: 1px solid #cfe6f3; } }

/* Shared foundations, followed by two equally weighted growth directions. */
.pathway-intro { max-width: 620px; margin-top: 20px; font-size: 18px; line-height: 1.6; color: var(--muted); }
.foundation-heading { margin: 28px 0 20px; }
.foundation-heading h3, .growth-intro h3 { font-size: 26px; line-height: 1.3; }
.foundation-heading p, .growth-intro p { margin-top: 10px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.growth-intro { padding-block: 44px 24px; }
.growth-pathways { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; align-items: start; }
.route-heading { padding: 24px 0; border-top: 3px solid var(--blue); min-height: 180px; }
.route-heading h3 { font-size: 24px; line-height: 1.3; }
.route-heading > p:last-child { font-size: 16px; color: var(--muted); line-height: 1.6; margin-top: 12px; }
.growth-card { padding: 26px; }
.growth-card-head { display: grid; grid-template-columns: minmax(0,1fr) 110px; gap: 16px; align-items: center; }
.growth-card-head h4 { font-size: 25px; line-height: 1.25; margin: 8px 0 0; }
.growth-card-head img { width: 110px; height: 130px; object-fit: contain; }
.growth-card > .pathway-teaser { margin-inline: 0; }
.growth-card > .pathway-more { padding: 0; margin-top: 20px; }
.growth-card .course-output { margin-top: 0; }
.growth-card .course-output p { font-size: 16px; line-height: 1.65; }
.growth-card .course-output h4:not(:first-child) { margin-top: 22px; }
.route-next { display: flex; align-items: center; gap: 12px; padding: 18px 10px; color: var(--muted); font-size: 14px; }
.route-next > span:first-child { font-size: 24px; color: var(--blue); }
.advanced-competition-card .growth-card-head { grid-template-columns: 1fr; }
@media(max-width: 900px) { .growth-card { padding: 22px; } .growth-card-head { grid-template-columns: minmax(0,1fr) 85px; gap: 10px; } .growth-card-head img { width: 85px; height: 105px; } .growth-card-head h4 { font-size: 22px; } }
@media(max-width: 760px) { .growth-pathways { grid-template-columns: 1fr; gap: 36px; } .route-heading { min-height: 0; } .growth-intro { padding-top: 34px; } .growth-card-head { grid-template-columns: minmax(0,1fr) 100px; } .growth-card-head img { width: 100px; height: 120px; } }

/* Creative project progression inside the existing single disclosure. */
.project-cycle { padding: 14px 16px; background: var(--sky); border-radius: 8px; font-weight: 600; color: var(--ink); line-height: 1.8 !important; }
.growth-card .project-stages { gap: 18px; padding-top: 2px; }
.growth-card .project-stages > div { padding-left: 16px; border-left: 2px solid #cfe6f3; }

/* Balanced closed-state overview cards, with key messages visible. */
.primary-growth-card { display: flex; flex-direction: column; min-height: 490px; }
.primary-growth-card .growth-card-head { min-height: 158px; }
.primary-growth-card > .pathway-more { margin-top: auto; padding-top: 18px; }
.project-highlights { list-style: none; padding: 0; margin: 16px 0 0; }
.project-highlights li { padding: 10px 0 10px 16px; border-left: 2px solid #cfe6f3; color: var(--muted); font-size: 16px; line-height: 1.55; }
.project-highlights li + li { margin-top: 8px; }
.project-highlights strong { color: var(--ink); }
@media(max-width: 760px) { .primary-growth-card { min-height: 0; } .primary-growth-card .growth-card-head { min-height: 0; } .primary-growth-card > .pathway-more { margin-top: 20px; padding-top: 0; } }

/* Curriculum v4: foundation classes and a selected competition ladder. */
.key-skills-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px 0; }
.key-skills-grid li:nth-child(5) { border-left: 0; }
.competition-intro { max-width: 850px; padding-block: 42px 28px; }
.competition-intro h3 { font-size: 28px; line-height: 1.3; }
.competition-intro p { margin-top: 14px; font-size: 16px; line-height: 1.65; }
.competition-stage .growth-card-head { grid-template-columns: minmax(0,1fr) 170px; }
.competition-stage .growth-card-head h3 { font-size: clamp(25px,3vw,35px); line-height: 1.2; }
.competition-stage .growth-card-head img { width: 160px; height: 160px; }
.competition-stage .pathway-teaser { max-width: 85ch; }
.ladder-transition { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 22px 8px; color: var(--muted); }
.ladder-transition > span { color: var(--blue); font-size: 26px; }
.advanced-progression { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.advanced-progression > div { padding: 18px; border-radius: 8px; background: var(--pale); }
.advanced-progression strong, .advanced-progression span { display: block; }
.advanced-progression strong { font-size: 14px; color: var(--muted); }
.advanced-progression span { font-size: 19px; font-weight: 600; margin-top: 8px; }
.advanced-progression p { font-size: 16px; line-height: 1.6; margin-top: 8px; }
.teams-section { padding-block: 56px; }
.teams-intro { max-width: 700px; margin-top: 18px; color: var(--muted); font-size: 17px; }
.team-link-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.team-link-card { display: block; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: #f8fcff; transition: border-color .2s,transform .2s; }
.team-link-card:hover { border-color: var(--blue); transform: translateY(-3px); }
.team-mark { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--sky); color: var(--ink); font-size: 20px; font-weight: 700; margin-bottom: 20px; }
.team-link-card h3 { font-size: 23px; line-height: 1.3; }
.team-link-card p { color: var(--muted); font-size: 15px; margin-top: 10px; }
.team-link-label { display: inline-block; color: var(--blue); font-size: 16px; font-weight: 600; margin-top: 24px; }
@media(max-width:900px) { .key-skills-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .key-skills-grid li:nth-child(4) { border-left:1px solid #cfe6f3; } .team-link-grid { gap:14px; } .team-link-card { padding:22px; } }
@media(max-width:760px) { .competition-stage .growth-card-head { grid-template-columns: minmax(0,1fr) 100px; } .competition-stage .growth-card-head img { width:100px;height:120px; } .advanced-progression,.team-link-grid { grid-template-columns:1fr; } .key-skills-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .key-skills-grid li:nth-child(odd) { border-left:0; } .key-skills-grid li:nth-child(even) { border-left:1px solid #cfe6f3; } }

/* Draft 12: clearer desktop hierarchy and a single skills row. */
@media(min-width:1180px){.key-skills-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:0}.key-skills-grid li{padding:0 10px;font-size:15px;line-height:1.4}.key-skills-grid li:nth-child(5){border-left:1px solid #cfe6f3}.key-skills-grid .skill-icon{width:62px;height:62px}.key-skills-grid svg{width:32px;height:32px}#pathway .section-heading h2{font-size:clamp(36px,4.2vw,58px);white-space:nowrap}}

/* Concise educator credentials and location options. */
.course-locations span{display:block;line-height:1.65;margin-top:5px}
.educator-profile h3{font-size:17px;line-height:1.4;margin:0;color:var(--ink)}
.educator-profile p{font-size:15px;line-height:1.6;color:var(--muted);margin:7px 0 0}
.educator-profile+.educator-profile{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.teaching-team .teacher-role{font-size:17px;line-height:1.55}

.privacy-page{max-width:900px;padding-block:44px 80px}.privacy-page h1{font-size:clamp(36px,5vw,54px)}.privacy-page .privacy-updated{font-size:13px;margin:16px 0 28px}.privacy-page section{margin-top:32px}.privacy-page h2{font-size:24px;line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}.privacy-page p+p{margin-top:12px}.privacy-page a,.interest .small a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.interest .small a{color:inherit}.privacy-page .eyebrow{margin-bottom:12px}

/* Curriculum v6 draft. */
.curriculum-v6 .pathway-intro { max-width: 780px; }
.pathway-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; list-style:none; padding:0; margin:0 0 42px; }
.pathway-overview a { display:grid; grid-template-columns:auto 1fr; column-gap:14px; padding:18px 20px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.pathway-overview span { grid-row:span 2; align-self:center; font-size:23px; color:var(--blue); }
.pathway-overview strong { font-size:18px; font-weight:600; }
.pathway-overview small { color:var(--muted); font-size:14px; }
.curriculum-v6 .foundation-heading { margin-bottom:26px; }
.curriculum-v6 .foundation-heading .eyebrow { margin-bottom:12px; }
.curriculum-v6 .entry-pathways { align-items:start; }
.curriculum-v6 .path-card-head { min-height:210px; grid-template-columns:minmax(0,1fr) 160px; }
.curriculum-v6 .path-card-head img { width:160px; height:160px; }
.curriculum-v6 .course-schedule { line-height:1.55; }
.curriculum-v6 .course-schedule span { display:block; font-size:14px; font-weight:400; color:var(--muted); margin-top:5px; }
.curriculum-v6 .visible-result { margin:18px 28px 0; padding:16px; border-radius:7px; background:var(--pale); font-size:16px; line-height:1.65; }
.curriculum-v6 .visible-result strong { display:block; color:var(--ink); font-size:14px; margin-bottom:6px; }
.curriculum-v6 .growth-card .visible-result { margin-inline:0; }
.curriculum-v6 .growth-card .pathway-teaser { max-width:95ch; }
.assessment-note { padding:22px 26px; border-left:3px solid var(--blue); background:#e5f2fa; margin-top:24px; border-radius:0 8px 8px 0; }
.assessment-note h4 { font-size:19px; margin-bottom:10px; }
.assessment-note p,.commitment-line,.future-directions { font-size:15px; line-height:1.7; }
.curriculum-v6 .competition-intro { padding-top:46px; }
.commitment-line,.future-directions { margin-top:18px; }
.curriculum-v6 .advanced-progression strong { color:var(--blue); font-size:14px; }
.curriculum-v6 .advanced-progression span { font-size:20px; }
.curriculum-v6 .course-output h4:not(:first-child) { margin-top:22px; }
.curriculum-v6 .project-stages { gap:18px; padding-top:16px; }
.curriculum-v6 .project-stages h5 { margin:0 0 5px; font-size:16px; }
.curriculum-v6 .project-stages + p { margin-top:20px; }
@media(max-width:1000px) { .pathway-overview a{padding:16px 14px;column-gap:10px}.curriculum-v6 .path-card-head{grid-template-columns:minmax(0,1fr) 110px}.curriculum-v6 .path-card-head img{width:110px;height:130px} }
@media(max-width:760px) { .pathway-overview{grid-template-columns:1fr;gap:10px;margin-bottom:32px}.pathway-overview a{padding:14px 18px}.curriculum-v6 .path-card-head{min-height:0;grid-template-columns:minmax(0,1fr) 110px}.curriculum-v6 .visible-result{margin-inline:22px}.curriculum-v6 .competition-intro h3{font-size:26px} }

/* Curriculum v7: four connected stages, with preparation formats visible. */
.pathway-overview { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pathway-overview a { grid-template-columns:1fr; gap:5px; min-height:144px; padding:18px; }
.pathway-overview span { grid-row:auto; font-size:18px; }
.pathway-overview strong { font-size:18px; line-height:1.35; }
.pathway-overview small { line-height:1.45; }
.curriculum-v6 .path-card-head { min-height:230px; }
.curriculum-v6 .path-card-head .path-kicker { font-size:10px; line-height:1.5; }
.curriculum-v6 .entry-pathways { align-items:stretch; }
.curriculum-v6 .entry-pathways > article { display:flex; flex-direction:column; scroll-margin-top:28px; }
.curriculum-v6 .entry-pathways .pathway-more { margin-top:auto; padding-top:22px; }
.programme-route { margin:14px 28px 0; padding:12px 14px; background:var(--sky); border-radius:6px; font-size:14px; line-height:1.8; }
.programme-route strong { color:var(--ink); margin-right:6px; }
.future-directions strong { margin-right:6px; }
@media(max-width:1000px) { .pathway-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }.pathway-overview a { min-height:124px; } }
@media(max-width:760px) { .pathway-overview { gap:10px; }.pathway-overview a { padding:14px; }.pathway-overview strong { font-size:16px; }.pathway-overview small{font-size:13px}.curriculum-v6 .path-card-head { min-height:0; }.programme-route{margin-inline:22px}.curriculum-v6 .entry-pathways{align-items:start} }

/* Draft 16: concise academy philosophy and official programme references. */
.curriculum-v6 .pathway-intro{max-width:960px}
.official-programme{margin-top:16px;color:var(--blue)}

/* A distinct statement of the academy philosophy before the course pathway. */
.academy-philosophy{padding-block:52px}
.academy-philosophy>div{border-left:4px solid var(--blue);padding:12px 0 12px 30px;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:44px;align-items:center}
.academy-philosophy h2{font-size:clamp(29px,3vw,42px);line-height:1.18}
.academy-philosophy p{font-size:18px;line-height:1.8;max-width:850px}
@media(max-width:760px){.academy-philosophy{padding-block:36px}.academy-philosophy>div{grid-template-columns:1fr;gap:20px;padding-left:22px}.academy-philosophy p{font-size:16px}}
