:root{--header-h:calc(100px + env(safe-area-inset-top,0px))}
body{overflow-x:clip}
.portal-scene{--portal-open:0;--photo-reveal:0;--intro-exit:0;--final-enter:0;background:#fff}
.portal-stage{position:relative;min-height:680px;height:calc(100svh - var(--header-h));overflow:hidden;isolation:isolate}
.portal-image{position:absolute;inset:0;z-index:-1;clip-path:circle(clamp(145px,16vw,250px) at 80% 66%);background:var(--navy);opacity:var(--photo-reveal)}
.portal-image img{width:100%;height:100%;object-fit:cover;object-position:52% 48%}
.responsive-picture{display:contents}
.portal-image:after{content:'';position:absolute;inset:0;background:#101630;opacity:0}
.portal-intro{height:100%;padding:38px var(--gutter) 85px;display:flex;flex-direction:column;justify-content:space-between}
.portal-title{font-size:clamp(88px,12.5vw,200px);line-height:.98;letter-spacing:-.026em;color:var(--red);text-wrap:nowrap;position:relative}
.portal-title span{display:block;transform-origin:left}
.portal-intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.portal-intro-bottom>div{max-width:360px}
.portal-intro-bottom p{font-size:15px;line-height:1.75;margin-bottom:22px}
.portal-location{margin-right:45%;font-size:11px;font-weight:700;line-height:1.6}
.portal-finale{display:none;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;color:white;text-align:center;padding:var(--gutter);pointer-events:none}
.portal-finale p{font-family:Anton,sans-serif;font-size:clamp(80px,12vw,190px);line-height:1;text-transform:uppercase;letter-spacing:-.02em}
.portal-finale>span{font-size:14px;margin-top:30px}
.portal-caption{position:absolute;bottom:25px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;font-weight:650;letter-spacing:.03em}
.portal-caption>a{display:flex;align-items:center;gap:18px;min-height:44px}
.portal-caption .icon{width:17px;height:17px}
.portal-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#171f5418}
.portal-progress span{display:block;height:100%;width:100%;background:var(--red);transform:scaleX(var(--portal-open));transform-origin:left}
.manifesto-scene{--chapter:1;background:var(--blue);color:white}
.manifesto-stage{position:relative;padding:90px var(--gutter);overflow:hidden;isolation:isolate}
.manifesto-stage h2{position:relative;font-size:clamp(65px,9.6vw,150px);line-height:1.07;letter-spacing:-.018em;z-index:2}
.manifesto-line{display:block;white-space:nowrap}
.manifesto-line:nth-child(2){text-align:right}
.manifesto-line:last-child{color:white}
.manifesto-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-top:55px}
.manifesto-foot p{font-size:14px;line-height:1.8;max-width:335px}
.manifesto-foot .button{flex-shrink:0}
.orbit-system{position:absolute;right:5%;top:5%;width:55vw;aspect-ratio:1;z-index:0;opacity:.6;pointer-events:none}
.orbit-system i{position:absolute;inset:0;border:1px solid #ffffff40;border-radius:50%}
.orbit-system i:nth-child(2){inset:15%}
.orbit-system i:nth-child(3){inset:30%}
.orbit-system b{position:absolute;top:0;left:42%;width:16%;aspect-ratio:1;border-radius:50%;background:var(--red)}
.home-finale{position:relative;isolation:isolate;background:var(--red);color:white;padding:90px var(--gutter);overflow:hidden}
.finale-content{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}
.finale-content h2{font-size:clamp(70px,10vw,150px);line-height:1.03;position:relative}
.finale-content h2 span{color:var(--navy)}
.finale-content>div{max-width:330px;padding-bottom:10px}
.finale-content p{font-size:15px;margin-bottom:28px}
.finale-rings{position:absolute;inset:0;z-index:-1;pointer-events:none}
.finale-rings i{position:absolute;border:1px solid #ffffff26;width:65vw;height:65vw;border-radius:50%;left:45%;top:30%;transform:translateY(-50%)}
.finale-rings i:nth-child(2){width:85vw;height:85vw;left:35%}
.finale-rings i:nth-child(3){width:105vw;height:105vw;left:25%}
.motion-toggle{position:fixed;z-index:48;bottom:15px;right:18px;min-height:44px;padding:9px 16px;display:flex;align-items:center;gap:10px;border:1px solid #dcdde4;border-radius:25px;background:white;color:var(--navy);font-size:10px;font-weight:700}
.motion-bars{display:flex;gap:3px;align-items:center;height:15px}
.motion-bars i{width:2px;height:5px;background:var(--red)}
.motion-bars i:nth-child(2){height:13px}
.motion-bars i:nth-child(3){height:9px}
.motion-toggle[aria-pressed=false] .motion-bars i{height:3px}
.motion-toggle:disabled{opacity:1;color:var(--muted)}
.motion-ready .portal-scene{height:260svh}
.motion-ready .portal-stage,.motion-ready .manifesto-stage{position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));min-height:0}
.motion-ready .portal-image{clip-path:circle(calc(clamp(145px,16vw,250px) + var(--portal-open)*100vmax) at calc(80% - var(--portal-open)*30%) calc(66% - var(--portal-open)*16%));will-change:clip-path}
.motion-ready .portal-image img{transform:scale(calc(1.1 - var(--portal-open)*.1));will-change:transform}
.motion-ready .portal-image:after{opacity:calc(var(--final-enter)*.55)}
.motion-ready .portal-intro{opacity:calc(1 - var(--intro-exit));transform:translateY(calc(var(--intro-exit)*-12vh));will-change:transform,opacity}
.motion-ready .portal-title span:first-child{transform:translateX(calc(var(--intro-exit)*-15vw))}
.motion-ready .portal-title span:last-child{transform:translateX(calc(var(--intro-exit)*20vw))}
.motion-ready .portal-finale{display:flex;opacity:var(--final-enter);transform:translateY(calc((1 - var(--final-enter))*80px)) scale(calc(.9 + var(--final-enter)*.1));will-change:transform,opacity}
.motion-ready .portal-caption{color:var(--ink)}
.motion-ready .portal-scene[data-phase=final] .portal-caption{color:white}
.motion-ready .manifesto-scene{height:230svh;--chapter:0}
.motion-ready .manifesto-stage{display:flex;flex-direction:column;justify-content:center;padding:40px var(--gutter)}
.motion-ready .manifesto-line:first-child{transform:translateX(calc((1 - var(--chapter))*-15vw))}
.motion-ready .manifesto-line:nth-child(2){transform:translateX(calc((1 - var(--chapter))*15vw))}
.motion-ready .manifesto-line:last-child{clip-path:inset(0 calc((1 - var(--chapter))*100%) 0 0);transform:translateY(calc((1 - var(--chapter))*30px))}
.motion-ready .manifesto-line{will-change:transform}
.motion-ready .orbit-system{transform:rotate(calc(var(--chapter)*240deg)) scale(calc(.7 + var(--chapter)*.6));will-change:transform}
.motion-ready .manifesto-foot{margin-top:40px}
.motion-ready .reveal{opacity:0;transform:translateY(55px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.motion-ready .reveal.is-revealed{opacity:1;transform:none}

@media(min-width:701px) and (max-height:760px){.motion-ready .portal-intro{padding-top:20px;padding-bottom:80px}
.portal-title{font-size:min(12vw,22svh)}
.portal-intro-bottom p{font-size:13px;max-width:340px;margin-bottom:16px}
.motion-ready .manifesto-stage h2{font-size:min(9.6vw,16svh)}
.motion-ready .manifesto-foot{margin-top:25px}
}

@media(max-width:1024px){:root{--header-h:calc(82px + env(safe-area-inset-top,0px))}}

@media(max-width:900px){
.portal-location{display:none}
.manifesto-stage h2{font-size:10vw}
.finale-content{flex-direction:column;align-items:flex-start;gap:35px}
.finale-content>div{max-width:450px}
}

@media(max-width:700px){.portal-stage{height:calc(100svh - var(--header-h));min-height:650px}
.portal-intro{padding:35px var(--gutter) 70px;justify-content:flex-start}
.portal-title{font-size:17.7vw;line-height:1.02;letter-spacing:-.02em}
.portal-intro-bottom{margin-top:26px}
.portal-intro-bottom>div{max-width:100%}
.portal-intro-bottom p{font-size:14px;max-width:31ch;margin-bottom:19px}
.portal-intro-bottom .button{min-height:48px;font-size:12px}
.portal-image{clip-path:circle(105px at 70% 78%)}
.portal-image img{object-position:65% 50%}
.portal-finale p{font-size:20vw}
.portal-finale>span{font-size:12px;max-width:26ch}
.portal-caption{bottom:14px;font-size:9px;gap:8px}
.portal-caption>a{gap:9px}
.portal-caption>span{font-size:8px;letter-spacing:.02em}
.portal-caption .icon{width:14px;height:14px}
.manifesto-stage{padding:65px var(--gutter)}
.manifesto-stage h2{font-size:11.5vw;line-height:1.16}
.manifesto-line:nth-child(2){text-align:left}
.manifesto-foot{flex-direction:column;align-items:flex-start;gap:25px;margin-top:35px}
.manifesto-foot p{font-size:14px;max-width:30ch}
.orbit-system{width:95vw;right:-30%;top:7%}
.manifesto-foot .button{font-size:12px}
.home-finale{padding:65px var(--gutter)}
.finale-content h2{font-size:14.9vw}
.finale-content p{font-size:14px}
.finale-content .button{font-size:12px}
.finale-rings i{width:120vw;height:120vw;left:25%}
.finale-rings i:nth-child(2){width:160vw;height:160vw;left:5%}
.finale-rings i:nth-child(3){width:200vw;height:200vw;left:-15%}
.motion-toggle{right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));font-size:10px;padding:10px 12px;min-height:44px}
.footer-bottom{padding-bottom:65px}
.motion-ready .portal-scene{height:220svh}
.motion-ready .portal-image{clip-path:circle(calc(105px + var(--portal-open)*115vmax) at calc(70% - var(--portal-open)*20%) calc(78% - var(--portal-open)*28%))}
.motion-ready .portal-intro{padding-top:28px}
.motion-ready .portal-title span:first-child{transform:translateX(calc(var(--intro-exit)*-25vw))}
.motion-ready .portal-title span:last-child{transform:translateX(calc(var(--intro-exit)*25vw))}
.motion-ready .manifesto-scene{height:180svh}
.motion-ready .manifesto-stage{padding:35px var(--gutter)}
.motion-ready .manifesto-stage h2{font-size:11.5vw}
.motion-ready .manifesto-foot{margin-top:40px}
.motion-ready .manifesto-line:first-child{transform:translateX(calc((1 - var(--chapter))*-8vw))}
.motion-ready .manifesto-line:nth-child(2){transform:translateX(calc((1 - var(--chapter))*8vw))}
}

@media(max-width:700px) and (max-height:740px){.motion-ready .portal-image{clip-path:circle(calc(75px + var(--portal-open)*115vmax) at calc(78% - var(--portal-open)*28%) calc(78% - var(--portal-open)*28%))}
.motion-ready .portal-intro-bottom p{font-size:12px;max-width:25ch}
.motion-ready .portal-intro-bottom{margin-top:18px}
.motion-ready .portal-title{font-size:16vw}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1!important;transform:none!important;transition:none!important}
.motion-bars i{animation:none!important}
}
.portal-caption{justify-content:flex-start;gap:45px}
.portal-caption>a{padding:0 12px;border-radius:24px;background:#fff;color:var(--navy)}

@media(max-width:700px){.portal-caption{gap:0}
.portal-caption>span{display:none}
.portal-caption>a{padding:0 6px;font-size:9px;max-width:calc(100vw - 155px)}
}
.motion-ready .finale-rings{transform:rotate(calc(var(--finale-progress,0)*30deg)) scale(calc(.8 + var(--finale-progress,0)*.4));will-change:transform}
.motion-ready .finale-content h2{transform:translateX(calc((1 - var(--finale-progress,0))*-35px))}
.motion-ready .footer-wordmark{transform:translateY(calc((1 - var(--footer-progress,1))*60px));will-change:transform}

@media(max-width:700px){.motion-ready .portal-image img{transform:translateY(calc((1 - var(--portal-open))*28%)) scale(calc(1.1 - var(--portal-open)*.1))}
}
.page-intro .heritage-title{font-size:clamp(64px,7.1vw,110px)}
.college-film-media{position:relative;overflow:hidden;background:var(--navy)}
.college-film-media img{width:100%;height:clamp(280px,30vw,500px);object-fit:cover;object-position:center}
.college-film-play{position:absolute;left:30px;bottom:26px;min-height:52px;padding:14px 22px;border-radius:28px;background:white;color:var(--navy);display:flex;align-items:center;gap:22px;font-size:13px;font-weight:700;box-shadow:0 2px 20px #0002}
.college-film-play:hover{background:var(--red);color:white}
.college-film-play:focus-visible{outline-color:white}
.college-film-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.college-film-caption{font-size:11px;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--line)}

@media(max-width:900px){.page-intro .heritage-title{font-size:7.7vw}
}

@media(max-width:700px){.page-intro .heritage-title{font-size:14vw}
.college-film-play{left:var(--gutter);bottom:20px;font-size:12px;min-height:48px;padding:12px 18px;gap:16px}
.college-film-caption{padding:13px var(--gutter)}
}
