@font-face{font-family:Caveat;src:url('Caveat.woff2') format('woff2'),url('Caveat.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--paper:#fffaf1;--ink:#102740;--teal:#174d6a}
body{background:var(--paper)}h1,h2{font-family:Caveat,'Segoe Print',cursive;font-weight:700;letter-spacing:-.035em;line-height:.98}h1 em,h2 em{font-family:inherit;font-weight:700;color:var(--ink);font-style:normal}h3{font-family:Manrope,sans-serif;font-weight:700}h1{font-size:clamp(62px,6.7vw,100px)}h2{font-size:clamp(43px,4.8vw,65px)}
header{padding:14px 40px;position:relative;z-index:6;border-bottom-color:#e9e5dc}.brand{font-size:22px}.brand small{font-size:8px}header nav a{padding:8px 0;font-size:13px}header nav a[aria-current]{color:#164f91;text-decoration:underline;text-underline-offset:5px}.button{background:#153958;border-radius:24px;padding:13px 23px;box-shadow:0 5px 14px #16355110}.button:hover{background:#225073}.button.small{border-radius:22px}
.wrap{width:calc(100% - 80px)}.hero{position:relative;isolation:isolate;gap:20px}.hero:before{content:'';position:absolute;inset:4% -30px 0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 95% 18%,#f6cf8680 0,transparent 32%),radial-gradient(ellipse at 5% 78%,#c9e0d240 0,transparent 24%)}.hero:after{content:'';position:absolute;width:100px;height:140px;background:#f0c87140;border-radius:25% 60% 45% 70%;left:-90px;top:30%;transform:rotate(-22deg);z-index:-1;pointer-events:none}.hero .eyebrow{margin-bottom:18px}.hero h1{margin-bottom:17px}.hero .lead{font-size:16px;line-height:1.7;max-width:450px}.hero .actions{margin-top:20px;gap:22px}.hero-caption{margin-top:19px;font-size:11px}.hero-caption .little-star{font-size:26px}.scene-note{font-family:Caveat,cursive;font-size:27px;line-height:1.05;right:-10px;top:4px;transform:rotate(7deg);color:#143d68}.cube-help{font-size:11px;color:#425a70}.cube{z-index:3}.cube-scene{isolation:isolate}.halo{inset:3% -7% 1%;background:radial-gradient(ellipse,#ffdfa554,transparent 68%)}.decor{position:absolute;pointer-events:none;z-index:-1;width:62px;height:62px;border-radius:14px;opacity:.45;box-shadow:inset 5px 4px 10px #ffffffa0,inset -8px -4px 15px #00000015}.decor-a{background:#87b3a5;left:0;bottom:20px;transform:rotate(-26deg)}.decor-b{background:#b1c9e9;right:-3px;top:4%;transform:rotate(23deg)}
.areas{padding:10px 0 14px;border:0;position:relative;z-index:5}.section-line{margin-bottom:9px}.section-line .eyebrow{font-size:9px}.section-line>span{font-size:11px}.area-list{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0!important;border:0!important}.area-list a{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px 8px 8px;border:1px solid #ffffff;background:var(--area-bg);border-radius:15px;position:relative;color:var(--ink);min-height:85px;box-shadow:0 3px 9px #16355105;transition:transform .18s,box-shadow .18s}.area-list a:hover{background:var(--area-bg);transform:translateY(-4px);border-color:var(--area);box-shadow:0 7px 20px #15395815}.area-icon{display:flex;align-items:center;justify-content:center;position:relative;gap:9px;color:var(--area);margin:0!important}.area-icon svg{width:29px;height:29px}.icon-spark{font-size:10px}.area-name{font-size:12px;font-weight:600;line-height:1.25;text-align:center}.area-list a>span.area-arrow{position:absolute;right:10px;top:8px;font-size:10px;color:var(--area)}
footer{padding:10px 0 12px;gap:24px;border-top:1px solid #e8e3d7}footer .brand{font-size:18px}footer span,footer>a:not(.brand){font-size:10px}.legal-note{font-size:10px!important}.info-back{display:block;width:max-content;margin:0 auto 30px 40px;font-size:13px}.section.wrap>.info-back{margin-left:0}.about>.info-back{grid-column:1/-1;margin-bottom:0}.about{row-gap:25px}.enhanced[data-view=info] #home>.section{border-top:0}.enhanced[data-view=info] .alumni,.enhanced[data-view=info] .contact{min-height:calc(100svh - 170px)}
.tile{transform-box:fill-box;transform-origin:center;transition:transform .18s,filter .18s}.tile:hover,.tile:focus-visible{transform:translateY(-3px) scale(1.025);filter:drop-shadow(0 0 3px #fff1ae)}.tile:focus-visible{outline:none}.tile:focus-visible .tile-hit{stroke:#fff;stroke-width:3;filter:drop-shadow(0 0 2px #082c67)}
.opening .tile{animation:scatter 1.2s cubic-bezier(.2,.65,.25,1) both!important;--x:-18px;--y:-24px;--r:-12deg}.opening .tile-1{--x:22px;--y:-24px;--r:12deg}.opening .tile-2{--x:-25px;--y:0px;--r:-10deg}.opening .tile-3{--x:25px;--y:0px;--r:10deg}.opening .tile-4{--x:-18px;--y:14px;--r:-9deg}.opening .tile-5{--x:20px;--y:14px;--r:12deg}.opening .tile.selected{animation:chosen 1.2s cubic-bezier(.2,.7,.2,1) both!important;filter:drop-shadow(0 5px 6px #643c2133) drop-shadow(0 0 4px #fff1a1)}.opening .cube-base{animation:backOut .7s forwards!important}.opening .light-trail path{animation:trail .7s ease-out forwards;stroke-width:3}.opening .light-trail{opacity:.85}.opening .tap-hint{display:none}
@keyframes scatter{0%,15%{transform:none;opacity:1}60%,100%{transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.84);opacity:.8}}@keyframes chosen{0%{transform:none}45%,80%{transform:scale(1.28);opacity:1}100%{transform:scale(1.23);opacity:1}}@keyframes backOut{to{opacity:.12}}
.cancel-effect{position:absolute;right:0;bottom:24px;z-index:7;background:#fffaf1;color:#173957;border:1px solid #c9d4df;border-radius:16px;padding:7px 12px;font:12px 'DM Sans',sans-serif;cursor:pointer}.tap-hint{animation:none;opacity:0;left:34%;top:69%;width:40px;height:50px;filter:drop-shadow(0 3px 2px #15395833)}.tap-hint svg{width:100%;height:100%}.tap-hint.hint-on{animation:hint 2.6s ease-in-out 1}.scene-note,.decor,.light-trail,.tap-hint{pointer-events:none}
@media(min-width:1001px) and (min-height:620px){
 body.enhanced[data-view=home]{height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 body[data-view=home]>header{width:100%;max-width:1380px;min-height:76px}
 body[data-view=home] #main{min-height:0}body[data-view=home] #home{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto}
 body[data-view=home] .hero{min-height:0!important;height:100%;padding:10px 0;grid-template-columns:1.15fr 1fr}
 body[data-view=home] .cube{width:min(360px,calc((100svh - 280px)*.71))}
 body[data-view=home] .cube-scene{width:min(100%,470px);justify-self:center}
 body[data-view=home] h1{font-size:clamp(57px,min(7vw,10svh),92px)}
 body[data-view=home] .areas{padding-top:4px;padding-bottom:10px}
 body[data-view=home] footer{flex-wrap:nowrap;min-height:40px}
}
@media(min-width:1001px) and (max-height:710px){body[data-view=home] .hero .lead{font-size:14px;margin-bottom:10px}body[data-view=home] .hero .eyebrow{margin-bottom:10px}body[data-view=home] .hero .actions{margin-top:12px}body[data-view=home] .hero-caption{margin-top:10px}body[data-view=home] .area-list a{min-height:73px;padding:6px}body[data-view=home] .area-icon svg{width:24px;height:24px}}
@media(max-width:1100px){header nav{gap:12px}.info-back{margin-left:24px}.wrap{width:calc(100% - 48px)}}
@media(max-width:1000px){.hero{min-height:0;padding-top:35px;padding-bottom:25px}.cube{max-width:320px}.scene-note{font-size:23px}.area-list{gap:8px}.area-name{font-size:11px}.hero h1{font-size:64px}.section-line{gap:8px}}
@media(max-width:700px){header{padding:13px 24px}.hero h1{font-size:62px}.hero .lead{font-size:16px}.hero .actions{gap:18px}.hero-caption{font-size:10px}.hero{gap:15px}.cube-scene{max-width:350px}.cube{max-width:280px}.scene-note{font-size:24px;top:4px;right:0}.area-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px}.area-list a{min-height:93px;padding:9px 5px}.area-name{font-size:12px}.area-icon svg{width:29px;height:29px}.areas{margin-top:0;padding-bottom:20px}.section-line>span{font-size:11px}.section-line{margin-bottom:13px}.hero:after{left:-30px;width:40px;opacity:.5}.world-hero h1{font-size:57px}footer{flex-wrap:wrap;gap:13px}.opening .tile{--x:-12px;--y:-14px}.opening .tile-1{--x:12px;--y:-14px}.opening .tile-2{--x:-15px;--y:0px}.opening .tile-3{--x:15px;--y:0px}.opening .tile-4{--x:-10px;--y:9px}.opening .tile-5{--x:10px;--y:9px}.opening .tile,.opening .tile.selected{animation-duration:.95s!important}.cancel-effect{bottom:25px;right:-5px;font-size:11px}.info-back{margin-bottom:20px}.enhanced[data-view=info] .about{gap:20px}}
@media(prefers-reduced-motion:reduce){.opening .tile,.opening .tile.selected,.opening .cube-base,.tap-hint.hint-on{animation:none!important}.tap-hint{display:none}.tile:hover,.tile:focus-visible{transform:none}html{scroll-behavior:auto}}
