/* ==========================================================================
   BHEL Shiksha Mandal - public site
   Palette is carried over from the old site: green + gold (old site palette).
   ========================================================================== */
:root{
	--navy:#14422a; --navy-d:#0b2916; --navy-2:#1f6b3a; --navy-3:#3f8f4c;
	--gold:#ffc600; --gold-2:#f0e056; --gold-d:#b98f00; --cream:#fffbe6;
	--ink:#16281c; --muted:#5a6b5f; --line:#e1eadf; --bg:#f4f8ef; --white:#fff;
	--r:18px; --r-sm:10px;
	--sh:0 10px 30px rgba(20,66,42,.10); --sh-2:0 22px 60px rgba(20,66,42,.20);
	--ease:cubic-bezier(.22,.8,.24,1);
	--topbar:38px; --brandrow:86px; --navrow:50px;
	--hdr:calc(var(--topbar) + var(--brandrow) + var(--navrow));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.bsm{margin:0;font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.65;font-size:16px;padding-top:var(--hdr);overflow-x:hidden}
body.bsm.is-loading{overflow:hidden}
.bsm img{max-width:100%;height:auto}
.bsm a{color:var(--navy-3);text-decoration:none;transition:color .2s}
.bsm a:hover{color:var(--navy)}
.bsm h1,.bsm h2,.bsm h3,.bsm h4{font-family:"Playfair Display",Georgia,serif;color:var(--navy);line-height:1.2;margin:0 0 .5em}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--navy);padding:8px 14px;border-radius:8px;z-index:10001;font-weight:600}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,var(--navy-2),var(--navy-d) 70%);color:#fff;transition:opacity .7s var(--ease),visibility .7s,transform .9s var(--ease)}
#loader.done{opacity:0;visibility:hidden;transform:scale(1.04)}
.ld-box{text-align:center;padding:20px}
.ld-ring{position:relative;width:150px;height:150px;margin:0 auto 22px}
.ld-ring svg{position:absolute;inset:0;width:100%;height:100%;animation:ldspin 2.4s linear infinite}
.ld-ring svg circle{fill:none;stroke-width:4;stroke-linecap:round}
.ld-ring .trk{stroke:rgba(255,255,255,.12)}
.ld-ring .arc{stroke:var(--gold);stroke-dasharray:120 330;animation:ldarc 1.8s ease-in-out infinite}
.ld-ring .arc2{stroke:var(--gold-2);stroke-dasharray:40 410;opacity:.7;animation:ldarc 1.8s ease-in-out infinite reverse}
.ld-ring img{position:absolute;inset:26px;width:98px;height:98px;object-fit:contain;background:#fff;border-radius:50%;padding:8px;animation:ldpulse 1.8s ease-in-out infinite;box-shadow:0 0 0 6px rgba(255,198,0,.15)}
@keyframes ldspin{to{transform:rotate(360deg)}}
@keyframes ldarc{0%{stroke-dashoffset:0}50%{stroke-dashoffset:-160}100%{stroke-dashoffset:-330}}
@keyframes ldpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.ld-name{font-family:"Playfair Display",serif;font-size:clamp(22px,4vw,32px);font-weight:700;letter-spacing:.5px}
.ld-name span{display:inline-block;opacity:0;transform:translateY(14px);animation:ldletter .5s var(--ease) forwards}
@keyframes ldletter{to{opacity:1;transform:none}}
.ld-tag{margin-top:6px;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-2);opacity:0;animation:ldfade .8s .9s forwards}
@keyframes ldfade{to{opacity:.95}}
.ld-bar{width:min(260px,70vw);height:4px;border-radius:4px;background:rgba(255,255,255,.14);margin:22px auto 0;overflow:hidden}
.ld-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:4px;transition:width .3s}
@media (prefers-reduced-motion:reduce){#loader *{animation:none!important}.ld-name span,.ld-tag{opacity:1;transform:none}}

/* ---------- header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:900;background:#fff;box-shadow:0 2px 0 rgba(20,66,42,.04);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 8px 30px rgba(20,66,42,.18)}
.topbar{height:var(--topbar);background:var(--navy-d);color:#d4e6d3;font-size:13px;overflow:hidden;transition:height .35s var(--ease)}
.topbar .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topbar a{color:#d4e6d3}.topbar a:hover{color:var(--gold)}
.topbar ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;flex-wrap:nowrap;white-space:nowrap}
.topbar svg{width:14px;height:14px;vertical-align:-2px;margin-right:6px;fill:var(--gold)}
.topbar .tb-login{background:var(--gold);color:var(--navy);padding:3px 14px;border-radius:30px;font-weight:600;font-size:12px}
.topbar .tb-login:hover{background:#fff;color:var(--navy)}
.brandrow{height:var(--brandrow);overflow:hidden;transition:height .35s var(--ease)}
.brandrow .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:16px;color:var(--navy)}
.brand img{height:64px;width:auto;transition:transform .4s var(--ease)}
.brand:hover img{transform:rotate(-4deg) scale(1.05)}
.brand-t b{display:block;font-family:"Playfair Display",serif;font-size:26px;line-height:1.1;color:var(--navy)}
.brand-t small{display:block;font-size:12px;letter-spacing:2.6px;text-transform:uppercase;color:var(--muted)}
.hdr-cta{display:flex;gap:10px;align-items:center}
.site-header.scrolled .topbar,.site-header.scrolled .brandrow{height:0}
.navrow{height:var(--navrow);background:linear-gradient(90deg,var(--navy-d),var(--navy) 50%,var(--navy-d));position:relative}
.navrow::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.navrow .wrap{height:100%;display:flex;align-items:center}
.site-header .nav-mini-logo{display:none;height:38px;width:38px;flex:none;object-fit:contain;margin-right:14px;background:#fff;border-radius:50%;padding:2px}
.site-header.scrolled .nav-mini-logo{display:block}
.nav{flex:1}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;align-items:center;height:var(--navrow)}
.nav>ul>li{position:relative;height:100%;display:flex;align-items:center}
.nav>ul>li>a{display:flex;align-items:center;gap:5px;height:100%;padding:0 var(--navpad,7px);color:#fff;font-size:var(--navfs,12.5px);font-weight:600;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;position:relative}
.nav>ul>li>a::before{content:"";position:absolute;left:var(--navpad,7px);right:var(--navpad,7px);bottom:9px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav>ul>li:hover>a,.nav>ul>li.active>a{color:var(--gold)}
.nav>ul>li:hover>a::before,.nav>ul>li.active>a::before{transform:scaleX(1)}
.nav .caret{width:9px;height:9px;fill:currentColor;transition:transform .3s}
.nav li:hover>a .caret{transform:rotate(180deg)}
.nav .sub{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border-radius:0 0 14px 14px;box-shadow:var(--sh-2);list-style:none;margin:0;padding:8px;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .3s var(--ease);border-top:3px solid var(--gold)}
.nav li:nth-last-child(-n+3) .sub{left:auto;right:0}
.nav li:hover>.sub,.nav li:focus-within>.sub{opacity:1;visibility:visible;transform:none}
.nav .sub a{display:block;padding:9px 14px;border-radius:8px;color:var(--ink);font-size:14px;transition:all .2s}
.nav .sub a:hover{background:var(--cream);color:var(--navy);padding-left:20px}
.nav .m-only{display:none}
.burger{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:12px;background:var(--navy);cursor:pointer;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:#fff;border-radius:2px;transition:all .3s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:28px}
.burger.open span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){top:22px;transform:rotate(-45deg)}
.nav-scrim{display:none}

@media (max-width:1279px){
	:root{--topbar:0px;--brandrow:70px;--navrow:0px}
	.topbar{display:none}
	.brand img{height:50px}
	.brand-t b{font-size:20px}
	.brand-t small{font-size:10px;letter-spacing:2px}
	.hdr-cta{display:none}
	.burger{display:block}
	.site-header.scrolled .brandrow{height:62px}
	.navrow{height:0;background:none}.navrow::after{display:none}
	.navrow .wrap{padding:0;position:static}
	.nav-mini-logo{display:none!important}
	.nav{position:fixed;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--navy-d);transform:translateX(105%);transition:transform .45s var(--ease);z-index:1001;padding:76px 14px 30px;overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.3)}
	.nav.open{transform:none}
	.nav>ul{display:block;height:auto}
	.nav>ul>li{display:block;height:auto;border-bottom:1px solid rgba(255,255,255,.08)}
	.nav>ul>li>a{height:auto;padding:14px 10px;font-size:14px;justify-content:space-between}
	.nav>ul>li>a::before{display:none}
	.nav .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.05);border:0;border-radius:10px;display:none;margin:0 0 10px;padding:4px}
	.nav li.open>.sub{display:block;animation:subin .35s var(--ease)}
	.nav .m-only{display:block}
	.nav li:hover>a .caret{transform:none}
	.nav li.open>a .caret{transform:rotate(180deg)}
	.nav .sub a{color:#e0efdc}
	.nav .sub a:hover{background:rgba(255,255,255,.08);color:var(--gold);padding-left:14px}
	.burger{position:relative;z-index:1002}
	.burger.open{background:var(--gold)}.burger.open span{background:var(--navy)}
	.nav-scrim{display:block;position:fixed;inset:0;background:rgba(11,41,22,.55);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:all .35s;z-index:1000}
	.nav-scrim.open{opacity:1;visibility:visible}
}
@keyframes subin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:50px;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;transition:all .3s var(--ease);position:relative;overflow:hidden;font-family:inherit;line-height:1.2}
.btn.gold{background:var(--gold);color:var(--navy);box-shadow:0 8px 24px rgba(255,198,0,.38)}
.btn.gold:hover{background:#fff;color:var(--navy);transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,198,0,.5)}
.btn.navy{background:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy-3);color:#fff;transform:translateY(-3px);box-shadow:0 12px 26px rgba(20,66,42,.35)}
.btn.ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.06);backdrop-filter:blur(4px)}
.btn.ghost:hover{background:#fff;color:var(--navy);transform:translateY(-3px)}
.btn.line{border-color:var(--navy);color:var(--navy);background:transparent}
.btn.line:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
.btn.sm{padding:8px 18px;font-size:13px}
.btn svg{width:16px;height:16px;fill:currentColor;transition:transform .3s}
.btn:hover svg{transform:translateX(4px)}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover::after{left:130%}

/* ---------- hero ---------- */
.hero{position:relative;height:min(80vh,740px);min-height:520px;background:var(--navy-d);overflow:hidden;color:#fff;isolation:isolate}
.hero-slides{position:absolute;inset:0}
.hs{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.2s var(--ease),visibility 1.2s}
.hs.on{opacity:1;visibility:visible;z-index:1}
.hs img,.hs video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hs.on img{animation:kenburns 9s ease-out forwards}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.hero::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(100deg,rgba(11,41,22,.88) 0%,rgba(11,41,22,.62) 42%,rgba(11,41,22,.08) 78%),linear-gradient(0deg,rgba(11,41,22,.7),transparent 38%)}
.hero-shapes{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hero-shapes i{position:absolute;border-radius:50%;border:2px solid rgba(255,198,0,.35);animation:floaty 9s ease-in-out infinite}
.hero-shapes i:nth-child(1){width:260px;height:260px;right:6%;top:12%}
.hero-shapes i:nth-child(2){width:120px;height:120px;right:22%;bottom:18%;animation-delay:-3s;background:rgba(255,198,0,.08)}
.hero-shapes i:nth-child(3){width:70px;height:70px;left:46%;top:16%;animation-delay:-5s;border-color:rgba(255,255,255,.25)}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-26px) rotate(12deg)}}
.hero-in{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.hero-copy{max-width:700px;padding:20px 0 60px}
.hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.hero .eyebrow::before{content:"";width:44px;height:2px;background:var(--gold)}
.hero h1{font-size:clamp(34px,5.6vw,66px);color:#fff;margin-bottom:.3em;font-weight:700}
.hero h1 em{font-style:normal;color:var(--gold);position:relative;white-space:nowrap}
.hero .tag{font-size:clamp(16px,2vw,21px);color:var(--gold-2);font-weight:500;margin-bottom:14px;letter-spacing:.3px}
.hero p.lead{font-size:clamp(14.5px,1.35vw,17px);color:#e0efdc;max-width:600px;margin:0 0 28px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-cap{position:absolute;right:28px;bottom:78px;z-index:3;max-width:360px;text-align:right;font-size:14px;color:#eef7ea;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero-cap b{display:block;font-family:"Playfair Display",serif;font-size:19px;color:#fff}
.hero-ctl{position:absolute;z-index:4;left:0;right:0;bottom:26px}
.hero-ctl .wrap{display:flex;align-items:center;gap:18px}
.hero-dots{display:flex;gap:8px}
.hero-dots button{width:34px;height:5px;border:0;padding:0;border-radius:4px;background:rgba(255,255,255,.32);cursor:pointer;position:relative;overflow:hidden}
.hero-dots button i{position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left}
.hero-dots button.on i{animation:dotfill var(--slide,6500ms) linear forwards}
.hero.paused .hero-dots button.on i{animation-play-state:paused}
@keyframes dotfill{to{transform:scaleX(1)}}
.hero-arrows{display:flex;gap:8px;margin-left:auto}
.hero-arrows button{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;display:grid;place-items:center;transition:all .25s;backdrop-filter:blur(4px)}
.hero-arrows button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.hero-arrows svg{width:16px;height:16px;fill:currentColor}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;z-index:3;line-height:0;pointer-events:none}
.hero-wave svg{width:100%;height:44px;display:block}
.vid-badge{position:absolute;right:20px;top:20px;z-index:4;background:rgba(11,41,22,.6);border:1px solid rgba(255,255,255,.3);padding:5px 12px;border-radius:30px;font-size:12px;display:none}
.hs.vid.on ~ .vid-badge{display:block}
@media (max-width:700px){.hero{height:auto;min-height:560px}.hero-cap,.hero-arrows{display:none}.hero-copy{padding-bottom:90px}.hero::before{background:linear-gradient(0deg,rgba(11,41,22,.92),rgba(11,41,22,.55) 60%,rgba(11,41,22,.3))}}

/* hero entrance */
.hero .eyebrow,.hero h1,.hero .tag,.hero p.lead,.hero .cta{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.ready .hero .eyebrow{opacity:1;transform:none;transition-delay:.15s}
.ready .hero h1{opacity:1;transform:none;transition-delay:.3s}
.ready .hero .tag{opacity:1;transform:none;transition-delay:.45s}
.ready .hero p.lead{opacity:1;transform:none;transition-delay:.6s}
.ready .hero .cta{opacity:1;transform:none;transition-delay:.75s}

/* ---------- ticker ---------- */
.ticker{background:var(--navy);color:#fff;display:flex;align-items:stretch;overflow:hidden;position:relative;z-index:5}
.ticker .lbl{flex:none;background:var(--gold);color:var(--navy);font-weight:700;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;padding:12px 22px 12px 20px;display:flex;align-items:center;gap:8px;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%);z-index:2;padding-right:34px}
.ticker .lbl i{width:9px;height:9px;border-radius:50%;background:var(--navy);animation:pulse 1.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,66,42,.6)}100%{box-shadow:0 0 0 10px rgba(20,66,42,0)}}
.ticker .trk{flex:1;overflow:hidden;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}
.ticker .mv{display:flex;gap:56px;white-space:nowrap;padding-left:40px;animation:marq 60s linear infinite}
.ticker:hover .mv{animation-play-state:paused}
.ticker .mv a{color:#fff;font-size:14px}
.ticker .mv a::before{content:"\2605";color:var(--gold);margin-right:12px}
.ticker .mv a:hover{color:var(--gold)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding:clamp(56px,8vw,100px) 0;position:relative}
.sec.alt{background:var(--bg)}
.sec.dark{background:linear-gradient(160deg,var(--navy-d),var(--navy) 60%,var(--navy-2));color:#e0efdc}
.sec.dark h2,.sec.dark h3{color:#fff}
.sec-h{text-align:center;max-width:760px;margin:0 auto 48px}
.kicker{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-d);margin-bottom:10px;position:relative;padding:0 38px}
.kicker::before,.kicker::after{content:"";position:absolute;top:50%;width:26px;height:2px;background:var(--gold)}
.kicker::before{left:0}.kicker::after{right:0}
.sec-h h2{font-size:clamp(28px,4vw,44px);margin-bottom:.3em}
.sec-h p{color:var(--muted);margin:0;font-size:17px}
.sec.dark .sec-h p{color:#b9d3b6}
.grid{display:grid;gap:26px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:991px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.rv.l{transform:translateX(-44px)}.rv.r{transform:translateX(44px)}.rv.z{transform:scale(.92)}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv,.hero .eyebrow,.hero h1,.hero .tag,.hero p.lead,.hero .cta{opacity:1!important;transform:none!important;transition:none}.hs.on img{animation:none}.ticker .mv{animation:none}}

/* ---------- intro / pillars ---------- */
.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.intro{grid-template-columns:1fr;gap:34px}}
.intro h2{font-size:clamp(28px,3.6vw,42px)}
.intro p{color:var(--muted);font-size:17px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.stat{background:#fff;border-radius:var(--r-sm);padding:18px 14px;text-align:center;box-shadow:var(--sh);border-bottom:4px solid var(--gold);transition:transform .35s var(--ease)}
.stat:hover{transform:translateY(-6px)}
.stat b{display:block;font-family:"Playfair Display",serif;font-size:32px;color:var(--navy);line-height:1}
.stat span{font-size:12.5px;color:var(--muted);line-height:1.3;display:block;margin-top:6px}
.intro-art{position:relative;min-height:380px;border-radius:30px;background:linear-gradient(145deg,var(--navy),var(--navy-3));overflow:hidden;box-shadow:var(--sh-2);display:grid;place-items:center;padding:28px}
.intro-art::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,198,0,.28),transparent 65%);top:-120px;right:-120px}
.intro-art::after{content:"";position:absolute;inset:18px;border:2px dashed rgba(255,198,0,.35);border-radius:22px;pointer-events:none}
.intro-art .quote{position:relative;z-index:1;color:#fff;text-align:center}
.intro-art .quote img{width:120px;background:#fff;border-radius:50%;padding:10px;margin-bottom:18px;box-shadow:0 0 0 8px rgba(255,255,255,.12);animation:ldpulse 4s ease-in-out infinite}
.intro-art .quote q{display:block;font-family:"Playfair Display",serif;font-size:clamp(20px,2.4vw,28px);line-height:1.35;quotes:none}
.intro-art .quote small{display:block;margin-top:14px;color:var(--gold-2);letter-spacing:2px;text-transform:uppercase;font-size:12px}

.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:56px}
@media (max-width:991px){.pillars{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar{background:#fff;border-radius:var(--r);padding:30px 24px;box-shadow:var(--sh);position:relative;overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s}
.pillar::before{content:"";position:absolute;left:0;top:0;height:5px;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.pillar:hover{transform:translateY(-10px);box-shadow:var(--sh-2)}.pillar:hover::before{transform:scaleX(1)}
.ico{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--navy-3));margin-bottom:18px;transition:transform .5s var(--ease);box-shadow:0 10px 22px rgba(20,66,42,.28)}
.ico svg{width:30px;height:30px;fill:var(--gold)}
.pillar:hover .ico{transform:rotate(-8deg) scale(1.08)}
.pillar h3{font-size:20px;font-family:"Poppins",sans-serif;font-weight:600}
.pillar p{margin:0;color:var(--muted);font-size:14.5px}

/* ---------- institutions ---------- */
.inst{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:1100px){.inst{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.inst{grid-template-columns:1fr}}
.inst-c{position:relative;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s;color:var(--ink)}
.inst-c:hover{transform:translateY(-12px);box-shadow:var(--sh-2);color:var(--ink)}
.inst-top{height:150px;position:relative;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-3));overflow:hidden}
.inst-c:nth-child(2) .inst-top{background:linear-gradient(135deg,#1f6b3a,#6fae3c)}
.inst-c:nth-child(3) .inst-top{background:linear-gradient(135deg,#14452a,#c79a00)}
.inst-c:nth-child(4) .inst-top{background:linear-gradient(135deg,#0b2916,#2f8f6a)}
.inst-top::before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;border:2px solid rgba(255,255,255,.14);right:-60px;top:-70px;transition:transform .8s var(--ease)}
.inst-top::after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:rgba(255,198,0,.14);left:-40px;bottom:-60px;transition:transform .8s var(--ease)}
.inst-c:hover .inst-top::before{transform:scale(1.4) rotate(40deg)}.inst-c:hover .inst-top::after{transform:scale(1.5)}
.inst-top .ico{margin:0;position:relative;z-index:1;background:rgba(255,255,255,.12);box-shadow:none;width:74px;height:74px;border-radius:22px;border:1.5px solid rgba(255,255,255,.3)}
.inst-top .ico svg{width:36px;height:36px}
.inst-top .logo{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:#fff;object-fit:contain;padding:4px;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.inst-num{position:absolute;left:16px;top:10px;font-family:"Playfair Display",serif;font-size:42px;font-weight:700;color:rgba(255,255,255,.18);z-index:1;line-height:1}
.inst-b{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1}
.inst-b h3{font-size:20px;margin-bottom:8px}
.inst-b p{color:var(--muted);font-size:14.5px;margin:0 0 16px;flex:1}
.more{font-weight:600;font-size:14px;color:var(--navy-3);display:inline-flex;gap:6px;align-items:center}
.more svg{width:14px;height:14px;fill:currentColor;transition:transform .3s}
.inst-c:hover .more svg,.more:hover svg{transform:translateX(6px)}

/* ---------- achievements ---------- */
.ach{display:grid;gap:34px}
.ach-c{display:grid;grid-template-columns:1.1fr 1fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:var(--sh);position:relative}
.ach-c:nth-child(even){grid-template-columns:1fr 1.1fr}
.ach-c:nth-child(even) .ach-img{order:2}
@media (max-width:860px){.ach-c,.ach-c:nth-child(even){grid-template-columns:1fr}.ach-c:nth-child(even) .ach-img{order:0}}
.ach-img{position:relative;min-height:330px;overflow:hidden;background:var(--navy)}
.ach-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ach-c:hover .ach-img img{transform:scale(1.08)}
.ach-img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,41,22,.55),transparent 50%)}
.ach-badge{position:absolute;left:18px;top:18px;z-index:2;background:var(--gold);color:var(--navy);font-weight:700;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;padding:7px 16px 7px 12px;border-radius:30px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.ach-badge svg{width:15px;height:15px;fill:var(--navy)}
.ach-b{padding:clamp(24px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center}
.ach-b .dt{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:8px}
.ach-b h3{font-size:clamp(22px,2.6vw,30px)}
.ach-b p{color:var(--muted);margin:0 0 14px}
.ach-b .prize{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ach-b .prize span{background:var(--cream);border:1px solid #f3e08a;color:var(--navy);padding:5px 14px;border-radius:30px;font-size:13px;font-weight:600}

/* ---------- toppers ---------- */
.tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.tab{border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;padding:9px 22px;border-radius:40px;font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s var(--ease)}
.tab:hover{border-color:var(--gold);color:var(--gold)}
.tab.on{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:0 8px 22px rgba(255,198,0,.35)}
.alt .tab,.light .tab{border-color:var(--line);color:var(--navy);background:#fff}.alt .tab.on,.light .tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tp-wrap{position:relative}
.tp-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 26px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.tp-track.flow{grid-auto-flow:row;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));overflow:visible}
.tp-track::-webkit-scrollbar{height:6px}.tp-track::-webkit-scrollbar-thumb{background:var(--gold);border-radius:6px}
.tp{scroll-snap-align:start;background:#fff;color:var(--ink);border-radius:22px;padding:0 0 20px;text-align:center;position:relative;overflow:hidden;box-shadow:0 12px 34px rgba(0,0,0,.18);transition:transform .45s var(--ease),box-shadow .45s;transform-style:preserve-3d}
.tp:hover{transform:translateY(-10px) rotate(-.6deg);box-shadow:0 26px 56px rgba(0,0,0,.28)}
.tp[hidden]{display:none}
.tp-ph{position:relative;aspect-ratio:4/4.4;overflow:hidden;background:linear-gradient(160deg,#e9eff8,#fff)}
.tp-ph img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .9s var(--ease)}
.tp:hover .tp-ph img{transform:scale(1.08)}
.tp-ph::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(0deg,#fff,transparent)}
.tp-rank{position:absolute;left:12px;top:12px;z-index:2;width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:700;font-size:14px;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.tp-ring{position:relative;width:86px;height:86px;margin:-46px auto 8px;z-index:3;background:#fff;border-radius:50%;box-shadow:0 8px 20px rgba(20,66,42,.2)}
.tp-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.tp-ring circle{fill:none;stroke-width:6;stroke-linecap:round}
.tp-ring .bg{stroke:#e3ecdc}.tp-ring .fg{stroke:var(--gold);stroke-dasharray:226;stroke-dashoffset:226;transition:stroke-dashoffset 1.6s var(--ease)}
.tp-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:19px;color:var(--navy);font-weight:700;letter-spacing:-.3px}
.tp-ring b small{font-size:11px;margin-left:1px;align-self:center}
.tp h3{font-family:"Poppins",sans-serif;font-size:16.5px;font-weight:600;margin:0 8px 4px;color:var(--navy)}
.tp .meta{font-size:12.5px;color:var(--muted);margin:0 8px}
.tp .chip{display:inline-block;margin-top:8px;font-size:11.5px;font-weight:700;background:var(--cream);color:var(--navy);padding:3px 12px;border-radius:20px;border:1px solid #f1df82}
.tp-nav{display:flex;justify-content:center;gap:12px;margin-top:6px}
.tp-nav button{width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center;transition:all .25s}
.tp-nav button:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.tp-nav svg{width:16px;height:16px;fill:currentColor}
.light .tp-nav button{border-color:var(--line);color:var(--navy)}

/* ---------- news / announcements ---------- */
.two{display:grid;grid-template-columns:1.35fr 1fr;gap:30px}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.panel{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:28px;height:100%}
.panel>h3{display:flex;align-items:center;gap:12px;font-size:22px;margin-bottom:18px;padding-bottom:14px;border-bottom:2px solid var(--line);position:relative}
.panel>h3::after{content:"";position:absolute;left:0;bottom:-2px;width:70px;height:2px;background:var(--gold)}
.panel>h3 .ico{width:42px;height:42px;border-radius:12px;margin:0}.panel>h3 .ico svg{width:20px;height:20px}
.news-i{display:flex;gap:16px;padding:14px 8px;border-radius:12px;color:var(--ink);transition:all .3s var(--ease);align-items:flex-start}
.news-i:hover{background:var(--cream);transform:translateX(6px);color:var(--ink)}
.news-i+.news-i{border-top:1px dashed var(--line)}
.date-b{flex:none;width:62px;text-align:center;border-radius:12px;overflow:hidden;box-shadow:0 6px 16px rgba(20,66,42,.15);background:#fff}
.date-b b{display:block;background:var(--navy);color:var(--gold);font-size:11px;letter-spacing:1px;padding:3px 0;text-transform:uppercase}
.date-b span{display:block;font-family:"Playfair Display",serif;font-size:26px;color:var(--navy);font-weight:700;line-height:1.4}
.news-i h4{font-family:"Poppins",sans-serif;font-size:15.5px;font-weight:600;margin:0 0 2px;color:var(--navy);line-height:1.4}
.news-i small{color:var(--muted)}
.ann-i{display:block;padding:14px 16px;border-radius:12px;background:linear-gradient(90deg,var(--cream),#fff);border-left:4px solid var(--gold);margin-bottom:12px;color:var(--ink);font-size:14.5px;line-height:1.5;transition:all .3s var(--ease)}
.ann-i:hover{transform:translateX(6px);box-shadow:var(--sh);color:var(--ink)}
.ann-i b{display:block;font-size:12px;color:var(--gold-d);letter-spacing:1px;text-transform:uppercase;margin-bottom:2px}

/* ---------- admissions band ---------- */
.band{background:linear-gradient(120deg,var(--navy-d),var(--navy-2));border-radius:30px;padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;color:#e0efdc;position:relative;overflow:hidden;box-shadow:var(--sh-2)}
.band::before{content:"";position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,198,0,.3),transparent 65%)}
@media (max-width:860px){.band{grid-template-columns:1fr}}
.band h2{color:#fff;font-size:clamp(24px,3vw,36px)}
.band p{margin:0;color:#c6dfc1}
.band .btns{display:flex;flex-direction:column;gap:12px;position:relative}
.band .btns .btn{justify-content:space-between;width:100%}

/* ---------- gallery ---------- */
.mason{columns:4 220px;column-gap:16px}
.mason a{display:block;break-inside:avoid;margin-bottom:16px;border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--sh);cursor:zoom-in}
.mason img,.mason video{width:100%;display:block;transition:transform .8s var(--ease)}
.mason a:hover img,.mason a:hover video{transform:scale(1.1)}
.mason a::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,66,42,.75),transparent 55%);opacity:0;transition:opacity .4s}
.mason a:hover::after{opacity:1}
.mason .cap{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;color:#fff;font-size:13.5px;font-weight:500;opacity:0;transform:translateY(10px);transition:all .4s var(--ease)}
.mason a:hover .cap{opacity:1;transform:none}
.play-i{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(255,198,0,.92);z-index:2;display:grid;place-items:center}
.play-i svg{width:22px;height:22px;fill:var(--navy);margin-left:3px}
.album-c{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);transition:transform .45s var(--ease);display:block;color:var(--ink)}
.album-c:hover{transform:translateY(-8px);color:var(--ink)}
.album-c .im{aspect-ratio:4/3;overflow:hidden;position:relative;background:var(--bg)}
.album-c img,.album-c video{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.album-c:hover img{transform:scale(1.1)}
.album-c .cnt{position:absolute;right:12px;bottom:12px;background:rgba(11,41,22,.8);color:#fff;font-size:12px;padding:4px 12px;border-radius:20px}
.album-c .tx{padding:16px 18px}.album-c h3{font-family:"Poppins",sans-serif;font-size:17px;font-weight:600;margin:0 0 2px}.album-c small{color:var(--muted)}
.lb{position:fixed;inset:0;z-index:5000;background:rgba(6,28,15,.94);display:none;align-items:center;justify-content:center;padding:30px;backdrop-filter:blur(6px)}
.lb.open{display:flex;animation:lbin .35s var(--ease)}
@keyframes lbin{from{opacity:0}to{opacity:1}}
.lb img,.lb video{max-width:100%;max-height:82vh;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.6);animation:zoomin .45s var(--ease)}
@keyframes zoomin{from{transform:scale(.88);opacity:0}to{transform:none;opacity:1}}
.lb-cap{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:#e0efdc;font-size:14px;padding:0 70px}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb button:hover{background:var(--gold);color:var(--navy)}
.lb button svg{width:18px;height:18px;fill:currentColor}
.lb .x{top:20px;right:20px}.lb .pv{left:20px;top:50%;margin-top:-24px}.lb .nx{right:20px;top:50%;margin-top:-24px}

/* ---------- inner pages ---------- */
.pg-hero{background:linear-gradient(120deg,var(--navy-d),var(--navy) 60%,var(--navy-2));color:#fff;padding:54px 0 62px;position:relative;overflow:hidden}
.pg-hero::before{content:"";position:absolute;right:-60px;top:-90px;width:340px;height:340px;border-radius:50%;border:2px solid rgba(255,198,0,.3)}
.pg-hero::after{content:"";position:absolute;left:8%;bottom:-70px;width:200px;height:200px;border-radius:50%;background:rgba(255,198,0,.1)}
.pg-hero .wrap{position:relative;z-index:1}
.pg-hero h1{color:#fff;font-size:clamp(30px,4.4vw,52px);margin-bottom:.2em;animation:pgin .9s var(--ease) both}
@keyframes pgin{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.crumbs{font-size:13.5px;color:#b9d3b6;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--gold-2)}.crumbs span::before{content:"/";margin-right:8px;opacity:.6}
.pg-wave{line-height:0;margin-top:-1px}.pg-wave svg{width:100%;height:30px;display:block;fill:#fff}
.pg-body{padding:50px 0 80px;min-height:46vh}
.pg-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.pg-cols.full{grid-template-columns:minmax(0,1fr)}
@media (max-width:960px){.pg-cols{grid-template-columns:1fr}}
.prose{font-size:16.5px;color:#26364b;overflow-wrap:break-word}
.prose h1,.prose h2{font-size:30px;margin-top:1.4em}.prose h3{font-size:23px;margin-top:1.2em}.prose h4{font-size:19px;font-family:"Poppins",sans-serif}
.prose p{margin:0 0 1.1em;line-height:1.85}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}.prose li{margin-bottom:.55em;line-height:1.75}
.prose li::marker{color:var(--gold-d)}
.prose img{border-radius:14px;box-shadow:var(--sh);height:auto}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:15px;display:block;overflow-x:auto}
.prose th{background:var(--navy);color:#fff;text-align:left;padding:11px 14px}
.prose td{border:1px solid var(--line);padding:10px 14px}.prose tr:nth-child(even) td{background:var(--bg)}
.prose iframe{max-width:100%;border:0;border-radius:14px;box-shadow:var(--sh)}
.prose a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.prose blockquote{border-left:5px solid var(--gold);background:var(--cream);margin:1.4em 0;padding:16px 22px;border-radius:0 14px 14px 0;font-style:italic}
.prose .btn-dark,.prose .btn{background:var(--navy);color:#fff;padding:10px 24px;border:0;border-radius:40px;cursor:pointer}
.side{position:sticky;top:calc(var(--navrow) + 24px)}
.side-c{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:22px;border-top:4px solid var(--gold)}
.side-c h4{font-size:20px;margin-bottom:10px}
.side-c a{display:flex;align-items:center;gap:8px;padding:10px 10px;border-radius:10px;color:var(--ink);font-size:14.5px;transition:all .25s}
.side-c a::before{content:"\203A";color:var(--gold-d);font-size:20px;line-height:1;transition:transform .25s}
.side-c a:hover{background:var(--cream);color:var(--navy);transform:translateX(5px)}
.side-c a+a{border-top:1px solid var(--line)}
.sec-block{margin-top:2.2em;padding-top:1.4em;border-top:1px dashed var(--line)}

/* accordion (history / about) */
.acc{display:grid;gap:12px;margin:1.4em 0}
.acc details{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);overflow:hidden;transition:box-shadow .3s}
.acc details[open]{border-color:var(--gold);box-shadow:var(--sh-2)}
.acc summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;color:var(--navy);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:17px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-size:22px;line-height:1;transition:transform .35s var(--ease),background .3s}
.acc details[open] summary::after{transform:rotate(135deg);background:var(--gold);color:var(--navy)}
.acc .acc-b{padding:0 22px 20px;color:#3a4b61;animation:subin .4s var(--ease)}
.acc .yr{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;border-radius:8px;padding:1px 10px;margin-right:10px;font-size:14px}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:1.6em 0}
@media (max-width:760px){.vm{grid-template-columns:1fr}}
.vm>div{border-radius:22px;padding:34px 30px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--sh)}
.vm .v{background:linear-gradient(145deg,var(--navy),var(--navy-3))}.vm .m{background:linear-gradient(145deg,#7a5a00,#d9a900)}
.vm>div::after{content:"\201C";position:absolute;right:16px;top:-22px;font-family:"Playfair Display",serif;font-size:150px;color:rgba(255,255,255,.12);line-height:1}
.vm h3{color:var(--gold-2);font-family:"Poppins",sans-serif;font-size:13px;letter-spacing:3px;text-transform:uppercase}
.vm .m h3{color:#fff}
.vm p{font-family:"Playfair Display",serif;font-size:21px;line-height:1.55;margin:0;color:#fff!important;position:relative;z-index:1}

/* doc / file list */
.doc-list{display:grid;gap:12px}
.doc{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;color:var(--ink);transition:all .3s var(--ease);box-shadow:0 2px 0 rgba(20,66,42,.03)}
.doc:hover{border-color:var(--gold);transform:translateX(8px);box-shadow:var(--sh);color:var(--ink)}
.doc .fi{flex:none;width:46px;height:46px;border-radius:12px;background:var(--cream);display:grid;place-items:center;border:1px solid #f0de86}
.doc .fi svg{width:22px;height:22px;fill:var(--navy)}
.doc b{display:block;font-weight:600;color:var(--navy);line-height:1.35}.doc small{color:var(--muted)}
.doc .dl{margin-left:auto;flex:none;color:var(--navy-3);font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}
.doc .dl svg{width:16px;height:16px;fill:currentColor}
.doc-grp{margin-bottom:36px}.doc-grp>h3{display:flex;align-items:center;gap:10px;font-size:24px}
.doc-grp>h3::after{content:"";height:2px;flex:1;background:linear-gradient(90deg,var(--gold),transparent)}

/* careers / emag cards */
.job{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--sh);position:relative;transition:transform .4s var(--ease)}
.job:hover{transform:translateY(-6px)}
.job .tg{display:inline-block;font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;padding:3px 12px;border-radius:20px;background:var(--navy);color:var(--gold);margin-bottom:10px}
.job .tg.nt{background:var(--gold);color:var(--navy)}
.job h3{font-family:"Poppins",sans-serif;font-size:18px;font-weight:600}
.job .dd{font-size:13.5px;color:#b3261e;font-weight:600;margin:6px 0 12px}
.job .cl{color:var(--muted);font-size:14px}
.em-c{background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--sh);transition:transform .45s var(--ease);display:block;color:var(--ink)}
.em-c:hover{transform:translateY(-8px) rotate(-.8deg);color:var(--ink)}
.em-c .cv{aspect-ratio:3/4;background:linear-gradient(145deg,var(--navy),var(--navy-3));display:grid;place-items:center;color:var(--gold);position:relative;overflow:hidden}
.em-c .cv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.em-c .cv svg{width:64px;height:64px;fill:currentColor;opacity:.9}
.em-c .yr{position:absolute;right:12px;top:12px;background:var(--gold);color:var(--navy);font-weight:700;font-size:12.5px;padding:4px 12px;border-radius:20px;z-index:2}
.em-c .tx{padding:16px 18px;font-weight:600;color:var(--navy)}
.viewer{width:100%;height:min(80vh,820px);border:0;border-radius:16px;box-shadow:var(--sh);background:#eef2f8;margin-top:18px}

/* contact */
.cinfo{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:34px}
@media (max-width:991px){.cinfo{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.cinfo{grid-template-columns:1fr}}
.cinfo>div{background:#fff;border-radius:var(--r);padding:24px 20px;box-shadow:var(--sh);text-align:center;transition:transform .4s var(--ease)}
.cinfo>div:hover{transform:translateY(-8px)}
.cinfo .ico{margin:0 auto 14px}
.cinfo h4{font-family:"Poppins",sans-serif;font-size:15px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.cinfo p{margin:0;font-size:14.5px;color:var(--muted);overflow-wrap:anywhere}
.cform{background:#fff;border-radius:24px;padding:clamp(22px,3vw,38px);box-shadow:var(--sh-2);border-top:5px solid var(--gold)}
.cform h3{font-size:26px}
.fld{position:relative;margin-bottom:18px}
.fld label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:15px;background:var(--bg);color:var(--ink);transition:all .25s}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(255,198,0,.25)}
.fld textarea{min-height:120px;resize:vertical}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:600px){.frow{grid-template-columns:1fr}}
.hp{position:absolute!important;left:-5000px;width:1px;height:1px;overflow:hidden}
.fmsg{padding:14px 18px;border-radius:12px;margin-bottom:16px;font-size:14.5px;font-weight:500;display:none}
.fmsg.ok{display:block;background:#e7f7ec;color:#14663a;border:1px solid #b5e3c5}.fmsg.err{display:block;background:#fdeceb;color:#a3261c;border:1px solid #f4c3bf}
.mapbox{border-radius:24px;overflow:hidden;box-shadow:var(--sh-2);min-height:420px;height:100%;background:var(--bg)}
.mapbox iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}@media (max-width:900px){.cgrid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-d);color:#b9d3b6;position:relative;margin-top:0}
.ft-wave{line-height:0;background:#fff}.ft-wave svg{width:100%;height:40px;display:block;fill:var(--navy-d)}
.sec.alt+.site-footer .ft-wave,.alt-prev .ft-wave{background:var(--bg)}
.ft-main{padding:56px 0 34px;display:grid;grid-template-columns:1.6fr 1fr 1.3fr;gap:44px}
@media (max-width:900px){.ft-main{grid-template-columns:1fr;gap:30px}}
.site-footer h4{font-family:"Poppins",sans-serif;font-size:15px;color:#fff;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;position:relative;padding-bottom:12px}
.site-footer h4::after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;background:var(--gold);border-radius:3px}
.ft-brand{display:flex;gap:14px;align-items:center;margin-bottom:16px}.ft-brand img{height:62px;background:#fff;border-radius:50%;padding:4px}
.ft-brand b{font-family:"Playfair Display",serif;color:#fff;font-size:24px;line-height:1.1}
.site-footer p{margin:0 0 12px;font-size:14.5px}
.site-footer a{color:#b9d3b6}.site-footer a:hover{color:var(--gold)}
.ft-links{list-style:none;margin:0;padding:0}.ft-links li{margin-bottom:9px}
.ft-links a{display:inline-flex;gap:8px;font-size:14.5px;transition:transform .25s}
.ft-links a::before{content:"\203A";color:var(--gold)}.ft-links a:hover{transform:translateX(5px)}
.ft-ct{list-style:none;margin:0;padding:0}.ft-ct li{display:flex;gap:12px;margin-bottom:14px;font-size:14.5px}
.ft-ct svg{flex:none;width:18px;height:18px;fill:var(--gold);margin-top:4px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;transition:all .3s var(--ease)}
.social a:hover{background:var(--gold);color:var(--navy);transform:translateY(-5px) rotate(8deg)}
.social svg{width:17px;height:17px;fill:currentColor}
.ft-bar{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13.5px}
.ft-bar .wrap{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.totop{position:fixed;right:20px;bottom:22px;width:48px;height:48px;border-radius:50%;border:0;background:var(--gold);color:var(--navy);cursor:pointer;z-index:800;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.3);transform:translateY(90px);opacity:0;transition:all .4s var(--ease)}
.totop.show{transform:none;opacity:1}.totop:hover{background:#fff;transform:translateY(-4px)}
.totop svg{width:18px;height:18px;fill:currentColor}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));z-index:1100}

/* popup */
.pop{position:fixed;inset:0;z-index:6000;background:rgba(6,28,15,.7);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.pop.open{display:flex;animation:lbin .3s}
.pop-c{background:#fff;border-radius:22px;max-width:560px;width:100%;max-height:90vh;overflow:auto;position:relative;animation:zoomin .5s var(--ease);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.pop-c img{width:100%;display:block}.pop-c .pb{padding:22px 26px}.pop-c h3{font-size:24px}
.pop-x{position:absolute;right:12px;top:12px;width:38px;height:38px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:22px;cursor:pointer;z-index:2;line-height:1}

.empty{text-align:center;color:var(--muted);padding:40px 0}
@media print{.site-header,.site-footer,.totop,#loader,.ticker{display:none!important}body.bsm{padding-top:0}}
.ico.big svg{width:52px;height:52px}
[data-cat][hidden]{display:none!important}

/* ===== v2: clear hero (no overlay), green theme, extra motion ===== */
.hero{height:min(74vh,660px);min-height:380px;background:#0b2916}
.hero::before{display:none}
.hero-cap{left:24px;right:auto;bottom:70px;text-align:left;max-width:420px;background:rgba(11,41,22,.78);padding:10px 16px;border-radius:12px;border-left:4px solid var(--gold);text-shadow:none}
.hero-cap:empty{display:none}
.hero-ctl{bottom:18px}
.hero-ctl .wrap{justify-content:space-between}
.hero-dots button{background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.4)}
.hero-arrows button{background:rgba(11,41,22,.7);border-color:rgba(255,255,255,.7)}
.hs.on img{animation:kenburns 12s ease-out forwards}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.07)}}
@media (max-width:700px){.hero{height:56vw;min-height:260px}.hero-cap{display:none}}

.hero-intro{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--navy-d),var(--navy) 55%,var(--navy-2));color:#e0efdc;padding:clamp(40px,6vw,76px) 0}
.hero-intro .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr auto;gap:30px;align-items:center}
@media (max-width:900px){.hero-intro .wrap{grid-template-columns:1fr}}
.hero-intro .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.hero-intro .eyebrow::before{content:"";width:44px;height:2px;background:var(--gold)}
.hero-intro h1{color:#fff;font-size:clamp(30px,4.6vw,56px);margin-bottom:.35em}
.hero-intro h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),#fff6b0,var(--gold));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 4s linear infinite}
@keyframes shine{to{background-position:200% center}}
.hero-intro .lead{max-width:760px;margin:0;color:#d4e6d3;font-size:clamp(14.5px,1.3vw,16.5px)}
.hero-intro .cta{display:flex;flex-direction:column;gap:14px}
.hero-intro .eyebrow,.hero-intro h1,.hero-intro .lead,.hero-intro .cta{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.ready .hero-intro .eyebrow,.ready .hero-intro h1,.ready .hero-intro .lead,.ready .hero-intro .cta{opacity:1;transform:none}
.ready .hero-intro h1{transition-delay:.15s}.ready .hero-intro .lead{transition-delay:.3s}.ready .hero-intro .cta{transition-delay:.45s}
.leafs i{position:absolute;bottom:-60px;width:26px;height:26px;border-radius:0 80% 0 80%;background:rgba(111,174,60,.35);animation:rise 14s linear infinite}
.leafs i:nth-child(1){left:8%}.leafs i:nth-child(2){left:24%;animation-delay:-4s;width:18px;height:18px;background:rgba(255,198,0,.35)}
.leafs i:nth-child(3){left:46%;animation-delay:-8s}.leafs i:nth-child(4){left:64%;animation-delay:-2s;width:20px;height:20px;background:rgba(255,198,0,.3)}
.leafs i:nth-child(5){left:80%;animation-delay:-6s}.leafs i:nth-child(6){left:92%;animation-delay:-10s;width:16px;height:16px}
@keyframes rise{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(-420px) rotate(380deg) translateX(40px);opacity:0}}

.big-marq{overflow:hidden;background:var(--gold);padding:12px 0;border-top:3px solid var(--navy-d);border-bottom:3px solid var(--navy-d)}
.big-marq div{display:flex;gap:46px;width:max-content;animation:marq 30s linear infinite}
.big-marq span{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(22px,3vw,34px);color:var(--navy);white-space:nowrap}
.big-marq span::after{content:"\2726";margin-left:46px;color:var(--navy-2)}
.ticker .lbl{padding-right:34px}

/* tilt / glow / magnetic (set by js) */
.tilt{transition:transform .25s ease-out,box-shadow .4s;will-change:transform}
.glow{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,198,0,.16),transparent 65%);opacity:0;transition:opacity .4s}
.glow.on{opacity:1}
@media (hover:none){.glow{display:none}}
.sec-h h2{background:linear-gradient(90deg,var(--navy),var(--navy-3),var(--navy));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 7s linear infinite}
.sec.dark .sec-h h2{background:none;color:#fff;animation:none}
.pillar .ico,.inst-top .ico{animation:bob 4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.pillar:nth-child(2) .ico{animation-delay:-1s}.pillar:nth-child(3) .ico{animation-delay:-2s}.pillar:nth-child(4) .ico{animation-delay:-3s}
.kicker::before,.kicker::after{animation:grow 3s ease-in-out infinite alternate}
@keyframes grow{from{width:14px}to{width:34px}}
.btn.gold{animation:glowp 3s ease-in-out infinite}
@keyframes glowp{0%,100%{box-shadow:0 8px 24px rgba(255,198,0,.38)}50%{box-shadow:0 8px 34px rgba(255,198,0,.75)}}
@media (prefers-reduced-motion:reduce){.leafs i,.big-marq div,.btn.gold,.pillar .ico,.hero-intro h1 em{animation:none}.hero-intro .eyebrow,.hero-intro h1,.hero-intro .lead,.hero-intro .cta{opacity:1;transform:none}}
/* ?noanim in the url freezes motion (used for screenshots / QA) */
.noanim *,.noanim *::before,.noanim *::after{animation:none!important;transition:none!important}
.noanim .rv,.noanim .hero-intro .eyebrow,.noanim .hero-intro h1,.noanim .hero-intro .lead,.noanim .hero-intro .cta{opacity:1!important;transform:none!important}
.noanim #loader{display:none}
.noanim .tp-ring .fg{stroke-dashoffset:calc(226 - 2.26 * var(--p,90))!important}

@media (max-width:560px){.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{padding:12px 6px}.stat b{font-size:24px}.stat span{font-size:11px}.wrap{padding:0 16px}.hero-intro .cta{flex-direction:row;flex-wrap:wrap}}
html{overflow-x:hidden}

/* institution cards: real campus photos */
.inst-top{height:190px;background:var(--navy)!important}
.inst-top::before,.inst-top::after{display:none}
.inst-top .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.inst-c:hover .inst-top .ph{transform:scale(1.1)}
.inst-top .inst-num{left:14px;top:14px;font-family:"Poppins",sans-serif;font-size:13px;font-weight:700;letter-spacing:1px;color:var(--navy);background:var(--gold);padding:4px 12px;border-radius:20px;line-height:1.4;z-index:2}
.inst-top .ico{position:absolute;left:14px;bottom:-26px;z-index:3;width:56px;height:56px;border-radius:16px;background:var(--navy);border:3px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.inst-top .ico svg{width:26px;height:26px}
.inst-b{padding-top:38px}
.inst-top .ico{bottom:12px!important;width:50px!important;height:50px!important;border-radius:14px!important;border:2px solid #fff!important}
.inst-b{padding-top:22px!important}

/* navbar scales with the viewport so all 12 items always fit */
:root{--navfs:clamp(10.5px,.9vw,13px);--navpad:clamp(5px,.5vw,9px)}
.navrow .wrap{max-width:1600px;padding:0 16px}
.nav>ul>li>a{gap:4px}
.nav .caret{width:8px;height:8px}

/* ===== animated logo (header + loader) ===== */
.brand img,.nav-mini-logo{animation:logoflip 6s ease-in-out infinite;transform-style:preserve-3d;filter:drop-shadow(0 4px 8px rgba(20,66,42,.25))}
@keyframes logoflip{0%,62%,100%{transform:perspective(500px) rotateY(0) scale(1)}72%{transform:perspective(500px) rotateY(180deg) scale(1.12)}82%{transform:perspective(500px) rotateY(360deg) scale(1)}90%{transform:perspective(500px) rotateY(360deg) scale(1.08)}}
.brand{position:relative}
.brand::before{content:"";position:absolute;left:-6px;top:50%;width:76px;height:76px;margin-top:-38px;border-radius:50%;border:2px solid var(--gold);opacity:0;animation:logoripple 3s ease-out infinite;pointer-events:none}
.brand::after{content:"";position:absolute;left:-6px;top:50%;width:76px;height:76px;margin-top:-38px;border-radius:50%;border:2px solid var(--navy-3);opacity:0;animation:logoripple 3s ease-out 1.5s infinite;pointer-events:none}
@keyframes logoripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.brand:hover img{animation-duration:1.2s}
.nav-mini-logo{box-shadow:0 0 0 0 rgba(255,198,0,.7);animation:logoflip 6s ease-in-out infinite,logoglow 2.4s ease-out infinite}
@keyframes logoglow{0%{box-shadow:0 0 0 0 rgba(255,198,0,.7)}100%{box-shadow:0 0 0 12px rgba(255,198,0,0)}}

/* loader: spinning emblem, orbiting dots, ripples */
.ld-ring img{animation:ldflip 2.6s ease-in-out infinite;transform-style:preserve-3d}
@keyframes ldflip{0%{transform:perspective(600px) rotateY(0) scale(1)}50%{transform:perspective(600px) rotateY(180deg) scale(1.1)}100%{transform:perspective(600px) rotateY(360deg) scale(1)}}
.ld-ring::before,.ld-ring::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(255,198,0,.55);animation:ldripple 2.4s ease-out infinite}
.ld-ring::after{animation-delay:1.2s}
@keyframes ldripple{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.ld-orbit{position:absolute;inset:-18px;animation:ldspin 3.2s linear infinite}
.ld-orbit i{position:absolute;left:50%;top:0;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px var(--gold)}
.ld-orbit i:nth-child(2){top:auto;bottom:0;background:var(--gold-2);width:8px;height:8px;margin-left:-4px}
.ld-orbit.o2{inset:-34px;animation-duration:5.4s;animation-direction:reverse}
.ld-orbit.o2 i{background:#6fae3c;box-shadow:0 0 12px #6fae3c;width:9px;height:9px}
.ld-orbit.o2 i:nth-child(2){background:#fff;box-shadow:0 0 10px #fff}
.ld-box::before{content:"";position:absolute;left:50%;top:50%;width:520px;height:520px;margin:-300px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(111,174,60,.28),transparent 65%);animation:ldbreath 3s ease-in-out infinite;pointer-events:none}
.ld-box{position:relative}
@keyframes ldbreath{0%,100%{transform:scale(.85);opacity:.6}50%{transform:scale(1.1);opacity:1}}
.ld-name{background:linear-gradient(90deg,#fff,var(--gold-2),#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3s linear infinite}
.ld-name span{-webkit-text-fill-color:transparent}
@media (prefers-reduced-motion:reduce){.brand img,.nav-mini-logo,.ld-ring img,.ld-orbit,.brand::before,.brand::after{animation:none!important}}
.noanim .brand::before,.noanim .brand::after{display:none}
.ld-name{background:none!important;-webkit-background-clip:border-box!important;color:#fff!important;animation:none!important}
.ld-name span{-webkit-text-fill-color:#fff!important;color:#fff;text-shadow:0 0 18px rgba(255,198,0,.45)}

@media (max-width:1279px){.brand::before,.brand::after{width:58px;height:58px;margin-top:-29px;left:-4px}}

/* ===== achievements: animated showcase cards ===== */
@property --a{syntax:"<angle>";initial-value:0deg;inherits:false}
.ach-c{position:relative}
.ach-c::before{content:"";position:absolute;inset:0;border-radius:26px;padding:3px;background:conic-gradient(from var(--a),var(--gold),rgba(255,198,0,0) 22%,rgba(255,198,0,0) 72%,var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;animation:spinb 6s linear infinite;pointer-events:none;z-index:5}
@keyframes spinb{to{--a:360deg}}
.ach-c.rv:nth-child(odd){transform:translateX(-70px) scale(.96)}
.ach-c.rv:nth-child(even){transform:translateX(70px) scale(.96)}
.ach-c.rv.in{transform:none}
.ach-img img{animation:achpan 16s ease-in-out infinite alternate;transform-origin:center}
@keyframes achpan{0%{transform:scale(1.03) translate(0,0)}100%{transform:scale(1.2) translate(-2.5%,-2%)}}
.ach-c:hover .ach-img img{animation-play-state:paused}
.ach-img .shine,.ach-img>a::after{content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:achshine 5.5s ease-in-out infinite;z-index:2;pointer-events:none}
.ach-img::before{content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:achshine 5.5s ease-in-out infinite;z-index:2;pointer-events:none}
@keyframes achshine{0%,55%{left:-60%}100%{left:140%}}
.ach-badge{animation:badgepulse 2.2s ease-in-out infinite}
@keyframes badgepulse{0%,100%{box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 0 rgba(255,198,0,.7)}50%{box-shadow:0 8px 20px rgba(0,0,0,.25),0 0 0 12px rgba(255,198,0,0)}}
.ach-badge svg{animation:trophywob 2.4s ease-in-out infinite;transform-origin:50% 80%}
@keyframes trophywob{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}75%{transform:rotate(14deg)}}
.ach-b{position:relative;overflow:hidden}
.ach-b::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,198,0,.55) 2px,transparent 3px),radial-gradient(circle,rgba(63,143,76,.4) 2px,transparent 3px);background-size:70px 90px,110px 130px;background-position:0 0,35px 40px;opacity:.5;animation:sparkle 14s linear infinite}
@keyframes sparkle{to{background-position:0 -180px,35px -220px}}
.ach-b>*{position:relative;z-index:1}
.ach-b h3{background:linear-gradient(90deg,var(--navy),var(--navy-3),var(--gold-d),var(--navy));background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.ach-c .prize span{opacity:0;transform:scale(.4) translateY(14px)}
.ach-c.in .prize span{animation:chippop .7s cubic-bezier(.34,1.56,.64,1) forwards,chipfloat 3.2s ease-in-out 1s infinite}
.ach-c.in .prize span:nth-child(1){animation-delay:.5s,1.2s}.ach-c.in .prize span:nth-child(2){animation-delay:.7s,1.5s}
.ach-c.in .prize span:nth-child(3){animation-delay:.9s,1.8s}.ach-c.in .prize span:nth-child(4){animation-delay:1.1s,2.1s}
@keyframes chippop{to{opacity:1;transform:none}}
@keyframes chipfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.ach-c .prize span{background:linear-gradient(90deg,var(--cream),#fff1a8,var(--cream));background-size:200% auto}
.ach-c.in .prize span{background-position:0}
.ach-c .dt{display:inline-block;position:relative}
.ach-c .dt::after{content:"";display:block;height:2px;width:0;background:var(--gold);animation:dtline 2.4s ease-in-out infinite alternate}
@keyframes dtline{to{width:100%}}
@media (prefers-reduced-motion:reduce){.ach-c::before,.ach-img img,.ach-img::before,.ach-badge,.ach-badge svg,.ach-b::before,.ach-b h3,.ach-c .prize span{animation:none!important}.ach-c .prize span{opacity:1;transform:none}}
.noanim .ach-c .prize span{opacity:1!important;transform:none!important}
.band .btns .btn.ghost{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.08);color:#fff;animation:none;box-shadow:none}
.band .btns .btn.ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--navy);box-shadow:0 12px 28px rgba(255,198,0,.45)}

/* slider: sharper presentation for photos */
.hero{height:min(70vh,620px)}
.hs img{object-position:center 28%;image-rendering:auto}
.hs.on img{animation:kenburns2 14s ease-out forwards}
@keyframes kenburns2{from{transform:scale(1)}to{transform:scale(1.035)}}

/* slider: visible slow zoom-in on every slide (different focus point each time) */
.hs img{transform:scale(1);will-change:transform}
.hs.on img{animation:zoomin 9s cubic-bezier(.2,.6,.3,1) forwards!important}
@keyframes zoomin{from{transform:scale(1)}to{transform:scale(1.14)}}
.hs:nth-child(3n+1) img{transform-origin:30% 40%}.hs:nth-child(3n+2) img{transform-origin:70% 45%}.hs:nth-child(3n) img{transform-origin:50% 30%}
.hs.on~.hs-cap{animation:none}
.hero-cap{animation:capin .9s var(--ease) both}
@keyframes capin{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hs.on img{animation:none!important}}
.noanim .hs.on img{animation:none!important}

.hs.on img{animation-duration:7s!important}

/* ===== achievements v3: layered poster layout ===== */
.am-list{display:grid;gap:clamp(56px,8vw,110px);padding:30px 0 10px}
.am{position:relative;display:grid;grid-template-columns:1.1fr 1fr;align-items:center}
.am.r .am-photo{order:2}
.am.rv.l{transform:translateX(-60px)}.am.rv.r{transform:translateX(60px)}.am.rv.in{transform:none}
.am-photo{position:relative;padding:0 18px 18px 0}
.am.r .am-photo{padding:0 0 18px 18px}
.am-blob{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;left:-9%;top:-14%;background:radial-gradient(circle at 35% 35%,rgba(111,174,60,.32),rgba(111,174,60,0) 70%);animation:blobmove 9s ease-in-out infinite alternate;z-index:0}
.am.r .am-blob{left:auto;right:-9%}
@keyframes blobmove{to{transform:translate(24px,18px) scale(1.12)}}
.am-dots{position:absolute;right:-6px;bottom:-26px;width:150px;height:110px;background-image:radial-gradient(var(--gold) 2.4px,transparent 3px);background-size:18px 18px;opacity:.9;z-index:0;animation:dotsdrift 6s linear infinite}
.am.r .am-dots{right:auto;left:-6px}
@keyframes dotsdrift{to{background-position:18px 18px}}
.am-frame{position:absolute;inset:18px 0 0 18px;border:3px solid var(--gold);border-radius:150px 28px 150px 28px;z-index:1;animation:framefloat 5s ease-in-out infinite alternate}
.am.r .am-frame{inset:18px 18px 0 0;border-radius:28px 150px 28px 150px}
@keyframes framefloat{to{transform:translate(6px,6px)}}
.am-img{position:relative;z-index:2;aspect-ratio:4/3.1;border-radius:150px 28px 150px 28px;overflow:hidden;background:var(--navy);box-shadow:0 26px 60px rgba(20,66,42,.28)}
.am.r .am-img{border-radius:28px 150px 28px 150px}
.am-img a{position:absolute;inset:0;display:block;cursor:zoom-in}
.am-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:achpan 16s ease-in-out infinite alternate;transition:filter .4s}
.am-img::after{content:"";position:absolute;top:0;left:-60%;width:35%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);animation:achshine 5.5s ease-in-out infinite;pointer-events:none}
.am-medal{position:absolute;z-index:4;left:-26px;top:-26px;width:124px;height:124px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff2a0,var(--gold) 55%,#d9a000);box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 0 0 5px rgba(255,255,255,.55);display:grid;place-items:center}
.am.r .am-medal{left:auto;right:-26px}
.am-medal svg{position:absolute;inset:0;width:100%;height:100%}
.am-medal .ring{transform-origin:60px 60px;animation:ldspin 16s linear infinite}
.am-medal text{font-family:"Poppins",sans-serif;font-weight:700;font-size:10.4px;letter-spacing:1.4px;fill:var(--navy)}
.am-medal .ic{position:relative;width:46px;height:46px;border-radius:50%;background:var(--navy);display:grid;place-items:center;animation:ldpulse 2.4s ease-in-out infinite}
.am-medal .ic svg{position:static;width:24px;height:24px;fill:var(--gold);animation:trophywob 2.6s ease-in-out infinite;transform-origin:50% 80%}
.am-card{position:relative;z-index:3;background:#fff;padding:clamp(26px,3.4vw,46px);margin-left:-110px;border-radius:30px 30px 120px 30px;box-shadow:0 30px 70px rgba(20,66,42,.2);border:1px solid var(--line)}
.am.r .am-card{margin-left:0;margin-right:-110px;border-radius:30px 30px 30px 120px}
.am-card::before{content:"";position:absolute;left:0;top:34px;width:6px;height:64px;border-radius:0 6px 6px 0;background:var(--gold)}
.am.r .am-card::before{left:auto;right:0;border-radius:6px 0 0 6px}
.am-no{position:absolute;right:26px;top:6px;font-family:"Playfair Display",serif;font-weight:700;font-size:96px;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,198,0,.55);pointer-events:none}
.am-card .dt{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-d);font-weight:700;margin-bottom:8px}
.am-card h3{font-size:clamp(22px,2.5vw,32px);position:relative;max-width:88%;background:linear-gradient(90deg,var(--navy),var(--navy-3),var(--gold-d),var(--navy));background-size:250% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.am-card .prose{font-size:15.5px}
.am-card .prose p{margin:0 0 .9em}
.am-card .prize{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.am-card .prize span{background:var(--cream);border:1px solid #f3e08a;color:var(--navy);padding:5px 14px;border-radius:30px;font-size:13px;font-weight:600;opacity:0;transform:scale(.4) translateY(14px)}
.am.in .prize span{animation:chippop .7s cubic-bezier(.34,1.56,.64,1) forwards,chipfloat 3.2s ease-in-out 1s infinite}
.am.in .prize span:nth-child(1){animation-delay:.5s,1.2s}.am.in .prize span:nth-child(2){animation-delay:.7s,1.5s}.am.in .prize span:nth-child(3){animation-delay:.9s,1.8s}.am.in .prize span:nth-child(4){animation-delay:1.1s,2.1s}
.am:hover .am-img img{animation-play-state:paused}
@media (max-width:900px){
	.am{grid-template-columns:1fr}
	.am.r .am-photo{order:0}
	.am-card,.am.r .am-card{margin:-60px 14px 0;border-radius:26px 26px 80px 26px}
	.am.r .am-card{border-radius:26px 26px 26px 80px}
	.am-medal{width:96px;height:96px;left:-8px;top:-18px}.am.r .am-medal{right:-8px;left:auto}
	.am-medal text{font-size:8.4px}
	.am-medal .ic{width:36px;height:36px}.am-medal .ic svg{width:18px;height:18px}
	.am-img,.am.r .am-img,.am-frame,.am.r .am-frame{border-radius:90px 22px 90px 22px}
	.am.r .am-img,.am.r .am-frame{border-radius:22px 90px 22px 90px}
	.am-no{font-size:64px}
	.am.rv.l,.am.rv.r{transform:translateY(40px)}
}
@media (prefers-reduced-motion:reduce){.am-blob,.am-dots,.am-frame,.am-img img,.am-img::after,.am-medal .ring,.am-medal .ic,.am-medal .ic svg,.am-card h3{animation:none!important}.am-card .prize span{opacity:1;transform:none;animation:none!important}}
.noanim .am-card .prize span{opacity:1!important;transform:none!important}
.am-card h3{max-width:calc(100% - 120px)}
@media (max-width:900px){.am-card h3{max-width:calc(100% - 70px)}}

/* ===== notice card (short single-paragraph pages) ===== */
.note-wrap{position:relative;max-width:880px;margin:30px auto 20px;padding:20px}
.note-dots{position:absolute;right:-6px;bottom:-14px;width:170px;height:120px;background-image:radial-gradient(var(--gold) 2.4px,transparent 3px);background-size:18px 18px;animation:dotsdrift 6s linear infinite;opacity:.85}
.note-wrap::before{content:"";position:absolute;left:-40px;top:-30px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(111,174,60,.34),rgba(111,174,60,0) 70%);animation:blobmove 8s ease-in-out infinite alternate}
.note-card{position:relative;z-index:2;background:#fff;padding:clamp(34px,5vw,60px) clamp(26px,5vw,64px) clamp(30px,4vw,48px);border-radius:120px 30px 120px 30px;box-shadow:0 30px 70px rgba(20,66,42,.2);text-align:center;overflow:hidden}
.note-card::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:3px;background:conic-gradient(from var(--a),var(--gold),rgba(255,198,0,0) 25%,rgba(63,143,76,0) 70%,var(--navy-3),var(--gold));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask-composite:exclude;animation:spinb 6s linear infinite;pointer-events:none}
.note-card::after{content:"\201C";position:absolute;right:46px;top:-16px;font-family:"Playfair Display",serif;font-size:190px;line-height:1;color:rgba(255,198,0,.28);pointer-events:none}
.note-ico{position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:var(--navy);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(255,198,0,.35);animation:noteping 2.4s ease-out infinite}
.note-ico svg{width:34px;height:34px;fill:var(--gold);animation:trophywob 2.8s ease-in-out infinite}
@keyframes noteping{0%{box-shadow:0 0 0 0 rgba(255,198,0,.7)}100%{box-shadow:0 0 0 22px rgba(255,198,0,0)}}
.note-tag{display:inline-block;margin:26px 0 14px;padding:5px 20px;border-radius:30px;background:var(--gold);color:var(--navy);font-weight:700;font-size:13px;letter-spacing:3px;text-transform:uppercase}
.note-card .prose{font-family:"Playfair Display",Georgia,serif;font-size:clamp(19px,2.3vw,25px);line-height:1.7;color:var(--navy);position:relative;z-index:1}
.note-card .prose p{margin:0;text-align:center}
.note-card .prose strong,.note-card .prose b{color:var(--navy-3)}
@media (max-width:640px){.note-card{border-radius:70px 24px 70px 24px}.note-card::after{font-size:120px;right:26px}}
@media (prefers-reduced-motion:reduce){.note-dots,.note-wrap::before,.note-card::before,.note-ico,.note-ico svg{animation:none!important}}
.note-card{overflow:visible;margin-top:44px}
.note-card .prose,.note-card .prose p,.note-card .prose *{text-align:center!important}
.note-card::after{overflow:hidden}

/* slider v3: the WHOLE photo is always visible (no cropping). A blurred copy of the same photo only fills any empty side space. */
.hero{height:min(78vh,700px);min-height:380px}
.hs::before{content:"";position:absolute;inset:-30px;background:var(--bg) center/cover no-repeat;filter:blur(26px) brightness(.85) saturate(1.1);transform:scale(1.05)}
.hs img{object-fit:contain!important;object-position:center center!important;z-index:1}
.hs.vid video{object-fit:contain}
.hs.on img{animation:zoomin2 12s ease-out forwards!important}
@keyframes zoomin2{from{transform:scale(1)}to{transform:scale(1.045)}}
@media (max-width:700px){.hero{height:auto;aspect-ratio:4/3;min-height:240px}}
.noanim .hs.on img{animation:none!important}
/* slider v4: full photo, no filler. Hero height follows the photo (js); any spare side space is plain white. */
.hero{background:#fff!important;transition:height .6s var(--ease);min-height:0}
.hs::before{display:none!important}
.hs img,.hs video{object-fit:contain!important;object-position:center!important;background:transparent}
.hs.on img{animation:none!important}
.hero-dots button{background:rgba(20,66,42,.35);box-shadow:none}
.hero-arrows button{background:rgba(11,41,22,.78)}
@media (max-width:700px){.hero{aspect-ratio:auto;height:56vw}}
/* slider v5: photo fills the whole slider (zoomed to fit the width, no empty space, no filler background).
   --focus (CMS > Photo Slider > Photo focus) decides which part of a tall photo stays in view. */
.hero{height:min(78vh,700px)!important;background:var(--navy-d)!important;min-height:340px;transition:none}
.hs img,.hs video{object-fit:cover!important;object-position:var(--focus,50% 55%)!important;width:100%;height:100%}
.hs::before{display:none!important}
.hs.on img{animation:zoomin3 11s ease-out forwards!important;transform-origin:var(--focus,50% 55%)}
@keyframes zoomin3{from{transform:scale(1)}to{transform:scale(1.06)}}
.noanim .hs.on img{animation:none!important}
.hero-dots button{background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.4)}
@media (max-width:700px){.hero{height:62vw!important;min-height:260px}}
/* ===== Governing Committee table ===== */
.gc-head{text-align:center;margin-bottom:26px}
.gc-head b{display:block;font-family:"Playfair Display",serif;font-size:clamp(20px,2.4vw,28px);color:var(--navy)}
.gc-head span{display:block;color:var(--muted);margin:4px 0 14px}
.gc-head h2{display:inline-block;margin:0;font-size:clamp(22px,3vw,34px);padding-bottom:10px;border-bottom:4px solid var(--gold)}
.gc-wrap{border-radius:22px;overflow:hidden;box-shadow:var(--sh-2);background:#fff;border:1px solid var(--line)}
.gc-table{width:100%;border-collapse:collapse;font-size:15.5px}
.gc-table thead th{background:linear-gradient(90deg,var(--navy-d),var(--navy),var(--navy-2));color:#fff;text-align:left;padding:16px 18px;font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700}
.gc-table tbody td{padding:15px 18px;border-top:1px solid var(--line);vertical-align:middle}
.gc-table tbody tr{transition:background .25s,transform .25s}
.gc-table tbody tr:nth-child(even){background:var(--bg)}
.gc-table tbody tr:hover{background:var(--cream)}
.gc-table tbody tr:hover .gc-no{background:var(--gold);color:var(--navy)}
.gc-table strong{color:var(--navy)}
.gc-no{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold);font-weight:700;font-size:14px;transition:all .3s}
.gc-tag{display:inline-block;padding:5px 14px;border-radius:30px;font-size:13px;font-weight:700;white-space:nowrap}
.gc-pres{background:#e3f1e6;color:#14522b}
.gc-mem{background:#eef1f4;color:#33414f}
.gc-tea{background:#fff2c2;color:#6b4e00}
.gc-key{margin:18px 0 0;padding:14px 18px;background:var(--bg);border-left:5px solid var(--gold);border-radius:0 12px 12px 0;font-size:14px;color:var(--muted)}
.gc-key b{color:var(--navy)}
.gc-wrap.in .gc-table tbody tr,.rv.in .gc-table tbody tr{animation:gcrow .6s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes gcrow{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@media (max-width:700px){
	.gc-table thead{display:none}
	.gc-table,.gc-table tbody,.gc-table tr,.gc-table td{display:block;width:100%}
	.gc-table tbody tr{padding:14px 16px;border-top:1px solid var(--line)}
	.gc-table tbody td{border:0;padding:4px 0;display:flex;gap:10px;align-items:center}
	.gc-table tbody td::before{content:attr(data-label);flex:none;width:112px;font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:700}
}
@media (prefers-reduced-motion:reduce){.rv.in .gc-table tbody tr{animation:none}}
.noanim .gc-table tbody tr{animation:none!important;opacity:1!important}
.gc-table thead th{background:var(--navy)!important}

/* ==========================================================================
   LIGHT THEMES  (body.lt.theme-beige / body.lt.theme-sky)  -  chosen in CMS > Site Content > Header & Footer.
   "classic" keeps the original dark green look. Everything below only applies when body has class "lt".
   ========================================================================== */
body.theme-beige{--navy:#7a4e2a;--navy-d:#3b2a1c;--navy-2:#93603a;--navy-3:#a8703a;--gold:#e3a72f;--gold-2:#f2cf7a;--gold-d:#a8730f;--cream:#fff3d3;--ink:#3a2d22;--muted:#7d6c5a;--line:#eadcc2;--bg:#f8f0e0;--page:#fffaf0;--surf:#f3e6cc;--surf2:#ebdab8;--on-surf:#4b3724;--leafc:rgba(227,167,47,.30)}
body.theme-sky{--navy:#2a95db;--navy-d:#14527f;--navy-2:#4aaaf0;--navy-3:#1f86cc;--gold:#ffb938;--gold-2:#ffd98a;--gold-d:#c27a00;--cream:#fff4d9;--ink:#1c3a52;--muted:#5d7a90;--line:#d4e9f7;--bg:#eaf6fd;--page:#f7fcff;--surf:#d9eefb;--surf2:#c4e4f7;--on-surf:#16476c;--leafc:rgba(74,170,240,.30)}
body.lt{background:var(--page);color:var(--ink)}
/* loader */
.lt #loader{background:radial-gradient(circle at 50% 40%,#fff,var(--surf) 78%);color:var(--on-surf)}
.lt .ld-name,.lt .ld-name span{color:var(--navy-d)!important;-webkit-text-fill-color:var(--navy-d)!important;text-shadow:none!important}
.lt .ld-tag{color:var(--gold-d)}
.lt .ld-bar{background:rgba(0,0,0,.1)}
.lt .ld-ring .trk{stroke:rgba(0,0,0,.1)}
.lt .ld-ring .arc{stroke:var(--gold)}.lt .ld-ring .arc2{stroke:var(--navy-3)}
.lt .ld-ring::before,.lt .ld-ring::after{border-color:var(--gold)}
.lt .ld-box::before{background:radial-gradient(circle,var(--leafc),transparent 65%)}
.lt .ld-orbit i{background:var(--gold);box-shadow:0 0 12px var(--gold)}
.lt .ld-orbit.o2 i{background:var(--navy-3);box-shadow:0 0 10px var(--navy-3)}
.lt .ld-orbit.o2 i:nth-child(2){background:var(--navy-d);box-shadow:none}
/* header */
.lt .site-header{background:var(--page)}
.lt .topbar{background:var(--surf2);color:var(--on-surf)}
.lt .topbar a{color:var(--on-surf)}.lt .topbar a:hover{color:var(--navy)}
.lt .topbar svg{fill:var(--gold-d)}
.lt .navrow{background:var(--surf)}
.lt .nav>ul>li>a{color:var(--on-surf)}
.lt .nav>ul>li:hover>a,.lt .nav>ul>li.active>a{color:var(--navy)}
.lt .nav .sub{background:var(--page);box-shadow:0 18px 40px rgba(60,40,10,.18)}
.lt .nav .sub a{color:var(--ink)}.lt .nav .sub a:hover{background:var(--cream);color:var(--navy)}
.lt .brand img{filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}
.lt .brand::before{border-color:var(--gold)}.lt .brand::after{border-color:var(--navy-3)}
.lt .site-header.scrolled{box-shadow:0 8px 30px rgba(60,40,10,.18)}
@media (max-width:1279px){
	.lt .nav{background:var(--page);box-shadow:-20px 0 60px rgba(60,40,10,.25)}
	.lt .nav>ul>li{border-bottom-color:var(--line)}
	.lt .nav>ul>li>a{color:var(--on-surf)}
	.lt .nav .sub{background:var(--bg);box-shadow:none}
	.lt .nav .sub a{color:var(--ink)}
	.lt .nav .sub a:hover{background:var(--cream);color:var(--navy)}
}
/* slider + banner strip */
.lt .hero{background:var(--surf)!important}
.lt .hero-intro{background:linear-gradient(120deg,var(--surf),var(--bg));color:var(--on-surf)}
.lt .hero-intro h1{color:var(--navy-d)}
.lt .hero-intro h1 em{background-image:linear-gradient(90deg,var(--gold-d),var(--gold),var(--gold-d))}
.lt .hero-intro .lead{color:var(--muted)}
.lt .hero-intro .eyebrow{color:var(--gold-d)}.lt .hero-intro .eyebrow::before{background:var(--gold-d)}
.lt .hero-intro .btn.ghost,.lt .band .btns .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;animation:none;box-shadow:none}
.lt .hero-intro .btn.ghost:hover,.lt .band .btns .btn.ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.lt .leafs i{background:var(--leafc)}
.lt .ticker{background:var(--surf2);color:var(--on-surf)}
.lt .ticker .mv a{color:var(--on-surf)}.lt .ticker .mv a:hover{color:var(--navy)}
.lt .ticker .lbl{color:var(--navy-d)}
.lt .big-marq{border-color:var(--navy-d)}
.lt .big-marq span{color:var(--navy-d)}.lt .big-marq span::after{color:var(--navy-2)}
/* dark sections -> light */
.lt .sec.dark{background:linear-gradient(160deg,var(--surf),var(--bg));color:var(--ink)}
.lt .sec.dark h2,.lt .sec.dark h3,.lt .sec.dark .sec-h h2{color:var(--navy-d)!important}
.lt .sec.dark .sec-h p{color:var(--muted)}
.lt .sec.dark .tab{border-color:var(--line);color:var(--navy);background:#fff}
.lt .sec.dark .tab:hover{border-color:var(--gold);color:var(--gold-d)}
.lt .sec.dark .tab.on{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.lt .tp-nav button{border-color:var(--line);color:var(--navy);background:#fff}
.lt .tp{box-shadow:0 12px 30px rgba(60,40,10,.14)}
.lt .band{background:linear-gradient(120deg,var(--surf),var(--surf2));color:var(--on-surf);box-shadow:0 22px 60px rgba(60,40,10,.15)}
.lt .band h2{color:var(--navy-d)}.lt .band p{color:var(--muted)}
.lt .band .kicker{color:var(--gold-d)!important}
.lt .band::before{background:radial-gradient(circle,var(--leafc),transparent 65%)}
.lt .pg-hero{background:linear-gradient(120deg,var(--surf),var(--bg));color:var(--on-surf)}
.lt .pg-hero h1{color:var(--navy-d)}
.lt .crumbs{color:var(--muted)}.lt .crumbs a{color:var(--gold-d)}
.lt .pg-hero::before{border-color:var(--gold)}.lt .pg-hero::after{background:var(--leafc)}
.lt .pg-wave svg{fill:var(--page)}
.lt .intro-art{background:linear-gradient(145deg,var(--surf),var(--surf2))}
.lt .intro-art .quote{color:var(--navy-d)}.lt .intro-art .quote small{color:var(--gold-d)}
.lt .intro-art::before{background:radial-gradient(circle,var(--leafc),transparent 65%)}
.lt .intro-art::after{border-color:var(--gold)}
.lt .intro-art .quote img{box-shadow:0 0 0 8px rgba(255,255,255,.7)}
/* footer */
.lt .site-footer{background:var(--surf);color:var(--on-surf)}
.lt .site-footer h4,.lt .ft-brand b{color:var(--navy-d)}
.lt .ft-brand small{color:var(--muted)!important}
.lt .site-footer a{color:var(--on-surf)}.lt .site-footer a:hover{color:var(--navy)}
.lt .ft-wave{background:var(--page)}.lt .ft-wave svg{fill:var(--surf)}
.lt .ft-bar{border-top-color:rgba(0,0,0,.1)}
.lt .ft-ct svg{fill:var(--gold-d)}
.lt .social a{background:rgba(0,0,0,.07);color:var(--navy)}.lt .social a:hover{background:var(--gold);color:var(--navy-d)}
/* decorative greens -> theme tint */
.lt .am-blob,.lt .note-wrap::before{background:radial-gradient(circle at 35% 35%,var(--leafc),transparent 70%)}
.lt .tp-ring .fg{stroke:var(--gold)}
.lt .hero-dots button{background:rgba(255,255,255,.6)}
.lt .gc-table thead th{background:var(--navy)!important}
.lt .vm .v{background:linear-gradient(145deg,var(--navy),var(--navy-2))}
.lt .pop-c{box-shadow:0 30px 90px rgba(60,40,10,.4)}
.lt .cform,.lt .panel,.lt .pillar,.lt .inst-c,.lt .stat,.lt .job,.lt .side-c{box-shadow:0 10px 30px rgba(60,40,10,.10)}
.lt .hero-cap{background:rgba(59,42,28,.82)}
.lt.theme-sky .hero-cap{background:rgba(18,63,97,.82)}
.lt .hero-arrows button{background:rgba(59,42,28,.78)}
.lt.theme-sky .hero-arrows button{background:rgba(18,63,97,.78)}
.lt .hero-arrows button:hover{background:var(--gold);color:var(--navy-d)}
.lt .prose{color:var(--ink)}
.lt .prose th{background:var(--navy)}
.lt .acc summary{color:var(--navy-d)}
.lt .doc b,.lt .news-i h4,.lt .date-b span,.lt .stat b,.lt .tp h3,.lt .tp-ring b{color:var(--navy-d)}
.lt .date-b b{background:var(--navy)}
.lt .btn.gold{color:var(--navy-d)}

/* Sky Blue: bright sky-blue menu bar with white links (desktop) */
@media (min-width:1280px){
.lt.theme-sky .navrow{background:linear-gradient(90deg,#2a95db,#4aaaf0 50%,#2a95db)}
.lt.theme-sky .nav>ul>li>a{color:#fff}
.lt.theme-sky .nav>ul>li:hover>a,.lt.theme-sky .nav>ul>li.active>a{color:var(--gold-2)}
.lt.theme-sky .nav>ul>li>a::before{background:var(--gold-2)}
.lt.theme-sky .navrow::after{background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.6}
}
.lt.theme-sky .topbar{background:#c4e4f7}
.lt.theme-sky .hero-intro{background:linear-gradient(120deg,#e6f5fe,#cfe9f9 55%,#e6f5fe)}
.lt.theme-sky .btn.navy,.lt.theme-sky .btn.gold{box-shadow:0 8px 22px rgba(42,149,219,.28)}
.lt.theme-sky .btn.gold{box-shadow:0 8px 22px rgba(255,185,56,.45)}
.lt.theme-sky .ico{background:linear-gradient(145deg,#2a95db,#4aaaf0);box-shadow:0 10px 22px rgba(42,149,219,.3)}
.lt.theme-sky .ico svg{fill:#fff}
.lt.theme-sky .sec.alt{background:var(--bg)}

/* ==========================================================================
   QUICK LINKS ROW (all themes)
   ========================================================================== */
.ql{background:var(--page,#fff);border-bottom:1px solid var(--line);box-shadow:0 14px 34px rgba(15,39,69,.07);position:relative;z-index:6}
.ql-in{display:grid;grid-template-columns:repeat(6,1fr)}
.ql a{display:flex;align-items:center;gap:14px;padding:22px 18px;color:var(--ink);border-right:1px solid var(--line);position:relative;overflow:hidden;transition:background .35s,transform .35s var(--ease)}
.ql a:last-child{border-right:0}
.ql a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.ql a:hover{background:var(--bg);color:var(--ink);transform:translateY(-3px)}
.ql a:hover::after{transform:scaleX(1)}
.ql-ico{flex:none;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--cream);transition:all .4s var(--ease);position:relative}
.ql-ico.ql-c0{background:#e3eefb}
.ql-ico svg{width:28px;height:28px;fill:var(--navy);transition:transform .4s var(--ease)}
.ql a:hover .ql-ico{background:var(--gold);box-shadow:0 0 0 7px rgba(244,197,66,.28)}
.ql a:hover .ql-ico svg{fill:var(--navy-d);transform:scale(1.15) rotate(-6deg)}
.ql-t b{display:block;font-size:15.5px;font-weight:600;color:var(--navy);line-height:1.25}
.ql-t small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;line-height:1.35}
@media (max-width:1100px){.ql-in{grid-template-columns:repeat(3,1fr)}.ql a:nth-child(3n){border-right:0}.ql a{border-bottom:1px solid var(--line)}}
@media (max-width:600px){.ql-in{grid-template-columns:repeat(2,1fr)}.ql a{padding:16px 12px;gap:10px}.ql a:nth-child(3n){border-right:1px solid var(--line)}.ql a:nth-child(2n){border-right:0}.ql-ico{width:46px;height:46px}.ql-ico svg{width:22px;height:22px}.ql-t b{font-size:13.5px}.ql-t small{font-size:11px}}

/* ==========================================================================
   ROYAL THEME  -  Navy Blue, Ivory & Gold  (navy #17365D, ivory #F7F8FA, gold #F4C542, red accent #E3262E)
   ========================================================================== */
body.theme-royal{--navy:#17365d;--navy-d:#0f2745;--navy-2:#1f4a7d;--navy-3:#2a5d99;--gold:#f4c542;--gold-2:#f8d97a;--gold-d:#b8890a;--cream:#fdf3d2;--ink:#1b2b40;--muted:#5b6b7f;--line:#e3e8ef;--bg:#f7f8fa;--page:#ffffff;--surf:#f1f4f9;--surf2:#e9eef5;--on-surf:#17365d;--leafc:rgba(244,197,66,.28);--red:#e3262e}
/* header */
.lt.theme-royal .topbar{background:#eef2f7;color:#2c3e57}
.lt.theme-royal .topbar a{color:#2c3e57}.lt.theme-royal .topbar a:hover{color:var(--navy)}
.lt.theme-royal .topbar svg{fill:var(--gold-d)}
.lt.theme-royal .topbar .tb-login{background:transparent;color:var(--navy);font-weight:600;font-size:13px;padding:3px 6px;border-radius:0}
.lt.theme-royal .topbar .tb-login:hover{background:transparent;color:var(--gold-d)}
.lt.theme-royal .brand img{height:70px}
.lt.theme-royal .brand-t b{font-size:30px;color:var(--navy);letter-spacing:.2px}
.lt.theme-royal .brand-t small{letter-spacing:3.4px;color:#5b6b7f}
.lt.theme-royal .hdr-cta .btn.sm{padding:13px 26px;font-size:16px;border-radius:8px}
.lt.theme-royal .hdr-cta .btn.gold{background:var(--gold);color:var(--navy-d);box-shadow:0 8px 20px rgba(244,197,66,.45)}
.lt.theme-royal .hdr-cta .btn.line{border-width:2px;border-color:var(--navy);color:var(--navy);background:#fff}
.lt.theme-royal .hdr-cta .btn.line:hover{background:var(--navy);color:#fff}
.lt.theme-royal .navrow{background:var(--navy)}
.lt.theme-royal .navrow::after{background:linear-gradient(90deg,transparent,var(--gold),transparent);height:2px}
@media (min-width:1280px){
	.lt.theme-royal .nav>ul>li>a{color:#fff}
	.lt.theme-royal .nav>ul>li:hover>a,.lt.theme-royal .nav>ul>li.active>a{color:var(--gold)}
	.lt.theme-royal .nav>ul>li>a::before{background:var(--gold);height:3px;bottom:0;left:var(--navpad,7px);right:var(--navpad,7px)}
}
.lt.theme-royal .nav .sub{border-top-color:var(--gold)}
.lt.theme-royal .nav .sub a:hover{background:#fff7dd;color:var(--navy)}
/* overlays */
.lt.theme-royal .hero-cap{background:rgba(15,39,69,.85)}
.lt.theme-royal .hero-arrows button{background:rgba(15,39,69,.78)}
.lt.theme-royal .hero-arrows button:hover{background:var(--gold);color:var(--navy-d)}
/* banner text strip (full layout) */
.lt.theme-royal .hero-intro{background:linear-gradient(120deg,#f7f8fa,#eef2f8 60%,#f7f8fa)}
.lt.theme-royal .hero-intro h1{color:var(--navy)}
.lt.theme-royal .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy)}
.lt.theme-royal .hero-intro .btn.gold{color:var(--navy-d)}
.lt.theme-royal .ticker{background:var(--navy);color:#fff}
.lt.theme-royal .ticker .mv a{color:#fff}.lt.theme-royal .ticker .mv a:hover{color:var(--gold)}
.lt.theme-royal .big-marq{background:var(--gold);border-color:var(--navy)}
.lt.theme-royal .big-marq span{color:var(--navy-d)}.lt.theme-royal .big-marq span::after{color:var(--navy)}
/* inner banners + band + footer = navy */
.lt.theme-royal .pg-hero{background:linear-gradient(120deg,var(--navy-d),var(--navy) 60%,var(--navy-2));color:#dbe5f2}
.lt.theme-royal .pg-hero h1{color:#fff}
.lt.theme-royal .crumbs{color:#b9c8de}.lt.theme-royal .crumbs a{color:var(--gold-2)}
.lt.theme-royal .pg-hero::before{border-color:rgba(244,197,66,.55)}.lt.theme-royal .pg-hero::after{background:rgba(244,197,66,.14)}
.lt.theme-royal .band{background:linear-gradient(120deg,var(--navy-d),var(--navy));color:#dbe5f2}
.lt.theme-royal .band h2{color:#fff}.lt.theme-royal .band p{color:#c3d2e8}
.lt.theme-royal .band .kicker{color:var(--gold-2)!important}
.lt.theme-royal .band .btns .btn.ghost{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.08)}
.lt.theme-royal .band .btns .btn.ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-d)}
.lt.theme-royal .site-footer{background:var(--navy);color:#cfdbec}
.lt.theme-royal .site-footer h4,.lt.theme-royal .ft-brand b{color:#fff}
.lt.theme-royal .ft-brand small{color:#9fb4d0!important}
.lt.theme-royal .site-footer a{color:#cfdbec}.lt.theme-royal .site-footer a:hover{color:var(--gold)}
.lt.theme-royal .ft-wave svg{fill:var(--navy)}
.lt.theme-royal .ft-bar{border-top-color:rgba(255,255,255,.14)}
.lt.theme-royal .ft-ct svg{fill:var(--gold)}
.lt.theme-royal .social a{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25)}.lt.theme-royal .social a:hover{background:var(--gold);color:var(--navy-d)}
.lt.theme-royal .ft-links{columns:2;column-gap:26px}.lt.theme-royal .ft-links li{break-inside:avoid}
.lt.theme-royal .ico{background:linear-gradient(145deg,var(--navy),var(--navy-2));box-shadow:0 10px 22px rgba(23,54,93,.28)}
.lt.theme-royal .ico svg{fill:var(--gold)}
.lt.theme-royal .am-no{-webkit-text-stroke:2px rgba(244,197,66,.6)}
.lt.theme-royal .cform,.lt.theme-royal .panel,.lt.theme-royal .pillar,.lt.theme-royal .inst-c,.lt.theme-royal .stat,.lt.theme-royal .job,.lt.theme-royal .side-c{box-shadow:0 10px 30px rgba(23,54,93,.10)}

/* ---------- ROYAL: split banner (text left, photo right, navy + gold diagonal stripes) ---------- */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:47%;position:relative;display:grid;grid-template-columns:1fr;background:linear-gradient(120deg,#f7f8fa,#eaf0f8);overflow:hidden;isolation:isolate}
body.hero-split .hero-wrap::before,body.hero-split .hero-wrap::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transform:translateX(70px);animation:stripein 1s .9s var(--ease) forwards}
body.hero-split .hero-wrap::before{background:var(--navy);clip-path:polygon(calc(var(--cut) - 8%) 0,100% 0,100% 100%,calc(var(--cut) - 18%) 100%)}
body.hero-split .hero-wrap::after{background:linear-gradient(110deg,var(--gold),#ffe08a,var(--gold));background-size:220% 100%;clip-path:polygon(calc(var(--cut) - 4%) 0,100% 0,100% 100%,calc(var(--cut) - 14%) 100%);animation:stripein 1s 1.05s var(--ease) forwards,goldflow 5s 2s linear infinite}
@keyframes stripein{to{opacity:1;transform:none}}
@keyframes goldflow{to{background-position:220% 0}}
body.hero-split .hero{grid-area:1/1;position:relative;z-index:2;height:auto!important;min-height:600px;background:transparent!important;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,calc(var(--cut) - 10%) 100%)}
body.hero-split .hero-intro{grid-area:1/1;position:relative;z-index:4;background:transparent;width:50%;display:flex;align-items:center;padding:60px 0 60px;pointer-events:none}
body.hero-split .hero-intro .wrap{display:block;max-width:none;padding:0 0 0 max(24px,calc((100vw - 1240px) / 2 + 20px))}
body.hero-split .hero-intro .hi-copy{max-width:560px}
body.hero-split .hero-intro .cta{flex-direction:row;flex-wrap:wrap;margin-top:26px;pointer-events:auto}
body.hero-split .hero-intro h1{font-size:clamp(32px,3.9vw,56px)}
body.hero-split .hero-intro h1::after{content:"";display:block;width:74px;height:4px;background:var(--gold);border-radius:4px;margin-top:16px;animation:grow2 2.4s ease-in-out infinite alternate}
@keyframes grow2{from{width:44px}to{width:120px}}
body.hero-split .hero-intro .lead{font-size:15.5px;max-width:520px}
body.hero-split .hero-intro .btn.gold,body.hero-split .hero-intro .btn.ghost{border-radius:8px;padding:15px 28px}
body.hero-split .hero-intro .btn.gold{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(23,54,93,.3);animation:none}
body.hero-split .hero-intro .btn.gold:hover{background:var(--navy-2);color:#fff}
body.hero-split .hero-intro .btn.gold svg{fill:#fff}
body.hero-split .hs img,body.hero-split .hs video{object-fit:cover!important}
body.hero-split .hero-ctl{z-index:5}
body.hero-split .hero-ctl .wrap{justify-content:flex-end;padding-right:24px}
body.hero-split .hero-dots{position:absolute;left:calc(var(--cut) + 4%);bottom:24px}
body.hero-split .hero-dots button{background:rgba(255,255,255,.7)}
body.hero-split .hero-cap{left:auto;right:24px;bottom:84px;text-align:right;border-left:0;border-right:4px solid var(--gold)}
body.hero-split .leafs{display:none}
}
@media (max-width:899px){
body.hero-split .hero{height:56vw!important;min-height:260px}
}
@media (prefers-reduced-motion:reduce){body.hero-split .hero-wrap::before,body.hero-split .hero-wrap::after{animation:none;opacity:1;transform:none}}
.noanim.hero-split .hero-wrap::before,.noanim.hero-split .hero-wrap::after{animation:none!important;opacity:1!important;transform:none!important}
/* royal fixes: specificity so the split banner stays transparent, readable button, roomier quick links */
body.lt.theme-royal.hero-split .hero-intro{background:transparent}
body.lt.theme-royal.hero-split .hero-intro .btn.gold{color:#fff!important;background:var(--navy)}
body.lt.theme-royal.hero-split .hero-intro .btn.gold:hover{background:var(--navy-2)}
.ql .wrap{max-width:1500px}
.ql a{padding:20px 14px;gap:12px}
.ql-ico{width:56px;height:56px}
.ql-ico svg{width:26px;height:26px}
.ql-t b{font-size:15px}
/* royal split banner v2: stripes lean "\" like the reference design and stay clear of the text */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:44%}
body.hero-split .hero-wrap::before{clip-path:polygon(calc(var(--cut) - 8%) 0,100% 0,100% 100%,calc(var(--cut) + 12%) 100%)}
body.hero-split .hero-wrap::after{clip-path:polygon(calc(var(--cut) - 4%) 0,100% 0,100% 100%,calc(var(--cut) + 16%) 100%)}
body.hero-split .hero{clip-path:polygon(var(--cut) 0,100% 0,100% 100%,calc(var(--cut) + 20%) 100%)}
body.hero-split .hero-intro h1{font-size:clamp(30px,3.3vw,50px)}
body.hero-split .hero-intro .hi-copy{max-width:500px}
body.hero-split .hero-intro .lead{max-width:460px;font-size:15px}
body.hero-split .hero-dots{left:calc(var(--cut) + 24%)}
}
@media (min-width:900px){body.hero-split .hero-dots{left:calc(var(--cut) + 19%)}}

/* ==========================================================================
   INFO CARDS (About / Latest News / Announcements) - reference layout
   ========================================================================== */
.info3{padding:34px 0 10px;background:var(--bg)}
.info3-in{display:grid;grid-template-columns:1.05fr 1.15fr 1.15fr;gap:22px;align-items:stretch}
.ic{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px 20px;box-shadow:0 6px 22px rgba(23,54,93,.06);position:relative;overflow:hidden;transition:box-shadow .4s,transform .4s var(--ease)}
.ic:hover{box-shadow:0 16px 38px rgba(23,54,93,.14);transform:translateY(-4px)}
.ic h3{font-size:22px;margin:0;color:var(--navy);font-family:"Playfair Display",serif}
.ic-bar{display:block;width:46px;height:3px;background:var(--gold);margin:10px 0 14px;border-radius:3px;transition:width .5s var(--ease)}
.ic:hover .ic-bar{width:90px}
.ic-about p{color:var(--muted);font-size:15px;line-height:1.75;margin:0 0 18px;position:relative;z-index:1}
.ic-about .btn{position:relative;z-index:1}
.ic-art{position:absolute;right:-18px;bottom:-26px;opacity:.08;pointer-events:none}
.ic-art svg{width:190px;height:190px;fill:var(--navy)}
.ic-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--line);margin-bottom:4px;position:relative}
.ic-h::after{content:"";position:absolute;left:0;bottom:-2px;width:46px;height:2px;background:var(--gold)}
.ic-all{font-size:13px;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ic-all svg{width:13px;height:13px;fill:currentColor;transition:transform .3s}
.ic-all:hover{color:var(--gold-d)}.ic-all:hover svg{transform:translateX(5px)}
.ic-row{display:flex;align-items:center;gap:14px;padding:11px 4px;color:var(--ink);border-bottom:1px solid var(--line);transition:background .3s,padding .3s var(--ease)}
.ic-row:last-child{border-bottom:0}
.ic-row:hover{background:var(--cream);padding-left:10px;color:var(--ink)}
.ic-date{flex:none;width:46px;height:46px;border-radius:7px;background:#eaf0f8;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;transition:background .3s}
.ic-date b{font-size:17px;color:var(--navy);font-weight:700}
.ic-date small{font-size:10px;letter-spacing:.6px;color:var(--navy-3);margin-top:3px;font-weight:600}
.ic-row:hover .ic-date{background:var(--gold)}
.ic-row:hover .ic-date b,.ic-row:hover .ic-date small{color:var(--navy-d)}
.ic-t{flex:1;font-size:14.5px;line-height:1.45;color:var(--ink)}
.ic-new{font-style:normal;font-size:10.5px;font-weight:700;color:#fff;background:var(--red,#e3262e);padding:2px 8px;border-radius:4px;margin-left:6px;vertical-align:middle;animation:newblink 1.8s ease-in-out infinite}
@keyframes newblink{0%,100%{opacity:1}50%{opacity:.55}}
.ic-pdf{flex:none}.ic-pdf svg{width:20px;height:20px;fill:#e3262e}
@media (max-width:1100px){.info3-in{grid-template-columns:1fr 1fr}.ic-about{grid-column:1/-1}}
@media (max-width:700px){.info3-in{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ic-new{animation:none}}

/* header buttons with icons */
.hdr-cta .btn svg{width:18px;height:18px;fill:currentColor}
.hdr-cta .btn.gold svg:last-child{margin-left:4px}
.lt.theme-royal .hdr-cta .btn{gap:10px}
.lt.theme-royal .brand img{height:78px}
.lt.theme-royal .brand-t b{font-size:36px}
.lt.theme-royal .brand-t small{font-size:12.5px}
.lt.theme-royal .brandrow{--brandrow:96px}

/* footer like the reference: brand | quick links (3 columns) | contact | follow us */
.lt.theme-royal .ft-main{grid-template-columns:1.3fr 1.5fr 1.1fr auto;align-items:start}
.lt.theme-royal .ft-links{columns:3;column-gap:22px}
.ft-follow .social{margin-top:0}
.lt.theme-royal .ft-brand img{height:74px;width:74px}
.lt.theme-royal .ft-brand b{font-size:30px}
.lt.theme-royal .ft-brand small{font-size:11.5px!important;letter-spacing:3px!important}
@media (max-width:1000px){.lt.theme-royal .ft-main{grid-template-columns:1fr 1fr}.lt.theme-royal .ft-links{columns:2}}
@media (max-width:600px){.lt.theme-royal .ft-main{grid-template-columns:1fr}}
/* tighter banner like the reference */
@media (min-width:900px){body.hero-split .hero{min-height:500px}body.hero-split .hero-intro{padding:44px 0}body.hero-split .hero-intro .lead{font-size:14.5px}}
.ft-main{padding-left:20px;padding-right:20px}
.lt.theme-royal .ft-main{grid-template-columns:1.6fr 1.3fr 1.1fr auto}
.lt.theme-royal .ft-brand b{font-size:27px;white-space:nowrap}
.lt.theme-royal .ft-brand small{letter-spacing:1.6px!important;white-space:normal}

/* smaller header buttons */
.lt.theme-royal .hdr-cta{gap:10px}
.lt.theme-royal .hdr-cta .btn.sm{padding:9px 18px;font-size:14px;border-radius:7px;gap:8px}
.lt.theme-royal .hdr-cta .btn svg{width:15px;height:15px}
.lt.theme-royal .hdr-cta .btn.line{border-width:1.5px}

/* split banner v3: thin navy + gold stripes leaning "\" exactly like the reference */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:39.4%;--lean:22%}
body.hero-split .hero-wrap::before{clip-path:polygon(calc(var(--cut) - 5.6%) 0,calc(var(--cut) - 2.2%) 0,calc(var(--cut) - 2.2% + var(--lean)) 100%,calc(var(--cut) - 5.6% + var(--lean)) 100%)}
body.hero-split .hero-wrap::after{clip-path:polygon(calc(var(--cut) - 2.2%) 0,var(--cut) 0,calc(var(--cut) + var(--lean)) 100%,calc(var(--cut) - 2.2% + var(--lean)) 100%)}
body.hero-split .hero{clip-path:polygon(var(--cut) 0,100% 0,100% 100%,calc(var(--cut) + var(--lean)) 100%)}
body.hero-split .hero-dots{left:calc(var(--cut) + var(--lean) + 3%)}
}
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:44%;--lean:19%}
body.hero-split .hero-intro h1{font-size:clamp(28px,2.9vw,44px)}
body.hero-split .hero-intro .hi-copy{max-width:min(480px,36vw)}
body.hero-split .hero-intro .lead{max-width:min(440px,34vw)}
}
/* tighter vertical spacing between sections */
.sec{padding:clamp(30px,4vw,54px) 0}
.sec-h{margin-bottom:28px}
.pillars{margin-top:34px}
.am-list{gap:clamp(34px,4.5vw,56px);padding:14px 0 0}
.info3{padding:26px 0 4px}
.pg-body{padding:34px 0 52px}
.ft-main{padding:40px 0 24px}
.ft-wave svg{height:30px}
.stat-row{margin-top:20px}
.band{padding:clamp(24px,3vw,38px)}
@media (max-width:700px){.sec{padding:28px 0}.sec-h{margin-bottom:20px}}
/* crisp logo: full-resolution file, no filter, and no 3D transform while the logo is at rest */
.brand img,.nav-mini-logo,.ft-brand img,.ld-ring img{image-rendering:auto;filter:none!important;backface-visibility:hidden}
@keyframes logoflip{0%,62%,100%{transform:none}72%{transform:perspective(500px) rotateY(180deg) scale(1.12)}82%{transform:perspective(500px) rotateY(360deg) scale(1)}90%{transform:perspective(500px) rotateY(360deg) scale(1.08)}}
@keyframes ldflip{0%{transform:none}50%{transform:perspective(600px) rotateY(180deg) scale(1.1)}100%{transform:perspective(600px) rotateY(360deg) scale(1)}}
.lt.theme-royal .brand img{height:84px;width:auto}
.brand img{width:auto}
.ld-ring img{padding:4px;background:#fff}
/* ==========================================================================
   split banner v4: photo fills the WHOLE banner, text sits transparently on it, navy + gold slash on top
   ========================================================================== */
@media (min-width:900px){
body.hero-split .hero-wrap{background:#0f2745}
body.hero-split .hero{clip-path:none!important;min-height:600px;height:min(84vh,680px)!important;background:#0f2745!important}
body.hero-split .hero-wrap::before,body.hero-split .hero-wrap::after{z-index:3}
body.hero-split .hero-intro{z-index:4;width:44%;padding:40px 0}
body.lt.theme-royal.hero-split .hero-intro{background:transparent}
body.hero-split .hero-intro .hi-copy{max-width:min(440px,31vw)}
body.hero-split .hero-intro .eyebrow{color:var(--gold-2);font-size:12px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
body.hero-split .hero-intro .eyebrow::before{background:var(--gold-2)}
body.hero-split .hero-intro h1{color:#fff;font-size:clamp(24px,2.5vw,38px);line-height:1.18;text-shadow:0 2px 14px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.5)}
body.hero-split .hero-intro h1 em{background:none;-webkit-text-fill-color:var(--gold);color:var(--gold);animation:none}
body.hero-split .hero-intro h1::after{margin-top:12px}
body.hero-split .hero-intro .lead{color:#fff;font-size:13px;line-height:1.65;max-width:min(400px,29vw);text-shadow:0 1px 10px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.6)}
body.lt.theme-royal.hero-split .hero-intro .btn.gold{background:var(--gold)!important;color:var(--navy-d)!important;font-size:14px;padding:12px 22px}
body.lt.theme-royal.hero-split .hero-intro .btn.gold svg{fill:var(--navy-d)}
body.lt.theme-royal.hero-split .hero-intro .btn.ghost{border-color:#fff;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(3px);font-size:14px;padding:12px 22px}
body.lt.theme-royal.hero-split .hero-intro .btn.ghost:hover{background:#fff;color:var(--navy)}
body.hero-split .hero-intro .cta{margin-top:20px}
body.hero-split .hero-dots{left:auto;right:100px;bottom:22px}
body.hero-split .hero-ctl .wrap{padding-right:30px}
}
@media (min-width:900px){
body.lt.theme-royal.hero-split .hero-intro h1{color:#fff}
body.lt.theme-royal.hero-split .hero-intro h1 em{color:var(--gold);-webkit-text-fill-color:var(--gold)}
body.lt.theme-royal.hero-split .hero-intro .lead{color:#fff}
body.hero-split .hero-intro .hi-copy{background:rgba(12,32,60,.46);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:26px 28px 22px;max-width:min(470px,33vw);box-shadow:0 18px 44px rgba(0,0,0,.25)}
body.hero-split .hero-intro .wrap{padding-left:max(24px,calc((100vw - 1240px) / 2 + 20px))}
body.hero-split .hero-intro .cta{background:transparent;margin-top:16px}
body.hero-split .hero-dots{right:170px}
}
@media (min-width:900px){body.hero-split .hero-dots{right:240px}}

/* ==========================================================================
   split banner v5: the earlier light design (text left, navy+gold slash, photo right)
   - photo is shown COMPLETE (object-fit:contain) inside a clean rectangle right of the slash
   ========================================================================== */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:40%;--lean:11%;background:linear-gradient(120deg,#f7f8fa,#e9eff7)}
body.hero-split .hero{height:min(78vh,620px)!important;min-height:520px;background:transparent!important;clip-path:polygon(var(--cut) 0,100% 0,100% 100%,calc(var(--cut) + var(--lean)) 100%)!important}
body.hero-split .hero-wrap::before{clip-path:polygon(calc(var(--cut) - 5.2%) 0,calc(var(--cut) - 2%) 0,calc(var(--cut) - 2% + var(--lean)) 100%,calc(var(--cut) - 5.2% + var(--lean)) 100%)}
body.hero-split .hero-wrap::after{clip-path:polygon(calc(var(--cut) - 2%) 0,var(--cut) 0,calc(var(--cut) + var(--lean)) 100%,calc(var(--cut) - 2% + var(--lean)) 100%)}
body.hero-split .hs{background:transparent}
body.hero-split .hs img,body.hero-split .hs video{left:calc(var(--cut) + var(--lean));width:calc(100% - var(--cut) - var(--lean));object-fit:contain!important;object-position:center!important;background:transparent}
body.hero-split .hs::before{display:none!important}
body.hero-split .hs.on img{animation:none!important}
/* text: dark on the light panel again, no glass box */
body.hero-split .hero-intro{width:40%;padding:40px 0}
body.hero-split .hero-intro .hi-copy{background:none;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;border-radius:0;padding:0;box-shadow:none;max-width:min(440px,33vw)}
body.lt.theme-royal.hero-split .hero-intro h1{color:var(--navy);text-shadow:none;font-size:clamp(26px,2.9vw,42px)}
body.lt.theme-royal.hero-split .hero-intro h1 em{color:var(--gold-d);-webkit-text-fill-color:var(--gold-d)}
body.hero-split .hero-intro .eyebrow{color:var(--gold-d);text-shadow:none}
body.hero-split .hero-intro .eyebrow::before{background:var(--gold-d)}
body.lt.theme-royal.hero-split .hero-intro .lead{color:var(--muted);text-shadow:none;font-size:14px;max-width:min(430px,32vw)}
body.lt.theme-royal.hero-split .hero-intro .btn.gold{background:var(--navy)!important;color:#fff!important}
body.lt.theme-royal.hero-split .hero-intro .btn.gold svg{fill:#fff}
body.lt.theme-royal.hero-split .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;backdrop-filter:none}
body.lt.theme-royal.hero-split .hero-intro .btn.ghost:hover{background:var(--navy);color:#fff}
body.hero-split .hero-intro .cta{margin-top:20px}
body.hero-split .hero-dots{left:calc(var(--cut) + var(--lean) + 3%);right:auto;bottom:16px}
body.hero-split .hero-dots button{background:rgba(23,54,93,.28)}
body.hero-split .hero-dots button i{background:var(--gold-d)}
}
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:38%;--lean:7%}
body.hero-split .hero{height:clamp(480px,36vw,560px)!important;min-height:0}
body.hero-split .hs img,body.hero-split .hs video{left:var(--cut);width:calc(100% - var(--cut))}
body.hero-split .hero-intro{width:38%}
body.hero-split .hero-intro .hi-copy{max-width:min(420px,31vw)}
body.lt.theme-royal.hero-split .hero-intro h1{font-size:clamp(24px,2.6vw,38px)}
body.lt.theme-royal.hero-split .hero-intro .lead{font-size:13.5px;max-width:min(400px,30vw)}
body.hero-split .hero-intro .cta{flex-wrap:nowrap;gap:10px}
body.lt.theme-royal.hero-split .hero-intro .btn.gold,body.lt.theme-royal.hero-split .hero-intro .btn.ghost{padding:12px 16px;font-size:13.5px;white-space:nowrap}
body.hero-split .hero-dots{left:calc(var(--cut) + 3%);bottom:12px}
}
@media (min-width:900px){body.lt.theme-royal.hero-split .hero-intro .lead{max-width:min(380px,25vw);font-size:13px}body.hero-split .hero-intro .hi-copy{max-width:min(400px,27vw)}body.lt.theme-royal.hero-split .hero-intro h1{font-size:clamp(24px,2.4vw,36px)}body.hero-split .hero-wrap{--cut:42%}}

/* split banner v6: the photo FILLS its area (no box). Banner height follows each photo (js), so nothing is cropped. */
@media (min-width:900px){
body.hero-split .hero{transition:height .5s var(--ease)}
body.hero-split .hs img,body.hero-split .hs video{object-fit:cover!important;object-position:center!important;top:0;height:100%}
}
/* split banner v7: narrower text column, slash moved to the left, bigger photo area */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:31%;--lean:6%}
body.hero-split .hero-intro{width:27%;padding:30px 0}
body.hero-split .hero-intro .wrap{padding-left:max(22px,calc((100vw - 1500px) / 2 + 22px))}
body.hero-split .hero-intro .hi-copy{max-width:min(300px,20vw)}
body.lt.theme-royal.hero-split .hero-intro h1{font-size:clamp(20px,1.9vw,29px);line-height:1.2}
body.lt.theme-royal.hero-split .hero-intro h1::after{width:50px;margin-top:10px}
body.hero-split .hero-intro .eyebrow{font-size:10.5px;letter-spacing:2px;gap:8px;margin-bottom:8px}
body.hero-split .hero-intro .eyebrow::before{width:24px}
body.lt.theme-royal.hero-split .hero-intro .lead{font-size:12px;line-height:1.6;max-width:min(300px,20vw);margin-top:2px}
body.hero-split .hero-intro .cta{flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}
body.lt.theme-royal.hero-split .hero-intro .btn.gold,body.lt.theme-royal.hero-split .hero-intro .btn.ghost{padding:9px 14px;font-size:12px}
body.hero-split .hero-dots{left:calc(var(--cut) + 3%)}
}
@media (min-width:900px) and (max-width:1200px){
body.hero-split .hero-wrap{--cut:36%}
body.hero-split .hero-intro{width:34%}
body.hero-split .hero-intro .hi-copy,body.lt.theme-royal.hero-split .hero-intro .lead{max-width:260px}
}
@media (min-width:900px){body.hero-split .hero-intro{padding:20px 0}body.hero-split .hero{transition:none}}

/* ==========================================================================
   ROYAL "card" banner: full-width photo shown complete, text card overlapping its bottom-left corner
   ========================================================================== */
body.hero-card .hero-wrap{position:relative;background:var(--page)}
body.hero-card .hero{height:auto;min-height:0;background:#e9eef5!important;clip-path:none;transition:none}
body.hero-card .hs img,body.hero-card .hs video{object-fit:cover!important;object-position:center!important;left:0;width:100%;top:0;height:100%}
body.hero-card .hs::before{display:none!important}
body.hero-card .hs.on img{animation:none!important}
body.hero-card .hero-shapes,body.hero-card .leafs{display:none}
body.hero-card .hero-cap{display:none}
body.hero-card .hero-wrap::before,body.hero-card .hero-wrap::after{content:"";position:absolute;top:0;bottom:0;right:0;pointer-events:none;z-index:3}
body.hero-card .hero-wrap::before{width:11%;background:var(--navy);clip-path:polygon(62% 0,78% 0,38% 100%,22% 100%);right:2.2%}
body.hero-card .hero-wrap::after{width:11%;background:var(--gold);clip-path:polygon(80% 0,92% 0,52% 100%,40% 100%);right:2.2%}
body.hero-card .hero-intro{position:absolute;z-index:5;left:max(20px,calc((100vw - 1240px) / 2));bottom:34px;width:min(480px,calc(100% - 40px));padding:0;background:#fff;border-radius:6px 18px 18px 6px;border-left:7px solid var(--gold);box-shadow:-7px 0 0 var(--navy),0 22px 50px rgba(15,39,69,.28)}
body.lt.theme-royal.hero-card .hero-intro{background:#fff}
body.hero-card .hero-intro .wrap{display:block;max-width:none;margin:0;padding:22px 26px 22px}
body.hero-card .hero-intro .hi-copy{max-width:none}
body.hero-card .hero-intro .eyebrow{font-size:11px;letter-spacing:2.4px;margin-bottom:8px;color:var(--gold-d)}
body.hero-card .hero-intro .eyebrow::before{width:26px;background:var(--gold-d)}
body.lt.theme-royal.hero-card .hero-intro h1{font-size:clamp(22px,2.2vw,32px);line-height:1.2;color:var(--navy);text-shadow:none;margin-bottom:.35em}
body.lt.theme-royal.hero-card .hero-intro h1 em{color:var(--gold-d);-webkit-text-fill-color:var(--gold-d);background:none;animation:none}
body.hero-card .hero-intro h1::after{content:"";display:block;width:56px;height:4px;background:var(--gold);border-radius:4px;margin-top:10px;animation:grow2 2.4s ease-in-out infinite alternate}
body.lt.theme-royal.hero-card .hero-intro .lead{font-size:13px;line-height:1.65;color:var(--muted);max-width:none;text-shadow:none;margin:0}
body.hero-card .hero-intro .cta{flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:16px}
body.lt.theme-royal.hero-card .hero-intro .btn.gold{background:var(--navy)!important;color:#fff!important;padding:10px 18px;font-size:13px;animation:none}
body.lt.theme-royal.hero-card .hero-intro .btn.gold svg{fill:#fff}
body.lt.theme-royal.hero-card .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;padding:10px 18px;font-size:13px;backdrop-filter:none}
body.lt.theme-royal.hero-card .hero-intro .btn.ghost:hover{background:var(--navy);color:#fff}
body.hero-card .hero-ctl{bottom:16px}
body.hero-card .hero-ctl .wrap{justify-content:flex-end;gap:14px}
body.hero-card .hero-dots{margin-left:auto}
body.hero-card .hero-arrows{margin-left:6px}
body.hero-card .hero-dots button{background:rgba(255,255,255,.65);box-shadow:0 1px 4px rgba(0,0,0,.4)}
.noanim.hero-card .hero-intro h1::after{animation:none!important}
@media (max-width:899px){
body.hero-card .hero-wrap::before,body.hero-card .hero-wrap::after{display:none}
body.hero-card .hero-intro{position:relative;left:auto;bottom:auto;margin:-26px 14px 0;width:auto;z-index:6}
body.hero-card .hero-intro .wrap{padding:18px 18px}
body.hero-card .hero{min-height:200px}
}
/* ==========================================================================
   ROYAL "showcase" banner: big photo (shown complete) + right panel with text and clickable photo thumbnails
   ========================================================================== */
.hero-thumbs-wrap{display:none}
@media (min-width:900px){
body.hero-show .hero-wrap{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,27vw,400px);background:var(--bg);align-items:stretch;border-bottom:4px solid var(--gold)}
body.hero-show .hero{grid-column:1;grid-row:1;height:auto;min-height:0;background:#e9eef5!important;clip-path:none;transition:none}
body.hero-show .hs img,body.hero-show .hs video{object-fit:cover!important;object-position:center!important;left:0;top:0;width:100%;height:100%}
body.hero-show .hs::before{display:none!important}
body.hero-show .hs.on img{animation:none!important}
body.hero-show .hero-cap,body.hero-show .hero-shapes,body.hero-show .leafs{display:none}
body.hero-show .hero-intro{grid-column:2;grid-row:1;position:relative;display:flex;flex-direction:column;justify-content:center;padding:22px 0 18px;background:linear-gradient(180deg,#fff,#eef3f9);border-left:6px solid var(--navy);box-shadow:-6px 0 0 var(--gold);z-index:4}
body.hero-show .hero-intro>.wrap{display:block;max-width:none;margin:0;padding:0 26px}
body.hero-show .hero-intro .hi-copy{max-width:none}
body.hero-show .hero-intro .eyebrow{font-size:10.5px;letter-spacing:2.2px;margin-bottom:8px;color:var(--gold-d)}
body.hero-show .hero-intro .eyebrow::before{width:22px;background:var(--gold-d)}
body.lt.theme-royal.hero-show .hero-intro h1{font-size:clamp(22px,1.9vw,29px);line-height:1.2;color:var(--navy);text-shadow:none;margin-bottom:.3em}
body.lt.theme-royal.hero-show .hero-intro h1 em{color:var(--gold-d);-webkit-text-fill-color:var(--gold-d);background:none;animation:none}
body.hero-show .hero-intro h1::after{content:"";display:block;width:50px;height:4px;background:var(--gold);border-radius:4px;margin-top:9px;animation:grow2 2.4s ease-in-out infinite alternate}
body.lt.theme-royal.hero-show .hero-intro .lead{font-size:12.5px;line-height:1.6;color:var(--muted);max-width:none;text-shadow:none;margin:0;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
body.hero-show .hero-intro .cta{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:14px}
body.lt.theme-royal.hero-show .hero-intro .btn.gold{background:var(--navy)!important;color:#fff!important;padding:9px 14px;font-size:12px;animation:none}
body.lt.theme-royal.hero-show .hero-intro .btn.gold svg{fill:#fff}
body.lt.theme-royal.hero-show .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;padding:9px 14px;font-size:12px;backdrop-filter:none}
body.lt.theme-royal.hero-show .hero-intro .btn.ghost:hover{background:var(--navy);color:#fff}
body.hero-show .hero-thumbs-wrap{display:block;margin-top:16px}
body.hero-show .hero-thumbs-wrap.wrap{padding:0 26px;max-width:none;margin-left:0;margin-right:0}
body.hero-show .hero-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
body.hero-show .ht{padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#dfe7f1;aspect-ratio:4/3;position:relative;opacity:.68;transition:all .3s var(--ease)}
body.hero-show .ht img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
body.hero-show .ht:hover{opacity:1;transform:translateY(-3px)}
body.hero-show .ht:hover img{transform:scale(1.12)}
body.hero-show .ht.on{opacity:1;border-color:var(--gold);box-shadow:0 0 0 2px var(--navy)}
body.hero-show .hero-ctl{bottom:14px}
body.hero-show .hero-ctl .wrap{justify-content:flex-start;padding-left:18px;max-width:none;margin:0}
body.hero-show .hero-dots button{background:rgba(255,255,255,.7);box-shadow:0 1px 4px rgba(0,0,0,.45)}
body.hero-show .hero-arrows{margin-left:auto;margin-right:14px}
.noanim.hero-show .hero-intro h1::after{animation:none!important}
}
@media (max-width:899px){
body.hero-show .hero{min-height:200px}
body.hero-show .hero-intro{background:#fff;border-top:4px solid var(--gold)}
body.hero-show .hero-intro .wrap{padding:18px}
}
@media (min-width:900px){body.hero-show .hero-thumbs-wrap{margin-top:22px}body.lt.theme-royal.hero-show .hero-intro .btn.gold,body.lt.theme-royal.hero-show .hero-intro .btn.ghost{padding:8px 12px;font-size:11.5px}body.hero-show .hero-intro .cta{flex-wrap:nowrap;gap:6px}}

@media (min-width:900px){body.hero-show .hero-thumbs{grid-template-columns:repeat(6,1fr);gap:5px}body.hero-show .ht{aspect-ratio:1;border-radius:6px}body.lt.theme-royal.hero-show .hero-intro .lead{-webkit-line-clamp:4}body.hero-show .hero-intro{padding:16px 0 14px}body.hero-show .hero-intro .eyebrow{margin-bottom:6px}body.hero-show .hero-intro .cta{margin-top:12px}body.hero-show .hero-thumbs-wrap{margin-top:14px}}

/* ==========================================================================
   ROYAL "slash" banner = the original look: small text on the left, slim light slash, photo on the right shown COMPLETE
   The banner height follows each photo (js), so the photo is never cropped; the slash only overlays its far-left edge.
   ========================================================================== */
@media (min-width:900px){
body.hero-slash .hero-wrap{--cut:35%;display:grid;grid-template-columns:var(--cut) minmax(0,1fr);background:linear-gradient(120deg,#f8f9fb,#eaf0f8);overflow:hidden;position:relative}
body.hero-slash .hero{grid-column:2;grid-row:1;height:auto;min-height:0;background:#e9eef5!important;clip-path:none;transition:none}
body.hero-slash .hs img,body.hero-slash .hs video{object-fit:cover!important;object-position:center!important;left:0;top:0;width:100%;height:100%}
body.hero-slash .hs::before{display:none!important}
body.hero-slash .hs.on img{animation:none!important}
body.hero-slash .hero-cap,body.hero-slash .hero-shapes,body.hero-slash .leafs,body.hero-slash .hero-thumbs-wrap{display:none}
body.hero-slash .hero-wrap::before,body.hero-slash .hero-wrap::after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--cut) - 66px);width:80px;pointer-events:none;z-index:4;opacity:0;transform:translateX(-30px);animation:stripein 1s .6s var(--ease) forwards}
body.hero-slash .hero-wrap::before{background:rgba(23,54,93,.62);clip-path:polygon(0 0,11px 0,51px 100%,40px 100%)}
body.hero-slash .hero-wrap::after{background:rgba(244,197,66,.9);clip-path:polygon(17px 0,23px 0,63px 100%,57px 100%);animation:stripein 1s .75s var(--ease) forwards}
body.hero-slash .hero-intro{grid-column:1;grid-row:1;position:relative;z-index:3;display:flex;align-items:center;background:transparent;width:auto;padding:24px 0 24px}
body.hero-slash .hero-intro>.wrap{display:block;max-width:none;margin:0;padding:0 40px 0 max(24px,calc((100vw - 1240px) / 2 + 20px))}
body.hero-slash .hero-intro .hi-copy{max-width:min(360px,100%)}
body.hero-slash .hero-intro .eyebrow{font-size:10.5px;letter-spacing:2.2px;margin-bottom:8px;color:var(--gold-d)}
body.hero-slash .hero-intro .eyebrow::before{width:24px;background:var(--gold-d)}
body.lt.theme-royal.hero-slash .hero-intro h1{font-size:clamp(21px,2vw,30px);line-height:1.2;color:var(--navy);text-shadow:none;margin-bottom:.35em}
body.lt.theme-royal.hero-slash .hero-intro h1 em{color:var(--gold-d);-webkit-text-fill-color:var(--gold-d);background:none;animation:none}
body.hero-slash .hero-intro h1::after{content:"";display:block;width:50px;height:4px;background:var(--gold);border-radius:4px;margin-top:10px;animation:grow2 2.4s ease-in-out infinite alternate}
body.lt.theme-royal.hero-slash .hero-intro .lead{font-size:12.5px;line-height:1.65;color:var(--muted);max-width:none;text-shadow:none;margin:0}
body.hero-slash .hero-intro .cta{flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:16px}
body.lt.theme-royal.hero-slash .hero-intro .btn.gold{background:var(--navy)!important;color:#fff!important;padding:9px 15px;font-size:12px;animation:none}
body.lt.theme-royal.hero-slash .hero-intro .btn.gold svg{fill:#fff}
body.lt.theme-royal.hero-slash .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;padding:9px 15px;font-size:12px;backdrop-filter:none}
body.lt.theme-royal.hero-slash .hero-intro .btn.ghost:hover{background:var(--navy);color:#fff}
body.hero-slash .hero-ctl{bottom:14px}
body.hero-slash .hero-ctl .wrap{justify-content:flex-start;padding-left:18px;max-width:none;margin:0}
body.hero-slash .hero-dots button{background:rgba(255,255,255,.75);box-shadow:0 1px 4px rgba(0,0,0,.45)}
body.hero-slash .hero-arrows{margin-left:auto;margin-right:14px}
.noanim.hero-slash .hero-wrap::before,.noanim.hero-slash .hero-wrap::after{animation:none!important;opacity:1!important;transform:none!important}
.noanim.hero-slash .hero-intro h1::after{animation:none!important}
}
@media (max-width:899px){
body.hero-slash .hero-wrap::before,body.hero-slash .hero-wrap::after{display:none}
body.hero-slash .hero-intro{background:#fff;border-top:4px solid var(--gold)}
body.hero-slash .hero-thumbs-wrap{display:none}
}
@media (min-width:900px){body.hero-slash .hero-intro>.wrap{width:100%;box-sizing:border-box;padding-left:clamp(24px,calc((100vw - 1240px) / 2 + 20px),150px);padding-right:34px}body.hero-slash .hero-intro .hi-copy{max-width:100%}}

@media (min-width:900px){body.hero-slash .hero-intro{display:grid!important;align-content:center;align-items:start}body.hero-slash .hero-intro>.wrap{width:auto;justify-self:stretch}}

@media (min-width:900px){body.hero-slash .hero-intro>.hero-thumbs-wrap{display:none!important}body.hero-slash .hero-intro>.wrap{padding-right:96px}}

/* slash v2: bold slanted navy + gold bands like the live design, but placed LEFT of the photo so the photo stays complete */
@media (min-width:900px){
body.hero-slash .hero-wrap{--cut:34%}
body.hero-slash .hero-wrap::before,body.hero-slash .hero-wrap::after{left:calc(var(--cut) - 172px);width:172px}
body.hero-slash .hero-wrap::before{background:var(--navy);opacity:0;clip-path:polygon(0 0,46px 0,138px 100%,92px 100%)}
body.hero-slash .hero-wrap::after{background:#f7c948;clip-path:polygon(52px 0,76px 0,168px 100%,144px 100%)}
body.hero-slash .hero-intro>.wrap{padding-left:clamp(22px,2.6vw,48px);padding-right:clamp(120px,10vw,170px)}
body.hero-slash .hero-intro .hi-copy{max-width:100%}
body.lt.theme-royal.hero-slash .hero-intro h1{font-size:clamp(20px,1.75vw,28px)}
body.lt.theme-royal.hero-slash .hero-intro .lead{font-size:12px}
body.hero-slash .hero-intro .cta{gap:7px}
body.lt.theme-royal.hero-slash .hero-intro .btn.gold,body.lt.theme-royal.hero-slash .hero-intro .btn.ghost{padding:8px 13px;font-size:11.5px}
}

/* slash v5 = live design (light text panel, bold navy + gold slash) with the photo shown COMPLETE on the right */
@media (min-width:900px){
body.hero-slash .hero-wrap{--cut:36%;background:linear-gradient(120deg,#f8f9fb,#eaf0f8)}
body.hero-slash .hero-wrap::before{left:calc(var(--cut) - 190px);width:190px;background:var(--navy);clip-path:polygon(0 0,66px 0,152px 100%,86px 100%)}
body.hero-slash .hero-wrap::after{left:calc(var(--cut) - 190px);width:190px;background:#f7c948;clip-path:polygon(74px 0,100px 0,186px 100%,160px 100%)}
body.hero-slash .hero-intro>.wrap{padding-left:clamp(22px,3.2vw,60px);padding-right:clamp(110px,9vw,160px)}
body.lt.theme-royal.hero-slash .hero-intro h1{font-size:clamp(22px,2.3vw,34px)}
body.lt.theme-royal.hero-slash .hero-intro .lead{font-size:12.5px}
}

@media (min-width:900px){body.hero-slash .hero-intro>.wrap{padding-right:clamp(150px,12.5vw,200px)}}

/* ==========================================================================
   SPLIT v8 (the design that is live): text left, slanted navy+gold slash, photo right.
   The photo is shown COMPLETE (contain) in the box right of the slash; the banner height follows the photo (js).
   ========================================================================== */
@media (min-width:900px){
body.hero-split .hero-wrap{--cut:38%;--lean:7%;background:linear-gradient(120deg,#f7f8fa,#e9eff7)}
body.hero-split .hero{background:transparent!important;clip-path:none!important;min-height:0;height:auto;transition:none}
body.hero-split .hero-wrap::before{clip-path:polygon(calc(var(--cut) - 5.4%) 0,calc(var(--cut) - 2%) 0,calc(var(--cut) - 2% + var(--lean)) 100%,calc(var(--cut) - 5.4% + var(--lean)) 100%)}
body.hero-split .hero-wrap::after{clip-path:polygon(calc(var(--cut) - 2%) 0,calc(var(--cut) + 0.8%) 0,calc(var(--cut) + 0.8% + var(--lean)) 100%,calc(var(--cut) - 2% + var(--lean)) 100%)}
body.hero-split .hs{background:transparent}
body.hero-split .hs img,body.hero-split .hs video{left:calc(var(--cut) + var(--lean) + .8%);width:calc(100% - var(--cut) - var(--lean) - .8%);top:0;height:100%;object-fit:contain!important;object-position:center!important;background:transparent}
body.hero-split .hs.on img{animation:none!important}
body.hero-split .hero-intro{width:calc(var(--cut) - 3%);padding:16px 0}
body.hero-split .hero-intro .wrap{padding-left:max(22px,calc((100vw - 1500px) / 2 + 22px));padding-right:0}
body.hero-split .hero-intro .hi-copy{max-width:min(330px,22vw)}
body.lt.theme-royal.hero-split .hero-intro h1{font-size:clamp(20px,1.9vw,29px);line-height:1.18;margin-bottom:.3em}
body.lt.theme-royal.hero-split .hero-intro h1::after{width:46px;margin-top:9px}
body.hero-split .hero-intro .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:7px;gap:8px}
body.hero-split .hero-intro .eyebrow::before{width:22px}
body.lt.theme-royal.hero-split .hero-intro .lead{font-size:11.5px;line-height:1.6;max-width:min(330px,22vw);margin:0}
body.hero-split .hero-intro .cta{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:7px;margin-top:12px}
body.lt.theme-royal.hero-split .hero-intro .btn.gold,body.lt.theme-royal.hero-split .hero-intro .btn.ghost{padding:8px 13px;font-size:11.5px;white-space:nowrap}
body.hero-split .hero-dots{left:calc(var(--cut) + var(--lean) + 2%);right:auto;bottom:10px}
body.hero-split .hero-ctl .wrap{padding-right:18px}
}
@media (min-width:900px) and (max-width:1200px){body.hero-split .hero-wrap{--cut:42%}body.hero-split .hero-intro .hi-copy,body.lt.theme-royal.hero-split .hero-intro .lead{max-width:240px}}
/* split v9: the photo sits in a framed BOX (rounded, white border, shadow) and is shown complete inside it */
@media (min-width:900px){
body.hero-split .hero-thumbs-wrap{display:none!important}
body.hero-split .hero-slides{inset:auto;position:absolute;left:calc(var(--cut) + var(--lean) + 1.5%);right:3%;top:18px;bottom:46px;border-radius:16px;overflow:hidden;background:#fff;border:4px solid #fff;box-shadow:0 18px 44px rgba(15,39,69,.28),0 0 0 1px rgba(15,39,69,.08)}
body.hero-split .hs img,body.hero-split .hs video{left:0;top:0;width:100%;height:100%;object-fit:contain!important;object-position:center!important;background:#fff}
body.hero-split .hs.on img{animation:none!important}
body.hero-split .hero-dots{bottom:16px;left:calc(var(--cut) + var(--lean) + 2.5%)}
body.hero-split .hero-ctl .wrap{padding-right:calc(3% + 8px);justify-content:flex-end}
body.hero-split .hero-ctl{bottom:6px}
body.hero-split .hero-arrows{margin-left:auto}
body.hero-split .hero-cap{display:none}
}
/* ==========================================================================
   LIVE design (hero-live): big text left, bold navy+gold slash, photo on the right shown COMPLETE (contain).
   Banner height follows the photo (js), so nothing is cut except the tiny corner under the slash.
   ========================================================================== */
.hero-live .hero-thumbs-wrap{display:none}
@media (min-width:900px){
body.hero-live .hero-wrap{--cut:43%;--lean:17%;position:relative;display:grid;overflow:hidden;background:linear-gradient(120deg,#f8f9fb,#e9eff7)}
body.hero-live .hero{grid-area:1/1;height:auto;min-height:0;background:transparent!important;z-index:2;transition:none;clip-path:polygon(calc(var(--cut) + 1.3%) 0,100% 0,100% 100%,calc(var(--cut) + 1.3% + var(--lean)) 100%)}
body.hero-live .hs{background:transparent}
body.hero-live .hs::before{display:none!important}
body.hero-live .hs img,body.hero-live .hs video{left:calc(var(--cut) + 1.3% + var(--lean) * .45);width:calc(100% - var(--cut) - 1.3% - var(--lean) * .45);top:0;height:100%;object-fit:contain!important;object-position:right center!important;background:transparent}
body.hero-live .hs.on img{animation:none!important}
body.hero-live .hero-cap,body.hero-live .hero-shapes,body.hero-live .leafs{display:none}
body.hero-live .hero-wrap::before,body.hero-live .hero-wrap::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;transform:translateX(60px);animation:stripein 1s .6s var(--ease) forwards}
body.hero-live .hero-wrap::before{background:var(--navy);clip-path:polygon(calc(var(--cut) - 5.6%) 0,calc(var(--cut) - 1.1%) 0,calc(var(--cut) - 1.1% + var(--lean)) 100%,calc(var(--cut) - 5.6% + var(--lean)) 100%)}
body.hero-live .hero-wrap::after{background:linear-gradient(110deg,var(--gold),#ffe08a,var(--gold));background-size:220% 100%;clip-path:polygon(calc(var(--cut) - 1.1%) 0,calc(var(--cut) + 1.3%) 0,calc(var(--cut) + 1.3% + var(--lean)) 100%,calc(var(--cut) - 1.1% + var(--lean)) 100%);animation:stripein 1s .75s var(--ease) forwards,goldflow 5s 2s linear infinite}
body.hero-live .hero-intro{grid-area:1/1;position:relative;z-index:4;background:transparent;width:calc(var(--cut) - 2%);display:flex;align-items:center;padding:30px 0}
body.hero-live .hero-intro>.wrap{display:block;max-width:none;margin:0;padding:0 0 0 max(28px,calc((100vw - 1500px) / 2 + 40px))}
body.hero-live .hero-intro .hi-copy{max-width:min(620px,34vw)}
body.hero-live .hero-intro .eyebrow{font-size:clamp(10px,.8vw,13px);letter-spacing:3px}
body.lt.theme-royal.hero-live .hero-intro h1{font-size:clamp(26px,2.9vw,50px);line-height:1.18;color:var(--navy);text-shadow:none}
body.lt.theme-royal.hero-live .hero-intro h1 em{color:var(--gold-d);-webkit-text-fill-color:var(--gold-d);background:none;animation:none}
body.hero-live .hero-intro h1::after{content:"";display:block;width:64px;height:4px;background:var(--gold);border-radius:4px;margin-top:14px;animation:grow2 2.4s ease-in-out infinite alternate}
body.lt.theme-royal.hero-live .hero-intro .lead{font-size:clamp(12px,.95vw,15.5px);line-height:1.75;color:var(--muted);max-width:min(560px,31vw);margin:0}
body.hero-live .hero-intro .cta{flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:22px}
body.lt.theme-royal.hero-live .hero-intro .btn.gold{background:var(--navy)!important;color:#fff!important;padding:12px 22px;font-size:clamp(12px,.9vw,15px);animation:none}
body.lt.theme-royal.hero-live .hero-intro .btn.gold svg{fill:#fff}
body.lt.theme-royal.hero-live .hero-intro .btn.ghost{border-color:var(--navy);color:var(--navy);background:transparent;padding:12px 22px;font-size:clamp(12px,.9vw,15px);backdrop-filter:none}
body.lt.theme-royal.hero-live .hero-intro .btn.ghost:hover{background:var(--navy);color:#fff}
body.hero-live .hero-ctl{bottom:14px;z-index:5}
body.hero-live .hero-ctl .wrap{justify-content:flex-end;padding-right:24px}
body.hero-live .hero-dots{margin-right:auto;margin-left:calc(var(--cut) + var(--lean) + 3%)}
body.hero-live .hero-dots button{background:rgba(255,255,255,.75);box-shadow:0 1px 4px rgba(0,0,0,.4)}
.noanim.hero-live .hero-wrap::before,.noanim.hero-live .hero-wrap::after{animation:none!important;opacity:1!important;transform:none!important}
.noanim.hero-live .hero-intro h1::after{animation:none!important}
}
@media (max-width:899px){body.hero-live .hero{min-height:200px}body.hero-live .hero-intro{background:#fff;border-top:4px solid var(--gold)}body.hero-live .hero-intro .wrap{padding:18px}}
@media (min-width:900px){
body.hero-live .hero-intro>.hero-thumbs-wrap,body.hero-live .hero-thumbs-wrap{display:none!important}
body.hero-live .hero-intro>.wrap{padding-left:clamp(28px,3.1vw,64px)}
body.hero-live .hero-intro .hi-copy{max-width:min(640px,100%)}
body.lt.theme-royal.hero-live .hero-intro h1{font-size:clamp(26px,2.5vw,46px)}
body.lt.theme-royal.hero-live .hero-intro .lead{max-width:min(600px,100%);font-size:clamp(12.5px,.9vw,15px)}
}
/* live v2: the photo now runs the FULL banner height (top to bottom) on the right of the slash */
@media (min-width:900px){
body.hero-live .hs img,body.hero-live .hs video{left:calc(var(--cut) + 1.3%);width:calc(100% - var(--cut) - 1.3%);object-fit:cover!important;object-position:center 30%!important}
}
/* live v3: slash leans much less, so the photo's lower-left corner is no longer hidden behind it */
@media (min-width:900px){
body.hero-live .hero-wrap{--cut:45%;--lean:6%}
}
/* Documentary: gallery cards + video player */
.doc-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:var(--gold)}
.doc-ph svg{width:64px;height:64px;fill:currentColor}
.album-c .im{position:relative}
.docvideo{max-width:1000px;margin:18px auto 0;border-radius:20px;overflow:hidden;box-shadow:var(--sh-2);background:#000}
.docvideo video{display:block;width:100%;max-height:78vh;background:#000}
/* ===== PDF as pages / slides ===== */
.pdfv{margin-top:18px;background:linear-gradient(160deg,#f6f9fd,#e9f0f8);border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh);padding:14px 14px 16px;outline:none}
.pv-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 12px}
.pv-name{font-weight:600;color:var(--navy);font-size:15px}
.pv-fs,.pv-btn{border:1.5px solid var(--navy);background:#fff;color:var(--navy);border-radius:30px;padding:8px 16px;font:600 13px/1 inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .25s}
.pv-fs:hover,.pv-btn:hover:not(:disabled){background:var(--navy);color:#fff}
.pv-btn svg{width:14px;height:14px;fill:currentColor}
.pv-btn:disabled,.pv-nav:disabled{opacity:.35;cursor:default}
.pv-stage{position:relative;display:flex;justify-content:center;align-items:center;min-height:320px;padding:10px 0}
.pv-page{position:relative;background:#fff;box-shadow:0 14px 40px rgba(15,39,69,.22),0 0 0 1px rgba(15,39,69,.06);border-radius:6px;overflow:hidden;line-height:0;max-width:100%}
.pv-canvas{display:block;max-width:100%}
.pv-page.pv-in-r{animation:pvr .45s var(--ease)}
.pv-page.pv-in-l{animation:pvl .45s var(--ease)}
@keyframes pvr{from{opacity:0;transform:translateX(60px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pvl{from{opacity:0;transform:translateX(-60px) scale(.98)}to{opacity:1;transform:none}}
.pv-spin{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border:4px solid var(--line);border-top-color:var(--gold-d);border-radius:50%;animation:ldspin .8s linear infinite;opacity:0;transition:opacity .2s}
.pv-loading .pv-spin{opacity:1}
.pv-nav{position:absolute;top:50%;margin-top:-26px;z-index:3;width:52px;height:52px;border-radius:50%;border:0;background:var(--navy);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 22px rgba(15,39,69,.35);transition:all .25s}
.pv-nav svg{width:20px;height:20px;fill:currentColor}
.pv-nav:hover:not(:disabled){background:var(--gold);color:var(--navy-d);transform:scale(1.1)}
.pv-stage .pv-prev{left:6px}.pv-stage .pv-next{right:6px}
.pv-bar{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 0 6px}
.pv-count{font-weight:700;color:var(--navy);min-width:70px;text-align:center}
.pv-thumbs{display:flex;gap:10px;overflow-x:auto;padding:8px 4px 4px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.pv-th{flex:none;border:2px solid transparent;border-radius:6px;background:#fff;padding:0;cursor:pointer;position:relative;opacity:.65;box-shadow:0 3px 10px rgba(15,39,69,.15);transition:all .25s;line-height:0;min-width:72px;min-height:90px}
.pv-th canvas{display:block;width:84px;height:auto;border-radius:4px}
.pv-th span{position:absolute;right:3px;bottom:3px;background:var(--navy);color:#fff;font:600 10px/1 inherit;padding:3px 6px;border-radius:10px}
.pv-th:hover{opacity:1;transform:translateY(-3px)}
.pv-th.on{opacity:1;border-color:var(--gold);box-shadow:0 0 0 2px var(--navy)}
.pv-msg{text-align:center;padding:6px}.pv-msg:empty{display:none}
.pdfv.pv-failed .pv-stage,.pdfv.pv-failed .pv-bar,.pdfv.pv-failed .pv-thumbs{display:none}
.pdfv.pv-full{position:fixed;inset:0;z-index:5200;border-radius:0;margin:0;overflow:auto;background:#0f2745;border:0;display:flex;flex-direction:column;padding:12px 16px}
.pdfv.pv-full .pv-name{color:#fff}
.pdfv.pv-full .pv-stage{flex:1}
.pdfv.pv-full .pv-count{color:#fff}
@media (max-width:700px){.pv-nav{width:40px;height:40px;margin-top:-20px}.pv-stage .pv-prev{left:0}.pv-stage .pv-next{right:0}.pv-name{font-size:13px}}
@media (prefers-reduced-motion:reduce){.pv-page.pv-in-r,.pv-page.pv-in-l,.pv-spin{animation:none}}

/* Documentary: gallery cards + video player */
.doc-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:var(--gold)}
.doc-ph svg{width:64px;height:64px;fill:currentColor}
.album-c .im{position:relative}
.docvideo{max-width:1000px;margin:18px auto 0;border-radius:20px;overflow:hidden;box-shadow:var(--sh-2);background:#000}
.docvideo video{display:block;width:100%;max-height:78vh;background:#000}
/* logo ripple rings: always centred on the logo, whatever its size (--logo is set next to the logo height) */
.brand{--logo:64px}
@media (max-width:1279px){.brand{--logo:50px}}
.lt.theme-royal .brand{--logo:84px}
@media (max-width:1279px){.lt.theme-royal .brand img{height:56px}.lt.theme-royal .brand{--logo:56px}}
.brand::before,.brand::after,.lt .brand::before,.lt .brand::after{left:calc(var(--logo) / 2);top:50%;width:calc(var(--logo) + 16px);height:calc(var(--logo) + 16px);margin:calc((var(--logo) + 16px) / -2) 0 0 calc((var(--logo) + 16px) / -2)}
@media (max-width:1279px){.brand::before,.brand::after{left:calc(var(--logo) / 2);width:calc(var(--logo) + 16px);height:calc(var(--logo) + 16px);margin:calc((var(--logo) + 16px) / -2) 0 0 calc((var(--logo) + 16px) / -2)}}
@keyframes logoripple{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.5);opacity:0}}
/* ===== MOBILE & TABLET FIXES ===== */
html,body.bsm{overflow-x:hidden;max-width:100%}
.ft-main>div{min-width:0}
.lt.theme-royal .ft-main{grid-template-columns:1.3fr 1.5fr 1.1fr auto}
@media (max-width:1000px){.lt.theme-royal .ft-main{grid-template-columns:1fr 1fr}.lt.theme-royal .ft-links{columns:2}}
@media (max-width:600px){.lt.theme-royal .ft-main{grid-template-columns:1fr}.lt.theme-royal .ft-links{columns:1}.ft-follow{grid-column:auto}.ft-brand b{white-space:normal!important;font-size:22px!important}}
.ft-links a{word-break:break-word}
/* header on phones / tablets: smaller logo + name so it fits on one line */
@media (max-width:1279px){
.lt.theme-royal .brand img{height:52px}
.lt.theme-royal .brand-t b{font-size:clamp(17px,4.6vw,26px);line-height:1.12}
.lt.theme-royal .brand-t small{font-size:clamp(8px,2.2vw,11px);letter-spacing:clamp(1px,.5vw,2.6px);white-space:normal;line-height:1.35;margin-top:3px}
.brand{gap:10px;min-width:0}
.brandrow .wrap{gap:10px}
.brand-t{min-width:0}
.burger{flex:none}
}
@media (max-width:420px){
.lt.theme-royal .brand img{height:44px}
.lt.theme-royal .brand-t b{font-size:clamp(15px,4.9vw,19px)}
.lt.theme-royal .brand-t small{font-size:8px;letter-spacing:.8px}
}
/* sections */
@media (max-width:700px){
.ql-in{grid-template-columns:repeat(2,1fr)}
.info3{padding:18px 0 0}
.ic{padding:18px 16px}
.hero-intro .btn,body.hero-live .hero-intro .btn{padding:11px 18px}
.pg-hero{padding:34px 0 40px}
.sec-h{margin-bottom:22px}
.band .btns .btn{font-size:14px;padding:12px 16px}
.cform{padding:20px 16px}
.mapbox,.mapbox iframe{min-height:300px}
.docvideo{border-radius:14px}
.pdfv{padding:10px 8px 12px;border-radius:16px}
.mason{columns:2 140px;column-gap:10px}
.mason a{margin-bottom:10px}
}
@media (max-width:420px){.mason{columns:2 120px}}
/* tablets: slider banner keeps the same look but with comfortable text */
@media (min-width:700px) and (max-width:899px){
body.hero-live .hero-intro .wrap{padding:26px 28px}
.info3-in{grid-template-columns:1fr 1fr}
.ql-in{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px) and (max-width:1100px){
body.hero-live .hero-wrap{--cut:48%;--lean:5%}
body.hero-live .hero-intro .hi-copy{max-width:100%}
body.lt.theme-royal.hero-live .hero-intro h1{font-size:clamp(22px,2.8vw,30px)}
body.lt.theme-royal.hero-live .hero-intro .lead{font-size:12.5px}
body.hero-live .hero-intro .btn{padding:10px 14px;font-size:12px}
.am-card,.am.r .am-card{margin-left:-60px}.am.r .am-card{margin-left:0;margin-right:-60px}
.am-medal{width:100px;height:100px}
.nav>ul>li>a{font-size:11px}
}
@media (max-width:700px){
.ql-t{min-width:0}
.ql-t b{font-size:13px;overflow-wrap:anywhere;hyphens:auto}
.ql-t small{overflow-wrap:anywhere}
.ql a{min-width:0}
}
/* ===== iPhone / mobile "blank space below footer" fix =====
   Cause: something wider than the screen (footer link columns, decorative blobs) makes iOS zoom the whole page out,
   which shows white below the footer. Everything is now kept inside the screen width. */
html{overflow-x:visible}
body.bsm{overflow-x:clip}
@supports not (overflow:clip){body.bsm{overflow-x:hidden}}
.am-blob{left:0!important;max-width:60%}
.am.r .am-blob{left:auto!important;right:0!important}
.ft-main{padding:40px 20px 24px}
@media (max-width:600px){.ft-main{padding:30px 18px 18px}.ft-bar .wrap{padding:0 18px}}
.site-footer{overflow:hidden}
.totop{bottom:max(22px,env(safe-area-inset-bottom))}
@media (max-width:600px){.ft-bar{padding-bottom:26px}.ft-bar .wrap{padding-right:78px}}
