@import url('https://fonts.googleapis.com/css2?family=Gloock&family=Instrument+Sans:wdth,wght@75..100,400..700&display=swap');

:root{
  --ink:#0b2230;
  --text:#0b2230;
  --ink-2:#102c3a;
  --paper:#f4f3ed;
  --paper-2:#ebe9df;
  --sun:#f4c900;
  --sun-soft:#f7dd66;
  --line:rgba(11,34,48,.16);
  --muted:#61717a;
  --white:#fff;
  --radius:22px;
  --max:1260px;
  --head:'Gloock', serif;
  --body:'Instrument Sans', sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --text-scale:1;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:calc(16px * var(--text-scale))}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.theme-dark{--paper:#091b24;--paper-2:#0d2530;--text:#f7f6ef;--line:rgba(255,255,255,.18);--muted:#b7c1c6;--white:#f7f6ef}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--sun);color:#0b2230}

.site-shell{min-height:100vh}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.kicker{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.display{font-family:var(--head);font-weight:400;letter-spacing:-.035em;line-height:.97}
.body-large{font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.5;letter-spacing:-.015em}
.muted{color:var(--muted)}
.rule{height:1px;background:var(--line);width:100%}

/* header */
.site-header{position:fixed;z-index:80;top:0;left:0;width:100%;padding:18px 0;pointer-events:none}
.nav-pill{pointer-events:auto;width:min(var(--max),calc(100% - 32px));margin:auto;display:flex;align-items:center;justify-content:space-between;padding:11px 12px 11px 18px;border-radius:999px;background:rgba(9,27,36,.90);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(0,0,0,.13)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:116px;height:38px;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 0 rgba(255,255,255,.08))}
.brand-fallback{display:none;color:white;font-weight:800;letter-spacing:.07em}
.menu-trigger{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--sun);color:#0b2230;padding:12px 17px;font-weight:700;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.menu-trigger:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(244,201,0,.22)}
.menu-lines{width:20px;height:14px;display:grid;align-content:space-between}
.menu-lines span{height:1.5px;background:currentColor;width:100%;display:block}

/* fullscreen menu */
.menu-panel{position:fixed;z-index:120;inset:0;background:var(--ink);color:#fff;clip-path:circle(0% at calc(100% - 48px) 44px);transition:clip-path .85s var(--ease);pointer-events:none;overflow:auto}
.menu-panel.open{clip-path:circle(145% at calc(100% - 48px) 44px);pointer-events:auto}
.menu-inner{min-height:100vh;padding:30px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-rows:auto 1fr auto;gap:42px;position:relative;overflow:hidden}
.menu-top{display:flex;justify-content:space-between;align-items:center}
.menu-close{border:1px solid rgba(255,255,255,.3);background:transparent;color:white;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;transition:.25s}
.menu-close:hover{background:var(--sun);color:var(--ink);border-color:var(--sun);transform:rotate(90deg)}
.menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.43fr);gap:8vw;align-items:center}
.menu-links{display:grid}
.menu-link{display:flex;gap:26px;align-items:baseline;border-bottom:1px solid rgba(255,255,255,.17);padding:17px 0;position:relative;overflow:hidden}
.menu-link small{font-size:.72rem;letter-spacing:.1em;color:var(--sun)}
.menu-link strong{font-family:var(--head);font-size:clamp(2.4rem,6vw,5.4rem);font-weight:400;line-height:.95;transition:transform .35s var(--ease),color .35s}
.menu-link:hover strong{transform:translateX(15px);color:var(--sun)}
.menu-preview{aspect-ratio:4/5;border-radius:28px;overflow:hidden;position:relative;background:#102c3a}
.menu-preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05);transition:transform .7s var(--ease),opacity .35s}
.menu-preview:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.42))}
.menu-bottom{display:flex;justify-content:space-between;gap:28px;font-size:.88rem;color:#c5d0d5;flex-wrap:wrap}
.lang-switch{display:flex;gap:8px;align-items:center}
.lang-btn{border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:99px;padding:8px 12px}
.lang-btn.active,.lang-btn:hover{background:var(--sun);border-color:var(--sun);color:var(--ink)}

/* loader */
.loader{position:fixed;z-index:200;inset:0;background:var(--ink);display:grid;place-items:center;transition:opacity .65s var(--ease),visibility .65s}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-stage{width:min(460px,78vw);aspect-ratio:1;position:relative;display:grid;place-items:center}
.loader-orbit{position:absolute;inset:0;animation:spin 7s linear infinite}
.loader-orbit:before,.loader-orbit:after{content:'';position:absolute;inset:8%;border:2px solid transparent;border-top-color:var(--sun);border-right-color:var(--sun);border-radius:50%;transform:rotate(14deg)}
.loader-orbit:after{inset:21%;border-top-color:rgba(244,201,0,.42);border-right-color:transparent;border-bottom-color:rgba(244,201,0,.42);animation:spinBack 4.5s linear infinite}
.loader-stars{position:absolute;inset:0}
.loader-stars i{position:absolute;width:8px;height:8px;background:var(--sun);border-radius:2px;left:50%;top:50%;transform-origin:0 0;animation:pulse 1.3s ease-in-out infinite alternate}
.loader-logo-wrap{width:44%;overflow:hidden;position:relative}
.loader-logo{width:100%;filter:brightness(1.2);animation:logoReveal 1.3s var(--ease) both}
.loader-count{position:absolute;bottom:8%;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#c8d4d9}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes spinBack{to{transform:rotate(-360deg)}}
@keyframes pulse{to{transform:scale(1.7);opacity:.45}}
@keyframes logoReveal{from{clip-path:inset(0 100% 0 0);transform:translateY(12px);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}

/* page transition */
.transition{position:fixed;z-index:160;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(5,1fr)}
.transition span{background:var(--ink);transform:translateY(-102%);transition:transform .48s var(--ease);position:relative}
.transition span:after{content:'';position:absolute;inset:auto 0 -26px;height:52px;background:var(--ink);border-radius:0 0 50% 50%}
.transition.active span{transform:translateY(0)}
.transition span:nth-child(2){transition-delay:.035s}.transition span:nth-child(3){transition-delay:.07s}.transition span:nth-child(4){transition-delay:.105s}.transition span:nth-child(5){transition-delay:.14s}
.transition.enter span{transform:translateY(102%)}

/* hero */
.hero{min-height:100svh;padding:125px 0 58px;display:flex;align-items:center;background:var(--ink);color:white;position:relative;overflow:hidden}
.hero-grid{width:min(var(--max),calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr);gap:5vw;align-items:center;position:relative;z-index:2}
.hero-copy{position:relative;z-index:3}
.hero h1{font-family:var(--head);font-size:clamp(4.6rem,7.7vw,8.4rem);font-weight:400;line-height:.88;letter-spacing:-.055em;margin:0 0 42px;max-width:11ch}
.hero-image-wrap{position:relative;justify-self:end;width:min(100%,575px);aspect-ratio:4/5;perspective:1000px}
.hero-image-frame{position:absolute;inset:4% 4% 6% 0;border-radius:36px 36px 120px 36px;overflow:hidden;transform:rotate(1.7deg);box-shadow:0 40px 70px rgba(0,0,0,.32);transition:transform .5s var(--ease)}
.hero-image-frame img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.78) contrast(1.04)}
.hero-orbit{position:absolute;width:72%;aspect-ratio:1;border:2px solid var(--sun);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;right:-11%;top:-5%;animation:spin 18s linear infinite;opacity:.85}
.hero-orbit:before{content:'';position:absolute;width:13px;height:13px;background:var(--sun);border-radius:2px;right:10%;top:18%;box-shadow:-220px 270px 0 3px rgba(244,201,0,.25)}
.hero-spark{position:absolute;left:47%;bottom:9%;display:grid;grid-template-columns:repeat(4,8px);gap:12px;transform:rotate(-13deg)}
.hero-spark i{width:8px;height:8px;background:var(--sun);border-radius:1px;animation:pulse 1.8s ease-in-out infinite alternate}.hero-spark i:nth-child(even){animation-delay:.4s}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--sun);color:var(--ink);border:0;border-radius:999px;padding:15px 20px;font-weight:750;position:relative;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s}
.cta:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(244,201,0,.24)}
.cta svg{width:18px;height:18px;transition:transform .25s}.cta:hover svg{transform:translateX(4px)}

/* logo motif */
.motif{position:absolute;pointer-events:none;opacity:.7}
.motif-ring{width:170px;aspect-ratio:1;border-radius:50%;border:1px solid var(--sun);border-left-color:transparent;border-bottom-color:transparent;animation:spin 24s linear infinite}
.motif-dots{display:grid;grid-template-columns:repeat(5,8px);gap:10px;transform:rotate(-10deg)}
.motif-dots i{width:8px;height:8px;border:1px solid var(--sun);border-radius:1px}

/* sections */
.section{padding:110px 0;position:relative}
.section-tight{padding:82px 0}
.intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;align-items:start}
.intro-grid h2{font-family:var(--head);font-size:clamp(2.9rem,5.7vw,5.8rem);font-weight:400;line-height:1;letter-spacing:-.045em;margin:0}
.intro-grid p{margin:0 0 32px;max-width:63ch}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:50px}
.stat{padding:30px 22px 16px 0;border-right:1px solid var(--line)}
.stat:last-child{border-right:0;padding-left:22px}
.stat strong{font-family:var(--head);font-size:clamp(2.8rem,5vw,5rem);font-weight:400;display:block;letter-spacing:-.05em}.stat span{font-size:.83rem;color:var(--muted);display:block;margin-top:4px}

.photo-band{padding:0 0 100px}.photo-panel{height:min(68vw,700px);min-height:460px;border-radius:36px;overflow:hidden;position:relative}.photo-panel img{width:100%;height:112%;object-fit:cover;object-position:center 45%;transform:translateY(-5%);will-change:transform;filter:saturate(.8)}.photo-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,22,30,.42))}.photo-caption{position:absolute;z-index:2;left:34px;bottom:30px;color:white;max-width:520px}.photo-caption strong{font-family:var(--head);font-weight:400;font-size:clamp(2.2rem,4vw,4.2rem);line-height:1}

.programs{background:var(--paper-2)}
.section-head{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:44px}.section-head h2{font-family:var(--head);font-size:clamp(3rem,5vw,5.4rem);font-weight:400;line-height:.95;margin:0;letter-spacing:-.04em}.section-head p{max-width:450px;margin:0;color:var(--muted)}
.program-list{border-top:1px solid var(--line)}
.program-row{display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.program-row:before{content:'';position:absolute;inset:0;background:var(--sun);transform:translateY(105%);transition:transform .4s var(--ease);z-index:0}.program-row:hover:before{transform:none}.program-row>*{position:relative;z-index:1}.program-row small{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}.program-row h3{font-size:clamp(1.6rem,3vw,3rem);font-weight:500;letter-spacing:-.035em;margin:0}.program-row .arrow{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:transform .35s}.program-row:hover{color:var(--ink)}.program-row:hover small{color:rgba(11,34,48,.68)}.program-row:hover .arrow{transform:rotate(45deg);border-color:rgba(11,34,48,.35)}
.arrow svg,.icon-chip svg{width:18px;height:18px}

.school-feature{background:var(--ink);color:white;overflow:hidden}.school-top{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:end}.school-top h2{font-family:var(--head);font-size:clamp(3.5rem,6.7vw,7.2rem);font-weight:400;line-height:.9;margin:0;letter-spacing:-.05em}.school-top p{color:#c5d0d5;max-width:54ch}.module-rail{margin-top:70px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.19)}.module{padding:27px 20px 50px 0;border-right:1px solid rgba(255,255,255,.17);min-height:230px}.module:last-child{border-right:0;padding-left:20px}.module b{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sun);color:var(--ink);font-size:.75rem;margin-bottom:50px}.module p{margin:0;font-size:.95rem;line-height:1.4;color:#e7edef}

.feature-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:700px}.feature-image{min-height:560px;overflow:hidden;position:relative}.feature-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.feature-copy{background:var(--sun);color:var(--ink);padding:clamp(44px,7vw,100px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.feature-copy h2{font-family:var(--head);font-size:clamp(3rem,5.3vw,6rem);line-height:.94;font-weight:400;margin:0;letter-spacing:-.04em}.feature-copy p{max-width:44ch}.feature-copy .motif-ring{position:absolute;right:-60px;bottom:-70px;border-color:var(--ink);border-left-color:transparent;border-bottom-color:transparent;width:250px;opacity:.35}

.latest-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:18px}.story-card{min-height:490px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s}.story-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(11,34,48,.11)}.story-card:first-child{min-height:590px}.story-image{height:270px;overflow:hidden}.story-card:first-child .story-image{height:360px}.story-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .7s var(--ease)}.story-card:hover img{transform:scale(1.045)}.story-content{padding:24px;display:flex;flex-direction:column;gap:15px;flex:1}.story-content h3{font-family:var(--head);font-size:1.65rem;line-height:1.05;font-weight:400;margin:0}.story-meta{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

.partners{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}.marquee{display:flex;width:max-content;animation:marquee 24s linear infinite}.marquee span{font-family:var(--head);font-size:clamp(1.8rem,3vw,3.4rem);margin-right:54px;white-space:nowrap}.marquee i{width:9px;height:9px;background:var(--sun);transform:rotate(45deg);margin:0 54px 0 0;align-self:center;flex:0 0 auto}@keyframes marquee{to{transform:translateX(-50%)}}

.site-footer{background:var(--ink);color:white;padding:90px 0 34px;position:relative;overflow:hidden}.footer-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:end}.footer-hero h2{font-family:var(--head);font-size:clamp(4rem,8vw,9rem);line-height:.82;font-weight:400;letter-spacing:-.055em;margin:0}.footer-side{display:flex;flex-direction:column;gap:28px;align-items:flex-start}.footer-contact{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding-top:65px;margin-top:70px;border-top:1px solid rgba(255,255,255,.18);font-size:.88rem;color:#c8d3d8}.footer-contact strong{display:block;color:white;margin-bottom:8px}.copyright{margin-top:55px;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:#94a5ad;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* subpages */
.sub-hero{padding:170px 0 70px;min-height:72vh;background:var(--ink);color:white;display:flex;align-items:end;position:relative;overflow:hidden}.sub-hero .container{position:relative;z-index:2}.sub-hero h1{font-family:var(--head);font-size:clamp(4.4rem,9vw,9.5rem);font-weight:400;line-height:.82;letter-spacing:-.06em;margin:0;max-width:11ch}.sub-hero .eyebrow{margin-bottom:22px;color:var(--sun)}.sub-hero-image{position:absolute;right:-3vw;top:90px;width:min(40vw,620px);height:72%;border-radius:170px 0 0 170px;overflow:hidden;opacity:.58}.sub-hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.page-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}.sticky-title{position:sticky;top:130px;align-self:start}.sticky-title h2{font-family:var(--head);font-size:clamp(2.7rem,4vw,4.8rem);font-weight:400;line-height:1;margin:0}.content-stack{display:grid;gap:35px}.content-block{padding:30px 0;border-top:1px solid var(--line)}.content-block h3{font-size:1.55rem;margin:0 0 12px}.content-block p{margin:0;line-height:1.65;color:var(--muted);max-width:68ch}

.publication-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:38px}.searchbox{flex:1 1 320px;position:relative}.searchbox input{width:100%;border:1px solid var(--line);background:var(--paper);padding:15px 18px;border-radius:999px;color:var(--text);outline:none}.filter-select{border:1px solid var(--line);background:var(--paper);color:var(--text);padding:14px 45px 14px 17px;border-radius:999px}.publication-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.pub-card{border:1px solid var(--line);border-radius:22px;padding:24px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.pub-card:hover{background:var(--ink);color:white;transform:translateY(-5px)}.pub-card:hover .muted{color:#b8c4c9}.pub-card h3{font-family:var(--head);font-size:1.65rem;font-weight:400;line-height:1.05;margin:18px 0}.tag{display:inline-flex;align-self:flex-start;border:1px solid var(--line);border-radius:99px;padding:7px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}

.apply-shell{display:grid;grid-template-columns:.62fr 1.38fr;min-height:100vh;padding-top:92px}.apply-side{background:var(--ink);color:white;padding:70px max(32px,calc((100vw - var(--max))/2));padding-right:55px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.apply-side h1{font-family:var(--head);font-size:clamp(3.2rem,5vw,6rem);font-weight:400;line-height:.9;margin:20px 0}.apply-side p{color:#bdc9ce;max-width:45ch}.apply-main{padding:70px max(24px,calc((100vw - var(--max))/2));padding-left:6vw;background:var(--paper)}.steps{display:flex;gap:8px;margin-bottom:52px}.step-dot{height:5px;flex:1;background:var(--line);border-radius:99px;overflow:hidden}.step-dot span{display:block;height:100%;width:0;background:var(--sun);transition:width .35s}.step-dot.done span,.step-dot.active span{width:100%}.form-step{display:none;animation:fadeStep .4s var(--ease)}.form-step.active{display:block}@keyframes fadeStep{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}.form-step h2{font-family:var(--head);font-size:clamp(2.5rem,4.5vw,5rem);font-weight:400;line-height:.96;margin:0 0 35px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:.8rem;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:16px;padding:15px;outline:none;transition:.25s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sun);box-shadow:0 0 0 4px rgba(244,201,0,.13)}.field textarea{min-height:150px;resize:vertical}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:34px}.btn-secondary{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:13px 18px}.prototype-note{font-size:.76rem;color:var(--muted);margin-top:26px}

/* accessibility */
.accessibility{position:fixed;z-index:95;right:18px;bottom:18px}.access-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 14px 35px rgba(0,0,0,.18)}.access-btn svg{width:22px;height:22px}.access-menu{position:absolute;right:0;bottom:60px;width:220px;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.15);opacity:0;transform:translateY(10px) scale(.96);pointer-events:none;transition:.25s var(--ease)}.access-menu.open{opacity:1;transform:none;pointer-events:auto}.access-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 7px;border-bottom:1px solid var(--line);font-size:.82rem}.access-row:last-child{border-bottom:0}.access-actions{display:flex;gap:5px}.icon-chip{border:1px solid var(--line);background:transparent;color:var(--text);width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.icon-chip:hover,.icon-chip.active{background:var(--sun);border-color:var(--sun);color:#0b2230}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}[data-reveal].in{opacity:1;transform:none}

@media (max-width:1000px){
  .hero-grid,.school-top,.feature-split,.intro-grid,.page-grid,.footer-hero{grid-template-columns:1fr}
  .hero{padding-top:130px}.hero-grid{gap:40px}.hero-copy{padding-top:6vh}.hero h1{font-size:clamp(4rem,11vw,6.7rem);max-width:10ch}.hero-image-wrap{justify-self:end;width:min(78vw,560px);margin-top:-25px}.hero-image-frame{inset:0 0 0 7%}
  .module-rail{grid-template-columns:1fr 1fr}.module{border-bottom:1px solid rgba(255,255,255,.16)}.module:nth-child(2n){border-right:0;padding-left:20px}.module:last-child{grid-column:1/-1}
  .feature-copy{min-height:540px}.latest-grid{grid-template-columns:1fr 1fr}.story-card:first-child{grid-column:1/-1}.publication-grid{grid-template-columns:1fr 1fr}.menu-grid{grid-template-columns:1fr}.menu-preview{display:none}.apply-shell{grid-template-columns:1fr}.apply-side{min-height:50vh;padding:140px 28px 55px}.apply-main{padding:60px 28px 90px}
}

@media (max-width:680px){
  .container,.hero-grid{width:min(100% - 28px,var(--max))}.nav-pill{width:calc(100% - 20px);padding-left:14px}.brand-logo{width:96px}.menu-trigger{padding:11px 14px}.menu-trigger .menu-text{display:none}
  .hero{min-height:94svh;padding-bottom:25px;align-items:flex-start}.hero-copy{padding-top:60px}.hero h1{font-size:clamp(3.45rem,16vw,5rem);margin-bottom:26px;line-height:.9}.hero-image-wrap{width:91vw;aspect-ratio:1/1.05;margin-top:-2px}.hero-image-frame{inset:0 0 0 9%;border-radius:28px 28px 80px 28px}.hero-orbit{right:-18%;top:-8%}
  .section{padding:82px 0}.section-tight{padding:62px 0}.section-head{align-items:start;flex-direction:column}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.stat:last-child{padding-left:0}.photo-panel{min-height:470px;border-radius:24px}.photo-caption{left:20px;right:20px;bottom:20px}
  .program-row{grid-template-columns:44px 1fr auto;gap:10px}.program-row h3{font-size:1.45rem}.program-row .arrow{width:38px;height:38px}
  .module-rail{grid-template-columns:1fr}.module,.module:nth-child(2n){padding:24px 0;border-right:0}.module:last-child{grid-column:auto}.module b{margin-bottom:26px}
  .feature-split{display:block}.feature-image{min-height:420px}.feature-copy{min-height:480px;padding:36px 24px}.latest-grid,.publication-grid{grid-template-columns:1fr}.story-card:first-child{grid-column:auto}.story-card,.story-card:first-child{min-height:470px}.story-image,.story-card:first-child .story-image{height:265px}
  .footer-contact{grid-template-columns:1fr}.footer-hero h2{font-size:clamp(4rem,18vw,6.2rem)}
  .menu-inner{padding:18px 20px 26px}.menu-links strong{font-size:clamp(2.1rem,13vw,3.8rem)}.menu-link{gap:15px;padding:13px 0}.menu-bottom{font-size:.77rem}.sub-hero{padding:150px 0 60px;min-height:66vh}.sub-hero h1{font-size:clamp(3.8rem,18vw,6rem)}.sub-hero-image{width:70vw;right:-28vw;opacity:.33}
  .field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{flex-wrap:wrap}.apply-side h1{font-size:3.6rem}
}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation:none!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
