.stage-page { background: var(--cream); }
.stage-page .site-header { position: sticky; }
.stage-page .brand img { mix-blend-mode: multiply; }

.stage-hero { position: relative; min-height: 720px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; }
.stage-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 7vw, 8rem); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 3rem; color: #667086; font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.breadcrumbs a { text-underline-offset: .25rem; }
.stage-hero h1 { max-width: 800px; margin: 0; font-family: var(--serif); font-size: clamp(4.5rem, 8vw, 9rem); font-weight: 400; letter-spacing: -.06em; line-height: .88; }
.stage-hero h1 em { display: block; color: var(--coral); font-weight: 400; }
.stage-hero-lead { max-width: 650px; margin: 2rem 0 0; color: #4e5a71; font-family: var(--serif); font-size: clamp(1.15rem, 1.6vw, 1.55rem); line-height: 1.5; }
.stage-hero-media { position: relative; min-height: 720px; overflow: hidden; background: var(--sky); }
.stage-hero-media::before { content: ''; position: absolute; z-index: 2; inset: 7% 9%; border: 1px solid rgba(255,255,255,.55); border-radius: 50% 50% 43% 57% / 63% 40% 60% 37%; transform: rotate(8deg); pointer-events: none; }
.stage-hero-media img { height: 100%; object-fit: cover; filter: saturate(.82); }
.stage-hero-media::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(23,36,62,.72)); }
.stage-stamp { position: absolute; z-index: 3; right: 7%; bottom: 8%; width: 145px; height: 145px; display: grid; place-items: center; color: var(--white); background: var(--coral); border-radius: 50%; font-family: var(--serif); font-size: 1.7rem; text-align: center; line-height: 1; transform: rotate(7deg); }
.stage-media-caption { position: absolute; z-index: 3; left: 2rem; bottom: 2rem; color: var(--white); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }

.stage-page.primary .stage-hero-media { background: var(--sage); }
.stage-page.secondary .stage-hero-media { background: #b9c1d2; }
.stage-page.sixth .stage-hero-media { background: #edb49f; }

.stage-facts { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: var(--ink); }
.stage-facts div { padding: 1.55rem clamp(1.2rem, 4vw, 4rem); border-right: 1px solid rgba(255,255,255,.18); }
.stage-facts div:last-child { border-right: 0; }
.stage-facts span { display: block; margin-bottom: .35rem; color: #9ea9bb; font-size: .62rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.stage-facts strong { font-family: var(--serif); font-size: clamp(1.1rem, 2vw, 1.6rem); font-weight: 400; }

.stage-section { max-width: var(--max); margin: 0 auto; padding: clamp(5rem, 9vw, 10rem) max(3vw, 42px); }
.stage-overview { display: grid; grid-template-columns: .38fr 1.05fr .72fr; gap: clamp(2rem, 5vw, 6rem); align-items: start; }
.stage-overview h2, .stage-curriculum h2, .stage-highlight h2, .stage-split h2, .stage-next h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 5.2vw, 6rem); font-weight: 400; letter-spacing: -.05em; line-height: .96; }
.stage-overview h2 em, .stage-curriculum h2 em { color: var(--coral); font-weight: 400; }
.stage-overview-copy { padding-top: 3.4rem; }
.stage-overview-copy p { color: #526078; font-size: 1rem; }
.stage-overview-copy p:first-child { color: var(--ink); font-family: var(--serif); font-size: 1.28rem; }

.stage-curriculum { max-width: none; color: var(--white); background: var(--ink); padding-left: max(3vw, calc((100vw - var(--max))/2 + 42px)); padding-right: max(3vw, calc((100vw - var(--max))/2 + 42px)); }
.curriculum-head { display: grid; grid-template-columns: 1fr .65fr; gap: 4rem; align-items: end; margin-bottom: 4rem; }
.curriculum-head > p { color: #bdc5d2; font-family: var(--serif); font-size: 1.2rem; }
.stage-curriculum .eyebrow { color: #ffc1b5; }
.learning-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.learning-card { min-height: 190px; padding: 2rem; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.learning-card span { color: #ffc1b5; font-size: .64rem; font-weight: 900; letter-spacing: .14em; }
.learning-card h3 { margin: 1rem 0 .65rem; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }
.learning-card p { margin: 0; color: #aeb8c8; font-size: .9rem; }

.subject-cloud { display: flex; flex-wrap: wrap; gap: .75rem; }
.subject-cloud span { padding: .65rem .95rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 99px; font-size: .7rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }

.stage-split { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.split-panel { min-height: 490px; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(2rem, 4vw, 4rem); background: #e5eee8; }
.split-panel.accent { color: var(--white); background: var(--coral); }
.split-panel .eyebrow { margin-bottom: 3rem; }
.split-panel.accent .eyebrow { color: #ffe1da; }
.split-panel h2 { font-size: clamp(2.7rem, 4vw, 4.8rem); }
.split-panel p { max-width: 600px; }
.split-panel.accent p { color: #fff0ed; }
.split-panel ul { margin: 1.5rem 0 0; padding-left: 1.2rem; }
.split-panel li { margin: .6rem 0; }

.stage-highlight { max-width: none; display: grid; grid-template-columns: 1fr .9fr; gap: clamp(3rem, 7vw, 8rem); align-items: center; background: var(--sky); padding-left: max(3vw, calc((100vw - var(--max))/2 + 42px)); padding-right: max(3vw, calc((100vw - var(--max))/2 + 42px)); }
.highlight-copy > p:not(.eyebrow) { max-width: 620px; color: #42506a; font-family: var(--serif); font-size: 1.18rem; }
.highlight-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.highlight-list div { min-height: 160px; padding: 1.5rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.highlight-list strong { display: block; margin-bottom: .7rem; color: var(--coral-dark); font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.highlight-list span { color: #4c5870; font-size: .88rem; }

.stage-next { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 4rem; color: var(--white); background: var(--coral); }
.stage-next .eyebrow { color: #ffe1da; }
.stage-next-actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: flex-end; }
.stage-next .button-primary { background: var(--ink); }
.button-light { color: var(--ink); background: var(--white); }

.back-home { display: inline-flex; gap: .7rem; align-items: center; margin-top: 2rem; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; text-underline-offset: .3rem; }

@media (max-width: 1080px) {
  .stage-hero { grid-template-columns: 1fr; }
  .stage-hero-media { min-height: 590px; }
  .stage-overview { grid-template-columns: .35fr 1fr; }
  .stage-overview-copy { grid-column: 2; padding-top: 0; }
  .stage-highlight { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .stage-hero-copy { padding: 4rem 1.25rem; }
  .breadcrumbs { margin-bottom: 2rem; }
  .stage-hero h1 { font-size: clamp(4.2rem, 20vw, 6rem); }
  .stage-hero-media { min-height: 480px; }
  .stage-stamp { width: 105px; height: 105px; font-size: 1.2rem; }
  .stage-facts { grid-template-columns: 1fr; }
  .stage-facts div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .stage-section, .stage-curriculum, .stage-highlight, .stage-next { padding: 6rem 1.25rem; }
  .stage-overview, .curriculum-head, .stage-split, .stage-highlight, .stage-next { grid-template-columns: 1fr; }
  .stage-overview-copy { grid-column: auto; }
  .curriculum-head { gap: 1.5rem; }
  .learning-grid, .highlight-list { grid-template-columns: 1fr; }
  .split-panel { min-height: 420px; }
  .stage-next-actions { justify-content: flex-start; }
}
