@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--blue:#07579e;--navy:#102f50;--red:#ec242e;--yellow:#ffd02d;--ink:#172f45;--muted:#586977;--soft:#f3f7fa;--line:#dbe3ea}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.7;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button{cursor:pointer}img{display:block;width:100%;object-fit:cover;height:auto}h1,h2,h3{font-family:'Manrope',Arial,sans-serif;color:var(--navy);line-height:1.16;margin:0 0 22px;font-weight:700;letter-spacing:-.04em}h1{font-size:clamp(2.7rem,4.5vw,4.8rem)}h2{font-size:clamp(2rem,3vw,3.1rem)}h3{font-size:1.35rem;letter-spacing:-.025em}p{margin:0 0 23px;color:var(--muted)}.wrap{width:min(1320px,90%);margin-inline:auto}.utility{background:var(--navy);color:white;font-size:.75rem;letter-spacing:.1em;padding:8px 0}.utility .wrap{display:flex;justify-content:space-between}.utility b{color:var(--yellow);margin:0 10px}.utility .wrap>span+span{letter-spacing:.02em}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:108px}.brand{width:177px;flex-shrink:0;display:block;text-align:center}.brand img{object-fit:contain}.brand span{display:block;letter-spacing:.21em;font-size:.62rem;font-weight:700;margin-top:3px}nav{display:flex;gap:23px;align-items:center}nav a{font-size:.85rem;font-weight:600;white-space:nowrap;position:relative;padding:39px 0}nav a[aria-current]::after{content:'';position:absolute;bottom:25px;left:0;right:0;height:3px;background:var(--red)}nav a:hover{color:var(--blue)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:4%;padding:58px 0 65px;align-items:center}.hero-copy{padding:10px 0}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.16em;line-height:1.7;color:var(--blue);margin-bottom:22px}.small-line{display:inline-block;width:25px;height:3px;background:var(--red);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(2.6rem,4.3vw,4.5rem);line-height:1.12;letter-spacing:-.055em}.lead{font-size:1.12rem;max-width:590px;line-height:1.8}.hero .lead{max-width:460px}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{border:0;background:var(--blue);color:#fff;display:inline-flex;justify-content:space-between;align-items:center;gap:28px;padding:15px 23px;border-radius:4px;font-size:.9rem;font-weight:600;line-height:1.6;transition:background .2s}.button:hover{background:var(--navy)}.button span{font-size:1.2rem}.text-link{font-size:.9rem;font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #c6d6e4;padding-bottom:5px}.text-link:hover{border-color:var(--blue)}.hero-note{display:flex;gap:15px;align-items:center;margin-top:42px;font-size:.8rem;color:var(--muted);line-height:1.5}.sun{font-size:3rem;line-height:1;color:#d6a500}.hero-note strong{font-weight:500;color:var(--ink)}.hero-visual{position:relative;padding-bottom:22px}.hero-visual:before{content:'';position:absolute;right:-12px;top:-12px;width:34%;height:35%;background:var(--yellow);border-radius:0 90px 0 0;z-index:-1}.hero-visual img{height:520px;object-position:50% 50%;border-radius:3px 80px 3px 3px}.image-label{position:absolute;left:-24px;bottom:60px;background:white;padding:15px 24px;border-left:5px solid var(--red);box-shadow:0 6px 22px #17334d15;font-size:.95rem;font-weight:600}.photo-label{position:absolute;right:0;bottom:0;font-size:.7rem;color:var(--muted)}.path-strip{border-block:1px solid var(--line);background:#fbfcfd}.path-strip .wrap{display:flex;align-items:center;justify-content:space-between;padding:24px 0;gap:25px}.path-strip .wrap>span{color:var(--muted);font-size:.8rem}.path-strip a{font-weight:600;font-size:.95rem}.path-strip a:hover{color:var(--blue)}.section{padding-top:90px;padding-bottom:90px}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.large-copy{font-size:1.35rem;line-height:1.6;color:var(--ink)}.soft{background:var(--soft)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head h2{margin-bottom:0}.section-head .text-link{flex-shrink:0}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program{padding:26px 23px;background:#fff;border-top:3px solid var(--blue);display:flex;flex-direction:column;align-items:flex-start}.program:nth-child(2){border-color:var(--yellow)}.program:nth-child(3){border-color:var(--red)}.program:nth-child(4){border-color:var(--navy)}.program-number{font-family:'Manrope',sans-serif;font-size:2.4rem;color:#8ba6bc;font-weight:500;margin-bottom:26px;line-height:1}.program .eyebrow{font-size:.68rem;margin-bottom:12px}.program h3{font-size:1.25rem}.program p:not(.eyebrow){font-size:.9rem;line-height:1.75}.program .text-link{font-size:.8rem;margin-top:auto}.life-block{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.life-block img{height:440px;border-radius:4px 4px 70px 4px}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.story img{height:230px;border-radius:4px;margin-bottom:24px}.story .eyebrow{font-size:.65rem;margin-bottom:12px}.story .eyebrow span{color:var(--muted);letter-spacing:.06em}.story h3{font-size:1.45rem}.story h3 a:hover{color:var(--blue)}.cta{padding:48px 58px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:85px;border-radius:5px;border-left:7px solid var(--yellow)}.cta h2,.cta p{color:white}.cta p:last-child{margin:0;opacity:.85}.cta .eyebrow{color:var(--yellow)}.light{background:white;color:var(--blue);flex-shrink:0}.light:hover{background:var(--yellow);color:var(--navy)}footer{padding:60px 0 20px;background:var(--soft);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:45px}.footer-brand{width:165px;mix-blend-mode:multiply;margin-bottom:24px}.footer-grid h3{font-size:.9rem;letter-spacing:0}.footer-grid p,.footer-grid a:not(.brand){font-size:.85rem}.footer-grid a:not(.brand){display:block;margin-bottom:10px;color:var(--muted)}.footer-grid a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:var(--muted)}.page-intro{padding-top:70px;padding-bottom:50px}.page-intro h1{max-width:1000px}.page-intro .lead{max-width:730px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.feature img{height:430px;border-radius:4px 70px 4px 4px}.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.value{border-top:2px solid var(--line);padding-top:30px}.value>span{display:block;color:var(--blue);letter-spacing:.13em;margin-bottom:25px;font-size:.8rem}.value:nth-child(2){border-color:var(--yellow)}.value:nth-child(3){border-color:var(--red)}.stage-nav{display:flex;gap:14px;flex-wrap:wrap}.stage-nav a{padding:10px 18px;background:var(--soft);border:1px solid var(--line);border-radius:3px;font-size:.9rem}.stage-nav a:hover{background:var(--blue);color:#fff}.stage{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding:45px 0;border-top:1px solid var(--line)}.muted{font-size:.88rem;color:var(--muted)}.admissions-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:start}.step{display:flex;gap:25px;margin-top:30px}.step>span{font-size:1.2rem;color:var(--blue);background:var(--soft);height:48px;min-width:48px;text-align:center;line-height:48px;border-radius:50%}.step h3{margin-bottom:8px}.info-panel{padding:35px;background:var(--soft);border-top:4px solid var(--yellow);border-radius:4px}.info-panel h2{font-size:2rem}hr{border:0;border-top:1px solid var(--line);margin:30px 0}.narrow{max-width:900px}details{border-bottom:1px solid var(--line);padding:22px 0}summary{font-size:1.1rem;font-weight:600;cursor:pointer;color:var(--navy)}details p{padding-top:17px;margin-bottom:5px}figcaption{font-size:.8rem;color:var(--muted);padding-top:10px}.panorama img{height:460px;border-radius:4px}.content-note{padding:20px 0;border-top:1px solid var(--line);font-size:.85rem;margin-top:35px}.resource-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;margin-bottom:90px}.checklist{padding-left:20px;margin-bottom:30px}.checklist li{margin-bottom:15px;color:var(--muted)}.filter-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:45px}.filter{background:#fff;border:1px solid var(--line);padding:10px 20px;border-radius:24px;color:var(--ink);font-size:.9rem}.filter.active{background:var(--blue);border-color:var(--blue);color:#fff}.news-article{display:grid;grid-template-columns:1fr 1.2fr;gap:6%;align-items:center;margin-bottom:55px}.news-article img{height:300px;border-radius:4px}.news-article h2{font-size:2rem}.news-article[hidden]{display:none}.event{display:flex;gap:30px;align-items:center;border-top:1px solid var(--line);padding-top:30px}.event .text-link{margin-left:auto}.event p{margin:0}.event h3{margin-bottom:10px}.date-box{background:#fff;text-align:center;padding:12px 20px;color:var(--blue);font-size:.75rem;line-height:1.6}.date-box strong{font-size:1.4rem}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;margin-bottom:90px}dt{font-size:.7rem;letter-spacing:.15em;color:var(--blue);font-weight:700;margin-top:25px}dd{margin:8px 0 0;color:var(--muted)}.inquiry{background:var(--soft);padding:36px;border-radius:5px}.inquiry h2{font-size:2rem}.inquiry>p{font-size:.9rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.85rem;font-weight:600;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:12px;background:#fff;border:1px solid #aebfcb;border-radius:3px;margin-top:7px;color:var(--ink);font-size:1rem;min-width:0}textarea{resize:vertical}#form-result{margin-top:25px;border-left:3px solid var(--blue);padding-left:18px}#form-result p{font-size:.9rem}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:14px;z-index:100}.skip-link:focus{top:5px}
@media(min-width:1500px){.hero{padding-block:75px}}@media(max-width:1150px){nav{gap:13px}nav a{font-size:.76rem}.brand{width:145px}.hero-visual img{height:470px}.hero h1{font-size:3.3rem}.program-grid{grid-template-columns:repeat(2,1fr)}.hero-note{margin-top:26px}}@media(max-width:950px){.header-inner{min-height:90px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 14px;color:var(--navy);border-radius:3px}nav{display:none;position:absolute;top:90px;left:0;width:100%;padding:15px 5%;background:white;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #102f5010;max-height:80vh;overflow-y:auto}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0}nav a{padding:12px;font-size:.95rem}nav a[aria-current]::after{bottom:6px;left:12px;width:25px}.hero h1{font-size:2.9rem}.hero{gap:5%}.hero-visual img{height:450px}.actions{gap:18px}.hero .lead{font-size:1rem}.image-label{left:-12px;font-size:.8rem;padding:12px}.section{padding-block:65px}.footer-grid{gap:25px}.three-grid{gap:25px}.contact-grid{gap:5%}.inquiry{padding:25px}}@media(max-width:700px){.utility .wrap>span+span{display:none}.utility{font-size:.63rem}.wrap{width:89%}.hero{grid-template-columns:1fr;padding-top:35px;padding-bottom:30px}.hero h1{font-size:clamp(2.7rem,10vw,4rem)}.hero-copy{padding-bottom:30px}.hero-note{margin-top:25px}.hero-visual{margin-left:12px}.hero-visual img{height:390px}.path-strip .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px}.path-strip .wrap>span{grid-column:1/-1}.path-strip a{font-size:.85rem}.split,.life-block,.feature,.stage,.admissions-layout,.resource-grid,.contact-grid,.news-article{grid-template-columns:1fr;gap:25px}.section{padding-block:50px}.section-head{align-items:start;flex-direction:column;gap:18px;margin-bottom:30px}.program-grid{gap:14px}.program{padding:22px 16px}.program h3{font-size:1.1rem}.program p:not(.eyebrow){font-size:.85rem}.program .text-link{font-size:.75rem;gap:6px}.life-block img{height:330px}.stories{grid-template-columns:1fr;gap:35px}.story img{height:270px}.cta{padding:32px 26px;flex-direction:column;align-items:start;margin-bottom:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-bottom{flex-direction:column;gap:5px}.page-intro{padding-top:40px;padding-bottom:30px}.feature img{height:300px}.three-grid{grid-template-columns:1fr;gap:20px}.stage{padding-block:30px}.stage h2{margin-bottom:0}.panorama img{height:300px}.resource-grid{margin-bottom:50px}.news-article img{height:260px}.event{flex-wrap:wrap;gap:20px}.event .text-link{margin-left:0}.contact-grid{margin-bottom:50px}.form-row{grid-template-columns:1fr;gap:0}.info-panel{padding:25px}.lead{font-size:1.05rem}.three-grid p{margin-bottom:0}.news-article h2{font-size:1.8rem}.news-article{margin-bottom:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.grade-highlight{color:inherit;font-weight:600;text-decoration:none;}

.life-photo{overflow:hidden;border-radius:4px 4px 70px 4px}.life-photo img{border-radius:0;transform:scale(1.6);transform-origin:right bottom;object-position:right bottom;}

/* Quiet interactive feedback; photo framing remains unchanged. */
@media (prefers-reduced-motion: no-preference) {
  .button {transition:background .2s, translate .25s, box-shadow .25s;}
  .button span,.text-link span {transition:translate .25s;}
  .program {transition:translate .3s,box-shadow .3s;}
  .story img {transition:filter .35s;}
  @media (hover:hover) and (pointer:fine) {
    .button:hover {translate:0 -2px;box-shadow:0 7px 18px #102f5018;}
    .button:hover span,.text-link:hover span {translate:3px -2px;}
    .program:hover {translate:0 -5px;box-shadow:0 12px 28px #102f5010;}
    .story:hover img {filter:brightness(1.045);}
  }
  .button:active {translate:0 0;}
}
@media print {
  * {animation:none!important;transition:none!important;}
}
