:root {
  --st-blue: #062b9a;
  --st-ink: #071742;
  --st-yellow: #ffd21c;
  --st-paper: #fffdf7;
  --st-mist: #f3f6ff;
  --st-muted: #5d6887;
  --st-line: #dce3f4;
}

.story-cinematic { overflow: clip; background: var(--st-paper); color: var(--st-ink); }
.story-cinematic *, .story-cinematic *::before, .story-cinematic *::after { box-sizing: border-box; }
.story-cinematic h1, .story-cinematic h2, .story-cinematic h3, .story-cinematic p { margin: 0; }
.st-eyebrow { color: var(--st-blue); font-size: 12px; font-weight: 800; letter-spacing: .16em; line-height: 1.3; }
.st-hero { min-height: calc(100svh - 82px); position: relative; display: grid; grid-template-columns: minmax(0, .93fr) minmax(470px, 1.07fr); gap: 4vw; align-items: center; padding: clamp(64px, 10vw, 144px) max(5vw, calc((100vw - 1240px) / 2)); background: linear-gradient(115deg, #fffdf7 0%, #fffdf7 54%, #f3f6ff 54%, #f3f6ff 100%); isolation: isolate; }
.st-hero__copy { position: relative; z-index: 2; max-width: 650px; }
.st-hero h1 { position: relative; width: max-content; max-width: 100%; margin-top: 20px; color: var(--st-ink); font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif; font-size: clamp(46px, 4.5vw, 68px); font-weight: 900; font-synthesis: weight; line-height: 1.08; letter-spacing: .015em; }
.st-hero h1 em, .st-results h2 em { color: var(--st-blue); font-style: normal; }
.st-title-line { display: flex; width: max-content; max-width: 100%; align-items: center; gap: .23em; white-space: nowrap; }.st-title-line small { color: var(--st-ink); font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif; font-size: .82em; font-weight: 900; letter-spacing: .025em; -webkit-text-stroke: .65px currentColor; }.st-title-line .st-title-start { margin-left: .07em; }.st-title-line b { display: inline-block; padding: .1em .18em .15em; background: var(--st-blue); color: var(--st-yellow); font-family: Arial, "PingFang SC", sans-serif; font-size: .98em; font-weight: 900; letter-spacing: -.09em; line-height: .88; box-shadow: .11em .11em 0 var(--st-yellow); transform: rotate(-2deg); }.st-hero h1 em { display: block; margin-top: .25em; font-size: .78em; font-weight: 900; letter-spacing: .025em; -webkit-text-stroke: .65px currentColor; }
.st-hero__intro { max-width: 500px; margin-top: 28px !important; padding-left: 17px; border-left: 5px solid var(--st-yellow); color: var(--st-ink); font-size: clamp(18px, 1.6vw, 22px); font-weight: 750; line-height: 1.7; letter-spacing: -.015em; }
.st-scroll-link { display: inline-flex; gap: 18px; align-items: center; margin-top: 31px; padding-bottom: 10px; border-bottom: 2px solid var(--st-blue); color: var(--st-blue); font-size: 14px; font-weight: 800; text-decoration: none; }
.st-scroll-link span { font-size: 20px; line-height: .5; }
.st-hero__art { position: relative; min-height: min(43vw, 620px); display: grid; place-items: center; }
.st-hero__art::before { position: absolute; width: min(37vw, 500px); height: min(37vw, 500px); border: 1px solid rgba(6,43,154,.18); border-radius: 50%; content: ""; }
.st-hero__art img { position: relative; z-index: 2; width: min(42vw, 560px); max-height: 650px; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 27px 20px rgba(7,23,66,.13)); transform-origin: 50% 75%; }
.st-hero__art--campus { min-height: 0; aspect-ratio: 1.48 / 1; align-self: center; overflow: hidden; background: #e9efff; box-shadow: 0 24px 54px rgba(7, 23, 66, .10); }
.st-hero__art--campus::before { display: none; }
.st-hero__art--campus img { width: 100%; height: 100%; max-height: none; object-fit: contain; mix-blend-mode: normal; filter: none; transform-origin: center; }
.st-hero__art--campus::after { position: absolute; z-index: 2; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(7,23,66,.48)); content: ""; pointer-events: none; }
.st-story-carousel__track { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.st-story-carousel__track img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; opacity: 0; transform: scale(1.025); transition: opacity .45s ease, transform .7s ease; }
.st-story-carousel__track img.is-active { opacity: 1; transform: scale(1); }
.st-story-carousel__controls { position: absolute; z-index: 4; bottom: 19px; left: 50%; display: flex; gap: 7px; align-items: center; padding: 7px 11px; border: 1px solid rgba(255,255,255,.72); border-radius: 999px; background: rgba(255,255,255,.88); box-shadow: 0 6px 18px rgba(4,22,88,.18); backdrop-filter: blur(9px); transform: translateX(-50%); }
.st-story-carousel__controls button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 999px; background: #9ba9ca; cursor: pointer; transition: width .2s ease, background .2s ease; }
.st-story-carousel__controls button.is-active { width: 20px; background: var(--st-blue); }
.st-orb { position: absolute; border-radius: 50%; z-index: 0; }
.st-orb--yellow { width: 76px; height: 76px; top: 11%; right: 4%; background: var(--st-yellow); }
.st-orb--blue { width: 28px; height: 28px; bottom: 18%; left: 7%; background: var(--st-blue); }
.st-since { position: absolute; z-index: 3; left: 2%; top: 17%; color: var(--st-blue); font-size: 11px; font-weight: 800; line-height: 1.15; letter-spacing: .12em; }
.st-hero__art--campus .st-since { top: 24px; left: 24px; padding: 9px 11px; background: var(--st-yellow); color: var(--st-ink); }
.st-hero__art--campus .st-since b { font-size: clamp(28px, 3vw, 45px); }
.st-since b { font-size: clamp(34px, 4.2vw, 64px); letter-spacing: -.07em; }
.st-art-note { position: absolute; z-index: 3; right: 0; bottom: 12%; padding: 8px 11px; background: var(--st-yellow); color: var(--st-ink); font-size: 12px; font-weight: 800; transform: rotate(-5deg); }
.st-hero__art--campus .st-art-note { right: auto; bottom: 54px; left: 24px; transform: none; }
.st-hero__years { position: absolute; z-index: 3; right: 22px; bottom: 23px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.st-hero__years b { color: rgba(255,255,255,.58); transition: color .25s ease; }
.st-hero__years b.is-active { color: var(--st-yellow); }
.st-hero__side { position: absolute; right: 20px; bottom: 26px; color: var(--st-blue); font-size: 10px; font-weight: 800; letter-spacing: .13em; line-height: 1.6; text-align: right; }

.st-journey { position: relative; height: 300vh; background: #fff; }
.st-journey__sticky { position: sticky; top: 82px; height: calc(100svh - 82px); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); align-items: stretch; overflow: hidden; }
.st-journey__visual { position: relative; overflow: hidden; display: grid; place-items: center; background: var(--st-blue); clip-path: polygon(0 0, 100% 0, 100% 87%, 88% 100%, 0 100%); }
.st-journey__visual::after { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,210,28,.18), transparent 35%); content: ""; pointer-events: none; }
.st-journey__visual img { width: 100%; height: 100%; object-fit: contain; position: relative; z-index: 1; transition: opacity .32s ease; }
.st-journey__copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 7vw, 110px); background: var(--st-paper); }
.st-journey__index { position: absolute; top: clamp(35px, 5vw, 70px); right: clamp(32px, 7vw, 104px); color: var(--st-muted); font-size: 12px; font-weight: 800; letter-spacing: .13em; }
.st-journey__year { margin-top: 32px !important; color: var(--st-yellow); font-size: clamp(70px, 9vw, 148px); font-weight: 850; line-height: .82; letter-spacing: -.08em; text-shadow: 2px 2px 0 var(--st-blue); }
.st-journey h2 { margin-top: 21px; color: var(--st-blue); font-size: clamp(35px, 4vw, 66px); font-weight: 850; line-height: 1.04; letter-spacing: -.055em; }
.st-journey__copy > p:last-of-type { max-width: 410px; margin-top: 24px !important; color: var(--st-muted); font-size: 17px; line-height: 1.75; }
.st-journey__rail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 43px; border-top: 1px solid var(--st-line); padding-top: 13px; }
.st-journey__rail span { position: relative; color: var(--st-muted); font-size: 12px; font-weight: 800; }
.st-journey__rail span::before { position: absolute; left: 0; top: -18px; width: 8px; height: 8px; border: 1px solid var(--st-blue); border-radius: 50%; background: var(--st-paper); content: ""; }
.st-journey__rail .is-active { color: var(--st-blue); }.st-journey__rail .is-active::before { border-color: var(--st-yellow); background: var(--st-yellow); }
.st-journey__triggers { position: absolute; inset: 0; pointer-events: none; display: grid; grid-template-rows: repeat(3, 1fr); }.st-journey__triggers i { display: block; }
.st-journey-mobile { display: none; }

.st-results { padding: clamp(76px, 11vw, 150px) max(5vw, calc((100vw - 1240px) / 2)); background: var(--st-blue); color: white; }
.st-results__head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 24px; }.st-results .st-eyebrow { color: var(--st-yellow); grid-column: 1 / -1; }.st-results h2 { font-size: clamp(52px, 7vw, 108px); line-height: .89; letter-spacing: -.075em; }.st-results h2 em { color: var(--st-yellow); }.st-results__head > p:last-child { max-width: 370px; color: #dce5ff; font-size: 17px; line-height: 1.75; }
.st-results__numbers { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(58px, 8vw, 100px); border-top: 1px solid rgba(255,255,255,.34); border-bottom: 1px solid rgba(255,255,255,.34); }.st-results__numbers article { min-height: 205px; padding: 27px 20px 24px 0; border-right: 1px solid rgba(255,255,255,.34); }.st-results__numbers article:not(:first-child) { padding-left: 24px; }.st-results__numbers article:last-child { border: 0; }.st-results__numbers span { color: var(--st-yellow); font-size: 11px; font-weight: 800; letter-spacing: .12em; }.st-results__numbers strong { display: block; margin-top: 22px; color: white; font-size: clamp(58px, 6.6vw, 96px); font-weight: 850; line-height: .8; letter-spacing: -.08em; }.st-results__numbers p { margin-top: 17px; color: #dce5ff; font-size: 14px; }.st-results__foot { margin-top: 23px !important; color: var(--st-yellow); font-size: 14px; font-weight: 800; }

.st-school { position: relative; display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: clamp(42px, 7vw, 110px); align-items: center; padding: clamp(80px, 11vw, 150px) max(5vw, calc((100vw - 1240px) / 2)); overflow: hidden; background: var(--st-mist); }.st-school::before { position: absolute; width: min(42vw, 560px); aspect-ratio: 1; right: -16vw; bottom: -28vw; border: clamp(24px, 3vw, 42px) solid rgba(255,210,28,.58); border-radius: 50%; content: ""; }.st-school__copy { position: relative; z-index: 1; padding: clamp(34px, 4vw, 58px); border-radius: 24px; background: var(--st-blue); box-shadow: 12px 12px 0 var(--st-yellow); color: #fff; }.st-school__copy .st-eyebrow { color: var(--st-yellow); }.st-school__place { display: inline-block; margin-top: 24px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.38); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .12em; }.st-school__copy h2 { margin-top: 20px; color: #fff; font-size: clamp(43px, 5vw, 76px); font-weight: 850; line-height: 1.03; letter-spacing: -.065em; }.st-school__copy h2 em { color: var(--st-yellow); font-style: normal; }.st-school__copy > p:last-of-type { max-width: 340px; margin-top: 25px; color: #dce5ff; font-size: 16px; line-height: 1.75; }.st-school__tag { display: inline-flex; align-items: baseline; gap: 9px; margin-top: 28px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.36); color: #fff; line-height: 1.15; }.st-school__tag small { color: var(--st-yellow); font-size: 10px; font-weight: 800; letter-spacing: .13em; }.st-school__tag b { font-size: 18px; font-weight: 900; letter-spacing: .015em; }.st-school__gallery { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.st-school__image { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(6,43,154,.18); background: var(--st-blue); }.st-school__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }.st-school__image figcaption { display: flex; align-items: baseline; gap: 8px; padding: 9px 11px 10px; background: #fff; color: var(--st-blue); font-size: 13px; font-weight: 900; letter-spacing: .05em; }.st-school__image figcaption span { color: var(--st-muted); font-size: 10px; font-weight: 800; letter-spacing: 0; }.st-school__image--group { grid-column: 1 / -1; box-shadow: 12px 12px 0 var(--st-yellow); transform: rotate(-1.1deg); }.st-school__image--speaker-one { transform: translateY(16px); }.st-school__image--speaker-two { transform: translateY(-10px); }

.st-school-archive { display: grid; grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr); gap: clamp(42px, 7vw, 110px); align-items: start; padding: clamp(80px, 11vw, 150px) max(5vw, calc((100vw - 1240px) / 2)); background: var(--st-paper); }.st-school-archive header { position: sticky; top: 120px; }.st-school-archive header > p:nth-child(2) { margin-top: 23px; color: var(--st-blue); font-size: 11px; font-weight: 800; letter-spacing: .11em; }.st-school-archive h2 { margin-top: 17px; color: var(--st-ink); font-size: clamp(40px, 4.8vw, 70px); font-weight: 850; line-height: 1.05; letter-spacing: -.065em; }.st-school-archive h2 em { color: var(--st-blue); font-style: normal; }.st-school-archive__gallery { columns: 3; column-gap: 12px; }.st-school-archive__gallery figure { margin: 0 0 12px; break-inside: avoid; border: 1px solid var(--st-line); background: var(--st-blue); }.st-school-archive__gallery figure:nth-child(1),.st-school-archive__gallery figure:nth-child(6) { border-color: var(--st-yellow); box-shadow: 8px 8px 0 var(--st-yellow); }.st-school-archive__gallery img { display: block; width: 100%; height: auto; }
.st-school--archive { background: var(--st-paper); }.st-school--archive::before { right: auto; left: -16vw; bottom: auto; top: -28vw; }.st-school__gallery--archive .st-school__image--group { transform: rotate(1.1deg); }.st-school__gallery--archive .st-school__image { transform: none; }
.st-school__gallery--archive { grid-template-columns: repeat(3, 1fr); grid-auto-rows: clamp(96px, 9vw, 138px); gap: 14px; }.st-school__gallery--archive .st-school__image { height: 100%; overflow: hidden; border-radius: 12px; box-shadow: 0 8px 18px rgba(7,23,66,.12); }.st-school__gallery--archive .st-school__image img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center; }.st-school__gallery--archive .st-school__image--group { grid-column: span 2; grid-row: span 2; box-shadow: 10px 10px 0 var(--st-yellow); }.st-school__gallery--archive .st-school__image:nth-child(2),.st-school__gallery--archive .st-school__image:nth-child(3) { grid-row: span 1; }.st-school__gallery--archive .st-school__image:nth-child(4) { grid-row: span 2; }.st-school__gallery--archive .st-school__image:nth-child(5) { grid-column: span 2; grid-row: span 2; }.st-school__gallery--archive .st-school__image:nth-child(6) { grid-row: span 2; }.st-school__gallery--archive .st-school__image:nth-child(7) { grid-column: span 2; }.st-school__gallery--archive .st-school__image:nth-child(8) { grid-column: span 3; grid-row: span 2; }
.st-school__gallery,.st-school__gallery--archive { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 15px; padding: clamp(14px,2vw,24px); overflow: hidden; background: var(--st-blue); border-radius: 28px 6px 28px 6px; box-shadow: 14px 14px 0 var(--st-yellow); isolation: isolate; }.st-school__gallery::before,.st-school__gallery--archive::before { position: absolute; z-index: -1; top: -74px; right: -58px; width: 180px; aspect-ratio: 1; border: 22px solid rgba(255,210,28,.22); border-radius: 50%; content: ""; }.st-school__gallery::after,.st-school__gallery--archive::after { position: absolute; z-index: -1; left: 24px; bottom: 19px; color: rgba(255,255,255,.28); content: "SELECTED\A MOMENTS"; white-space: pre; font-size: 9px; font-weight: 900; letter-spacing: .18em; line-height: 1.45; }.st-school__feature { position: relative; z-index: 1; margin: 0; overflow: hidden; aspect-ratio: 16 / 9; border: 3px solid var(--st-yellow); border-radius: 18px 54px 18px 18px; background: #fff; box-shadow: 0 16px 28px rgba(0,0,0,.24); }.st-school__feature::after { position: absolute; right: 0; bottom: 0; width: 52px; height: 52px; border-top: 3px solid var(--st-blue); border-left: 3px solid var(--st-blue); background: var(--st-yellow); content: ""; }.st-school__feature img { display: block; width: 100%; height: 100%; object-fit: cover; }.st-school__thumbs { position: relative; z-index: 1; display: flex; gap: 10px; max-width: 100%; padding: 2px 2px 25px; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: var(--st-yellow) transparent; scroll-snap-type: x mandatory; }.st-school__thumbs button { position: relative; flex: 0 0 clamp(78px,8vw,108px); height: clamp(55px,5.7vw,75px); padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: #fff; cursor: pointer; scroll-snap-align: start; transition: transform .24s ease,border-color .24s ease,box-shadow .24s ease; }.st-school__thumbs button img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .68; transition: opacity .24s ease,transform .35s ease; }.st-school__thumbs button.is-active { border-color: var(--st-yellow); box-shadow: 5px 5px 0 rgba(255,210,28,.72); transform: translateY(-5px) rotate(-1.5deg); }.st-school__thumbs button.is-active img,.st-school__thumbs button:hover img,.st-school__thumbs button:focus-visible img { opacity: 1; transform: scale(1.06); }.st-school__thumbs button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }.st-school__gallery--archive .st-school__feature { border-radius: 54px 18px 18px 18px; }.st-school__gallery--archive .st-school__thumbs button.is-active { transform: translateY(-5px) rotate(1.5deg); }

.st-system { display: grid; grid-template-columns: minmax(270px, .75fr) minmax(450px, 1.25fr); gap: clamp(50px, 10vw, 160px); padding: clamp(85px, 12vw, 170px) max(5vw, calc((100vw - 1240px) / 2)); background: var(--st-mist); }.st-system h2, .st-method h2, .st-close h2 { margin-top: 20px; color: var(--st-ink); font-size: clamp(43px, 5vw, 76px); font-weight: 850; line-height: 1.03; letter-spacing: -.065em; }.st-system > div > p:last-child, .st-method__copy > p:last-child, .st-close p:last-of-type { max-width: 390px; margin-top: 25px; color: var(--st-muted); font-size: 16px; line-height: 1.75; }.st-system ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #bbc8ea; }.st-system li { display: grid; grid-template-columns: 64px 1fr; gap: 14px; padding: 23px 0; border-bottom: 1px solid #bbc8ea; }.st-system li b { color: var(--st-blue); font-size: 12px; letter-spacing: .1em; }.st-system li span { color: var(--st-muted); font-size: 14px; line-height: 1.55; }.st-system li strong { display: block; margin-bottom: 4px; color: var(--st-blue); font-size: 24px; }
.st-method { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(400px, 1.25fr); gap: clamp(50px, 10vw, 160px); align-items: center; padding: clamp(90px, 12vw, 160px) max(5vw, calc((100vw - 1240px) / 2)); background: var(--st-paper); }.st-method__images { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.st-method figure { margin: 0; }.st-method figure:nth-child(1) { margin-top: 46px; }.st-method img { display: block; width: 100%; height: min(35vw, 455px); object-fit: cover; object-position: top; clip-path: polygon(0 0, 100% 0, 100% 92%, 92% 100%, 0 100%); }.st-method figcaption { margin-top: 14px; color: var(--st-muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 1.6; text-transform: uppercase; }.st-method figcaption b { color: var(--st-blue); font-size: 17px; letter-spacing: 0; }
.st-close { position: relative; padding: clamp(100px, 14vw, 180px) max(5vw, calc((100vw - 1240px) / 2)); overflow: hidden; background: #fff4c7; }.st-close > i { position: absolute; width: min(75vw, 940px); height: min(75vw, 940px); right: -22vw; top: -42%; border: clamp(28px, 4vw, 62px) solid var(--st-yellow); border-radius: 50%; opacity: .7; }.st-close > div { position: relative; z-index: 1; }.st-close h2 { max-width: 900px; font-size: clamp(47px, 6.4vw, 100px); }.st-close .button { margin-top: 34px; }
.story-cinematic [data-reveal] { opacity: 0; }
@media (max-width: 1000px) { .st-hero { grid-template-columns: 1fr; gap: 36px; padding: 70px 42px 54px; }.st-hero__copy { max-width: 760px; }.st-hero h1 { font-size: clamp(52px, 7.2vw, 66px); }.st-hero__art { min-height: 0; width: min(100%, 760px); justify-self: center; }.st-hero__art--campus { min-height: 0; }.st-journey__sticky { grid-template-columns: 1fr 1fr; }.st-journey__copy { padding: 46px; }.st-system, .st-method { gap: 54px; }.st-results__numbers article { min-height: 175px; } }
@media (max-width: 700px) { .st-eyebrow { font-size: 11px; }.st-hero { min-height: auto; display: block; padding: 60px 24px 26px; background: var(--st-paper); }.st-hero h1 { margin-top: 17px; font-size: clamp(47px, 14vw, 66px); }.st-title-line { gap: .08em; }.st-hero h1 em { margin-top: .23em; }.st-hero__mascot { top: -1.1em; left: 4px; width: 52px; }.st-hero__intro { margin-top: 23px !important; font-size: 16px; }.st-scroll-link { margin-top: 27px; }.st-hero__art { min-height: 390px; margin: 20px -12px 0; }.st-hero__art--campus { min-height: 0; aspect-ratio: 1.28 / 1; }.st-hero__art img { width: min(100%, 410px); }.st-hero__art--campus img { width: 100%; height: 100%; }.st-story-carousel__controls { bottom: 10px; padding: 6px 9px; gap: 5px; }.st-story-carousel__controls button { width: 5px; height: 5px; }.st-story-carousel__controls button.is-active { width: 17px; }.st-hero__art::before { width: 315px; height: 315px; }.st-since { left: 3%; top: 15%; }.st-hero__art--campus .st-since { top: 14px; left: 14px; }.st-hero__art--campus .st-art-note { bottom: 43px; left: 14px; }.st-hero__years { right: 14px; bottom: 15px; font-size: 8px; }.st-art-note { right: 1%; bottom: 12%; }.st-hero__side { display: none; }.st-journey { display: none; }.st-journey-mobile { display: block; padding: 73px 24px; background: #fff; }.st-journey-mobile h2 { margin-top: 18px; color: var(--st-ink); font-size: 45px; font-weight: 850; letter-spacing: -.065em; line-height: 1.04; }.st-journey-mobile article { margin-top: 47px; }.st-journey-mobile img { display: block; width: 100%; max-height: 265px; background: var(--st-blue); object-fit: contain; }.st-journey-mobile article div { margin-top: 16px; }.st-journey-mobile article span { color: var(--st-blue); font-size: 11px; font-weight: 800; letter-spacing: .11em; }.st-journey-mobile h3 { margin-top: 9px; color: var(--st-ink); font-size: 29px; letter-spacing: -.045em; }.st-journey-mobile p { margin-top: 9px; color: var(--st-muted); font-size: 15px; line-height: 1.7; }.st-results { padding: 78px 24px; }.st-results__head { display: block; }.st-results h2 { margin-top: 18px; font-size: 65px; }.st-results__head > p:last-child { margin-top: 24px; font-size: 15px; }.st-results__numbers { grid-template-columns: 1fr 1fr; margin-top: 50px; }.st-results__numbers article { min-height: 155px; padding: 20px 14px 18px 0; }.st-results__numbers article:nth-child(2) { border-right: 0; padding-left: 15px; }.st-results__numbers article:nth-child(3) { padding-left: 0; }.st-results__numbers article:nth-child(4) { padding-left: 15px; border-right: 0; }.st-results__numbers strong { font-size: 63px; }.st-results__numbers p { font-size: 12px; }.st-system, .st-method { display: block; padding: 82px 24px; }.st-system h2, .st-method h2, .st-close h2 { font-size: 47px; }.st-system ol { margin-top: 47px; }.st-system li { grid-template-columns: 48px 1fr; }.st-system li strong { font-size: 22px; }.st-method__images { gap: 12px; margin-top: 50px; }.st-method figure:nth-child(1) { margin-top: 28px; }.st-method img { height: 260px; }.st-method figcaption { font-size: 9px; }.st-method figcaption b { font-size: 14px; }.st-close { padding: 85px 24px; }.st-close > i { position: absolute; width: 440px; height: 440px; right: -285px; top: -95px; }.st-close p:last-of-type { font-size: 15px; }.st-close .button { width: 100%; justify-content: space-between; } }
@media (prefers-reduced-motion: reduce) { .st-journey__visual img { transition: none; }.st-hero__art img { transform: none !important; } }
@media (max-width: 700px) { .st-school { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 76px 24px; }.st-school__copy { order: 1; padding: 31px 27px; border-radius: 20px; box-shadow: 8px 8px 0 var(--st-yellow); }.st-school__place { margin-top: 20px; }.st-school__tag { margin-top: 22px; }.st-school__tag b { font-size: 18px; }.st-school__gallery { order: 2; gap: 8px; margin-top: 34px; }.st-school__image--group { box-shadow: 8px 8px 0 var(--st-yellow); }.st-school__image--speaker-one { transform: translateY(8px); }.st-school__image--speaker-two { transform: translateY(-5px); }.st-school__image figcaption { display: block; padding: 7px 8px 8px; font-size: 11px; }.st-school__image figcaption span { display: block; margin-top: 2px; font-size: 9px; }.st-school__copy h2 { font-size: 47px; }.st-school__copy > p:last-of-type { font-size: 15px; } }
@media (max-width: 700px) { .st-school-archive { display: block; padding: 76px 24px; }.st-school-archive header { position: static; }.st-school-archive h2 { font-size: 47px; }.st-school-archive__gallery { columns: 2; column-gap: 8px; margin-top: 42px; }.st-school-archive__gallery figure { margin-bottom: 8px; }.st-school-archive__gallery figure:nth-child(1),.st-school-archive__gallery figure:nth-child(6) { box-shadow: 5px 5px 0 var(--st-yellow); } }
@media (max-width: 700px) { .st-school__gallery--archive { grid-template-columns: repeat(2, 1fr); grid-auto-rows: clamp(80px, 23vw, 110px); gap: 8px; }.st-school__gallery--archive .st-school__image { border-radius: 8px; }.st-school__gallery--archive .st-school__image--group { grid-column: span 2; grid-row: span 2; box-shadow: 6px 6px 0 var(--st-yellow); }.st-school__gallery--archive .st-school__image:nth-child(4),.st-school__gallery--archive .st-school__image:nth-child(6) { grid-row: span 2; }.st-school__gallery--archive .st-school__image:nth-child(5),.st-school__gallery--archive .st-school__image:nth-child(7),.st-school__gallery--archive .st-school__image:nth-child(8) { grid-column: span 1; grid-row: span 1; } }
@media (max-width: 700px) { .st-school__gallery,.st-school__gallery--archive { display: flex; margin-top: 34px; padding: 13px; border-radius: 20px 5px 20px 5px; box-shadow: 8px 8px 0 var(--st-yellow); }.st-school__feature,.st-school__gallery--archive .st-school__feature { box-shadow: none; border-width: 2px; border-radius: 13px 35px 13px 13px; }.st-school__gallery--archive .st-school__feature { border-radius: 35px 13px 13px 13px; }.st-school__feature::after { width: 33px; height: 33px; border-width: 2px; }.st-school__thumbs { gap: 8px; margin: 0; padding: 2px 1px 20px; }.st-school__thumbs button { flex-basis: 76px; height: 54px; border-radius: 7px; }.st-school__thumbs button.is-active,.st-school__gallery--archive .st-school__thumbs button.is-active { box-shadow: 3px 3px 0 rgba(255,210,28,.8); transform: translateY(-3px) rotate(-1deg); } }
/* Use the same calm horizontal photo slider language as the main page. */
.st-school__gallery.activity-slider-wrap,.st-school__gallery--archive.activity-slider-wrap { display: block; margin-top: 0; padding: 0; overflow: visible; background: transparent; border-radius: 0; box-shadow: none; isolation: auto; }.st-school__gallery.activity-slider-wrap::before,.st-school__gallery.activity-slider-wrap::after,.st-school__gallery--archive.activity-slider-wrap::before,.st-school__gallery--archive.activity-slider-wrap::after { content: none; }.st-school__gallery .activity-slider { grid-auto-columns: minmax(220px,46%); }.st-school__gallery .activity-slider figure { border-radius: 16px; }.st-school__gallery .activity-slider img { aspect-ratio: 4 / 3; object-fit: contain; }.st-school__gallery .slider-controls { top: -64px; }
@media (max-width: 700px) { .st-school__gallery.activity-slider-wrap,.st-school__gallery--archive.activity-slider-wrap { display: block; margin-top: 34px; }.st-school__gallery .activity-slider { grid-auto-columns: 84%; }.st-school__gallery .activity-slider figure { border-radius: 14px; }.st-school__gallery .activity-slider img { aspect-ratio: 4 / 3; } }
/* A bolder version of the main-page slider: one moment leads, the next one invites a swipe. */
.st-school__gallery.activity-slider-wrap { padding-top: 18px; }.st-school__gallery .activity-slider { grid-auto-columns: minmax(320px,72%); gap: 22px; padding: 9px 12px 25px 2px; scrollbar-color: var(--st-yellow) rgba(6,43,154,.16); }.st-school__gallery .activity-slider figure { position: relative; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: transform .35s cubic-bezier(.2,.8,.2,1); }.st-school__gallery .activity-slider figure::before { position: absolute; z-index: 2; top: -10px; left: -10px; display: grid; place-items: center; width: 42px; height: 42px; background: var(--st-yellow); color: var(--st-blue); content: counter(st-school-photo, decimal-leading-zero); counter-increment: st-school-photo; font-size: 11px; font-weight: 950; letter-spacing: .04em; }.st-school__gallery .activity-slider { counter-reset: st-school-photo; }.st-school__gallery .activity-slider figure::after { position: absolute; z-index: -1; right: -11px; bottom: -11px; width: 86%; height: 78%; background: var(--st-blue); content: ""; transition: transform .35s cubic-bezier(.2,.8,.2,1); }.st-school__gallery .activity-slider figure:hover { transform: translateY(-8px); }.st-school__gallery .activity-slider figure:hover::after { transform: translate(5px,5px); }.st-school__gallery .activity-slider img { position: relative; z-index: 1; aspect-ratio: 16 / 10; border: 2px solid var(--st-yellow); border-radius: 18px 46px 18px 18px; background: #fff; box-shadow: 0 16px 26px rgba(7,23,66,.13); object-fit: contain; }.st-school__gallery--archive .activity-slider figure:nth-child(even)::before { background: var(--st-blue); color: var(--st-yellow); }.st-school__gallery--archive .activity-slider figure:nth-child(even) img { border-radius: 46px 18px 18px 18px; }.st-school__gallery .slider-controls { top: -49px; gap: 7px; }.st-school__gallery .slider-button { width: 46px; height: 38px; border: 0; border-radius: 3px; background: var(--st-blue); color: var(--st-yellow); font-size: 20px; }.st-school__gallery .slider-button:hover { background: var(--st-yellow); color: var(--st-blue); }
@media (max-width: 700px) { .st-school__gallery.activity-slider-wrap { padding-top: 8px; }.st-school__gallery .activity-slider { grid-auto-columns: 86%; gap: 18px; padding: 8px 9px 24px 2px; }.st-school__gallery .activity-slider figure::before { top: -7px; left: -7px; width: 34px; height: 34px; font-size: 9px; }.st-school__gallery .activity-slider figure::after { right: -7px; bottom: -7px; }.st-school__gallery .activity-slider img { border-width: 2px; border-radius: 13px 32px 13px 13px; } }
@media (max-width: 700px) { .st-branch-timeline { position: relative; display: grid; width: calc(100% - 24px); gap: 18px; margin: 35px auto 0; padding: 0; list-style: none; }.st-branch-timeline::before { position: absolute; top: 19px; bottom: 19px; left: 78px; width: 2px; background: var(--st-line); content: ""; }.st-branch-timeline li { position: relative; z-index: 1; display: grid; grid-template-columns: 102px 1fr; gap: 17px; align-items: center; min-height: 102px; }.st-branch-timeline li::after { position: absolute; left: 72px; top: 50%; width: 13px; height: 13px; border: 3px solid var(--st-blue); border-radius: 50%; background: var(--st-yellow); content: ""; transform: translateY(-50%); }.st-branch-timeline b { color: var(--st-blue); font-size: 23px; font-weight: 950; letter-spacing: -.06em; }.st-branch-timeline figure { position: relative; width: 100%; max-width: none; min-height: 0; margin: 0; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid var(--st-line); border-radius: 12px; background: #fff; box-shadow: 5px 5px 0 rgba(255,210,28,.72); }.st-branch-timeline figure img { display: block; width: 100%; height: 100%; object-fit: cover; }.st-branch-timeline figcaption { position: absolute; left: 0; bottom: 0; padding: 6px 9px 5px; background: var(--st-blue); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .04em; } }
@media (max-width: 700px) { .st-journey-mobile { position: relative; padding: 46px 24px 30px; overflow: hidden; }.st-journey-mobile header { position: relative; padding: 18px 0 0 15px; border-left: 4px solid var(--st-yellow); }.st-journey-mobile header::after { position: absolute; top: 0; left: 15px; width: 58px; height: 4px; background: var(--st-yellow); content: ""; }.st-journey-mobile .st-eyebrow { display: inline-flex; padding: 6px 9px 5px; background: var(--st-blue); color: var(--st-yellow); font-size: 10px; font-weight: 900; letter-spacing: .16em; }.st-journey-mobile h2 { display: grid; gap: 4px; margin-top: 15px; color: var(--st-blue); font-size: clamp(38px,11.5vw,50px); font-weight: 950; letter-spacing: -.08em; line-height: .98; }.st-journey-mobile h2 span { display: block; }.st-journey-mobile h2 strong { display: inline-block; width: max-content; max-width: 100%; padding: .08em .14em .13em .09em; background: var(--st-blue); box-shadow: 6px 6px 0 var(--st-yellow); color: var(--st-yellow); font: inherit; }.st-journey-mobile article { margin-top: 32px; } }
@media (max-width: 700px) { .st-journey-mobile .st-journey-mobile__growth-title { gap: 7px; font-size: clamp(31px,8.6vw,40px); letter-spacing: -.065em; line-height: 1.03; } }
@media (max-width: 700px) { .st-journey-mobile header { border-left: 0; }.st-journey-mobile header::before { position: absolute; top: 0; left: 0; width: 4px; height: 58px; background: var(--st-yellow); content: ""; }.st-journey-mobile header::after { left: 0; } }
.st-results--2025 { padding: clamp(68px,9vw,110px) max(5vw,calc((100vw - 1240px) / 2)); background: var(--st-paper); color: var(--st-ink); }.st-results-2025__head { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-bottom: 18px; border-bottom: 3px solid var(--st-blue); }.st-results-2025__head p { margin: 0; padding: 9px 13px 8px; background: var(--st-blue); color: var(--st-yellow); font-size: 12px; font-weight: 900; letter-spacing: .14em; }.st-results-2025__head span { color: var(--st-muted); font-size: 14px; font-weight: 800; }.st-results-2025__numbers { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 30px; border-left: 1px solid var(--st-line); }.st-results-2025__numbers article { display: grid; align-content: space-between; min-height: 185px; padding: 20px clamp(16px,2.4vw,34px); border-top: 1px solid var(--st-line); border-right: 1px solid var(--st-line); border-bottom: 1px solid var(--st-line); background: #fff; }.st-results-2025__numbers strong { display: block; color: var(--st-blue); font-size: clamp(54px,6vw,86px); font-weight: 950; line-height: .82; letter-spacing: -.09em; }.st-results-2025__numbers span { color: var(--st-muted); font-size: 15px; font-weight: 800; line-height: 1.45; }.st-results-2025__numbers .st-results-2025__total { position: relative; overflow: hidden; border-color: var(--st-blue); background: var(--st-blue); }.st-results-2025__numbers .st-results-2025__total::after { position: absolute; right: -35px; bottom: -45px; width: 130px; aspect-ratio: 1; border: 18px solid rgba(255,210,28,.3); border-radius: 50%; content: ""; }.st-results-2025__numbers .st-results-2025__total strong { position: relative; z-index: 1; color: var(--st-yellow); }.st-results-2025__numbers .st-results-2025__total span { position: relative; z-index: 1; color: #fff; }
@media (max-width: 700px) { .st-results--2025 { padding: 58px 24px; }.st-results-2025__head { align-items: flex-start; flex-direction: column; gap: 12px; padding-bottom: 15px; }.st-results-2025__head p { font-size: 11px; }.st-results-2025__head span { font-size: 14px; }.st-results-2025__numbers { grid-template-columns: 1fr 1fr; margin-top: 24px; }.st-results-2025__numbers article { min-height: 142px; padding: 18px 15px; }.st-results-2025__numbers strong { font-size: 57px; }.st-results-2025__numbers span { font-size: 13px; }.st-results-2025__numbers .st-results-2025__total { grid-column: span 2; min-height: 125px; } }
.st-results--poster { display: grid; place-items: center; padding: clamp(48px,8vw,110px) 24px; background: var(--st-paper); }.st-results--poster .st-results-2025__head { width: min(100%,620px); }.st-results-poster { width: min(100%,620px); margin: 30px 0 0; overflow: hidden; border-radius: 20px; box-shadow: 0 22px 48px rgba(7,23,66,.17); }.st-results-poster img { display: block; width: 100%; height: auto; }
.st-results--poster .st-results-2025__head { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 24px; }.st-results--poster .st-results-2025__head p { grid-column: 1 / -1; justify-self: start; }.st-results--poster .st-results-2025__head h2 { margin: 0; color: var(--st-blue); font-size: clamp(48px,6vw,78px); font-weight: 950; letter-spacing: -.085em; line-height: .83; }.st-results--poster .st-results-2025__head h2 em { display: inline-block; margin-top: 5px; padding: .05em .11em .11em .07em; background: var(--st-blue); color: var(--st-yellow); font-style: normal; }.st-results--poster .st-results-2025__head span { max-width: 215px; margin: 0; padding-bottom: 3px; text-align: right; }
.st-results--poster .st-results-2025__head { border-bottom: 0; padding-bottom: 0; }.st-results--poster .st-results-2025__head h2 > span { display: block; }
.st-results--poster .st-results-2025__head { display: block; }.st-results--poster .st-results-2025__head p { display: inline-block; margin: 0; }.st-results--poster .st-results-2025__head h2 { margin: 22px 0 0; font-size: clamp(45px,5.6vw,70px); line-height: .92; letter-spacing: -.065em; }.st-results--poster .st-results-2025__head h2 em { margin-top: 9px; }.st-results--poster .st-results-2025__head .st-results-2025__note { display: block; max-width: none; margin-top: 21px; padding: 0; color: var(--st-muted); font-size: 16px; font-weight: 800; text-align: left; }
.st-results-exemplars { width: min(100%,760px); margin-top: clamp(52px,7vw,82px); padding-top: 18px; border-top: 3px solid var(--st-blue); }.st-results-exemplars header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }.st-results-exemplars header p { margin: 0 0 7px; padding: 7px 10px 6px; background: var(--st-yellow); color: var(--st-blue); font-size: 11px; font-weight: 950; letter-spacing: .11em; }.st-results-exemplars h2 { margin: 0; color: var(--st-blue); font-size: clamp(36px,4.8vw,64px); font-weight: 950; letter-spacing: -.075em; line-height: .88; text-align: right; }.st-results-exemplars h2 em { display: inline-block; margin-top: 4px; padding: .05em .1em .1em; background: var(--st-blue); color: var(--st-yellow); font-style: normal; }.st-results-exemplars > div { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(14px,2.5vw,28px); }.st-results-exemplars figure { margin: 0; overflow: hidden; border-radius: 16px; background: var(--st-blue); box-shadow: 0 16px 31px rgba(7,23,66,.16); }.st-results-exemplars img { display: block; width: 100%; height: auto; }
@media (max-width: 700px) { .st-results--poster { padding: 28px 24px 54px; }.st-results--poster .st-results-2025__head { display: block; }.st-results--poster .st-results-2025__head h2 { margin-top: 18px; font-size: clamp(44px,12.5vw,57px); }.st-results--poster .st-results-2025__head .st-results-2025__note { margin-top: 17px; font-size: 15px; }.st-results-poster { border-radius: 14px; } }
@media (max-width: 700px) { .st-results-exemplars { margin-top: 48px; }.st-results-exemplars header { align-items: flex-start; flex-direction: column; gap: 14px; margin-bottom: 20px; }.st-results-exemplars header p { margin: 0; font-size: 10px; }.st-results-exemplars h2 { font-size: clamp(40px,11.5vw,52px); text-align: left; }.st-results-exemplars > div { grid-template-columns: 1fr; gap: 20px; }.st-results-exemplars figure { border-radius: 13px; } }
 .st-hero__art--campus .st-hero__buddy { position: absolute; z-index: 4; right: clamp(12px,2vw,28px); bottom: clamp(28px,4vw,52px); width: clamp(92px,11.5vw,160px); height: auto; object-fit: contain; filter: drop-shadow(0 12px 12px rgba(7,23,66,.24)); transform-origin: center bottom; animation: st-buddy-greet 4.8s ease-in-out infinite; pointer-events: none; }.st-hero__art--campus:has(.st-hero__buddy) .st-hero__years { right: clamp(112px,14vw,185px); }@keyframes st-buddy-greet { 0%,100% { transform: translateY(0) rotate(-2deg); } 48% { transform: translateY(-8px) rotate(2deg); } 60% { transform: translateY(-3px) rotate(0deg); } }@media (max-width:700px) { .st-hero__art--campus .st-hero__buddy { right: 12px; bottom: 34px; width: 92px; }.st-hero__art--campus:has(.st-hero__buddy) .st-hero__years { right: 112px; bottom: 16px; font-size: 7px; } }@media (prefers-reduced-motion:reduce) { .st-hero__art--campus .st-hero__buddy { animation: none; } }

/* Reuse the homepage's opening rhythm for the story hero. */
@media (prefers-reduced-motion:no-preference) {
  .story-page .st-hero__copy { animation: hero-copy-in .72s cubic-bezier(.2,.8,.2,1) both; }
  .story-page .st-hero__art { animation: hero-banner-in .9s .08s cubic-bezier(.2,.8,.2,1) both; }
}

/* On phones the carousel dots and the branch-year timeline share the lower
   edge of the image.  Reserve the right side for the years so “2007” is
   never covered by the active-dot control. */
@media (max-width: 700px) {
  .st-hero__art--campus .st-story-carousel__controls {
    left: 16px;
    bottom: 12px;
    transform: none;
  }
}

/* School visits deserve a calm, photo-first viewing experience: one generous
   frame at a time, a clear cue to swipe, and a small factual caption. */
.st-school .activity-slider { grid-auto-columns: minmax(460px,94%); gap: 28px; padding: 12px 18px 30px 4px; }
.st-school .activity-slider figure { overflow: hidden; }
.st-school .activity-slider img { aspect-ratio: 4 / 3; }
.st-school .activity-slider figcaption { position: absolute; z-index: 3; left: 0; bottom: 0; display: flex; align-items: center; gap: 9px; padding: 9px 13px 10px; background: var(--st-blue); color: #fff; font-size: 13px; font-weight: 900; letter-spacing: .04em; }
.st-school .activity-slider figcaption span { color: var(--st-yellow); font-size: 10px; font-weight: 900; letter-spacing: .11em; }
@media (max-width:700px) {
  .st-school .activity-slider { grid-auto-columns: 92%; gap: 22px; width: calc(100% + 24px); padding: 10px 24px 28px 2px; }
  .st-school .activity-slider img { aspect-ratio: 4 / 3; }
  .st-school .activity-slider figcaption { padding: 8px 11px 9px; font-size: 12px; }
}

/* Photo-book layout for school visits: a readable hero image, then deliberate
   choices below instead of a dense row of equally weighted images. */
.st-school__gallery--spotlight .st-school__feature { aspect-ratio: 4 / 3; }
.st-school__gallery--spotlight .st-school__feature figcaption { position: absolute; z-index: 3; right: 0; bottom: 0; display: grid; gap: 2px; min-width: 46%; padding: 10px 14px 11px; background: var(--st-blue); color: #fff; }
.st-school__gallery--spotlight .st-school__feature figcaption span { color: var(--st-yellow); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.st-school__gallery--spotlight .st-school__feature figcaption b { font-size: 16px; font-weight: 900; letter-spacing: .02em; }
.st-school__gallery--spotlight .st-school__thumbs button { overflow: hidden; }
.st-school__gallery--spotlight .st-school__thumbs button span { position: absolute; right: 0; bottom: 0; left: 0; padding: 4px 3px; background: rgba(6,43,154,.9); color: #fff; font-size: 9px; font-weight: 900; line-height: 1; text-align: center; }
.st-school__gallery--spotlight .st-school__thumbs button.is-active span { background: var(--st-yellow); color: var(--st-blue); }
@media (max-width:700px) {
  .st-school__gallery--spotlight .st-school__feature { aspect-ratio: 4 / 3; }
  .st-school__gallery--spotlight .st-school__feature figcaption { min-width: 54%; padding: 8px 10px 9px; }
  .st-school__gallery--spotlight .st-school__feature figcaption b { font-size: 14px; }
  .st-school__gallery--spotlight .st-school__thumbs button { flex-basis: 84px; height: 60px; }
}

/* School visits should read like a calm editorial introduction, not a dense
   event poster. The image gallery carries the visual energy on its own. */
.st-school__copy { padding: 0; background: transparent; box-shadow: none; color: var(--st-ink); }
.st-school__copy .st-eyebrow { margin-bottom: 12px; color: var(--st-blue); }
.st-school__place { margin-top: 0; padding: 0; border: 0; color: var(--st-muted); font-size: 11px; letter-spacing: .09em; }
.st-school__copy h2 { margin-top: 16px; color: var(--st-ink); font-size: clamp(42px,4.8vw,70px); line-height: 1.08; }
.st-school__copy h2 em { position: relative; z-index: 0; display: inline-block; color: var(--st-blue); }
.st-school__copy h2 em::after { position: absolute; z-index: -1; right: 0; bottom: .08em; left: 0; height: .22em; background: rgba(255,210,28,.72); content: ''; }
.st-school__copy > p:last-of-type { max-width: 31ch; margin-top: 20px; color: var(--st-muted); font-size: 16px; line-height: 1.7; }
.st-school__tag { display: none; }
@media (max-width:700px) {
  .st-school { padding-block: 64px; }
  .st-school__copy { padding: 0; border-radius: 0; box-shadow: none; }
  .st-school__copy .st-eyebrow { margin-bottom: 10px; }
  .st-school__place { font-size: 10px; }
  .st-school__copy h2 { margin-top: 13px; font-size: clamp(39px,11vw,49px); line-height: 1.11; }
  .st-school__copy > p:last-of-type { margin-top: 16px; font-size: 15px; }
  .st-school__gallery { margin-top: 28px; }
}

/* Match the homepage's final consultation moment: deep MyGuru blue, a warm
   yellow action, and one direct route to the branch consultation page. */
.st-close { background: linear-gradient(120deg,#06184f,#0c329e 60%,#1557c8); color: #fff; }
.st-close > i { border-color: rgba(255,210,28,.42); opacity: 1; }
.st-close .st-eyebrow { color: var(--st-yellow); }
.st-close h2 { color: #fff; }
.st-close p:last-of-type { color: #dce5ff; }
.st-close .button.primary { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 56px; padding: 14px 24px; border: 0; border-radius: 999px; background: linear-gradient(100deg,#ffbd12,#ffdf5d); box-shadow: 0 7px 0 #d6ad0b; color: #08236e; cursor: pointer; font: inherit; font-size: 17px; font-weight: 900; text-decoration: none; }
.st-close .button.primary:hover { transform: translateY(-3px); background: #fff4bd; }
@media (max-width:700px) { .st-close .button.primary { min-height: 58px; } }

/* Keep the story page clean: yellow remains an action/highlight colour, not
   a background circle decoration. */
.story-page .st-school::before,
.story-page .st-school__gallery::before,
.story-page .st-close > i { display:none; }

/* Results title keeps its original blue/yellow story treatment, with a little
   clear separation between the two lines. */
.st-results--poster .st-results-2025__head h2 { display: block; margin: 22px 0 0; color: var(--st-blue); font-size: clamp(45px,5.6vw,70px); line-height: .92; letter-spacing: -.065em; white-space: normal; }
.st-results--poster .st-results-2025__head h2 em { display: inline-block; width: max-content; margin-top: 18px; padding: .06em .12em .12em .08em; background: var(--st-blue); box-shadow: 9px 9px 0 var(--st-yellow); color: var(--st-yellow); font-size: .86em; font-style: normal; letter-spacing: -.04em; }
@media (max-width:700px) { .st-results--poster .st-results-2025__head h2 { margin-top: 18px; font-size: clamp(44px,12.5vw,57px); }.st-results--poster .st-results-2025__head h2 em { margin-top: 14px; } }

/* iPad is a reading layout, not a squeezed desktop grid. */
@media (min-width:701px) and (max-width:1000px) {
  .st-hero { padding-inline:42px; }
  .st-journey__sticky { top:76px; height:calc(100svh - 76px); }
  .st-journey__copy { padding:clamp(32px,5vw,46px); }
  .st-school { grid-template-columns:1fr; gap:36px; padding:82px 42px; }
  .st-school__copy, .st-school__gallery { width:min(100%,720px); }
  .st-school__gallery { justify-self:center; }
  .st-method { grid-template-columns:1fr; gap:42px; padding:82px 42px; }
  .st-method__copy, .st-method__images { width:min(100%,720px); }
  .st-method__images { justify-self:center; }
  .st-close { padding:100px 42px; }
}

/* Small photo-first motion cues. They run once on arrival and keep all text
   still, so the page feels alive without becoming distracting. */
@media (prefers-reduced-motion:no-preference) {
  .st-story-carousel__track img.is-active { animation:st-photo-breathe 5.5s ease-in-out both; }
  .st-results-poster.is-story-active { animation:st-photo-arrive .65s cubic-bezier(.2,.8,.2,1) both; }
  .st-school__gallery.is-story-active .st-school__feature { animation:st-photo-arrive .62s cubic-bezier(.2,.8,.2,1) both; }
  .st-school__gallery.is-story-active .st-school__thumbs { animation:st-details-arrive .54s .16s cubic-bezier(.2,.8,.2,1) both; }
  .st-close .button.primary { transition:transform .22s ease,box-shadow .22s ease,filter .22s ease; }
  .st-close .button.primary:hover { filter:brightness(1.04); box-shadow:0 10px 0 #d6ad0b; }
}
@keyframes st-photo-breathe { 0% { transform:scale(1); } 52% { transform:scale(1.025); } 100% { transform:scale(1.012); } }
@keyframes st-photo-arrive { from { opacity:.01; transform:translateY(18px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes st-details-arrive { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

/* Keep the hand-off from school visits to the MyGuru teaching method tight. */
.st-school--archive { padding-bottom:clamp(48px,6vw,78px); }
.st-method { padding-top:clamp(58px,7vw,88px); }
@media (max-width:700px) { .st-school--archive { padding-bottom:38px; }.st-method { padding-top:50px; } }
/* Decorative all-caps labels are intentionally omitted from the story page. */
.story-page .st-eyebrow { display: none !important; }

/* The results proof now uses the same poster-left, five-promises-right rhythm
   as the homepage, while keeping every detail of the real result poster. */
.st-results--promise { grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.12fr); gap: clamp(38px, 6vw, 90px); align-items: center; justify-content: center; padding: clamp(74px, 9vw, 130px) max(5vw, calc((100vw - 1240px) / 2)); background: var(--st-mist); }
.st-results--promise .st-results-poster { width: min(100%, 510px); margin: 0; border: 7px solid #fff; border-radius: 22px; box-shadow: 0 20px 42px rgba(7,23,66,.18); }
.st-results--promise .st-results-2025__head { width: 100%; margin: 0; padding: clamp(30px, 4vw, 55px); border-top: 8px solid var(--st-yellow); border-radius: 24px; background: linear-gradient(135deg, #071b57, var(--st-blue)); box-shadow: 0 18px 40px rgba(7,23,66,.14); }
.st-results--promise .st-results-2025__head h2 { margin: 0; color: #fff; font-size: clamp(48px, 5.2vw, 72px); font-weight: 950; line-height: .92; letter-spacing: -.07em; }
.st-results--promise .st-results-2025__head h2 em { display: inline-block; margin-top: .18em; padding: .06em .13em .12em .08em; background: var(--st-yellow); box-shadow: 8px 8px 0 rgba(255,255,255,.9); color: var(--st-blue); font-style: normal; }
.st-results--promise .st-results-2025__head > p { max-width: 32em; margin: 22px 0 0; color: #e6edff; font-size: 16px; font-weight: 750; line-height: 1.65; }
.st-results-promises { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 32px 0 0; padding: 0; list-style: none; }
.st-results-promises li { display: flex; align-items: center; gap: 13px; min-height: 64px; padding: 10px 16px 10px 10px; border-radius: 999px; background: #fff; color: var(--st-blue); font-size: clamp(15px, 1.35vw, 18px); font-weight: 900; line-height: 1.2; }
.st-results-promises b { display: inline-grid; flex: 0 0 43px; width: 43px; height: 43px; place-items: center; border-radius: 50%; background: var(--st-yellow); color: var(--st-blue); font-size: 13px; letter-spacing: .04em; }
.st-results-promises li:last-child { grid-column: 1 / -1; width: calc(50% - 7px); justify-self: center; }
.st-results--promise .st-results-2025__head h2 { white-space: nowrap; font-size: clamp(42px, 4.35vw, 64px); }
.st-results--promise .st-results-2025__head h2 em { margin-top: 0; margin-left: .13em; }
/* Keep the real results poster and its promise panel on the same top and bottom line. */
@media (min-width: 701px) {
  .st-results--promise { align-items: stretch; }
  .st-results--promise .st-results-2025__head {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (max-width: 700px) {
  .st-results--promise { display: grid; grid-template-columns: 1fr; gap: 30px; padding: 54px 24px; }
  .st-results--promise .st-results-poster { width: 100%; border-width: 5px; border-radius: 16px; }
  .st-results--promise .st-results-2025__head { padding: 29px 22px; border-radius: 18px; }
  .st-results--promise .st-results-2025__head h2 { font-size: clamp(31px, 9.2vw, 38px); }
  .st-results--promise .st-results-2025__head > p { margin-top: 19px; font-size: 15px; }
  .st-results-promises { grid-template-columns: 1fr; gap: 11px; margin-top: 25px; }
  .st-results-promises li { min-height: 58px; font-size: 16px; }
  .st-results-promises li:last-child { grid-column: auto; width: auto; justify-self: stretch; }
}

/* Campus sharing is a headline moment: use the homepage's clear blue title,
   yellow block highlight, and confident reading scale. */
.st-school__copy { position: relative; padding: 8px 0 8px 28px; border-left: 8px solid var(--st-yellow); }
.st-school__place { display: inline-flex; margin: 0; padding: 7px 11px 6px; background: var(--st-blue); color: var(--st-yellow); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.st-school__copy h2 { margin-top: 22px; color: var(--st-blue); font-size: clamp(58px, 6.5vw, 96px); font-weight: 950; line-height: .92; letter-spacing: -.085em; }
.st-school__copy h2 em { display: inline-block; margin-top: .13em; padding: .03em .12em .1em .06em; background: var(--st-yellow); box-shadow: 9px 9px 0 var(--st-blue); color: var(--st-blue); font-style: normal; }
.st-school__copy h2 em::after { display: none; }
.st-school__copy > p:last-of-type { max-width: 28ch; margin-top: 28px; padding-left: 16px; border-left: 3px solid #bfcbea; color: var(--st-muted); font-size: 18px; font-weight: 700; line-height: 1.7; }
@media (max-width: 700px) {
  .st-school__copy { padding: 5px 0 5px 17px; border-left-width: 6px; }
  .st-school__place { padding: 6px 8px 5px; font-size: 10px; }
  .st-school__copy h2 { margin-top: 17px; font-size: clamp(46px, 13vw, 58px); line-height: .94; }
  .st-school__copy h2 em { box-shadow: 6px 6px 0 var(--st-blue); }
  .st-school__copy > p:last-of-type { margin-top: 23px; padding-left: 12px; font-size: 16px; }
}

/* The opening statement is the page's first visual anchor. */
@media (max-width: 700px) {
  .st-hero h1 { font-size: clamp(54px, 16vw, 80px); line-height: 1.02; }
  .st-title-line { gap: .18em; }
  .st-hero h1 em { margin-top: .2em; }
}

/* Keep the two archive phrases intact: one clear sentence per line. */
.st-school--archive .st-school__copy h2 { font-size: clamp(48px, 4.7vw, 64px); letter-spacing: -.095em; line-height: 1.02; white-space: nowrap; }
.st-school--archive .st-school__copy h2 em { white-space: nowrap; }
@media (max-width: 700px) {
  .st-school--archive .st-school__copy h2 { font-size: clamp(42px, 11vw, 52px); line-height: 1.04; }
}

/* The method statement stays deliberately two-line, with the outcome given a
   bold blue-and-yellow homepage-style anchor. */
.st-method__copy h2 { display: grid; gap: .16em; font-size: clamp(50px, 5.45vw, 78px); line-height: .95; letter-spacing: -.085em; }
.st-method__copy h2 span { display: block; white-space: nowrap; color: var(--st-blue); }
.st-method__copy h2 strong { display: inline-block; width: max-content; max-width: 100%; padding: .07em .12em .13em .08em; background: var(--st-blue); box-shadow: 9px 9px 0 var(--st-yellow); color: var(--st-yellow); font: inherit; font-weight: 950; line-height: .9; white-space: nowrap; }
@media (max-width: 700px) {
  .st-method__copy h2 { gap: .18em; font-size: clamp(40px, 11.5vw, 54px); line-height: .98; }
  .st-method__copy h2 strong { box-shadow: 6px 6px 0 var(--st-yellow); }
}

/* Give the opening statement the same bold, campaign-style hierarchy as the homepage. */
@media (min-width: 701px) {
  .st-hero h1 {
    font-size: clamp(66px, 6.4vw, 96px);
    line-height: .98;
    letter-spacing: -.03em;
  }

  .st-hero h1 em {
    position: relative;
    z-index: 0;
    width: max-content;
    max-width: 100%;
    margin-top: .2em;
  }

  .st-hero h1 em::after {
    position: absolute;
    z-index: -1;
    right: -.04em;
    bottom: .07em;
    left: .02em;
    height: .2em;
    background: var(--st-yellow);
    content: "";
  }
}

/* iPad retains the desktop story composition; it only uses a tighter scale. */
@media (min-width: 701px) and (max-width: 1000px) {
  .st-hero {
    grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
    gap: clamp(28px, 4vw, 42px);
    padding: clamp(68px, 9vw, 92px) clamp(28px, 5vw, 48px);
  }
  .st-hero__copy { max-width: none; }
  .st-hero h1 { font-size: clamp(58px, 7.2vw, 72px); }
  .st-hero__art { width: 100%; }
}

/* Portrait iPad reads like the phone story—one calm sequence at a time—while
   keeping the larger tablet scale and real-image framing. */
@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
  .st-hero { grid-template-columns: 1fr; gap: 38px; padding: 78px 42px 56px; background: var(--st-paper); }
  .st-hero__copy { max-width: 680px; }
  .st-hero h1 { font-size: clamp(62px, 10vw, 78px); }
  .st-hero__art { width: min(100%, 680px); justify-self: start; }
  .st-journey__sticky { grid-template-columns: 1fr; }
  .st-journey__copy { padding: 42px; }
  .st-system,.st-method { gap: 42px; }
}

/* Portrait iPad keeps the desktop story layout as well. */
@media (min-width:768px) and (max-width:900px) and (orientation:portrait){
  .st-hero{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(28px,4vw,42px);padding:clamp(68px,9vw,92px) clamp(28px,5vw,48px);background:linear-gradient(115deg,#fffdf7 0%,#fffdf7 54%,#f3f6ff 54%,#f3f6ff 100%)}.st-hero__copy{max-width:none}.st-hero h1{font-size:clamp(58px,7.2vw,72px)}.st-hero__art{width:100%;justify-self:auto}.st-journey__sticky{grid-template-columns:1fr 1fr}.st-journey__copy{padding:46px}.st-system,.st-method{gap:54px}
}

/* The two-column proof stays desktop-like in portrait, but its columns may
   shrink with the canvas instead of forcing horizontal overflow. */
@media (min-width:768px) and (max-width:900px) and (orientation:portrait){
  .st-results--promise{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,3vw,32px);padding:clamp(56px,8vw,78px) 28px}.st-results--promise .st-results-poster{width:100%;min-width:0;border-width:5px;border-radius:18px}.st-results--promise .st-results-2025__head{min-width:0;padding:clamp(22px,3vw,30px);border-radius:20px}.st-results--promise .st-results-2025__head h2{font-size:clamp(34px,5.2vw,44px);letter-spacing:-.065em}.st-results--promise .st-results-2025__head>p{margin-top:18px;font-size:14px}.st-results-promises{gap:9px;margin-top:24px}.st-results-promises li{gap:8px;min-width:0;min-height:54px;padding:8px 10px 8px 8px;font-size:clamp(12px,1.8vw,15px);white-space:nowrap}.st-results-promises b{flex-basis:36px;width:36px;height:36px;font-size:11px}.st-results-promises li:last-child{width:calc(50% - 4.5px)}
}

/* The expanded proof panel keeps its information as one calm, centred group. */
@media (min-width: 1001px) {
  .st-results--promise .st-results-2025__head {
    padding: clamp(44px, 4.2vw, 64px);
  }

  .st-results--promise .st-results-2025__head h2,
  .st-results--promise .st-results-2025__head > p,
  .st-results--promise .st-results-promises {
    width: min(100%, 980px);
    margin-right: auto;
    margin-left: auto;
  }

  .st-results--promise .st-results-2025__head h2 {
    font-size: clamp(52px, 4.75vw, 70px);
  }

  .st-results--promise .st-results-2025__head > p {
    margin-top: 26px;
    font-size: 17px;
  }

  .st-results--promise .st-results-promises {
    gap: 18px;
    margin-top: 38px;
  }

  .st-results--promise .st-results-promises li {
    min-height: 72px;
    gap: 16px;
    padding: 12px 20px 12px 12px;
    font-size: clamp(17px, 1.45vw, 20px);
  }

  .st-results--promise .st-results-promises b {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    font-size: 14px;
  }
}

/* Keep the MyGuru results title comfortably letter-spaced on every story
   canvas.  This overrides the former compressed display tracking without
   changing its one-line desktop or mobile composition. */
.st-results--promise .st-results-2025__head h2,
.st-results--promise .st-results-2025__head h2 em {
  letter-spacing: .025em;
}

/* Treat each part of the closing promise as its own complete line.  Smaller
   phones scale the type down before either sentence can split a character
   onto a third line. */
.st-close h2 > span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .st-close h2 {
    font-size: clamp(36px, 10vw, 47px);
    letter-spacing: -.045em;
  }
}

/* Keep the story opening as the intended two-line statement on phones. */
@media (max-width: 700px) {
  .st-hero h1 em {
    font-size: clamp(38px, 11vw, 46px);
    letter-spacing: -.065em;
    white-space: nowrap;
  }
  .st-school__copy > p:last-of-type {
    font-size: 14px;
    letter-spacing: -.04em;
    white-space: nowrap;
  }
}
