:root{--navy:#0B1F4B;--royal:#0A2FB0;--gold:#C9A24B;--ink:#1B1733;--text:#2B3350;--muted:#5C6685;--mist:#F3F6FC;--line:#DDE3F0;--white:#fff;--r:10px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font:17px/1.65 var(--sans);color:var(--text);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--royal)}
h1,h2,h3{font-family:var(--serif);color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.01em}
h2{font-size:clamp(1.7rem,3.2vw,2.35rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.wrap--narrow{width:min(820px,100% - 40px)}
.screen-reader-text,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;background:#fff;padding:10px 16px;z-index:999}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.muted{color:var(--muted)}.center{text-align:center}

/* Top bar + header */
.topbar{background:var(--navy);color:#dbe3f7;font-size:.88rem}
.topbar__in{display:flex;justify-content:space-between;gap:16px;padding:7px 0;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none;margin-left:20px}.topbar a:hover{text-decoration:underline}
.topbar__links a:first-child{margin-left:0}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:64px;height:64px;object-fit:contain;display:block}
.brand__name{font:700 1.15rem/1.15 var(--serif);color:var(--navy);text-decoration:none}
.brand__name span{color:var(--royal)}
.primary-nav{display:flex;align-items:center;gap:22px}
.ias-menu,.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.ias-menu a{display:block;white-space:nowrap;padding:10px 10px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.95rem;border-radius:6px}
.ias-menu a:hover,.ias-menu .current-menu-item>a{background:var(--mist);color:var(--royal)}
.ias-menu .sub-menu{display:none;list-style:none;margin:0;padding:6px;position:absolute;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(11,31,75,.12)}
.ias-menu li{position:relative}.ias-menu li:hover>.sub-menu,.ias-menu li:focus-within>.sub-menu{display:block}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:46px;height:46px;cursor:pointer;padding:0;position:relative}
.nav-toggle__bar,.nav-toggle__bar::before,.nav-toggle__bar::after{display:block;width:22px;height:2px;background:var(--navy);position:absolute;left:11px;content:""}
.nav-toggle__bar{top:22px}.nav-toggle__bar::before{top:-7px;left:0}.nav-toggle__bar::after{top:7px;left:0}

/* Buttons */
.ias-btn{display:inline-block;background:var(--royal);color:#fff;border:2px solid var(--royal);padding:13px 24px;border-radius:8px;font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.ias-btn:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,31,75,.22)}
.ias-btn--gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.ias-btn--gold:hover{background:#b98f36;border-color:#b98f36;color:var(--navy)}
.ias-btn--light{background:transparent;border-color:#fff;color:#fff}
.ias-btn--light:hover{background:#fff;color:var(--navy);border-color:#fff}
.ias-btn--ghost{background:transparent;color:var(--royal)}.ias-btn--ghost:hover{background:var(--royal);color:#fff;border-color:var(--royal)}
.ias-btn--wa{background:#128C4A;border-color:#128C4A}.ias-btn--wa:hover{background:#0c6e3a;border-color:#0c6e3a}
.ias-btn--sm{padding:9px 16px;font-size:.92rem}
.ias-btn[disabled]{opacity:.6;cursor:wait}

/* Hero: the one bold moment */
.hero{background:radial-gradient(1200px 500px at 85% 10%,#1a3a9c 0%,transparent 60%),linear-gradient(135deg,var(--navy) 0%,#07143a 100%);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--gold),transparent 70%)}
.hero__in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:72px 0 84px}
.hero h1{color:#fff;margin-bottom:.4em}
.hero__lead{font-size:1.2rem;color:#d3dcf5;max-width:36em}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}
.hero__points{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;font-weight:600;color:#fff}
.hero__points li{padding-left:22px;position:relative}
.hero__points li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.hero__media{display:flex;justify-content:center}
.hero__media.has-photo img{border-radius:var(--r);width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;box-shadow:0 30px 60px rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.12)}
.hero__placeholder{background:#fff;border-radius:20px;width:min(340px,80vw);aspect-ratio:1;display:grid;place-items:center;border-bottom:6px solid var(--gold);box-shadow:0 30px 60px rgba(0,0,0,.35)}
.hero__placeholder img{width:86%;height:auto}

/* Sections */
.section{padding:80px 0}
.section--tint{background:var(--mist)}
.section--navy{background:var(--navy);color:#dbe3f7}.section--navy h2,.section--navy h3{color:#fff}
.section__head{max-width:46em;margin:0 0 40px}
.section__head p{color:var(--muted);font-size:1.08rem}.section--navy .section__head p{color:#c3cdea}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;box-shadow:0 14px 36px rgba(11,31,75,.08)}
.page-hero{background:linear-gradient(135deg,var(--navy),#07143a);color:#fff;padding:56px 0;border-bottom:5px solid var(--gold)}
.page-hero h1{color:#fff;margin:0 0 .2em;font-size:clamp(2rem,4vw,2.8rem)}.page-hero p{color:#d3dcf5;margin:0;max-width:46em}

/* Universities */
.uni-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.uni{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color .15s,box-shadow .15s}
.uni:hover{border-color:var(--gold);box-shadow:0 12px 28px rgba(11,31,75,.1)}
.uni__logo{height:84px;display:grid;place-items:center;margin-bottom:6px}
.uni__logo img{max-height:84px;width:auto;object-fit:contain}
.uni__mono{width:64px;height:64px;border-radius:50%;background:var(--mist);color:var(--royal);display:grid;place-items:center;font:700 1.7rem var(--serif);border:1px solid var(--line)}
.uni h3{font-size:1rem;margin:0}.uni p{margin:0;font-size:.9rem}
.uni__link{margin-top:auto;padding-top:8px;font-weight:700;font-size:.92rem}
.disclaimer{margin-top:28px;font-size:.88rem;color:var(--muted);border-left:3px solid var(--gold);padding-left:14px;max-width:52em}

/* Courses, why, steps */
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);overflow:hidden}
.course{background:var(--navy);padding:26px}.course h3{font-size:1.08rem;color:#fff;border-bottom:2px solid var(--gold);padding-bottom:10px;display:inline-block}.course p{color:#c3cdea;font-size:.95rem;margin:10px 0 0}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.why-grid>div{border-top:3px solid var(--royal);padding-top:16px}
.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.steps li{counter-increment:s;position:relative;padding-top:54px}
.steps li::before{content:counter(s);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--royal);color:#fff;display:grid;place-items:center;font:700 1.1rem var(--serif)}
.steps li::after{content:"";position:absolute;top:19px;left:48px;right:-12px;height:2px;background:var(--line)}.steps li:last-child::after{display:none}
.steps p{font-size:.95rem;color:var(--muted)}

/* Updates */
.u-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px}
.u-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:6px}
.u-card--feat{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.u-card__top{display:flex;gap:12px;align-items:center}
.u-card__logo{width:52px;height:52px;flex:none;display:grid;place-items:center}.u-card__logo img{max-width:52px;max-height:52px;object-fit:contain}
.u-card__meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:.85rem;color:var(--muted)}
.u-card__tag{color:var(--royal);font-weight:700}
.badge{background:var(--mist);padding:2px 8px;border-radius:99px;font-weight:700;font-size:.78rem}.badge--gold{background:var(--gold);color:var(--navy)}
.u-card__title{font-size:1.15rem;margin:6px 0 0}.u-card__title a{color:var(--navy);text-decoration:none}.u-card__title a:hover{color:var(--royal)}
.u-card__text{color:var(--muted);font-size:.95rem;margin:0}
.u-card__dead{font-size:.92rem;margin:4px 0;color:#8a3b12}
.u-card__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:14px}
.filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.filter input,.filter select{padding:12px 14px;border:1px solid #b9c3de;border-radius:8px;font:inherit;background:#fff;min-width:200px;flex:1}
.empty{text-align:center;padding:48px 24px;background:var(--mist);border:1px dashed #b9c3de;border-radius:var(--r);color:var(--muted)}.empty svg{color:var(--royal)}
.navigation.pagination{margin-top:28px;text-align:center}.page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:6px;margin:2px;text-decoration:none}.page-numbers.current{background:var(--royal);color:#fff;border-color:var(--royal)}

/* FAQ, CTA, contact */
.faq{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}
.faq summary{padding:18px 22px;font-weight:700;color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--royal)}.faq[open] summary::after{content:"\2212"}
.faq p{padding:0 22px 18px;margin:0;color:var(--muted)}
.cta{background:linear-gradient(120deg,var(--royal),var(--navy));color:#fff;padding:56px 0}
.cta__in{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.cta h2{color:#fff;margin-bottom:.2em}.cta p{margin:0;color:#d3dcf5;max-width:36em}.cta__btns{display:flex;gap:12px;flex-wrap:wrap}
.contact-list{font-style:normal;font-size:1.08rem;line-height:1.9;margin-bottom:16px}
.map{margin-top:18px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}.map iframe{width:100%;height:320px;border:0;display:block}
.map--empty{padding:36px 24px;background:var(--mist);color:var(--muted);text-align:center;margin-top:0}
.single-logo img{max-height:90px;width:auto;margin-bottom:12px}
.entry__body{font-size:1.05rem}.entry__body h2{margin-top:1.4em}

/* Enquiry form */
.ias-form label{display:block;font-weight:600;color:var(--navy);margin-bottom:6px;font-size:.95rem}
.ias-form input[type=text],.ias-form input[type=tel],.ias-form input[type=email],.ias-form select{width:100%;padding:13px 14px;border:1px solid #b9c3de;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.ias-form input:focus,.ias-form select:focus{border-color:var(--royal);outline:3px solid rgba(10,47,176,.2)}
.ias-form input:user-invalid,.ias-form select:user-invalid{border-color:#b3261e}
.ias-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.ias-grid p{margin:0 0 16px}.ias-full{grid-column:1/-1}
.req{color:#b3261e}
.ias-consent label{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;color:var(--text)}.ias-consent input{margin-top:5px;width:18px;height:18px;flex:none}
.ias-hp{position:absolute!important;left:-9999px;height:0;overflow:hidden}
.ias-notice{padding:14px 16px;border-radius:8px;margin-bottom:18px;font-weight:600}
.ias-notice--ok{background:#e6f4ea;color:#14532d;border:1px solid #9bd3ac}.ias-notice--err{background:#fdecea;color:#7a1a14;border:1px solid #f0a8a2}

/* Footer */
.site-footer{background:#07143a;color:#b9c4e4;padding:56px 0 24px;font-size:.95rem}
.site-footer h3{color:#fff;font-size:1.05rem}.site-footer a{color:#fff}
.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:40px}
.brand--foot .brand__name{color:#fff}.brand--foot img{background:#fff;border-radius:50%;padding:4px}
.footer-menu{flex-direction:column;gap:0}.footer-menu a{color:#d3dcf5;padding:4px 0;display:block;text-decoration:none;font-weight:400}.footer-menu a:hover{text-decoration:underline;background:none;color:#fff}
address{font-style:normal;line-height:1.9}
.footer__legal{border-top:1px solid rgba(255,255,255,.14);margin-top:36px;padding-top:20px;font-size:.85rem;color:#93a0c8}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;background:#128C4A;color:#fff;border-radius:99px;display:flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;text-decoration:none;font-weight:700;box-shadow:0 10px 24px rgba(0,0,0,.28)}
.wa-float:hover{background:#0c6e3a}

/* Responsive */
@media (max-width:1400px){
.nav-toggle{display:block}
.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 20px;flex-direction:column;align-items:stretch;box-shadow:0 18px 30px rgba(11,31,75,.12)}
.primary-nav.is-open{display:flex}.primary-nav .ias-menu,.ias-menu{flex-direction:column;flex-wrap:wrap}.ias-menu .sub-menu{position:static;display:block;border:0;box-shadow:none;padding-left:14px}
.nav-cta{text-align:center}
}
@media (max-width:1020px){
.course-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(2,1fr)}
.steps{grid-template-columns:1fr 1fr}.steps li::after{display:none}.u-grid{grid-template-columns:repeat(2,1fr)}

}
@media (max-width:820px){
.hero__in,.split,.footer__grid{grid-template-columns:1fr}.hero__in{padding:48px 0 56px}.hero__media{order:-1}.hero__placeholder{width:200px}
.section{padding:56px 0}.card{padding:22px}.topbar__note{display:none}.topbar__in{justify-content:center}
}
@media (max-width:560px){
.ias-grid,.hero__points,.course-grid,.why-grid,.steps,.u-grid{grid-template-columns:1fr}
.hero__cta .ias-btn,.cta__btns .ias-btn{width:100%;text-align:center}
.wa-float__t{display:none}.wa-float{padding:14px}
.brand__name{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.nav-cta{white-space:nowrap}

.primary-nav .ias-menu{flex-wrap:nowrap}
@media (max-width:1400px){.primary-nav .ias-menu{flex-wrap:wrap}}

.header__in{width:min(1440px,100% - 32px)}
.brand{flex:none}.brand__name{width:9.4em;flex:none}
.primary-nav{gap:14px}
.primary-nav .ias-menu a{padding:10px 8px;font-size:.9rem}
.primary-nav .ias-menu a{letter-spacing:0}
@media (max-width:1400px){.primary-nav .ias-menu a{padding:10px 12px;font-size:.95rem}}

/* ---- v1.1: hero photo, university rail, careers, stories ---- */
.hero__eyebrow{margin:0 0 14px;color:var(--gold);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem}
.hero__photo{margin:0;position:relative;width:100%}
.hero__photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 60px rgba(0,0,0,.4);border:4px solid rgba(255,255,255,.14)}
.hero__photo figcaption{position:absolute;right:12px;bottom:10px;font-size:.72rem;color:#fff;background:rgba(7,20,58,.7);padding:2px 8px;border-radius:99px}
.hero__in{grid-template-columns:1fr 1fr}
.uni-rail{overflow-x:auto;scrollbar-width:thin;padding:6px 0 14px;-webkit-overflow-scrolling:touch}
.uni-rail:focus-visible{outline-offset:-3px}
.uni-track{list-style:none;margin:0;padding:0 max(20px,calc((100% - 1180px) / 2));display:flex;gap:18px;width:max-content}
.uni-track .uni{width:230px;flex:none}
.uni__logo{height:96px;width:100%}
.uni__logo img{max-width:100%;max-height:96px;width:auto;height:auto;object-fit:contain}
.career-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}
.career{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:22px}
.career h3{color:#fff;font-size:1.05rem;border-bottom:2px solid var(--gold);padding-bottom:10px;display:block}
.career--pg{margin-bottom:28px}
.chips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.chips li{background:rgba(255,255,255,.1);color:#e6ecff;font-size:.85rem;padding:3px 10px;border-radius:99px}
.steps{grid-template-columns:repeat(3,1fr);gap:28px 24px}.steps li::after{display:none}
.steps h3{font-size:1.05rem}
.story-grid{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.story{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;text-align:left;transition:box-shadow .2s,transform .2s}
.story:hover{box-shadow:0 14px 30px rgba(11,31,75,.12);transform:translateY(-2px)}
.story__photo{border-radius:8px;overflow:hidden;background:var(--mist);margin-bottom:12px;aspect-ratio:4/5}
.story__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.story:hover .story__photo img{transform:scale(1.04)}
.story h3{font-size:1.05rem;margin:0 0 2px;text-transform:uppercase;letter-spacing:.02em}
.story__course{margin:0;font-weight:700;color:var(--royal);font-size:.92rem}
.story__meta{margin:2px 0 0;color:var(--muted);font-size:.88rem}
.story blockquote{margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--line);font-style:italic;color:var(--text);font-size:.92rem}
.story__more{text-align:center;font:italic 1.5rem var(--serif);color:var(--navy);margin:0}
.footer__follow{margin:14px 0 6px;font-weight:700;color:#fff}
.social{display:flex;gap:10px;margin:0}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;color:#fff;transition:background .15s,color .15s}
.social a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
@media (max-width:1020px){.career-grid,.story-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr 1fr}.hero__in{grid-template-columns:1fr}}
@media (max-width:560px){.career-grid,.story-grid,.steps{grid-template-columns:1fr}.story-grid{grid-template-columns:repeat(2,1fr);gap:12px}.story{padding:10px}.story h3{font-size:.9rem}.uni-track .uni{width:190px}}

/* ---- v1.2: stats, type band, kinetic type ---- */
.hero__trust{margin:0 0 22px}.hero__trust a{color:#fff;text-decoration:none;font-size:.98rem}.hero__trust a:hover{text-decoration:underline}
.stars{display:inline-block;letter-spacing:.1em;background:linear-gradient(90deg,var(--gold) var(--pct,98%),rgba(255,255,255,.28) var(--pct,98%));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;line-height:1.2}
.band{background:#07143a;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);padding:16px 0}
.band__track{display:flex;width:max-content;animation:ias-band 50s linear infinite}
.band span{font:800 clamp(1.5rem,3.6vw,2.6rem)/1.1 var(--serif);text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px rgba(201,162,75,.9);padding-right:1.1em;position:relative;margin-right:1.1em}
.band span:nth-child(even){color:var(--gold);-webkit-text-stroke:0}
.band span::after{content:"✦";position:absolute;right:-.1em;top:50%;transform:translateY(-50%);font-size:.45em;color:#fff;-webkit-text-stroke:0}
@keyframes ias-band{to{transform:translateX(-50%)}}
.stats{background:radial-gradient(900px 420px at 12% 0%,rgba(201,162,75,.2),transparent 60%),linear-gradient(135deg,#061236,var(--navy));color:#dbe3f7;padding:88px 0;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 30px);pointer-events:none}
.stats .wrap{position:relative}
.stats h2{color:#fff;text-align:center;margin-bottom:48px}
.stats__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.stat{text-align:center;padding:34px 20px 30px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r);background:rgba(255,255,255,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.stat svg{width:36px;height:36px;color:var(--gold);margin-bottom:12px}
.stat__num{margin:0;font:800 clamp(3rem,6.5vw,4.6rem)/1 var(--serif);color:#fff;text-shadow:0 0 30px rgba(201,162,75,.4);font-variant-numeric:tabular-nums}
.stat__unit{font:700 .3em var(--sans);margin-left:.5em;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.stat__label{margin:10px 0 0;font-weight:700;letter-spacing:.05em;color:#c3cdea;text-transform:uppercase;font-size:.9rem}
.stat .stars{font-size:1.5rem;margin-top:8px}
.stat__note{margin:6px 0 0;font-size:.85rem;color:#c3cdea}.stat__note a{color:#fff}
.stat__num.is-done{animation:ias-punch .55s cubic-bezier(.2,1.8,.3,1)}
@keyframes ias-punch{0%{transform:scale(1)}40%{transform:scale(1.14);text-shadow:0 0 44px rgba(201,162,75,.9)}100%{transform:scale(1)}}
@media (max-width:820px){.stats__grid{grid-template-columns:1fr}.stats{padding:60px 0}}

/* Kinetic type: animated states are applied by JS only, and only when motion is allowed. */
@media (prefers-reduced-motion:no-preference){
.js .hero h1:not(.punch),.js .page-hero h1:not(.punch),.js .hero__eyebrow:not(.is-live){visibility:hidden;animation:ias-show 0s 1.6s forwards}
@keyframes ias-show{to{visibility:visible}}
.punch .w{display:inline-block;vertical-align:bottom}
.punch .wi{display:inline-block;position:relative;opacity:0;transition:transform .75s cubic-bezier(.2,1.5,.3,1),opacity .25s linear;transition-delay:calc(var(--i) * 80ms)}
.punch--mask .w{overflow:hidden;padding:.08em .03em .16em;margin:-.08em -.03em -.16em}
.punch--mask .wi{transform:translateY(115%) skewY(9deg)}
.punch--pop .wi{transform:scale(1.4) rotate(-4deg);transform-origin:50% 70%}
.punch.is-in .wi{opacity:1;transform:none}
.punch--mask .wi::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.09em;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.7,0,.2,1) 1s}
.punch--mask.is-in .w:last-child .wi::after{transform:scaleX(1)}
.page-hero .punch--mask .wi::after{display:none}
.rv{opacity:0;translate:0 26px;transition:opacity .6s ease var(--d,0ms),translate .7s cubic-bezier(.2,1.2,.3,1) var(--d,0ms)}
.rv.is-in{opacity:1;translate:none}
.rv .stars{clip-path:inset(0 100% 0 0);transition:clip-path 1.2s cubic-bezier(.6,0,.2,1) .6s}
.rv.is-in .stars{clip-path:inset(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce){.band__track{animation:none;flex-wrap:wrap;width:auto;gap:4px 0}}

main{overflow-x:clip}
