﻿:root{
  --navy:#102147; --navy2:#0b1730; --gold:#c9a227; --gold2:#fff;
  --gr-color1:#FACC1E;
  --gr-color2:#FF7924;
  --gr-color3:#00C0A7;
  --gr-color4:#00E97C;
  --gr-color5:#FC4365;
  --gr-color6:#FE6229;
  --gr-color7:#009AFC;
  --gr-color8:#E75A7D;
  --ink:#222; --muted:#6b7280; --bg:#f7f5ef; --white:#fff;
  --serif:'Crimson Pro',Georgia,serif; --sans:'Lato',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#bc2e31 #eef0f4}
html,body{overflow-x:hidden}
/* `hidden` turns html/body into scroll containers, which silently disables
   position:sticky for every descendant (the About Us sticky columns). `clip`
   contains the same overflow without that side effect. */
@supports (overflow:clip){html,body{overflow-x:clip}}
section[id]{scroll-margin-top:80px}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-button{display:none;width:0;height:0}
::-webkit-scrollbar-track{background:#eef0f4}
::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:#EB1551}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(100% - 2rem,80rem);margin-inline:auto}
/* Admission enquiry modal */
.ae-overlay{position:fixed;inset:0;z-index:150;background:rgba(11,23,48,.6);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:18px}
.ae-overlay.open{display:flex}
.ae-card{position:relative;width:100%;max-width:520px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:22px;padding:36px 34px;box-shadow:0 40px 90px -20px rgba(0,0,0,.5);animation:aeIn .4s cubic-bezier(.22,.9,.3,1)}
.ae-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#8e1f22,#bc2e31 30%,#c9a227 50%,#bc2e31 70%,#8e1f22);border-radius:22px 22px 0 0}
@keyframes aeIn{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
.ae-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:#f1f4f9;color:var(--muted);cursor:pointer;font-size:14px;transition:.25s}
.ae-close:hover{background:var(--navy);color:#fff;transform:rotate(90deg)}
.ae-kicker{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#d34a4e,#a32427);border-radius:999px;padding:6px 15px;margin-bottom:12px}
.ae-head h3{font-family:'Lora',serif;font-size:clamp(1.35rem,1.2rem + 1.2vw,1.7rem);color:var(--navy);margin:0 0 8px}
.ae-head p{font-size:13.5px;color:var(--muted);margin:0 0 20px}
.ae-form{display:grid;gap:14px}
.ae-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:14px}
.ae-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--navy)}
.ae-form input,.ae-form select,.ae-form textarea{font-family:inherit;font-size:14px;color:var(--ink);border:1.5px solid #e0e4ec;border-radius:12px;padding:12px 14px;background:#f8fafc;outline:none;transition:.25s;width:100%;box-sizing:border-box}
.ae-form input:focus,.ae-form select:focus,.ae-form textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.ae-form textarea{resize:vertical;min-height:74px}
.ae-error{font-size:12.5px;font-weight:700;color:#a32427;background:#fdecec;border:1px solid #f5c2c4;border-radius:10px;padding:10px 14px;margin:0}
.ae-submit{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#d34a4e,#a32427);color:#fff;border:none;border-radius:12px;padding:15px;font-family:inherit;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px -8px rgba(163,36,39,.5);transition:.25s}
.ae-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(163,36,39,.6)}
.ae-success{text-align:center;padding:10px 0 4px}
.ae-tick{width:64px;height:64px;border-radius:50%;background:#e2f4eb;color:#14603f;display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.ae-success h3{font-family:'Lora',serif;font-size:clamp(1.2rem,1.05rem + 1vw,1.45rem);color:var(--navy);margin:0 0 10px}
.ae-success p{font-size:14px;color:#4b5563;margin:0 0 8px}
.ae-success p strong{color:var(--navy)}
.ae-alt{font-size:13px !important}
.ae-alt a{color:#a32427;font-weight:700}
.ae-success .ae-submit{width:100%;margin-top:16px}
@media(max-width:520px){.ae-card{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){.ae-card{animation:none}.ae-close{transition:none}}
.ae-overlay.open .ae-form>*{animation:aeField .5s cubic-bezier(.22,.9,.3,1) both}
.ae-overlay.open .ae-form>*:nth-child(2){animation-delay:.06s}
.ae-overlay.open .ae-form>*:nth-child(3){animation-delay:.12s}
.ae-overlay.open .ae-form>*:nth-child(4){animation-delay:.18s}
.ae-overlay.open .ae-form>*:nth-child(5){animation-delay:.24s}
.ae-overlay.open .ae-form>*:nth-child(6){animation-delay:.3s}
@keyframes aeField{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ae-overlay.open .ae-success{animation:aePop .45s cubic-bezier(.22,.9,.3,1) both}
@keyframes aePop{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.ae-submit{position:relative;overflow:hidden}
.ae-submit::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.ae-submit:hover::after{left:130%}
@media(prefers-reduced-motion:reduce){.ae-overlay.open .ae-form>*,.ae-overlay.open .ae-success{animation:none}}
.skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip:focus,.skip:active{width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;background:var(--navy);color:#fff;padding:10px 18px;z-index:200;top:10px;left:10px;font-weight:700;border-radius:0 0 12px 0}
.btn{display:inline-block;padding:12px 26px;border-radius:999px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:13px;text-decoration:none;border:2px solid transparent;transition:.25s;margin:6px 6px 0}
.btn.gold{background:linear-gradient(135deg,#d34a4e,#a32427);color:#fff;box-shadow:0 8px 22px rgba(188,46,49,.35)}.btn.gold:hover{background:var(--navy);box-shadow:0 8px 22px rgba(16,33,71,.35)}
.btn.ghost{border-color:var(--navy);color:var(--navy)}.btn.ghost:hover{background:var(--navy);color:#fff}
.btn.light{/*background:#fff;*/color:var(--navy)}.btn.big{font-size:15px;padding:15px 34px}

/* HEADER — transparent over hero, white on scroll (same pattern as reference) */
.site-header{position:fixed;inset:0 0 auto 0;z-index:90;background:transparent;transition:background .35s,box-shadow .35s}
.site-header::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#8e1f22,#bc2e31 25%,var(--gold2) 50%,#bc2e31 75%,#8e1f22);opacity:.95;z-index:1}
.site-header .useful a{color:#fff;transition:.35s}
.site-header.scrolled{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid #eee;box-shadow:0 6px 24px rgba(16,33,71,.12)}
.site-header.scrolled .useful a{/*color:var(--navy)*/}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 50px;margin:0 auto;/*max-width:1440px;*/transition:padding .35s ease}
.site-header.scrolled .header-inner{padding:8px 50px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;flex:0 1 auto}
.brand img{max-width:100%}
.brand img{width:100%;max-width:550px;height:90px;object-fit:contain;background:#fff;border-radius:16px;padding:6px;transition:height .35s ease,width .35s ease}
.site-header.scrolled .brand img{height:58px;width:auto;max-width:420px}
.header-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0}
@media(max-width:1100px){
  .header-inner{padding:12px 24px}
  .site-header.scrolled .header-inner{padding:8px 24px}
  .brand img{height:72px}
  .site-header.scrolled .brand img{height:54px}
  .header-actions{gap:10px}
}
@media(max-width:900px){
  .useful{display:none}
  .brand img{height:60px;max-width:44vw}
  .site-header.scrolled .brand img{height:48px;max-width:44vw}
}
.useful{display:flex;gap:26px;align-items:center}
.useful>a{display:none}
.useful a{position:relative;display:flex;align-items:center;gap:8px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.04em;padding:6px 2px;background:none;border:none;box-shadow:none;transition:color .3s}
.useful a i{color:rgb(255 215 20 / 96%);font-size:13px}
.useful a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;/*background:var(--gold2);*/border-radius:99px;transition:width .35s cubic-bezier(.22,.9,.3,1)}
.useful a:hover::after{width:100%}
.useful a.cta{color:#fff}
.site-header.scrolled .useful a.cta{color:#000}
.head-drop{position:relative}
.head-drop-toggle{position:relative;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#00adef,#2c4290);border:1px solid rgba(201,162,39,.45);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:9px 20px 9px 10px;border-radius:999px;box-shadow:0 8px 22px rgba(11,23,48,.35),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .3s,box-shadow .3s;overflow:hidden;white-space:nowrap}
.head-drop-toggle:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,23,48,.45),inset 0 1px 0 rgba(255,255,255,.15)}
.head-drop-toggle>i:first-child{width:28px;height:28px;border-radius:50%;background:rgba(201,162,39,.2);color:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.head-drop-toggle::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.head-drop-toggle:hover::after{left:130%}
.head-drop-toggle .head-chev{font-size:10px;transition:transform .25s}
.head-drop-toggle[aria-expanded="true"] .head-chev{transform:rotate(180deg)}
.site-header.scrolled .head-drop-toggle{color:#fff}
.head-drop-menu{position:absolute;top:calc(100% + 12px);left:50%;translate:-50% 0;background:linear-gradient(135deg,#1b3260 0%,#0b1730 100%);color:#fff;border:1px solid rgba(201,162,39,.45);border-radius:14px;box-shadow:0 20px 55px rgba(11,23,48,.45);min-width:230px;padding:8px;display:none;z-index:95}
.head-drop-menu::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}
.head-drop-menu.open{display:block;animation:dropIn .25s ease}
@media(hover:hover){.head-drop:hover .head-drop-menu{display:block}}
.head-drop-menu a{display:block;padding:10px 14px;border:none;border-radius:10px;text-decoration:none;color:#fff;font-size:13.5px;font-weight:600;transition:.2s}
.head-drop-menu a:hover{background:linear-gradient(90deg,#00adef,#2c4290);color:#fff;padding-left:20px}
.head-drop-menu.open a:hover{border-bottom:none}
.campus-btn{position:relative;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#00adef,#2c4290);color:#fff;border:1px solid rgba(201,162,39,.45);border-radius:999px;padding:9px 20px 9px 10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;text-decoration:none;cursor:pointer;white-space:nowrap;box-shadow:0 8px 22px rgba(11,23,48,.35),inset 0 1px 0 rgba(255,255,255,.15);transition:transform .3s,box-shadow .3s;overflow:hidden}
.campus-btn i{width:28px;height:28px;border-radius:50%;background:rgba(201,162,39,.2);color:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.campus-btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.campus-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,23,48,.45),inset 0 1px 0 rgba(255,255,255,.15)}
.campus-btn:hover::after{left:130%}
@media(max-width:640px){.campus-btn{width:40px;height:40px;padding:0;justify-content:center;font-size:0;gap:0}.campus-btn i{width:auto;height:auto;background:none;font-size:14px}}
@media(max-width:420px){.campus-btn{width:40px;height:40px;padding:0;justify-content:center;font-size:0;gap:0}.campus-btn i{width:auto;height:auto;background:none;font-size:14px}}
.admin-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--navy);border:1px solid rgba(11,23,48,.14);font-size:15px;text-decoration:none;flex:0 0 auto;box-shadow:0 6px 18px rgba(11,23,48,.16),0 0 0 1px var(--gold),0 0 0 4px rgba(201,162,39,.15);transition:transform .3s,background .3s,color .3s}
.admin-btn:hover{transform:translateY(-2px);background:var(--navy);color:#fff}
@media(max-width:1024px){
  .admin-btn{display:none}
  .hero{min-height:78vh;min-height:78svh}
  .hero-yt-wrap iframe,.hero-yt-wrap #heroYt{width:100vw;height:56.25vw;min-width:138.7vh;min-height:78vh;min-width:138.7svh;min-height:78svh}
}
@media(max-width:400px){
  .brand img{height:30px}
  .menu-btn{padding:8px}
  .menu-btn .m-label,.menu-btn .m-arrow{display:none}
}
.menu-btn{display:flex;align-items:center;gap:10px;background:#fff;color:var(--navy);border:1px solid rgba(11,23,48,.14);border-radius:999px;padding:7px 18px 7px 8px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:13.5px;cursor:pointer;box-shadow:0 6px 18px rgba(11,23,48,.16),inset 0 1px 0 #fff;transition:transform .35s,box-shadow .35s,border-color .35s,letter-spacing .35s;position:relative;overflow:hidden}
.menu-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(11,23,48,.24);border-color:rgba(11,23,48,.35);letter-spacing:.22em}
.menu-btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(201,162,39,.4),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.menu-btn:hover::after{left:135%}
.menu-btn .bars{background:linear-gradient(135deg,#24427c,#0b1730);width:32px;height:32px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 0 0 1px var(--gold),0 0 0 4px rgba(201,162,39,.15);transition:transform .3s,background .3s,box-shadow .3s}
.menu-btn .m-label{border-left:1px solid rgba(11,23,48,.15);padding-left:10px}
.menu-btn .m-arrow{display:flex;align-items:center;max-width:0;opacity:0;overflow:hidden;color:var(--gold);font-size:11px;transition:max-width .35s cubic-bezier(.22,.9,.3,1),opacity .3s,margin .35s}
.menu-btn:hover .m-arrow{max-width:26px;opacity:1;margin-left:4px}
.menu-btn:hover .bars{transform:scale(1.07)}
.menu-btn .bars span{background:#fff;width:13px;height:2px}
.bars{display:flex;flex-direction:column;gap:4px}.bars span{width:20px;height:2px;background:var(--gold2);display:block}

/* MENU OVERLAY — photo backdrop + right slide-in panel (St Edmunds-style pattern, original code) */
.menu-overlay{position:fixed;inset:0;z-index:120;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility 0s linear .45s}
.menu-overlay.open{opacity:1;visibility:visible;transition:opacity .45s ease,visibility 0s}
.menu-overlay.open .menu-shell{animation:shellIn .55s cubic-bezier(.22,.9,.3,1) both}
@keyframes shellIn{from{opacity:0;transform:scale(.982)}to{opacity:1;transform:none}}
/* GSAP owns menu motion when available (CSS transitions stay as no-JS fallback).
   In gsap-on mode the .open end-states are pinned to HIDDEN values so nothing
   flashes before the timeline plays; GSAP animates to visible via inline styles. */
.menu-overlay.gsap-on{transition:none}
.menu-overlay.gsap-on .menu-shell{animation:none}
.menu-overlay.gsap-on .menu-photo,.menu-overlay.gsap-on .menu-panel,.menu-overlay.gsap-on .m-item,.menu-overlay.gsap-on .menu-cards,.menu-overlay.gsap-on .menu-quote{transition:none !important;animation:none !important}
.menu-overlay.gsap-on .m-sub{transition:none;max-height:none;height:0}
.menu-overlay.gsap-on.open .menu-photo{transform:scale(1.08)}
.menu-overlay.gsap-on.open .menu-panel{transform:translateX(102%) scale(.98);opacity:0}
.menu-overlay.gsap-on.open .m-item{opacity:0;transform:translateY(26px)}
.menu-overlay.gsap-on.open .menu-cards{opacity:0;transform:translateY(16px)}
.menu-overlay.gsap-on.open .menu-quote{opacity:0}
.menu-overlay.reduced *{transition:none !important;animation:none !important}
.menu-bg{position:absolute;inset:0;background:rgba(6,12,26,.55)}
.menu-shell{position:absolute;inset:0;overflow:hidden}
.menu-photo{position:absolute;inset:0;background:url('../assets/img/school.jpg') center/cover;transform:scale(1.08);transition:transform 1.4s ease;pointer-events:none}
.menu-overlay.open .menu-photo{transform:scale(1)}
.menu-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,23,48,.55),rgba(11,23,48,.88))}
.menu-quote{position:absolute;top:92px;left:0;right:min(560px,42vw);z-index:1;text-align:center;color:#fff;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.25;letter-spacing:.01em;text-shadow:0 3px 26px rgba(0,0,0,.55);padding:0 30px;opacity:0;transform:translateY(16px);transition:.6s ease .3s}
.menu-overlay.open .menu-quote{opacity:1;transform:none}
.menu-quote small{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-family:var(--sans);font-style:normal;font-size:12px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#fff}
.menu-quote::before{content:"\201C";display:block;font-size:1.9em;line-height:.6;color:#fff8f8;margin-bottom:10px;text-shadow:none}
.menu-quote small::before,.menu-quote small::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,transparent,#fffdfd);display:block}
.menu-quote small::after{background:linear-gradient(90deg,#fffdfd,transparent)}
.menu-quote{position:absolute;top:92px;left:0;right:min(560px,42vw);z-index:1;text-align:center;color:#fff;font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.25;letter-spacing:.01em;text-shadow:0 3px 26px rgba(0,0,0,.55);padding:0 30px;opacity:0;transform:translateY(16px);transition:.6s ease .3s}
.menu-overlay.open .menu-quote{opacity:1;transform:none}
.menu-quote::before{content:"\201C";display:block;font-size:1.9em;line-height:.6;color:var(--gold2);margin-bottom:10px;text-shadow:none}
.menu-quote small{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;font-family:var(--sans);font-style:normal;font-size:12px;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:var(--gold2)}
.menu-quote small::before,.menu-quote small::after{content:"";width:56px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2));display:block}
.menu-quote small::after{background:linear-gradient(90deg,var(--gold2),transparent)}
.menu-panel{position:absolute;top:0;right:0;bottom:0;z-index:3;width:min(560px,42vw);background:radial-gradient(620px 320px at 90% -5%,rgba(252,193,79,.16),transparent 60%),radial-gradient(520px 420px at 105% 108%,rgba(188,46,49,.14),transparent 60%),linear-gradient(180deg,#ffffff 0%,#ffffff 55%,#d0dcff 100%);color:#000;display:flex;flex-direction:column;overflow-y:auto;transform:translateX(102%) scale(.98);opacity:0;transition:transform .55s cubic-bezier(.32,.72,0,1) .05s,opacity .4s ease .05s;box-shadow:-24px 0 70px rgba(0,0,0,.4);will-change:transform}
.menu-overlay.open .menu-panel{transform:none;opacity:1}
.menu-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid rgba(11,23,48,.12)}
.menu-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.useful-admin{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy);border:1px solid rgba(11,23,48,.2);border-radius:999px;padding:10px 18px;font-weight:800;font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;transition:.25s;white-space:nowrap}
.useful-admin i{color:#a32427}
.useful-admin:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.useful-admin:hover i{color:var(--gold)}
.menu-useful{position:relative}
.useful-toggle{background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);color:#fff;border:1px solid rgba(252,193,79,.55);border-radius:999px;padding:10px 20px;font-weight:600;cursor:pointer;font-size:13px;text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;gap:8px;transition:.25s;text-decoration:none}
.useful-toggle:hover{background:rgb(255 215 20 / 96%);border-color:var(--gold);color:#000}
.useful-toggle .fa-chevron-down{transition:transform .25s}
.useful-toggle[aria-expanded="true"] .fa-chevron-down{transform:rotate(180deg)}
.useful-drop{position:absolute;top:calc(100% + 10px);left:0;background:rgb(255 215 20 / 96%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgb(12 12 12 / 30%);border-top:3px solid var(--gold2);border-radius:0 0 16px 16px;box-shadow:0 24px 60px rgba(0,0,0,.45);min-width:260px;padding:10px;display:none;z-index:5}
.useful-drop.open{display:block;animation:dropIn .25s ease}
@keyframes dropIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.useful-drop a{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;text-decoration:none;color:#000;font-size:13.5px;font-weight:600;letter-spacing:.02em;transition:.2s}
.useful-drop a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold2);flex-shrink:0;opacity:.7}
.useful-drop a:hover{background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);color:#fff;padding-left:20px}
.useful-drop.open a{animation:dropLink .3s both}
.useful-drop.open a:nth-child(2){animation-delay:.04s}
.useful-drop.open a:nth-child(3){animation-delay:.08s}
.useful-drop.open a:nth-child(4){animation-delay:.12s}
.useful-drop.open a:nth-child(5){animation-delay:.16s}
.useful-drop.open a:nth-child(6){animation-delay:.2s}
.useful-drop.open a:nth-child(7){animation-delay:.24s}
@keyframes dropLink{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.menu-close{display:flex;align-items:center;gap:8px;background:#fff;color:var(--navy);border:1px solid rgba(11,23,48,.18);box-shadow:0 4px 14px rgba(16,33,71,.12);border-radius:999px;padding:11px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;font-size:13px;transition:.25s}
.menu-close:hover{background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);color:#fff;transform:rotate(-3deg)}
.menu-close i{transition:transform .3s}
.menu-close:hover i{transform:rotate(90deg)}
.menu-quick{display:flex;gap:8px;flex-wrap:wrap;padding:14px 22px 35px}
.menu-quick a{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#0b1730;text-decoration:none;background:rgba(11,23,48,.06);border:1px solid rgba(11,23,48,.16);border-radius:999px;padding:9px 15px;transition:.25s}
.menu-quick a:hover{background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);color:#fff;border-color:var(--gold)}
.menu-quick a i{color:var(--gold)}
.menu-quick a:hover i{color:#fff}
.m-item>a::before,.m-row>a::before{font-family:"Font Awesome 6 Free";font-weight:900;display:inline-flex;align-items:center;justify-content:center;width:30px;color:#024783;font-size:13px;flex-shrink:0;transition:color .2s}
.m-item>a:hover::before{color:#0862af}
.m-row>a:hover::before{color:#EB1551}
.m-item:nth-child(1)>a::before{content:"\f015"}
.m-item:nth-child(2)>.m-row>a::before{content:"\f549"}
.m-item:nth-child(3)>.m-row>a::before{content:"\f518"}
.m-item:nth-child(4)>.m-row>a::before{content:"\f12e"}
.m-item:nth-child(5)>.m-row>a::before{content:"\f61f"}
.m-item:nth-child(6)>.m-row>a::before{content:"\f302"}
.m-item:nth-child(7)>a::before{content:"\f5da"}
.m-item:nth-child(8)>.m-row>a::before{content:"\f501"}
.m-item:nth-child(9)>.m-row>a::before{content:"\f0b1"}
.m-item:nth-child(10)>a::before{content:"\f059"}
.m-item:nth-child(11)>.m-row>a::before{content:"\f1ea"}
.m-item:nth-child(12)>.m-row>a::before{content:"\f0e0"}
.m-item{border-bottom:1px solid rgba(11,23,48,.14);opacity:0;transform:translateY(14px);padding-left:10px}
.menu-overlay.open .m-item{opacity:1;transform:none;transition:opacity .45s ease,transform .45s cubic-bezier(.22,.9,.3,1);transition-delay:calc(.18s + var(--i,0)*.05s)}
.m-item>a{display:flex;align-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.09em;text-decoration:none;color:#024783;font-size:14px;padding:13px 0;transition:.2s}
.m-item>a:hover{color:#0862af;padding-left:6px}
.m-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.m-row>a{flex:1;display:flex;align-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.09em;text-decoration:none;color:#024783;font-size:14px;padding:13px 0;transition:.2s}
.m-row>a:hover{color:#EB1551;padding-left:6px}
.m-toggle{width:38px;height:38px;border-radius:50%;border:1px solid rgba(11,23,48,.35);background:transparent;color:#0b1730;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .25s,border-color .25s,color .25s}
.m-toggle:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.m-toggle i{transition:transform .35s cubic-bezier(.22,.9,.3,1)}
.m-item.open .m-toggle{background:var(--gold);border-color:var(--gold);color:#fff}
.m-item.open .m-toggle i{transform:rotate(45deg)}
.m-sub{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,.9,.3,1)}
.m-item.open .m-sub{max-height:1200px}
.m-sub a{display:block;padding:8px 0 8px 14px;text-decoration:none;color:#001034;font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;font-size:16px;line-height:1.5;letter-spacing:.01em;/*font-weight:500;*/border-left:2px solid rgb(0 47 145 / 18%);transition:.2s}
.m-sub a:hover{color:#EB1551;border-left-color:var(--gold);padding-left:18px}
.m-sub a.m-cur{color:#EB1551;border-left-color:var(--gold);font-weight:700;background:linear-gradient(90deg,rgba(201,162,39,.14),transparent)}
/* Nested Infrastructure submenu inside About Us */
.m-nest-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:transparent;border:0;border-left:2px solid rgb(0 47 145 / 18%);padding:8px 0 8px 14px;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16px;line-height:1.5;letter-spacing:.01em;color:#024783;text-transform:uppercase;transition:.2s}
.m-nest-toggle:hover{color:#EB1551;border-left-color:var(--gold);padding-left:18px}
.m-nest-toggle i{font-size:12px;transition:transform .35s cubic-bezier(.22,.9,.3,1)}
.m-nest-sub{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,.9,.3,1)}
.m-nest.open .m-nest-sub{max-height:600px}
.m-nest.open .m-nest-toggle{color:#EB1551;border-left-color:var(--gold)}
.m-nest.open .m-nest-toggle i{transform:rotate(45deg)}
.m-nest-sub a{padding-left:28px}
.m-nest-sub a:hover{padding-left:32px}
.menu-social{display:flex;gap:10px;padding:16px 22px 20px}
.menu-social a{width:42px;height:42px;border-radius:50%;background:var(--navy);border:1px solid var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;transition:.25s}
.menu-social a:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-3px)}
.menu-cards{position:absolute;left:0;right:min(350px,80vw);bottom:0;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;justify-content:center;padding:14px 22px 30px;max-width:840px;margin:0 auto;background:linear-gradient(transparent,rgba(6,12,26,.75));opacity:0;transform:translateY(16px);transition:.5s ease .35s}
.menu-overlay.open .menu-cards{opacity:1;transform:none}
.menu-card{position:relative;min-height:180px;border-radius:16px;display:flex;align-items:flex-end;text-decoration:none;overflow:hidden;border:1px solid rgba(255,255,255,.16);box-shadow:0 16px 38px rgba(0,0,0,.4);transition:transform .35s cubic-bezier(.22,.9,.3,1),border-color .35s,box-shadow .35s}
.menu-card:hover{transform:translateY(-6px);border-color:rgba(252,193,79,.7);box-shadow:0 22px 48px rgba(0,0,0,.5)}
.menu-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.22,.9,.3,1)}
.menu-card:hover .menu-card-bg{transform:scale(1.09)}
.menu-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,23,48,.05) 30%,rgba(11,23,48,.55) 60%,rgba(11,23,48,.92));transition:.35s}
.menu-card-text{position:relative;z-index:1;padding:16px;width:100%}
.menu-card-text::before{content:"";display:block;width:36px;height:3px;background:var(--gold2);border-radius:99px;margin-bottom:10px;transition:width .4s cubic-bezier(.22,.9,.3,1)}
.menu-card:hover .menu-card-text::before{width:70px}
.menu-card-text strong{font-family:var(--serif);font-weight:700;font-size:clamp(1.15rem,1rem + 1vw,1.4rem);line-height:1.2;color:#fff;display:block}
.menu-card-text small{display:block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.menu-card-go{display:flex;align-items:center;gap:8px;margin-top:9px;font-style:normal;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.menu-card:hover .menu-card-go{opacity:1;transform:none}
.menu-card-go i{font-size:10px}
/* header Menu button morphs to X while menu is open */
.menu-btn .bars span{transition:transform .3s,opacity .3s}
.menu-btn.active .bars span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-btn.active .bars span:nth-child(2){opacity:0}
.menu-btn.active .bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

/* HERO — fullscreen YouTube video background + grid lines (same UX as reference) */
.hero{position:relative;min-height:100vh;min-height:100dvh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy2);color:#fff}
.hero-media{position:absolute;inset:0;overflow:hidden;background:var(--navy2)}
.hero-poster{position:absolute;inset:0;background-size:cover;background-position:center;animation:kbZoom 28s ease-in-out infinite alternate}
@keyframes kbZoom{from{transform:scale(1)}to{transform:scale(1.12)}}
@media(prefers-reduced-motion:reduce){.hero-poster{animation:none}}
.hero-yt-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-yt-wrap iframe,.hero-yt-wrap #heroYt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:56.25vw;min-width:177.78vh;min-height:100%;width:100vw;height:56.25vw;min-width:177.78svh;min-height:100%;border:0;pointer-events:none;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,48,.72),rgba(10,18,48,.08) 32%,rgba(10,18,48,.08) 66%,rgba(10,18,48,.72));pointer-events:none}
.hero-frame{position:absolute;inset:0;pointer-events:none;z-index:2}
.hline{position:absolute;left:0;right:0;top:94%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5) 10%,rgba(255,255,255,.5) 90%,transparent);transform:scaleX(0);animation:drawX 1.2s cubic-bezier(.22,.9,.3,1) .3s forwards}
@keyframes drawX{to{transform:scaleX(1)}}
.vline{position:absolute;top:112px;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.5) 12%,rgba(255,255,255,.5) 85%,transparent);transform:scaleY(0);animation:drawY 1.2s cubic-bezier(.22,.9,.3,1) .5s forwards}
.vline.left{left:28px}.vline.right{right:28px}
@keyframes drawY{to{transform:scaleY(1)}}
.hline::after{content:"";position:absolute;top:-0.5px;bottom:-0.5px;width:12%;background:linear-gradient(90deg,transparent,rgba(252,193,79,.9),transparent);animation:glide 4.5s linear 2s infinite}
@keyframes glide{from{left:-150px}to{left:calc(100% + 20px)}}
.hero-frame .play-toggle{position:absolute;right:28px;bottom:20px;transform:translateX(50%);z-index:3;display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 24px rgba(0,0,0,.3);color:#fff;border-radius:18px;font-size:16px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto;transition:background .3s,border-color .3s;opacity:0;animation:fadeIn .8s ease 1.8s forwards}
.hero-frame .play-toggle:hover{background:var(--gold);border-color:var(--gold)}
.hero-mute{position:absolute;z-index:3;left:28px;bottom:22px;transform:translateX(-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 24px rgba(0,0,0,.3);color:#fff;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto;transition:.3s;font-size:16px;opacity:0;animation:fadeIn .8s ease 1.4s forwards}
.hero-mute:hover{background:var(--gold);border-color:var(--gold)}
.hero-mute::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(252,193,79,.7);animation:pulse 2.2s ease-out infinite;pointer-events:none}
@keyframes pulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.3);opacity:0}}
@keyframes fadeIn{to{opacity:1}}
.hero-scroll{position:absolute;z-index:3;left:50%;bottom:22px;transform:translateX(-50%);width:34px;height:56px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 24px rgba(0,0,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none;pointer-events:auto;transition:background .3s,border-color .3s;opacity:0;animation:fadeIn .8s ease 1.6s forwards}
.hero-scroll:hover{background:#EB1551;border-color:#EB1551}
.hero-scroll::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(252,193,79,.45);border-radius:999px;pointer-events:none}
.hero-scroll i{animation:chevBob 1.8s ease-in-out infinite}
@keyframes chevBob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* QUICK LINKS — floating card grid on deep-blue band */
.quicklinks{background:radial-gradient(620px 220px at 85% 0%,rgba(252,193,79,.08),transparent 60%),linear-gradient(180deg,#0B3F64,#0a3554);padding:20px 0;position:relative;overflow:hidden}
.quicklinks::before{content:"";position:absolute;top:0;left:0;width:24%;height:100%;background-image:radial-gradient(rgba(255,255,255,.16) 1.4px,transparent 1.4px);background-size:20px 20px;-webkit-mask-image:radial-gradient(120% 110% at 0 0,#000 25%,transparent 75%);mask-image:radial-gradient(120% 110% at 0 0,#000 25%,transparent 75%);pointer-events:none}
.quicklinks::after{content:"";position:absolute;top:50%;right:3%;width:18%;height:auto;aspect-ratio:1/1;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1' opacity='0.09'%3E%3Cpath d='M12 6.5C10 5.3 7 4.9 4 5.1v13c3-.2 6 .2 8 1.4 2-1.2 5-1.6 8-1.4v-13c-3-.2-6 .2-8 1.4zm0 0v12.9'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.quicklinks .wrap{position:relative;z-index:1}
.quicklinks .wrap{padding-top:0;padding-bottom:0}
.ql-panel{position:relative;z-index:5;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1px;background:#dfe6f2;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.5);/*animation:riseIn .9s cubic-bezier(.22,.9,.3,1) .2s both*/}
.ql-tile{display:flex;align-items:center;gap:14px;min-width:0;padding:24px 22px;text-decoration:none;color:var(--navy);background:#fff;position:relative;transition:background .2s ease,transform .25s ease}
.ql-tile:hover{background:linear-gradient(45deg,var(--gr-color2),var(--gr-color2),var(--gr-color1),var(--gr-color1))}
.ql-tile:hover .ql-sub{color:rgba(11,23,48,.72)}
.ql-tile:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.ql-icon{width:48px;height:48px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:rgba(188,46,49,.1);color:#bc2e31;flex-shrink:0;transition:background .2s ease,color .2s ease,transform .25s ease,border-radius .25s ease}
.ql-icon svg{width:21px;height:21px}
.ql-tile:hover .ql-icon{background:linear-gradient(135deg,#d34a4e,#a32427);color:#fff;border-radius:50%;transform:scale(1.05)}
.ql-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.ql-label{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;line-height:1.3;letter-spacing:.015em}
.ql-sub{font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a94a6}
.ql-tile.lead .ql-sub{color:rgba(255,255,255,.75)}
.ql-tile:hover{transform:translateY(-2px)}
.ql-tile.lead{background:linear-gradient(135deg,#01ADEE,#0284c7);color:#fff}
.ql-tile.lead:hover{background:linear-gradient(135deg,#0fb5f5,#0369a1)}
.ql-tile.lead .ql-icon{background:rgba(255,255,255,.18);color:#fff}
.ql-tile.lead:hover .ql-icon{background:#fff;color:#0284c7;border-radius:50%}
.ql-tile{padding:clamp(1rem,0.75rem + 1.2vw,1.25rem) clamp(0.875rem,0.7rem + 1vw,1.125rem)}
@media(prefers-reduced-motion:reduce){.ql-panel{animation:none}}

/* WELCOME — base (welcome-new styles below) */
.welcome{position:relative;overflow:hidden}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* NEWS */

/* ============ ACADEMIC WINGS ============ */
.wings{position:relative;padding:clamp(64px,6.5vw,124px) 0 clamp(72px,7vw,132px);background-color:#f9f9ff;background-image:radial-gradient(circle at 8% 12%,rgba(201,162,39,.1),transparent 42%),radial-gradient(circle at 92% 88%,rgba(10,30,63,.07),transparent 46%),radial-gradient(rgba(16,33,71,.05) 1px,transparent 1px);background-size:auto,auto,24px 24px;overflow:hidden}
.wings .wrap{width:min(100% - 2rem,80rem);margin-inline:auto}
.wings-intro h2,.wing-card h3{font-family:'Playfair Display',serif}
.wings-sub,.wing-chip,.wing-age,.wing-desc,.wing-meta,.wing-link,.wing-kicker{font-family:'Plus Jakarta Sans',sans-serif}
.wings::before{content:"";position:absolute;top:-160px;left:-160px;width:34vw;height:34vw;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.12),transparent 65%);pointer-events:none}
.wings-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}
.wing-kicker{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#904d00;margin-bottom:12px}
.wings-intro h2{font-family:'Lora',serif;font-weight:700;font-size:clamp(28px,4vw,44px);line-height:1.15;color:var(--navy);margin:0 0 14px}
.wings-intro h2 span{color:#E22326}
.wings-sub{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;line-height:1.75;color:#374151;max-width:58ch;margin:0}
.wings-chips{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
.wing-chip{display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.06em;border-radius:999px;padding:10px 18px}
.wing-chip.fill{background:#0a1e3f;color:#fff;border:1px solid transparent;box-shadow:0 8px 22px rgba(10,30,63,.3)}
.wing-chip.outline{background:#fff;color:#0b1c30;border:1px solid #dfe3ec;box-shadow:0 4px 14px rgba(16,33,71,.06)}
.wings-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(1.125rem,1rem + 1vw,1.5rem)}
.wing-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe3ec;border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(16,33,71,.08);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.wing-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(16,33,71,.16);border-color:rgba(201,162,39,.55)}
.wing-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.wing-age{display:inline-flex;align-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;border-radius:999px;padding:6px 14px}
.wing-age.age-amber{background:rgba(217,119,6,.12);color:#904d00;border:1px solid rgba(217,119,6,.4)}
.wing-age.age-blue{background:rgba(42,85,122,.1);color:#2A557A;border:1px solid rgba(42,85,122,.35)}
.wing-ico{width:38px;height:38px;border-radius:50%;background:#f2f4f9;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:15px;transition:background .3s,color .3s}
.wing-card:hover .wing-ico{background:radial-gradient(620px 220px at 85% 0%,rgba(252,193,79,.08),transparent 60%),linear-gradient(180deg,#0B3F64,#0a3554);color:#fff}
.wing-art{aspect-ratio:16/10;min-height:9rem;border-radius:16px;overflow:hidden;margin-bottom:16px}
.wing-art.art-amber{background:linear-gradient(135deg,#fef6e4,#fdeecb)}
.wing-art.art-blue{background:linear-gradient(135deg,#e9f1fd,#d7e6fb)}
.wing-art.art-slate{background:linear-gradient(135deg,#f4f6fa,#ece0cd)}
.wing-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.wing-card:hover .wing-art img{transform:scale(1.06)}
.wing-card h3{font-family:'Lora',serif;font-size:17px;font-weight:700;color:var(--navy);margin:0 0 8px;transition:color .3s;overflow-wrap:break-word}
.wing-card:hover h3{color:#E22326}
.wing-desc{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;line-height:1.7;color:#374151;margin:0 0 18px;flex:1 1 auto}
.wing-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:16px;margin-top:auto;border-top:1px solid #eef0f4}
.wing-meta{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.wing-link{display:inline-flex;align-items:center;gap:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;white-space:nowrap;transition:color .3s}
.wing-link i{font-size:11px;transition:transform .3s}
.wing-link:hover{color:#E22326}
.wing-link:hover i{transform:translateX(4px)}
@media(max-width:900px){
  .wings-head{flex-direction:column;align-items:flex-start;margin-bottom:32px}
}

/* WHY CHOOSE SHIS — synced image + accordion */
.why{background:var(--navy2);padding:clamp(64px,6.5vw,124px) 0 clamp(72px,7vw,132px);color:#eef1f7}
.why-intro{max-width:640px;margin-bottom:56px}
.why-kicker{display:flex;align-items:center;gap:14px;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--gold2);margin-bottom:20px}
.why-kicker::before{content:"";width:26px;height:1px;background:var(--gold2)}
.why-intro h2{font-family:'Lora',serif;font-weight:600;font-size:clamp(32px,4.2vw,52px);line-height:1.1;color:#fff;margin:0 0 18px}
.why-intro h2 em{font-style:italic;color:var(--gold2)}
.why-intro p{font-size:16px;line-height:1.65;color:rgba(238,241,247,.72);margin:0}
.why-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1fr);background:#f6f0e2;border-radius:4px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.55)}
.why-visual{position:relative;min-height:560px;background:#000;overflow:hidden}
.why-visual-frame{position:absolute;inset:22px;border:1px solid rgba(246,240,226,.35);z-index:3;pointer-events:none}
.why-visual-frame::before{content:"";position:absolute;top:-1px;left:-1px;width:18px;height:18px;border-top:2px solid var(--gold2);border-left:2px solid var(--gold2)}
.why-visual-frame::after{content:"";position:absolute;bottom:-1px;right:-1px;width:18px;height:18px;border-bottom:2px solid var(--gold2);border-right:2px solid var(--gold2)}
.why-slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease}
.why-slide.is-active{opacity:1}
.why-slide img{width:100%;height:100%;object-fit:cover;display:block}
.why-slide-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,22,.88) 0%,rgba(8,12,22,.05) 46%)}
.why-visual-caption{position:absolute;left:44px;right:44px;bottom:36px;z-index:4}
.why-visual-index{font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;letter-spacing:.04em;color:var(--gold2);margin-bottom:8px}
.why-visual-heading{font-family:'Lora',serif;font-size:clamp(1.3rem,1.1rem + 1.4vw,1.65rem);color:#fff;line-height:1.15;margin:0}
.why-list{padding:8px 0}
.why-row{border-bottom:1px solid rgba(20,31,43,.14)}
.why-row:first-child{border-top:1px solid rgba(20,31,43,.14)}
.why-row-trigger{width:100%;display:flex;align-items:center;gap:18px;background:none;border:none;text-align:left;cursor:pointer;padding:20px 36px;font-family:inherit}
.why-mark{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid rgba(20,31,43,.25);display:flex;align-items:center;justify-content:center;font-family:'Lora',serif;font-size:15px;color:rgba(27,39,51,.65);transition:.3s}
.why-row-title{flex:1 1 auto;font-family:'Lora',serif;font-size:19px;color:#1b2733;line-height:1.3}
.why-row-plus{flex:0 0 auto;position:relative;width:16px;height:16px}
.why-row-plus::before,.why-row-plus::after{content:"";position:absolute;background:rgba(27,39,51,.6);transition:.3s}
.why-row-plus::before{left:0;top:7px;width:16px;height:1.6px}
.why-row-plus::after{left:7px;top:0;width:1.6px;height:16px}
.why-row-panel{max-height:0;overflow:hidden;transition:max-height .45s ease}
.why-row-panel-inner{padding:0 36px 24px 92px}
.why-row-desc{font-size:14.5px;line-height:1.65;color:rgba(27,39,51,.72);margin:0;max-width:46ch}
.why-row.is-open .why-mark{background:var(--gold);border-color:var(--gold);color:#fff}
.why-row.is-open .why-row-title{color:#8a6d1c}
.why-row.is-open .why-row-plus::after{transform:rotate(90deg);opacity:0}
.why-row.is-open .why-row-plus::before{background:var(--gold)}
.why-row-trigger:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
@media(max-width:900px){.why-grid{grid-template-columns:1fr}.why-visual{min-height:320px;order:-1}.why-row-trigger{padding:18px 22px;gap:14px}.why-row-panel-inner{padding:0 22px 22px 74px}.why-visual-caption{left:24px;right:24px;bottom:22px}}
@media(prefers-reduced-motion:reduce){.why-slide,.why-row-panel,.why-mark,.why-row-plus::before,.why-row-plus::after{transition:none !important}}
.btn.small{padding:11px 24px;font-size:12px}

/* SPOTLIGHT */
.spotlight{padding:clamp(60px,6vw,112px) 0;background-color:#fff;background-image:radial-gradient(rgba(188,46,49,.08) 1.5px,transparent 1.5px);background-size:18px 18px}
.spot-hero{text-align:center;max-width:800px;margin:0 auto 44px}
.spot-hero .spot-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#8a6d1c;background:#fdf6e0;border:1px solid #f0d58c;border-radius:999px;padding:8px 18px;margin-bottom:18px}
.spot-hero .spot-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:blink 1.6s infinite}
.spot-hero h2{font-family:'Lora',serif;font-size:clamp(36px,5vw,58px);font-weight:800;color:var(--navy);margin:0 0 14px;line-height:1.05}
.spot-hero h2 em{font-style:italic;font-weight:500;color:var(--gold)}
.spot-hero>p{font-size:15.5px;color:#4b5563;line-height:1.7;margin:0 auto 24px;max-width:640px}
.spot-hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:30px}
.spot-hero-cta .ghost{border-color:#cbd5e1}
.spot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:clamp(1.125rem,1rem + 1.5vw,1.625rem);align-items:stretch}
.spot-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(0.875rem,0.75rem + 0.8vw,1rem)}
.spot-card{position:relative;border:2px solid transparent;border-radius:22px;overflow:hidden;min-height:420px;background-size:cover;cursor:pointer;padding:0;font-family:inherit;transition:border-color .3s,transform .3s}
.spot-card.active{border-color:var(--gold)}
.spot-card:hover{transform:translateY(-4px)}
.spot-tag{position:absolute;top:14px;left:14px;z-index:2;background:rgba(13,25,41,.7);backdrop-filter:blur(6px);border:1px solid rgba(201,162,39,.4);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:7px 14px}
/* Arched dual cards ported from event-memories.html (site-native, no CDN dependency) */
.spot-cards.arch{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:18px}
.spot-card.arch{display:flex;flex-direction:column;justify-content:space-between;min-height:500px;padding:20px;border:2px solid #e2e8f0;border-radius:2rem;box-shadow:0 20px 44px -22px rgba(13,24,41,.35);text-align:left}
@media(min-width:640px){.spot-card.arch{border-radius:5.5rem 5.5rem 1.75rem 1.75rem}}
.spot-card.arch.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,146,56,.4),0 20px 44px -22px rgba(13,24,41,.4);transform:scale(1.01)}
.spot-arch-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.spot-card.arch:hover .spot-arch-img{transform:scale(1.05)}
.spot-arch-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,19,34,.8),transparent 40%,rgba(10,19,34,.9))}
.spot-arch-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.spot-arch-top .spot-tag{position:static;display:inline-flex;align-items:center;gap:6px}
.spot-arch-ico{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 8px 20px -10px rgba(0,0,0,.5);transition:.25s}
.spot-card.arch:hover .spot-arch-ico{transform:scale(1.1)}
.spot-card.arch.active .spot-arch-ico,.spot-arch-ico:hover{background:var(--gold);border-color:var(--gold)}
.spot-arch-cap{position:relative;z-index:2;margin-top:auto;display:block}
.spot-arch-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#dfa94b;margin-bottom:4px}
.spot-arch-cap strong{display:block;font-size:clamp(1.05rem,0.95rem + 0.8vw,1.25rem);font-weight:800;letter-spacing:-.01em;color:#fff;line-height:1.2}
.spot-arch-cap small{display:block;font-size:12px;color:rgba(226,232,240,.9);margin-top:6px;line-height:1.55}
@media(max-width:640px){.spot-card.arch{min-height:460px}}
.spot-detail{position:relative;background:#fff;border:1px solid #e6e9f1;border-radius:22px;padding:38px;display:flex;flex-wrap:wrap;gap:26px;box-shadow:0 20px 50px -24px rgba(16,33,71,.25)}
.spot-side{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0}
.spot-side span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:800;letter-spacing:.32em;text-transform:uppercase;color:var(--navy)}
.spot-side i{width:6px;height:48px;border-radius:99px;background:var(--gold)}
.spot-main{flex:1;min-width:0}
.spot-main.swap{animation:spotFade .35s ease}
@keyframes spotFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.spot-badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8a6d1c;background:#fdf6e0;border:1px solid #f0d58c;border-radius:999px;padding:7px 15px;margin-bottom:14px}
.spot-main h3{font-family:'Lora',serif;font-size:clamp(28px,3.4vw,40px);font-weight:800;color:var(--navy);margin:0;line-height:1.1}
.spot-main em{display:block;font-family:'Lora',serif;font-style:italic;font-size:clamp(24px,3vw,34px);color:var(--gold);margin:2px 0 12px}
.spot-main p{font-size:14.5px;color:#4b5563;line-height:1.7;margin:0 0 16px}
.spot-main ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.spot-main ul li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:#374151}
.spot-main ul li::before{content:"✓";flex-shrink:0;width:20px;height:20px;border-radius:50%;background:rgba(201,162,39,.15);color:var(--gold);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.spot-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #eef1f6;padding-top:18px;flex:1 1 100%}
.spot-foot>span:first-child{font-size:13px;color:var(--muted)}
.spot-foot b{color:var(--navy)}
.spot-arrows{display:flex;gap:8px}
.spot-arrows button{width:38px;height:38px;border-radius:50%;border:1px solid #e0e4ec;background:#fff;color:var(--navy);cursor:pointer;transition:.25s;font-size:13px}
.spot-arrows button:hover{background:var(--gold);border-color:var(--gold);color:#fff}
@media(max-width:1000px){.spot-cards{min-height:0}.spot-card{min-height:300px}}
@media(max-width:640px){.spot-side{display:none}.spot-detail{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){.spot-main.swap{animation:none}.spot-card{transition:none}}
.updates{
    position:relative;
    /* padding:84px 0; */
    padding-bottom:clamp(56px,6vw,110px);
    background:#fff;
    background-color:rgb(241 244 249);
    overflow:hidden
  }
.updates .wrap{position:relative;z-index:1}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}
.dot.academic{background:var(--navy)}
.dot.sports{background:#1b8054}
.dot.cultural{background:#7949b8}
.dot.exam{background:#d97706}
.dot.holiday{background:#bc2e31}
.dot.meet{background:var(--gold)}
.up-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border-radius:12px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:.03em;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:.25s;white-space:nowrap}
.up-btn i{font-size:12px}
.up-btn.solid{background:linear-gradient(135deg,#d34a4e,#a32427);color:#fff;box-shadow:0 10px 24px -12px rgba(188,46,49,.8)}
.up-btn.solid:hover{background:var(--navy);box-shadow:0 12px 26px -12px rgba(16,33,71,.7)}
.up-btn.solid.red{background:linear-gradient(135deg,#c53134,#8e1f22)}
.up-btn.solid.red:hover{background:var(--navy)}
.up-btn.soft{background:rgba(16,33,71,.06);color:var(--navy);border-color:rgba(16,33,71,.1)}
.up-btn.soft:hover{background:rgba(16,33,71,.13)}
.up-btn.ghost{background:#fff;color:var(--navy);border-color:rgba(16,33,71,.14)}
.up-btn.ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.up-btn.gold{background:linear-gradient(135deg,#dbb93f,#c9a227);color:#231a00;box-shadow:0 10px 24px -14px rgba(201,162,39,.9)}
.up-btn.gold:hover{background:#fff;color:var(--navy)}
.up-btn.outline-light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.24)}
.up-btn.outline-light:hover{background:rgba(255,255,255,.2)}

/* Banner */
.up-banner{position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding:34px 38px;border-radius:24px;background:linear-gradient(120deg,#0b1730,#102147 52%,#1b3a63);color:#fff;overflow:hidden;box-shadow:0 28px 60px -28px rgba(11,23,48,.65)}
.up-banner::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.3px,transparent 1.3px);background-size:22px 22px;opacity:.4;pointer-events:none}
.up-banner::after{content:"";position:absolute;right:-6%;bottom:-40%;width:26vw;height:26vw;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.22),transparent 68%);pointer-events:none}
.up-banner-copy{position:relative;z-index:1;max-width:660px}
.up-pill{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.up-pill i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:upPulse 2.4s ease-out infinite}
@keyframes upPulse{0%{box-shadow:0 0 0 0 rgba(201,162,39,.6)}100%{box-shadow:0 0 0 12px rgba(201,162,39,0)}}
.up-banner h2{font-family:'Lora',serif;font-weight:700;font-size:clamp(30px,4vw,46px);line-height:1.1;margin:14px 0 10px;color:#fff}
.up-banner p{font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.78);max-width:58ch}
.up-badge{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.up-badge-ico{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(201,162,39,.2);color:var(--gold);font-size:18px;flex-shrink:0}
.up-badge strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff}
.up-badge small{display:block;margin-top:3px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:clamp(1.375rem,1rem + 2vw,2.125rem);align-items:start;margin-top:clamp(1.5rem,1rem + 2vw,2.125rem)}

/* Calendar column */
.up-cal{display:flex;flex-direction:column;gap:18px;min-width:0}
.up-cal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.up-cal-head>div{min-width:0;flex:1 1 32%}
.up-cal-head .up-btn{flex-shrink:0;margin-top:2px}
@media(max-width:640px){.up-cal-head{align-items:stretch;flex-direction:column}.up-cal-head .up-btn{width:100%}}
.up-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.up-cal-head h3{font-family:'Lora',serif;font-size:clamp(23px,2.6vw,31px);font-weight:700;color:var(--navy);line-height:1.15;margin:7px 0 5px}
.up-cal-head p{font-size:14px;color:#374151}
.up-cal-card{padding:20px;border-radius:20px;background:#fff;border:1px solid rgba(16,33,71,.08);box-shadow:0 22px 46px -30px rgba(16,33,71,.4)}
.up-cal-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;flex-wrap:wrap}
.up-cal-nav button{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:10px;border:1px solid transparent;background:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:600;color:var(--muted);transition:.25s;white-space:nowrap;flex-shrink:0}
.up-cal-nav button:hover{background:rgba(16,33,71,.06);color:var(--navy)}
#upPrevLabel,#upNextLabel{overflow:hidden;text-overflow:ellipsis;max-width:88px}
@media(max-width:640px){#upPrevLabel,#upNextLabel{display:none}}
.up-cal-nav>div{text-align:center}
.up-cal-nav strong{display:block;font-family:'Lora',serif;font-size:18px;font-weight:700;color:var(--navy)}
.up-cal-nav small{display:block;margin-top:3px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.up-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#f4f6fb;border-radius:10px;padding:9px 0;margin-bottom:8px}
.up-week .sun{color:#bc2e31}
.up-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.up-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 2px 8px;border:none;border-radius:11px;background:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:500;color:#25324d;transition:background .2s,color .2s,box-shadow .2s}
.up-day:hover{background:#f1f4fa}
.up-day.is-out{color:rgba(107,114,128,.42)}
.up-day.is-sun{color:#c0393d}
.up-day.is-event{font-weight:700;color:var(--navy)}
.up-day .up-day-dot{width:6px;height:6px;opacity:0}
.up-day.has-event .up-day-dot{opacity:1}
.up-day.is-today{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--navy);font-weight:700}
.up-day.is-today:hover{background:#fdf6e0}
.up-day.is-active{background:var(--navy);color:#fff;box-shadow:0 10px 22px -12px rgba(16,33,71,.9)}
.up-day.is-today.is-active{background:var(--navy);color:#fff;box-shadow:inset 0 0 0 2px var(--gold),0 10px 22px -12px rgba(16,33,71,.9)}
.up-day.is-out.is-active{background:#44506b}
.up-legend{margin-top:16px;padding:12px 14px;border-radius:14px;background:#f4f6fb}
.up-legend-title{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.up-legend>div{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#4b5563}
.up-legend>div span{display:inline-flex;align-items:center;gap:7px}
.up-jump{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.up-jump::-webkit-scrollbar{display:none}
.up-jump-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;margin-right:2px}
.up-chip{padding:8px 14px;border-radius:9px;border:1px solid rgba(16,33,71,.1);background:#fff;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:11.5px;font-weight:600;color:#3b4457;white-space:nowrap;transition:.25s}
.up-chip:hover{background:#f1f4fa}
.up-chip.is-active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 10px 20px -12px rgba(16,33,71,.9)}

/* Selected event card */
.up-event{position:relative;padding:24px;border-radius:20px;background:#fff;border:1px solid rgba(16,33,71,.09);overflow:hidden;box-shadow:0 22px 46px -30px rgba(16,33,71,.4);transition:opacity .22s ease,transform .22s ease}
.up-event.is-loading{opacity:.4;transform:translateY(4px)}
.up-event-ribbon{position:absolute;top:0;left:0;right:0;height:5px;background:#bc2e31}
.up-event-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.up-event-cat{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(16,33,71,.08);color:var(--navy)}
.up-event-short{font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.up-event h4{font-family:'Lora',serif;font-size:clamp(1.1rem,1rem + 0.9vw,1.3rem);font-weight:700;color:var(--navy);line-height:1.28;margin:14px 0 8px}
.up-event>p{font-size:14px;color:#4b5563;line-height:1.7}
.up-event-meta{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(16,33,71,.12)}
.up-event-meta span{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.up-event-meta i{width:16px;color:var(--gold);font-size:14px}
.up-event-meta b{color:var(--navy);font-weight:600}
.up-event.tone-academic .up-event-ribbon,.up-modal-card.tone-academic .up-modal-ribbon{background:var(--navy)}
.up-event.tone-academic .up-event-cat,.up-modal-card.tone-academic .up-event-cat{background:rgba(16,33,71,.09);color:var(--navy)}
.up-event.tone-sports .up-event-ribbon,.up-modal-card.tone-sports .up-modal-ribbon{background:#1b8054}
.up-event.tone-sports .up-event-cat,.up-modal-card.tone-sports .up-event-cat{background:#e2f4eb;color:#14603f}
.up-event.tone-cultural .up-event-ribbon,.up-modal-card.tone-cultural .up-modal-ribbon{background:#7949b8}
.up-event.tone-cultural .up-event-cat,.up-modal-card.tone-cultural .up-event-cat{background:#f1e9fc;color:#5b2ea6}
.up-event.tone-exam .up-event-ribbon,.up-modal-card.tone-exam .up-modal-ribbon{background:#d97706}
.up-event.tone-exam .up-event-cat,.up-modal-card.tone-exam .up-event-cat{background:#fdf0dc;color:#93500a}
.up-event.tone-holiday .up-event-ribbon,.up-modal-card.tone-holiday .up-modal-ribbon{background:#bc2e31}
.up-event.tone-holiday .up-event-cat,.up-modal-card.tone-holiday .up-event-cat{background:#fbe6e7;color:#a32427}
.up-event.tone-plain .up-event-ribbon,.up-modal-card.tone-plain .up-modal-ribbon{background:#9aa3b2}
.up-event.tone-plain .up-event-cat,.up-modal-card.tone-plain .up-event-cat{background:rgba(16,33,71,.07);color:var(--muted)}
.up-event.tone-meet .up-event-ribbon,.up-modal-card.tone-meet .up-modal-ribbon{background:var(--gold)}
.up-event.tone-meet .up-event-cat,.up-modal-card.tone-meet .up-event-cat{background:#fdf6e0;color:#8a6d1c}

/* News column */
.up-news{display:flex;flex-direction:column;gap:16px;min-width:0}
.up-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid rgba(16,33,71,.08);box-shadow:0 18px 40px -32px rgba(16,33,71,.5)}
.up-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:5px;border-radius:14px;background:#f1f3f9;border:1px solid rgba(16,33,71,.06)}
.up-tab{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:none;border-radius:10px;background:none;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:12.5px;font-weight:600;color:#4b5563;transition:.25s}
.up-tab:hover{color:var(--navy)}
.up-tab b{padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;background:rgba(16,33,71,.1);color:var(--navy);transition:.25s}
.up-tab.is-active{background:var(--navy);color:#fff;box-shadow:0 10px 22px -16px rgba(16,33,71,1)}
.up-tab.is-active b{background:var(--gold);color:#231a00}
.up-count{font-size:11.5px;color:var(--muted);white-space:nowrap}
.up-stepper-btns{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:12px;background:#f1f3f9;border:1px solid rgba(16,33,71,.07)}
.up-stepper-btns button{width:28px;height:28px;border-radius:9px;border:1px solid rgba(16,33,71,.1);background:#fff;color:#3b4457;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;transition:.25s}
.up-stepper-btns button:hover{background:var(--navy);border-color:var(--navy);color:var(--gold)}
.up-stepper-btns>span{padding:0 6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;color:var(--navy)}
.up-stepper-btns em{font-style:normal;color:var(--muted)}
.up-stepper-btns b{color:var(--gold)}
.up-pane{display:none;flex-direction:column;gap:14px}
.up-pane.is-active{display:flex}
.up-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-radius:18px;background:#fff;border:1px solid rgba(16,33,71,.08)}
.up-strip-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.up-strip-right .up-count{font-size:11.5px;color:var(--muted);white-space:nowrap}
.up-strip-id{display:flex;align-items:center;gap:13px}
.up-strip-ico{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:var(--gold);font-size:16px;flex-shrink:0}
.up-strip-id small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.up-strip-id h4{font-family:'Lora',serif;font-size:16px;font-weight:700;color:var(--navy);margin-top:2px}
.up-dots{display:flex;align-items:center;gap:6px}
.up-dots button{width:8px;height:6px;padding:0;border:none;border-radius:999px;background:#cfd6e4;cursor:pointer;transition:.25s}
.up-dots button.is-active{width:20px;background:var(--navy)}

/* Featured dispatch */
.up-feature{display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,7.5fr);border-radius:20px;background:#fff;border:1px solid rgba(16,33,71,.09);overflow:hidden;box-shadow:0 24px 50px -32px rgba(16,33,71,.5);transition:box-shadow .3s}
.up-feature:hover{box-shadow:0 30px 58px -30px rgba(16,33,71,.55)}
.up-feature-media{position:relative;min-height:280px;background:#0b1730;overflow:hidden}
.up-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,.9,.3,1)}
.up-feature:hover .up-feature-media img{transform:scale(1.06)}
.up-feature-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,23,48,.86),transparent 62%)}
.up-feature-ribbon{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;background:rgba(11,23,48,.82);border:1px solid rgba(201,162,39,.45);color:var(--gold);font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.up-feature-ribbon i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:upPulse 2.4s ease-out infinite}
.up-feature-read{position:absolute;bottom:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:9px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:11px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.up-feature-read i{color:var(--gold);font-size:11px}
.up-feature-nav{position:absolute;bottom:14px;right:14px;z-index:2;display:flex;gap:8px}
.up-feature-nav button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:.25s}
.up-feature-nav button:hover{background:var(--navy);color:var(--gold)}
.up-feature-body{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:24px;transition:opacity .22s ease,transform .22s ease}
.up-feature-body.is-loading{opacity:.35;transform:translateY(4px)}
.up-feature-tagrow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.up-feature-tag{padding:6px 11px;border-radius:8px;font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(16,33,71,.08);color:var(--navy)}
.up-feature-date{font-size:11.5px;font-weight:600;color:var(--muted)}
.up-feature-body h4{font-family:'Lora',serif;font-size:clamp(19px,2vw,24px);font-weight:700;line-height:1.3;color:var(--navy);margin:12px 0 10px}
.up-feature-body>div>p{font-size:14px;color:#4b5563;line-height:1.72}
.up-feature-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 14px;padding-top:16px;border-top:1px solid rgba(16,33,71,.08)}
.up-author{display:flex;align-items:center;gap:11px;min-width:0}
.up-author>span{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#102147,#1b3a63);color:var(--gold);font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;box-shadow:0 0 0 2px rgba(201,162,39,.3);flex-shrink:0}
.up-author>div{min-width:0}
.up-author b{display:block;font-size:12px;color:var(--navy)}
.up-author small{display:block;font-size:10.5px;color:var(--muted)}

/* Cards, notes, circulars */
.up-card,.up-note,.up-cir{border-radius:16px;background:#fff;border:1px solid rgba(16,33,71,.08)}
.up-card{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px;cursor:pointer;transition:.28s}
.up-card:hover{transform:translateY(-3px);border-color:rgba(201,162,39,.5);box-shadow:0 24px 46px -28px rgba(16,33,71,.5)}
.up-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:14px}
.up-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:9px}
.up-card-tag{padding:4px 9px;border-radius:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:rgba(16,33,71,.08);color:var(--navy)}
.up-card-tag.blue{background:rgba(2,132,199,.12);color:#0c5d8a}
.up-card-tag.amber{background:#fdf0dc;color:#93500a}
.up-card-date{font-size:11px;color:var(--muted);white-space:nowrap}
.up-card h5,.up-note h5,.up-cir h4{font-family:'Lora',serif;font-weight:700;color:var(--navy)}
.up-card h5{font-size:15px;line-height:1.35}
.up-card p{font-size:12.5px;color:#5b6472;line-height:1.62;margin-top:7px}
.up-card-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:13px;border-top:1px solid rgba(16,33,71,.08);font-size:11px;color:var(--muted)}
.up-card-foot em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-weight:700;color:var(--navy)}
.up-card:hover .up-card-foot em{color:#a32427}
.up-note{display:flex;align-items:flex-start;gap:14px;padding:18px;transition:.28s}
.up-note:hover{box-shadow:0 22px 44px -30px rgba(16,33,71,.5)}
.up-note-ico{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;background:rgba(16,33,71,.08);color:var(--navy)}
.up-note-ico.blue{background:rgba(2,132,199,.12);color:#0c5d8a}
.up-note-ico.gold{background:#fdf6e0;color:#8a6d1c}
.up-note>div{flex:1;min-width:0}
.up-note h5{font-size:14.5px;line-height:1.35}
.up-note-desc{font-size:12.5px;color:#5b6472;line-height:1.62;margin-top:6px}
.up-note .up-btn{align-self:center}
.up-cir{display:flex;gap:18px;align-items:flex-start;padding:20px;border-left:4px solid var(--gold);transition:.28s}
.up-cir:hover{box-shadow:0 24px 48px -30px rgba(16,33,71,.5)}
.up-cir.prio-red{border-left-color:#bc2e31}
.up-cir.prio-green{border-left-color:#1b8054}
.up-cir-main{flex:1;min-width:0}
.up-cir-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.up-ref{padding:4px 9px;border-radius:6px;background:#f4f6fb;border:1px solid rgba(16,33,71,.08);font-family:'Plus Jakarta Sans',sans-serif;font-size:10px;font-weight:600;color:var(--muted);letter-spacing:.04em}
.up-cir-date{font-size:11px;color:var(--muted);margin-left:auto}
.up-tag-new{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#fdf6e0;color:#8a6d1c;border:1px solid rgba(201,162,39,.4)}
.up-tag-new i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:upPulse 2.2s ease-out infinite}
.up-tag-new.critical{background:#fbe6e7;color:#a32427;border-color:rgba(188,46,49,.35)}
.up-tag-new.critical i{background:#bc2e31}
.up-tag-new.green{background:#e2f4eb;color:#14603f;border-color:rgba(27,128,84,.32)}
.up-tag-new.green i{background:#1b8054;animation:none}
.up-tag-gold{padding:4px 10px;border-radius:6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:var(--gold);color:#231a00}
.up-cir h4{font-size:17px;line-height:1.35;margin:11px 0 7px}
.up-cir p{font-size:13px;color:#5b6472;line-height:1.65}
.up-cir-file{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
.up-file{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:6px;background:#fdeaea;color:#a32427;font-family:'Plus Jakarta Sans',sans-serif;font-size:10.5px;font-weight:600}
.up-file-meta{font-size:11.5px;color:var(--muted)}
.up-cir-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.up-broadcast{display:flex;align-items:flex-start;gap:14px;padding:22px;border-radius:18px;background:linear-gradient(120deg,#0b1730,#102147 55%,#1b3a63);border:1px solid rgba(201,162,39,.3);box-shadow:0 24px 50px -30px rgba(11,23,48,.7)}
.up-broadcast-ico{width:42px;height:42px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(201,162,39,.2);border:1px solid rgba(201,162,39,.4);color:var(--gold);font-size:19px;flex-shrink:0}
.up-broadcast-top,.up-brochure .up-broadcast-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:9px;font-size:11px;color:rgba(255,255,255,.6)}
.up-broadcast h4{font-family:'Lora',serif;font-size:16.5px;font-weight:700;color:#fff;line-height:1.35}
.up-broadcast p{font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.68;margin-top:6px}

/* Footer action bar + prospectus */
.up-foot{display:flex;flex-direction:column;gap:16px;margin-top:2px}
.up-foot-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.up-foot-links>div{display:flex;flex-wrap:wrap;gap:10px}
.up-feed-note{font-size:11.5px;color:var(--muted)}
.up-brochure{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:22px;border-radius:18px;background:linear-gradient(120deg,#0b1730,#102147 55%,#1b3a63);border:1px solid rgba(201,162,39,.3);box-shadow:0 24px 50px -30px rgba(11,23,48,.7)}
.up-brochure-ico{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(201,162,39,.2);border:1px solid rgba(201,162,39,.3);color:var(--gold);font-size:21px;flex-shrink:0}
.up-brochure>div:nth-child(2){flex:1 1 42%;min-width:0}
.up-brochure .up-broadcast-top{margin-bottom:6px}
.up-brochure h4{font-family:'Lora',serif;font-size:17px;font-weight:700;color:#fff;line-height:1.34}
.up-brochure-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}

/* Event dialog */
body.up-modal-open{overflow:hidden}
.up-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:18px}
.up-modal.open{display:flex}
.up-modal-bg{position:absolute;inset:0;background:rgba(11,23,48,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.up-modal.open .up-modal-bg{opacity:1}
.up-modal-card{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:680px;max-height:90vh;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 44px 90px -34px rgba(0,0,0,.65);opacity:0;transform:scale(.95) translateY(10px);transition:opacity .3s,transform .32s cubic-bezier(.22,.9,.3,1)}
.up-modal.open .up-modal-card{opacity:1;transform:none}
.up-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 26px 18px;border-bottom:1px solid #eef1f7}
.up-modal-head h3{font-family:'Lora',serif;font-size:clamp(19px,2.4vw,24px);font-weight:700;color:var(--navy);line-height:1.28;margin:12px 0 8px}
.up-modal-date{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#8a6d1c}
.up-modal-x{width:36px;height:36px;border-radius:50%;border:none;background:#f4f6fb;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;transition:.25s}
.up-modal-x:hover{background:var(--navy);color:#fff}
.up-modal-body{display:flex;flex-direction:column;gap:16px;padding:20px 26px;overflow-y:auto}
.up-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:13px;padding:16px;border-radius:14px;background:#f7f8fc;border:1px solid rgba(16,33,71,.07)}
.up-modal-tile{display:flex;align-items:center;gap:12px;min-width:0}
.up-modal-tile>span{width:40px;height:40px;border-radius:11px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;box-shadow:0 2px 6px rgba(16,33,71,.08)}
.up-modal-tile small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.up-modal-tile b{display:block;margin-top:3px;font-size:13px;font-weight:700;color:var(--navy);line-height:1.4}
.up-modal-tile.wide{grid-column:1/-1;padding-top:13px;border-top:1px solid rgba(16,33,71,.08)}
.up-modal-advisory{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:13px;background:#f4f6fb;border:1px solid rgba(16,33,71,.08)}
.up-modal-advisory i{color:var(--navy);font-size:15px;margin-top:2px;flex-shrink:0}
.up-modal-advisory p{font-size:12.5px;line-height:1.7;color:#5b6472}
.up-modal-desc{padding:14px 16px;border-radius:13px;background:#fff;border:1px solid rgba(16,33,71,.09)}
.up-modal-desc small{display:flex;align-items:center;gap:7px;font-family:'Plus Jakarta Sans',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.up-modal-desc small i{color:var(--gold);font-size:12px}
.up-modal-desc p{font-size:12.5px;line-height:1.7;color:#33405a}

/* up-grid stacks via auto-fit — no breakpoint needed */
@media(max-width:760px){.up-feature{grid-template-columns:1fr}.up-feature-media{min-height:220px}.up-cir{flex-direction:column;gap:14px}.up-cir-actions{flex-direction:row;width:100%}.up-cir-actions .up-btn{flex:1}.up-cir-date{margin-left:0}}
@media(max-width:640px){.updates{padding:56px 0}.up-banner{padding:26px 20px}.up-badge{width:100%}.up-cal-card{padding:14px}.up-day{font-size:12px;padding:8px 0 7px}.up-legend>div{font-size:11.5px}.up-note{flex-wrap:wrap}.up-note .up-btn{align-self:flex-start}.up-tabs{width:100%}.up-tab{flex:1;justify-content:center;padding:9px 10px;font-size:11.5px}.up-brochure{padding:18px}.up-brochure-cta{width:100%}.up-brochure-cta .up-btn{flex:1}}
@media(prefers-reduced-motion:reduce){.up-day,.up-card,.up-cir,.up-note,.up-btn,.up-pill i,.up-tag-new i,.up-feature-media img,.up-event,.up-feature-body,.up-modal-bg,.up-modal-card{transition:none !important}.up-pill i,.up-tag-new i,.up-feature-ribbon i{animation:none !important}}

/* UPDATES HUB */
.up-banner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;background:linear-gradient(120deg,#0b1730,#27437c);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;padding:80px max(22px,calc((100vw - 1280px)/2 + 22px));color:#fff;margin-bottom:26px;position:relative;overflow:hidden}
.up-banner::after{content:"";position:absolute;right:-5%;top:-30%;width:22vw;height:22vw;border:1px solid rgba(252,193,79,.3);border-radius:50%;pointer-events:none}
.up-pill{display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 16px;margin-bottom:14px}
.up-pill i{width:8px;height:8px;border-radius:50%;background:var(--gold2);animation:blink 1.6s infinite}
@keyframes blink{50%{opacity:.35}}
.up-banner h2{font-family:'Lora',serif;font-size:clamp(30px,3.6vw,44px);margin:0 0 10px}
.up-banner p{color:rgba(255,255,255,.75);margin:0;max-width:56ch}
.up-badge{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:14px 18px;flex-shrink:0}
.up-badge i{font-size:24px;color:var(--gold2)}
.up-badge strong{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.up-badge small{color:rgba(255,255,255,.65);font-size:12px}
.up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,21rem),1fr));gap:clamp(1.375rem,1rem + 1.5vw,1.875rem);align-items:start}
.up-cal-head h3{font-family:'Lora',serif;font-size:clamp(1.2rem,1.05rem + 1.1vw,1.5rem);color:var(--navy);margin:0}
.up-cal-head p{color:var(--muted);font-size:13.5px;margin:4px 0 14px}
.up-cal-card{background:#fff;border:1px solid #e6e9f1;border-radius:18px;box-shadow:0 16px 40px -22px rgba(16,33,71,.25);padding:20px}
.up-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--muted);padding:8px 0}
.up-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.up-days button{aspect-ratio:1;border:none;background:none;border-radius:10px;font-family:inherit;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.2s;min-height:38px}
.up-days button:hover:not(:disabled){background:var(--bg);color:var(--navy)}
.up-days button:disabled{opacity:.35;cursor:default}
.up-days button i.dot{width:6px;height:6px;border-radius:50%}
.dot.academic{background:#345882}.dot.sports{background:#1b8054}.dot.cultural{background:#7949b8}.dot.exam{background:#d97706}.dot.holiday{background:#dc2626}.dot.meeting{background:#c9a227}
.up-days button.sel{background:var(--navy) !important;color:#fff}
.up-days button.today{box-shadow:inset 0 0 0 2px var(--gold)}
.up-legend{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:14px;font-size:11.5px;color:var(--muted)}
.up-legend i.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}
.up-event{background:var(--navy);color:#fff;border-radius:18px;padding:24px;margin-top:16px;position:relative;overflow:hidden}
.up-event::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold)}
.up-event-cat{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--gold2);border-radius:999px;padding:5px 13px;margin-bottom:10px}
.up-event h4{font-family:'Lora',serif;font-size:clamp(1.1rem,1rem + 0.9vw,1.3rem);font-weight:700;color:#fff;margin:0 0 8px;line-height:1.3}
.up-event p{font-size:13.5px;color:rgba(255,255,255,.85);margin:0 0 10px;line-height:1.6}
.up-event small{color:var(--gold2);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.up-event-meta span{color:rgba(255,255,255,.62)}
.up-event-meta i{color:var(--gold2)}
.up-event-meta b{color:#fff}
.up-news{background:#fff;border:1px solid #e6e9f1;border-radius:18px;box-shadow:0 16px 40px -22px rgba(16,33,71,.25);padding:20px}
.up-pane{display:none;flex-direction:column;gap:12px}
.up-pane.active{display:flex}
.up-feature{display:grid;grid-template-columns:.9fr 1.1fr;border-radius:14px;overflow:hidden;border:1px solid #e6e9f1}
.up-feature-body{padding:20px}
.up-feature-body small{color:var(--gold);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.up-feature-body h4{font-family:'Lora',serif;font-size:19px;color:var(--navy);margin:8px 0;line-height:1.35}
.up-feature-body p{font-size:13.5px;color:#4b5563;margin:0;line-height:1.6}
.up-item{background:#f8fafc;border:1px solid #e9edf4;border-radius:14px;padding:16px 18px}
.up-item small{color:var(--gold);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.up-item h4{font-family:'Lora',serif;font-size:17px;color:var(--navy);margin:6px 0}
.up-item p{font-size:13.5px;color:#4b5563;margin:0}
@media(max-width:1000px){.up-banner{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.up-feature{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.up-pill i{animation:none}}

/* ACCREDITATIONS */
.accred{position:relative;overflow:hidden;background:#f8fafc;padding:clamp(52px,5.5vw,100px) 0;text-align:center}
.acc-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.acc-blob{position:absolute;border-radius:50%;filter:blur(60px)}
.acc-blob.b1{top:-20%;left:50%;transform:translateX(-50%);width:78%;height:34vw;background:linear-gradient(to top right,rgba(167,243,208,.4),rgba(204,251,241,.6),transparent)}
.acc-blob.b2{top:40%;left:-15%;width:47%;height:47vw;background:rgba(226,232,240,.5)}
.acc-blob.b3{bottom:10%;right:-15%;width:51%;height:51vw;background:rgba(167,243,208,.3)}
.acc-dots{position:absolute;inset:0;background-image:radial-gradient(#cbd5e1 1px,transparent 1px);background-size:24px 24px;opacity:.6}
.acc-inner{position:relative;z-index:1}
.acc-head{max-width:48rem;margin:0 auto 3rem}
.acc-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(226,232,240,.9);font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:600;color:#047857;box-shadow:0 1px 2px rgba(16,185,129,.05);backdrop-filter:blur(8px)}
.acc-ping{position:relative;display:flex;height:8px;width:8px}
.acc-ping i{position:absolute;inset:0;border-radius:50%;background:#34d399;opacity:.75;animation:acc-ping 1.5s cubic-bezier(0,0,.2,1) infinite}
.acc-ping b{position:relative;border-radius:50%;height:8px;width:8px;background:#059669}
@keyframes acc-ping{75%,100%{transform:scale(2);opacity:0}}
.acc-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(30px,4.6vw,48px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:#0f172a;margin:16px 0 0}
.acc-head h2 span{color:transparent;background:linear-gradient(to right,#059669,#0d9488,#10b981);-webkit-background-clip:text;background-clip:text}
.acc-head p{font-family:'Inter',sans-serif;font-size:16px;line-height:1.7;color:#475569;max-width:42rem;margin:16px auto 0}
/* Accreditation logo marquee (ported from accreditations-marquee, site-native CSS) */
.acc-marquee{position:relative;overflow:hidden;margin-top:0;padding:16px 0;border:1px solid rgba(226,232,240,.8);border-radius:16px;background:rgba(255,255,255,.6);box-shadow:0 8px 30px rgba(0,0,0,.04);backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.acc-track{display:flex;width:max-content;animation:acc-scroll 45s linear infinite}
.acc-marquee:hover .acc-track{animation-play-state:paused}
@keyframes acc-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.acc-card{flex-shrink:0;margin:0 10px;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);border:1px solid rgba(226,232,240,.9);border-radius:16px;padding:20px 24px;box-shadow:0 4px 20px -2px rgba(15,23,42,.05),0 1px 3px 0 rgba(15,23,42,.04);transition:transform .3s,box-shadow .3s,border-color .3s,background .3s}
.acc-card:hover{transform:translateY(-4px);background:#fff;border-color:rgba(5,150,105,.4);box-shadow:0 16px 36px -6px rgba(5,150,105,.12),0 4px 12px -2px rgba(15,23,42,.06)}
.acc-logo{display:flex;flex:0 0 auto;align-items:center;justify-content:center;height:clamp(104px,12vw,144px);width:clamp(150px,22vw,224px);background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:16px;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.acc-card:hover .acc-logo{transform:scale(1.05)}
.acc-logo{display:flex;flex:0 0 auto;align-items:center;justify-content:center;height:clamp(104px,12vw,144px);width:clamp(150px,22vw,224px);background:#fff;border:1px solid #f1f5f9;border-radius:12px;padding:16px}
.acc-logo img{max-height:68%;max-width:85%;width:auto;object-fit:contain}
@media(prefers-reduced-motion:reduce){.acc-track{animation-duration:120s}}
/* ADMISSIONS CALLOUT */
.admit{background:linear-gradient(135deg,#C8102E 0%,#B81D24 60%,#920012 100%);color:#fff;text-align:center;padding:clamp(60px,6vw,112px) 0}
.admit h2{font-family:'Lora',serif;font-size:clamp(28px,4.4vw,52px);line-height:1.15;margin:0 auto;max-width:800px}
.admit>p{color:rgba(255,255,255,.88);max-width:620px;margin:18px auto 0}
.admit-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.btn.outline-light{border:2px solid rgba(255,255,255,.5);color:#fff}
.btn.outline-light:hover{background:#fff;color:#a32427}

/* CONTACT */
/* FOOTER */
.sitefoot{background:#0F172A;color:#cbd5e1;padding:clamp(48px,5vw,88px) 0 clamp(24px,2.5vw,44px);border-top:1px solid #1e293b}
.sitefoot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:clamp(1.5rem,1rem + 2.5vw,2.5rem);padding-bottom:clamp(2rem,1.5rem + 2vw,2.75rem);border-bottom:1px solid #1e293b}
.sitefoot-logo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sitefoot-logo img{width:min(350px,100%);height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.sitefoot-brand p{font-size:12.5px;line-height:1.7;color:#94a3b8;margin:0 0 18px;max-width:38ch}
.sitefoot-social{display:flex;gap:10px}
.sitefoot-social a{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:13px;background:#1E56A0;transition:.25s}
.sitefoot-social a:nth-child(2){background:#B81D24}
.sitefoot-social a:nth-child(3){background:#be185d}
.sitefoot-social a:hover{transform:translateY(-3px);filter:brightness(1.15)}
.sitefoot h4{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#fbbf24;margin:0 0 18px}
.sitefoot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sitefoot ul a{color:#cbd5e1;text-decoration:none;font-size:13px;transition:.2s}
.sitefoot ul a:hover{color:#fff;padding-left:4px}
.sitefoot-line{display:flex;gap:10px;font-size:13px;color:#cbd5e1;margin:0 0 14px;line-height:1.6}
.sitefoot-line i{color:#B81D24;font-size:13px;margin-top:3px}
.sitefoot-line a{color:#cbd5e1;text-decoration:none}
.sitefoot-line a:hover{color:#fff}
.sitefoot-base{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:24px;font-size:12.5px;color:#64748b}
.sitefoot-base p{margin:0}
.sitefoot-base div{display:flex;align-items:center;gap:14px}
.visitor-counter{display:inline-flex;align-items:center;gap:10px;padding:7px 8px 7px 8px;border-radius:999px;background:linear-gradient(135deg,#102147,#1b2f5e);border:1px solid rgba(201,162,39,.45);box-shadow:0 8px 22px -8px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.12);font-family:'Plus Jakarta Sans',sans-serif}
.visitor-counter .vc-icon{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#dbb93f,#c9a227);color:#231a00;font-size:13px;flex:0 0 auto;box-shadow:0 2px 8px rgba(201,162,39,.5)}
.visitor-counter .vc-label{font-size:10.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#e9e4d0}
.visitor-counter .vc-digits{display:inline-flex;gap:3px}
.visitor-counter .vc-d{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:30px;padding:0 4px;border-radius:7px;background:#0b1730;border:1px solid rgba(201,162,39,.35);color:#fde68a;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:inset 0 2px 5px rgba(0,0,0,.6)}
@media(max-width:640px){.visitor-counter .vc-label{display:none}}
.sitefoot-base a{color:#64748b;text-decoration:none}
.sitefoot-base a:hover{color:#cbd5e1}
.sitefoot-base span{opacity:.6}
/* sitefoot stacks via auto-fit — no breakpoint needed */
/* sitefoot single column handled by auto-fit min(100%,…) */

@media(max-width:1000px){
  .menu-shell{overflow-y:auto}
  .menu-photo,.menu-quote{display:none}
  .menu-panel{position:relative;width:100%;min-height:100%;box-shadow:none}
  .menu-cards{position:relative;left:auto;right:auto;background:#0b1730;grid-template-columns:1fr 1fr}
  .vline{top:100px}
}
@media(max-width:640px){
  .menu-cards{grid-template-columns:1fr}
  .brand{flex:1 1 auto;min-width:0}
  .brand img{width:auto;max-width:100%;height:34px;border-radius:10px;padding:4px}
  .site-header.scrolled .brand img{width:auto;max-width:100%;height:30px}
  .useful{display:none}
  .header-inner{padding:8px 10px;gap:8px}
  .header-actions{gap:8px;flex:0 0 auto}
  .admin-btn{width:36px;height:36px;font-size:13px}
  .hero{min-height:62vh;min-height:62svh}
  .hero-yt-wrap iframe,.hero-yt-wrap #heroYt{width:100vw;height:56.25vw;min-width:110.2vh;min-height:62vh;min-width:110.2svh;min-height:62svh}
  .menu-btn{padding:8px 14px;font-size:10.5px;letter-spacing:.1em}
  .menu-btn .m-arrow{display:none}
  .header-actions .campus-btn,.header-actions .admin-btn,.header-actions .menu-btn{flex:0 0 auto}
  .vline{top:80px}
  .hero-scroll,.hero-mute,.hero-frame .play-toggle{display:none}
  .menu-topbar{padding:12px 14px}
  .menu-cards{padding:12px 14px 16px}
  .menu-nav{padding:8px 14px}
  .menu-quick,.menu-social{padding-left:14px;padding-right:14px}
  .m-item>a,.m-row>a{font-size:13px}
}

/* ===== Common Font System - Plus Jakarta Sans everywhere, size-based hierarchy ===== */
:root{
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-ui:'Plus Jakarta Sans',sans-serif;
  --serif:'Plus Jakarta Sans',sans-serif;
  --sans:'Plus Jakarta Sans',sans-serif;
}
body{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;line-height:1.7}
h1,h2,h3,h4,h5,.wings-intro h2,.wing-card h3,.why-intro h2,.why-row-title,.why-visual-heading,.spot-hero h2,.spot-main h3,.spot-main em,.up-banner h2,.up-event h4,.up-feature-body h4,.up-strip-id h4,.up-item h4,.up-card h5,.up-note h5,.up-cir h4,.up-broadcast h4,.up-brochure h4,.up-modal-head h3,.ae-head h3,.ae-success h3,.acc-head h2,.admit h2{font-family:'Plus Jakarta Sans',sans-serif}
/* SECTION H2 - single scale */
.wings-intro h2,.why-intro h2,.spot-hero h2,.up-banner h2,.acc-head h2,.admit h2{font-weight:700;font-size:clamp(26px,3.6vw,40px);line-height:1.2;letter-spacing:-.01em}
/* SECTION LEADS */
.wings-sub,.why-intro p,.spot-hero>p,.acc-head p{font-weight:400;font-size:clamp(14.5px,1.3vw,16.5px);line-height:1.75}
/* CARD TITLES */
.wing-card h3,.why-row-title,.why-visual-heading,.up-event h4,.up-feature-body h4,.up-strip-id h4,.up-item h4,.up-card h5,.up-note h5,.up-cir h4,.up-broadcast h4,.up-brochure h4,.up-modal-head h3,.ae-head h3,.ae-success h3{font-weight:600;line-height:1.35}
.wing-card h3{font-size:18px}
.up-event h4{font-size:19px}
.up-feature-body h4{font-size:clamp(18px,1.9vw,22px)}
.up-card h5,.up-cir h4{font-size:16px}
.spot-main h3{font-size:clamp(24px,2.8vw,32px);font-weight:700}
/* BODY PARAGRAPHS */
.wing-desc,.why-row-desc,.spot-main p,.up-event>p,.up-card p,.up-cir p,.up-note-desc,.up-feature-body p,.up-item p{font-weight:400;font-size:14.5px;line-height:1.7}
.wings-sub{font-size:15.5px}
/* UI MICRO */
.why-kicker,.up-kicker,.ql-label,.ql-sub,.wing-kicker,.wing-chip,.wing-age,.wing-meta,.wing-link,.up-event-cat,.up-event-short,.up-tab,.up-card-tag,.up-ref,.up-tag-new,.up-tag-gold,.up-feature-tag,.up-chip,.up-jump-label,.up-cal-nav small,.up-legend-title,.up-modal-tile small,.btn,.sitefoot h4{font-weight:600}
/* Footer readability */
.sitefoot-brand p{font-size:13.5px}
.sitefoot ul a,.sitefoot-line{font-size:13.5px}

/* ===== Admit-new (stitch design, Plus Jakarta Sans common font) ===== */
.admit-new{position:relative;overflow:hidden;background:linear-gradient(90deg,#450a0a 0%,#b91c1c 50%,#881337 100%);padding:clamp(56px,6vw,110px) 0;font-family:'Plus Jakarta Sans',sans-serif}
.admit-new .absolute{position:absolute}
.admit-new .-right-10{right:-2.5rem}
.admit-new .-bottom-10{bottom:-2.5rem}
.admit-new .opacity-10{opacity:.1;color:#fff}
.admit-new .pointer-events-none{pointer-events:none}
.admit-new .material-symbols-outlined{font-family:'Material Symbols Outlined',sans-serif;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 48;vertical-align:middle;line-height:1;color:#fff}
.admit-new .text-\[300px\]{font-size:300px}
.admit-inner{position:relative;z-index:1;max-width:1024px;text-align:center}
.admit-pill-new{display:inline-flex;align-items:center;gap:10px;padding:7px 18px;border-radius:999px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fcd34d;margin-bottom:22px}
.admit-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;animation:admitPing 1.6s infinite}
@keyframes admitPing{0%{box-shadow:0 0 0 0 rgba(251,191,36,.6)}70%{box-shadow:0 0 0 9px rgba(251,191,36,0)}100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}}
.admit-new h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:clamp(26px,4vw,44px);line-height:1.2;letter-spacing:-.01em;max-width:760px;margin:0 auto;color:#fff}
.admit-new p{font-family:'Plus Jakarta Sans',sans-serif;font-weight:300;font-size:clamp(15px,1.6vw,18px);color:#fecaca;max-width:640px;margin:18px auto 0;line-height:1.7}
.admit-new p a{font-weight:700;color:#fff;text-decoration:underline;text-decoration-color:#fbbf24;text-decoration-thickness:2px}
.admit-new .admit-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:30px}
.admit-new .btn{display:inline-flex;align-items:center;gap:9px}
.admit-new .btn i{font-size:13px}
/* Primary admission CTA: glowing white-gold pill with shine sweep */
.admit-new .btn.light{position:relative;overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#ffedd5 55%,#fcd34d 130%);color:#a32427;border:0;box-shadow:0 14px 32px -10px rgba(0,0,0,.5),0 0 0 5px rgba(255,255,255,.14),0 0 26px -4px rgba(251,191,36,.55)}
.admit-new .btn.light i{transition:transform .25s}
.admit-new .btn.light::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);transform:skewX(-20deg);animation:btnShine 3.2s ease-in-out infinite;pointer-events:none}
.admit-new .btn.light:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 40px -10px rgba(0,0,0,.55),0 0 0 6px rgba(255,255,255,.2),0 0 34px -2px rgba(251,191,36,.75);color:#7f1d1d}
.admit-new .btn.light:hover i{transform:translateX(5px)}
@keyframes btnShine{0%{left:-70%}55%,100%{left:135%}}
@media(prefers-reduced-motion:reduce){.admit-new .btn.light::after{animation:none}}
@media(max-width:640px){.admit-new .text-\[300px\]{font-size:180px}.admit-new{padding:60px 0}}

/* ===== Welcome-new (stitch about design, Plus Jakarta Sans common font) ===== */
.welcome-new{background:#f8fafc;padding:clamp(72px,7vw,130px) 0 clamp(48px,5vw,88px);position:relative;overflow:hidden;font-family:'Plus Jakarta Sans',sans-serif}
.welcome-inner{max-width:1024px;text-align:center;position:relative;z-index:1}
.welcome-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#b91c1c}
.welcome-line{display:block;width:32px;height:2px;background:#b91c1c}
.welcome-new h1,.welcome-new h2{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:clamp(32px,4.6vw,52px);letter-spacing:-.01em;color:#0f172a;line-height:1.12;margin:0}
.welcome-new h1 span,.welcome-new h2 span{color:#b91c1c}
.welcome-card{margin-top:32px;padding:40px 36px;border-radius:24px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 20px 45px -18px rgba(15,23,42,.18)}
.welcome-card p{font-size:clamp(15px,1.5vw,18px);line-height:1.8;color:#334155;margin:0}
.welcome-card p em{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;color:#b91c1c}
.welcome-badges{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.welcome-badges span{display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:12px;font-weight:600;color:#334155}
.welcome-badges .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.dot-red{background:#b91c1c}.dot-blue{background:#3b82f6}.dot-green{background:#10b981}.dot-gold{background:#d97706}
.welcome-cta-row{margin-top:28px}
.btn.dark{background:#0f172a;color:#fff;display:inline-flex;align-items:center;gap:9px}
.btn.dark:hover{background:#b91c1c}
.btn.dark .material-symbols-outlined{font-size:16px}
@media(max-width:640px){.welcome-new{padding:72px 0 48px}.welcome-card{padding:28px 20px}}
/* ===== Admission open promo popup (shows on every load) ===== */
.promo-overlay{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(11,23,48,.55);backdrop-filter:blur(3px)}
.promo-overlay.open{display:flex}
.promo-card{position:relative;width:100%;max-width:420px;background:#fff;border-radius:22px;padding:38px 34px 30px;text-align:center;box-shadow:0 40px 90px -18px rgba(0,0,0,.55);overflow:hidden;animation:promoIn .45s cubic-bezier(.22,.9,.3,1)}
.promo-card::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#8e1f22,#d34a4e 30%,#c9a227 50%,#d34a4e 70%,#8e1f22)}
@keyframes promoIn{from{opacity:0;transform:translateY(28px) scale(.96)}to{opacity:1;transform:none}}
.promo-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:none;background:#f1f4f9;color:#6b7280;cursor:pointer;font-size:13px;transition:.25s}
.promo-close:hover{background:#102147;color:#fff;transform:rotate(90deg)}
.promo-pill{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#d34a4e,#a32427);border-radius:999px;padding:7px 16px;margin-bottom:14px}
.promo-dot{width:8px;height:8px;border-radius:50%;background:#fbbf24;animation:admitPing 1.6s infinite}
.promo-card h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.625rem,1.3rem + 2vw,2.375rem);font-weight:800;color:#102147;margin:0 0 10px}
.promo-card h3 span{color:#b91c1c}
.promo-card p{font-size:14.5px;line-height:1.7;color:#4b5563;margin:0 0 14px}
.promo-contact{margin:0 0 20px;padding:12px 14px;border-radius:14px;background:#f8fafc;border:1px solid #e5e7eb}
.promo-contact>span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin-bottom:8px}
.promo-contact div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.promo-contact a{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:800;color:#102147;text-decoration:none;background:#fff;border:1px solid #e0e4ec;border-radius:999px;padding:8px 16px;transition:.25s}
.promo-contact a:hover{border-color:#c9a227;box-shadow:0 4px 14px rgba(201,162,39,.25)}
.promo-contact a i{color:#a32427;font-size:12px}
.promo-cta{display:grid;gap:10px}
.promo-apply{display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(135deg,#d34a4e,#a32427);color:#fff;border:none;border-radius:12px;padding:14px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 24px -8px rgba(163,36,39,.5);transition:.25s}
.promo-apply:hover{transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(163,36,39,.6)}
.promo-apply i{font-size:12px}
/* ===== Photo albums popup ===== */
.gal-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.gal-chips button{border:1px solid rgba(16,33,71,.14);background:#fff;border-radius:999px;padding:7px 15px;font-family:'Plus Jakarta Sans',sans-serif;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer}
.gal-chips button.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));gap:12px}
.gal-album{border:1px solid rgba(16,33,71,.1);border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;text-align:left;padding:0;font:inherit;transition:.25s}
.gal-album:hover{transform:translateY(-3px);box-shadow:0 18px 36px -20px rgba(16,33,71,.5)}
.gal-album img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#eef1f7}
.gal-album div{padding:10px 12px}
.gal-album b{display:block;font-size:13px;color:var(--navy)}
.gal-album small{font-size:11px;color:var(--muted)}
.gal-photo{border:1px solid rgba(16,33,71,.1);border-radius:12px;overflow:hidden;background:#fff;cursor:pointer;padding:0}
.gal-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.gal-photo span{display:block;font-size:11.5px;color:#4b5563;padding:8px 10px}
.gal-light img{width:100%;max-height:60vh;object-fit:contain;border-radius:12px;background:#0b1730}
.gal-light p{font-size:13px;color:#4b5563;margin:10px 0}
.gal-light-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--muted)}
/* ===== ABOUT PAGE ===== */
.about-hero{background:linear-gradient(160deg,#16295a 0%,var(--navy2) 78%);color:#fff;padding:clamp(64px,9vw,120px) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden}
.about-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gold)}
.about-hero::after{content:"";position:absolute;right:-10%;bottom:-45%;width:34vw;height:34vw;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,.16),transparent 68%);pointer-events:none}
.crumbs{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:18px}
.crumbs a{color:var(--gold);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.about-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#102147;background:var(--gold);border-radius:999px;padding:6px 15px;margin-bottom:14px}
.about-hero h1{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(30px,4.6vw,54px);font-weight:800;letter-spacing:-.01em;margin:0 0 12px}
.about-hero h1 em{font-style:italic;color:var(--gold)}
.about-lead{font-size:clamp(14px,1.6vw,17px);color:rgba(255,255,255,.82);max-width:640px;line-height:1.7;margin:0}
.about-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.about-pills span{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:#fff;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 15px}
.about-pills i{color:var(--gold);font-size:12px}
.about-school{padding:clamp(56px,7vw,104px) 0}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:clamp(1.75rem,1.25rem + 3vw,3.5rem);align-items:center}
.about-grid.flip>.about-media{order:2}
.about-media{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(16,33,71,.45)}
.about-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:16/10;display:block}
.about-badge{position:absolute;left:18px;bottom:18px;background:linear-gradient(135deg,#e8cf6f,var(--gold));color:#231a00;border-radius:14px;padding:10px 18px;text-align:center;box-shadow:0 12px 26px rgba(0,0,0,.35)}
.about-badge strong{display:block;font-size:22px;line-height:1}
.about-badge small{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.about-copy h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(24px,3.2vw,38px);font-weight:800;color:var(--navy);margin:10px 0 16px;line-height:1.2}
.about-copy h2 em{font-style:italic;color:#a32427}
.about-copy p{font-size:14.5px;color:#4b5563;line-height:1.8;margin:0 0 14px}
.about-copy p strong{color:var(--navy)}
.about-facts{background:var(--navy);border-block:1px solid rgba(201,162,39,.35)}
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1px;background:rgba(255,255,255,.12)}
.facts-grid>div{background:var(--navy);padding:clamp(20px,3vw,34px) 16px;text-align:center}
.facts-grid strong{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--gold)}
.facts-grid span{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.about-quality{padding:clamp(56px,7vw,96px) 0;background:#f7f5ef}
.about-quality blockquote{margin:18px 0 0;padding:clamp(22px,3vw,36px) clamp(20px,3vw,34px);background:#fff;border-left:5px solid var(--gold);border-radius:0 18px 18px 0;font-family:'Lora',Georgia,serif;font-size:clamp(15px,1.8vw,19px);font-style:italic;line-height:1.8;color:var(--navy);box-shadow:0 22px 46px -30px rgba(16,33,71,.35)}
.about-founders{padding:clamp(56px,7vw,104px) 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 34px}
.sec-head h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(24px,3.2vw,38px);color:var(--navy);margin:10px 0 0}
.sec-head h2 em{font-style:italic;color:#a32427}
.founder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:clamp(1.25rem,1rem + 2vw,2rem);max-width:860px;margin:0 auto}
.founder-card{background:#fff;border:1px solid rgba(16,33,71,.09);border-radius:20px;padding:28px 24px;text-align:center;box-shadow:0 22px 46px -30px rgba(16,33,71,.4)}
.founder-card img{width:132px;height:132px;object-fit:cover;object-position:top;border-radius:50%;border:3px solid var(--gold);box-shadow:0 0 0 5px rgba(201,162,39,.18);margin:0 auto 14px}
.founder-card h3{font-size:18px;color:var(--navy);margin:0 0 4px}
.founder-card small{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8a6d1c;margin-bottom:10px}
.founder-card p{font-size:13.5px;color:#4b5563;line-height:1.7;margin:0}
.about-parent{background:#f7f5ef;padding:clamp(56px,7vw,104px) 0}
.about-parent .about-grid.single{display:block;max-width:820px}
.about-parent .late-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:clamp(1rem,1rem + 2vw,1.75rem);max-width:700px;margin-left:0}
.about-parent .late-card{position:relative;overflow:hidden;background:linear-gradient(160deg,#16295a 0%,var(--navy2) 78%);border:1px solid rgba(201,162,39,.4);border-radius:18px;padding:clamp(24px,2vw,32px) 18px;text-align:center;transition:transform .3s,box-shadow .3s}
.about-parent .late-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.about-parent .late-card:hover{transform:translateY(-4px);box-shadow:0 24px 48px -18px rgba(11,23,48,.55)}
.about-parent .late-card img{width:clamp(120px,12vw,160px);height:clamp(120px,12vw,160px);object-fit:cover;object-position:top;border-radius:50%;border:3px solid var(--gold);box-shadow:0 0 0 5px rgba(201,162,39,.18),0 14px 28px rgba(0,0,0,.4);margin:0 auto 14px}
.about-parent .late-card strong{display:block;font-size:15px;color:#fff}
.about-parent .late-card small{display:block;margin-top:6px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.late-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:14px;margin-top:20px}
.late-card{background:#fff;border:1px solid rgba(16,33,71,.09);border-radius:16px;padding:16px 12px;text-align:center}
.late-card img{width:88px;height:88px;object-fit:cover;object-position:top;border-radius:50%;border:2px solid var(--gold);margin:0 auto 10px}
.late-card strong{display:block;font-size:13.5px;color:var(--navy)}
.about-cta{background:linear-gradient(135deg,#C8102E 0%,#B81D24 60%,#920012 100%);color:#fff;text-align:center;padding:clamp(56px,7vw,96px) 0}
.about-cta h2{font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(24px,3.6vw,42px);margin:0 0 10px}
.about-cta h2 em{font-style:italic;color:#fde68a}
.about-cta p{color:rgba(255,255,255,.85);margin:0 0 24px}
.about-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.about-cta .btn.ghost{border-color:rgba(255,255,255,.5);color:#fff}
.about-cta .btn.ghost:hover{background:rgba(255,255,255,.14)}
@media(max-width:640px){.about-grid.flip>.about-media{order:0}}
/* ===== Notification bell (bottom-right) ===== */
.notify-bell{position:fixed;right:5px;bottom:20px;z-index:90;display:flex;align-items:center;gap:9px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(135deg,#d34a4e 0%,#bc2e31 55%,#8e1f22 100%);color:#fff;cursor:pointer;padding:11px 18px 11px 14px;box-shadow:0 14px 32px rgba(188,46,49,.45),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s,box-shadow .25s;white-space:nowrap}
.notify-text{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.notify-bell:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 40px rgba(188,46,49,.55)}
.notify-bell .material-symbols-outlined{font-size:24px;line-height:1;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.notify-dot{position:absolute;top:9px;right:11px;width:10px;height:10px;border-radius:50%;background:#dc2626;border:2px solid #fff;animation:admitPing 1.6s infinite,dotBlink 1s ease-in-out infinite}
@keyframes dotBlink{0%,100%{opacity:1}50%{opacity:.2}}
@media(max-width:640px){.notify-bell{right:14px;bottom:14px;padding:9px 14px 9px 12px}.notify-text{font-size:9.5px}}

/* =====================================================================
   FLUID DESIGN TOKENS — single source for spacing, type, and sizing.
   Sections consume these so the whole site scales as one system.
   ===================================================================== */
:root{
  --space-3xs:clamp(0.25rem,0.2rem + 0.4vw,0.375rem);
  --space-2xs:clamp(0.5rem,0.4rem + 0.6vw,0.75rem);
  --space-xs:clamp(0.75rem,0.6rem + 0.8vw,1rem);
  --space-sm:clamp(1rem,0.8rem + 1.2vw,1.5rem);
  --space-md:clamp(1.5rem,1.1rem + 2vw,2.25rem);
  --space-lg:clamp(2rem,1.5rem + 3vw,3.5rem);
  --space-xl:clamp(3rem,2rem + 5vw,5.5rem);
  --text-xs:clamp(0.7rem,0.65rem + 0.3vw,0.8rem);
  --text-sm:clamp(0.8rem,0.75rem + 0.4vw,0.9rem);
  --text-base:clamp(0.9rem,0.85rem + 0.4vw,1rem);
  --text-lg:clamp(1.05rem,0.95rem + 0.8vw,1.25rem);
  --text-xl:clamp(1.2rem,1.05rem + 1.1vw,1.5rem);
  --text-2xl:clamp(1.5rem,1.2rem + 2vw,2.2rem);
  --text-3xl:clamp(2rem,1.5rem + 3.4vw,3.25rem);
  --card-min:clamp(10rem,8rem + 10vw,18rem);
  --radius-md:clamp(0.75rem,0.6rem + 0.6vw,1rem);
  --radius-lg:clamp(1rem,0.8rem + 1vw,1.375rem);
}

/* ---- Component container queries: components respond to their own
   container width, not just the viewport ---- */
.ql-panel,.wings-grid,.spot-cards,.up-news{container-type:inline-size}
@container (max-width:30rem){
  .ql-tile{gap:0.6rem}
  .wing-top{flex-wrap:wrap}
  .up-card-foot{flex-direction:column;align-items:flex-start}
}

/* ---- Global guards: never overflow, never overlap ---- */
img,video,iframe{max-width:100%}
p,h1,h2,h3,h4,h5,li,span{overflow-wrap:break-word}
.up-banner,.up-brochure,.promo-card,.ae-card,.up-modal-card{min-width:0}

/* ---- Global guards: never overflow the viewport ---- */
img,video,svg{max-width:100%}
table{max-width:100%}
.wrap{width:100%}

/* ---- Large desktop 1536px+ : use the extra width ---- */
@media(min-width:1536px){
  .wrap{width:min(100% - 3rem,87.5rem)}
  .wings-grid{gap:30px}
  .spot-grid{gap:32px}
  .sitefoot-grid{gap:56px}
  .welcome-new h1,.welcome-new h2{font-size:clamp(32px,3.4vw,60px)}
  .why-intro h2{font-size:clamp(32px,3.2vw,60px)}
  .admit h2{font-size:clamp(28px,3.2vw,58px)}
  .up-grid{gap:30px}
  .ql-panel{border-radius:24px}
}
/* ---- Extra-large 1640px+ ---- */
@media(min-width:1640px){
  .wrap{width:min(100% - 3rem,90rem)}
}

/* ---- Desktop / laptop 1024–1536px : base design, no overrides needed ---- */

/* ---- Tablet 768–1024px ---- */
@media(max-width:1024px){
  .spot-hero{margin-bottom:36px}
  .up-banner{gap:18px}
  .welcome-badges{display:flex;flex-wrap:wrap;gap:10px}
}
/* ---- Small tablet / large phone 640–768px ---- */
@media(max-width:768px){
  .spot-grid{grid-template-columns:1fr}
  .why-row-panel-inner{padding-left:22px}
  .ae-overlay{padding:12px}
}

/* ---- Mobile 320–640px ---- */
@media(max-width:640px){
  .wrap{padding-left:16px;padding-right:16px}
  .menu-topbar{flex-wrap:wrap}
  .menu-left{flex:1 1 100%}
  .useful-admin{flex:1;justify-content:center}
  .menu-close{flex:1;justify-content:center}
  .up-modal{padding:10px}
  .up-modal-card{max-height:94vh;border-radius:16px}
  .up-modal-head{padding:20px 18px 14px}
  .up-modal-body{padding:16px 18px}
  .promo-card{padding:30px 22px 24px}
  .ae-card{max-height:94vh}
  .sitefoot-base{flex-direction:column;align-items:flex-start}
  .visitor-counter .vc-d{min-width:19px;height:27px;font-size:12.5px}
}
/* ---- Small mobile 320–400px ---- */
@media(max-width:400px){
  .wrap{padding-left:14px;padding-right:14px}
  .up-cal-card{padding:10px}
  .up-week{font-size:9px}
  .up-days{gap:3px}
  .up-day{font-size:11px;padding:6px 0 5px}
  .up-tab{font-size:10.5px;padding:8px 6px}
  .up-tab b{display:none}
  .admit-new .text-\[300px\]{font-size:120px}
  .welcome-card{padding:24px 16px}
  .up-brochure-cta .up-btn{padding:11px 10px;font-size:11px}
}
