/* Homepage experiences. Brand tokens and typography come from site.css. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{border:0;background:linear-gradient(100deg,#eef7fbda,#ffffffdc 48%,#f1f6e8d9);box-shadow:0 7px 40px #0c3d5f0c;transition:background .35s,box-shadow .35s,top .35s;backdrop-filter:blur(18px)}
.header-inner{min-height:90px;position:relative}.site-header:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 0,#6eb7e536,transparent 45%),radial-gradient(ellipse at 80% 0,#98ca3d2a,transparent 40%)}
.home-page .utility-bar{position:absolute;inset:0 0 auto;background:transparent;color:#ffffffb8;z-index:62;font-size:10px}
.home-page .site-header{position:fixed;inset:32px 0 auto;color:#fff;background:linear-gradient(180deg,#0c3d5f48,#0c3d5f08);box-shadow:none;backdrop-filter:blur(10px)}
.home-page .site-header.is-scrolled{top:0;background:linear-gradient(100deg,#eef7fbeb,#ffffffeb 48%,#f1f6e8eb);color:var(--navy);box-shadow:0 6px 30px #071f3112}
.home-page .site-header:not(.is-scrolled) .brand{border-radius:18px;background:radial-gradient(ellipse,#fffffff5 35%,#ffffffc4 64%,#ffffff00 74%)}
.home-page .site-header:not(.is-scrolled) .site-nav>.current{color:var(--lime)}
.header-cta{border-radius:30px;box-shadow:0 0 24px #65091630}.home-page .header-cta{border:1px solid #ffffff4d;background:#650916c9}
.nav-group summary{gap:5px}.nav-group summary .nav-chevron{width:14px;height:14px;flex:none;opacity:.8;transition:transform .25s ease,color .25s ease,opacity .25s ease}.nav-group summary:hover .nav-chevron,.nav-group summary:focus-visible .nav-chevron{opacity:1;color:var(--lime)}.nav-group[open] summary .nav-chevron{transform:rotate(180deg);color:var(--lime);opacity:1}.site-header.is-scrolled .nav-group[open] summary .nav-chevron{color:var(--burgundy)}
@media(max-width:1080px){.nav-group summary .nav-chevron{width:18px;height:18px;opacity:1}.nav-group summary:hover .nav-chevron,.nav-group[open] summary .nav-chevron{color:var(--burgundy)}}
@media(prefers-reduced-motion:reduce){.nav-group summary .nav-chevron{transition:none}}
.nav-dropdown{padding:10px 4px 12px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow-y:auto;scrollbar-width:thin;max-height:calc(100dvh - 150px);width:244px;perspective:900px}
.nav-dropdown a{margin-bottom:7px;padding:11px 16px;border:1px solid #ffffff70;background:#fffffff5;backdrop-filter:blur(20px);box-shadow:0 5px 18px #071f3114;border-radius:10px;color:var(--navy);transform-origin:top center;line-height:1.7;transition:background .2s,color .2s,translate .2s}
.nav-group[open] .nav-dropdown a{animation:menu-drop .4s both;animation-delay:calc(var(--menu-step)*45ms)}
.nav-dropdown a:hover{background:var(--navy);color:#fff;translate:-4px 0;box-shadow:0 5px 22px #6eb7e550}
@keyframes menu-drop{from{opacity:0;transform:translateY(-13px) rotateX(-12deg)}to{opacity:1;transform:none}}
.carousel-controls{display:none;align-items:center;justify-content:center;gap:12px}.carousel-ready .carousel-controls{display:flex}
.circle-control{width:46px;height:46px;flex:none;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--navy);font-size:21px;transition:background .2s,transform .2s}.circle-control:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.carousel-dots{display:flex;align-items:center;gap:0}.carousel-dots button{width:28px;height:44px;border:0;padding:8px;background:transparent;display:grid;place-items:center}.carousel-dots button span{width:7px;height:7px;background:#0c3d5f35;border-radius:10px;transition:height .3s,width .3s,background .3s}.carousel-dots button[aria-pressed=true] span{height:22px;background:var(--burgundy)}
.carousel-ready [data-slide]:not(.is-active){pointer-events:none}.story-slider.carousel-ready [data-slide]:not(.is-active),.news-carousel.carousel-ready [data-slide]:not(.is-active){display:none}
.showcase{position:relative;background:var(--dark);color:#fff;overflow:hidden;isolation:isolate}.showcase-slides{display:grid}.showcase-slide{grid-area:1/1;position:relative;min-width:0;opacity:0;visibility:hidden;transition:opacity .85s,visibility .85s;min-height:800px;min-height:clamp(760px,100svh,1050px)}.showcase-slide.is-active{opacity:1;visibility:visible;z-index:1}.showcase-photo{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:30% 42%;transform:scale(1.05);transition:transform 7s linear}.showcase-slide.is-active .showcase-photo{transform:scale(1)}
.showcase-shade{position:absolute;inset:0;background:linear-gradient(270deg,#071f31ed 0%,#0c3d5fc9 35%,#071f3130 73%),linear-gradient(0deg,#071f31e0,transparent 42%,#071f3140)}
.showcase-content{position:relative;min-height:inherit;display:flex;align-items:center;padding-block:170px 200px}.showcase-copy{width:58%;max-width:730px}.showcase .eyebrow{color:var(--lime);font-size:14px}.showcase h1,.showcase h2{color:#fff;font-size:clamp(42px,4.7vw,72px);line-height:1.45;letter-spacing:-1.5px;margin-bottom:22px}.showcase em{color:var(--lime);font-style:normal}.showcase-copy>p{font-size:19px;line-height:2;max-width:520px;color:#e5edf3;margin-bottom:30px}.showcase .button{background:var(--lime);color:var(--dark);border-radius:30px;min-height:55px;padding-inline:28px}.showcase .button:hover{background:#fff}.showcase-play{display:flex;align-items:center;gap:12px;font-size:13px;padding:10px}.showcase-play svg{width:40px;height:40px;border:1px solid #ffffff66;border-radius:50%;padding:10px}
.showcase-slide.is-active .showcase-copy{animation:scene-copy .9s both}.showcase-note{position:absolute;left:0;bottom:230px;display:flex;gap:14px;align-items:center;border:1px solid #ffffff44;background:#ffffff12;backdrop-filter:blur(15px);border-radius:18px;padding:16px 22px;font-size:12px;max-width:330px}.showcase-note svg{color:var(--lime);width:30px;height:30px}
@keyframes scene-copy{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.showcase-bottom{position:absolute;bottom:85px;inset-inline:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:35px}.showcase-pagination{display:none;gap:25px;max-width:760px;flex:1}.carousel-ready .showcase-pagination{display:flex}.showcase-pagination button{color:#ffffff9c;background:transparent;border:0;text-align:right;position:relative;flex:1;padding:14px 0 16px;min-width:0;line-height:1.8}.showcase-pagination button span{font-size:12px;margin-inline-end:12px;color:var(--lime)}.showcase-pagination strong{font-size:13px;font-weight:400}.showcase-pagination i{position:absolute;bottom:0;right:0;left:0;height:2px;background:#ffffff35}.showcase-pagination i:after{content:'';position:absolute;right:0;top:0;height:100%;width:0;background:var(--lime);transition:width .5s}.showcase-pagination button[aria-pressed=true]{color:#fff}.showcase-pagination button[aria-pressed=true] i:after{width:100%}.showcase .circle-control{color:#fff;border-color:#ffffff5c;background:#ffffff0d}.showcase .circle-control:hover{background:#ffffff30}.showcase .carousel-dots:empty{display:none}
.showcase-objects{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.object-ring{position:absolute;left:7%;top:26%;width:190px;height:190px;border:1px solid #ffffff36;border-radius:50%;box-shadow:0 0 0 35px #ffffff06;animation:object-drift 9s ease-in-out infinite}.object-spark{position:absolute;left:7%;top:25%;font-size:65px;color:var(--lime);animation:object-drift 7s ease-in-out infinite reverse}.object-cube{position:absolute;left:34%;top:28%;display:grid;place-items:center;width:65px;height:65px;border:1px solid #ffffff50;background:#6eb7e52e;backdrop-filter:blur(12px);border-radius:18px;transform:rotate(-13deg);animation:object-drift 8s ease-in-out infinite}.object-cube svg{width:30px;height:30px}.object-path{position:absolute;left:4%;top:44%;width:40%;height:150px;border:1px dashed #ffffff22;border-inline-end:0;border-block-start:0;border-radius:0 0 0 100%}
@keyframes object-drift{50%{translate:0 -18px;rotate:8deg}}
.flow-waves{height:72px;width:100%;overflow:hidden;pointer-events:none;--wave-front:#fff;--wave-one:#6eb7e5;--wave-two:#98ca3d;position:relative;z-index:4;margin-bottom:-1px}.flow-waves svg{display:block;width:100%;height:100%;max-width:none}.flow-waves use{animation:wave-travel 18s cubic-bezier(.55,.5,.45,.5) infinite;fill:var(--wave-front)}.flow-waves use:nth-child(1){fill:var(--wave-one);opacity:.32;animation-duration:9s;animation-delay:-3s}.flow-waves use:nth-child(2){fill:var(--wave-two);opacity:.27;animation-duration:13s;animation-delay:-5s}.flow-waves use:nth-child(3){opacity:.5;animation-duration:16s;animation-delay:-7s}.flow-waves use:nth-child(4){animation-duration:23s;animation-delay:-9s}.showcase>.flow-waves{position:absolute;bottom:0;left:0}
@keyframes wave-travel{from{transform:translate3d(-90px,0,0)}to{transform:translate3d(85px,0,0)}}
.school-promise{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:24px;border-bottom:1px solid var(--line);font-size:14px}.school-promise span,.school-promise a{display:flex;align-items:center;gap:12px}.school-promise span svg{color:var(--burgundy)}.school-promise a{color:var(--navy)}
.school-story{background:radial-gradient(ellipse at 0% 60%,#6eb7e51a,transparent 50%);padding-bottom:110px}.story-slider{position:relative;margin:70px 45px 0 20px;background:#fff;box-shadow:0 20px 80px #0c3d5f14;border:1px solid #0c3d5f0c;border-radius:32px;padding:38px 0 30px 60px;min-width:0}.story-slide{display:grid;grid-template-columns:37% 1fr;gap:28px;align-items:center;min-height:370px}.story-slide+.story-slide{margin-top:55px}.carousel-ready .story-slide+.story-slide{margin:0}.story-image{position:relative;margin-inline-start:-45px;align-self:center;aspect-ratio:.95;border-radius:25px;box-shadow:0 20px 30px #65091622;overflow:hidden;background:var(--navy);transform:rotate(2deg)}.story-image>img{width:100%;height:100%;object-fit:cover}.story-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#071f31c4)}.story-image-label{position:absolute;bottom:22px;inset-inline:25px;color:#fff;z-index:1;display:flex;align-items:center;justify-content:space-between;font-size:15px}.story-image-label svg{color:var(--lime)}.story-text{padding:15px 20px;min-width:0}.story-index{font-size:14px;color:var(--muted)}.story-index>span{color:var(--burgundy);font-size:17px;margin-inline-end:10px}.story-text h3{font-size:32px;margin-block:12px 22px}.story-body{font-size:16px;line-height:2.1;margin-bottom:25px}.story-text .button{border-radius:28px;min-height:45px;font-size:12px;box-shadow:0 8px 25px #65091620}.story-slider .carousel-controls{position:absolute;left:10px;top:0;bottom:0;flex-direction:column;gap:8px}.story-slider .carousel-dots{flex-direction:column}.story-slider .carousel-dots button{width:35px;height:28px}.story-slide.is-active .story-text{animation:scene-copy .5s both}
.results-band{padding-bottom:0}.results-band>.flow-waves{margin-top:35px}.result-item strong,[data-count]{font-variant-numeric:tabular-nums}
.app-universe{position:relative;background:radial-gradient(ellipse at 70% 40%,#6eb7e526,transparent 55%),linear-gradient(130deg,#eef7fb,#f6f8ef 70%,#f4eee5);overflow:clip}.app-universe .section{padding-bottom:40px}.app-universe h2{font-size:clamp(32px,4vw,54px)}.app-universe h2 em{font-style:normal;color:var(--burgundy)}.app-journey{display:grid;grid-template-columns:1fr 1.13fr;gap:65px;align-items:start;position:relative}.app-dock{grid-column:2;grid-row:1;position:sticky;top:110px;align-self:start;min-width:0}.app-scene{position:relative;height:610px;perspective:1100px;isolation:isolate;display:grid;place-items:center}.app-halo{position:absolute;width:85%;aspect-ratio:1;background:radial-gradient(circle,#6eb7e548,#98ca3d12 60%,transparent 71%);z-index:-2;filter:blur(6px)}.app-orbit{position:absolute;width:91%;aspect-ratio:1;border:1px solid #0c3d5f24;border-radius:50%;z-index:-1;transform:rotateX(56deg) rotateZ(-20deg)}.orbit-two{width:105%;transform:rotateX(65deg) rotateZ(40deg);border-style:dashed;border-color:#65091624}.app-orbit:before{content:'';position:absolute;width:13px;height:13px;border-radius:50%;top:20%;left:10%;background:var(--lime);box-shadow:0 0 22px #98ca3daa}.orbit-two:before{background:var(--sky);left:85%;top:72%;width:19px;height:19px}.app-platform{position:absolute;bottom:76px;left:15%;width:70%;height:75px;border-radius:50%;background:#0c3d5f1a;filter:blur(20px);transform:rotate(-8deg)}.app-device{width:115%;max-width:115%;height:auto;position:relative;filter:drop-shadow(12px 26px 18px #0c3d5f25);transform:rotateY(-12deg) rotateZ(7deg);will-change:transform}.app-satellite{position:absolute;background:#ffffffdf;border:1px solid #fff;backdrop-filter:blur(10px);box-shadow:0 12px 30px #0c3d5f15;border-radius:18px;padding:14px 18px;display:flex;align-items:center;gap:12px;color:var(--navy);font-size:14px;z-index:2;transition:background .5s,box-shadow .5s,scale .5s}.app-satellite>svg{width:34px;height:34px;background:var(--cool);padding:7px;border-radius:10px}.app-satellite small{display:block;font-size:10px;color:var(--muted)}.satellite-homework{top:95px;right:-12px}.satellite-attendance{bottom:110px;right:4px}.satellite-notice{left:-12px;top:245px}.app-satellite.is-active{box-shadow:0 12px 40px #98ca3d30;border-color:var(--lime);scale:1.07}.app-scene-label{position:absolute;bottom:25px;color:var(--navy);font-size:12px;letter-spacing:1px}.app-chapters{grid-column:1;grid-row:1;position:relative;padding-block:10px 40px}.app-chapters:before{content:'';position:absolute;right:26px;top:65px;bottom:100px;width:1px;background:linear-gradient(var(--sky),var(--lime),var(--burgundy))}.app-chapter{position:relative;display:flex;gap:27px;align-items:start;min-height:365px;padding-block:50px 30px;transition:opacity .5s}.chapter-number{background:#eaf2ee;display:grid;place-items:center;border:1px solid var(--line);width:54px;height:54px;flex:none;border-radius:50%;font-size:18px;color:var(--navy);transition:background .4s,color .4s}.app-chapter.is-active .chapter-number{background:var(--navy);color:#fff;box-shadow:0 0 0 8px #6eb7e517}.app-chapter h3{font-size:32px;line-height:1.5;margin-bottom:18px}.app-chapter p{max-width:350px;font-size:16px;color:var(--muted)}.chapter-tag{display:inline-flex;gap:9px;align-items:center;color:var(--burgundy);font-size:13px}.chapter-tag svg{width:18px;height:18px}.app-get{display:flex;justify-content:space-between;align-items:center;gap:25px;background:#ffffffb8;border:1px solid #fff;border-radius:25px;padding:30px 35px;margin-top:10px;box-shadow:0 15px 45px #0c3d5f08}.app-get h3{font-size:24px}.app-get p{font-size:14px;margin:7px 0 0}.app-get .app-downloads{margin:0;display:flex;gap:12px}.app-get .store-link{color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:15px;min-width:180px}.app-get .store-link img{width:62px;height:62px}.app-get .store-link small{color:var(--muted)}
.news-showcase{overflow:hidden;background:#fff}.news-carousel{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.news-stack{position:relative;min-width:0;perspective:1000px;direction:ltr}.carousel-ready .news-stack{height:590px}.news-stack-card{display:block;position:relative;padding:0;border:5px solid #fff;border-radius:24px;box-shadow:0 20px 45px #0c3d5f21;overflow:hidden;background:var(--cool);width:100%;margin-bottom:20px;aspect-ratio:1.6;transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .65s,opacity .65s}.carousel-ready .news-stack-card{position:absolute;width:90%;height:270px;aspect-ratio:auto;left:5%;top:50%;margin:-135px 0 0;transform:translateY(calc(var(--offset)*112px)) translateZ(calc(var(--distance)*-95px)) scale(calc(1 - var(--distance)*.07)) rotateX(calc(var(--offset)*-5deg));z-index:calc(5 - var(--distance));filter:saturate(.25);opacity:calc(1 - var(--distance)*.19)}.carousel-ready .news-stack-card.is-active{filter:none;transform:translateZ(0) scale(1.03);opacity:1}.news-stack-card img{height:100%;width:100%;object-fit:cover}.news-stack-card>span{position:absolute;bottom:15px;right:15px;width:36px;height:36px;border-radius:50%;background:#0c3d5fd9;color:#fff;display:grid;place-items:center;font-size:13px}.news-story h3{font-size:30px;line-height:1.7;margin-block:20px}.news-story p{font-size:16px;color:var(--muted);line-height:2}.news-story .card-meta{font-size:13px;gap:14px;flex-wrap:wrap}.news-story .card-meta>span{padding:5px 12px;background:var(--cool);border-radius:25px}.news-story .button{border-radius:26px;font-size:12px;margin-top:8px}.news-story.is-active{animation:scene-copy .5s both}.news-story+.news-story{margin-top:40px}.carousel-ready .news-story+.news-story{margin:0}.news-story-column .carousel-controls{justify-content:flex-start;margin-top:35px}.news-caption{display:block;font-size:12px;color:var(--muted);margin-top:15px}.news-story-column{min-width:0}
@media(min-width:1081px){.nav-group:last-child .nav-dropdown{right:auto;left:0}}
@media(max-width:1080px){.home-page .site-header:not(.is-scrolled) .menu-toggle{color:#fff}.home-page .site-header:not(.is-scrolled) .menu-lines{border-color:#fff}.home-page .site-header:not(.is-scrolled) .menu-lines:after{background:#fff}.site-nav{color:var(--navy);background:#f4f8fcf5;backdrop-filter:blur(25px);border-radius:0 0 22px 22px;box-shadow:0 25px 40px #071f3125;max-height:calc(100dvh - 125px)}.home-page .site-header:not(.is-scrolled) .site-nav>.current{color:var(--burgundy)}.nav-dropdown{width:100%;padding:0 8px 12px;max-height:none;overflow:visible;perspective:none}.nav-dropdown a{background:#fff;padding-block:12px}.header-inner{min-height:78px}.showcase-copy{width:68%}.showcase-note{bottom:210px;max-width:260px;font-size:10px;left:10px}.showcase-note svg{width:23px}.object-cube{left:20%}.showcase-pagination{gap:15px}.showcase-pagination strong{font-size:11px}.showcase-pagination button span{margin-inline-end:5px}.showcase-bottom{gap:20px}.news-carousel{gap:35px}.news-story h3{font-size:25px}.carousel-ready .news-stack{height:520px}.carousel-ready .news-stack-card{height:235px;margin-top:-117px}.app-journey{gap:25px}.app-scene{height:510px}.app-satellite{font-size:11px;padding:10px}.satellite-homework{right:0;top:75px}.satellite-notice{left:0;top:200px}.app-chapter{gap:15px}.app-chapter h3{font-size:28px}.app-get{padding:25px;flex-wrap:wrap}.story-slider{margin-inline:30px 0}.story-image{margin-inline-start:-30px}.story-text{padding-inline:8px}.story-text h3{font-size:27px}}
@media(max-width:767px){.home-page .site-header{top:28px}.header-inner{min-height:68px}.home-page .site-header:not(.is-scrolled) .brand{border-radius:12px}.showcase-slide{min-height:780px;min-height:max(750px,95svh)}.showcase-photo{object-position:37% 30%}.showcase-shade{background:linear-gradient(0deg,#071f31fa 6%,#071f31db 34%,#071f3166 77%,#071f3177),linear-gradient(270deg,#0c3d5f88,transparent)}.showcase-content{align-items:flex-end;padding-block:210px 200px}.showcase-copy{width:100%}.showcase h1,.showcase h2{font-size:clamp(37px,8.3vw,52px);line-height:1.5;letter-spacing:-.8px;margin-bottom:14px}.showcase .eyebrow{font-size:11px;margin-bottom:12px}.showcase-copy>p{font-size:15px;max-width:440px;line-height:2;margin-bottom:23px}.showcase .button{font-size:12px;min-height:49px;padding-inline:21px}.showcase .button-row{gap:6px}.showcase-play{font-size:11px;gap:7px;padding-inline:6px}.showcase-play svg{width:32px;height:32px;padding:8px}.showcase-note{display:none}.object-ring{width:120px;height:120px;left:10%;top:20%;box-shadow:0 0 0 25px #ffffff06}.object-spark{font-size:43px;top:18%;left:13%}.object-cube{left:60%;top:21%;width:45px;height:45px;border-radius:12px}.object-cube svg{width:22px;height:22px}.object-path{top:25%;width:75%;height:80px}.showcase-bottom{bottom:55px;display:flex;flex-wrap:wrap;gap:14px}.showcase-pagination{gap:16px;flex-basis:100%}.showcase-pagination button{padding-block:6px 12px}.showcase-pagination strong{font-size:9px;display:block;margin-top:4px;white-space:normal}.showcase-pagination button span{font-size:10px}.showcase .carousel-controls{margin-inline-start:auto;gap:8px}.showcase .circle-control{height:37px;width:37px;font-size:17px}.flow-waves{height:45px}.school-promise{padding-block:20px;align-items:start;flex-direction:column;gap:12px;font-size:12px}.school-promise svg{width:20px;height:20px}.school-story{padding-bottom:65px}.story-slider{margin:75px 0 0;padding:0 22px 25px;border-radius:25px}.story-slide{display:flex;flex-direction:column;gap:8px;min-height:0}.story-image{margin:-35px 0 0;width:88%;aspect-ratio:1.25;max-height:280px;transform:rotate(2deg);flex-shrink:0;border-radius:20px}.story-text{padding:25px 0 10px;width:100%}.story-text h3{font-size:25px;margin-block:10px 15px}.story-body{font-size:14px;line-height:2.1}.story-index{font-size:12px}.story-slider .carousel-controls{position:static;flex-direction:row;gap:7px;margin-top:16px;flex-wrap:wrap}.story-slider .carousel-dots{flex-direction:row;gap:0}.story-slider .carousel-dots button{width:23px;height:40px;padding:5px}.story-slider .circle-control{width:36px;height:36px}.story-slider .carousel-dots button[aria-pressed=true] span{height:7px;width:19px}.story-image-label{font-size:12px}.app-universe .section-heading{gap:20px}.app-universe .section-heading p{font-size:15px}.app-journey{display:flex;flex-direction:column;gap:0}.app-dock{position:relative;top:auto;width:100%}.app-scene{height:440px;max-width:470px;margin:auto}.app-device{width:108%;max-width:108%}.app-orbit{width:88%}.orbit-two{width:98%}.app-satellite{border-radius:12px;padding:10px 12px;gap:8px;font-size:11px}.app-satellite small{font-size:9px}.app-satellite>svg{width:28px;height:28px}.satellite-homework{top:50px;right:0}.satellite-attendance{bottom:75px;right:0}.satellite-notice{top:195px;left:0}.app-platform{bottom:70px}.app-scene-label{bottom:8px;font-size:11px}.app-chapters{padding-block:15px;width:100%}.app-chapters:before{right:22px;top:55px;bottom:70px}.app-chapter{min-height:0;padding-block:28px;gap:20px}.chapter-number{width:45px;height:45px;font-size:15px}.app-chapter h3{font-size:26px}.app-chapter h3 br{display:none}.app-chapter p{font-size:15px}.app-chapter .eyebrow{font-size:11px}.app-get{padding:23px 18px;gap:22px;border-radius:20px;margin-top:20px}.app-get h3{font-size:20px}.app-get .app-downloads{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.app-get .store-link{min-width:0;padding:12px 8px;gap:6px;flex-direction:column;text-align:center;font-size:13px}.app-get .store-link img{width:66px;height:66px}.news-carousel{display:flex;flex-direction:column;gap:12px}.news-stack{width:100%;perspective:900px}.carousel-ready .news-stack{height:360px}.carousel-ready .news-stack-card{width:85%;left:7.5%;height:230px;margin-top:-115px;border-width:4px;transform:translateX(calc(var(--offset)*-54px)) translateY(calc(var(--distance)*-24px)) translateZ(calc(var(--distance)*-100px)) scale(calc(1 - var(--distance)*.05)) rotateY(calc(var(--offset)*-8deg))}.carousel-ready .news-stack-card.is-active{transform:translateZ(0);opacity:1}.news-story-column{width:100%;text-align:center}.news-story .card-meta{justify-content:center;font-size:12px}.news-story h3{font-size:24px;margin-block:16px}.news-story p{font-size:15px}.news-story-column .carousel-controls{justify-content:center;margin-top:25px}.news-showcase .section-heading .button{font-size:12px;padding:11px 20px}.news-caption{margin-top:14px}.school-promise a{font-size:11px}}
@media(max-width:360px){.showcase h1,.showcase h2{font-size:35px}.showcase .button{padding-inline:16px;font-size:11px}.showcase-play{font-size:10px}.showcase-content{padding-top:200px}.story-slider{padding-inline:16px}.story-slider .carousel-dots button{width:20px}.story-slider .carousel-controls{gap:4px}.app-scene{height:375px}.satellite-notice{top:165px}.satellite-attendance{bottom:65px}.app-satellite{font-size:9px;padding:8px}.app-satellite small{font-size:8px}.news-story h3{font-size:21px}}
@media(max-height:550px) and (min-width:600px){.showcase-slide{min-height:720px}.showcase-content{padding-top:145px}.app-dock{position:relative;top:0}.site-nav{max-height:calc(100dvh - 105px)}}
html:not(.js) .home-page .site-header{position:relative;top:0;background:var(--navy)}html:not(.js) .home-page .utility-bar{position:static;background:var(--navy)}html:not(.js) .story-slide+.story-slide{margin-top:80px}html:not(.js) .news-stack{height:auto}html:not(.js) .app-dock{position:relative;top:0}
@media(prefers-reduced-motion:reduce){.showcase-photo,.app-device{transform:none!important}.app-dock{position:relative;top:0}.app-device{will-change:auto}.showcase-slide,.news-stack-card{transition:none!important}.showcase-objects span,.flow-waves use{animation:none!important}}

.app-device{height:530px;max-height:530px;object-fit:contain}
@media(max-width:1080px){.app-device{height:430px;max-height:430px}}
@media(max-width:767px){.app-device{height:360px;max-height:360px}}
@media(max-width:360px){.app-device{height:295px;max-height:295px}}
/* Readable supporting copy throughout the public site. */
.eyebrow{font-size:14px}.section-heading p{font-size:17px}.early-copy p,.intro-copy>p{font-size:17px}.editorial-content p,.card-meta{font-size:14px}.footer-grid p,.footer-grid a{font-size:14px}.visitor-count{font-size:12px}
@media(max-width:767px){.eyebrow{font-size:13px}.section-heading p,.early-copy p,.intro-copy>p{font-size:15px}.editorial-content p,.card-meta{font-size:13px}.footer-brand p{font-size:12px}.footer-grid a{font-size:13px}}

/* White branding over the opening header, original branding after scrolling. */
.brand{display:grid;position:relative}.brand img{grid-area:1/1;transition:opacity .25s}.brand-white{opacity:1}.brand-color{opacity:0}.site-header.is-scrolled .brand-white{opacity:0}.site-header.is-scrolled .brand-color{opacity:1}
.site-header:not(.is-scrolled){background:linear-gradient(120deg,#0c3d5ff5,#15394fe8);color:#fff}.home-page .site-header{top:0}.home-page .site-header:not(.is-scrolled){background:transparent;backdrop-filter:none}.home-page .site-header:not(.is-scrolled):before{inset:0 0 auto;height:clamp(160px,18vw,260px);background:linear-gradient(180deg,rgba(7,31,49,.82) 0%,rgba(12,61,95,.52) 31%,rgba(12,61,95,.18) 66%,rgba(12,61,95,0) 100%)}.home-page .site-header.is-scrolled:before{display:none}.home-page .site-header:not(.is-scrolled) .brand{background:none;border-radius:0}.site-header:not(.is-scrolled) .site-nav>.current{color:var(--lime)}.site-header:not(.is-scrolled) .menu-toggle{color:#fff}.site-header:not(.is-scrolled) .menu-lines{border-color:#fff}.site-header:not(.is-scrolled) .menu-lines:after{background:#fff}
.control-arrow{display:block}.story-slider .control-arrow{transform:rotate(-90deg)}

/* Reasons to join: dimensional objects, separate depth layers, and pointer tilt. */
.reasons-section{background:radial-gradient(ellipse at 85% 80%,#6eb7e512,transparent 50%),#fff;overflow:clip}.reasons-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;perspective:1400px}.reason-card{--tilt-x:0deg;--tilt-y:0deg;position:relative;display:flex;flex-direction:column;min-width:0;min-height:340px;padding:25px 28px 30px;border:1px solid #0c3d5f0e;border-radius:28px;transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .2s ease-out,box-shadow .25s;box-shadow:0 12px 32px #0c3d5f0d;background:var(--cream);color:var(--navy);isolation:isolate}.reason-card:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,20%),#ffffff36,transparent 62%);pointer-events:none}.reason-card:hover,.reason-card:focus-visible{box-shadow:0 25px 45px #0c3d5f22}.reason-tone-0{background:linear-gradient(145deg,#174f70,#071f31);color:#fff;border-color:#0c3d5f}.reason-tone-1{background:linear-gradient(145deg,#e5f0cb,#f2f7e7)}.reason-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;transform:translateZ(22px)}.reason-number{opacity:.7}.reason-arrow{width:32px;height:32px;border:1px solid currentColor;opacity:.65;border-radius:50%;display:grid;place-items:center}.reason-object{display:block;position:relative;width:165px;height:155px;margin:0 auto 18px;transform-style:preserve-3d;transform:translateZ(35px)}.reason-emblem{position:absolute;left:47px;top:29px;width:82px;height:82px;border-radius:23px;display:grid;place-items:center;background:linear-gradient(140deg,#fff,#dce9ed);color:var(--navy);box-shadow:-7px 9px 0 #0c3d5f1b,0 18px 30px #071f3125;transform:rotateX(14deg) rotateY(-20deg) rotateZ(-12deg);animation:reason-float 6s ease-in-out infinite}.reason-emblem svg{width:42px;height:42px}.reason-tone-0 .reason-emblem{background:linear-gradient(145deg,#bade77,#98ca3d);box-shadow:-7px 9px 0 #98ca3d40,0 18px 30px #071f3155}.reason-tone-1 .reason-emblem{background:linear-gradient(145deg,#8dcced,#6eb7e5)}.reason-orbit{position:absolute;inset:35px -6px 12px;border:1px solid currentColor;opacity:.22;border-radius:50%;transform:rotateX(65deg) rotateZ(-20deg)}.reason-base{position:absolute;left:29px;right:16px;bottom:16px;height:17px;border-radius:50%;background:#071f3130;filter:blur(11px)}.reason-dot{position:absolute;right:6px;top:27px;width:15px;height:15px;background:var(--burgundy);border-radius:5px;transform:rotate(30deg) translateZ(40px);box-shadow:-3px 4px 0 #65091622}.reason-tone-0 .reason-dot{background:var(--sky)}.reason-content{transform:translateZ(32px);margin-top:auto}.reason-content h3{font-size:22px;color:inherit;line-height:1.6;margin-bottom:12px}.reason-content>span{display:flex;align-items:center;justify-content:space-between;font-size:13px;opacity:.75}.reason-content svg{width:19px;height:19px}.reason-card:nth-child(2n) .reason-emblem{animation-delay:-2s}.reason-card:nth-child(3n) .reason-emblem{animation-delay:-4s}
@keyframes reason-float{50%{translate:0 -11px;rotate:5deg}}

/* Early years: a photographic depth panel with readable overlay copy. */
.early-section{overflow:clip}.early-layout{align-items:start}.early-feature-wrap{perspective:1300px;position:sticky;top:120px;min-width:0;padding:12px 10px}.early-feature-wrap:before{content:'';position:absolute;inset:28px 23px -4px -4px;border-radius:30px;background:linear-gradient(135deg,var(--sky),var(--lime));transform:rotate(3deg);opacity:.7}.early-feature{--tilt-x:2deg;--tilt-y:-4deg;position:relative;min-height:600px;display:flex;align-items:end;isolation:isolate;border-radius:27px;background:var(--navy);box-shadow:0 28px 50px #0c3d5f28;transform:perspective(1300px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .25s ease-out}.early-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.early-feature-overlay{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(0deg,#071f31fa 0%,#0c3d5ff0 32%,#0c3d5f94 65%,#071f311a 100%)}.early-feature-copy{position:relative;padding:42px 35px 35px;transform:translateZ(28px);color:#fff;z-index:2}.early-feature-copy .eyebrow{color:var(--lime);font-size:14px}.early-feature-copy h2{color:#fff;font-size:36px;line-height:1.55;margin-bottom:20px}.early-feature-copy p{color:#edf4f8;font-size:16px;line-height:2.1;max-width:420px;margin-bottom:25px}.early-feature-tag{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid #ffffff4d;background:#ffffff10;border-radius:25px;font-size:12px}.early-feature-tag svg{width:18px;height:18px;color:var(--lime)}.early-feature-orbit{position:absolute;top:36px;left:28px;width:62px;height:62px;border:1px solid #ffffff80;border-radius:18px;transform:translateZ(45px) rotate(-15deg);background:#ffffff14;backdrop-filter:blur(5px)}.early-feature-orbit:before{content:'';position:absolute;inset:12px;background:var(--lime);mask:url('vendor/lucide/icons/sparkles.svg') center/contain no-repeat}

/* Album details retain native image links and pagination without JavaScript. */
.route-albumphotosdet .page-banner{padding-block:45px}.album-experience{background:linear-gradient(180deg,#fff,#f7fafc);padding-top:55px}.album-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.album-toolbar h2{font-size:30px}.album-toolbar p{margin:10px 0 0;font-size:15px;color:var(--muted)}.album-toolbar .button{flex-shrink:0;border-radius:28px;font-size:13px}.album-summary{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:17px 22px;background:var(--cool);border:1px solid #0c3d5f0b;border-radius:16px;margin-bottom:28px;font-size:12px}.album-total{display:flex;align-items:center;gap:10px}.album-total strong{font-size:18px}.album-total svg{color:var(--burgundy);width:21px;height:21px}.album-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:250px;gap:22px}.album-photo{margin:0;min-width:0;border-radius:22px;box-shadow:0 10px 25px #0c3d5f0a;background:var(--navy);overflow:hidden}.album-photo:first-child{grid-column:span 2;grid-row:span 2}.album-photo-grid-small{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:390px}.album-photo-grid-small .album-photo:first-child{grid-column:auto;grid-row:auto}.album-photo-grid-small .album-photo:only-child{grid-column:1/-1}.album-photo-link{display:block;position:relative;width:100%;height:100%;isolation:isolate}.album-photo-link:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#071f31d9);pointer-events:none}.album-photo-link img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.album-photo-link:hover img,.album-photo-link:focus-visible img{transform:scale(1.06)}.album-photo-link:focus-visible{outline-offset:-6px}.album-zoom{position:absolute;top:18px;left:18px;width:40px;height:40px;border:1px solid #ffffff70;background:#071f3144;backdrop-filter:blur(10px);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:23px;transition:background .2s;z-index:1}.album-photo-link:hover .album-zoom{background:var(--burgundy)}.album-photo-caption{position:absolute;inset:auto 22px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#fff;z-index:1;font-size:13px}.album-photo-caption>span:last-child{display:flex;gap:10px;align-items:center;font-size:11px}.album-photo-caption svg{width:18px;height:18px}.album-photo:first-child .album-photo-caption{font-size:17px;bottom:25px}.album-pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:42px;flex-wrap:wrap}.album-pagination .pagination{margin:0;padding:0}.album-page-direction{font-size:13px;padding:10px 16px;border:1px solid var(--line);border-radius:25px;min-height:44px}.album-page-direction:hover{background:var(--navy);color:#fff}.album-empty{text-align:center;padding:70px 20px;background:#fff;border:1px solid var(--line);border-radius:25px}.album-empty>svg{width:50px;height:50px;margin-bottom:20px;color:var(--burgundy)}.album-empty h3{font-size:25px}.album-empty p{margin-block:18px 25px;color:var(--muted)}
.media-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px}.gallery-controls{display:flex;align-items:center;gap:14px}.gallery-controls span{font-size:13px;font-variant-numeric:tabular-nums;color:var(--navy)}.media-toolbar .dialog-external{margin:0;padding:8px 0}.gallery-viewer{width:min(1200px,94vw);padding:50px 25px 20px}.gallery-viewer .dialog-content{background:var(--dark);border-radius:14px;overflow:hidden}.gallery-viewer .dialog-content img{width:100%;max-height:70dvh;height:70dvh;object-fit:contain;margin:auto}.gallery-viewer .circle-control:disabled{opacity:.3}
@media(max-width:1080px){.site-header:not(.is-scrolled) .site-nav>.current{color:var(--burgundy)}.reasons-grid{gap:20px}.reason-card{padding:22px;min-height:325px}.reason-content h3{font-size:19px}.early-feature{min-height:600px}.early-feature-copy{padding:32px 25px}.early-feature-copy h2{font-size:30px}.album-photo-grid{grid-auto-rows:210px;gap:17px}}
@media(max-width:767px){.home-page .site-header{top:0}.story-slider .control-arrow{transform:none}.reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.reason-card{padding:18px 16px;min-height:285px;border-radius:22px}.reason-object{width:125px;height:125px;margin-bottom:14px}.reason-emblem{width:62px;height:62px;left:30px;top:26px;border-radius:18px}.reason-emblem svg{width:33px;height:33px}.reason-orbit{inset:30px 0 5px}.reason-dot{right:8px;top:15px;width:11px;height:11px}.reason-content h3{font-size:17px}.reason-content>span{font-size:11px;gap:5px}.reason-content svg{width:16px;height:16px}.reason-top{font-size:12px}.reason-arrow{width:28px;height:28px}.early-feature-wrap{position:relative;top:0;padding:8px 5px;margin-bottom:20px}.early-feature{min-height:520px}.early-feature-copy{padding:30px 25px}.early-feature-copy h2{font-size:31px}.early-feature-copy p{font-size:15px;line-height:2}.early-feature-copy .eyebrow{font-size:12px}.early-feature-orbit{width:52px;height:52px;top:28px}.early-feature-tag{font-size:11px}.route-albumphotosdet .page-banner{padding-block:32px}.route-albumphotosdet .page-banner h1{font-size:30px}.album-experience{padding-top:35px}.album-toolbar{flex-direction:column;align-items:start;gap:20px}.album-toolbar h2{font-size:24px}.album-toolbar p{font-size:14px}.album-summary{padding:15px;gap:12px;font-size:10px;justify-content:flex-start}.album-total{flex-basis:100%;font-size:12px}.album-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:13px}.album-photo:first-child{grid-column:span 2;grid-row:span 1}.album-photo-grid:not(.album-photo-grid-small){grid-template-rows:270px}.album-photo-grid-small .album-photo:first-child{grid-column:auto}.album-photo-grid-small .album-photo:only-child{grid-column:1/-1}.album-photo{border-radius:16px}.album-photo-caption{inset:auto 12px 14px;font-size:11px}.album-photo:first-child .album-photo-caption{font-size:14px;bottom:17px}.album-photo-caption>span:last-child{display:none}.album-photo:first-child .album-photo-caption>span:last-child{display:flex;font-size:10px}.album-zoom{width:31px;height:31px;top:12px;left:12px;font-size:18px}.album-pagination{gap:12px}.album-page-direction{font-size:12px}.gallery-viewer{width:96vw;padding:48px 12px 18px}.gallery-viewer .dialog-content img{height:58dvh;max-height:58dvh}.gallery-controls{gap:10px}.gallery-controls span{font-size:11px}.gallery-controls .circle-control{width:40px;height:40px}.media-toolbar{justify-content:center;gap:14px}.media-toolbar .dialog-external{font-size:12px}}
@media(max-width:360px){.reasons-grid{grid-template-columns:1fr}.reason-card{min-height:305px;padding:24px}.reason-object{width:165px;height:150px}.reason-emblem{left:47px;top:28px;width:76px;height:76px}.reason-content h3{font-size:21px}.reason-content>span{font-size:13px}.early-feature-copy{padding:28px 20px}.early-feature-copy h2{font-size:27px}.early-feature-copy p{font-size:14px}.early-feature-tag{font-size:10px}.album-photo-grid{grid-auto-rows:150px}.album-photo-grid:not(.album-photo-grid-small){grid-template-rows:230px}.gallery-controls{gap:8px}}
@media(prefers-reduced-motion:reduce){.reason-card,.early-feature{transform:none!important}.reason-emblem{animation:none!important}.album-photo-link img{transition:none!important}.brand img{transition:none!important}}

/* Carry the same transparent header through every public page. */
.inner-page .site-header{position:fixed;inset:0 0 auto}
.inner-page .site-header:not(.is-scrolled){background:transparent;backdrop-filter:none}
.inner-page .site-header:not(.is-scrolled):before{inset:0 0 auto;height:clamp(160px,18vw,260px);background:linear-gradient(180deg,rgba(7,31,49,.82) 0%,rgba(12,61,95,.52) 31%,rgba(12,61,95,.18) 66%,rgba(12,61,95,0) 100%)}
.inner-page .site-header.is-scrolled{background:linear-gradient(100deg,#eef7fbeb,#ffffffeb 48%,#f1f6e8eb);color:var(--navy);box-shadow:0 6px 30px #071f3112}
.inner-page .site-header.is-scrolled:before{display:none}
.inner-page .page-banner{padding-top:124px;background:radial-gradient(circle at 12% 95%,#6eb7e547,transparent 34%),linear-gradient(115deg,#071f31,#0c3d5f 62%,#155474);color:#fff}
.inner-page .page-banner:before{content:'';position:absolute;left:9%;top:34%;width:16px;height:16px;background:var(--lime);border-radius:2px;box-shadow:28px -17px 0 #98ca3dc2,57px 5px 0 #6eb7e5aa,85px -25px 0 #650916c9,38px 30px 0 #6eb7e5a8,72px 37px 0 #98ca3db5,107px 12px 0 #6eb7e57d;transform:rotate(-15deg);opacity:.8}
.inner-page .page-banner h1{color:#fff}.inner-page .page-banner .eyebrow{color:var(--lime)}.inner-page .page-banner .breadcrumbs{color:#edf4f8}.inner-page .page-banner .banner-mark{display:none}
@media(max-width:1080px){.inner-page .site-header:not(.is-scrolled) .site-nav>.current{color:var(--burgundy)}}
@media(max-width:767px){.inner-page .page-banner{padding-top:100px;background-position:center 50%}}
html:not(.js) .inner-page .site-header{position:relative;background:var(--navy)}html:not(.js) .inner-page .page-banner{padding-top:34px}

/* Animated pixel trail borrows the square rhythm and brand colors of the school logo. */
.object-pixels{position:absolute;left:34%;top:28%;display:grid;grid-template-columns:repeat(4,12px);grid-auto-rows:12px;gap:6px;transform:rotate(-16deg);filter:drop-shadow(0 7px 10px #071f31aa);animation:pixel-drift 8s ease-in-out infinite}.object-pixels i{display:block;border-radius:2px;background:var(--lime);box-shadow:inset -2px -2px 0 #071f3130;animation:pixel-glint 3.5s ease-in-out infinite}.object-pixels i:nth-child(3n){background:var(--burgundy)}.object-pixels i:nth-child(4n){background:var(--sky)}.object-pixels i:nth-child(1),.object-pixels i:nth-child(10){opacity:.5;scale:.65}.object-pixels i:nth-child(2n){animation-delay:-1.7s}.object-pixels i:nth-child(5n){animation-delay:-2.6s}.object-pixels i:nth-child(4){translate:8px -9px}.object-pixels i:nth-child(9){translate:-12px 8px}.object-pixels i:nth-child(12){translate:12px -5px}
@keyframes pixel-drift{50%{transform:translateY(-15px) rotate(-7deg)}}@keyframes pixel-glint{50%{opacity:.6;scale:.82}}
@media(max-width:1080px){.object-pixels{left:20%}}@media(max-width:767px){.object-pixels{left:60%;top:21%}.inner-page .page-banner:before{opacity:.35;left:3%;top:45%}}
@media(prefers-reduced-motion:reduce){.object-pixels,.object-pixels i{animation:none!important}}

.story-slide[id]{scroll-margin-top:110px}
