*{box-sizing:border-box;margin:0}
:root{--navy:#1b2a5c;--gold:#f2b632;--cream:#fbf6ec;--blue:#2e5eaa}
body{font:17px/1.65 "Source Sans 3","Segoe UI",Arial,sans-serif;color:#26304a;background:var(--cream)}
h1,h2,h3,.brand{font-family:"Playfair Display",Georgia,serif;color:var(--navy);line-height:1.25}
a{color:var(--blue)}a:focus-visible,label:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
header{background:var(--navy);position:sticky;top:0;z-index:5;transition:box-shadow .3s}
.bar{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem;position:relative}
.brand{color:#fff;text-decoration:none;font-size:1.2rem;font-weight:700}
.brand small{display:block;font:600 .68rem "Source Sans 3",sans-serif;letter-spacing:.1em;color:var(--gold)}
nav a{position:relative;color:#fff;text-decoration:none;margin-left:1.3rem;font-size:.95rem}
nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
nav a:hover::after,nav a.on::after{transform:scaleX(1)}
#m,.burger{display:none}
.hero{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding:7rem 1.2rem}
.hero h1{color:#fff;font-size:clamp(2.4rem,7vw,4rem)}
.hero p{color:#fff;max-width:600px;margin:1rem auto 1.8rem;font-size:1.15rem}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.75rem 1.7rem;border-radius:999px;font-weight:600;text-decoration:none}
.ph{background:var(--navy);text-align:center;padding:2.8rem 1.2rem;border-bottom:5px solid var(--gold)}.ph h1{color:#fff;font-size:2.4rem}
main{max-width:1100px;margin:auto;padding:2.5rem 1.2rem 3rem}
h2{font-size:1.75rem;margin:2.2rem 0 .9rem;display:inline-block;background:linear-gradient(rgba(242,182,50,.55),rgba(242,182,50,.55)) no-repeat 0 90%/100% 36%}
h3{font-size:1.2rem;margin-bottom:.4rem}p{margin-bottom:1rem}.w{max-width:72ch}ul.w{padding-left:1.2rem}ul.w li{margin-bottom:.4rem}
.grid,.stats{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.stats{gap:0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}
.s{padding:2.1rem 1rem;text-align:center;color:#fff}.s b{display:block;font:700 3.4rem "Playfair Display",Georgia,serif;line-height:1}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.chips li{background:var(--navy);color:#fff;padding:.4rem 1rem;border-radius:999px;font-size:.92rem}
.wide{width:100%;border-radius:8px;display:block}
footer{background:var(--navy);color:#cfd6ea;text-align:center;padding:2rem 1.2rem;font-size:.92rem}footer p{margin-bottom:.3rem}footer b{color:var(--gold)}.cr{margin-top:.8rem}
@media(max-width:860px){.burger{display:block;color:#fff;font-size:1.7rem;cursor:pointer}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:.4rem 1.2rem 1rem}nav a{display:block;width:fit-content;margin:.8rem 0}#m:checked~nav{display:block}}
body{animation:fade .7s ease}
@keyframes fade{from{opacity:0}}
header.sc{box-shadow:0 4px 18px rgba(0,0,0,.28)}
.card{background:rgba(255,255,255,.7);border-radius:14px;padding:1.4rem 1.5rem;color:inherit;text-decoration:none;display:block;transition:transform .4s ease,background .4s ease}
.card:hover{background:#fff}a.card:hover{transform:translateY(-4px)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(27,42,92,.55),rgba(27,42,92,.85)),url(images/campus.jpg) center/cover;animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.08)}}
.hero h1,.hero p,.hero .btn{animation:rise 1s ease both}.hero p{animation-delay:.25s}.hero .btn{animation-delay:.5s}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease,background .4s ease}
.js .rv.in{opacity:1;transform:none}
.js .grid .rv:nth-child(2){transition-delay:.12s}.js .grid .rv:nth-child(3){transition-delay:.24s}
.js h2{background-size:0 36%;transition:background-size 1s ease .1s}.js h2.in{background-size:100% 36%}
.band{background:var(--navy);padding:3.2rem 0 1.6rem;overflow:hidden}
.bw{max-width:1100px;margin:0 auto 1.4rem;padding:0 1.2rem}.band h2{color:#fff}.bw p{color:#cfd6ea;max-width:60ch}
.band h3{color:var(--gold);max-width:1100px;margin:0 auto .8rem;padding:0 1.2rem}
.row{overflow:hidden;margin-bottom:1.6rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.track{display:flex;width:max-content;list-style:none;padding:0;animation:flow var(--d,60s) linear infinite}
.rev .track{animation-direction:reverse}.row:hover .track{animation-play-state:paused}
@keyframes flow{to{transform:translateX(-50%)}}
.uni{flex:none;width:200px;height:156px;margin-right:16px;background:#fff;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;text-align:center}
.uni img{object-fit:contain;flex:none}.uni span{font:600 .84rem/1.3 "Source Sans 3",sans-serif;color:var(--navy)}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}.row{-webkit-mask-image:none;mask-image:none}.track{width:auto;flex-wrap:wrap;justify-content:center}.uni[aria-hidden]{display:none}}
