:root{--blue:#19437f;--green:#a5d244;--cream:#FCFCFA;--ink:#334155}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 Manrope,Arial,sans-serif}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p,figure{margin:0}p+p{margin-top:16px}h1,h2,h3{color:var(--blue);line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(42px,4.8vw,68px);font-weight:800;margin:22px 0}h2{font-size:clamp(32px,3.4vw,46px);font-weight:800}h3{font-size:22px;letter-spacing:-.025em}em{font-style:normal}h1 em{position:relative;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:7px;text-underline-offset:8px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.topbar{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #19437f20}.topbar>img,footer img{object-fit:contain;mix-blend-mode:multiply;height:auto}.header-right{display:flex;align-items:center;gap:26px}.header-right>span{font-size:12px;letter-spacing:.13em;color:var(--blue);font-weight:800}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 24px;background:var(--green);color:#143968;border-radius:6px;text-decoration:none;font-weight:800;font-size:15px;line-height:1.5;min-height:52px;transition:background .2s,transform .2s}.button:hover{background:#b6e257;transform:translateY(-2px)}.button svg,.floating svg{width:25px;height:25px;flex-shrink:0}.button.small{font-size:14px;padding:12px 18px}.button:focus-visible,a:focus-visible{outline:3px solid #de8d22;outline-offset:5px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-top:65px;padding-bottom:85px}.kicker{font-size:12px;font-weight:800;letter-spacing:.13em;line-height:1.7;color:var(--blue)}.lead{font-size:17px;max-width:500px;margin:27px 0}.hero-note{display:flex;gap:15px;align-items:center;margin-top:28px;color:var(--blue);font-size:14px;line-height:1.6}.hero-note>span{font-size:38px;color:#729c24}.hero-visual{position:relative;padding:0 0 20px 0}.hero-visual>img{width:100%;height:540px;object-fit:cover;border-radius:100px 8px 8px 8px}.photo-label{position:absolute;left:-25px;bottom:100px;background:var(--blue);padding:22px 26px;color:white;font-size:12px;letter-spacing:.06em;box-shadow:0 12px 35px #19437f20}.photo-label strong{font-size:19px;letter-spacing:-.02em;color:var(--green)}.year-path{display:flex;position:relative;margin:-15px 20px 0 55px;background:var(--green);border-radius:6px;justify-content:space-around;padding:14px 8px;box-shadow:0 12px 30px #19437f18}.year-path>span{font-size:27px;color:var(--blue);font-weight:800;text-align:center;line-height:1.2;flex:1;border-right:1px solid #19437f30}.year-path>span:last-child{border:0}.year-path small{display:block;font-size:10px;letter-spacing:.12em;margin-top:4px}.section{padding:95px 0}.intro{border-top:1px solid #19437f25}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.intro .two-col{margin-top:26px}.proposal{padding-bottom:95px}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:28px}.pillars article{border-top:3px solid var(--green);padding:26px 22px;background:#fff}.number{display:block;color:#587d19;font-size:14px;font-weight:800;margin-bottom:26px}.pillars h3{margin-bottom:16px}.pillars p{font-size:15px;line-height:1.8}.blue{background:var(--blue);color:#edf2f9}.blue h2{color:white}.blue em,.blue .kicker{color:var(--green)}.environment{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.environment h2{margin:23px 0}.environment p{font-size:16px}.environment .button{margin-top:28px}.environment img{width:100%;height:460px;object-fit:cover;border-radius:6px 70px 6px 6px}.environment figcaption{font-size:13px;padding-top:12px;color:#d3e0f4}.verbs{margin-top:65px;border-top:1px solid #ffffff35;padding-top:28px;display:flex;justify-content:space-between;align-items:center;font-size:clamp(17px,2.2vw,29px);font-weight:700;letter-spacing:-.035em}.verbs span{color:var(--green)}.curriculum-head{margin-top:24px}.subjects{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;margin-top:45px}.subjects>div{display:flex;align-items:center;gap:22px;padding:21px 0;border-bottom:1px solid #19437f25}.subjects span{font-size:14px;color:#577e1b;font-weight:800}.subjects h3{font-size:21px}.beyond{background:#edf2e2;padding:70px 0}.beyond h2{margin-top:22px}.beyond .two-col{align-items:center}.enroll{background:#fff;padding:55px;display:grid;grid-template-columns:1.1fr 1fr;gap:65px;border-top:5px solid var(--green)}.enroll h2{margin:20px 0}.enroll p{font-size:16px}.enroll .button{margin-top:26px}.docs{border-left:1px solid #19437f25;padding-left:40px;align-self:center}.docs h3{font-size:23px}.docs ul{padding:0;margin:25px 0 0;list-style:none}.docs li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid #19437f15;font-size:15px}.docs li span{color:#537b14;font-weight:800}.final-cta{text-align:center;background-color:var(--blue);background-image:linear-gradient(110deg,transparent 65%,#ffffff03 65%)}.final-cta h2{font-size:clamp(46px,6vw,76px);margin:22px 0}.final-cta p{max-width:610px;margin:16px auto}.final-cta .button{margin-top:22px}footer{padding-top:65px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:55px}.footer-grid h3{font-size:18px;margin-bottom:18px}.footer-grid p{font-size:14px;color:var(--blue)}.footer-grid>div:first-child p{font-size:12px;letter-spacing:.08em;margin-top:20px}.footer-grid small{font-size:12px;color:#616c7b}.footer-grid .button{margin-top:20px}.copyright{border-top:1px solid #19437f20;margin-top:45px;padding:24px 60px 28px 0;font-size:12px}.floating{position:fixed;bottom:22px;right:22px;background:var(--green);color:var(--blue);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 20px #0003;z-index:5}.floating svg{width:30px;height:30px}@media(min-width:1500px){.hero{padding-top:80px;padding-bottom:100px}}@media(max-width:900px){.wrap{width:calc(100% - 40px)}.hero{gap:35px}.hero-visual>img{height:490px}.two-col,.environment{gap:35px}.pillars{grid-template-columns:1fr 1fr}.enroll{padding:35px;gap:30px}.docs{padding-left:25px}.header-right>span{display:none}}@media(max-width:650px){.topbar{height:88px}.topbar>img{width:115px}.topbar .button{padding:10px 12px;font-size:12px;gap:9px}.topbar .button svg{width:20px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:55px;gap:36px}h1{font-size:44px}.hero-visual>img{height:360px;border-top-left-radius:65px}.photo-label{left:0;bottom:94px;padding:16px 20px}.year-path{margin-left:35px;margin-right:12px}.section{padding:62px 0}.two-col,.environment,.enroll{grid-template-columns:1fr;gap:28px}.proposal{padding-bottom:62px}.pillars{gap:14px}.pillars article{padding:20px 17px}.pillars h3{font-size:20px}.pillars p{font-size:14px}.environment img{height:310px}.verbs{flex-wrap:wrap;font-size:17px;gap:9px;justify-content:center;margin-top:38px}.subjects{column-gap:25px}.subjects>div{gap:12px;padding:18px 0}.subjects h3{font-size:18px}.beyond{padding:55px 0}.enroll{padding:28px 22px}.docs{border-left:0;border-top:1px solid #19437f25;padding:28px 0 0}.footer-grid{grid-template-columns:1fr;gap:30px}.final-cta .button{font-size:14px;padding:16px;gap:12px}.kicker{font-size:11px;letter-spacing:.1em}.floating{width:52px;height:52px;bottom:14px;right:14px}.copyright{font-size:11px}}@media(max-width:360px){h1{font-size:38px}.pillars{grid-template-columns:1fr}.subjects{column-gap:16px}.subjects h3{font-size:16px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.admissions-strip{background:var(--blue);color:white;padding:32px 0}.admissions-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.admissions-strip-label{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--green);margin:0 0 7px}.admissions-strip h2{font-size:36px;color:white;letter-spacing:-.035em;margin:0 0 9px}.admissions-strip h2 span{color:var(--green)}.admissions-strip p:last-child{font-size:15px;margin:0;color:#edf2f9}.admissions-strip .button{flex-shrink:0}.admissions-strip+.intro{border-top:0}@media(max-width:650px){.admissions-strip{padding:30px 0}.admissions-strip-inner{flex-direction:column;align-items:flex-start;gap:22px}.admissions-strip h2{font-size:32px}.admissions-strip-label{font-size:11px}.admissions-strip .button{width:100%}}

.environment>*{min-width:0}.school-carousel{width:100%;min-width:0;overflow:hidden;border:1px solid #ffffff35;border-radius:6px 50px 6px 6px;background:#ffffff08}.school-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.school-track::-webkit-scrollbar{display:none}.school-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.environment .school-slide img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:0}.environment .school-slide figcaption{padding:14px 18px;font-size:14px;color:white}.school-controls{display:flex;justify-content:space-between;align-items:center;padding:0 14px 14px;gap:16px}.school-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--green);border-radius:50%;background:transparent;color:var(--green);font-size:30px;cursor:pointer;line-height:1;touch-action:manipulation}.school-controls button:hover{background:var(--green);color:var(--blue)}.school-controls button:focus-visible,.school-track:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.school-controls output{font-size:14px;font-variant-numeric:tabular-nums}

.final-cta{text-align:left}.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.final-grid>*{min-width:0}.final-copy h2{font-size:clamp(42px,4.5vw,62px)}.final-copy p{margin:16px 0}.final-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:6px 60px 6px 6px;box-shadow:0 16px 36px #0002}.final-copy .button{max-width:100%}@media(max-width:800px){.final-grid{grid-template-columns:1fr;gap:36px}.final-photo{border-top-right-radius:40px}}

.copyright{text-align:center;background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax);padding:16px 0;font-size:12px;line-height:1.65;color:#555}@media(max-width:650px){.copyright{padding:16px 40px 24px 0;font-size:11px}}

/* Mobile reading and touch layout. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero>*,.two-col>*,.enroll>*,.footer-grid>*{min-width:0}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}
 .topbar{height:auto;min-height:82px;padding:14px 0;gap:16px}
 .topbar>img{width:108px;flex-shrink:0}
 .header-right{min-width:0}.topbar .button{font-size:13px;min-height:48px;padding:10px 12px;gap:8px;text-align:center}
 .hero,.two-col,.environment,.enroll,.final-grid{grid-template-columns:minmax(0,1fr)}
 .hero{padding-top:32px;padding-bottom:38px;gap:28px}
 h1{font-size:clamp(2.125rem,8.9vw,3rem);line-height:1.14;margin:18px 0;letter-spacing:-.04em}
 h1 em{text-decoration-thickness:4px;text-underline-offset:5px}
 h2,.final-copy h2{font-size:clamp(1.875rem,7.5vw,2.5rem);line-height:1.18}
 .lead{font-size:16px;line-height:1.75;margin:22px 0}
 .kicker,.admissions-strip-label{font-size:12px;letter-spacing:.08em}
 .hero .button,.environment .button,.enroll .button,.final-copy .button,.footer-grid .button,.admissions-strip .button{width:100%;min-height:54px;font-size:15px;padding:15px 16px;gap:12px;text-align:center}
 .hero-note{margin-top:22px;font-size:14px}.hero-visual{padding-bottom:0}
 .hero-visual>img{height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:44px 6px 0 0}
 .photo-label{position:static;padding:14px 18px;box-shadow:none;font-size:12px}
 .photo-label strong{font-size:18px}.year-path{margin:0;border-radius:0 0 6px 6px;padding:13px 6px}
 .year-path>span{font-size:25px}.year-path small{font-size:11px}
 .section{padding:48px 0}.proposal{padding-bottom:48px}
 .two-col,.environment,.final-grid{gap:26px}.intro .two-col{margin-top:20px}
 .pillars{grid-template-columns:1fr;gap:16px;margin-top:22px}
 .pillars article{padding:22px}.pillars .number{margin-bottom:12px}
 .pillars h3{font-size:22px;margin-bottom:12px}.pillars p{font-size:16px;line-height:1.7}
 .admissions-strip{padding:28px 0}.admissions-strip-inner{flex-direction:column;align-items:stretch;gap:22px}
 .admissions-strip h2{font-size:32px}.admissions-strip p:last-child{font-size:16px}
 .environment h2{margin:20px 0}.school-carousel{border-top-right-radius:30px}
 .school-track{-webkit-overflow-scrolling:touch}.school-controls{padding-bottom:16px}
 .verbs{margin-top:30px;padding-top:22px;flex-wrap:wrap;justify-content:center;gap:8px;font-size:16px}
 .subjects{column-gap:20px;margin-top:25px}.subjects>div{gap:10px;padding:18px 0;align-items:baseline}
 .subjects h3{font-size:18px;line-height:1.4}.subjects span{font-size:13px;flex-shrink:0}
 .beyond{padding:42px 0}.enroll{padding:25px 20px;gap:28px}
 .docs{border-left:0;border-top:1px solid #19437f25;padding:24px 0 0}.docs li{font-size:16px;line-height:1.6}
 .docs h3{font-size:22px}.docs li span{flex-shrink:0}
 .final-copy h2{margin:18px 0}.final-copy p{font-size:16px}
 .final-photo{border-top-right-radius:32px}
 footer{padding-top:40px}.footer-grid{grid-template-columns:1fr;gap:28px}
 .footer-grid p{font-size:16px}.footer-grid small{font-size:13px}
 .copyright{font-size:12px;padding:18px 0 calc(84px + env(safe-area-inset-bottom,0px));margin-top:30px;line-height:1.75;overflow-wrap:anywhere}
 .floating{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}.topbar{gap:10px}.topbar>img{width:90px}.topbar .button{font-size:12px}.subjects{grid-template-columns:1fr}.enroll{padding:22px 16px}}

.floating{width:auto;height:auto;min-height:48px;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:800;line-height:1.5;text-decoration:none;text-align:center}@media(max-width:760px){.floating{width:auto;height:auto;min-height:48px;padding:12px 18px}}
/* Keep the opening bar visible while scrolling. */
.topbar{position:sticky;top:0;z-index:200;background:var(--cream);box-shadow:0 0 0 100vmax var(--cream),0 4px 14px rgba(25,67,127,.06);clip-path:inset(0 -100vmax -16px)}
/* Smaller header logo with comfortable clearance. */
.topbar>img{width:128px;height:auto;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.topbar>img{width:92px}}
@media(max-width:360px){.topbar>img{width:80px}}

.final-copy .school-slogan{font-size:clamp(1.5rem,2.5vw,2.125rem);font-weight:800;line-height:1.2;letter-spacing:.025em;color:white;margin:0 0 30px;padding:0 0 24px;border-bottom:2px solid var(--green)}.school-slogan strong{color:var(--green);font-weight:800}@media(max-width:760px){.final-copy .school-slogan{font-size:1.625rem;margin-bottom:26px;padding-bottom:20px}}

/* Compact spacing and subtle proposal-card feedback. */
.section{padding:60px 0}
.hero{padding-top:40px;padding-bottom:48px;gap:48px}
.intro.section{padding-bottom:36px}
.proposal{padding-bottom:54px}
.pillars{margin-top:22px}
.pillars article{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.pillars .number{transition:color .22s ease}
@media(hover:hover) and (pointer:fine){
 .pillars article:hover{transform:translateY(-6px);box-shadow:0 12px 24px rgba(25,67,127,.12);background:#f5fae9}
 .pillars article:hover .number{color:var(--blue)}
}
.two-col{gap:56px}
.environment{gap:48px}
.subjects{margin-top:30px}
.subjects>div{padding:17px 0}
.beyond{padding:48px 0}
.enroll{padding:38px;gap:44px}
.final-grid{gap:44px}
.final-copy .school-slogan{margin-bottom:22px;padding-bottom:18px}
.final-copy h2{margin:18px 0}
.final-copy .button{margin-top:16px}
footer{padding-top:40px}
.copyright{margin-top:28px}
@media(min-width:1500px){.hero{padding-top:48px;padding-bottom:56px}}
@media(max-width:900px){.hero,.two-col,.environment,.final-grid{gap:30px}.enroll{padding:30px;gap:28px}}
@media(max-width:760px){
 .section{padding:36px 0}
 .hero{padding-top:26px;padding-bottom:30px;gap:24px}
 .intro.section{padding-bottom:28px}
 .proposal{padding-bottom:36px}
 .two-col,.environment,.final-grid{gap:22px}
 .pillars{margin-top:18px}
 .subjects{margin-top:22px}
 .beyond{padding:34px 0}
 .enroll{padding:24px 20px;gap:24px}
 .final-copy .school-slogan{margin-bottom:20px;padding-bottom:16px}
 footer{padding-top:30px}
 .footer-grid{gap:24px}
 .copyright{margin-top:24px}
}
@media(max-width:360px){.enroll{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){.pillars article,.pillars .number{transition:none}.pillars article:hover{transform:none}}
