/* LEMA / EIS theme. Design direction: "LEMA EIS Navy Laurel". */

@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-latin-wght-italic.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/manrope-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}

:root{
	--bg:#FBF8F1;
	--surface:#FFFFFF;
	--ink:#16203A;
	--navy:#0F1E4A;
	--navy-deep:#0A1536;
	--navy-soft:#1B2C63;
	--gold:#F2B705;
	--gold-soft:#FFE7A1;
	--gold-ink:#8A6300;
	--teal:#0E6F6E;
	--teal-deep:#0A5352;
	--teal-soft:#E3F0EE;
	--muted:#58627A;
	--line:#E6DFD0;
	--line-dark:rgba(251,248,241,.16);
	--cream-deep:#F3EDE0;
	--on-navy:#F4F1E8;
	--on-navy-muted:#B9C0D4;

	--font-display:"Newsreader", Georgia, "Times New Roman", serif;
	--font-body:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

	--container:1240px;
	--container-wide:1400px;
	--gutter:clamp(20px, 4vw, 40px);
	--section:clamp(72px, 9vw, 136px);

	--r-sm:6px;
	--r-md:14px;
	--r-pill:999px;

	--shadow-lift:0 18px 40px -18px rgba(15,30,74,.28), 0 2px 6px rgba(15,30,74,.06);
	--shadow-soft:0 10px 30px -16px rgba(15,30,74,.22);

	--ease:cubic-bezier(.2,.7,.2,1);
	--ease-out:cubic-bezier(.16,1,.3,1);
	--t:.45s;

	--header-h:84px;
	--announce-h:0px;
}

/* Reset (zero specificity so components always win) */
:where(*,*::before,*::after){box-sizing:border-box}
:where(html){-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
:where(body){margin:0}
:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ol,ul){margin:0}
:where(ul,ol){padding:0;list-style:none}
:where(.prose ul){list-style:disc;padding-left:1.25em}
:where(.prose ol){list-style:decimal;padding-left:1.4em}
:where(img,video,svg){display:block;max-width:100%}
:where(img){height:auto}
:where(button,input,select,textarea){font:inherit;color:inherit}
:where(button){cursor:pointer;background:none;border:0;padding:0}
:where(a){color:inherit;text-decoration:none}
:where(address){font-style:normal}
:where(table){border-collapse:collapse}
:where(fieldset){border:0;margin:0;padding:0;min-width:0}
:where(legend){padding:0}
:where([hidden]){display:none !important}

body{
	background:var(--bg);
	color:var(--ink);
	font-family:var(--font-body);
	font-size:17px;
	line-height:1.65;
	font-weight:400;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	text-rendering:optimizeLegibility;
	overflow-x:clip;
}
@media (max-width:640px){body{font-size:16px}}

::selection{background:var(--gold);color:var(--navy)}

:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.section--navy :focus-visible,.site-footer :focus-visible,.hero :focus-visible{outline-color:var(--gold)}

.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--navy);color:#fff;padding:12px 18px;border-radius:var(--r-sm);font-weight:700;transition:top .2s}
.skip-link:focus{top:16px}

/* Typography */
.h-display,h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;color:inherit}
.h-display{font-size:clamp(2.1rem, 1.35rem + 2.9vw, 3.6rem);line-height:1.06;text-wrap:balance}
.h-display em,.hero__title em,.phero__title em,.final-cta__title em,.voice-matters__title em{font-style:italic;font-weight:400;color:var(--gold-ink);padding-right:.04em}
.section--navy .h-display em,.hero__title em,.phero--navy .phero__title em,.final-cta__title em,.voice-matters__title em{color:var(--gold)}
h3{font-size:1.4rem;line-height:1.2}
.lead{font-size:clamp(1.08rem, 1rem + .35vw, 1.28rem);line-height:1.6;color:var(--ink)}
.eyebrow{font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
.eyebrow--light{color:var(--gold)}
p{text-wrap:pretty}

/* Layout */
.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.container--wide{max-width:calc(var(--container-wide) + var(--gutter) * 2)}
.section{padding-block:var(--section)}
.section--tint{background:var(--cream-deep)}
.section--navy{background:var(--navy);color:var(--on-navy)}
.section--navy p{color:var(--on-navy-muted)}
.section--white{background:var(--surface)}
.section-head{margin-bottom:clamp(40px, 5vw, 64px);max-width:780px}
.section-head--split{display:grid;gap:24px;max-width:none;align-items:end}
@media (min-width:900px){.section-head--split{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px}}
.section-head--row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;max-width:none}
.section-head__aside{color:var(--muted);max-width:44ch;font-size:1.02rem}
.section--navy .section-head__aside{color:var(--on-navy-muted)}
.section-head__lead{color:var(--muted);margin-top:18px;max-width:56ch;font-size:1.08rem}
.section--navy .section-head__lead{color:var(--on-navy-muted)}

/* Buttons */
.btn{--bh:52px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--bh);padding:0 26px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:700;font-size:.95rem;letter-spacing:.01em;line-height:1;white-space:nowrap;border:1.5px solid transparent;transition:background-color .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);position:relative;isolation:isolate}
.btn .icon{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.btn:hover .icon{transform:translateX(3px)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn--sm{--bh:44px;padding:0 20px;font-size:.88rem}
.btn--primary{background:var(--gold);color:var(--navy);box-shadow:0 8px 20px -10px rgba(242,183,5,.7)}
.btn--primary:hover{background:#FFC928;box-shadow:0 12px 26px -10px rgba(242,183,5,.85);transform:translateY(-1px)}
.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-soft);transform:translateY(-1px)}
.btn--teal{background:var(--teal);color:#fff}
.btn--teal:hover{background:var(--teal-deep);transform:translateY(-1px)}
.btn--ghost{border-color:rgba(15,30,74,.28);color:var(--navy);background:transparent}
.btn--ghost:hover{border-color:var(--navy);background:var(--navy);color:#fff}
.btn--outline{border-color:var(--navy);color:var(--navy)}
.btn--outline:hover{background:var(--navy);color:#fff}
.btn--outline-light{border-color:rgba(251,248,241,.55);color:#fff;background:rgba(10,21,54,.12);backdrop-filter:blur(2px)}
.btn--outline-light:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn--text,.btn--text-light{padding:0 6px;border:0;min-height:44px}
.btn--text{color:var(--navy)}
.btn--text-light{color:#fff}
.btn--text span,.btn--text-light span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1.5px no-repeat;padding-bottom:3px}
.btn-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:32px}
.btn-row--center{justify-content:center}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;color:var(--navy);padding-block:6px;background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .4s var(--ease-out)}
.link-arrow .icon{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.link-arrow:hover{background-size:100% 1.5px}
.link-arrow:hover .icon{transform:translateX(4px)}
.section--navy .link-arrow{color:var(--gold)}

.round-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(15,30,74,.25);display:grid;place-items:center;color:var(--navy);transition:all .3s var(--ease)}
.round-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.round-btn .icon{width:20px;height:20px}
.carousel-ctrl{display:flex;gap:10px}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.78rem;font-weight:700;letter-spacing:.04em;padding:6px 12px;border-radius:var(--r-pill);background:var(--cream-deep);color:var(--navy)}
.tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.ticks{display:grid;gap:10px;margin-top:20px}
.ticks li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.ticks .icon{width:20px;height:20px;flex:none;color:var(--gold-ink);margin-top:3px}
.icon{width:24px;height:24px;flex:none}

/* Media and placeholders */
.media{position:relative;overflow:hidden;border-radius:var(--r-md);background:var(--cream-deep);margin:0}
.media img,.media video{width:100%;height:100%;object-fit:cover}
.ph{background-size:cover;background-position:center;min-height:200px;width:100%;height:100%}
.ph::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.08), transparent 60%)}
.ph__label{position:absolute;left:12px;bottom:12px;right:12px;z-index:2;display:inline-flex;gap:8px;align-items:center;width:max-content;max-width:calc(100% - 24px);font:600 .74rem/1.3 var(--font-body);background:rgba(255,255,255,.92);color:var(--navy);padding:7px 10px;border-radius:var(--r-sm)}
.ph__label .icon{width:14px;height:14px}
.hide-hints .ph__label,.hide-hints .admin-hint{display:none !important}

.admin-hint{display:flex;gap:12px;align-items:flex-start;margin:24px 0 0;padding:14px 16px;border:1.5px dashed #C9A227;border-radius:var(--r-sm);background:#FFF9E6;color:#4A3A00;font-size:.88rem;line-height:1.5}
.admin-hint .icon{width:18px;height:18px;margin-top:2px}
.admin-hint a{text-decoration:underline;font-weight:700}

/* Single-column grid tracks never grow past their container (wider breakpoints override later). */
.intro__grid,.school-cards,.differently__split,.differently__half,.timeline__list,.pillars,.montessori__grid,.principles,.safety__grid,.tabs,.stories__grid,.stories__news,.voice-matters__inner,.admissions__head,.adm-steps,.admissions__foot,.pathway__options,.footer__top,.phero__inner,.prose-wrap,.split,.feature-list,.cards-2,.school-hero__inner,.programmes,.form-section,.form__grid,.news-grid,.vacancy{grid-template-columns:minmax(0,1fr)}
.media{max-width:100%}
.ph--tower{background-color:#0F1E4A;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#0F1E4A%27/%3E%3Crect x=%27150%27 y=%27150%27 width=%27100%27 height=%27100%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27 stroke-width=%271.5%27/%3E%3Crect x=%27157%27 y=%2764%27 width=%2786%27 height=%2786%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.42%27 stroke-width=%271.5%27/%3E%3Crect x=%27164%27 y=%27-8%27 width=%2772%27 height=%2772%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.49%27 stroke-width=%271.5%27/%3E%3Crect x=%27171%27 y=%27-66%27 width=%2758%27 height=%2758%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.56%27 stroke-width=%271.5%27/%3E%3Crect x=%27177%27 y=%27-112%27 width=%2746%27 height=%2746%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.63%27 stroke-width=%271.5%27/%3E%3Crect x=%27182%27 y=%27-148%27 width=%2736%27 height=%2736%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.70%27 stroke-width=%271.5%27/%3E%3Crect x=%27186%27 y=%27-176%27 width=%2728%27 height=%2728%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.77%27 stroke-width=%271.5%27/%3E%3Crect x=%27190%27 y=%27-196%27 width=%2720%27 height=%2720%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.84%27 stroke-width=%271.5%27/%3E%3C/svg%3E")}
.ph--beads{background-color:#0A1536;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#0A1536%27/%3E%3Ccircle cx=%27110%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27130%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27150%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27170%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27190%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27210%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27230%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27250%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27270%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27290%27 cy=%2770%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Cline x1=%27100%27 y1=%2770%27 x2=%27300%27 y2=%2770%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27/%3E%3Ccircle cx=%27110%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27130%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27150%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27170%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27190%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27210%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27230%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27250%27 cy=%27110%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Cline x1=%27100%27 y1=%27110%27 x2=%27260%27 y2=%27110%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27/%3E%3Ccircle cx=%27110%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27130%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27150%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27170%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27190%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27210%27 cy=%27150%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Cline x1=%27100%27 y1=%27150%27 x2=%27220%27 y2=%27150%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27/%3E%3Ccircle cx=%27110%27 cy=%27190%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27130%27 cy=%27190%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27150%27 cy=%27190%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27170%27 cy=%27190%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Cline x1=%27100%27 y1=%27190%27 x2=%27180%27 y2=%27190%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27/%3E%3Ccircle cx=%27110%27 cy=%27230%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Ccircle cx=%27130%27 cy=%27230%27 r=%277.5%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-width=%271.5%27 stroke-opacity=%270.75%27/%3E%3Cline x1=%27100%27 y1=%27230%27 x2=%27140%27 y2=%27230%27 stroke=%27#F2B705%27 stroke-opacity=%270.35%27/%3E%3C/svg%3E")}
.ph--orbits{background-color:#0F1E4A;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#0F1E4A%27/%3E%3Cellipse cx=%27200%27 cy=%27150%27 rx=%27150%27 ry=%2752%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.55%27 stroke-width=%271.5%27 transform=%27rotate%280 200 150%29%27/%3E%3Cellipse cx=%27200%27 cy=%27150%27 rx=%27150%27 ry=%2752%27 fill=%27none%27 stroke=%27#6FA8DC%27 stroke-opacity=%270.55%27 stroke-width=%271.5%27 transform=%27rotate%2860 200 150%29%27/%3E%3Cellipse cx=%27200%27 cy=%27150%27 rx=%27150%27 ry=%2752%27 fill=%27none%27 stroke=%27#D9534F%27 stroke-opacity=%270.55%27 stroke-width=%271.5%27 transform=%27rotate%28120 200 150%29%27/%3E%3Ccircle cx=%27200%27 cy=%27150%27 r=%279%27 fill=%27#F2B705%27 fill-opacity=%270.8%27/%3E%3C/svg%3E")}
.ph--rods{background-color:#F3EDE0;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#F3EDE0%27/%3E%3Crect x=%2760%27 y=%2730%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%2754%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%2754%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%2778%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%2778%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%2778%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27102%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27102%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27102%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27102%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27126%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27126%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27126%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27126%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27126%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27200%27 y=%27150%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27200%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27228%27 y=%27174%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27200%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27228%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27256%27 y=%27198%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27200%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27228%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27256%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27284%27 y=%27222%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2760%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%2788%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27116%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27144%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27172%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27200%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27228%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27256%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3Crect x=%27284%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#0F1E4A%27 fill-opacity=%270.85%27/%3E%3Crect x=%27312%27 y=%27246%27 width=%2728%27 height=%2714%27 fill=%27#F2B705%27 fill-opacity=%270.85%27/%3E%3C/svg%3E")}
.ph--laurel{background-color:#F3EDE0;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#F3EDE0%27/%3E%3Cellipse cx=%2777.8%27 cy=%27164.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-155 77.8 164.5%29%27/%3E%3Cellipse cx=%2791%27 cy=%27190.8%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-168 91 190.8%29%27/%3E%3Cellipse cx=%27109.7%27 cy=%27213.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-181 109.7 213.5%29%27/%3E%3Cellipse cx=%27133%27 cy=%27231.4%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-194 133 231.4%29%27/%3E%3Cellipse cx=%27159.8%27 cy=%27243.6%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-207 159.8 243.6%29%27/%3E%3Cellipse cx=%27188.7%27 cy=%27249.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-220 188.7 249.5%29%27/%3E%3Cellipse cx=%27218.1%27 cy=%27248.7%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-233 218.1 248.7%29%27/%3E%3Cellipse cx=%27246.6%27 cy=%27241.4%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-246 246.6 241.4%29%27/%3E%3Cellipse cx=%27272.7%27 cy=%27227.8%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-259 272.7 227.8%29%27/%3E%3Cellipse cx=%27295.1%27 cy=%27208.7%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-272 295.1 208.7%29%27/%3E%3Cellipse cx=%27312.6%27 cy=%27185%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-285 312.6 185%29%27/%3E%3Cellipse cx=%27322.2%27 cy=%27164.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-25 322.2 164.5%29%27/%3E%3Cellipse cx=%27309%27 cy=%27190.8%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28-12 309 190.8%29%27/%3E%3Cellipse cx=%27290.3%27 cy=%27213.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%281 290.3 213.5%29%27/%3E%3Cellipse cx=%27267%27 cy=%27231.4%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2814 267 231.4%29%27/%3E%3Cellipse cx=%27240.2%27 cy=%27243.6%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2827 240.2 243.6%29%27/%3E%3Cellipse cx=%27211.3%27 cy=%27249.5%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2840 211.3 249.5%29%27/%3E%3Cellipse cx=%27181.9%27 cy=%27248.7%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2853 181.9 248.7%29%27/%3E%3Cellipse cx=%27153.4%27 cy=%27241.4%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2866 153.4 241.4%29%27/%3E%3Cellipse cx=%27127.3%27 cy=%27227.8%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2879 127.3 227.8%29%27/%3E%3Cellipse cx=%27104.9%27 cy=%27208.7%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%2892 104.9 208.7%29%27/%3E%3Cellipse cx=%2787.4%27 cy=%27185%27 rx=%2715%27 ry=%276%27 fill=%27#F2B705%27 fill-opacity=%270.7%27 transform=%27rotate%28105 87.4 185%29%27/%3E%3Cpath d=%27M70 150 A130 130 0 0 0 330 150%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.6%27 stroke-width=%271.5%27/%3E%3C/svg%3E")}
.ph--shapes{background-color:#0E6F6E;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 300%27 preserveAspectRatio=%27xMidYMid slice%27%3E%3Crect width=%27400%27 height=%27300%27 fill=%27#0E6F6E%27/%3E%3Ccircle cx=%27120%27 cy=%27110%27 r=%2742%27 fill=%27none%27 stroke=%27#FBF8F1%27 stroke-opacity=%270.6%27 stroke-width=%271.5%27/%3E%3Crect x=%27205%27 y=%2770%27 width=%2780%27 height=%2780%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.8%27 stroke-width=%271.5%27/%3E%3Cpath d=%27M120 250 L165 175 L210 250 Z%27 fill=%27none%27 stroke=%27#F2B705%27 stroke-opacity=%270.8%27 stroke-width=%271.5%27/%3E%3Cellipse cx=%27285%27 cy=%27215%27 rx=%2755%27 ry=%2730%27 fill=%27none%27 stroke=%27#FBF8F1%27 stroke-opacity=%270.6%27 stroke-width=%271.5%27/%3E%3C/svg%3E")}
/* Announcement bar */
.announce{background:var(--navy-deep);color:var(--on-navy);font-size:.86rem;position:relative;z-index:61}
.announce__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding-block:6px}
.announce__msg{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0}
.announce__tag{font-family:var(--font-display);font-style:italic;font-size:1.02rem;color:var(--gold);letter-spacing:.01em}
.announce__msg a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:#fff;border-bottom:1px solid rgba(242,183,5,.6);padding-bottom:1px}
.announce__msg a .icon{width:15px;height:15px;transition:transform .3s var(--ease-out)}
.announce__msg a:hover .icon{transform:translateX(3px)}
.announce__util{display:none;gap:22px}
.announce__util a{display:inline-flex;align-items:center;gap:7px;color:var(--on-navy-muted);transition:color .2s}
.announce__util a:hover{color:#fff}
.announce__util .icon{width:15px;height:15px}
@media (min-width:900px){.announce__util{display:flex}}
@media (max-width:640px){.announce__tag{display:none}.announce__inner{min-height:38px;font-size:.8rem}}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(251,248,241,.94);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:background-color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease)}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -22px rgba(15,30,74,.35)}
.header__inner{display:flex;align-items:center;gap:20px;height:var(--header-h);transition:height .4s var(--ease)}
.site-header.is-scrolled .header__inner{height:70px}

.brand{display:flex;align-items:center;gap:12px;margin-right:auto;flex:none}
.brand__logos{display:flex;align-items:center}
.brand__logo{width:52px;height:52px;border-radius:50%;transition:width .4s var(--ease),height .4s var(--ease);filter:drop-shadow(0 2px 6px rgba(15,30,74,.12))}
.brand__logo + .brand__logo{margin-left:-10px}
.is-scrolled .brand__logo{width:44px;height:44px}
.brand__text{display:flex;flex-direction:column;line-height:1.15}
.brand__text strong{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--navy);letter-spacing:-.01em}
.brand__text span{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
@media (max-width:1320px) and (min-width:1200px){.brand__text{display:none}}
@media (max-width:420px){.brand__text strong{font-size:.98rem}.brand__text span{font-size:.64rem}.brand__logo{width:44px;height:44px}}

/* Desktop nav */
.nav{display:none}
.nav__list{display:flex;align-items:center;gap:2px}
.nav__item{position:relative;display:flex;align-items:center}
.nav__link{display:block;padding:10px 10px;font-size:.86rem;font-weight:700;letter-spacing:.01em;color:var(--navy);position:relative;white-space:nowrap}
.nav__link::after{content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.nav__item:hover > .nav__link::after,.nav__link[aria-current]::after,.nav__item.is-open > .nav__link::after{transform:scaleX(1)}
.has-drop .nav__link{padding-right:2px}
.nav__toggle{display:grid;place-items:center;width:22px;height:30px;color:var(--navy);margin-right:4px}
.nav__toggle .icon{width:15px;height:15px;transition:transform .3s var(--ease)}
.nav__item.is-open .nav__toggle .icon,.nav__item:hover .nav__toggle .icon{transform:rotate(180deg)}

.drop{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;background:var(--surface);border-radius:var(--r-md);box-shadow:0 30px 60px -24px rgba(10,21,54,.35),0 0 0 1px rgba(15,30,74,.06);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s var(--ease),transform .3s var(--ease-out),visibility 0s linear .3s;z-index:5}
.drop::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav__item:hover > .drop,.nav__item.is-open > .drop,.nav__item:focus-within > .drop{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.drop__list a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:10px;transition:background-color .2s}
.drop__list a:hover,.drop__list a:focus-visible{background:var(--cream-deep)}
.drop__list strong{font-size:.93rem;color:var(--navy);font-weight:700}
.drop__list span{font-size:.8rem;color:var(--muted)}

.drop--mega{width:min(760px, 80vw);left:-120px;padding:0;overflow:hidden}
.mega{display:grid;grid-template-columns:260px 1fr}
.mega__intro{background:var(--navy);color:var(--on-navy);padding:28px}
.mega__intro p{font-size:.88rem;color:var(--on-navy-muted);margin-bottom:18px}
.mega__intro .mega__title{font-family:var(--font-display);font-size:1.45rem;color:#fff;line-height:1.15;margin-bottom:10px}
.mega__intro .link-arrow{color:var(--gold);font-size:.88rem}
.mega__schools{padding:14px;display:grid;gap:6px;align-content:start}
.mega__school{display:flex;align-items:center;gap:16px;padding:14px;border-radius:12px;transition:background-color .2s}
.mega__school:hover{background:var(--cream-deep)}
.mega__logo{width:64px;height:64px;border-radius:50%;flex:none}
.mega__school strong{display:block;font-family:var(--font-display);font-size:1.12rem;color:var(--navy);line-height:1.2}
.mega__school span span{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}

.header__cta{display:flex;align-items:center;gap:10px}
.header__tour{display:none}

.burger{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 14px 0 12px;border-radius:var(--r-pill);border:1.5px solid rgba(15,30,74,.2);color:var(--navy);font-weight:700;font-size:.85rem}
.burger__lines{display:grid;gap:5px;width:18px}
.burger__lines span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .35s var(--ease)}
.burger[aria-expanded="true"] .burger__lines span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] .burger__lines span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media (max-width:420px){.burger__label{display:none}.burger{padding:0 12px}.header__cta .btn{padding:0 14px}}

@media (min-width:960px){.header__tour{display:inline-flex}}
@media (max-width:959px){.burger__label{display:none}.burger{padding:0 12px}.brand__text span{display:none}}
@media (max-width:759px){.brand{flex:0 1 auto;min-width:0}.brand__text strong{font-size:.95rem;max-width:9.5em;line-height:1.15}}
@media (max-width:519px){.brand__text{display:none}}
@media (min-width:1200px){
	.nav{display:block}
	.burger{display:none}
}
@media (max-width:1199px){
	:root{--header-h:72px}
}

/* Mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:59;background:var(--navy);color:var(--on-navy);overflow-y:auto;padding-top:calc(var(--header-h) + var(--announce-h) + 12px);opacity:0;transition:opacity .35s var(--ease)}
.mobile-menu.is-open{opacity:1}
.menu-open{overflow:hidden}
.menu-open .site-header{background:var(--navy);border-bottom-color:var(--line-dark)}
.menu-open .brand__text strong{color:#fff}
.menu-open .brand__text span{color:var(--gold)}
.menu-open .burger{color:#fff;border-color:rgba(255,255,255,.35)}
.menu-open .header__cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.mobile-menu__inner{max-width:640px;margin:0 auto;padding:12px var(--gutter) 120px}
.mm__list > li{border-bottom:1px solid var(--line-dark)}
.mm__link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 0;font-family:var(--font-display);font-size:1.6rem;color:#fff;cursor:pointer;list-style:none}
.mm__link::-webkit-details-marker{display:none}
.mm__link .icon{width:22px;height:22px;color:var(--gold);transition:transform .3s var(--ease)}
.mm__group[open] .mm__link .icon{transform:rotate(45deg)}
.mm__group ul{padding:0 0 18px 2px;display:grid;gap:4px}
.mm__group ul a{display:block;padding:9px 0;color:var(--on-navy-muted);font-weight:600}
.mm__group ul a:hover{color:#fff}
.mm__cta{display:grid;gap:12px;margin-top:32px}
.mm__cta .btn{width:100%}
.mm__contact{display:grid;gap:14px;margin-top:32px;color:var(--on-navy-muted);font-size:.95rem}
.mm__contact a{display:flex;gap:12px;align-items:center}
.mm__contact .icon{width:18px;height:18px;color:var(--gold)}
/* Hero */
.hero{position:relative;min-height:min(100svh, 920px);display:flex;align-items:flex-end;color:#fff;background:var(--navy-deep);overflow:hidden;isolation:isolate;margin-top:calc(-1 * var(--header-h))}
.hero__media{position:absolute;inset:-6% 0 0;z-index:-2;will-change:transform}
.hero__media .media{border-radius:0;height:100%}
.hero__media .ph{min-height:100%}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg, rgba(10,21,54,.92) 0%, rgba(10,21,54,.72) 38%, rgba(10,21,54,.18) 75%),linear-gradient(0deg, rgba(10,21,54,.85) 0%, rgba(10,21,54,0) 45%)}
.hero__orbits{position:absolute;right:-8%;top:10%;width:min(62vw, 760px);z-index:-1;fill:none;stroke:rgba(242,183,5,.28);stroke-width:1;animation:orbit 80s linear infinite;pointer-events:none}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero__inner{padding-top:calc(var(--header-h) + 72px);padding-bottom:clamp(88px, 12vh, 140px);width:100%}
.hero__content{max-width:760px}
.hero__kicker{display:flex;align-items:center;gap:14px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
.hero__kicker-line{width:40px;height:1.5px;background:var(--gold);flex:none}
.hero__title{font-family:var(--font-display);font-weight:500;font-size:clamp(3rem, 1.6rem + 6vw, 6.6rem);line-height:.98;letter-spacing:-.03em;color:#fff;padding-bottom:.06em}
.hero__lead{margin-top:26px;font-size:clamp(1.05rem, .98rem + .4vw, 1.3rem);line-height:1.6;color:rgba(244,241,232,.88);max-width:56ch}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:38px}
.hero__explore{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#fff;padding:12px 6px;border-bottom:1.5px solid rgba(242,183,5,.7)}
.hero__explore .icon{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.hero__explore:hover .icon{transform:translateX(4px)}
.hero__scroll{position:absolute;left:50%;bottom:26px;width:24px;height:40px;border:1.5px solid rgba(255,255,255,.5);border-radius:14px;transform:translateX(-50%)}
.hero__scroll span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:var(--gold);animation:scrollcue 2.2s var(--ease) infinite}
@keyframes scrollcue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:1;transform:translateY(12px)}100%{opacity:0;transform:translateY(14px)}}
.hero__pause{position:absolute;right:var(--gutter);bottom:26px;width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.45);display:grid;place-items:center;color:#fff}
.hero__pause .icon{width:16px;height:16px}
@media (max-width:640px){
	.hero{min-height:88svh}
	.hero__scrim{background:linear-gradient(0deg, rgba(10,21,54,.95) 0%, rgba(10,21,54,.7) 55%, rgba(10,21,54,.35) 100%)}
	.hero__orbits{width:120vw;right:-40%;top:6%}
	.hero__actions .btn{flex:1 1 100%}
	.hero__scroll{display:none}
}

/* Transparent header over the homepage hero */
.home .site-header:not(.is-scrolled){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.home:not(.menu-open) .site-header:not(.is-scrolled) .brand__text strong,
.home:not(.menu-open) .site-header:not(.is-scrolled) .nav__link,
.home:not(.menu-open) .site-header:not(.is-scrolled) .nav__toggle{color:#fff}
.home:not(.menu-open) .site-header:not(.is-scrolled) .brand__text span{color:var(--gold)}
.home:not(.menu-open) .site-header:not(.is-scrolled) .btn--ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.home:not(.menu-open) .site-header:not(.is-scrolled) .btn--ghost:hover{background:#fff;color:var(--navy)}
.home:not(.menu-open) .site-header:not(.is-scrolled) .burger{color:#fff;border-color:rgba(255,255,255,.4)}

/* Intro */
.intro__grid{display:grid;gap:56px;align-items:center}
@media (min-width:1024px){.intro__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:88px}}
.intro__body{margin-top:28px;display:grid;gap:18px;max-width:60ch}
.intro__body p:not(.lead){color:var(--muted)}
.values-line{display:flex;flex-wrap:wrap;gap:10px 0;margin-top:32px;font-family:var(--font-display);font-size:1.18rem;color:var(--navy)}
.values-line li{display:flex;align-items:center}
.values-line li:not(:last-child)::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin:0 14px}
.intro__text .btn{margin-top:36px}
.intro__media{position:relative;padding:0 0 64px 0}
.intro__img-main{aspect-ratio:4/5;width:88%;margin-left:auto}
.intro__img-small{position:absolute !important;left:0;bottom:0;width:46%;aspect-ratio:1;border:8px solid var(--bg);border-radius:18px}
.intro__badge{position:absolute;right:-12px;bottom:92px;max-width:230px;background:var(--navy);color:var(--on-navy);padding:18px 20px;border-radius:var(--r-md);display:flex;gap:12px;font-size:.86rem;line-height:1.45;box-shadow:var(--shadow-lift)}
.intro__badge .icon{color:var(--gold);width:28px;height:28px}
@media (max-width:640px){.intro__badge{position:relative;right:auto;bottom:auto;margin-top:20px;max-width:none}.intro__media{padding-bottom:0}.intro__img-small{position:relative !important;width:60%;margin-top:-80px;border-width:6px}}

.facts{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));margin-top:clamp(56px, 7vw, 96px);border-top:1px solid var(--line)}
.facts__item{padding:28px 24px 0 0;display:flex;flex-direction:column-reverse;gap:6px}
.facts__item dd{font-family:var(--font-display);font-size:clamp(2.6rem, 2rem + 2vw, 3.8rem);line-height:1;color:var(--navy)}
.facts__item dt{color:var(--muted);font-size:.92rem}

/* School cards */
.school-cards{display:grid;gap:28px}
@media (min-width:900px){.school-cards--2{grid-template-columns:1fr 1fr}.school-cards--3,.school-cards--4{grid-template-columns:repeat(3, 1fr)}}
.school-card{background:var(--surface);border-radius:20px;overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.school-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.school-card__link{display:flex;flex-direction:column;height:100%}
.school-card__media{aspect-ratio:16/10;overflow:hidden}
.school-card__media .media{border-radius:0;height:100%;transition:transform 1.2s var(--ease-out)}
.school-card:hover .school-card__media .media{transform:scale(1.045)}
.school-card__body{padding:0 clamp(24px, 3vw, 40px) clamp(28px, 3vw, 40px);display:flex;flex-direction:column;gap:14px;flex:1}
.school-card__top{display:flex;align-items:flex-end;justify-content:space-between;margin-top:-46px;position:relative}
.school-card__num{font-family:var(--font-display);font-size:1rem;color:var(--gold-ink);padding-top:56px;letter-spacing:.06em}
.school-card__logo{width:96px;height:96px;border-radius:50%;box-shadow:0 10px 24px -10px rgba(15,30,74,.35);background:#fff}
.school-card__title{font-size:clamp(1.6rem, 1.3rem + 1vw, 2.15rem);line-height:1.1;color:var(--navy)}
.school-card__line{color:var(--muted);font-size:1.05rem;max-width:40ch}
.school-card .btn{align-self:flex-start;margin-top:auto}
.school-card .chips{margin-bottom:10px}

/* See learning differently */
.differently{padding-block:var(--section);background:var(--bg);overflow:hidden}
.differently__title{margin-bottom:clamp(40px, 5vw, 64px)}
.differently__split{display:grid;position:relative}
@media (min-width:1024px){.differently__split{grid-template-columns:1fr 0 1fr}}
.differently__half{padding:clamp(40px, 5vw, 80px) max(var(--gutter), calc((100vw - var(--container)) / 2));display:grid;gap:32px;align-content:start}
@media (min-width:1024px){
	.differently__half{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center}
	.differently__half--found{padding-right:64px}
	.differently__half--journey{padding-left:64px}
}
.differently__half--found{background:var(--cream-deep)}
.differently__half--journey{background:var(--navy);color:var(--on-navy)}
.differently__half--journey p{color:var(--on-navy-muted)}
.differently__half--journey .ticks .icon{color:var(--gold)}
.differently__img{aspect-ratio:4/5}
.differently__label{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;color:var(--gold-ink)}
.differently__half--journey .differently__label{color:var(--gold)}
.differently__logo{width:40px;height:40px;border-radius:50%}
.differently__copy h3{font-size:clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem);margin-bottom:12px;line-height:1.08}
.differently__bridge{position:relative;z-index:2;height:0}
.differently__node{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;box-shadow:0 0 0 10px var(--bg)}
@media (max-width:1023px){.differently__node{transform:translate(-50%,-50%) rotate(90deg)}}
.differently__foot{padding-top:40px;max-width:760px;font-family:var(--font-display);font-size:clamp(1.25rem, 1.1rem + .6vw, 1.6rem);line-height:1.4;color:var(--navy)}

/* Journey timeline */
.timeline{position:relative}
.timeline__rail{position:absolute;left:23px;top:0;bottom:0;width:2px;background:var(--line)}
.timeline__progress{position:absolute;inset:0 0 auto 0;height:0;background:var(--gold);transition:height .2s linear}
.timeline__list{display:grid;gap:28px}
.stage{position:relative;padding-left:72px}
.stage__marker{position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;background:var(--bg);border:2px solid var(--line);display:grid;place-items:center;font-family:var(--font-display);font-size:1.2rem;color:var(--navy);transition:background-color .5s var(--ease),border-color .5s var(--ease),color .5s}
.stage.is-active .stage__marker{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.stage__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:26px;transition:box-shadow .4s var(--ease),transform .4s var(--ease)}
.stage__card:hover{box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.stage__img{aspect-ratio:16/10;margin-bottom:20px}
.stage__school{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.stage__name{font-size:1.9rem;color:var(--navy);margin:4px 0 16px}
.stage__facts{display:grid;gap:12px}
.stage__facts dt{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}
.stage__facts dd{font-size:.93rem;color:var(--muted);line-height:1.5}
@media (min-width:1024px){
	.timeline__rail{left:0;right:0;top:23px;bottom:auto;width:auto;height:2px}
	.timeline__progress{inset:0 auto 0 0;width:0;height:100%}
	.timeline__list{grid-template-columns:repeat(4, 1fr);gap:24px}
	.stage{padding-left:0;padding-top:76px}
}
.journey__foot{margin-top:40px}

/* Why pillars */
.why{position:relative;overflow:hidden}
.why::before{content:"";position:absolute;right:-180px;top:-180px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(242,183,5,.18);box-shadow:0 0 0 60px rgba(242,183,5,.03),0 0 0 120px rgba(242,183,5,.02)}
.pillars{display:grid;border-top:1px solid var(--line-dark)}
@media (min-width:700px){.pillars{grid-template-columns:repeat(2, 1fr)}}
@media (min-width:1024px){.pillars{grid-template-columns:repeat(3, 1fr)}}
.pillar{padding:34px 28px 34px 0;border-bottom:1px solid var(--line-dark);display:grid;gap:10px;align-content:start}
@media (min-width:700px){.pillar:not(:nth-child(2n)){border-right:1px solid var(--line-dark)}.pillar{padding-left:28px}.pillar:nth-child(2n+1){padding-left:0}}
@media (min-width:1024px){.pillar:not(:nth-child(2n)){border-right:0}.pillar:not(:nth-child(3n)){border-right:1px solid var(--line-dark)}.pillar{padding-left:32px}.pillar:nth-child(2n+1){padding-left:32px}.pillar:nth-child(3n+1){padding-left:0}}
.pillar__icon{width:52px;height:52px;border-radius:50%;background:rgba(242,183,5,.12);color:var(--gold);display:grid;place-items:center;margin-bottom:8px;transition:transform .5s var(--ease-out),background-color .3s}
.pillar:hover .pillar__icon{transform:rotate(-8deg) scale(1.06);background:var(--gold);color:var(--navy)}
.pillar__title{font-size:1.45rem;color:#fff}
.pillar p{font-size:.98rem;max-width:34ch}

/* Montessori */
.montessori__grid{display:grid;gap:56px}
@media (min-width:1024px){.montessori__grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:88px;align-items:start}.montessori__media{position:sticky;top:calc(var(--header-h) + 32px)}}
.montessori__img{aspect-ratio:4/5}
.montessori__quote{margin-top:-64px;margin-left:clamp(16px, 4vw, 48px);margin-right:-12px;position:relative;background:var(--gold);color:var(--navy);padding:26px 28px;border-radius:var(--r-md);box-shadow:var(--shadow-lift)}
.montessori__quote p{font-family:var(--font-display);font-size:1.22rem;line-height:1.4;font-style:italic}
.montessori__quote cite{display:block;margin-top:12px;font-style:normal;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.school-tag{display:inline-flex;align-items:center;gap:12px;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:20px}
.school-tag__logo{width:40px;height:40px;border-radius:50%}
.montessori__text .lead{margin-top:24px;max-width:58ch}
.principles{display:grid;margin-top:40px;border-top:1px solid var(--line)}
@media (min-width:640px){.principles{grid-template-columns:1fr 1fr;column-gap:40px}}
.principle{padding:20px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.principle dt{font-family:var(--font-display);font-size:1.3rem;color:var(--navy)}
.principle dd{color:var(--muted);font-size:.95rem}
.montessori__text .btn{margin-top:36px}

/* Academics rail */
.rail{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:8px 0 24px;scroll-padding-inline:max(var(--gutter), calc((100vw - var(--container)) / 2))}
.rail::-webkit-scrollbar{display:none}
.rail:focus-visible{outline-offset:-3px}
.rail__track{display:flex;gap:18px;padding-inline:max(var(--gutter), calc((100vw - var(--container)) / 2));width:max-content}
.acad-card{scroll-snap-align:start;width:clamp(260px, 26vw, 320px);flex:none}
.acad-card a{display:flex;flex-direction:column;gap:14px;height:100%;min-height:300px;padding:30px 28px;border-radius:18px;background:var(--surface);border:1px solid var(--line);position:relative;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out),background-color .3s}
.acad-card a:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.acad-card--navy a{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
.acad-card--navy p{color:var(--on-navy-muted)}
.acad-card__icon{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:var(--cream-deep);color:var(--navy)}
.acad-card--navy .acad-card__icon{background:rgba(242,183,5,.14);color:var(--gold)}
.acad-card__title{font-size:1.5rem;line-height:1.15;margin-top:18px}
.acad-card p{color:var(--muted);font-size:.95rem}
.acad-card__more{margin-top:auto;width:40px;height:40px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;opacity:.5;transition:opacity .3s,transform .4s var(--ease-out),background-color .3s}
.acad-card__more .icon{width:18px;height:18px}
.acad-card a:hover .acad-card__more{opacity:1;transform:rotate(45deg);background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* Classroom mosaic */
.mosaic{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}
.mosaic .media{height:100%}
.mosaic__a{grid-column:1/-1;aspect-ratio:16/10}
.mosaic__b,.mosaic__c,.mosaic__d{aspect-ratio:1}
.mosaic__quote{grid-column:1/-1;background:var(--navy);color:#fff;border-radius:var(--r-md);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.mosaic__quote .icon{width:40px;height:40px;color:var(--gold)}
.mosaic__quote p{font-family:var(--font-display);font-size:clamp(1.4rem, 1.1rem + 1vw, 2rem);line-height:1.25}
.mosaic__note{grid-column:1/-1;background:var(--surface);border-radius:var(--r-md);padding:32px;border:1px solid var(--line)}
.mosaic__note h3{color:var(--navy)}
.mosaic__note .link-arrow{margin-top:20px}
@media (min-width:1024px){
	.mosaic{grid-template-columns:repeat(12, 1fr);grid-auto-rows:minmax(120px, auto)}
	.mosaic__a{grid-column:1/8;grid-row:1/4;aspect-ratio:auto}
	.mosaic__b{grid-column:8/13;grid-row:1/3;aspect-ratio:auto}
	.mosaic__quote{grid-column:8/13;grid-row:3/5}
	.mosaic__c{grid-column:1/4;grid-row:4/6;aspect-ratio:auto}
	.mosaic__d{grid-column:4/8;grid-row:4/6;aspect-ratio:auto}
	.mosaic__note{grid-column:8/13;grid-row:5/7}
	.mosaic__c,.mosaic__d{min-height:260px}
	.mosaic__a{min-height:460px}
}

/* Life bento */
.bento{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.bento__tile{position:relative;border-radius:var(--r-md);overflow:hidden;min-height:220px;display:block;color:#fff;background:var(--navy)}
.bento__tile .media{position:absolute;inset:0;border-radius:0;transition:transform 1.2s var(--ease-out)}
.bento__tile:hover .media{transform:scale(1.05)}
.bento__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(10,21,54,.82), rgba(10,21,54,0) 55%);pointer-events:none}
.bento__cap{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:grid;gap:4px}
.bento__cap strong{font-family:var(--font-display);font-size:1.4rem;font-weight:500;line-height:1.15}
.bento__cap span{font-size:.9rem;color:rgba(255,255,255,.82)}
.bento__tile--xl{grid-column:1/-1;min-height:340px}
.bento__tile--text{grid-column:1/-1;background:var(--gold);color:var(--navy);padding:32px;display:flex;flex-direction:column;gap:12px;justify-content:flex-end}
.bento__tile--text::after{display:none}
.bento__tile--text h3{font-size:1.7rem;line-height:1.12}
.bento__tile--text .link-arrow{margin-top:8px}
@media (min-width:1024px){
	.bento{grid-template-columns:repeat(4, 1fr);grid-auto-rows:260px}
	.bento__tile{min-height:0}
	.bento__tile--xl{grid-column:1/3;grid-row:1/3}
	.bento__tile--text{grid-column:3/5;grid-row:2/3}
}

/* Safety */
.safety{background:var(--teal-soft)}
.safety__grid{display:grid;gap:48px}
@media (min-width:1024px){.safety__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:88px;align-items:start}}
.safety__badge{width:60px;height:60px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;margin-bottom:24px}
.safety__intro .lead{margin-top:22px;max-width:52ch}
.safety__img{aspect-ratio:16/11;margin-top:36px}
.safety .h-display em{color:var(--teal)}
.safety__list{display:grid;gap:0;background:var(--surface);border-radius:20px;padding:12px clamp(20px, 3vw, 36px)}
@media (min-width:640px){.safety__list{grid-template-columns:1fr 1fr;column-gap:36px}}
.safety__list li{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
@media (min-width:640px){.safety__list li:nth-last-child(-n+2){border-bottom:0}}
.safety__icon{width:44px;height:44px;flex:none;border-radius:12px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
.safety__icon .icon{width:22px;height:22px}
.safety__list h3{font-family:var(--font-body);font-size:1rem;font-weight:800;color:var(--navy);letter-spacing:0;margin-bottom:4px}
.safety__list p{font-size:.92rem;color:var(--muted);line-height:1.55}

/* Facilities tabs */
.tabs{display:grid;gap:28px}
@media (min-width:1024px){.tabs{grid-template-columns:320px 1fr;gap:48px;align-items:start}}
.tabs__list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.tabs__list::-webkit-scrollbar{display:none}
@media (min-width:1024px){.tabs__list{flex-direction:column;overflow:visible}}
.tabs__tab{display:flex;align-items:center;gap:14px;text-align:left;padding:18px 20px;border-radius:12px;font-weight:700;color:var(--muted);white-space:nowrap;border:1.5px solid transparent;transition:all .3s var(--ease)}
.tabs__tab:hover{color:var(--navy)}
.tabs__tab[aria-selected="true"]{background:var(--surface);color:var(--navy);border-color:var(--line);box-shadow:var(--shadow-soft)}
.tabs__num{font-family:var(--font-display);font-size:.95rem;color:var(--gold-ink)}
.tabs__panel{position:relative;border-radius:20px;overflow:hidden;animation:fadeUp .6s var(--ease-out)}
.tabs__panel .media{aspect-ratio:16/10;border-radius:20px}
.tabs__copy{background:var(--surface);border-radius:var(--r-md);padding:26px 28px;margin:-80px 20px 0;position:relative;max-width:520px;box-shadow:var(--shadow-soft)}
.tabs__copy h3{color:var(--navy);margin-bottom:8px}
.tabs__copy p{color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Testimonials */
.voices__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:48px}
.voices__track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.voices__track::-webkit-scrollbar{display:none}
.voice{flex:0 0 min(560px, 88%);scroll-snap-align:start;background:var(--surface);border-radius:20px;padding:40px;display:flex;flex-direction:column;gap:22px}
.voice__mark{width:44px;height:44px;color:var(--gold)}
.voice blockquote{font-family:var(--font-display);font-size:1.4rem;line-height:1.45;color:var(--navy)}
.voice figcaption{margin-top:auto;display:grid;gap:2px}
.voice figcaption strong{color:var(--navy)}
.voice figcaption span{font-size:.88rem;color:var(--muted)}

/* Stories */
.stories__grid{display:grid;gap:40px}
@media (min-width:1024px){.stories__grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:56px}.stories__grid--full{grid-template-columns:1fr}}
.stories__news{display:grid;gap:24px}
@media (min-width:700px){.stories__news{grid-template-columns:1fr 1fr}.stories__news .news-card--featured{grid-column:1/-1}}
.stories__events{background:var(--surface);border-radius:20px;padding:28px;border:1px solid var(--line);align-self:start}
.stories__events-title{display:flex;align-items:center;gap:10px;font-size:1.5rem;color:var(--navy);margin-bottom:8px}
.stories__events-title .icon{color:var(--gold-ink)}
.stories__events .link-arrow{margin-top:18px}

.news-card{background:var(--surface);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.news-card__link{display:flex;flex-direction:column;height:100%}
.news-card__media{aspect-ratio:16/10;overflow:hidden}
.news-card__media .media{border-radius:0;height:100%;transition:transform 1.2s var(--ease-out)}
.news-card:hover .news-card__media .media{transform:scale(1.05)}
.news-card__body{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.news-card__meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.82rem;color:var(--muted)}
.news-card__title{font-size:1.35rem;line-height:1.22;color:var(--navy)}
.news-card__excerpt{color:var(--muted)}
.news-card .link-arrow{margin-top:auto}
@media (min-width:900px){
	.news-card--featured .news-card__link{display:grid;grid-template-columns:1.2fr 1fr}
	.news-card--featured .news-card__media{aspect-ratio:auto;min-height:320px}
	.news-card--featured .news-card__body{padding:36px;justify-content:center}
	.news-card--featured .news-card__title{font-size:1.9rem}
}

.event-row{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.event-row:last-of-type{border-bottom:0}
.event-row__date{background:var(--navy);color:#fff;border-radius:12px;text-align:center;padding:10px 0;display:grid;line-height:1}
.event-row__day{font-family:var(--font-display);font-size:1.7rem}
.event-row__month{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.event-row__title{font-size:1.18rem;line-height:1.25;color:var(--navy);margin:2px 0 8px}
.event-row__title a:hover{text-decoration:underline;text-underline-offset:3px}
.event-row__meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;color:var(--muted)}
.event-row__meta span{display:inline-flex;align-items:center;gap:6px}
.event-row__meta .icon{width:15px;height:15px}
.event-row__cal{grid-column:2;display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:var(--teal);width:max-content}
.event-row__cal .icon{width:15px;height:15px}

/* Community strip */
.community__strip{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px}
@media (min-width:900px){.community__strip{grid-template-columns:repeat(6, 1fr)}}
.community__strip a{display:block;aspect-ratio:1;border-radius:12px;overflow:hidden}
.community__strip img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.community__strip a:hover img{transform:scale(1.08)}
.socials{display:flex;gap:10px;flex-wrap:wrap}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line-dark);color:var(--on-navy);transition:all .3s var(--ease)}
.socials a:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.socials .icon{width:19px;height:19px}
.socials--dark a{border-color:rgba(15,30,74,.2);color:var(--navy)}

/* Parent hub */
.hub__grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:560px){.hub__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.hub__grid{grid-template-columns:repeat(4, 1fr)}}
.hub-tile{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;min-height:180px;padding:26px 24px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .3s}
a.hub-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:transparent}
.hub-tile__icon{width:48px;height:48px;border-radius:12px;background:var(--navy);color:var(--gold);display:grid;place-items:center;margin-bottom:10px}
.hub-tile h3{font-family:var(--font-body);font-size:1.02rem;font-weight:800;color:var(--navy);letter-spacing:0;line-height:1.3;padding-right:28px}
.hub-tile p{font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.hub-tile__lock{width:14px;height:14px;color:var(--teal)}
.hub-tile__go{position:absolute;right:20px;top:26px;width:20px;height:20px;color:var(--muted);transition:transform .4s var(--ease-out),color .3s}
a.hub-tile:hover .hub-tile__go{transform:translate(3px,-3px);color:var(--navy)}
.hub-tile--pending{background:transparent;border-style:dashed}
.hub-tile--pending .hub-tile__icon{background:var(--cream-deep);color:var(--muted)}

/* Your voice matters */
.voice-matters{background:var(--gold);color:var(--navy);padding-block:clamp(56px, 7vw, 88px)}
.voice-matters__inner{display:grid;gap:28px;align-items:center}
@media (min-width:1024px){.voice-matters__inner{grid-template-columns:1.2fr auto;gap:64px}}
.voice-matters__title{font-family:var(--font-display);font-size:clamp(2rem, 1.4rem + 2.4vw, 3.2rem);line-height:1.05;margin-bottom:14px}
.voice-matters__title em{color:var(--navy) !important}
.voice-matters p{max-width:56ch;font-size:1.05rem}
.voice-matters .btn-row{margin-top:0}
.voice-matters .btn--primary{background:var(--navy);color:#fff;box-shadow:none}
.voice-matters .btn--primary:hover{background:var(--navy-soft)}
.voice-matters .btn--outline-light{color:var(--navy);border-color:rgba(15,30,74,.45);background:transparent}
.voice-matters .btn--outline-light:hover{background:var(--navy);color:#fff}

/* Admissions */
.admissions{position:relative;overflow:hidden}
.admissions__head{display:grid;gap:24px;margin-bottom:56px;align-items:end}
@media (min-width:1024px){.admissions__head{grid-template-columns:1.2fr .8fr;gap:64px}}
.admissions__lead{font-size:1.08rem;max-width:46ch}
.adm-steps{display:grid;gap:14px;counter-reset:s}
@media (min-width:700px){.adm-steps{grid-template-columns:repeat(2, 1fr)}}
@media (min-width:1100px){.adm-steps{grid-template-columns:repeat(5, 1fr);gap:0}}
.adm-step{position:relative;padding:28px 24px;border:1px solid var(--line-dark);border-radius:var(--r-md);display:grid;gap:10px;align-content:start;transition:background-color .4s var(--ease)}
.adm-step:hover{background:rgba(255,255,255,.04)}
@media (min-width:1100px){
	.adm-step{border-radius:0;border-width:1px 0 1px 1px}
	.adm-step:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}
	.adm-step:last-child{border-radius:0 var(--r-md) var(--r-md) 0;border-right-width:1px}
}
.adm-step__num{font-family:var(--font-display);font-size:2.4rem;line-height:1;color:var(--gold)}
.adm-step__icon{position:absolute;right:22px;top:28px;color:var(--on-navy-muted)}
.adm-step__icon .icon{width:22px;height:22px}
.adm-step__title{font-size:1.28rem;color:#fff;margin-top:14px}
.adm-step p{font-size:.92rem;line-height:1.55}
.section:not(.section--navy) .adm-step{border-color:var(--line);background:var(--surface)}
.section:not(.section--navy) .adm-step__title{color:var(--navy)}
.section:not(.section--navy) .adm-step p{color:var(--muted)}
.section:not(.section--navy) .adm-step__num{color:var(--gold-ink)}
.section:not(.section--navy) .adm-step__icon{color:var(--muted)}
.admissions__foot{display:grid;gap:28px;margin-top:48px;align-items:center}
@media (min-width:1024px){.admissions__foot{grid-template-columns:1.3fr auto}}
.admissions__foot .btn-row{margin-top:0}

.pathway__q{font-family:var(--font-display);font-size:1.3rem;margin-bottom:14px}
.pathway__options{display:grid;gap:12px}
@media (min-width:640px){.pathway__options{grid-template-columns:1fr 1fr}}
.pathway__opt{display:flex;align-items:center;gap:14px;padding:14px 18px 14px 14px;border-radius:var(--r-md);background:var(--surface);color:var(--navy);border:1.5px solid var(--line);transition:all .35s var(--ease)}
.pathway__opt:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.pathway__logo{width:56px;height:56px;border-radius:50%;flex:none}
.pathway__txt{display:grid;flex:1;line-height:1.3}
.pathway__txt strong{font-family:var(--font-display);font-size:1.3rem}
.pathway__txt span{font-size:.82rem;color:var(--muted)}
.pathway__txt em{font-style:normal;font-size:.76rem;font-weight:700;color:var(--teal);margin-top:2px}
.pathway__arrow{color:var(--gold-ink);transition:transform .35s var(--ease-out)}
.pathway__opt:hover .pathway__arrow{transform:translateX(4px)}
.section--navy .pathway__q{color:#fff}

/* Final CTA */
.final-cta{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-deep);color:#fff;text-align:center;padding-block:clamp(96px, 12vw, 168px)}
.final-cta__bg{position:absolute;inset:0;z-index:-2}
.final-cta__bg .media{border-radius:0;height:100%;opacity:.35}
.final-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 90% at 50% 50%, rgba(10,21,54,.55), rgba(10,21,54,.92))}
.final-cta__inner{max-width:900px}
.laurel-rule{width:120px;height:24px;margin:0 auto 28px;color:var(--gold)}
.final-cta__title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.3rem, 1.4rem + 3.6vw, 4.4rem);line-height:1.04;letter-spacing:-.02em;text-wrap:balance}
.final-cta__lead{margin:24px auto 0;max-width:56ch;color:rgba(244,241,232,.85);font-size:1.1rem}
.final-cta .btn-row{margin-top:40px}
/* Footer */
.site-footer{background:var(--navy-deep);color:var(--on-navy-muted);padding:clamp(72px, 8vw, 112px) 0 32px;font-size:.95rem}
.footer__top{display:grid;gap:36px;padding-bottom:56px;border-bottom:1px solid var(--line-dark);align-items:end}
@media (min-width:1024px){.footer__top{grid-template-columns:1.4fr auto}}
.footer__logos{display:flex;gap:12px;margin-bottom:28px}
.footer__logo{width:76px;height:76px;border-radius:50%}
.footer__statement{font-family:var(--font-display);font-size:clamp(2.2rem, 1.6rem + 2.4vw, 3.6rem);line-height:1.02;color:#fff;letter-spacing:-.02em}
.footer__statement em{color:var(--gold)}
.footer__about{margin-top:18px;max-width:56ch}
.footer__actions{display:flex;flex-wrap:wrap;gap:12px}
.footer__grid{display:grid;gap:40px;padding:56px 0;grid-template-columns:1fr 1fr}
@media (min-width:1024px){.footer__grid{grid-template-columns:1fr 1fr 1fr 1.3fr}}
.footer__col--contact{grid-column:1/-1}
@media (min-width:1024px){.footer__col--contact{grid-column:auto}}
.footer__h{font-family:var(--font-body);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer__col ul{display:grid;gap:10px}
.footer__col a{transition:color .2s}
.footer__col ul a:hover{color:#fff}
.footer__col address{display:grid;gap:14px;margin-bottom:24px}
.footer__col address a{display:flex;gap:12px;align-items:flex-start}
.footer__col address a:hover{color:#fff}
.footer__col address .icon{width:18px;height:18px;color:var(--gold);margin-top:3px}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:28px;border-top:1px solid var(--line-dark);font-size:.84rem}
.footer__legal{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer__legal a:hover{color:#fff}
@media (max-width:899px){.site-footer{padding-bottom:110px}}

/* Floating WhatsApp (desktop) and mobile action bar */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;align-items:center;gap:0;height:56px;padding:0 16px;border-radius:var(--r-pill);background:var(--teal);color:#fff;box-shadow:0 14px 30px -12px rgba(10,83,82,.55);transition:gap .35s var(--ease),padding .35s var(--ease),transform .3s var(--ease),opacity .3s}
.wa-float .icon{width:24px;height:24px}
.wa-float__label{max-width:0;overflow:hidden;white-space:nowrap;font-weight:700;font-size:.9rem;transition:max-width .4s var(--ease)}
.wa-float:hover{gap:10px;padding-right:22px}
.wa-float:hover .wa-float__label{max-width:140px}
.wa-float.is-hidden{opacity:0;pointer-events:none;transform:translateY(12px)}
.action-bar{display:none}
@media (max-width:899px){
	.wa-float{display:none}
	.action-bar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:50;display:grid;grid-template-columns:repeat(4, 1fr);background:rgba(10,21,54,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:18px;padding:6px;box-shadow:0 16px 40px -12px rgba(10,21,54,.55);transition:transform .4s var(--ease)}
	.action-bar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:12px;color:var(--on-navy);font-size:.72rem;font-weight:700;min-height:52px;justify-content:center}
	.action-bar .icon{width:20px;height:20px}
	.action-bar__apply{background:var(--gold);color:var(--navy) !important}
	.action-bar.is-hidden{transform:translateY(140%)}
	.menu-open .action-bar{transform:translateY(140%)}
}

/* Inner page hero */
.phero{position:relative;padding:clamp(48px, 6vw, 88px) 0 clamp(56px, 7vw, 104px);overflow:hidden}
.phero--navy{background:var(--navy);color:var(--on-navy)}
.phero--navy .phero__lead{color:var(--on-navy-muted)}
.phero--cream{background:var(--cream-deep)}
.phero--navy::after{content:"";position:absolute;right:-160px;top:-120px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(242,183,5,.18);pointer-events:none}
.phero__inner{display:grid;gap:40px;align-items:center;position:relative;z-index:1}
@media (min-width:1024px){.phero--split .phero__inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:72px}}
.phero__title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem, 1.5rem + 4vw, 4.8rem);line-height:1.02;letter-spacing:-.025em;text-wrap:balance;max-width:16ch}
.phero--split .phero__title{max-width:14ch}
.phero__lead{margin-top:24px;font-size:clamp(1.05rem, 1rem + .35vw, 1.25rem);max-width:58ch;color:var(--muted)}
.phero__media .media{aspect-ratio:4/5;max-height:560px;border-radius:20px}
@media (max-width:1023px){.phero__media .media{aspect-ratio:16/10}}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;font-size:.82rem;font-weight:600;margin-bottom:28px;color:var(--muted)}
.phero--navy .crumbs ol{color:var(--on-navy-muted)}
.crumbs li:not(:last-child)::after{content:"/";margin-left:6px;opacity:.5}
.crumbs a:hover{color:var(--gold)}

/* Prose (editor content) */
.prose{max-width:72ch;font-size:1.05rem;color:var(--ink)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(1.7rem, 1.4rem + 1vw, 2.2rem);line-height:1.15;margin-top:1.8em;color:var(--navy)}
.prose h3{font-size:1.35rem;margin-top:1.6em;color:var(--navy)}
.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--navy)}
.prose li + li{margin-top:.4em}
.prose blockquote{border-left:3px solid var(--gold);padding:4px 0 4px 22px;font-family:var(--font-display);font-size:1.3rem;color:var(--navy)}
.prose img{border-radius:var(--r-md)}
.prose table{width:100%;font-size:.95rem}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left}
.prose strong{color:var(--navy)}
.prose-wrap{display:grid;gap:48px}
@media (min-width:1024px){.prose-wrap{grid-template-columns:minmax(0,1fr) 300px;gap:88px}}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:26px;align-self:start;position:sticky;top:calc(var(--header-h) + 24px)}
.side-card h2,.side-card h3{font-size:1.25rem;color:var(--navy);margin-bottom:10px}
.side-card p{color:var(--muted);font-size:.93rem}
.side-card .btn{margin-top:18px;width:100%}
.side-card ul{display:grid;gap:10px;margin-top:14px}
.side-card li a{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:700;color:var(--navy)}
.side-card li a .icon{width:16px;height:16px}

/* Split content blocks used across inner pages */
.split{display:grid;gap:48px;align-items:center}
@media (min-width:1024px){.split{grid-template-columns:1fr 1fr;gap:88px}.split--flip > :first-child{order:2}}
.split__media .media{aspect-ratio:5/4;border-radius:20px}
.split .lead{margin-top:20px}
.split p + p{margin-top:14px}
.split__body > p:not(.lead){color:var(--muted)}
.statement{font-family:var(--font-display);font-size:clamp(1.8rem, 1.2rem + 2.4vw, 3.2rem);line-height:1.15;color:var(--navy);max-width:24ch;text-wrap:balance}
.statement em{color:var(--gold-ink)}
.section--navy .statement{color:#fff}
.section--navy .statement em{color:var(--gold)}

.feature-list{display:grid;gap:0;border-top:1px solid var(--line)}
@media (min-width:760px){.feature-list{grid-template-columns:1fr 1fr;column-gap:48px}}
.feature-list li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.feature-list .fi{width:48px;height:48px;border-radius:12px;background:var(--cream-deep);color:var(--navy);display:grid;place-items:center}
.feature-list h3{font-family:var(--font-body);font-size:1.05rem;font-weight:800;color:var(--navy);letter-spacing:0;margin-bottom:4px}
.feature-list p{color:var(--muted);font-size:.95rem}
.section--navy .feature-list,.section--navy .feature-list li{border-color:var(--line-dark)}
.section--navy .feature-list h3{color:#fff}
.section--navy .feature-list .fi{background:rgba(242,183,5,.12);color:var(--gold)}

.cards-2{display:grid;gap:24px}
@media (min-width:900px){.cards-2{grid-template-columns:1fr 1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(28px, 3vw, 44px)}
.panel h3{color:var(--navy);margin-bottom:10px}
.panel p{color:var(--muted)}
.panel--navy{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}
.panel--navy h3{color:#fff}
.panel--navy p{color:var(--on-navy-muted)}
.panel--gold{background:var(--gold);border-color:var(--gold)}
.panel--gold h3,.panel--gold p{color:var(--navy)}

.numbered{display:grid;gap:18px;counter-reset:n}
.numbered li{counter-increment:n;display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start}
.numbered li::before{content:counter(n, decimal-leading-zero);font-family:var(--font-display);font-size:1.6rem;color:var(--gold-ink);line-height:1.2}
.numbered h3{font-size:1.25rem;color:var(--navy)}
.numbered p{color:var(--muted);margin-top:4px}

/* School profile */
.school-hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden;padding:clamp(48px, 6vw, 88px) 0}
.school-hero__inner{display:grid;gap:40px;align-items:center}
@media (min-width:1024px){.school-hero__inner{grid-template-columns:auto 1fr;gap:64px}}
.school-hero__logo{width:clamp(140px, 18vw, 220px);height:auto;border-radius:50%;box-shadow:0 30px 60px -20px rgba(0,0,0,.5)}
.school-hero .phero__lead{color:var(--on-navy-muted)}
.programmes{display:grid;gap:16px}
@media (min-width:760px){.programmes{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}}
.programme{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);padding:28px;display:grid;gap:10px;align-content:start;border-top:4px solid var(--gold)}
.programme h3{color:var(--navy)}
.programme p{color:var(--muted);font-size:.95rem}
.day-list{display:grid;gap:0}
.day-list li{display:grid;grid-template-columns:minmax(120px, 200px) 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line-dark)}
.day-list strong{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--gold)}
@media (max-width:640px){.day-list li{grid-template-columns:1fr;gap:6px}}

/* Forms */
.form-section{display:grid;gap:48px}
@media (min-width:1024px){.form-section{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}}
.form-wrap{background:var(--surface);border-radius:20px;padding:clamp(24px, 4vw, 48px);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.form__grid{display:grid;gap:20px}
@media (min-width:640px){.form__grid{grid-template-columns:1fr 1fr}.field--wide{grid-column:1/-1}}
.field{display:grid;gap:8px;align-content:start}
.field label{font-weight:700;font-size:.9rem;color:var(--navy)}
.field .req{color:#B3261E}
.field .opt{font-weight:500;color:var(--muted);font-size:.8rem}
.field input:not([type=checkbox]),.field textarea,.field select{width:100%;min-height:52px;padding:13px 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--bg);font-size:1rem;color:var(--ink);transition:border-color .2s,box-shadow .2s,background-color .2s;appearance:none;-webkit-appearance:none}
.field textarea{min-height:130px;resize:vertical;line-height:1.5}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 4px rgba(242,183,5,.35)}
.field input::placeholder,.field textarea::placeholder{color:#8A91A3}
.field.is-invalid input,.field.is-invalid textarea,.field.is-invalid select{border-color:#B3261E}
.field__error{color:#B3261E;font-size:.82rem;font-weight:600}
.select{position:relative}
.select .icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;pointer-events:none;color:var(--navy)}
.check{display:flex !important;gap:12px;align-items:flex-start;font-weight:500 !important;font-size:.92rem !important;color:var(--ink) !important;cursor:pointer;line-height:1.5}
.check input{position:absolute;opacity:0;width:22px;height:22px}
.check__box{width:22px;height:22px;flex:none;border:1.5px solid var(--navy);border-radius:6px;display:grid;place-items:center;background:#fff;margin-top:1px;transition:background-color .2s}
.check__box .icon{width:15px;height:15px;color:var(--navy);opacity:0;transform:scale(.6);transition:all .2s var(--ease)}
.check input:checked + .check__box{background:var(--gold);border-color:var(--gold)}
.check input:checked + .check__box .icon{opacity:1;transform:none}
.check input:focus-visible + .check__box{outline:3px solid var(--gold);outline-offset:2px}
.check a{color:var(--teal);text-decoration:underline}
.field.is-invalid .check__box{border-color:#B3261E}
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}
.form__nav .btn--primary,.form__nav [data-step-next]{margin-left:auto}
.form__note{display:flex;gap:8px;align-items:center;margin-top:20px;font-size:.82rem;color:var(--muted)}
.form__note .icon{width:15px;height:15px;color:var(--teal)}
.form__step legend{font-family:var(--font-display);font-size:1.6rem;color:var(--navy);margin-bottom:20px}
.js .form--steps .form__step:not(.is-active){display:none}
.no-js .form--steps .form__nav [data-step-next],.no-js .form--steps .form__nav [data-step-prev]{display:none}
.no-js .form__step + .form__step{margin-top:36px}
.steps{display:none}
.js .steps{display:flex;gap:8px;margin-bottom:32px}
.steps__item{flex:1;display:flex;flex-direction:column;gap:8px;font-size:.8rem;font-weight:700;color:var(--muted)}
.steps__item::before{content:"";height:4px;border-radius:4px;background:var(--line);transition:background-color .4s var(--ease)}
.steps__item.is-current,.steps__item.is-done{color:var(--navy)}
.steps__item.is-current::before,.steps__item.is-done::before{background:var(--gold)}
.steps__num{display:none}
.form-success{text-align:center;padding:24px 8px;display:grid;justify-items:center;gap:12px}
.form-success__icon{width:64px;height:64px;padding:16px;border-radius:50%;background:var(--gold);color:var(--navy)}
.form-success h3{color:var(--navy);font-size:1.7rem}
.form-success p{color:var(--muted);max-width:44ch}
.form-success .btn-row{justify-content:center}
.form-error{display:flex;gap:12px;background:#FDECEA;color:#7A1C14;border-radius:10px;padding:14px 16px;margin-bottom:24px;font-size:.92rem}
.feedback-anon [data-group="identity"]{display:none}

.contact-list{display:grid;gap:14px;margin-top:28px}
.contact-list a,.contact-list div{display:flex;gap:14px;align-items:flex-start;font-weight:600;color:var(--navy)}
.contact-list .ci{width:44px;height:44px;border-radius:12px;background:var(--navy);color:var(--gold);display:grid;place-items:center;flex:none}
.contact-list .ci .icon{width:20px;height:20px}
.contact-list small{display:block;font-weight:500;color:var(--muted);font-size:.82rem}
.map{border-radius:20px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/9;background:var(--cream-deep)}
.map iframe{width:100%;height:100%;border:0}
@media (max-width:640px){.map{aspect-ratio:4/5}}
.hours{display:grid;gap:8px;margin-top:12px}
.hours div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed var(--line);padding-bottom:8px;font-size:.92rem}

/* FAQ */
.faq-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:32px}
.faq-search{position:relative;flex:1 1 320px;max-width:520px}
.faq-search input{width:100%;min-height:54px;padding:0 18px 0 50px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;font-size:1rem}
.faq-search input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(242,183,5,.35)}
.faq-search .icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--muted)}
.filter-chips{display:flex;flex-wrap:wrap;gap:8px}
.filter-chips a,.filter-chips button{padding:10px 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);font-size:.86rem;font-weight:700;color:var(--navy);background:var(--surface);transition:all .25s var(--ease)}
.filter-chips a:hover,.filter-chips button:hover{border-color:var(--navy)}
.filter-chips .is-active,.filter-chips [aria-pressed="true"],.filter-chips [aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.faq-group + .faq-group{margin-top:48px}
.faq-group h2{font-size:1.6rem;color:var(--navy);margin-bottom:12px}
.faq{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;list-style:none;font-weight:700;font-size:1.06rem;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .icon{width:22px;height:22px;flex:none;color:var(--gold-ink);transition:transform .35s var(--ease)}
.faq[open] summary .icon{transform:rotate(45deg)}
.faq__a{padding:0 0 24px;color:var(--muted);max-width:70ch;overflow:hidden}
.faq__a p + p{margin-top:10px}
.faq-empty{padding:32px;text-align:center;color:var(--muted)}

/* Calendar */
.cal-bar{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:28px}
.cal-nav{display:flex;align-items:center;gap:12px}
.cal-nav h2{font-size:1.9rem;color:var(--navy);min-width:220px;text-align:center}
.cal-grid{display:grid;grid-template-columns:repeat(7, 1fr);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}
.cal-grid__dow{padding:12px;font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--cream-deep);text-align:center}
.cal-day{min-height:120px;padding:10px;border-top:1px solid var(--line);border-left:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.cal-day:nth-child(7n+1){border-left:0}
.cal-day__n{font-weight:700;font-size:.9rem;color:var(--navy)}
.cal-day--out{background:#FAF8F3}
.cal-day--out .cal-day__n{color:#B7BCC8}
.cal-day--today .cal-day__n{background:var(--gold);width:28px;height:28px;border-radius:50%;display:grid;place-items:center}
.cal-ev{display:block;font-size:.78rem;font-weight:700;line-height:1.3;padding:5px 7px;border-radius:6px;background:var(--navy);color:#fff}
.cal-ev:hover{background:var(--teal)}
@media (max-width:760px){.cal-grid{display:none}.cal-mobile-note{display:block}}
.cal-mobile-note{display:none;color:var(--muted);font-size:.9rem;margin-bottom:12px}
.cal-list{display:grid}
.empty-state{text-align:center;padding:clamp(40px, 6vw, 72px) 24px;border:1.5px dashed var(--line);border-radius:20px;display:grid;justify-items:center;gap:12px}
.empty-state .icon{width:44px;height:44px;color:var(--gold-ink)}
.empty-state h3{color:var(--navy)}
.empty-state p{color:var(--muted);max-width:48ch}

/* Gallery */
.gallery-grid{columns:1;column-gap:14px}
@media (min-width:560px){.gallery-grid{columns:2}}
@media (min-width:1024px){.gallery-grid{columns:3}}
.gallery-grid li{break-inside:avoid;margin-bottom:14px}
.gallery-grid a{display:block;border-radius:12px;overflow:hidden;position:relative}
.gallery-grid img{width:100%;transition:transform .8s var(--ease-out)}
.gallery-grid a:hover img{transform:scale(1.04)}
.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;background:linear-gradient(0deg, rgba(10,21,54,.8), transparent);color:#fff;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .3s}
.gallery-grid a:hover figcaption,.gallery-grid a:focus-visible figcaption{opacity:1}

/* Educators */
.staff-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fill, minmax(230px, 1fr))}
.staff-card{display:grid;gap:12px}
.staff-card__photo{aspect-ratio:4/5;border-radius:var(--r-md);overflow:hidden}
.staff-card__photo .media{height:100%}
.staff-card__photo img{height:100%;object-fit:cover}
.staff-card h3{font-size:1.3rem;color:var(--navy)}
.staff-card__role{font-weight:700;font-size:.88rem;color:var(--teal)}
.staff-card__dept{font-size:.85rem;color:var(--muted)}
.staff-card details summary{font-size:.86rem;font-weight:700;color:var(--navy);cursor:pointer}
.staff-card details p{font-size:.9rem;color:var(--muted);margin-top:8px}

/* Vacancies */
.vacancy{display:grid;gap:10px;padding:28px 0;border-bottom:1px solid var(--line)}
@media (min-width:900px){.vacancy{grid-template-columns:1fr auto;align-items:center;gap:32px}}
.vacancy h3{font-size:1.5rem;color:var(--navy)}
.vacancy__meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.88rem;color:var(--muted)}

/* News archive, single */
.news-grid{display:grid;gap:24px}
@media (min-width:700px){.news-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.news-grid{grid-template-columns:repeat(3, 1fr)}.news-grid .news-card--featured{grid-column:1/-1}}
.pagination{display:flex;gap:8px;justify-content:center;margin-top:56px;flex-wrap:wrap}
.pagination .page-numbers{min-width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);font-weight:700;color:var(--navy);padding:0 10px}
.pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination .page-numbers.prev,.pagination .page-numbers.next{border-radius:var(--r-pill);padding:0 18px}
.article-head{max-width:860px}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:24px;font-size:.9rem;color:var(--on-navy-muted)}
.article-cover{margin-top:-64px;position:relative;z-index:2}
.article-cover .media{aspect-ratio:16/8;border-radius:20px;box-shadow:var(--shadow-lift)}
.article-body{padding-top:clamp(48px, 6vw, 80px)}
.share{display:flex;gap:10px;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-weight:700;color:var(--navy)}
.share a{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:all .25s}
.share a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.share .icon{width:18px;height:18px}

.not-found{min-height:60vh;display:grid;place-items:center;text-align:center;padding-block:var(--section)}
.not-found__num{font-family:var(--font-display);font-size:clamp(6rem, 4rem + 10vw, 12rem);line-height:1;color:var(--gold)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(10,21,54,.95);display:grid;place-items:center;padding:60px 16px;opacity:0;transition:opacity .3s}
.lightbox.is-open{opacity:1}
.lightbox__figure{max-width:min(1200px, 100%);max-height:100%;display:grid;gap:12px;justify-items:center}
.lightbox__figure img{max-height:78vh;width:auto;border-radius:10px}
.lightbox__figure figcaption{color:var(--on-navy-muted);font-size:.9rem;text-align:center}
.lightbox__close,.lightbox__nav{position:absolute;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;transition:background-color .2s}
.lightbox__close:hover,.lightbox__nav:hover{background:var(--gold);color:var(--navy)}
.lightbox__close{top:16px;right:16px}
.lightbox__nav--prev{left:16px;top:50%;transform:translateY(-50%)}
.lightbox__nav--next{right:16px;top:50%;transform:translateY(-50%)}

/* Coming soon */
.cs{min-height:100svh;background:var(--navy);color:var(--on-navy);display:grid;place-items:center;text-align:center;padding:48px 20px;position:relative;overflow:hidden}
.cs__orbits{position:absolute;width:min(1100px, 160vw);left:50%;top:50%;transform:translate(-50%,-50%);fill:none;stroke:rgba(242,183,5,.16);stroke-width:1;pointer-events:none}
.cs__inner{position:relative;max-width:720px}
.cs__logos{display:flex;justify-content:center;gap:14px;margin-bottom:36px}
.cs__logos img{width:110px;height:110px;border-radius:50%}
.cs h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.4rem, 1.6rem + 3.4vw, 4.2rem);line-height:1.05;color:#fff;letter-spacing:-.02em}
.cs h1 em{color:var(--gold)}
.cs p{margin-top:20px;font-size:1.1rem;color:var(--on-navy-muted)}
.cs .btn-row{justify-content:center}
.cs__addr{margin-top:40px;font-size:.9rem}

/* Motion: scroll reveals (visible by default, animated only when JS is present) */
.js [data-reveal],.js [data-stagger] > *{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.js [data-reveal].is-in,.js [data-stagger].is-in > *{opacity:1;transform:none}
.js [data-stagger].is-in > *{transition-delay:calc(var(--i, 0) * 80ms)}
.js .reveal-img{clip-path:inset(12% 0 0 0 round var(--r-md));opacity:.001;transition:clip-path 1.3s var(--ease-out),opacity .8s var(--ease-out)}
.js .reveal-img.is-in{clip-path:inset(0 0 0 0 round var(--r-md));opacity:1}
.js [data-split] .w{display:inline-block;opacity:0;transform:translateY(.45em);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--wi, 0) * 45ms)}
.js [data-split].is-in .w{opacity:1;transform:none}
.js .hero [data-split] .w{transition-duration:1s,1.1s}

@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .25s var(--ease) both}
::view-transition-new(root){animation:vt-in .45s var(--ease-out) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(8px)}}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
	.js [data-reveal],.js [data-stagger] > *,.js [data-split] .w{opacity:1 !important;transform:none !important}
	.js .reveal-img{clip-path:none !important;opacity:1 !important}
	.hero__orbits{animation:none}
	.hero__media{transform:none !important}
}

@media print{.site-header,.announce,.action-bar,.wa-float,.site-footer,.final-cta{display:none !important}}

/* Newsletter (Hostinger Reach) */
.newsletter{display:grid;gap:8px;margin:0 0 24px}
.newsletter__title{font-family:var(--font-body);font-size:.95rem;font-weight:800;color:var(--navy);letter-spacing:0}
.newsletter p{font-size:.86rem;color:var(--muted)}
.newsletter--dark .newsletter__title{color:#fff}
.newsletter--dark p{color:var(--on-navy-muted)}
.newsletter__form form{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.newsletter__form input[type=email],.newsletter__form input[type=text]{flex:1 1 180px;min-height:46px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:.92rem}
.newsletter--dark .newsletter__form input[type=email],.newsletter--dark .newsletter__form input[type=text]{background:rgba(255,255,255,.06);border-color:var(--line-dark);color:#fff}
.newsletter__form button,.newsletter__form input[type=submit]{min-height:46px;padding:0 20px;border-radius:var(--r-pill);background:var(--gold);color:var(--navy);font-weight:700;border:0;cursor:pointer}

/* CV upload field */
.field--file input[type=file]{width:100%;padding:12px;border:1px dashed var(--line,#c9cfdd);border-radius:12px;background:#fff;font:inherit;color:inherit}
.field--file input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:999px;background:var(--navy,#0f1e4a);color:#fff;font:inherit;cursor:pointer}
.field__hint{margin:6px 0 0;font-size:.85rem;color:var(--muted,#5b6475)}