/* Homepage refinements: open compositions instead of repeated card grids. */
.values-ribbons{position:relative;isolation:isolate;overflow:hidden;background:#071f31;color:#fff;padding-block:85px 0}
.values-ribbons .eyebrow{color:var(--sky)}
.values-ribbons .values-intro h2{color:#fff;font-size:clamp(32px,3.8vw,51px);font-weight:500;line-height:1.5;letter-spacing:-1px;margin-bottom:22px}
.values-ribbons .values-intro h2 em{color:var(--lime);font-style:normal}
.values-ribbons .values-intro>p{font-size:17px;color:#c0d6e3;max-width:600px;line-height:2;margin:0}
.values-ribbons .text-link{color:#fff;border-color:#ffffff45;margin-top:22px}
.values-ribbons-rails{margin-top:60px;padding-block:20px 30px}
.values-ribbon{direction:ltr;overflow:hidden;background:var(--lime);color:var(--navy);padding-block:12px}
.values-ribbon-1{background:var(--sky);margin-top:13px}
.values-ribbon-track{width:100%}
.values-ribbon-track ol{direction:rtl;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;list-style:none}
.values-ribbon-track li[aria-hidden=true]{display:none}
.values-ribbon-track li{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;min-width:0}
.values-ribbon-track h3,.values-ribbon-track li>span{font-size:clamp(19px,2vw,27px);font-weight:500;line-height:1.6;color:var(--navy);margin:0}
.values-ribbon-track svg{width:30px;height:30px;opacity:.65;flex:none}
.values-ribbons.is-ready .values-ribbon{transform:rotate(-3deg)}
.values-ribbons.is-ready .values-ribbon-1{transform:rotate(3deg)}
.values-ribbons.is-ready .values-ribbon-track{display:flex;width:max-content;animation:values-ribbon-drift var(--values-cycle-duration,36s) linear infinite;animation-play-state:paused}
.values-ribbons.is-ready .values-ribbon-1 .values-ribbon-track{animation-direction:reverse}
.values-ribbons.is-ready .values-ribbon-track ol{display:flex;align-items:center;flex-shrink:0;direction:ltr}
.values-ribbons.is-ready .values-ribbon-track li[aria-hidden=true]{display:flex}
.values-ribbons.is-ready .values-ribbon-track li{gap:32px;padding:0 26px;direction:rtl;flex-shrink:0}
.values-ribbons.is-ready .values-ribbon-track h3,.values-ribbons.is-ready .values-ribbon-track li>span{white-space:nowrap;font-size:clamp(28px,4vw,50px)}
.values-ribbons.is-in-view .values-ribbon-track{animation-play-state:running}
.values-ribbons .values-ribbons-caption{font-size:14px;color:#aec7d5;text-align:center;margin-top:38px;margin-bottom:0}
@keyframes values-ribbon-drift{to{transform:translateX(calc(-1 * var(--values-cycle-width,0px)))}}
@media(max-width:767px){
 .values-ribbons{padding-block:36px 0}
 .values-ribbons .values-intro h2{font-size:30px;margin-bottom:12px;letter-spacing:-.7px}
 .values-ribbons .values-intro>p{font-size:14px;line-height:1.9}
 .values-ribbons .text-link{font-size:13px;margin-top:14px}
 .values-ribbons-rails{margin-top:24px;padding-block:8px 16px}
 .values-ribbon{padding-block:9px}
 .values-ribbon-track ol{grid-template-columns:repeat(2,minmax(0,1fr))}
 .values-ribbon-track li{gap:9px;padding:15px 9px}
 .values-ribbons.is-ready .values-ribbon-track li{gap:14px;padding:0 14px}
 .values-ribbon-track h3,.values-ribbon-track li>span{font-size:19px}
 .values-ribbons.is-ready .values-ribbon-track h3,.values-ribbons.is-ready .values-ribbon-track li>span{font-size:24px}
 .values-ribbon-track svg{width:18px;height:18px}
 .values-ribbons .values-ribbons-caption{font-size:12px;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
 .values-ribbons.is-ready .values-ribbon{transform:none}
 .values-ribbons.is-ready .values-ribbon-track{animation:none!important;transform:none;width:100%;display:block}
 .values-ribbons.is-ready .values-ribbon-track ol{display:grid}
 .values-ribbons.is-ready .values-ribbon-track li[aria-hidden=true]{display:none}
 .values-ribbons.is-ready .values-ribbon-track li{padding:12px 14px;gap:12px}
 .values-ribbons.is-ready .values-ribbon-track h3{white-space:normal;font-size:clamp(19px,2vw,27px)}
}
.advantages-intro h2{font-size:clamp(32px,3.8vw,52px);line-height:1.55;margin-bottom:22px}
.school-advantages{background:radial-gradient(ellipse at 100% 10%,#6eb7e51a,transparent 65%),#f7faf5;color:var(--navy);position:relative;overflow:hidden}
.results-band>.flow-waves{--wave-front:var(--cool)}
.advantages-layout{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:50px;align-items:start}
.advantages-intro{position:sticky;top:120px;padding-top:15px}
.advantages-intro .eyebrow{color:var(--burgundy)}
.advantages-intro h2{color:var(--navy)}.advantages-intro h2 em{font-style:normal;color:var(--burgundy)}
.advantages-intro .text-link{color:var(--navy);border-color:#0c3d5f28}
.advantages-mark{position:relative;isolation:isolate;width:210px;height:157px;margin:20px 0 20px;perspective:750px}
.advantages-mark:before{content:"";position:absolute;z-index:-1;inset:25% 15% 20%;background:radial-gradient(ellipse,#98ca3d20,transparent 70%);filter:blur(12px);animation:advantages-aura 6.8s ease-in-out infinite}
.advantages-mark:after{content:"";position:absolute;z-index:-1;bottom:4px;left:17%;width:58%;height:10px;border-radius:50%;background:#0c3d5f13;filter:blur(5px);animation:advantages-ground 6.8s ease-in-out infinite}
.advantages-logo-flag{display:block;width:100%;height:100%;overflow:visible;transform-origin:25% 65%;animation:advantages-emblem-float 6.8s cubic-bezier(.45,0,.25,1) infinite}
.advantages-book{transform-box:fill-box;transform-origin:30% 75%;animation:advantages-book-breathe 6.8s ease-in-out infinite}
.advantages-flying-tile{transform-box:view-box;transform-origin:75% 45%;animation:advantages-tile-flight 6.8s cubic-bezier(.45,0,.25,1) var(--tile-delay) infinite}
@keyframes advantages-emblem-float{0%,100%{transform:translateY(0) rotateY(-5deg) rotateZ(-1deg)}48%{transform:translateY(-9px) rotateY(9deg) rotateZ(1.5deg)}}
@keyframes advantages-book-breathe{0%,100%{transform:rotate(-1deg)}48%{transform:rotate(1.5deg)}}
@keyframes advantages-tile-flight{0%,15%,85%,100%{transform:translate(0,0) rotate(0deg)}45%,55%{transform:translate(var(--tile-x),var(--tile-y)) rotate(5deg)}}
@keyframes advantages-aura{0%,100%{opacity:.4;transform:scale(.9)}48%{opacity:1;transform:scale(1.15)}}
@keyframes advantages-ground{0%,100%{opacity:.7;transform:scaleX(1)}48%{opacity:.35;transform:scaleX(.8)}}
@media(prefers-reduced-motion:reduce){.advantages-logo-flag,.advantages-book,.advantages-flying-tile,.advantages-mark:before,.advantages-mark:after{animation:none;transform:none}}
.advantages-list{list-style:none;margin:0;padding:0;border-top:1px solid #0c3d5f26;min-width:0}
.advantage-row{position:relative;display:flex;align-items:center;gap:22px;padding:25px 0;min-height:102px;border-bottom:1px solid #0c3d5f26}
.advantage-row:after{content:'';position:absolute;bottom:-1px;inset-inline:0;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .35s}
.advantage-row:hover:after,.advantage-row:focus-visible:after{transform:scaleX(1)}
.advantage-number{color:#57768a;font-size:12px;font-variant-numeric:tabular-nums;min-width:23px}
.advantage-symbol{color:var(--navy);display:flex}.advantage-symbol svg{width:24px;height:24px;stroke-width:1.5}
.advantage-row h3{font-size:clamp(19px,2vw,27px);font-weight:500;line-height:1.6;color:var(--navy);flex:1}
.advantage-arrow{color:#57768a;display:flex;transition:transform .25s,color .25s}.advantage-arrow svg{width:22px;height:22px}.advantage-row:hover .advantage-arrow{transform:translateX(-5px);color:var(--burgundy)}
.showcase .showcase-play{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #ffffff80;background:#ffffff12;backdrop-filter:blur(8px);padding:0;transition:background .2s,transform .2s}
.showcase .showcase-play svg{width:22px;height:22px;border:0;padding:0;border-radius:0;stroke-width:1.8}
.showcase .showcase-play:hover{background:#98ca3d33;transform:scale(1.06)}
@media(max-width:1100px){.advantages-layout{gap:28px}}
@media(max-width:767px){
 .school-advantages{padding-block:55px}
 .advantages-layout{grid-template-columns:1fr;gap:28px}
 .advantages-intro h2{font-size:34px;margin-bottom:16px}
 .advantages-intro{position:relative;top:0;padding:0}.advantages-mark{display:none}
 .advantage-row{padding:20px 0;min-height:85px;gap:13px}.advantage-row h3{font-size:19px}.advantage-number{min-width:18px;font-size:10px}.advantage-symbol svg{width:21px;height:21px}.advantage-arrow svg{width:18px;height:18px}
 .showcase .showcase-play{width:49px;height:49px;margin-inline-start:7px}
}
@media(max-width:899px){
 .school-story .carousel-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center}
 .school-story .circle-control{width:44px;height:44px}
 .school-story .carousel-dots{display:flex;flex-direction:row;justify-content:center;min-width:0;gap:0}
 .school-story .carousel-dots button{width:auto;min-width:0;flex:1;max-width:24px;padding-inline:2px}
 .school-story .carousel-dots button[aria-pressed=true] span{height:7px;width:19px}
}
@media(min-width:768px) and (max-width:899px){.school-story .story-slider{padding-bottom:85px}.school-story .carousel-controls{left:20px;right:20px;top:auto;bottom:20px}}
@media(max-width:360px){.advantage-row{gap:10px}.advantage-row h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.advantage-row:after,.advantage-arrow,.showcase .showcase-play{transition:none}}
/* Registration: a frosted shell with tinted light behind the glass. */
#registration{position:relative;isolation:isolate;background:radial-gradient(ellipse at 12% 30%,#6eb7e54d,transparent 45%),radial-gradient(ellipse at 90% 80%,#98ca3d35,transparent 46%),radial-gradient(ellipse at 70% 10%,#65091618,transparent 40%),#eef2f3}
#registration .enroll-panel{position:relative;isolation:isolate;gap:12px;padding:12px;border:1px solid #ffffffd9;border-radius:38px;background:linear-gradient(135deg,#ffffff94,#ffffff52);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff8c,0 24px 65px #0c3d5f12,0 5px 14px #0c3d5f08;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%)}
#registration .enroll-panel:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(120deg,#ffffff70 0%,transparent 27%,transparent 72%,#ffffff38 100%)}
#registration .enroll-copy,#registration .enroll-form{position:relative;z-index:1;min-width:0}
#registration .enroll-copy{padding:48px;border:1px solid #ffffff94;border-radius:27px;background:radial-gradient(ellipse at 100% 0%,#ffffffa6,transparent 70%),linear-gradient(145deg,#65091612,#ffffff24 62%,#6eb7e51c);color:var(--navy);box-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #ffffff66}
#registration .enroll-copy:after{width:320px;height:320px;bottom:-200px;left:-130px;border-color:#ffffffa6;box-shadow:0 0 0 35px #ffffff14,0 0 0 70px #ffffff0d;pointer-events:none}
#registration .enroll-copy .eyebrow{color:var(--burgundy)}
#registration .enroll-copy h2{color:var(--navy)}
#registration .enroll-copy p{color:#35556a;opacity:1;line-height:2}
#registration .enroll-copy svg{color:var(--burgundy)}
#registration .enroll-form{padding:35px 32px;gap:20px;align-content:center}
#registration .enroll-form label{display:block;margin-bottom:9px;color:var(--navy);font-size:14px;font-weight:700}
#registration .enroll-form input:not([type=hidden]){width:100%;min-height:56px;padding:13px 17px;border:1px solid #ffffffd9;border-radius:16px;background:#ffffffa6;box-shadow:inset 0 1px 2px #0c3d5f07,0 2px 6px #0c3d5f04;color:var(--navy);font-size:16px;transition:background .2s,border-color .2s,box-shadow .2s}
#registration .enroll-form input::placeholder{color:#597286;opacity:1}
#registration .enroll-form input:focus{background:#fffffff2;border-color:#6eb7e5;outline:2px solid #6eb7e554;outline-offset:2px;box-shadow:0 0 0 5px #6eb7e511}
#registration .enroll-form .button{min-height:54px;margin-top:5px;border:1px solid #ffffff47;border-radius:17px;background:linear-gradient(135deg,#7c162b,var(--burgundy));box-shadow:inset 0 1px 0 #ffffff26,0 8px 20px #65091620}
#registration .enroll-form .button:hover{background:linear-gradient(135deg,#175577,var(--navy))}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#registration .enroll-panel{background:#f7fafb}#registration .enroll-copy{background:linear-gradient(145deg,#f3eaed,#edf5f7)}}
@media(max-width:1100px){#registration .enroll-copy{padding:35px}#registration .enroll-form{padding:28px 22px}}
@media(max-width:767px){#registration{padding-block:55px}#registration .enroll-panel{padding:8px;gap:0;border-radius:28px}#registration .enroll-copy{padding:27px 22px;border-radius:21px}#registration .enroll-copy h2{font-size:28px}#registration .enroll-copy p{font-size:15px}#registration .enroll-copy ul{margin-top:22px}#registration .enroll-copy li{font-size:13px}#registration .enroll-form{padding:28px 16px 20px;gap:20px}#registration .enroll-form .button{width:100%;justify-self:stretch}}
@media(prefers-reduced-motion:reduce){#registration .enroll-form input:not([type=hidden]){transition:none}}

.values-ribbons>.flow-waves{--wave-front:#f7faf5;margin-top:15px}
@media(max-width:767px){.values-ribbons>.flow-waves{height:32px;margin-top:12px}.values-ribbons .eyebrow{margin-bottom:10px}}
