@font-face{font-family:Montserrat;src:url('assets/Montserrat.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;--blue:#073bb4;--lime:#dbff54;--white:#fff;--muted:#c3d0f7;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#073bb4}body{font-family:Montserrat,Arial,sans-serif;color:var(--white);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:6px}button{touch-action:manipulation}button:disabled{cursor:default}button svg{pointer-events:none}::selection{background:var(--lime);color:#153681}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:14px 20px;color:#092258;background:var(--lime);border-radius:30px;transform:translateY(-200%)}.skip-link:focus{transform:none}
.experience{position:relative;min-height:760px;height:100svh;display:flex;flex-direction:column;overflow:hidden;overflow:clip;background:radial-gradient(ellipse at 83% 65%,#1860d9 0,transparent 47%),radial-gradient(ellipse at 23% 15%,#0b41b8 0,transparent 45%),linear-gradient(125deg,#0733a4,#0841b6 65%,#1656c8)}
.header{position:relative;flex:0 0 88px;z-index:10;display:flex;align-items:center;justify-content:space-between;margin:0 3.95%;gap:24px}.brand{display:flex;align-items:center;gap:19px;white-space:nowrap;font-weight:500;font-size:24px;letter-spacing:-.035em}.brand svg{width:67px;height:46px;fill:none;stroke:#fff;stroke-width:1.5}.brand svg .logo-star{fill:#fff;stroke:none}.header nav{display:flex;align-items:center;gap:36px;margin-left:-90px}.header nav button{font-size:15px;font-weight:500;position:relative;padding:14px 0}.header nav button:after{content:'';height:1px;background:var(--lime);position:absolute;left:0;right:0;bottom:6px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header nav button:hover:after{transform:scaleX(1)}.login{border:1px solid #e4eaff;border-radius:30px;min-width:112px;min-height:42px;font-size:14px;transition:background .3s}.login span{display:none}.login:hover{background:#ffffff1c}
main{flex:1;min-height:0}.hero{height:100%;position:relative;isolation:isolate}.hero-copy{position:relative;z-index:4;padding:clamp(52px,7.6vh,94px) 0 0 3.95%;width:49%;pointer-events:none}.hero-copy h1{margin:0;font-size:clamp(60px,6.15vw,104px);font-weight:500;line-height:1.02;letter-spacing:-.065em;text-wrap:nowrap}.hero-copy p{font-size:clamp(18px,1.84vw,30px);font-weight:400;color:var(--muted);margin:25px 0 38px;line-height:1.5;letter-spacing:-.04em}.explore{display:inline-flex;align-items:center;gap:30px;min-height:70px;padding:0 34px;border-radius:60px;color:#18301c;background:var(--lime);font-size:19px;font-weight:500;letter-spacing:-.03em;pointer-events:auto;box-shadow:0 6px 40px #b8ff0f0a;transition:transform .35s var(--ease),box-shadow .35s,background .35s}.explore svg{width:31px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .35s}.explore:hover{transform:translateY(-3px);background:#e5ff86;box-shadow:0 12px 45px #b8ff0f2c}.explore:hover svg{transform:translateX(5px)}.explore:active{transform:translateY(0)}.discovery-note{display:flex;align-items:center;gap:9px;margin-top:23px;color:#d4e0ff;font-size:10px;letter-spacing:.025em;opacity:0;animation:reveal 1s 2.1s forwards}.discovery-note>span{width:4px;height:4px;background:var(--lime);border-radius:50%}
.sky-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 65% 30%,#5c68e928,transparent 40%)}.clouds{position:absolute;pointer-events:none;user-select:none;z-index:-1;object-fit:contain}.clouds-back{width:112%;max-width:none;left:-6%;top:32%;bottom:auto;opacity:.82;animation:cloud-drift 40s ease-in-out infinite alternate;will-change:transform}
.scene{position:absolute;width:min(86vw,calc((100svh - 130px)*1.53));aspect-ratio:3/2;right:-2.1%;bottom:-12px;z-index:2;animation:scene-appear 1.7s var(--ease) both}.scene-inner{position:relative;width:100%;height:100%;transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0);transition:transform 1s var(--ease)}.island{width:100%;height:100%;object-fit:contain;display:block;position:relative;z-index:2;pointer-events:none;user-select:none}.planet{position:absolute;left:22%;top:-11%;width:47%;height:49%;z-index:1;pointer-events:none}.planet canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.planet-fallback{position:absolute;width:54%;aspect-ratio:1;left:24%;top:20%;border-radius:50%;background:radial-gradient(circle at 69% 16%,#faffc1,#d3fa55 22%,#9fc929 58%,#3b7920);box-shadow:inset 2px 1px 3px #edffc6,0 0 30px #ccfa5f0a}.planet-fallback i{position:absolute;width:160%;height:30%;border:3px solid #bdd9ff;border-radius:50%;left:-30%;top:35%;transform:rotate(-24deg);box-shadow:0 0 2px #fff,inset 0 0 3px #fff}.planet.is-ready .planet-fallback{visibility:hidden}#scene-fx{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}.scene-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:4;fill:none;stroke:#d8e8ff;stroke-width:1;pointer-events:none;opacity:.85}.scene-leaders circle{fill:#fff;stroke:none}.scene-label{position:absolute;z-index:5;font-size:clamp(11px,1vw,16px);padding:12px 5px;min-height:44px;font-weight:400;white-space:nowrap;text-shadow:0 1px 10px #00389e}.scene-label span{display:inline-block;margin-left:7px;opacity:0;transform:translate(-5px,3px);transition:opacity .3s,transform .3s}.scene-label:hover span,.scene-label:focus-visible span{opacity:1;transform:none}.scene-label:hover{color:var(--lime)}.label-science{left:18.4%;top:32%}.label-art{left:82.2%;top:5.9%}.label-tech{left:84%;top:33.9%}.portal-hit{position:absolute;left:60%;top:12%;width:12.8%;height:35%;border-radius:50% 50% 0 0;z-index:4}.portal-hit:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.portal-hint{position:absolute;left:50%;bottom:0;transform:translate(-50%,8px);background:#08349bcc;backdrop-filter:blur(10px);padding:10px 14px;border:1px solid #b7ceff55;border-radius:24px;font-size:10px;white-space:nowrap;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}.portal-hit:hover .portal-hint,.portal-hit:focus-visible .portal-hint{opacity:1;transform:translate(-50%,-8px)}
.world-control{position:absolute;left:4%;bottom:26px;z-index:5;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.02em;background:#0738a061;border:1px solid #c2d8ff33;border-radius:30px;padding:0 7px 0 16px;min-height:42px;backdrop-filter:blur(14px)}.world-control button{font-size:19px;width:32px;height:32px;border-radius:50%;transition:background .3s}.world-control button:hover{background:#ffffff22}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px #d6ff7390}.motion-toggle{position:absolute;right:3.3%;bottom:26px;z-index:6;display:flex;align-items:center;gap:5px;min-height:44px;padding:0 12px;border:1px solid #d0ddff66;border-radius:30px;background:#0738a066;backdrop-filter:blur(12px);font-size:10px}.motion-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}.motion-toggle .play-icon{display:none}.motion-toggle[aria-pressed=true] .pause-icon{display:none}.motion-toggle[aria-pressed=true] .play-icon{display:block}.motion-toggle:hover{background:#0a3ca8aa}
.footer{position:relative;z-index:6;flex:0 0 48px;background:var(--lime);color:#3d5221;display:flex;align-items:center;justify-content:center;gap:26px}.footer p{margin:0;font-size:11px;letter-spacing:.28em;word-spacing:6px}.footer>span{width:42px;height:1px;background:#546b3766}.footer>span:last-child{display:none}
dialog{color:#f9fbff;background:radial-gradient(circle at 90% 0,#2462c8,#0c3796 70%);border:1px solid #a0baf955;border-radius:28px;padding:54px;width:min(540px,calc(100vw - 32px));box-shadow:0 40px 100px #00103c66;overflow:visible}dialog::backdrop{background:#00194091;backdrop-filter:blur(12px)}.dialog-close{position:absolute;top:15px;right:15px;width:44px;height:44px;font-size:29px;font-weight:300;border-radius:50%;background:#ffffff0d}.dialog-close:hover{background:#ffffff1c}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--lime);margin:0 0 16px}.dialog-orbit{font-size:64px;color:#d5fc77;margin-bottom:18px;line-height:1}.dialog-orbit[aria-hidden]{pointer-events:none}dialog h2{font-size:36px;letter-spacing:-.045em;font-weight:500;line-height:1.12;margin:0 0 21px}#dialog-content{font-size:15px;line-height:1.75;color:#d3dfff}#dialog-content p{margin:0 0 13px}.dialog-action{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;background:var(--lime);color:#18301c;border-radius:30px;padding:17px 20px;margin-top:28px;font-size:13px}.dialog-action:hover{background:#e9ff9b}.dialog-links{display:grid;gap:9px;margin-top:20px}.dialog-links button{text-align:left;border:1px solid #dceaff33;padding:13px 16px;border-radius:13px;background:#ffffff06;display:flex;justify-content:space-between}.dialog-links button:hover{background:#ffffff15}.no-script{position:fixed;z-index:99;bottom:60px;left:16px;background:#07369c;padding:12px;border-radius:12px;font-size:12px;max-width:310px}
@keyframes cloud-drift{from{transform:translate3d(-1%,1%,0) scale(1.01)}to{transform:translate3d(2%,-1%,0) scale(1.04)}}@keyframes scene-appear{from{opacity:0;transform:translate3d(0,28px,0) scale(.98)}to{opacity:1;transform:none}}@keyframes reveal{to{opacity:1}}.is-paused *,.is-paused *:before,.is-paused *:after{animation-play-state:paused!important}
@media(min-width:1800px){.hero-copy{padding-top:10vh}.scene{right:1%;bottom:-24px}.clouds-back{top:29%}}
@media(max-height:790px) and (min-width:901px){.header{flex-basis:76px}.hero-copy{padding-top:53px}.hero-copy h1{font-size:clamp(58px,6.3vw,86px)}.hero-copy p{margin:22px 0 30px}.explore{min-height:62px;font-size:17px}.scene{width:min(84vw,1000px);bottom:-10px}.discovery-note{margin-top:18px}.clouds-back{top:34%}}
@media(min-width:901px) and (max-width:1150px){.hero-copy{width:53%;padding-top:64px}.hero-copy h1{font-size:63px}.hero-copy p{font-size:18px}.scene{right:-6%;width:91vw;bottom:7px}.scene-label{font-size:12px}.label-tech{left:83%}.header nav{margin-left:0;gap:24px}.brand{font-size:20px;gap:12px}.brand svg{width:54px}}
@media(max-width:900px){.experience{min-height:1080px;height:auto}.header{height:80px;flex:0 0 80px;margin:0 6%;gap:12px}.brand{font-size:21px;gap:12px}.brand svg{width:53px}.header nav{gap:20px;margin-left:0}.header nav button{font-size:12px}.login{min-width:88px;font-size:12px;min-height:40px}main{flex:1;min-height:950px}.hero{height:950px}.hero-copy{width:auto;padding:43px 6% 0}.hero-copy h1{font-size:clamp(61px,8.6vw,78px);line-height:1.03}.hero-copy p{font-size:21px;margin:22px 0 27px}.explore{min-height:60px;padding:0 29px;font-size:17px}.discovery-note{display:none}.scene{width:108%;right:-5%;bottom:15px}.planet{top:-10%}.clouds-back{width:155%;left:-26%;top:auto;bottom:-11%}.scene-label{font-size:12px}.world-control{left:6%;bottom:16px}.motion-toggle{right:6%;bottom:16px}.footer{flex-basis:50px}.footer p{font-size:10px;letter-spacing:.2em}}
@media(max-width:600px){.experience{min-height:100svh}.header{height:74px;flex-basis:74px;margin:0 6%}.brand{font-size:18px;gap:9px;letter-spacing:-.035em}.brand svg{width:46px;height:36px}.header nav{display:none}.login{min-width:74px;min-height:36px;font-size:11px}.hero{height:auto;min-height:720px;display:flex;flex-direction:column}main{min-height:0;flex:1}.hero-copy{padding:30px 6% 0}.hero-copy h1{font-size:clamp(43px,11.8vw,70px);font-weight:500;letter-spacing:-.065em;line-height:1.04}.hero-copy p{font-size:clamp(15px,4vw,21px);margin:17px 0 23px;letter-spacing:-.035em}.explore{min-height:54px;padding:0 25px;font-size:15px;gap:25px}.explore svg{width:26px}.scene{position:relative;width:123%;right:auto;left:-14%;bottom:auto;margin-top:39px;margin-bottom:62px;min-height:0;flex-shrink:0}.planet{width:47%;left:21%;top:-12%}.clouds-back{width:185%;left:-42%;bottom:-5%;opacity:.75}.scene-leaders{display:none}.scene-label{font-size:10px;min-height:44px;border:1px solid #d7e7ff55;border-radius:24px;background:#0a3d9b99;backdrop-filter:blur(12px);padding:0 11px}.scene-label span{display:none}.label-science{left:15%;top:15%}.label-art{left:70%;top:0%}.label-tech{left:68%;top:88%}.world-control{bottom:11px;font-size:10px;gap:8px;min-height:38px;padding-left:13px}.motion-toggle{bottom:11px;min-height:40px;padding:0 10px}.motion-toggle>span{display:none}.footer{min-height:46px;flex-basis:46px}.footer p{font-size:9px;letter-spacing:.17em;word-spacing:3px}.footer>span{width:20px}.footer{gap:15px}.portal-hint{display:none}dialog{padding:38px 27px 28px;border-radius:23px}dialog h2{font-size:29px}#dialog-content{font-size:14px}.dialog-action{font-size:11px;gap:8px}.dialog-orbit{font-size:48px}}
@media(max-width:360px){.hero-copy{padding-top:24px}.hero-copy h1{font-size:42px}.hero{min-height:673px}.scene{margin-top:44px}.brand{font-size:16px}.label-tech{left:63%}.world-control{font-size:9px}.footer p{font-size:8px}.header{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.discovery-note{opacity:1}.scene-inner{transform:none!important}}

.mobile-menu{display:none} @media(max-width:600px){.mobile-menu{display:grid;place-items:center;width:36px;height:40px;padding:8px;margin-left:auto}.mobile-menu svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.3;fill:none}.header{gap:9px}.brand{margin-right:auto}}
.clouds-front{width:112%;left:-6%;bottom:-43%;opacity:.8;z-index:3;mask-image:linear-gradient(transparent 43%,#000 75%);animation:cloud-drift 31s ease-in-out infinite alternate-reverse;will-change:transform}
@media(max-width:900px){.clouds-front{display:none}}
/* The static island stays visible independently of the FX quality budget. */
.scene[data-live=true] .island{opacity:1}

/* Back arc, opaque planet and front arc also preserve depth without WebGL. */
.planet-fallback:before{content:"";position:absolute;width:160%;height:34%;border:2px solid #b6cbe5;border-radius:50%;left:-30%;top:33%;transform:rotate(-24deg);z-index:0}
.planet-fallback:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;box-shadow:inset 2px 1px 3px #edffc6;z-index:1}
.planet-fallback i{height:34%;top:33%;border-width:2px;border-color:#c4d5e9;box-shadow:none;clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);z-index:2}

/* One vector lockup: outlined lettering has no dependency on installed fonts. */
.brand{gap:0;line-height:0}.brand svg.school-logo{width:246px;height:auto;max-height:66px;fill:initial;stroke:none;stroke-width:0;overflow:visible}
@media(max-width:1150px){.brand svg.school-logo{width:218px}}
@media(max-width:600px){.brand svg.school-logo{width:176px;max-height:52px}}
@media(max-width:360px){.brand svg.school-logo{width:148px}}

/* Refined depth and a calmer, atmospheric join with the surrounding sky. */
.experience{background:radial-gradient(ellipse at 78% 51%,#1a58c4 0,transparent 49%),radial-gradient(ellipse at 29% 14%,#123fa6 0,transparent 48%),linear-gradient(125deg,#072c8f,#0b3ca6 62%,#164fbd)}
.sky-glow{background:radial-gradient(ellipse at 76% 34%,#b9b6ff17,transparent 44%),radial-gradient(ellipse at 67% 77%,#76b7ff17,transparent 50%)}
#scene-fx,.island{filter:drop-shadow(0 20px 26px #02154b24)}
.explore{box-shadow:0 5px 0 #a3c13726,0 12px 35px #0b226c24,inset 0 1px 0 #f6ffbf96}
@media(min-width:1151px){.scene{right:-1%;bottom:-4px}.hero-copy h1{text-shadow:0 4px 25px #0a246329}}
