/* Cambridge Colleges — Premium Public Website 2026
   Design system: refined typography, controlled scale, editorial spacing,
   subtle motion, six-campus identity, responsive from mobile to large desktop. */
:root{
  --navy:#071b3c;
  --navy-2:#0b2b5c;
  --royal:#0d52b9;
  --royal-2:#1c6de0;
  --red:#e31e2f;
  --red-dark:#bd1020;
  --gold:#e8b038;
  --green:#16835d;
  --ink:#10233f;
  --muted:#66758a;
  --muted-2:#8b97a8;
  --surface:#f5f8fc;
  --surface-2:#eef3f9;
  --white:#fff;
  --line:#dce5ef;
  --line-dark:rgba(255,255,255,.13);
  --shadow-xs:0 7px 20px rgba(7,27,60,.055);
  --shadow-sm:0 14px 35px rgba(7,27,60,.08);
  --shadow-md:0 24px 65px rgba(7,27,60,.12);
  --shadow-lg:0 36px 90px rgba(7,27,60,.17);
  --radius:18px;
  --radius-lg:28px;
  --radius-xl:36px;
  --container:1240px;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:#fff;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
::selection{background:#dce9ff;color:var(--navy)}
.container{width:min(calc(100% - 44px),var(--container));margin-inline:auto}
.section,.page-section{padding:96px 0;position:relative}
.section--soft{background:var(--surface)}
.section--navy{background:var(--navy);color:#fff}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:10px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.scroll-progress{position:fixed;z-index:1200;left:0;right:0;top:0;height:3px;pointer-events:none}
.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--royal),var(--red));transition:width .08s linear}

/* Typography */
h1,h2,h3,h4{font-family:'Sora','Manrope',sans-serif;color:var(--navy);letter-spacing:-.035em;margin:0 0 .7em;line-height:1.12}
h1{font-size:clamp(38px,4.2vw,58px);font-weight:700}
h2{font-size:clamp(29px,2.8vw,41px);font-weight:650}
h3{font-size:20px;font-weight:650}
p{margin:0 0 1em}
.lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:760px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--red);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:17px}
.eyebrow:before{content:'';width:24px;height:2px;border-radius:9px;background:currentColor}
.eyebrow--light{color:#9fcbff}.eyebrow--light:before{background:#fff}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:42px}
.section-head>div{max-width:830px}.section-head h2{margin-bottom:12px}.section-head .lead{margin-bottom:0}
.section-head--center{justify-content:center;text-align:center}.section-head--center>div{max-width:820px}.section-head--center .lead{margin-inline:auto}
.inline-actions,.hero__actions,.inner-hero__actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--royal);font-weight:800;font-size:13px;transition:.25s}
.text-link:hover{gap:12px;color:var(--red)}
.text-link--arrow{white-space:nowrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 19px;border-radius:12px;border:1px solid transparent;font-weight:800;font-size:12px;letter-spacing:.01em;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;position:relative;overflow:hidden}
.btn:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.22),transparent 80%);transform:translateX(-120%);transition:transform .65s var(--ease)}
.btn:hover:before{transform:translateX(120%)}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:linear-gradient(135deg,var(--red),#f03a48);color:#fff;box-shadow:0 12px 24px rgba(227,30,47,.18)}
.btn--primary:hover{box-shadow:0 16px 32px rgba(227,30,47,.25)}
.btn--outline{background:#fff;color:var(--navy);border-color:#cbd7e5}.btn--outline:hover{border-color:var(--royal);color:var(--royal);box-shadow:var(--shadow-xs)}
.btn--light{background:#fff;color:var(--navy)}
.btn--ghost-light{border-color:rgba(255,255,255,.26);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.btn--block{width:100%}

/* Topbar + Header */
.topbar{background:var(--navy);color:#dce8f7;min-height:36px;display:flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.025em}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:24px}
.topbar__message{display:flex;align-items:center;gap:8px}.topbar__dot{width:7px;height:7px;border-radius:50%;background:#47d886;box-shadow:0 0 0 5px rgba(71,216,134,.12)}.topbar__sep{opacity:.5}
.topbar__links{display:flex;align-items:center;gap:22px}.topbar__links a{opacity:.9;transition:.2s}.topbar__links a:hover{opacity:1;color:#fff}
.site-header{height:82px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(220,229,239,.75);transition:.3s var(--ease)}
.site-header.is-scrolled{height:72px;box-shadow:0 10px 32px rgba(7,27,60,.07)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{flex:0 0 auto}.brand img{width:205px;height:54px;object-fit:contain;object-position:left center;transition:.25s}.site-header.is-scrolled .brand img{width:190px;height:48px}
.primary-nav{display:flex;align-items:center;gap:3px;height:100%}
.nav-link,.nav-drop__button{height:100%;display:inline-flex;align-items:center;border:0;background:none;padding:0 10px;color:#24344c;font-size:11.5px;font-weight:750;position:relative;white-space:nowrap}
.nav-link:after,.nav-drop__button:after{content:'';position:absolute;left:10px;right:10px;bottom:16px;height:2px;border-radius:8px;background:var(--red);transform:scaleX(0);transition:.25s var(--ease)}
.nav-link:hover,.nav-link.is-active,.nav-drop__button:hover,.nav-drop__button.is-active{color:var(--navy)}
.nav-link:hover:after,.nav-link.is-active:after,.nav-drop__button:hover:after,.nav-drop__button.is-active:after{transform:scaleX(1)}
.nav-drop{height:100%;position:relative}.nav-drop__button span{font-size:12px;margin-left:5px;color:#8290a3}
.nav-drop__menu{position:absolute;top:calc(100% - 5px);left:50%;width:520px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:.24s var(--ease);pointer-events:none}
.nav-drop:hover>.nav-drop__menu,.nav-drop:focus-within>.nav-drop__menu{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.nav-drop__menu:before{content:'';position:absolute;left:50%;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.nav-drop__menu--editorial{width:620px;display:grid;grid-template-columns:.9fr 1.1fr;padding:15px}.nav-menu-intro{background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;border-radius:14px;padding:25px}.nav-menu-intro span{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:#9fc7ff;font-weight:800}.nav-menu-intro strong{display:block;font-family:'Sora';font-size:19px;line-height:1.3;margin:9px 0;color:#fff}.nav-menu-intro p{font-size:11px;line-height:1.65;color:#c7d4e6;margin:0}.nav-menu-links{display:grid;padding:5px}.nav-menu-links a,.nav-drop__menu--simple a{padding:12px 13px;border-radius:11px;transition:.2s}.nav-menu-links a:hover,.nav-drop__menu--simple a:hover{background:var(--surface)}.nav-menu-links strong,.nav-drop__menu--simple strong{display:block;font-size:12px;color:var(--navy);margin-bottom:2px}.nav-menu-links small,.nav-drop__menu--simple small{font-size:9.7px;color:var(--muted)}
.nav-drop__menu--programs{width:600px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.nav-drop__menu--programs a{display:grid;grid-template-columns:46px 1fr;column-gap:11px;padding:13px;border-radius:12px}.nav-drop__menu--programs a:hover{background:var(--surface)}.nav-drop__menu--programs strong{font-size:12px}.nav-drop__menu--programs small{grid-column:2;color:var(--muted);font-size:9.5px}.nav-code{grid-row:1/3;width:43px;height:43px;border-radius:11px;display:grid;place-items:center;background:#eaf2ff;color:var(--royal);font-size:9px;font-weight:900}.nav-code--green{background:#e8f7f1;color:var(--green)}.nav-code--gold{background:#fff6df;color:#ad7600}.nav-code--red{background:#fff0f1;color:var(--red)}
.nav-drop__menu--campuses{width:620px;padding:14px}.nav-campus-all{display:block;padding:17px;background:linear-gradient(135deg,#f4f8ff,#eef4fc);border:1px solid #dde7f4;border-radius:13px;margin-bottom:8px}.nav-campus-all strong{display:block;font-size:13px;color:var(--navy)}.nav-campus-all small{font-size:10px;color:var(--muted)}.nav-campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.nav-campus-grid a{padding:11px;border-radius:10px;transition:.2s}.nav-campus-grid a:hover{background:var(--surface)}.nav-campus-grid strong{display:block;font-size:11px;color:var(--navy)}.nav-campus-grid small{font-size:9px;color:var(--muted)}
.nav-drop__menu--simple{width:240px;display:grid}.nav-drop__menu--right{left:auto;right:0;transform:translateY(12px)}.nav-drop:hover>.nav-drop__menu--right,.nav-drop:focus-within>.nav-drop__menu--right{transform:translateY(0)}.nav-drop__menu--right:before{left:auto;right:28px}
.nav-cta{margin-left:8px;height:43px;padding:0 15px;border-radius:11px;background:linear-gradient(135deg,var(--red),#ef3947);color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;gap:9px;box-shadow:0 9px 20px rgba(227,30,47,.15);transition:.25s}.nav-cta b{font-size:13px}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(227,30,47,.23)}
.menu-toggle{display:none;width:44px;height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 11px}.menu-toggle span{display:block;height:2px;background:var(--navy);margin:5px 0;border-radius:4px;transition:.25s}

/* Home Hero */
.home-hero{position:relative;min-height:730px;padding:70px 0 0;background:linear-gradient(180deg,#f9fbfe 0%,#fff 78%);overflow:hidden}
.hero-grid-lines{position:absolute;inset:0;opacity:.43;background-image:linear-gradient(rgba(13,82,185,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(13,82,185,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-orb--a{width:620px;height:620px;background:radial-gradient(circle,rgba(28,109,224,.11),rgba(28,109,224,0) 70%);right:-170px;top:-180px}.hero-orb--b{width:430px;height:430px;background:radial-gradient(circle,rgba(227,30,47,.07),rgba(227,30,47,0) 70%);left:-190px;bottom:-90px}
.home-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:.93fr 1.07fr;gap:64px;align-items:center}
.home-hero__copy{padding:20px 0 90px}.hero-kicker{display:inline-flex;align-items:center;gap:10px;color:var(--navy);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:21px}.hero-kicker span{width:31px;height:3px;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--gold))}
.home-hero h1{max-width:720px;font-size:clamp(42px,4.5vw,60px);margin-bottom:22px}.home-hero h1 em{font-style:normal;color:var(--red);position:relative}.home-hero h1 em:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:8px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='8' viewBox='0 0 220 8'%3E%3Cpath d='M2 6 C55 1 142 1 218 4' fill='none' stroke='%23e8b038' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.85}.home-hero__copy>p{font-size:16px;line-height:1.85;color:#5d6d82;max-width:650px;margin-bottom:28px}.hero__actions{margin-bottom:30px}
.hero-trust{display:flex;gap:0;border-top:1px solid var(--line);padding-top:20px;max-width:650px}.hero-trust>div{display:flex;align-items:center;gap:10px;padding-right:23px;margin-right:23px;border-right:1px solid var(--line)}.hero-trust>div:last-child{border:0;margin:0;padding:0}.hero-trust b{font-family:'Sora';font-size:10px;color:var(--red)}.hero-trust span{font-size:10.5px;line-height:1.45;font-weight:700;color:#485970}
.hero-stage{position:relative;min-height:550px}.hero-stage__main{position:absolute;right:15px;top:5px;width:82%;height:495px;border-radius:34px;overflow:hidden;box-shadow:var(--shadow-lg);border:8px solid #fff}.hero-stage__main:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(7,27,60,.15))}.hero-stage__main img{width:100%;height:100%;object-fit:cover}.hero-stage__mini{position:absolute;background:#fff;border:5px solid #fff;border-radius:18px;box-shadow:var(--shadow-md);overflow:hidden;animation:heroFloat 6s ease-in-out infinite}.hero-stage__mini img{width:100%;height:100%;object-fit:cover}.hero-stage__mini span{position:absolute;left:10px;bottom:10px;background:rgba(7,27,60,.86);backdrop-filter:blur(8px);color:#fff;border-radius:8px;padding:5px 8px;font-size:8.5px;font-weight:800}.hero-stage__mini--top{left:0;top:55px;width:195px;height:145px}.hero-stage__mini--bottom{right:-5px;bottom:9px;width:205px;height:145px;animation-delay:-2.5s}.hero-stage__award{position:absolute;left:48px;bottom:69px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 15px;display:flex;gap:11px;align-items:center;box-shadow:var(--shadow-md)}.hero-stage__award>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff6de;color:#b37b00}.hero-stage__award strong{font-family:'Sora';font-size:18px;color:var(--navy);display:block}.hero-stage__award small{display:block;font-size:8.8px;color:var(--muted);font-weight:700}.hero-stage__ring{position:absolute;right:-32px;top:-26px;width:150px;height:150px;border:1px solid rgba(13,82,185,.17);border-radius:50%}.hero-stage__ring:before,.hero-stage__ring:after{content:'';position:absolute;border:1px solid rgba(13,82,185,.13);border-radius:50%;inset:15px}.hero-stage__ring:after{inset:31px}
@keyframes heroFloat{50%{transform:translateY(-8px)}}
.hero-stats{position:relative;z-index:5;margin-top:-32px;display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);border-radius:22px;padding:0 18px;box-shadow:0 24px 50px rgba(7,27,60,.2);overflow:hidden}.hero-stats:before{content:'';position:absolute;right:-100px;top:-140px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(28,109,224,.28),transparent 67%)}.hero-stat{min-height:110px;padding:23px 24px;position:relative;border-right:1px solid rgba(255,255,255,.11);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:13px;align-content:center}.hero-stat:last-child{border:0}.hero-stat>span{grid-row:1/3;color:#5f8bc7;font-size:9px;font-weight:800}.hero-stat strong{font-family:'Sora';color:#fff;font-size:25px;letter-spacing:-.04em;line-height:1}.hero-stat small{font-size:9.5px;color:#b7c8df;margin-top:5px;font-weight:650}

/* About home */
.about-home{padding-top:130px}.about-home__grid{display:grid;grid-template-columns:.96fr 1.04fr;gap:86px;align-items:center}.about-collage{min-height:540px;position:relative}.about-collage__main{width:77%;height:440px;border-radius:28px;overflow:hidden;margin:0;box-shadow:var(--shadow-md)}.about-collage__main img,.about-collage__secondary img{width:100%;height:100%;object-fit:cover}.about-collage__secondary{position:absolute;right:0;bottom:0;width:48%;height:270px;border-radius:22px;overflow:hidden;border:7px solid #fff;box-shadow:var(--shadow-md);margin:0}.about-collage__legacy{position:absolute;left:25px;bottom:17px;background:var(--red);color:#fff;border-radius:17px;padding:17px 19px;box-shadow:0 18px 36px rgba(227,30,47,.23)}.about-collage__legacy strong{font-family:'Sora';font-size:29px;display:block}.about-collage__legacy span{font-size:9px;line-height:1.45;font-weight:700}.about-home__copy h2{margin-bottom:19px}.about-home__copy .lead{margin-bottom:25px}.about-pillars{display:grid;gap:3px;margin:25px 0 29px}.about-pillars>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.about-pillars>div:last-child{border:0}.about-pillars b{width:35px;height:35px;display:grid;place-items:center;background:#eef4ff;color:var(--royal);border-radius:10px;font-size:9px}.about-pillars strong{font-size:13px;color:var(--navy)}.about-pillars p{font-size:11.5px;color:var(--muted);margin:3px 0 0;line-height:1.55}

/* Programs */
.program-showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.program-premium{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:0;transition:.32s var(--ease);box-shadow:0 6px 20px rgba(7,27,60,.025)}.program-premium:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:#cad7e6}.program-premium__top{display:flex;justify-content:space-between;align-items:center;padding:16px 17px 11px}.program-index{font-family:'Sora';font-size:10px;color:#a4afbc}.program-chip{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:5px 8px;border-radius:20px;background:#eaf2ff;color:var(--royal)}.program-tone--2 .program-chip{background:#eaf7f1;color:var(--green)}.program-tone--3 .program-chip{background:#f2edff;color:#6546c7}.program-tone--4 .program-chip{background:#fff5df;color:#a87300}.program-tone--5 .program-chip{background:#fff0f1;color:var(--red)}.program-premium__image{height:170px;margin:0 10px;border-radius:14px;overflow:hidden;position:relative}.program-premium__image:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,60,.18),transparent 55%)}.program-premium__image img{width:100%;height:100%;object-fit:cover;transition:.55s var(--ease)}.program-premium:hover .program-premium__image img{transform:scale(1.045)}.program-premium__body{padding:19px 19px 21px}.program-premium__body h3{font-size:17px;margin-bottom:8px}.program-premium__body>p{font-size:11px;color:var(--muted);line-height:1.62;height:53px;overflow:hidden}.program-premium__body ul{list-style:none;padding:0;margin:14px 0 17px;display:grid;gap:7px}.program-premium__body li{font-size:10px;color:#44566d;padding-left:16px;position:relative}.program-premium__body li:before{content:'•';position:absolute;left:2px;color:var(--royal);font-weight:900}.program-premium__body>a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;color:var(--navy);font-size:10.5px;font-weight:850}.program-premium__body>a span{width:28px;height:28px;border-radius:9px;background:var(--surface);display:grid;place-items:center;transition:.25s}.program-premium:hover .program-premium__body>a span{background:var(--navy);color:#fff}

/* Learning */
.learning-section{background:linear-gradient(145deg,#061732,#0b2a5a);color:#fff;overflow:hidden}.learning-glow{position:absolute;width:700px;height:700px;border-radius:50%;right:-250px;top:-310px;background:radial-gradient(circle,rgba(34,113,222,.3),transparent 68%)}.learning-section:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,transparent,#000 60%,transparent)}.learning-head{position:relative;z-index:2;max-width:820px;margin-bottom:60px}.learning-head h2{color:#fff;margin-bottom:15px}.learning-head p{color:#bbcae0;max-width:710px}.learning-flow{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}.learning-flow__line{position:absolute;left:5%;right:5%;top:40px;height:2px;background:rgba(255,255,255,.13);overflow:hidden}.learning-flow__line span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold),#fff,var(--red));transition:width 1.6s var(--ease)}.learning-flow.is-active .learning-flow__line span{width:100%}.learning-step{position:relative;padding-top:64px}.learning-step__num{position:absolute;left:0;top:0;color:#6686af;font-size:9px;font-weight:800}.learning-step__dot{position:absolute;top:34px;left:0;width:14px;height:14px;border-radius:50%;background:#102f61;border:3px solid #7896bd;box-shadow:0 0 0 6px rgba(255,255,255,.035);transition:.5s}.learning-flow.is-active .learning-step__dot{background:var(--gold);border-color:#fff}.learning-step h3{color:#fff;font-size:15px;margin-bottom:8px}.learning-step p{font-size:10.5px;color:#9fb2cc;line-height:1.65;margin:0;max-width:185px}

/* Campuses */
.campus-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.campus-premium{--campus:#0d52b9;display:block;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.32s var(--ease)}.campus-premium:hover{transform:translateY(-7px);box-shadow:var(--shadow-md);border-color:#c9d5e5}.campus-accent--himalaya{--campus:#c18a13}.campus-accent--sadhana{--campus:#168c8a}.campus-accent--medha{--campus:#2c8a55}.campus-accent--olympus{--campus:#9b3d72}.campus-accent--mayuri{--campus:#cf682b}.campus-accent--vindhya{--campus:#167a9d}.campus-premium__image{height:245px;position:relative;overflow:hidden}.campus-premium__image:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,60,.35),transparent 52%)}.campus-premium__image img{width:100%;height:100%;object-fit:cover;transition:.55s var(--ease)}.campus-premium:hover img{transform:scale(1.045)}.campus-premium__focus{position:absolute;left:15px;bottom:14px;z-index:2;background:rgba(255,255,255,.94);backdrop-filter:blur(9px);color:var(--campus);border-radius:8px;padding:6px 9px;font-size:8.5px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.campus-premium__body{padding:20px}.campus-premium__body>div:first-child{display:flex;align-items:center;gap:11px}.campus-no{font-family:'Sora';font-size:9px;color:var(--campus)}.campus-premium h3{font-size:18px;margin:0}.campus-premium p{font-size:10.5px;color:var(--muted);line-height:1.62;height:52px;overflow:hidden;margin:11px 0 15px}.campus-open{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;color:var(--navy);font-size:10.5px;font-weight:850}.campus-open b{width:28px;height:28px;display:grid;place-items:center;background:color-mix(in srgb,var(--campus) 10%,white);color:var(--campus);border-radius:9px}

/* Results home */
.results-home__layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:70px;align-items:start}.results-intro h2{margin-bottom:14px}.result-summary-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.result-summary-list>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.result-summary-list strong{font-family:'Sora';font-size:21px;color:var(--navy);display:block}.result-summary-list span{font-size:10px;font-weight:800;color:#344861;display:block}.result-summary-list small{font-size:8.5px;color:var(--muted)}.result-students{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.result-student{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-xs);transition:.3s}.result-student:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}.result-student__portrait{height:245px;position:relative;background:linear-gradient(180deg,#eef4fb,#fff);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.result-student__portrait img{height:93%;width:100%;object-fit:contain;object-position:center bottom}.result-student__portrait>span{position:absolute;left:12px;top:12px;background:var(--navy);color:#fff;font-family:'Sora';font-size:16px;padding:8px 10px;border-radius:9px}.result-student>div:last-child{padding:15px}.result-student small{color:var(--red);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.result-student h3{font-size:13px;margin:5px 0 3px}.result-student p{font-size:9.5px;color:var(--muted);margin:0}

/* Why bento */
.why-bento{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:minmax(185px,auto);gap:14px}.why-tile{border:1px solid var(--line);border-radius:20px;padding:23px;background:#fff;position:relative;overflow:hidden;transition:.3s}.why-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.why-tile--feature{grid-row:span 2;background:linear-gradient(145deg,var(--navy),#0c3268);color:#fff;border-color:transparent;padding:32px}.why-tile--feature h3{color:#fff;font-size:25px}.why-tile--feature p{color:#b8c8dd}.why-icon{width:41px;height:41px;border-radius:12px;background:#eef4ff;color:var(--royal);display:grid;place-items:center;font-size:17px;margin-bottom:25px}.why-tile--feature .why-icon{background:rgba(255,255,255,.1);color:#fff}.why-tile h3{font-size:16px;margin-bottom:9px}.why-tile p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}.why-tile__metric{position:absolute;left:32px;bottom:30px}.why-tile__metric strong{display:block;font-family:'Sora';font-size:32px;color:#fff}.why-tile__metric span{font-size:9px;color:#9fb4cf}.why-tile--image{padding:0;grid-column:span 2;min-height:240px}.why-tile--image img{width:100%;height:100%;object-fit:cover}.why-tile--image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,60,.82),rgba(7,27,60,.05) 70%)}.why-tile--image>div{position:absolute;z-index:2;left:25px;bottom:22px;color:#fff;max-width:330px}.why-tile--image span{font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#cfe0f6}.why-tile--image strong{display:block;font-family:'Sora';font-size:18px;line-height:1.3;margin-top:4px}

/* Life */
.life-strip{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:250px 210px;gap:12px}.life-card{border-radius:18px;overflow:hidden;position:relative;background:#ddd}.life-card--wide{grid-row:span 2}.life-card:nth-child(4){grid-column:2}.life-card:nth-child(5){grid-column:3}.life-card:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,60,.8),transparent 60%)}.life-card img{width:100%;height:100%;object-fit:cover;transition:.55s}.life-card:hover img{transform:scale(1.04)}.life-card>div{position:absolute;left:19px;right:19px;bottom:17px;z-index:2;color:#fff}.life-card>div span{font-size:8px;color:#a9c8ef;font-weight:800}.life-card h3{color:#fff;font-size:16px;margin:2px 0 3px}.life-card p{font-size:9px;line-height:1.5;color:#d8e3f0;margin:0;max-width:290px}.life-card:not(.life-card--wide) p{display:none}

/* Gallery home */
.gallery-home__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:65px;align-items:center}.gallery-home__copy{max-width:470px}.gallery-mosaic{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:180px 180px;gap:9px}.gallery-mosaic__item{margin:0;border-radius:16px;overflow:hidden}.gallery-mosaic__item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-mosaic__item:hover img{transform:scale(1.05)}.gallery-mosaic__item--1{grid-row:1/3}.gallery-mosaic__item--2{grid-column:2/4}.gallery-mosaic__item--5{display:none}

/* News home */
.news-premium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-premium{background:#fff;border:1px solid var(--line);border-radius:19px;overflow:hidden;transition:.3s}.news-premium:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.news-premium__image{height:210px;display:block;position:relative;overflow:hidden}.news-premium__image img{width:100%;height:100%;object-fit:cover;transition:.55s}.news-premium:hover img{transform:scale(1.045)}.news-premium__image>span{position:absolute;left:13px;top:13px;background:#fff;color:var(--red);border-radius:8px;padding:5px 8px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.news-premium__body{padding:18px}.news-premium__body>small{font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:800}.news-premium h3{font-size:16px;line-height:1.35;margin:7px 0}.news-premium p{font-size:10.5px;color:var(--muted);line-height:1.6}.news-premium__body>a{font-size:10px;font-weight:850;color:var(--royal)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;padding:20px 3px;display:flex;align-items:center;justify-content:space-between;text-align:left;color:var(--navy);font-family:'Sora';font-weight:600;font-size:14px}.faq-question b{width:30px;height:30px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-family:'Manrope';font-size:17px;font-weight:500;transition:.25s}.faq-item.open .faq-question b{transform:rotate(45deg);background:var(--navy);color:#fff;border-color:var(--navy)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s var(--ease)}.faq-answer>p{overflow:hidden;margin:0;color:var(--muted);font-size:11.5px;line-height:1.7;max-width:720px}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding:0 50px 20px 3px}

/* Inner hero */
.inner-hero{position:relative;background:linear-gradient(180deg,#f7faff,#fff);overflow:hidden;border-bottom:1px solid #edf2f7}.inner-hero__wash{position:absolute;right:-200px;top:-260px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(13,82,185,.11),transparent 68%)}.inner-hero__grid{min-height:445px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:44px;padding-bottom:55px;position:relative;z-index:2}.inner-hero__content{padding-left:0}.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:24px;color:#8794a5;font-size:9.5px;font-weight:700}.breadcrumbs a:hover{color:var(--royal)}.inner-hero h1{font-size:clamp(38px,3.4vw,48px);max-width:780px;margin-bottom:18px}.inner-hero__content>p{font-size:15px;line-height:1.8;color:var(--muted);max-width:720px}.inner-hero__actions{margin-top:25px}.inner-hero__visual{position:relative;min-height:355px}.inner-hero__image{position:absolute;right:0;top:0;width:86%;height:350px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg);border:7px solid #fff}.inner-hero__image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(7,27,60,.22))}.inner-hero__image img{width:100%;height:100%;object-fit:cover}.inner-hero__badge{position:absolute;left:15px;bottom:21px;background:var(--navy);color:#fff;border-radius:15px;padding:13px 15px;box-shadow:var(--shadow-md);min-width:154px}.inner-hero__badge strong{font-family:'Sora';display:block;font-size:23px}.inner-hero__badge span{font-size:8.5px;color:#c9d7e8;font-weight:700}.inner-hero__line{position:absolute;right:-26px;top:20px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(227,30,47,.18)}.inner-hero__line:before{content:'';position:absolute;inset:18px;border:1px solid rgba(227,30,47,.18);border-radius:50%}

/* CMS/About/Vision/Mission/Values */
.about-page-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:75px;align-items:start}.about-page-images{position:sticky;top:115px;min-height:540px}.about-page-images__large{margin:0;width:85%;height:430px;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-md)}.about-page-images__small{margin:0;position:absolute;right:0;bottom:0;width:47%;height:250px;border:6px solid #fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-md)}.about-page-images img{width:100%;height:100%;object-fit:cover}.about-page-quote{position:absolute;left:20px;bottom:8px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 16px;width:220px;box-shadow:var(--shadow-sm)}.about-page-quote>span{font-family:'Sora';font-size:27px;color:var(--red);line-height:1}.about-page-quote p{font-size:9.5px;line-height:1.5;font-weight:750;margin:0;color:var(--navy)}
.cms-content{font-size:14px;color:#4f6178}.cms-content h2{font-size:29px;margin:0 0 14px}.cms-content h3{font-size:18px;margin:25px 0 9px}.cms-content p{line-height:1.82}.cms-content ul{padding-left:18px;display:grid;gap:8px}.cms-content li{padding-left:3px}.cms-content>.content-section,.cms-content>.statement-card{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line);background:transparent}.cms-content>.content-section:last-child,.cms-content>.statement-card:last-child{border-bottom:0;margin-bottom:0}.cms-content .value-list{display:grid;gap:9px;margin-top:20px}.cms-content .value-list p{margin:0;padding:13px 15px;background:var(--surface);border-radius:12px;border-left:3px solid var(--royal);font-size:12px}.cms-content .statement-card h2{font-size:31px;line-height:1.35}
.metric-band{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:20px;margin-bottom:70px;box-shadow:var(--shadow-xs)}.metric-band>div{padding:25px 28px;border-right:1px solid var(--line)}.metric-band>div:last-child{border:0}.metric-band strong{font-family:'Sora';font-size:27px;color:var(--navy);display:block}.metric-band span{font-size:9.5px;color:var(--muted);font-weight:750}.metric-band--dark{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.13);box-shadow:none}.metric-band--dark>div{border-color:rgba(255,255,255,.13)}.metric-band--dark strong{color:#fff}.metric-band--dark span{color:#b7c8de}
.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.principle-card{border:1px solid var(--line);border-radius:17px;padding:22px}.principle-card>span{font-size:9px;color:var(--red);font-weight:850}.principle-card h3{font-size:15px;margin:18px 0 8px}.principle-card p{font-size:10.5px;color:var(--muted);line-height:1.62;margin:0}.about-campus-bridge{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.about-campus-list{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:20px;overflow:hidden}.about-campus-list a{display:grid;grid-template-columns:30px 1fr auto;gap:11px;align-items:center;padding:17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}.about-campus-list a:nth-child(even){border-right:0}.about-campus-list a:nth-last-child(-n+2){border-bottom:0}.about-campus-list a:hover{background:var(--surface)}.about-campus-list a>span{font-size:8px;color:var(--red);font-weight:850}.about-campus-list strong{display:block;font-size:12px;color:var(--navy)}.about-campus-list small{display:block;font-size:9px;color:var(--muted)}.about-campus-list b{font-size:12px;color:var(--royal)}
.vision-page__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:75px}.vision-manifesto{background:linear-gradient(145deg,var(--navy),#0b326c);color:#fff;border-radius:26px;padding:40px;min-height:460px;position:relative;overflow:hidden}.vision-manifesto:after{content:'';position:absolute;width:280px;height:280px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-120px;bottom:-110px}.vision-manifesto h2{color:#fff;font-size:32px}.vision-manifesto>p{color:#bac9dd;font-size:14px}.vision-mark{font-family:'Sora';font-size:100px;color:rgba(255,255,255,.08);position:absolute;left:36px;bottom:8px}.vision-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.vision-outcomes article{padding:23px;border:1px solid var(--line);border-radius:17px;background:#fff}.vision-outcomes b{font-size:9px;color:var(--red)}.vision-outcomes h3{font-size:15px;margin:18px 0 8px}.vision-outcomes p{font-size:10.5px;color:var(--muted);margin:0;line-height:1.62}
.mission-page__grid{display:grid;grid-template-columns:1.02fr .98fr;gap:75px;align-items:center}.mission-visual{position:relative}.mission-visual>img{width:100%;height:480px;object-fit:cover;border-radius:27px;box-shadow:var(--shadow-md)}.mission-visual__card{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-radius:15px;padding:15px 18px;box-shadow:var(--shadow-sm)}.mission-visual__card span,.mission-visual__card strong,.mission-visual__card em{display:block}.mission-visual__card span{font-size:9px;color:var(--muted)}.mission-visual__card strong{font-family:'Sora';font-size:18px;color:var(--navy)}.mission-visual__card em{font-style:normal;font-size:9px;color:var(--red);font-weight:800}.mission-system{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mission-system article{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.mission-system span{font-size:9px;color:var(--red);font-weight:850}.mission-system h3{font-size:14px;margin:18px 0 7px}.mission-system p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}
.values-intro{max-width:820px;margin-bottom:45px}.cms-content--values>.content-section{border:0;padding:0}.values-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.values-grid-premium article{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:180px}.values-grid-premium article:before{content:'◆';display:block;color:var(--red);font-size:9px;margin-bottom:24px}.values-grid-premium h3{font-size:16px;margin:0 0 8px}.values-grid-premium p{font-size:10.5px;line-height:1.65;color:var(--muted)}.values-commitment{background:linear-gradient(145deg,#071b3c,#0c3065);color:#fff}.values-commitment__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.values-commitment h2{color:#fff}.values-commitment p{color:#b7c7dc}.values-code{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13);border-radius:18px;overflow:hidden}.values-code>div{padding:24px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.values-code>div:nth-child(even){border-right:0}.values-code>div:nth-last-child(-n+2){border-bottom:0}.values-code b{font-size:9px;color:#7fa9db;display:block}.values-code span{font-family:'Sora';font-size:15px;color:#fff}
.editorial-layout{display:grid;grid-template-columns:1fr 330px;gap:70px}.page-side{position:relative}.side-card{position:sticky;top:115px;background:var(--navy);color:#fff;border-radius:20px;padding:27px}.side-card h3{color:#fff}.side-card p{color:#c4d1e2;font-size:11px}.side-phone{display:block;text-align:center;color:#fff;font-weight:800;font-size:12px;margin-top:15px}

/* Program pages */
.program-overview__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:75px;align-items:center}.program-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}.program-facts>div{padding:14px;border-radius:13px;background:var(--surface);border:1px solid var(--line)}.program-facts span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.program-facts strong{display:block;font-size:10.5px;color:var(--navy);margin-top:4px}.program-overview__visual{position:relative}.program-overview__visual>img{width:100%;height:470px;object-fit:cover;border-radius:27px;box-shadow:var(--shadow-md)}.program-overview__badge{position:absolute;left:17px;bottom:17px;background:rgba(7,27,60,.9);backdrop-filter:blur(10px);border-radius:14px;padding:13px 16px;color:#fff;max-width:310px}.program-overview__badge span{display:block;color:#a8c8ef;font-size:8px;font-weight:850;text-transform:uppercase}.program-overview__badge strong{display:block;font-family:'Sora';font-size:13px;margin-top:3px}.program-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.program-feature{padding:21px;border:1px solid var(--line);border-radius:17px;background:#fff;min-height:190px}.program-feature>span{font-size:9px;color:var(--red);font-weight:850}.program-feature h3{font-size:14px;margin:19px 0 8px}.program-feature p{font-size:9.8px;color:var(--muted);line-height:1.62;margin:0}.program-journey__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.program-journey__intro{position:sticky;top:120px;align-self:start}.program-journey__metric{margin-top:30px;padding:18px;background:linear-gradient(145deg,var(--navy),#0d3571);border-radius:16px;color:#fff}.program-journey__metric strong{display:block;font-family:'Sora';font-size:20px}.program-journey__metric span{display:block;color:#bdd0e6;font-size:9.5px;margin-top:3px}.program-stage-list{display:grid;gap:10px}.program-stage{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.program-stage__num{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:#eef4ff;color:var(--royal);font-size:9px;font-weight:850}.program-stage h3{font-size:15px;margin:2px 0 6px}.program-stage p{font-size:10.5px;color:var(--muted);margin:0;line-height:1.65}.program-network{background:linear-gradient(145deg,#061732,#0c2f66);color:#fff;overflow:hidden}.program-network__glow{position:absolute;right:-220px;top:-250px;width:650px;height:650px;background:radial-gradient(circle,rgba(39,120,235,.3),transparent 68%)}.program-network__head{position:relative;max-width:790px;margin-bottom:40px}.program-network h2{color:#fff}.program-network p{color:#b7c8dd}.campus-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.campus-mini{display:grid;grid-template-columns:110px 1fr;min-height:105px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;transition:.3s}.campus-mini:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.campus-mini img{width:100%;height:100%;object-fit:cover}.campus-mini>div{padding:15px}.campus-mini span{font-size:8px;color:var(--red);font-weight:850;text-transform:uppercase}.campus-mini strong{display:block;font-size:14px;color:var(--navy);margin:2px 0 7px}.campus-mini small{font-size:9px;color:var(--royal);font-weight:750}
.program-tone-green .program-stage__num{background:#e9f7f1;color:var(--green)}.program-tone-gold .program-stage__num{background:#fff5df;color:#a87300}.program-tone-red .program-stage__num{background:#fff0f1;color:var(--red)}

/* Campus detail/index */
.campus-detail-page{--campus:#0d52b9}.campus-theme--himalaya{--campus:#c18a13}.campus-theme--sadhana{--campus:#168c8a}.campus-theme--medha{--campus:#2c8a55}.campus-theme--olympus{--campus:#9b3d72}.campus-theme--mayuri{--campus:#cf682b}.campus-theme--vindhya{--campus:#167a9d}.campus-detail-page .inner-hero .eyebrow{color:var(--campus)}.campus-detail-page .btn--primary{background:var(--campus);box-shadow:0 12px 25px color-mix(in srgb,var(--campus) 22%,transparent)}
.campus-nav-wrap{position:relative;z-index:5;margin-top:-25px}.campus-nav{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow-sm);overflow:hidden}.campus-nav a{padding:15px 12px;border-right:1px solid var(--line);transition:.2s}.campus-nav a:last-child{border:0}.campus-nav span{display:block;font-size:11px;font-weight:850;color:var(--navy)}.campus-nav small{display:block;font-size:8.5px;color:var(--muted);margin-top:2px}.campus-nav a:hover,.campus-nav a.is-current{background:color-mix(in srgb,var(--campus) 8%,white)}.campus-nav a.is-current{box-shadow:inset 0 3px 0 var(--campus)}
.campus-story__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;align-items:center}.campus-story__visual{position:relative;min-height:500px}.campus-story__main{margin:0;width:87%;height:465px;border-radius:27px;overflow:hidden;box-shadow:var(--shadow-md)}.campus-story__main img{width:100%;height:100%;object-fit:cover}.campus-story__label{position:absolute;right:0;bottom:35px;width:205px;padding:16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--campus);border-radius:15px;box-shadow:var(--shadow-md)}.campus-story__label span{display:block;font-size:8px;color:var(--campus);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.campus-story__label strong{display:block;font-family:'Sora';font-size:19px;color:var(--navy);margin:3px 0}.campus-story__label small{font-size:8.5px;color:var(--muted)}.campus-story__micro{position:absolute;left:18px;bottom:13px;background:var(--campus);color:#fff;border-radius:14px;padding:12px 14px;display:flex;gap:9px;align-items:center;box-shadow:var(--shadow-sm)}.campus-story__micro b{font-family:'Sora';font-size:23px}.campus-story__micro span{font-size:8px;line-height:1.4;font-weight:750}.campus-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:27px 0}.campus-facts>div{padding:13px;border:1px solid var(--line);border-radius:12px}.campus-facts span{display:block;font-size:7.8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.campus-facts strong{font-size:10px;display:block;color:var(--navy);margin-top:4px}.campus-character__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.campus-character__card{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:17px}.campus-character__card>span{width:39px;height:39px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--campus) 10%,white);color:var(--campus);font-size:9px;font-weight:850}.campus-character__card h3{font-size:15px;margin:2px 0 6px}.campus-character__card p{font-size:10.5px;color:var(--muted);margin:0;line-height:1.63}.campus-fit__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.campus-fit__copy{position:sticky;top:120px}.campus-fit__chip{display:inline-flex;margin:8px 0 24px;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--campus) 9%,white);color:var(--campus);font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.campus-journey-card{border:1px solid var(--line);border-radius:22px;padding:30px}.campus-journey-card>h3{font-size:23px}.campus-journey-list{display:grid;gap:5px;margin-top:20px}.campus-journey-list>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.campus-journey-list b{font-size:9px;color:var(--campus)}.campus-journey-list strong{font-size:13px;color:var(--navy)}.campus-journey-list p{font-size:10.5px;color:var(--muted);margin:3px 0 0}.campus-gallery-band{background:var(--navy);color:#fff}.campus-gallery-band h2{color:#fff}.campus-gallery-band__grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:10px}.campus-gallery-band figure{margin:0;height:250px;border-radius:17px;overflow:hidden}.campus-gallery-band figure.wide{height:330px;grid-row:span 1}.campus-gallery-band figure img{width:100%;height:100%;object-fit:cover}.campus-other-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.campus-other-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;transition:.3s}.campus-other-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-sm)}.campus-other-card img{width:100%;height:145px;object-fit:cover}.campus-other-card>div{padding:13px}.campus-other-card span{display:block;color:var(--red);font-size:7.8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850}.campus-other-card strong{display:block;font-size:12px;color:var(--navy);margin:3px 0 6px}.campus-other-card small{font-size:8.5px;color:var(--royal);font-weight:750}.campus-final-cta{padding-top:0}.campus-final-cta__inner{background:linear-gradient(145deg,var(--navy),#0b3167);color:#fff;border-radius:25px;padding:40px;display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.campus-final-cta h2{color:#fff;font-size:31px;margin-bottom:10px}.campus-final-cta p{color:#b7c8dc;margin:0;max-width:780px}.campus-final-cta__inner>div:last-child{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.campus-index-intro__grid{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:center}.campus-index-note{border-left:3px solid var(--red);padding:12px 0 12px 24px}.campus-index-note>span{font-size:9px;text-transform:uppercase;color:var(--red);letter-spacing:.09em;font-weight:850}.campus-index-note p{font-size:11px;color:var(--muted);line-height:1.65;margin:8px 0}.campus-index-note a{font-size:10px;color:var(--royal);font-weight:850}.campus-index-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.campus-index-card{--campus:#0d52b9;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.3s}.campus-index-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}.campus-index-card__image{height:260px;position:relative;overflow:hidden}.campus-index-card__image img{width:100%;height:100%;object-fit:cover;transition:.55s}.campus-index-card:hover img{transform:scale(1.045)}.campus-index-card__image>span{position:absolute;right:13px;top:13px;width:34px;height:34px;display:grid;place-items:center;background:#fff;border-radius:10px;font-size:9px;color:var(--campus);font-weight:850;box-shadow:var(--shadow-xs)}.campus-index-card__body{padding:20px}.campus-index-card__body>small{color:var(--campus);font-size:8.5px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.campus-index-card h3{font-size:19px;margin:5px 0 8px}.campus-index-card p{font-size:10.5px;color:var(--muted);line-height:1.65;min-height:52px}.campus-index-card__link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:13px;font-size:10px;font-weight:850;color:var(--navy)}.campus-index-card__link b{color:var(--campus)}.campus-compare-flow{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px}.campus-compare-flow>div{max-width:150px}.campus-compare-flow b{font-size:8px;color:var(--red);display:block}.campus-compare-flow strong{font-size:12px;color:var(--navy);display:block}.campus-compare-flow span{font-size:9px;color:var(--muted)}.campus-compare-flow>i{font-style:normal;color:#a3b0c0}

/* Results page */
.result-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.result-feature-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.result-feature-card__top{padding:18px 18px 11px;display:flex;justify-content:space-between;align-items:center}.result-feature-card__top>span{font-family:'Sora';font-size:27px;color:var(--navy)}.result-feature-card__top small{font-size:8.5px;text-transform:uppercase;color:var(--red);font-weight:850;letter-spacing:.08em}.result-feature-card__portrait{height:310px;background:linear-gradient(180deg,#eef4fb,#fff);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.result-feature-card__portrait img{height:95%;width:100%;object-fit:contain;object-position:center bottom}.result-feature-card__body{padding:16px 18px;border-top:1px solid var(--line)}.result-feature-card h3{font-size:15px;margin-bottom:3px}.result-feature-card p{font-size:10px;color:var(--muted);margin:0}.result-snapshot>.container{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;align-items:start}.result-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.result-summary-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px}.result-summary-card>span{font-size:8px;color:var(--red);font-weight:850}.result-summary-card>strong{display:block;font-family:'Sora';font-size:24px;color:var(--navy);margin:13px 0 4px}.result-summary-card h3{font-size:13px;margin:0 0 5px}.result-summary-card p{font-size:9.5px;color:var(--muted);margin:0}.results-process__flow{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:19px;overflow:hidden}.results-process__flow>div{flex:1;padding:24px 18px}.results-process__flow>span{align-self:center;color:#a7b4c3}.results-process__flow b{font-size:8px;color:var(--red);display:block}.results-process__flow strong{display:block;font-family:'Sora';font-size:13px;color:var(--navy);margin:12px 0 4px}.results-process__flow p{font-size:9.5px;color:var(--muted);margin:0}.result-cta{padding-top:0}.result-cta__inner{background:linear-gradient(145deg,var(--navy),#0c3269);border-radius:24px;color:#fff;padding:38px 42px;display:flex;justify-content:space-between;align-items:center;gap:45px}.result-cta h2{color:#fff;font-size:30px;margin-bottom:8px}.result-cta p{color:#b9c9dd;margin:0}

/* Galleries */
.gallery-toolbar{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:34px}.gallery-toolbar h2{font-size:31px;margin:0}.gallery-filters,.news-filter{display:flex;gap:7px;flex-wrap:wrap}.gallery-filter,.news-filter button{border:1px solid var(--line);background:#fff;color:#53647a;border-radius:999px;padding:8px 11px;font-size:9px;font-weight:800;transition:.2s}.gallery-filter:hover,.gallery-filter.active,.news-filter button:hover,.news-filter button.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}.gallery-grid-premium{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:10px}.gallery-item{position:relative;margin:0;border-radius:17px;overflow:hidden;cursor:zoom-in;background:#dbe3ec}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-row:span 2}.gallery-item:nth-child(7n+2){grid-column:span 2}.gallery-item.is-hidden{display:none}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,60,.72),transparent 58%);opacity:.82;transition:.25s}.gallery-item figcaption{position:absolute;left:15px;right:13px;bottom:13px;z-index:2;color:#fff;display:grid;grid-template-columns:1fr auto;align-items:end}.gallery-item figcaption span{grid-column:1;font-size:7.5px;text-transform:uppercase;letter-spacing:.08em;color:#bdd0e8;font-weight:800}.gallery-item figcaption strong{grid-column:1;font-size:11px}.gallery-item figcaption button{grid-column:2;grid-row:1/3;width:31px;height:31px;border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.12);color:#fff;border-radius:9px}.lightbox{position:fixed;z-index:3000;inset:0;background:rgba(4,13,29,.94);display:grid;place-items:center;padding:50px}.lightbox[hidden]{display:none}.lightbox>button{position:absolute;right:24px;top:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:22px}.lightbox__stage{max-width:min(1100px,88vw);max-height:82vh}.lightbox img{max-height:82vh;border-radius:14px;box-shadow:0 35px 100px rgba(0,0,0,.4)}
.video-grid-premium{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.video-card-premium{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.3s}.video-card-premium:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.video-card-premium__thumb{height:225px;position:relative;overflow:hidden}.video-card-premium__thumb img{width:100%;height:100%;object-fit:cover;transition:.55s}.video-card-premium:hover img{transform:scale(1.045)}.video-card-premium__thumb:after{content:'';position:absolute;inset:0;background:rgba(7,27,60,.18)}.video-play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--red);box-shadow:var(--shadow-sm);padding-left:3px}.video-card-premium__body{padding:19px}.video-card-premium__body small{color:var(--red);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.video-card-premium h3{font-size:16px;margin:6px 0}.video-card-premium p{font-size:10.5px;color:var(--muted);line-height:1.6}.video-card-premium__body>span{font-size:10px;color:var(--royal);font-weight:850}.empty-media{text-align:center;border:1px dashed #cbd7e5;border-radius:25px;background:var(--surface);padding:70px 30px}.empty-media__icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#fff;color:var(--red);font-size:24px;box-shadow:var(--shadow-sm)}.empty-media h2{font-size:29px}.empty-media p{color:var(--muted);max-width:600px;margin:0 auto 24px}

/* News */
.news-page__toolbar{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.news-page__toolbar h2{font-size:31px;margin:0}.news-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-page-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.news-page-card.is-hidden{display:none}.news-page-card__image{height:220px;position:relative;overflow:hidden}.news-page-card__image img{width:100%;height:100%;object-fit:cover;transition:.55s}.news-page-card:hover .news-page-card__image img{transform:scale(1.04)}.news-page-card__image>span{position:absolute;left:13px;top:13px;background:#fff;color:var(--red);border-radius:8px;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.news-page-card__body{padding:20px}.news-page-card__body>small{font-size:8.5px;color:var(--muted);font-weight:750}.news-page-card h3{font-size:16px;margin:7px 0}.news-page-card p{font-size:10.5px;color:var(--muted);line-height:1.63}.event-meta{font-size:9px;color:var(--royal);font-weight:750}.news-page-card details{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.news-page-card summary{list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--navy);font-size:9.5px;font-weight:850;cursor:pointer}.news-page-card summary::-webkit-details-marker{display:none}.article-content{font-size:10.5px;color:var(--muted);padding-top:13px}.article-content h2,.article-content h3{font-size:14px}

/* Contact & forms */
.contact-page__grid,.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:65px;align-items:start}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}.contact-cards>a,.contact-cards>div{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}.contact-cards span{font-size:8px;color:var(--red);font-weight:850}.contact-cards small{display:block;font-size:8.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:13px}.contact-cards strong{display:block;font-size:11.5px;color:var(--navy);margin-top:4px}.contact-cards em{display:block;font-style:normal;font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}.contact-map__head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}.contact-map__head h2{font-size:31px}.contact-map__head p{color:var(--muted);max-width:620px}.map-embed iframe{width:100%!important;min-height:450px;border:0;border-radius:22px}.map-premium{height:440px;border-radius:24px;background:linear-gradient(145deg,#e8eff7,#dce7f2);position:relative;overflow:hidden;border:1px solid #d3deea}.map-premium__grid{position:absolute;inset:-40px;background-image:linear-gradient(rgba(7,27,60,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(7,27,60,.08) 1px,transparent 1px);background-size:44px 44px;transform:rotate(10deg) scale(1.15)}.map-premium__pin{position:absolute;left:62%;top:37%;width:55px;height:55px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red);color:#fff;display:grid;place-items:center;font-size:20px;box-shadow:0 18px 38px rgba(227,30,47,.28)}.map-premium__pin::first-letter{transform:rotate(45deg)}.map-premium__card{position:absolute;left:35px;bottom:35px;width:380px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-radius:18px;padding:22px;box-shadow:var(--shadow-md)}.map-premium__card>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:850}.map-premium__card strong{display:block;font-family:'Sora';font-size:18px;color:var(--navy);margin:3px 0}.map-premium__card p{font-size:10px;color:var(--muted);line-height:1.55}
.enquiry-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow-sm)}.enquiry-form h2{font-size:26px;margin-bottom:8px}.form-intro{font-size:10.5px;color:var(--muted);line-height:1.6;margin-bottom:22px}.form-alert{background:#fff1f2;color:#b21b2a;border:1px solid #ffd6da;padding:10px 12px;border-radius:10px;font-size:10px;margin-bottom:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label>span{display:block;font-size:8.5px;color:#596b80;font-weight:800;margin-bottom:5px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8e2ed;border-radius:10px;background:#fbfcfe;color:var(--ink);padding:10px 11px;font-size:11px;outline:none;transition:.2s}.form-grid input,.form-grid select{height:43px}.form-grid textarea{resize:vertical;min-height:95px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#87aee0;box-shadow:0 0 0 3px rgba(13,82,185,.08);background:#fff}.span-2{grid-column:span 2}.consent{display:flex;gap:8px;align-items:flex-start;margin:14px 0;font-size:8.8px;color:var(--muted);line-height:1.5}.consent input{margin-top:3px}.form-note{font-size:8px;color:#9aa6b4;margin:10px 0 0}.hp-field{position:absolute!important;left:-9999px!important}.contact-panel{background:linear-gradient(145deg,var(--navy),#0c3268);color:#fff;border-radius:22px;padding:32px}.contact-panel h2{color:#fff;font-size:31px}.contact-panel>p{color:#bed0e5}.contact-list{display:grid;gap:15px;margin-top:25px}.contact-row{display:grid;grid-template-columns:35px 1fr;gap:11px;align-items:start}.contact-row i{font-style:normal;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.09);display:grid;place-items:center}.contact-row span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#91add1;font-weight:800}.contact-row a,.contact-row div{font-size:10.5px;color:#fff}.contact-panel--editorial{position:sticky;top:120px}

/* Admission */
.admission-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admission-step-grid article{border:1px solid var(--line);border-radius:18px;padding:23px}.admission-step-grid span{font-size:9px;color:var(--red);font-weight:850}.admission-step-grid h3{font-size:15px;margin:20px 0 8px}.admission-step-grid p{font-size:10.5px;color:var(--muted);line-height:1.64;margin:0}.admission-info__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.admission-docs{position:sticky;top:120px}.document-list{display:grid;gap:8px;margin:25px 0}.document-list>div{display:flex;gap:10px;align-items:center;padding:12px 13px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:10.5px;font-weight:700}.document-list b{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#eaf7f1;color:var(--green);font-size:9px}.admission-note{border-left:3px solid var(--gold);padding:12px 0 12px 17px}.admission-note strong{font-size:11px;color:var(--navy)}.admission-note p{font-size:9.5px;color:var(--muted);line-height:1.6;margin:3px 0 0}

/* Privacy / thank */
.privacy-layout{display:grid;grid-template-columns:320px 1fr;gap:70px}.privacy-side{position:sticky;top:120px;align-self:start;border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--surface)}.privacy-side h3{font-size:17px}.privacy-side p{font-size:10px;color:var(--muted)}.privacy-side a{font-size:10px;color:var(--royal);font-weight:800}.privacy-content{display:grid;gap:0}.privacy-content>section{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.privacy-content>section:first-child{padding-top:0}.privacy-content>section>span{font-size:9px;color:var(--red);font-weight:850}.privacy-content h2{font-size:22px;margin-bottom:8px}.privacy-content p{font-size:11.5px;color:var(--muted);line-height:1.75;margin:0}.privacy-content a{color:var(--royal)}
.thank-page{min-height:650px;display:grid;align-items:center;background:linear-gradient(180deg,#f6f9fd,#fff);position:relative;overflow:hidden;padding:80px 0}.thank-page__orb{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(13,82,185,.12),transparent 68%);right:-180px;top:-220px}.thank-card{position:relative;max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:28px;padding:50px;text-align:center;box-shadow:var(--shadow-md)}.thank-check{width:65px;height:65px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;background:#e8f7f0;color:var(--green);font-size:26px}.thank-card h1{font-size:40px}.thank-card>p{font-size:13px;color:var(--muted);max-width:580px;margin:0 auto 25px}.thank-next{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:28px 0}.thank-next>div{padding:14px;border:1px solid var(--line);border-radius:12px;text-align:left}.thank-next span{font-size:8px;color:var(--red);font-weight:850}.thank-next strong{display:block;font-size:10px;color:var(--navy);margin-top:4px}.thank-card .hero__actions{justify-content:center;margin:0}

/* CTA + Footer */
.cta-band{position:relative;background:linear-gradient(130deg,#071b3c,#0b326a);color:#fff;overflow:hidden}.cta-band__glow{position:absolute;right:-160px;top:-240px;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(34,117,230,.32),transparent 68%)}.cta-band__inner{position:relative;z-index:2;min-height:270px;padding:55px 0;display:grid;grid-template-columns:1fr auto;gap:65px;align-items:center}.cta-band h2{color:#fff;font-size:34px;max-width:750px;margin-bottom:9px}.cta-band p{color:#bacadd;max-width:720px;margin:0}.cta-band__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.footer{background:#041226;color:#aebed2;position:relative;overflow:hidden}.footer__texture{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.footer__top{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 2.2fr;gap:70px;padding:68px 0 55px}.footer__brand img{width:205px;height:62px;object-fit:contain;object-position:left;background:#fff;border-radius:10px;padding:6px}.footer__brand p{font-size:10px;line-height:1.72;color:#91a4be;max-width:390px;margin:18px 0}.socials{display:flex;gap:8px}.socials a{width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#fff;font-size:11px;transition:.2s}.socials a:hover{background:#fff;color:var(--navy)}.footer__columns{display:grid;grid-template-columns:.85fr .95fr 1.2fr 1.45fr;gap:35px}.footer h3{color:#fff;font-size:11px;letter-spacing:.01em;margin-bottom:16px}.footer__columns>div>a{display:block;font-size:9.5px;color:#9eb0c7;margin:8px 0;transition:.2s}.footer__columns>div>a:hover{color:#fff;transform:translateX(2px)}.footer-contact p,.footer-contact small{font-size:9px;color:#8fa2bc;line-height:1.6}.footer-contact>a{color:#c8d5e6!important}.footer__bottom{position:relative;z-index:2;min-height:62px;border-top:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:8.5px;color:#7187a4}.footer__bottom>div{display:flex;gap:17px}.footer__bottom a:hover{color:#fff}
.floating-actions{position:fixed;right:18px;bottom:18px;z-index:900;display:grid;gap:8px}.floating-actions a{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;box-shadow:0 13px 30px rgba(7,27,60,.18);font-size:16px;color:#fff;position:relative;transition:.25s}.float-call{background:var(--royal)}.float-wa{background:#18a660}.floating-actions small{position:absolute;right:58px;background:var(--navy);color:#fff;padding:5px 8px;border-radius:7px;font-size:8px;font-weight:700;opacity:0;transform:translateX(5px);pointer-events:none;transition:.2s;white-space:nowrap}.floating-actions a:hover{transform:translateY(-3px)}.floating-actions a:hover small{opacity:1;transform:translateX(0)}

/* Reveal / motion */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--delay,0ms)}.reveal-left{transform:translateX(-22px)}.reveal-right{transform:translateX(22px)}.reveal.is-visible{opacity:1;transform:translate(0,0)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}.hero-stage__mini{animation:none!important}.learning-flow__line span{transition:none!important}.btn,.campus-premium,.program-premium{transition:none!important}}

/* Responsive */
@media(max-width:1160px){
  :root{--container:1050px}.topbar__links a:last-child{display:none}.brand img{width:180px}.site-header{height:76px}.primary-nav{gap:1px}.nav-link,.nav-drop__button{padding:0 7px;font-size:10.5px}.nav-cta{padding:0 11px}.home-hero__grid{gap:40px}.hero-stage__main{width:86%}.program-showcase{grid-template-columns:repeat(2,1fr)}.program-premium__image{height:205px}.mission-system{grid-template-columns:repeat(3,1fr)}.campus-other-grid{grid-template-columns:repeat(3,1fr)}.campus-other-card:nth-child(n+4){display:none}.footer__top{grid-template-columns:1fr}.footer__columns{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:980px){
  .section,.page-section{padding:76px 0}.container{width:min(calc(100% - 34px),900px)}.topbar{display:none}.site-header{top:0}.menu-toggle{display:block}.primary-nav{position:fixed;left:16px;right:16px;top:83px;height:calc(100dvh - 100px);background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow-lg);padding:15px;display:block;overflow-y:auto;transform:translateY(-12px) scale(.985);opacity:0;visibility:hidden;pointer-events:none;transition:.25s var(--ease)}.primary-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.nav-link,.nav-drop__button{height:48px;width:100%;padding:0 11px;justify-content:space-between;border-bottom:1px solid #edf2f7}.nav-link:after,.nav-drop__button:after{display:none}.nav-drop{height:auto}.nav-drop__menu,.nav-drop__menu--editorial,.nav-drop__menu--programs,.nav-drop__menu--campuses,.nav-drop__menu--simple,.nav-drop__menu--right{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none!important;box-shadow:none;border:0;background:var(--surface);border-radius:12px;margin:6px 0;padding:9px;pointer-events:auto}.nav-drop.open>.nav-drop__menu{display:grid}.nav-drop__menu:before{display:none}.nav-menu-intro{display:none}.nav-drop__menu--editorial{grid-template-columns:1fr}.nav-drop__menu--programs{grid-template-columns:1fr 1fr}.nav-campus-grid{grid-template-columns:repeat(2,1fr)}.nav-cta{margin:12px 0 0;height:48px;justify-content:center}.site-header.is-scrolled{height:70px}.site-header.is-scrolled+.x{display:none}
  .home-hero{padding-top:50px}.home-hero__grid{grid-template-columns:1fr}.home-hero__copy{padding-bottom:15px}.home-hero h1{max-width:750px}.hero-stage{min-height:500px}.hero-stage__main{width:78%;right:8%;height:450px}.hero-stage__mini--top{left:6%}.hero-stage__mini--bottom{right:0}.hero-stats{margin-top:25px;grid-template-columns:repeat(2,1fr)}.hero-stat:nth-child(2){border-right:0}.hero-stat:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.11)}
  .about-home{padding-top:85px}.about-home__grid,.results-home__layout,.gallery-home__grid,.faq-layout,.about-page-grid,.vision-page__grid,.mission-page__grid,.values-commitment__grid,.program-overview__grid,.program-journey__grid,.campus-story__grid,.campus-fit__grid,.campus-index-intro__grid,.result-snapshot>.container,.contact-page__grid,.contact-grid,.admission-info__grid,.privacy-layout{grid-template-columns:1fr;gap:45px}.about-collage{max-width:700px}.learning-flow{grid-template-columns:1fr 1fr 1fr}.learning-flow__line{display:none}.learning-step{padding:16px;border-top:1px solid rgba(255,255,255,.12)}.learning-step__num,.learning-step__dot{position:static}.learning-step__dot{margin:10px 0}.campus-showcase,.campus-index-grid,.result-feature-grid,.news-premium-grid,.news-page-grid,.video-grid-premium{grid-template-columns:repeat(2,1fr)}.result-students{max-width:700px}.why-bento{grid-template-columns:1fr 1fr}.why-tile--feature{grid-row:auto}.why-tile--image{grid-column:span 2}.life-strip{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 220px}.life-card--wide{grid-column:span 2;grid-row:auto}.life-card:nth-child(4),.life-card:nth-child(5){grid-column:auto}.inner-hero__grid{grid-template-columns:1fr;gap:25px;padding-top:45px}.inner-hero__content{padding-left:0}.inner-hero__visual{min-height:320px}.inner-hero__image{width:90%;height:315px}.about-page-images,.program-journey__intro,.campus-fit__copy,.contact-panel--editorial,.admission-docs,.privacy-side,.faq-intro{position:static}.principle-grid,.vision-outcomes,.program-feature-grid,.admission-step-grid{grid-template-columns:repeat(2,1fr)}.mission-system{grid-template-columns:repeat(2,1fr)}.values-grid-premium{grid-template-columns:repeat(2,1fr)}.campus-nav{grid-template-columns:repeat(3,1fr)}.campus-nav a:nth-child(3n){border-right:0}.campus-character__grid{grid-template-columns:1fr}.campus-gallery-band__grid{grid-template-columns:1.2fr .8fr}.campus-gallery-band figure:last-child{display:none}.campus-facts,.program-facts{grid-template-columns:1fr}.campus-mini-grid{grid-template-columns:repeat(2,1fr)}.results-process__flow,.campus-compare-flow{display:grid;grid-template-columns:repeat(5,1fr)}.results-process__flow>span,.campus-compare-flow>i{display:none}.gallery-grid-premium{grid-template-columns:repeat(3,1fr)}.gallery-item:nth-child(7n+2){grid-column:span 1}.gallery-toolbar,.news-page__toolbar,.contact-map__head{align-items:flex-start;flex-direction:column}.footer__columns{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  body{font-size:14px}.container{width:min(calc(100% - 24px),580px)}.section,.page-section{padding:58px 0}.site-header{height:69px}.brand img,.site-header.is-scrolled .brand img{width:165px;height:45px}.menu-toggle{width:42px;height:39px}.primary-nav{top:77px;left:10px;right:10px;height:calc(100dvh - 87px)}.nav-drop__menu--programs{grid-template-columns:1fr}.nav-campus-grid{grid-template-columns:1fr 1fr}
  h2{font-size:29px}.lead{font-size:14px}.section-head{display:block;margin-bottom:28px}.section-head>.btn,.section-head>.text-link{margin-top:15px}.home-hero{min-height:auto;padding-top:35px}.home-hero__copy{padding:0}.home-hero h1{font-size:40px}.home-hero__copy>p{font-size:14px}.hero__actions{display:grid}.hero__actions .btn{width:100%}.hero-trust{display:grid;grid-template-columns:1fr 1fr}.hero-trust>div{border-right:0;padding:8px 0;margin:0}.hero-stage{min-height:400px;margin-top:15px}.hero-stage__main{width:91%;right:0;height:355px;border-radius:24px;border-width:5px}.hero-stage__mini{display:none}.hero-stage__award{left:3px;bottom:12px}.hero-stage__ring{display:none}.hero-stats{grid-template-columns:1fr 1fr;border-radius:17px;padding:0}.hero-stat{min-height:88px;padding:17px 13px}.hero-stat strong{font-size:21px}
  .about-collage{min-height:410px}.about-collage__main{height:340px;width:88%;border-radius:20px}.about-collage__secondary{height:190px;border-width:5px}.about-collage__legacy{left:10px;bottom:4px}.about-home__grid{gap:34px}.program-showcase,.campus-showcase,.campus-index-grid,.result-feature-grid,.news-premium-grid,.news-page-grid,.video-grid-premium{grid-template-columns:1fr}.program-premium__image{height:190px}.learning-head{margin-bottom:28px}.learning-flow{grid-template-columns:1fr}.learning-step{padding:14px 0}.campus-premium__image{height:230px}.result-summary-list{grid-template-columns:1fr 1fr}.result-students{grid-template-columns:1fr}.result-student{display:grid;grid-template-columns:150px 1fr}.result-student__portrait{height:180px}.why-bento{grid-template-columns:1fr}.why-tile--image{grid-column:auto;min-height:230px}.why-tile--feature{min-height:260px}.life-strip{display:grid;grid-template-columns:1fr;grid-template-rows:none}.life-card,.life-card--wide{height:240px;grid-column:auto}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px}.gallery-mosaic__item--1{grid-row:1/3}.gallery-mosaic__item--2{grid-column:2}.gallery-mosaic__item--4{display:none}.faq-layout{gap:25px}.faq-question{font-size:12.5px}
  .inner-hero__grid{min-height:auto;padding-top:32px;padding-bottom:45px}.inner-hero h1{font-size:36px}.inner-hero__content>p{font-size:13px}.inner-hero__actions{display:grid}.inner-hero__actions .btn{width:100%}.inner-hero__visual{min-height:245px}.inner-hero__image{width:95%;height:235px;border-radius:19px;border-width:5px}.inner-hero__badge{left:0;bottom:0}.about-page-images{min-height:400px}.about-page-images__large{height:330px}.about-page-images__small{height:185px}.about-page-quote{width:185px}.principle-grid,.vision-outcomes,.values-grid-premium,.program-feature-grid,.admission-step-grid,.mission-system{grid-template-columns:1fr}.metric-band{grid-template-columns:1fr 1fr}.metric-band>div:nth-child(2){border-right:0}.metric-band>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-campus-list{grid-template-columns:1fr}.about-campus-list a{border-right:0!important;border-bottom:1px solid var(--line)!important}.about-campus-list a:last-child{border-bottom:0!important}.vision-manifesto{min-height:380px;padding:28px}.mission-visual>img{height:350px}.program-overview__visual>img{height:350px}.program-facts,.campus-facts{grid-template-columns:1fr}.campus-mini-grid{grid-template-columns:1fr}.campus-mini{grid-template-columns:105px 1fr}.campus-nav-wrap{margin-top:-16px}.campus-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.campus-nav a{min-width:145px;scroll-snap-align:start}.campus-story__visual{min-height:390px}.campus-story__main{height:350px}.campus-story__label{width:175px;bottom:20px}.campus-story__micro{display:none}.campus-character__card{grid-template-columns:38px 1fr;padding:17px}.campus-gallery-band__grid{grid-template-columns:1fr}.campus-gallery-band figure,.campus-gallery-band figure.wide{height:220px}.campus-gallery-band figure:nth-child(n+2){display:none}.campus-other-grid{grid-template-columns:1fr 1fr}.campus-other-card:nth-child(3){display:none}.campus-final-cta__inner{grid-template-columns:1fr;padding:28px}.campus-final-cta__inner>div:last-child{justify-content:flex-start;display:grid}.campus-final-cta__inner .btn{width:100%}.campus-compare-flow,.results-process__flow{grid-template-columns:1fr;border:0;gap:7px}.campus-compare-flow>div,.results-process__flow>div{border:1px solid var(--line);border-radius:12px;max-width:none}.result-feature-card__portrait{height:265px}.result-snapshot>.container{gap:28px}.result-summary-grid{grid-template-columns:1fr 1fr}.result-cta__inner{display:grid;padding:28px}.gallery-filters,.news-filter{overflow-x:auto;flex-wrap:nowrap;width:100%;padding-bottom:4px}.gallery-filter,.news-filter button{white-space:nowrap}.gallery-grid-premium{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-row:span 1}.gallery-item:nth-child(5n+1){grid-column:span 2}.lightbox{padding:18px}.contact-cards{grid-template-columns:1fr}.map-premium{height:420px}.map-premium__card{left:16px;right:16px;bottom:16px;width:auto}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.enquiry-form{padding:20px}.privacy-layout{gap:25px}.thank-card{padding:32px 20px}.thank-card h1{font-size:31px}.thank-next{grid-template-columns:1fr}.cta-band__inner{grid-template-columns:1fr;gap:25px;padding:45px 0}.cta-band h2{font-size:28px}.cta-band__actions{display:grid;justify-content:stretch}.footer__top{padding:50px 0 35px}.footer__columns{grid-template-columns:1fr 1fr;gap:28px 18px}.footer__bottom{display:block;padding:18px 0}.footer__bottom>div{margin-top:8px}.floating-actions a{width:44px;height:44px}.floating-actions small{display:none}
}

/* ============================================================
   FINAL EXPERIENCE POLISH — motion, page identity & micro-detail
   ============================================================ */
body{opacity:0;transition:opacity .34s ease}
body.site-ready{opacity:1}
body:before{content:'';position:fixed;inset:0;z-index:-5;pointer-events:none;background:radial-gradient(circle at 18% 8%,rgba(13,82,185,.035),transparent 26%),radial-gradient(circle at 86% 36%,rgba(227,30,47,.025),transparent 24%)}
.site-header,.topbar{transform:translateY(-10px);opacity:0;transition:height .3s var(--ease),box-shadow .3s var(--ease),transform .55s var(--ease),opacity .55s var(--ease)}
body.site-ready .site-header,body.site-ready .topbar{transform:none;opacity:1}
.topbar{transition-delay:.02s}.site-header{transition-delay:.07s}

.home-hero:after{content:'';position:absolute;inset:-40% -15%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.62) 48%,transparent 58%);transform:translateX(-60%) rotate(4deg);animation:heroSheen 11s ease-in-out infinite}
.hero-orb--a{animation:orbDriftA 12s ease-in-out infinite alternate}.hero-orb--b{animation:orbDriftB 14s ease-in-out infinite alternate}
.hero-stage__main{transform-origin:60% 55%;will-change:transform}.hero-stage__main img{animation:heroImageBreath 16s ease-in-out infinite alternate}
.hero-stage__ring{animation:ringFloat 8s ease-in-out infinite}.hero-stage__ring:before{animation:ringPulse 4.8s ease-in-out infinite}.hero-stage__ring:after{animation:ringPulse 4.8s 1.1s ease-in-out infinite}
.hero-kicker>span{position:relative}.hero-kicker>span:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(227,30,47,.32);animation:kickerPulse 2.4s ease-out infinite}
.home-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--red) 0%,#ef3849 38%,#a71935 62%,var(--red) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:headlineSweep 7s linear infinite}
.hero-stats{overflow:hidden}.hero-stats:before{content:'';position:absolute;inset:-50% auto -50% -20%;width:16%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);transform:skewX(-18deg);animation:statShine 8.5s ease-in-out infinite;pointer-events:none}

.inner-hero__wash{animation:innerWash 12s ease-in-out infinite alternate}.inner-hero__line{animation:ringFloat 8s ease-in-out infinite}.inner-hero__image{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.inner-hero__image img{transition:transform 1s var(--ease)}.inner-hero__visual:hover .inner-hero__image{transform:translateY(-5px);box-shadow:0 34px 85px rgba(7,27,60,.18)}.inner-hero__visual:hover .inner-hero__image img{transform:scale(1.025)}
.inner-hero__badge{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.inner-hero__visual:hover .inner-hero__badge{transform:translateY(-4px)}

/* Page-specific visual identity without breaking brand consistency */
.content-detail{--page-accent:var(--royal)}
.content-detail--about-us{--page-accent:#0d52b9}.content-detail--our-vision{--page-accent:#6546c7}.content-detail--our-mission{--page-accent:#16835d}.content-detail--our-values{--page-accent:#b78212}
.content-detail .inner-hero .eyebrow{color:var(--page-accent)}
.content-detail .inner-hero__badge{background:var(--page-accent)}
.content-detail .inner-hero__line,.content-detail .inner-hero__line:before{border-color:color-mix(in srgb,var(--page-accent) 26%,transparent)}
.content-detail .cms-content .value-list p{border-left-color:var(--page-accent)}

.program-detail{--program-accent:var(--royal)}
.program-detail.program-tone-blue{--program-accent:#0d52b9}.program-detail.program-tone-green{--program-accent:#16835d}.program-detail.program-tone-gold{--program-accent:#b78212}.program-detail.program-tone-red{--program-accent:#d91f36}
.program-detail .inner-hero .eyebrow,.program-detail .program-feature>span,.program-detail .program-stage__num{color:var(--program-accent)}
.program-detail .inner-hero__badge,.program-detail .program-overview__badge{background:var(--program-accent)}
.program-detail .inner-hero__line,.program-detail .inner-hero__line:before{border-color:color-mix(in srgb,var(--program-accent) 28%,transparent)}
.program-detail .btn--primary{background:linear-gradient(135deg,var(--program-accent),color-mix(in srgb,var(--program-accent) 82%,#fff));box-shadow:0 13px 28px color-mix(in srgb,var(--program-accent) 21%,transparent)}
.program-overview__visual{position:relative}.program-overview__visual:before{content:'';position:absolute;inset:-12px 18px 18px -12px;border-radius:30px;border:1px solid color-mix(in srgb,var(--program-accent) 22%,transparent);pointer-events:none;transform:rotate(-1.2deg);transition:.45s var(--ease)}.program-overview__visual:hover:before{transform:rotate(.6deg) translate(4px,-4px)}

.campus-detail-page .inner-hero__badge{background:var(--campus)}
.campus-detail-page .inner-hero__line,.campus-detail-page .inner-hero__line:before{border-color:color-mix(in srgb,var(--campus) 34%,transparent)}
.campus-detail-page .campus-gallery-band{background:linear-gradient(135deg,var(--navy) 0%,color-mix(in srgb,var(--campus) 34%,var(--navy)) 100%)}
.campus-detail-page .campus-final-cta__inner{background:linear-gradient(135deg,var(--navy),color-mix(in srgb,var(--campus) 34%,var(--navy)))}
.campus-gallery-band figure{position:relative}.campus-gallery-band figure:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,15,35,.22));opacity:.65;transition:.35s}.campus-gallery-band figure img{transition:transform .65s var(--ease),filter .65s var(--ease)}.campus-gallery-band figure:hover img{transform:scale(1.045);filter:saturate(1.05)}

.results-page{--page-accent:#c18a13}.news-events-page{--page-accent:#0d52b9}.photo-gallery-page{--page-accent:#9b3d72}.video-gallery-page{--page-accent:#d91f36}.contact-public-page{--page-accent:#16835d}.admission-public-page{--page-accent:#d91f36}.privacy-public-page{--page-accent:#60708a}
.results-page .inner-hero .eyebrow,.news-events-page .inner-hero .eyebrow,.photo-gallery-page .inner-hero .eyebrow,.video-gallery-page .inner-hero .eyebrow,.contact-public-page .inner-hero .eyebrow,.admission-public-page .inner-hero .eyebrow,.privacy-public-page .inner-hero .eyebrow{color:var(--page-accent)}
.results-page .inner-hero__badge,.news-events-page .inner-hero__badge,.photo-gallery-page .inner-hero__badge,.video-gallery-page .inner-hero__badge,.contact-public-page .inner-hero__badge,.admission-public-page .inner-hero__badge,.privacy-public-page .inner-hero__badge{background:var(--page-accent)}

/* Premium depth: JS activates this only on fine-pointer devices */
.js-premium-tilt{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out,box-shadow .35s var(--ease),border-color .35s var(--ease)}
.js-premium-tilt.is-tilting{box-shadow:0 24px 58px rgba(7,27,60,.14)}
.js-premium-tilt img{backface-visibility:hidden}

/* Card and control finesse */
.program-premium,.campus-premium,.campus-index-card,.result-feature-card,.news-premium,.news-page-card,.video-card-premium,.principle-card,.program-feature,.campus-character__card,.admission-step-grid article{border-color:#e1e8f1}
.program-premium:hover,.campus-premium:hover,.campus-index-card:hover,.news-premium:hover,.news-page-card:hover,.video-card-premium:hover{border-color:#cad6e5}
.btn{isolation:isolate}.btn .btn-ripple{position:absolute;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.38);transform:translate(-50%,-50%) scale(0);animation:btnRipple .55s ease-out forwards;pointer-events:none;z-index:0}
.nav-cta b,.campus-open b,.program-premium__body>a span{transition:transform .3s var(--ease),background .3s,color .3s}.nav-cta:hover b,.campus-premium:hover .campus-open b,.program-premium:hover .program-premium__body>a span{transform:translate(2px,-2px)}
.floating-actions a:after{content:'';position:absolute;inset:-5px;border-radius:19px;border:1px solid currentColor;opacity:0;animation:floatPulse 3s ease-out infinite}.floating-actions a:nth-child(2):after{animation-delay:1.2s}

/* Gallery feels more editorial and alive */
.gallery-item{isolation:isolate}.gallery-item:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid rgba(255,255,255,.32);border-radius:inherit;opacity:0;transform:scale(.97);transition:.35s var(--ease)}.gallery-item:hover:after{opacity:1;transform:scale(.985)}
.gallery-item img{transition:transform .7s var(--ease),filter .7s var(--ease)}.gallery-item:hover img{transform:scale(1.055);filter:saturate(1.05) contrast(1.02)}

/* Stronger premium page transitions */
body.site-ready .inner-hero__content{animation:pageCopyIn .7s .08s both var(--ease)}
body.site-ready .inner-hero__visual{animation:pageVisualIn .8s .12s both var(--ease)}
.thank-you-public-page .thank-check{animation:checkPop .7s .18s both var(--ease)}

@keyframes heroSheen{0%,62%,100%{transform:translateX(-72%) rotate(4deg)}77%{transform:translateX(74%) rotate(4deg)}}
@keyframes orbDriftA{to{transform:translate(-22px,28px) scale(1.05)}}
@keyframes orbDriftB{to{transform:translate(28px,-18px) scale(.96)}}
@keyframes heroImageBreath{0%{transform:scale(1.002)}100%{transform:scale(1.035)}}
@keyframes ringFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(7px) rotate(6deg)}}
@keyframes ringPulse{0%,100%{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.055)}}
@keyframes kickerPulse{0%{opacity:.8;transform:scale(.65)}80%,100%{opacity:0;transform:scale(1.65)}}
@keyframes headlineSweep{to{background-position:220% center}}
@keyframes statShine{0%,64%,100%{left:-22%}82%{left:112%}}
@keyframes innerWash{to{transform:translate(-45px,35px) scale(1.06)}}
@keyframes btnRipple{to{transform:translate(-50%,-50%) scale(18);opacity:0}}
@keyframes floatPulse{0%{opacity:.32;transform:scale(.82)}70%,100%{opacity:0;transform:scale(1.28)}}
@keyframes pageCopyIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes pageVisualIn{from{opacity:0;transform:translateX(20px) scale(.985)}to{opacity:1;transform:none}}
@keyframes checkPop{0%{opacity:0;transform:scale(.55) rotate(-14deg)}70%{transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:none}}

@media(max-width:980px){
  body{opacity:1}.site-header,.topbar{opacity:1;transform:none}.home-hero:after{display:none}.program-overview__visual:before{display:none}
}
@media(max-width:640px){
  .hero-stage__main img{animation:none}.hero-orb{animation:none}.inner-hero__wash{animation:none}.floating-actions a:after{display:none}
}
@media(prefers-reduced-motion:reduce){
  body{opacity:1!important}.site-header,.topbar{opacity:1!important;transform:none!important}.home-hero:after,.hero-orb,.hero-stage__main img,.hero-stage__ring,.hero-stage__ring:before,.hero-stage__ring:after,.hero-kicker>span:after,.home-hero h1 em,.hero-stats:before,.inner-hero__wash,.inner-hero__line,.floating-actions a:after,.thank-check{animation:none!important}.js-premium-tilt{transform:none!important}
}

/* --- Gallery uniform card fix --- */
.gallery-grid-premium{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  grid-auto-rows:auto;
}
.gallery-item,
.gallery-item:nth-child(7n+1),
.gallery-item:nth-child(7n+2),
.gallery-item:nth-child(7n+5),
.gallery-item:nth-child(5n+1){
  grid-column:span 1 !important;
  grid-row:span 1 !important;
}
.gallery-item{
  aspect-ratio:4/3;
  border-radius:18px;
  overflow:hidden;
  background:#eef3f8;
  box-shadow:0 10px 28px rgba(8,27,62,.08);
  border:1px solid rgba(13,39,80,.06);
}
.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.gallery-item figcaption{
  left:14px;
  right:14px;
  bottom:14px;
}
.gallery-item figcaption strong{
  font-size:12px;
  line-height:1.35;
}
.gallery-item figcaption span{
  font-size:8px;
}
.gallery-item figcaption button{
  width:34px;
  height:34px;
}

@media (max-width:1100px){
  .gallery-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:767px){
  .gallery-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .gallery-item{aspect-ratio:1/1;}
}
@media (max-width:520px){
  .gallery-grid-premium{grid-template-columns:1fr;}
  .gallery-item{aspect-ratio:4/3;}
}

/* --- Header dropdown chevron alignment fix --- */
.nav-drop__button > span{
  width:7px;
  height:7px;
  display:inline-block;
  flex:0 0 7px;
  margin-left:7px;
  margin-top:-4px;
  font-size:0 !important;
  line-height:0;
  color:transparent !important;
  border-right:1.7px solid #7b8aa0;
  border-bottom:1.7px solid #7b8aa0;
  transform:rotate(45deg);
  transform-origin:50% 50%;
  transition:transform .22s ease,border-color .22s ease;
}
.nav-drop__button:hover > span,
.nav-drop__button.is-active > span{
  border-color:var(--navy);
}
@media (min-width:901px){
  .nav-drop:hover > .nav-drop__button > span,
  .nav-drop:focus-within > .nav-drop__button > span{
    transform:rotate(225deg);
    margin-top:3px;
  }
}
@media (max-width:900px){
  .nav-drop__button > span{
    margin-left:auto;
    margin-right:4px;
    margin-top:-4px;
  }
  .nav-drop.open > .nav-drop__button > span{
    transform:rotate(225deg);
    margin-top:3px;
  }
}


/* =========================================================
   Cambridge Learning System - precise connected timeline fix
   ========================================================= */
@media (min-width: 901px) {
  .learning-flow {
    --learning-gap: 20px;
    gap: var(--learning-gap);
    align-items: start;
  }

  /* Old full-width line caused the first/last dots to miss the line */
  .learning-flow__line {
    display: none !important;
  }

  .learning-step {
    position: relative;
    padding-top: 64px;
    min-width: 0;
  }

  /* Each step draws its own segment exactly from its dot
     to the centre of the next dot. */
  .learning-step:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 40px;
    left: 7px;
    width: calc(100% + var(--learning-gap));
    height: 2px;
    background: rgba(255,255,255,.18);
    border-radius: 999px;
    transition: background .45s ease, box-shadow .45s ease;
  }

  .learning-flow.is-active .learning-step:nth-child(1)::after {
    background: linear-gradient(90deg,#efbd4c,#e6ad42);
  }
  .learning-flow.is-active .learning-step:nth-child(2)::after {
    background: linear-gradient(90deg,#e6ad42,#d99a3f);
  }
  .learning-flow.is-active .learning-step:nth-child(3)::after {
    background: linear-gradient(90deg,#d99a3f,#e55355);
  }
  .learning-flow.is-active .learning-step:nth-child(4)::after {
    background: linear-gradient(90deg,#e55355,#f21f3d);
  }

  .learning-step__dot {
    z-index: 2;
    top: 33px;
    left: 0;
    width: 16px;
    height: 16px;
    border: 3px solid rgba(255,255,255,.88);
    background: #d7a43b;
    box-shadow:
      0 0 0 6px rgba(255,255,255,.045),
      0 5px 16px rgba(0,0,0,.20);
  }

  .learning-flow.is-active .learning-step__dot {
    background: #efb83f;
    border-color: #fff;
  }

  .learning-step__num,
  .learning-step h3,
  .learning-step p {
    position: relative;
    z-index: 2;
  }

  .learning-step h3 {
    margin-top: 0;
    min-height: 24px;
    line-height: 1.3;
  }

  .learning-step p {
    max-width: 205px;
  }
}


/* =========================================================
   CAMBRIDGE — FINAL MOBILE EXPERIENCE
   Applies only to tablet/mobile. Desktop design is untouched.
   ========================================================= */

/* Tablet / compact desktop */
@media (max-width: 980px) {
  html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .container {
    width: min(calc(100% - 32px), 760px);
  }

  .section,
  .page-section {
    padding: 68px 0;
  }

  /* Header + mobile navigation */
  .site-header,
  .site-header.is-scrolled {
    height: 72px;
  }

  .nav-wrap {
    gap: 14px;
  }

  .brand img,
  .site-header.is-scrolled .brand img {
    width: 178px;
    height: 48px;
  }

  .menu-toggle {
    display: grid;
    align-content: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    padding: 0 11px;
    flex: 0 0 44px;
    box-shadow: 0 7px 20px rgba(7,27,60,.06);
  }

  .menu-toggle span {
    margin: 3.5px 0;
  }

  .primary-nav {
    top: 80px;
    left: 12px;
    right: 12px;
    height: calc(100dvh - 92px);
    padding: 12px;
    border-radius: 20px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .nav-link,
  .nav-drop__button {
    min-height: 50px;
    height: 50px;
    padding: 0 13px;
    font-size: 13px;
    font-weight: 750;
    border-radius: 10px;
  }

  .nav-link:hover,
  .nav-drop__button:hover {
    background: #f7f9fc;
  }

  .nav-drop__menu,
  .nav-drop__menu--editorial,
  .nav-drop__menu--programs,
  .nav-drop__menu--campuses,
  .nav-drop__menu--simple,
  .nav-drop__menu--right {
    padding: 8px;
    margin: 4px 0 8px;
    border: 1px solid #e7edf4;
  }

  .nav-menu-links a,
  .nav-drop__menu--simple a,
  .nav-drop__menu--programs a,
  .nav-campus-grid a {
    min-height: 54px;
    padding: 11px 12px;
  }

  .nav-menu-links strong,
  .nav-drop__menu--simple strong,
  .nav-drop__menu--programs strong,
  .nav-campus-grid strong {
    font-size: 12px;
  }

  .nav-menu-links small,
  .nav-drop__menu--simple small,
  .nav-drop__menu--programs small,
  .nav-campus-grid small {
    font-size: 10px;
  }

  .nav-cta {
    min-height: 50px;
    border-radius: 12px;
    font-size: 12px;
  }

  /* Home hero */
  .home-hero {
    min-height: auto;
    padding-top: 44px;
  }

  .home-hero__grid {
    gap: 32px;
  }

  .home-hero__copy {
    max-width: 720px;
  }

  .home-hero h1 {
    font-size: clamp(38px, 7vw, 54px);
    line-height: 1.06;
  }

  .home-hero__copy > p {
    max-width: 680px;
  }

  .hero-stage {
    min-height: 440px;
    margin-top: 0;
  }

  .hero-stage__main {
    width: 84%;
    height: 405px;
    right: 5%;
  }

  .hero-stage__mini--top {
    left: 2%;
  }

  .hero-stage__mini--bottom {
    right: 1%;
  }

  /* Works with either 4 or 5 credibility metrics */
  .hero-stats {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .hero-stat {
    min-width: 0;
  }

  .hero-stat:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.11);
  }

  .hero-stat:nth-child(even) {
    border-right: 0;
  }

  .hero-stat:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    border-right: 0;
    border-top: 1px solid rgba(255,255,255,.11);
  }

  /* Common grid safety across every public page */
  .about-home__grid,
  .results-home__layout,
  .gallery-home__grid,
  .faq-layout,
  .about-page-grid,
  .vision-page__grid,
  .mission-page__grid,
  .values-commitment__grid,
  .program-overview__grid,
  .program-journey__grid,
  .campus-story__grid,
  .campus-fit__grid,
  .campus-index-intro__grid,
  .result-snapshot > .container,
  .contact-page__grid,
  .contact-grid,
  .admission-info__grid,
  .privacy-layout {
    gap: 38px;
  }

  .section-head {
    gap: 24px;
  }

  .program-showcase,
  .campus-showcase,
  .campus-index-grid,
  .result-feature-grid,
  .news-premium-grid,
  .news-page-grid,
  .video-grid-premium {
    gap: 18px;
  }

  /* Inner page hero */
  .inner-hero__grid {
    gap: 22px;
    padding-top: 38px;
    padding-bottom: 48px;
  }

  .inner-hero__visual {
    min-height: 310px;
  }

  .inner-hero__image {
    width: 94%;
    height: 300px;
  }

  /* Contact/forms */
  .contact-cards {
    gap: 12px;
  }

  .map-embed iframe {
    min-height: 390px;
    height: 390px !important;
  }

  .enquiry-form {
    width: 100%;
  }

  /* Prevent wide content from breaking mobile layout */
  .table-wrap,
  .cms-content table,
  .article-content table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .cms-content img,
  .article-content img,
  iframe,
  video {
    max-width: 100%;
  }

  /* Floating buttons stay clear of content */
  .floating-actions {
    right: 14px;
    bottom: calc(14px + env(safe-area-inset-bottom));
  }
}


/* Phone portrait */
@media (max-width: 640px) {
  :root {
    --radius: 15px;
    --radius-lg: 21px;
    --radius-xl: 26px;
  }

  body {
    font-size: 14px;
    line-height: 1.66;
  }

  .container {
    width: calc(100% - 28px);
  }

  .section,
  .page-section {
    padding: 54px 0;
  }

  h1 {
    font-size: 35px;
  }

  h2 {
    font-size: 27px;
    line-height: 1.16;
  }

  h3 {
    font-size: 18px;
  }

  .lead {
    font-size: 14px;
    line-height: 1.72;
  }

  .eyebrow {
    font-size: 9.5px;
    letter-spacing: .11em;
    margin-bottom: 12px;
  }

  .eyebrow:before {
    width: 18px;
  }

  .section-head,
  .section-head--center {
    display: block;
    text-align: left;
    margin-bottom: 27px;
  }

  .section-head--center .lead {
    margin-inline: 0;
  }

  .section-head > .btn,
  .section-head > .text-link {
    margin-top: 14px;
  }

  /* Touch targets */
  .btn {
    min-height: 48px;
    padding-inline: 17px;
    border-radius: 12px;
    font-size: 11.5px;
  }

  /* Header */
  .site-header,
  .site-header.is-scrolled {
    height: 66px;
  }

  .brand img,
  .site-header.is-scrolled .brand img {
    width: 154px;
    height: 43px;
  }

  .menu-toggle {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }

  .primary-nav {
    top: 73px;
    left: 8px;
    right: 8px;
    height: calc(100dvh - 81px);
    padding: 9px;
    border-radius: 18px;
  }

  .nav-link,
  .nav-drop__button {
    min-height: 48px;
    height: 48px;
    font-size: 13px;
  }

  .nav-drop__button > span {
    margin-left: auto !important;
    margin-right: 3px !important;
  }

  .nav-drop__menu--programs {
    grid-template-columns: 1fr;
  }

  .nav-campus-grid {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
  }

  .nav-campus-all {
    padding: 13px;
  }

  /* Home hero */
  .home-hero {
    padding-top: 30px;
  }

  .home-hero h1 {
    font-size: clamp(34px, 10.2vw, 42px);
    line-height: 1.04;
    letter-spacing: -.045em;
    margin-bottom: 17px;
  }

  .home-hero__copy > p {
    font-size: 13.5px;
    line-height: 1.72;
  }

  .hero__actions,
  .inner-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hero__actions .btn,
  .inner-hero__actions .btn {
    width: 100%;
  }

  .hero-trust {
    grid-template-columns: 1fr 1fr;
    gap: 2px 13px;
  }

  .hero-stage {
    min-height: 326px;
    margin-top: 5px;
  }

  .hero-stage__main {
    width: 96%;
    right: -2%;
    height: 306px;
    border-radius: 22px;
    border-width: 5px;
  }

  .hero-stage__main img {
    object-position: center;
  }

  .hero-stage__mini,
  .hero-stage__ring {
    display: none !important;
  }

  .hero-stage__award {
    left: 3px;
    bottom: 10px;
    transform: scale(.9);
    transform-origin: left bottom;
  }

  .hero-stats {
    margin-top: 18px;
    grid-template-columns: repeat(2,minmax(0,1fr));
    border-radius: 17px;
  }

  .hero-stat {
    min-height: 84px;
    padding: 14px 10px;
  }

  .hero-stat strong {
    font-size: 21px;
  }

  .hero-stat span {
    font-size: 8.5px;
  }

  /* About */
  .about-home {
    padding-top: 58px;
  }

  .about-home__grid {
    gap: 29px;
  }

  .about-collage {
    min-height: 330px;
  }

  .about-collage__main {
    width: 91%;
    height: 292px;
    border-radius: 19px;
  }

  .about-collage__secondary {
    width: 46%;
    height: 145px;
    border-width: 4px;
  }

  .about-collage__legacy {
    left: 5px;
    bottom: 1px;
  }

  .about-pillars {
    gap: 8px;
  }

  /* Programs */
  .program-showcase,
  .campus-showcase,
  .campus-index-grid,
  .result-feature-grid,
  .news-premium-grid,
  .news-page-grid,
  .video-grid-premium {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .program-premium,
  .campus-premium,
  .campus-index-card,
  .result-feature-card,
  .news-premium,
  .news-page-card,
  .video-card-premium {
    border-radius: 17px;
  }

  .program-premium__image {
    height: 184px;
  }

  .campus-premium__image {
    height: 210px;
  }

  /* Learning System: premium vertical timeline on mobile */
  .learning-section {
    overflow: hidden;
  }

  .learning-head {
    margin-bottom: 24px;
  }

  .learning-head h2 br {
    display: none;
  }

  .learning-flow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    position: relative;
    padding-left: 13px;
  }

  .learning-flow:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 23px;
    bottom: 24px;
    width: 2px;
    background: linear-gradient(180deg,#efbd4c 0%,#df9e42 45%,#f21f3d 100%);
    opacity: .9;
  }

  .learning-flow__line {
    display: none !important;
  }

  .learning-step {
    display: grid;
    grid-template-columns: 30px 1fr;
    column-gap: 13px;
    border: 0 !important;
    padding: 0 0 24px 0;
    position: relative;
  }

  .learning-step:last-child {
    padding-bottom: 0;
  }

  .learning-step__num {
    grid-column: 2;
    position: static !important;
    margin: 0 0 3px;
    font-size: 9px;
  }

  .learning-step__dot {
    grid-column: 1;
    grid-row: 1 / 4;
    position: relative !important;
    width: 15px;
    height: 15px;
    margin: 4px 0 0 !important;
    justify-self: center;
    z-index: 2;
    border: 3px solid #fff;
    background: #efb83f;
    box-shadow: 0 0 0 5px rgba(255,255,255,.06);
  }

  .learning-step h3,
  .learning-step p {
    grid-column: 2;
    margin-left: 0;
  }

  .learning-step h3 {
    font-size: 17px;
    margin-bottom: 5px;
  }

  .learning-step p {
    max-width: none;
    margin: 0;
    font-size: 12.5px;
  }

  /* Results */
  .result-summary-list,
  .result-summary-grid {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }

  .result-students {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .result-student {
    grid-template-columns: 105px 1fr;
    gap: 14px;
    align-items: center;
  }

  .result-student__portrait {
    height: 132px;
  }

  .result-feature-card__portrait {
    height: 245px;
  }

  /* Why / facilities / gallery preview */
  .why-bento {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .why-tile--image {
    grid-column: auto;
  }

  .why-tile,
  .why-tile--feature {
    min-height: 0;
  }

  .life-strip {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 12px;
  }

  .life-card,
  .life-card--wide {
    grid-column: auto !important;
    height: 215px;
  }

  .gallery-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 155px 155px;
    gap: 8px;
  }

  .gallery-mosaic__item--4 {
    display: none;
  }

  /* Inner-page hero */
  .inner-hero__grid {
    padding-top: 27px;
    padding-bottom: 39px;
    gap: 20px;
  }

  .breadcrumbs {
    margin-bottom: 16px;
    font-size: 8.5px;
    flex-wrap: wrap;
  }

  .inner-hero h1 {
    font-size: clamp(31px, 9vw, 38px);
    line-height: 1.08;
  }

  .inner-hero__content > p {
    font-size: 13.5px;
    line-height: 1.72;
  }

  .inner-hero__visual {
    min-height: 232px;
  }

  .inner-hero__image {
    width: 96%;
    height: 225px;
    border-radius: 18px;
    border-width: 5px;
  }

  .inner-hero__badge {
    left: 0;
    bottom: -2px;
    min-width: 135px;
    padding: 10px 12px;
  }

  .inner-hero__badge strong {
    font-size: 19px;
  }

  .inner-hero__line {
    display: none;
  }

  /* About / vision / mission / values pages */
  .about-page-images {
    min-height: 335px;
  }

  .about-page-images__large {
    height: 285px;
  }

  .about-page-images__small {
    height: 145px;
  }

  .about-page-quote {
    width: 165px;
    padding: 15px;
  }

  .principle-grid,
  .vision-outcomes,
  .values-grid-premium,
  .program-feature-grid,
  .admission-step-grid,
  .mission-system {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .vision-manifesto {
    min-height: 330px;
    padding: 23px;
  }

  .mission-visual > img,
  .program-overview__visual > img {
    height: 290px;
    border-radius: 18px;
  }

  .metric-band {
    grid-template-columns: 1fr 1fr;
  }

  /* Program pages */
  .program-overview__grid,
  .program-journey__grid,
  .program-network__head {
    gap: 28px;
  }

  .program-feature {
    padding: 18px;
  }

  .program-stage-list {
    gap: 10px;
  }

  .program-stage {
    padding: 17px;
  }

  .campus-mini-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .campus-mini {
    grid-template-columns: 92px 1fr;
  }

  /* Campus pages */
  .campus-nav-wrap {
    margin-top: -12px;
  }

  .campus-nav {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 2px 8px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .campus-nav::-webkit-scrollbar {
    display: none;
  }

  .campus-nav a {
    min-width: 142px;
    border: 1px solid var(--line) !important;
    border-radius: 12px;
    scroll-snap-align: start;
  }

  .campus-story__visual {
    min-height: 320px;
  }

  .campus-story__main {
    height: 292px;
  }

  .campus-story__label {
    width: 162px;
    bottom: 12px;
  }

  .campus-story__micro {
    display: none;
  }

  .campus-character__card {
    grid-template-columns: 34px 1fr;
    padding: 16px;
  }

  .campus-gallery-band__grid {
    grid-template-columns: 1fr;
  }

  .campus-gallery-band figure,
  .campus-gallery-band figure.wide {
    height: 205px;
  }

  .campus-gallery-band figure:nth-child(n+2) {
    display: none;
  }

  .campus-other-grid {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }

  .campus-final-cta__inner {
    grid-template-columns: 1fr;
    padding: 24px 20px;
    gap: 18px;
  }

  .campus-final-cta__inner > div:last-child {
    display: grid;
    gap: 9px;
    justify-content: stretch;
  }

  .campus-final-cta__inner .btn {
    width: 100%;
  }

  .campus-compare-flow,
  .results-process__flow {
    grid-template-columns: 1fr;
    gap: 8px;
    border: 0;
  }

  .campus-compare-flow > div,
  .results-process__flow > div {
    border: 1px solid var(--line);
    border-radius: 12px;
    max-width: none;
  }

  /* Gallery page: equal cards, correct fit */
  .gallery-toolbar,
  .news-page__toolbar,
  .contact-map__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .gallery-toolbar h2,
  .contact-map__head h2 {
    font-size: 27px;
  }

  .gallery-filters,
  .news-filter {
    display: flex;
    width: calc(100vw - 28px);
    max-width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    gap: 7px;
    padding: 2px 1px 7px;
    scrollbar-width: none;
  }

  .gallery-filters::-webkit-scrollbar,
  .news-filter::-webkit-scrollbar {
    display: none;
  }

  .gallery-filter,
  .news-filter button {
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: 36px;
    padding: 0 12px;
  }

  .gallery-grid-premium {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows: auto !important;
    gap: 10px;
  }

  .gallery-item,
  .gallery-item:nth-child(n) {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
    aspect-ratio: 1 / 1;
    border-radius: 14px;
  }

  .gallery-item figcaption {
    left: 10px;
    right: 10px;
    bottom: 10px;
  }

  .gallery-item figcaption strong {
    font-size: 10px;
  }

  .gallery-item figcaption span {
    font-size: 7px;
  }

  .gallery-item figcaption button {
    width: 29px;
    height: 29px;
  }

  .lightbox {
    padding: 14px;
  }

  .lightbox > button {
    top: 12px;
    right: 12px;
  }

  .lightbox__stage,
  .lightbox img {
    max-width: 94vw;
    max-height: 78vh;
  }

  /* News / video */
  .news-page-card__image,
  .news-premium__image,
  .video-card-premium__thumb {
    min-height: 190px;
  }

  /* Contact */
  .contact-page__grid {
    gap: 30px;
  }

  .contact-cards {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .contact-cards > * {
    padding: 17px;
  }

  .enquiry-form {
    padding: 18px;
    border-radius: 17px;
  }

  .enquiry-form h2 {
    font-size: 23px;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 11px;
  }

  .span-2 {
    grid-column: auto;
  }

  /* 16px stops iOS Safari from auto-zooming form controls */
  .form-grid input,
  .form-grid select,
  .form-grid textarea {
    font-size: 16px;
  }

  .form-grid input,
  .form-grid select {
    height: 48px;
  }

  .map-embed {
    border-radius: 18px;
    overflow: hidden;
  }

  .map-embed iframe {
    height: 330px !important;
    min-height: 330px;
    border-radius: 18px;
  }

  /* Admissions / privacy / thank-you */
  .admission-info__grid,
  .privacy-layout {
    gap: 24px;
  }

  .admission-docs,
  .privacy-side {
    position: static;
  }

  .thank-card {
    padding: 29px 18px;
    border-radius: 20px;
  }

  .thank-card h1 {
    font-size: 29px;
  }

  .thank-next {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .cta-band__inner {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 42px 0;
  }

  .cta-band h2 {
    font-size: 27px;
  }

  .cta-band__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    justify-content: stretch;
  }

  .cta-band__actions .btn {
    width: 100%;
  }

  .footer__top {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 44px 0 30px;
  }

  .footer__brand img {
    width: 178px;
    height: 55px;
  }

  .footer__brand p {
    font-size: 10.5px;
  }

  .footer__columns {
    grid-template-columns: 1fr 1fr;
    gap: 27px 18px;
  }

  .footer h3 {
    font-size: 11px;
  }

  .footer__columns > div > a {
    font-size: 10px;
    margin: 9px 0;
  }

  .footer__bottom {
    display: block;
    padding: 17px 0 calc(17px + env(safe-area-inset-bottom));
    line-height: 1.7;
  }

  .footer__bottom > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 8px;
  }

  .floating-actions {
    right: 11px;
    bottom: calc(11px + env(safe-area-inset-bottom));
    gap: 7px;
  }

  .floating-actions a {
    width: 46px;
    height: 46px;
    border-radius: 14px;
  }

  .floating-actions small {
    display: none;
  }
}

/* =========================================================
   2026-08-15 PROFESSIONAL COPY ALIGNMENT
   Short marketing copy stays naturally spaced. Justification is
   reserved for wide, long-form reading areas where it looks clean.
   ========================================================= */
main p,
main li,
.nav-menu-intro p,
.footer p,
.footer li {
  max-width: 100%;
  text-align: left;
  text-align-last: auto;
  text-justify: auto;
  word-spacing: normal;
  letter-spacing: normal;
  hyphens: none;
  overflow-wrap: break-word;
}

/* Justified editorial copy: enough line length to avoid large gaps. */
.cms-content p,
.cms-content li,
.content-prose p,
.content-prose li,
.privacy-content p,
.privacy-content li {
  text-align: justify;
  text-align-last: left;
  text-justify: inter-word;
  word-spacing: normal;
  letter-spacing: normal;
  hyphens: auto;
}

/* Purposefully centred presentation areas. */
.section-head--center p,
.section-head--center li,
.campus-locator__heading p,
.empty-media p,
.thank-card > p {
  text-align: center;
  text-align-last: auto;
  margin-inline: auto;
}

/* Headings, controls and short interface text never stretch. */
main h1,
main h2,
main h3,
.eyebrow,
.btn,
.text-link,
.nav-link,
.nav-drop__button,
.form-note,
.contact-row,
.location-chip {
  text-align: left;
  text-align-last: auto;
  word-spacing: normal;
}

.section-head--center h1,
.section-head--center h2,
.section-head--center h3,
.campus-locator__heading h2,
.empty-media h2,
.thank-card h1 {
  text-align: center;
}

@media (max-width: 640px) {
  /* Narrow screens use natural alignment to prevent stretched words. */
  .cms-content p,
  .cms-content li,
  .content-prose p,
  .content-prose li,
  .privacy-content p,
  .privacy-content li {
    text-align: left;
    text-align-last: auto;
    text-justify: auto;
    hyphens: none;
  }

  .section-head--center h1,
  .section-head--center h2,
  .section-head--center h3,
  .section-head--center p,
  .campus-locator__heading h2,
  .campus-locator__heading p {
    text-align: left;
    text-align-last: auto;
  }
}


/* Small phones */
@media (max-width: 420px) {
  .container {
    width: calc(100% - 22px);
  }

  .home-hero h1 {
    font-size: 33px;
  }

  .brand img,
  .site-header.is-scrolled .brand img {
    width: 144px;
  }

  .nav-campus-grid {
    grid-template-columns: 1fr;
  }

  .hero-stage {
    min-height: 300px;
  }

  .hero-stage__main {
    height: 282px;
  }

  .hero-trust {
    grid-template-columns: 1fr 1fr;
  }

  .hero-stat {
    padding-inline: 8px;
  }

  .result-summary-list,
  .result-summary-grid {
    grid-template-columns: 1fr 1fr;
  }

  .result-student {
    grid-template-columns: 92px 1fr;
    gap: 11px;
  }

  .result-student__portrait {
    height: 116px;
  }

  .gallery-grid-premium {
    gap: 8px;
  }

  .gallery-item {
    border-radius: 12px;
  }

  .gallery-item figcaption strong {
    font-size: 9px;
  }

  .campus-other-grid {
    grid-template-columns: 1fr;
  }

  .footer__columns {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}


/* =========================================================
   FINAL HOME STATS FIX — 5 ITEMS IN ONE DESKTOP ROW
   ========================================================= */
@media (min-width: 981px) {
  .hero-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    padding: 0 !important;
  }

  .hero-stat {
    min-width: 0;
    min-height: 112px;
    padding: 22px 17px !important;
    border-right: 1px solid rgba(255,255,255,.11) !important;
  }

  .hero-stat:last-child {
    border-right: 0 !important;
  }

  .hero-stat strong {
    font-size: clamp(23px, 1.8vw, 29px);
    white-space: nowrap;
  }

  .hero-stat small {
    font-size: 9px;
    line-height: 1.35;
  }
}


/* =========================================================
   FOOTER — SUBTLE PREMIUM ANIMATION
   ========================================================= */
.footer__columns > div,
.footer__brand {
  will-change: transform, opacity;
}

.footer__columns h3 {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}

.footer__columns h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f2bd48, #f22746);
  transition: width .55s var(--ease) .18s;
}

.footer__columns .reveal.is-visible h3::after {
  width: 30px;
}

.footer__columns > div > a {
  position: relative;
  width: fit-content;
  max-width: 100%;
  padding-right: 16px;
  transition:
    color .25s ease,
    transform .25s ease,
    padding-left .25s ease;
}

.footer__columns > div > a::after {
  content: "→";
  position: absolute;
  right: 0;
  top: 50%;
  color: #f2bd48;
  opacity: 0;
  transform: translate(-6px,-50%);
  transition:
    opacity .25s ease,
    transform .25s ease;
}

.footer__columns > div > a:hover {
  color: #fff;
  transform: translateX(4px);
  padding-left: 3px;
}

.footer__columns > div > a:hover::after {
  opacity: 1;
  transform: translate(0,-50%);
}

.footer-link-group {
  position: relative;
}

.footer-link-group::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 0;
  width: 1px;
  height: 0;
  background: linear-gradient(180deg, rgba(242,189,72,.72), rgba(242,39,70,0));
  transition: height .65s var(--ease) .22s;
}

.footer-link-group.reveal.is-visible::before {
  height: 100%;
}

.footer__brand .socials a {
  transition:
    transform .25s ease,
    background .25s ease,
    color .25s ease,
    border-color .25s ease;
}

.footer__brand .socials a:hover {
  transform: translateY(-3px) scale(1.04);
  border-color: rgba(255,255,255,.42);
}

/* Keep the effect elegant on touch devices */
@media (max-width: 640px) {
  .footer-link-group::before {
    display: none;
  }

  .footer__columns h3::after {
    height: 1.5px;
  }

  .footer__columns > div > a::after {
    display: none;
  }

  .footer__columns > div > a:hover {
    transform: none;
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer__columns h3::after,
  .footer-link-group::before,
  .footer__columns > div > a,
  .footer__columns > div > a::after,
  .footer__brand .socials a {
    transition: none !important;
  }
}


/* =========================================================
   FOOTER CLEAN ANIMATION ONLY
   Removes decorative lines/arrows; keeps subtle reveal motion.
   ========================================================= */
.footer-link-group::before,
.footer__columns h3::after,
.footer__columns > div > a::after {
  display: none !important;
  content: none !important;
}

.footer__columns h3 {
  padding-bottom: 0 !important;
}

.footer__columns > div > a {
  padding-right: 0 !important;
  transition: color .25s ease, transform .25s ease !important;
}

.footer__columns > div > a:hover {
  color: #fff !important;
  transform: translateX(3px) !important;
  padding-left: 0 !important;
}

/* Clean staggered entry — no extra graphics */
.footer__brand.reveal,
.footer__columns .reveal {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .55s ease var(--delay, 0ms),
    transform .55s ease var(--delay, 0ms);
}

.footer__brand.reveal.is-visible,
.footer__columns .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 640px) {
  .footer__columns > div > a:hover {
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer__brand.reveal,
  .footer__columns .reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   CONTACT PAGE — CENTRAL OFFICE + 6 CAMPUS LOCATOR
   ========================================================= */
.location-section__head,
.campus-locator__heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:36px;
  margin-bottom:30px;
}

.location-section__head > div,
.campus-locator__heading {
  max-width:720px;
}

.location-section__head h2,
.campus-locator__heading h2 {
  margin:0 0 10px;
  font-size:clamp(30px,3.1vw,46px);
  letter-spacing:-.045em;
}

.location-section__head p,
.campus-locator__heading p {
  margin:0;
  max-width:650px;
  color:var(--muted);
}

.location-panel,
.campus-locator__panel {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);
  gap:0;
  min-height:500px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(8,27,62,.08);
}

.location-panel__map,
.campus-locator__map-wrap {
  position:relative;
  min-height:500px;
  background:#eaf0f6;
  overflow:hidden;
}

.location-panel__map iframe,
.campus-locator__map-wrap iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

.location-panel__info,
.campus-locator__info {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
  padding:42px;
  background:
    radial-gradient(circle at 100% 0,rgba(19,86,214,.06),transparent 34%),
    #fff;
}

.location-chip {
  display:inline-flex;
  width:fit-content;
  align-items:center;
  min-height:29px;
  padding:6px 11px;
  border-radius:999px;
  background:#eef4ff;
  color:#1356d6;
  font-size:9px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.location-panel__info h3,
.campus-locator__info h3 {
  margin:0;
  color:var(--navy);
  font-size:26px;
  line-height:1.18;
  letter-spacing:-.035em;
}

.campus-locator__info h3 small {
  display:block;
  margin-top:6px;
  color:#1356d6;
  font-size:13px;
  font-weight:800;
  letter-spacing:0;
}

.location-detail {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:13px;
  align-items:start;
}

.location-detail__icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#f0f5ff;
  color:#1356d6;
}

.location-detail__icon svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.location-detail small {
  display:block;
  margin-bottom:4px;
  color:#7c8aa0;
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.location-detail p {
  margin:0;
  color:#263951;
  font-size:12px;
  line-height:1.65;
}

.location-panel__actions,
.campus-locator__actions {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:3px;
}

.campus-locator-section {
  position:relative;
  overflow:hidden;
}

.campus-locator-section::before {
  content:"";
  position:absolute;
  width:540px;
  height:540px;
  right:-260px;
  top:20px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(19,86,214,.075),transparent 68%);
  pointer-events:none;
}

.campus-locator__heading {
  display:block;
  text-align:center;
  margin-inline:auto;
}

.campus-locator__heading p {
  margin-inline:auto;
}

.campus-locator__tabs {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:9px;
  margin-bottom:14px;
}

.campus-locator__tab {
  display:grid;
  grid-template-columns:36px 1fr;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:74px;
  padding:12px;
  border:1px solid #dfe7f1;
  border-radius:15px;
  background:#fff;
  color:#122647;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(8,27,62,.035);
  transition:
    transform .25s ease,
    border-color .25s ease,
    background .25s ease,
    color .25s ease,
    box-shadow .25s ease;
}

.campus-locator__tab:hover {
  transform:translateY(-2px);
  border-color:#b7c9e6;
  box-shadow:0 12px 28px rgba(8,27,62,.07);
}

.campus-locator__tab.is-active {
  border-color:#1459db;
  background:linear-gradient(135deg,#0f4ec8,#1767ef);
  color:#fff;
  box-shadow:0 14px 32px rgba(20,89,219,.24);
}

.campus-locator__tab-icon {
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:#edf4ff;
  color:#155ad7;
}

.campus-locator__tab.is-active .campus-locator__tab-icon {
  background:rgba(255,255,255,.14);
  color:#fff;
}

.campus-locator__tab-icon svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.campus-locator__tab strong,
.campus-locator__tab small {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}

.campus-locator__tab strong {
  color:inherit;
  font-size:11px;
  line-height:1.2;
  white-space:nowrap;
}

.campus-locator__tab small {
  margin-top:4px;
  color:#74849a;
  font-size:8.5px;
  font-weight:750;
  line-height:1.25;
  white-space:nowrap;
}

.campus-locator__tab.is-active small {
  color:rgba(255,255,255,.8);
}

.campus-locator__explore {
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  color:#1356d6;
  font-size:10px;
  font-weight:850;
  transition:gap .2s ease;
}

.campus-locator__explore:hover {
  gap:12px;
}

.campus-locator__map-loading {
  position:absolute;
  z-index:3;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(234,240,246,.72);
  opacity:0;
  visibility:hidden;
  transition:.2s ease;
  pointer-events:none;
}

.campus-locator__map-loading.is-visible {
  opacity:1;
  visibility:visible;
}

.campus-locator__map-loading span {
  width:34px;
  height:34px;
  border:3px solid rgba(19,86,214,.18);
  border-top-color:#1356d6;
  border-radius:50%;
  animation:campusMapSpin .7s linear infinite;
}

@keyframes campusMapSpin {
  to { transform:rotate(360deg); }
}

.contact-visit-cta {
  padding-top:0;
}

.contact-visit-cta__inner {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:28px;
  padding:32px 36px;
  border:1px solid #cfe0f6;
  border-radius:22px;
  background:
    linear-gradient(120deg,rgba(229,240,255,.95),rgba(248,251,255,.96));
}

.contact-visit-cta__inner h2 {
  margin:0 0 8px;
  font-size:27px;
}

.contact-visit-cta__inner p {
  margin:0;
  color:var(--muted);
  max-width:660px;
}

/* Tablet */
@media (max-width:1100px) {
  .campus-locator__tabs {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .location-panel,
  .campus-locator__panel {
    grid-template-columns:1.15fr .85fr;
  }

  .location-panel__info,
  .campus-locator__info {
    padding:32px;
  }
}

/* Mobile */
@media (max-width:767px) {
  .location-section__head {
    display:block;
  }

  .location-section__head .btn {
    margin-top:17px;
    width:100%;
  }

  .campus-locator__heading {
    text-align:left;
  }

  .campus-locator__heading p {
    margin-inline:0;
  }

  .location-panel,
  .campus-locator__panel {
    grid-template-columns:1fr;
    min-height:0;
    border-radius:18px;
  }

  .location-panel__map,
  .campus-locator__map-wrap {
    min-height:330px;
  }

  .location-panel__info,
  .campus-locator__info {
    padding:24px 20px;
    gap:17px;
  }

  .location-panel__info h3,
  .campus-locator__info h3 {
    font-size:23px;
  }

  .campus-locator__tabs {
    display:flex;
    grid-template-columns:none;
    gap:8px;
    width:calc(100vw - 28px);
    max-width:100%;
    overflow-x:auto;
    padding:2px 2px 10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .campus-locator__tabs::-webkit-scrollbar {
    display:none;
  }

  .campus-locator__tab {
    flex:0 0 165px;
    min-height:68px;
    scroll-snap-align:start;
  }

  .location-panel__actions,
  .campus-locator__actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .location-panel__actions .btn,
  .campus-locator__actions .btn {
    width:100%;
  }

  .contact-visit-cta__inner {
    grid-template-columns:1fr;
    padding:25px 20px;
  }

  .contact-visit-cta__inner .btn {
    width:100%;
  }
}

/* Small phones */
@media (max-width:420px) {
  .location-panel__map,
  .campus-locator__map-wrap {
    min-height:300px;
  }

  .campus-locator__tab {
    flex-basis:153px;
  }

  .location-detail {
    grid-template-columns:34px 1fr;
    gap:10px;
  }

  .location-detail__icon {
    width:34px;
    height:34px;
  }
}

/* =========================================================
   FINAL PRODUCTION COMPONENTS — CMS + TESTIMONIALS + INFRA
   ========================================================= */
.hero-kicker b{font:inherit;color:inherit}.home-hero__copy,.hero-stage__main img{transition:opacity .28s ease,transform .28s ease}.home-hero.is-changing .home-hero__copy{opacity:.72;transform:translateY(3px)}.home-hero.is-changing .hero-stage__main img{opacity:.78;transform:scale(1.01)}
.hero-slider-dots{display:flex;gap:8px;margin-top:18px}.hero-slider-dots button{width:28px;height:5px;border:0;border-radius:999px;background:#c8d4e5;padding:0;transition:.25s}.hero-slider-dots button.is-active{width:48px;background:linear-gradient(90deg,var(--royal),var(--red))}

.testimonials-home{background:linear-gradient(180deg,#fff,#f7f9fc)}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.testimonial-card{position:relative;display:flex;flex-direction:column;min-height:285px;padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(7,27,60,.06)}.testimonial-card__quote{font:700 58px/1 var(--display);color:#dce6f6;height:42px}.testimonial-card>p{font-size:14px;line-height:1.8;color:#42536a;flex:1}.testimonial-card__person{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #edf1f6}.testimonial-card__person img,.testimonial-card__person>span{width:48px;height:48px;border-radius:50%;object-fit:cover}.testimonial-card__person>span{display:grid;place-items:center;background:#eaf1ff;color:var(--royal);font-weight:900}.testimonial-card__person strong,.testimonial-card__person small{display:block}.testimonial-card__person strong{font-size:12px}.testimonial-card__person small{margin-top:3px;font-size:9px;color:var(--muted)}

.content-prose{max-width:920px}.content-prose .content-section{padding:0;margin:0 0 28px}.content-prose h2{font-size:30px;margin:0 0 13px}.content-prose h3{font-size:20px;margin:26px 0 10px}.content-prose p,.content-prose li{color:#55657b;line-height:1.8}.content-prose ul{padding-left:20px}.cms-extra-content{padding-top:42px;padding-bottom:42px}.campus-cms-content{padding-top:30px;padding-bottom:55px}

.infrastructure-intro__grid{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}.infrastructure-note{justify-self:end;display:flex;align-items:center;gap:17px;max-width:330px;padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 18px 50px rgba(7,27,60,.07)}.infrastructure-note strong{font:700 48px/1 var(--display);color:var(--royal)}.infrastructure-note span{font-size:12px;line-height:1.6;color:var(--muted)}.infrastructure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.infrastructure-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 16px 44px rgba(7,27,60,.055);transition:.3s}.infrastructure-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(7,27,60,.1)}.infrastructure-card__image{height:220px;overflow:hidden}.infrastructure-card__image img{width:100%;height:100%;object-fit:cover;transition:.55s}.infrastructure-card:hover img{transform:scale(1.04)}.infrastructure-card__body{padding:22px}.infrastructure-card__body>span{font-size:9px;font-weight:900;color:var(--royal)}.infrastructure-card__body h3{font-size:19px;margin:7px 0 9px}.infrastructure-card__body p{font-size:11px;line-height:1.75;color:var(--muted);margin:0}.infrastructure-cta{padding-top:30px}

.campus-location__panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.65fr);overflow:hidden;min-height:430px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 20px 58px rgba(7,27,60,.07)}.campus-location__map{position:relative;min-height:430px;background:#eaf0f6}.campus-location__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.campus-location__info{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:36px}.campus-location__info h3{font-size:26px;margin:0}.campus-location__info p{font-size:12px;line-height:1.7;color:var(--muted)}.campus-location__actions{display:flex;flex-wrap:wrap;gap:9px}

.result-batch{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:#f2f6fb;color:#6b7890;font-size:8px;font-weight:800}

/* Better five-metric consistency everywhere */
.metric-band--dark{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-band--dark>div:last-child{border-right:0}

@media(max-width:980px){.testimonial-grid{grid-template-columns:1fr 1fr}.infrastructure-grid{grid-template-columns:1fr 1fr}.infrastructure-intro__grid{grid-template-columns:1fr}.infrastructure-note{justify-self:start}.campus-location__panel{grid-template-columns:1fr}.campus-location__map{min-height:360px}.metric-band--dark{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-band--dark>div:last-child{grid-column:1/-1}}
@media(max-width:640px){.testimonial-grid,.infrastructure-grid{grid-template-columns:1fr}.testimonial-card{min-height:0;padding:22px}.infrastructure-card__image{height:205px}.campus-location__map{min-height:310px}.campus-location__info{padding:24px 20px}.campus-location__actions{display:grid}.campus-location__actions .btn{width:100%}.hero-slider-dots{justify-content:center}.hero-slider-dots button{height:4px}.content-prose h2{font-size:25px}}

.alumni-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.alumni-card{display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(7,27,60,.05)}.alumni-card__image img,.alumni-card__image>span{width:86px;height:100px;border-radius:14px;object-fit:cover}.alumni-card__image>span{display:grid;place-items:center;background:#eaf1ff;color:var(--royal);font:800 28px var(--display)}.alumni-card small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.alumni-card h3{font-size:15px;margin:5px 0}.alumni-card strong{font-size:11px;color:var(--royal)}.alumni-card p{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0 0}@media(max-width:1100px){.alumni-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.alumni-grid{grid-template-columns:1fr}}
.contact-row i svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}


/* =========================================================
   2026-08-15 QA CLEANUP — REMOVE DECORATIVE INDEX NUMBERS
   + MEC PROGRAM THEME
   ========================================================= */
.nav-code--purple{background:#f2edff;color:#6546c7}
.program-detail.program-tone-purple{--program-accent:#6546c7}

/* Number-free component alignment */
.hero-stat{grid-template-columns:1fr;grid-template-rows:auto auto;row-gap:5px}
.hero-stat strong,.hero-stat small{grid-column:1}
.about-pillars>div{grid-template-columns:1fr;gap:0}
.program-premium__top{justify-content:flex-end}
.campus-character__card{grid-template-columns:1fr;gap:0}
.campus-journey-list>div{grid-template-columns:1fr;gap:0}
.program-feature h3{margin:0 0 8px}
.program-stage{grid-template-columns:1fr;gap:0}
.infrastructure-card__body h3{margin:0 0 9px}
.result-summary-card>strong{margin:0 0 4px}
.results-process__flow strong{margin:0 0 4px}
.campus-character__card h3{margin:0 0 6px}
.admission-step-grid h3{margin:0 0 8px}
.privacy-content>section{grid-template-columns:1fr;gap:0}
.thank-next strong{margin-top:0}
.vision-outcomes h3,.mission-system h3{margin-top:0}
.contact-cards small{margin-top:0}

@media (min-width:1161px){
  .program-showcase{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:640px){
  .campus-character__card{grid-template-columns:1fr}
}

/* =========================================================
   2026-08-15 TYPOGRAPHY + ALIGNMENT REFINEMENT
   Keeps headings readable without oversized or awkward wraps.
   ========================================================= */
html {
  font-size: 100%;
}

body {
  zoom: 1;
}

h1,
h2,
h3,
.section-head h2,
.inner-hero h1,
.home-hero h1 {
  text-wrap: balance;
}

p,
li,
.lead {
  text-wrap: pretty;
}

h1 {
  font-size: clamp(38px, 4.2vw, 58px);
  line-height: 1.08;
  letter-spacing: -.045em;
}

h2 {
  font-size: clamp(29px, 2.8vw, 41px);
  line-height: 1.16;
  letter-spacing: -.035em;
}

h3 {
  line-height: 1.35;
  letter-spacing: -.018em;
}

.home-hero h1 {
  max-width: 720px;
  font-size: clamp(42px, 4.5vw, 60px);
  line-height: 1.07;
}

.inner-hero__content,
.program-overview__copy,
.program-journey__intro,
.section-head > div {
  min-width: 0;
}

.inner-hero h1 {
  max-width: 780px;
  font-size: clamp(38px, 3.4vw, 48px);
  line-height: 1.12;
  margin-bottom: 18px;
}

.inner-hero__content > p {
  max-width: 720px;
}

.section-head h2,
.program-overview__copy h2,
.program-journey__intro h2,
.program-network__head h2,
.location-section__head h2,
.campus-locator__heading h2 {
  font-size: clamp(29px, 2.8vw, 41px);
  line-height: 1.17;
}

.section-head > div,
.learning-head,
.program-network__head {
  max-width: 850px;
}

.section-head--center > div,
.section-head--center h2,
.section-head--center .lead {
  margin-inline: auto;
}

@media (min-width: 981px) {
  .inner-hero__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr);
    gap: 48px;
  }

  .inner-hero__content {
    padding-left: 0;
  }
}

@media (max-width: 980px) {
  h1 {
    font-size: clamp(36px, 5.2vw, 48px);
  }

  h2,
  .section-head h2,
  .program-overview__copy h2,
  .program-journey__intro h2,
  .program-network__head h2,
  .location-section__head h2,
  .campus-locator__heading h2 {
    font-size: clamp(28px, 4vw, 38px);
  }

  .home-hero h1 {
    font-size: clamp(38px, 6.2vw, 52px);
  }

  .inner-hero h1 {
    font-size: clamp(36px, 5vw, 42px);
    max-width: 720px;
  }
}

@media (max-width: 640px) {
  h1 {
    font-size: 34px;
  }

  h2,
  .section-head h2,
  .program-overview__copy h2,
  .program-journey__intro h2,
  .program-network__head h2,
  .location-section__head h2,
  .campus-locator__heading h2 {
    font-size: 29px;
    line-height: 1.2;
  }

  .home-hero h1 {
    font-size: clamp(33px, 9.4vw, 39px);
    line-height: 1.09;
  }

  .inner-hero h1 {
    font-size: clamp(31px, 8.2vw, 35px);
    line-height: 1.13;
  }

  .inner-hero__content,
  .section-head,
  .section-head--center,
  .campus-locator__heading {
    text-align: left;
  }
}
/* Desktop Website Zoom — 125% */
@media screen and (min-width: 1100px) {
  body {
    zoom: 125%;
  }
}