:root {
  --navy: #142c63;
  --navy-deep: #091b42;
  --blue: #2754a6;
  --gold: #f5c614;
  --gold-deep: #dba900;
  --cream: #fffaf0;
  --paper: #ffffff;
  --ink: #172033;
  --muted: #657085;
  --green: #34a879;
  --coral: #ed6b5b;
  --sky: #4f9ed8;
  --shadow: 0 18px 55px rgba(15, 34, 74, .12);
  --radius: 22px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Nunito Sans", Arial, sans-serif; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: var(--gold); color: var(--navy-deep); padding: 10px 18px; border-radius: 0 0 8px 8px; font-weight: 900; }
.skip-link:focus { top: 0; }

.topbar { background: var(--navy-deep); color: #fff; font-size: .86rem; }
.topbar-inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar p { margin: 0; }
.topbar strong { color: var(--gold); }
.topbar-links { display: flex; gap: 22px; }
.topbar-links a:hover { color: var(--gold); }

.site-header { position: relative; z-index: 100; background: rgba(255,255,255,.97); box-shadow: 0 5px 25px rgba(9, 27, 66, .08); }
@keyframes drop { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.header-inner { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; color: var(--navy); }
.brand img { object-fit: contain; }
.brand span { display: flex; flex-direction: column; line-height: 1.05; }
.brand strong { font-family: "DM Serif Display", Georgia, serif; font-size: 1.7rem; font-weight: 400; }
.brand small { font-size: .82rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 900; margin-top: 6px; }
.primary-nav { display: flex; align-items: center; gap: 4px; font-weight: 800; font-size: .92rem; }
.primary-nav > a, .nav-group > button { padding: 13px 11px; border: 0; color: var(--navy-deep); background: transparent; white-space: nowrap; }
.primary-nav > a:hover, .primary-nav > a.active, .nav-group > button:hover, .nav-group > button.active { color: var(--blue); }
.primary-nav .nav-cta { margin-left: 6px; color: var(--navy-deep); background: var(--gold); border-radius: 999px; padding-inline: 18px; box-shadow: 0 8px 20px rgba(245,198,20,.25); }
.nav-group { position: relative; }
.nav-group button span { margin-left: 2px; }
.dropdown { position: absolute; top: calc(100% + 12px); left: 0; width: 250px; padding: 12px; background: #fff; border-radius: 14px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s ease; }
.dropdown::before { content: ""; position: absolute; left: 24px; top: -8px; width: 16px; height: 16px; background: #fff; transform: rotate(45deg); }
.dropdown a { position: relative; z-index: 1; display: block; padding: 10px 12px; border-radius: 8px; }
.dropdown a:hover { background: var(--cream); color: var(--blue); }
.nav-group:hover .dropdown, .nav-group:focus-within .dropdown, .nav-group.open .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.menu-toggle { display: none; border: 0; background: var(--navy); color: white; border-radius: 10px; padding: 10px 12px; }
.menu-toggle span { display: block; width: 23px; height: 2px; background: currentColor; margin: 4px 0; }
.menu-toggle b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.paper-edge { position: relative; }
.paper-edge::before, .paper-edge::after { content: ""; position: absolute; left: 0; width: 100%; height: 20px; background-repeat: repeat-x; background-size: auto 20px; z-index: 10; pointer-events: none; }
.paper-edge::before { top: 0; background-image: url("images/paper-edge-top.png"); }
.paper-edge::after { bottom: 0; background-image: url("images/paper-edge-bottom.png"); }

.hero { height: clamp(610px, 74vh, 780px); min-height: 610px; overflow: hidden; background: var(--navy-deep); color: white; }
.hero-slides, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; visibility: hidden; background-image: var(--hero-image); background-size: cover; background-position: center; transition: opacity .7s ease, visibility .7s ease; }
.hero-slide.is-active { opacity: 1; visibility: visible; }
.hero-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,18,48,.9) 0%, rgba(8,28,69,.7) 48%, rgba(8,28,69,.13) 78%); }
.hero-slide::after { content: ""; position: absolute; inset: 0; opacity: .12; background-image: radial-gradient(circle at 20% 30%, #fff 0 1px, transparent 2px); background-size: 24px 24px; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.2)); }
.hero-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 30px; }
.eyebrow, .section-kicker { margin: 0 0 13px; color: var(--gold); font-size: .82rem; font-weight: 900; text-transform: uppercase; letter-spacing: .18em; }
.hero h1, .hero h2 { max-width: 820px; margin: 0; font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: clamp(3.1rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.025em; text-wrap: balance; }
.hero-copy { max-width: 720px; margin: 24px 0 0; font-size: clamp(1.05rem, 1.5vw, 1.3rem); color: rgba(255,255,255,.9); }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 24px; border-radius: 999px; font-weight: 900; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--navy-deep); background: var(--gold); box-shadow: 0 12px 24px rgba(245,198,20,.24); }
.button-primary:hover { background: #ffe05a; }
.button-light { color: #fff; border: 2px solid rgba(255,255,255,.8); background: rgba(255,255,255,.08); backdrop-filter: blur(8px); }
.hero-controls { position: absolute; z-index: 5; right: max(20px, calc((100vw - var(--container)) / 2)); bottom: 52px; width: auto; margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 16px; }
.slide-arrow { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.4); color: #fff; background: rgba(6,23,57,.35); }
.slide-arrow:hover { background: var(--gold); color: var(--navy-deep); border-color: var(--gold); }
.slide-dots { display: flex; gap: 9px; }
.slide-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.55); }
.slide-dots button.is-active { width: 28px; border-radius: 99px; background: var(--gold); }

.quick-links { position: relative; z-index: 20; padding: 34px 0 12px; }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.quick-card { display: flex; align-items: center; gap: 14px; min-height: 120px; padding: 22px; color: #fff; border-radius: 18px; box-shadow: var(--shadow); transition: transform .2s ease; }
.quick-card:hover { transform: translateY(-6px); }
.quick-card.coral { background: var(--coral); }
.quick-card.blue { background: var(--sky); }
.quick-card.green { background: var(--green); }
.quick-card.gold { background: var(--gold-deep); }
.quick-icon { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border: 2px dashed rgba(255,255,255,.75); border-radius: 50%; font-weight: 900; }
.quick-card strong, .quick-card small { display: block; }
.quick-card strong { font-size: 1.02rem; line-height: 1.2; }
.quick-card small { margin-top: 5px; opacity: .88; line-height: 1.35; }

.section-space { padding: 110px 0; }
.welcome-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 90px; align-items: center; }
.welcome-visual { position: relative; min-height: 580px; }
.photo-main { width: 78%; border-radius: 34% 66% 46% 54% / 45% 42% 58% 55%; overflow: hidden; box-shadow: var(--shadow); }
.photo-main img { width: 100%; aspect-ratio: 1 / 1.04; object-fit: cover; }
.photo-small { position: absolute; right: 0; bottom: 15px; width: 46%; padding: 8px; background: #fff; border-radius: 50%; box-shadow: var(--shadow); }
.photo-small img { aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.experience-badge { position: absolute; right: 5%; top: 15px; width: 150px; height: 150px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--navy-deep); background: var(--gold); border: 5px solid #fff; box-shadow: var(--shadow); transform: rotate(6deg); }
.experience-badge strong { font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; }
.experience-badge span { font-family: "DM Serif Display", Georgia, serif; font-size: 2.4rem; line-height: 1; }
.experience-badge small { width: 105px; font-size: .68rem; line-height: 1.2; }
.welcome-copy h2, .section-heading h2, .curriculum h2, .activities h2, .admission-banner h2 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.4rem, 4vw, 4.2rem); font-weight: 400; line-height: 1.05; text-wrap: balance; }
.welcome-copy > p:not(.section-kicker) { margin: 24px 0; color: var(--muted); font-size: 1.08rem; }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 28px 0; }
.check-grid p { display: flex; gap: 10px; margin: 0; font-weight: 800; line-height: 1.4; }
.check-grid span { display: grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 50%; color: white; background: var(--green); }
.text-link { display: inline-flex; gap: 12px; color: var(--blue); font-weight: 900; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(5px); }

.pillars { color: white; background: var(--navy); padding-block: 130px; overflow: hidden; }
.pillars::marker { display: none; }
.section-heading { max-width: 760px; margin: 0 auto 55px; text-align: center; }
.section-heading > p:last-child { margin: 18px auto 0; color: var(--muted); font-size: 1.08rem; }
.light-heading h2, .light-heading > p:last-child { color: white; }
.pillar-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.pillar-grid article { min-height: 265px; padding: 26px 22px; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.08); backdrop-filter: blur(5px); }
.pillar-grid article:nth-child(2), .pillar-grid article:nth-child(4) { transform: translateY(20px); }
.pillar-grid span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: var(--navy-deep); background: var(--gold); font-weight: 900; }
.pillar-grid h3 { margin: 24px 0 10px; font-family: "DM Serif Display", Georgia, serif; font-size: 1.5rem; font-weight: 400; line-height: 1.1; }
.pillar-grid p { margin: 0; color: rgba(255,255,255,.76); font-size: .94rem; }

.schools { background: var(--cream); }
.school-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.school-card { overflow: hidden; background: #fff; border-radius: var(--radius); box-shadow: 0 12px 35px rgba(17,39,83,.09); transition: transform .25s ease, box-shadow .25s ease; }
.school-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); }
.school-card img { width: 100%; aspect-ratio: 1.25; object-fit: cover; }
.featured-card { transform: translateY(-18px); }
.featured-card:hover { transform: translateY(-26px); }
.school-card-body { padding: 28px; }
.card-label { margin: 0 0 9px; color: var(--coral); font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.school-card h3 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 1.85rem; font-weight: 400; }
.school-card p:not(.card-label) { color: var(--muted); }
.school-card a { color: var(--blue); font-weight: 900; }

.curriculum { background: #eaf4fb; padding-block: 130px; }
.curriculum-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.curriculum-copy > p:not(.section-kicker) { margin: 22px 0 30px; color: var(--muted); font-size: 1.08rem; }
.programme-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.programme-grid article { min-height: 180px; padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 10px 30px rgba(20,44,99,.08); }
.programme-grid article:nth-child(2), .programme-grid article:nth-child(3) { background: var(--navy); color: white; }
.programme-grid strong, .programme-grid span { display: block; }
.programme-grid strong { font-family: "DM Serif Display", Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.programme-grid span { margin-top: 10px; color: var(--muted); }
.programme-grid article:nth-child(2) span, .programme-grid article:nth-child(3) span { color: rgba(255,255,255,.72); }

.activities-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: center; }
.activities-copy > p:not(.section-kicker) { color: var(--muted); font-size: 1.08rem; }
.activities-copy ul { padding: 0; margin: 26px 0; list-style: none; display: grid; gap: 11px; }
.activities-copy li { position: relative; padding-left: 28px; font-weight: 800; }
.activities-copy li::before { content: "✦"; position: absolute; left: 0; color: var(--gold-deep); }
.activity-collage { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: 1fr 1fr; gap: 14px; }
.activity-collage img { width: 100%; height: 100%; min-height: 215px; object-fit: cover; border-radius: 24px; }
.activity-collage .collage-large { grid-row: 1 / 3; min-height: 450px; }

.admission-banner { color: #fff; background: var(--navy-deep); padding: 105px 0; }
.admission-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.admission-banner h2 { color: #fff; }
.admission-banner p:not(.section-kicker) { margin-bottom: 0; color: rgba(255,255,255,.72); }
.admission-actions { display: flex; gap: 14px; flex-wrap: wrap; flex: 0 0 auto; }

/* About page */
.page-hero { min-height: 315px; display: flex; align-items: center; color: #fff; background-image: linear-gradient(90deg, rgba(5,18,48,.94), rgba(8,28,69,.64), rgba(8,28,69,.28)), var(--page-image); background-size: cover; background-position: center 48%; overflow: hidden; }
.page-hero-content { padding-block: 52px; }
.page-hero h1 { max-width: 780px; margin: 0; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.65rem, 4.7vw, 4.6rem); font-weight: 400; line-height: 1.02; text-wrap: balance; }
.page-hero-content > p:not(.eyebrow) { max-width: 680px; margin: 17px 0; font-size: 1.05rem; color: rgba(255,255,255,.86); }
.breadcrumbs { display: flex; gap: 10px; align-items: center; font-size: .88rem; font-weight: 800; }
.breadcrumbs a { color: var(--gold); }
.about-intro-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 105px; align-items: center; }
.about-collage { position: relative; min-height: 590px; }
.about-campus { width: 82%; height: 530px; object-fit: cover; border-radius: 28px 120px 28px 28px; box-shadow: var(--shadow); }
.about-students { position: absolute; right: 0; bottom: 0; width: 48%; aspect-ratio: 1.25; object-fit: cover; border: 8px solid white; border-radius: 24px; box-shadow: var(--shadow); }
.about-year { position: absolute; right: 1%; top: 26px; width: 155px; height: 155px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 6px solid #fff; border-radius: 50%; color: var(--navy-deep); background: var(--gold); text-align: center; box-shadow: var(--shadow); transform: rotate(5deg); }
.about-year strong { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; }
.about-year b { font-family: "DM Serif Display", Georgia, serif; font-size: 2.4rem; line-height: 1; }
.about-year small { width: 110px; font-size: .65rem; line-height: 1.15; }
.about-intro-copy h2, .objectives h2, .leadership h2, .faq-section h2 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.2rem); font-weight: 400; line-height: 1.05; text-wrap: balance; }
.about-intro-copy > p:not(.section-kicker) { color: var(--muted); font-size: 1.06rem; }
.about-motto { margin-top: 30px; padding-top: 24px; border-top: 1px solid #e4e8ef; color: var(--navy-deep) !important; }
.about-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.about-facts article { padding: 18px; border-radius: 16px; background: var(--cream); }
.about-facts strong, .about-facts span { display: block; }
.about-facts strong { color: var(--navy); }
.about-facts span { margin-top: 3px; color: var(--muted); font-size: .87rem; }
.purpose { position: relative; overflow: hidden; color: #fff; background: var(--navy-deep); padding-block: 130px; }
.purpose::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: radial-gradient(circle, #fff 0 1px, transparent 1.6px); background-size: 32px 32px; mask-image: linear-gradient(to bottom, #000, transparent 72%); }
.purpose::after { content: ""; position: absolute; width: 560px; height: 560px; right: -260px; top: -250px; border-radius: 50%; background: rgba(39,84,166,.38); filter: blur(35px); }
.purpose > .container { position: relative; z-index: 1; }
.purpose .light-heading h2, .purpose .light-heading > p:last-child { color: #fff; }
.purpose-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 26px; align-items: start; }
.purpose-card { position: relative; min-height: 365px; padding: 42px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; color: #fff; background: rgba(255,255,255,.075); backdrop-filter: blur(8px); transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease; }
.purpose-card::before { content: ""; position: absolute; width: 220px; height: 220px; right: -110px; bottom: -120px; border-radius: 50%; background: var(--card-glow, rgba(245,198,20,.22)); filter: blur(10px); transition: transform .45s ease; }
.purpose-card > span { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 38px; border-radius: 50%; color: var(--navy-deep); background: var(--gold); font-weight: 900; transition: transform .4s ease; }
.purpose-card h3 { position: relative; margin: 0; color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.05rem, 3vw, 2.8rem); font-weight: 400; line-height: 1.05; }
.purpose-card > p:last-of-type { position: relative; color: rgba(255,255,255,.7); }
.purpose-card .card-label { color: var(--gold); }
.mission-card { --card-glow: rgba(52,168,121,.25); margin-top: 52px; background: rgba(39,84,166,.22); }
.mission-card > span { background: var(--green); color: #fff; }
.card-arrow { position: absolute; right: 28px; top: 28px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 1.1rem; transition: transform .35s ease, color .35s ease, background .35s ease; }
.purpose-card:hover, .purpose-card:focus-visible { transform: translateY(-10px); border-color: rgba(245,198,20,.65); outline: 0; box-shadow: 0 25px 65px rgba(0,0,0,.25); background: rgba(255,255,255,.12); }
.purpose-card:hover::before, .purpose-card:focus-visible::before { transform: scale(1.35) translate(-12px, -8px); }
.purpose-card:hover > span, .purpose-card:focus-visible > span { transform: rotate(9deg) scale(1.08); }
.purpose-card:hover .card-arrow, .purpose-card:focus-visible .card-arrow { transform: rotate(45deg); color: var(--navy-deep); background: var(--gold); }
.values-panel { margin-top: 86px; padding-top: 48px; border-top: 1px solid rgba(255,255,255,.14); }
.values-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: end; margin-bottom: 34px; }
.values-heading .card-label { color: var(--gold); }
.values-heading h3 { margin: 0; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2rem, 3.4vw, 3.5rem); font-weight: 400; line-height: 1.05; }
.values-heading > p { max-width: 440px; margin: 0 0 5px auto; color: rgba(255,255,255,.62); }
.value-cloud { display: grid; grid-template-columns: repeat(5, 1fr); gap: 11px; }
.value-cloud span { position: relative; min-height: 96px; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; color: #fff; background: rgba(255,255,255,.06); font-weight: 800; font-size: .9rem; transition: transform .28s ease, color .28s ease, background .28s ease, border-color .28s ease; }
.value-cloud span::after { content: ""; position: absolute; width: 55px; height: 55px; right: -22px; bottom: -24px; border-radius: 50%; background: var(--value-color, var(--gold)); opacity: .28; transition: transform .3s ease, opacity .3s ease; }
.value-cloud span:nth-child(4n+2) { --value-color: var(--green); }
.value-cloud span:nth-child(4n+3) { --value-color: var(--coral); }
.value-cloud span:nth-child(4n+4) { --value-color: var(--sky); }
.value-cloud span b { color: var(--value-color, var(--gold)); font-size: .72rem; letter-spacing: .1em; }
.value-cloud span:hover { z-index: 2; transform: translateY(-7px) scale(1.025); color: var(--navy-deep); border-color: var(--value-color, var(--gold)); background: var(--value-color, var(--gold)); box-shadow: 0 16px 35px rgba(0,0,0,.22); }
.value-cloud span:hover b { color: var(--navy-deep); }
.value-cloud span:hover::after { transform: scale(2); opacity: .12; }
.about-pillars { background: var(--cream); }
.about-pillar-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.about-pillar-grid article { min-height: 210px; padding: 25px; border-radius: 20px; background: #fff; box-shadow: 0 10px 30px rgba(20,44,99,.08); }
.about-pillar-grid article:nth-child(even) { transform: translateY(18px); }
.about-pillar-grid b { color: var(--coral); }
.about-pillar-grid h3 { margin: 55px 0 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 1.55rem; font-weight: 400; line-height: 1.1; }
.objectives-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 85px; align-items: start; }
.objectives-heading { position: sticky; top: 125px; }
.objectives-heading > p:not(.section-kicker) { color: var(--muted); }
.objectives-heading img { width: 100%; margin-top: 28px; aspect-ratio: 1.45; object-fit: cover; border-radius: 24px; }
.objective-list { padding: 0; margin: 0; list-style: none; }
.objective-list li { display: grid; grid-template-columns: 64px 1fr; gap: 22px; padding: 0 0 34px; margin-bottom: 34px; border-bottom: 1px solid #e7eaf0; }
.objective-list li:last-child { margin-bottom: 0; border-bottom: 0; }
.objective-list li > span { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; color: #fff; background: var(--green); font-weight: 900; }
.objective-list h3 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 1.65rem; font-weight: 400; }
.objective-list p { margin: 8px 0 0; color: var(--muted); }
.leadership { background: #f8fafc; padding-block: 120px; border-top: 1px solid #edf0f5; border-bottom: 1px solid #edf0f5; }
.leadership-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: center; }
.leadership-photo { max-width: 390px; padding: 10px; border-radius: 190px 190px 28px 28px; background: #fff; box-shadow: var(--shadow); }
.leadership-photo img { width: 100%; aspect-ratio: .78; object-fit: cover; border-radius: 180px 180px 20px 20px; }
.leadership p:not(.section-kicker) { color: var(--muted); font-size: 1.06rem; }
.leadership blockquote { margin: 28px 0 0; padding: 24px 28px; border-left: 5px solid var(--gold); border-radius: 0 18px 18px 0; color: var(--navy-deep); background: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: 1.35rem; line-height: 1.35; box-shadow: 0 10px 30px rgba(20,44,99,.08); }
.faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 85px; align-items: start; }
.faq-grid > div:first-child > p:last-child { color: var(--muted); }
.faq-list { display: grid; gap: 12px; }
.faq-list details { border: 1px solid #e5e9f0; border-radius: 16px; background: #fff; overflow: hidden; }
.faq-list summary { padding: 20px 54px 20px 22px; color: var(--navy-deep); font-weight: 900; cursor: pointer; }
.faq-list details p { padding: 0 22px 20px; margin: 0; color: var(--muted); }
.newsletter { background: #fff; }
.newsletter-photo-strip { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; padding-top: 28px; display: grid; grid-template-columns: 1fr 1.35fr 1fr; gap: 14px; }
.newsletter-photo-strip img { width: 100%; height: clamp(210px, 18vw, 270px); object-fit: cover; border-radius: 18px; filter: saturate(.9); }
.newsletter-photo-strip img:nth-child(1) { object-position: center 48%; }
.newsletter-photo-strip img:nth-child(2) { object-position: center 35%; }
.newsletter-photo-strip img:nth-child(3) { object-position: center 18%; }
.newsletter-inner { position: relative; display: grid; grid-template-columns: .85fr 1.15fr; gap: 75px; align-items: center; padding-block: 76px; }
.newsletter-inner::before { content: ""; position: absolute; z-index: -1; width: 210px; height: 210px; right: -45px; top: 15px; border-radius: 50%; background: #eef5fb; }
.newsletter-copy h2 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.5rem, 4vw, 4rem); font-weight: 400; line-height: 1; }
.newsletter-copy > p:last-child { margin-bottom: 0; color: var(--muted); }
.newsletter-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: start; padding: 26px; border-radius: 22px; background: var(--navy); box-shadow: var(--shadow); }
.newsletter-form label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.newsletter-form input { width: 100%; height: 54px; padding: 0 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; color: #fff; background: rgba(255,255,255,.1); outline: 0; }
.newsletter-form input::placeholder { color: rgba(255,255,255,.68); }
.newsletter-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(245,198,20,.16); }
.newsletter-form .button { height: 54px; border: 0; white-space: nowrap; }
.newsletter-note, .newsletter-success { grid-column: 1 / -1; margin: 0; font-size: .75rem; color: rgba(255,255,255,.62); }
.newsletter-success { color: #baf5d8; font-weight: 800; }

/* Academics page */
.academic-hero { color: #fff; background: var(--navy-deep); padding: 64px 0; }
.academic-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 75px; align-items: center; }
.academic-hero h1 { max-width: 700px; margin: 0; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.4vw, 5rem); font-weight: 400; line-height: 1; text-wrap: balance; }
.academic-hero p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.75); font-size: 1.08rem; }
.academic-hero img { width: 100%; height: 350px; object-fit: cover; border-radius: 18px; }
.academic-intro-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 95px; }
.academic-intro h2, .curriculum-path h2, .subjects-heading h2, .value-programmes h2, .academic-life h2 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.1rem); font-weight: 400; line-height: 1.05; text-wrap: balance; }
.academic-prose p { margin: 0 0 20px; color: var(--muted); font-size: 1.08rem; }
.academic-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 65px; padding-top: 34px; border-top: 1px solid #e2e6ed; }
.academic-facts p { margin: 0; padding-right: 25px; }
.academic-facts strong, .academic-facts span { display: block; }
.academic-facts strong { color: var(--navy); font-family: "DM Serif Display", Georgia, serif; font-size: 2.5rem; font-weight: 400; }
.academic-facts span { color: var(--muted); }
.curriculum-path { background: #f4f8fc; }
.curriculum-path-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 95px; align-items: center; }
.curriculum-path-grid > div:first-child > p:last-child { color: var(--muted); }
.exam-list { display: flex; flex-wrap: wrap; gap: 10px; }
.exam-list span { padding: 11px 16px; border: 1px solid #dce4ef; border-radius: 999px; color: var(--navy); background: #fff; font-weight: 800; }
.subjects-heading { max-width: 760px; margin-bottom: 55px; }
.subjects-heading > p:last-child { color: var(--muted); }
.subject-levels { display: grid; gap: 28px; }
.subject-level { border-top: 1px solid #dfe4ec; padding-top: 36px; }
.subject-level header { display: grid; grid-template-columns: 90px 1fr; gap: 30px; align-items: start; margin-bottom: 36px; }
.subject-level header > span { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 900; }
.subject-level header p { margin: 0; color: var(--coral); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.subject-level h3 { margin: 4px 0 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 2rem; font-weight: 400; }
.subject-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; padding-left: 120px; margin-bottom: 65px; }
.senior-subjects { grid-template-columns: 1.2fr .9fr .9fr; }
.subject-columns h4 { margin: 0 0 16px; color: var(--navy); font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; }
.subject-columns ul { columns: 2; padding: 0; margin: 0; list-style: none; }
.subject-columns li { break-inside: avoid; padding: 7px 0; color: var(--muted); border-bottom: 1px dotted #d9dee7; }
.senior-subjects > div:not(:first-child) ul { columns: 1; margin-bottom: 22px; }
.value-programmes { background: var(--navy-deep); color: #fff; }
.value-programmes-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.value-programmes h2 { color: #fff; }
.value-programmes-grid > div p:last-child { color: rgba(255,255,255,.66); }
.value-programmes ul { padding: 0; margin: 0; list-style: none; }
.value-programmes li { display: flex; align-items: center; gap: 22px; padding: 21px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.value-programmes li span { color: var(--gold); font-size: .78rem; font-weight: 900; }
.value-programmes li strong { font-family: "DM Serif Display", Georgia, serif; font-size: 1.65rem; font-weight: 400; }
.academic-life-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.academic-life img { width: 100%; height: 430px; object-fit: cover; border-radius: 20px; }
.academic-life-grid > div p:not(.section-kicker) { color: var(--muted); }
.newsletter-simple { border-top: 1px solid #e8ebf0; }
/* Our Schools */
.school-page-hero{min-height:480px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(5,18,48,.95),rgba(7,25,59,.7),rgba(7,25,59,.2)),var(--school-hero);background-size:cover;background-position:center}.school-page-hero h1{max-width:800px;margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3.2rem,6vw,5.7rem);font-weight:400;line-height:1}.school-page-hero p:not(.eyebrow){max-width:680px;color:rgba(255,255,255,.8);font-size:1.1rem}.school-page-hero .button{margin-top:20px}
.school-copy-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.school-copy h2,.school-feature h2{margin:0;color:var(--navy-deep);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.5rem,4vw,4.1rem);font-weight:400;line-height:1.05}.school-copy-grid>div:last-child,.school-feature p{color:var(--muted);font-size:1.06rem}
.school-feature{background:#f5f8fc}.school-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.school-feature img{width:100%;height:420px;object-fit:cover;border-radius:18px}.school-feature blockquote{margin:26px 0;padding-left:22px;border-left:4px solid var(--gold);color:var(--navy);font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem}
.school-gallery{padding-top:0}.school-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.school-gallery img{width:100%;height:285px;object-fit:cover;border-radius:16px}
.school-stat-band,.boarding-values{padding:48px 0;background:var(--navy-deep);color:#fff}.school-stat-grid{display:grid;grid-template-columns:repeat(3,1fr)}.school-stat-grid p{text-align:center}.school-stat-grid strong,.school-stat-grid span{display:block}.school-stat-grid strong{color:var(--gold);font-family:"DM Serif Display",Georgia,serif;font-size:2.5rem;font-weight:400}.school-stat-grid span{color:rgba(255,255,255,.65)}
.boarding-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.boarding-value-grid article{border-top:1px solid rgba(255,255,255,.2)}.boarding-value-grid span{color:var(--gold);font-weight:900}.boarding-value-grid h3{font-family:"DM Serif Display",Georgia,serif;font-size:1.6rem;font-weight:400}.boarding-value-grid p{color:rgba(255,255,255,.65)}
/* Community pages */
.simple-page-hero,.alumni-hero{padding:85px 0;color:#fff;background:var(--navy-deep)}.simple-page-hero h1,.alumni-hero h1,.contact-section h2,.alumni-welcome h2,.alumni-register h2{max-width:850px;margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3rem,5.4vw,5rem);font-weight:400;line-height:1}.simple-page-hero p:not(.eyebrow),.alumni-hero p:not(.eyebrow){max-width:720px;color:rgba(255,255,255,.72);font-size:1.08rem}.alumni-hero{background-image:linear-gradient(90deg,rgba(5,18,48,.95),rgba(5,18,48,.58)),url("images/senior-girls-in-spelling-competition.jpg");background-size:cover;background-position:center}
.event-gallery{padding-top:0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.event-grid figure{position:relative;margin:0;overflow:hidden;border-radius:16px}.event-grid img{width:100%;height:300px;object-fit:cover;transition:transform .35s}.event-grid figure:hover img{transform:scale(1.04)}.event-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 18px 16px;color:#fff;font-weight:900;background:linear-gradient(transparent,rgba(5,18,48,.9))}.event-large{grid-column:span 2}.event-large img{height:420px}
.alumni-paths{background:#f5f8fc}.alumni-register{background:#eaf4fb}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:start}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:32px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.contact-form label{display:grid;gap:7px;color:var(--navy-deep);font-weight:800}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:13px 15px;border:1px solid #dce2eb;border-radius:10px;background:#fff}.contact-form textarea{resize:vertical}.contact-form .full-field,.contact-form .button,.form-success{grid-column:1/-1}.form-success{margin:0;color:var(--green);font-weight:900}
.contact-details h2{font-size:clamp(2.5rem,4vw,4rem)}.contact-details address{margin:25px 0;color:var(--muted);font-style:normal}.contact-details>a{display:block;margin:12px 0;color:var(--blue);font-weight:900}.map-section{padding-top:80px;background:#eaf4fb}.map-heading{padding-bottom:30px}.map-heading h2{margin:0;color:var(--navy-deep);font-family:"DM Serif Display",Georgia,serif;font-size:3rem;font-weight:400}.map-frame{height:480px;background:#dce6ef}.map-frame iframe{width:100%;height:100%;display:block;border:0}.social-grid{display:flex;justify-content:space-between;gap:30px}.social-grid p{font-weight:900}.social-grid div{display:flex;gap:20px;flex-wrap:wrap}.social-grid a{color:var(--blue);font-weight:900}

/* Facilities */
.facility-hero{min-height:520px;display:flex;align-items:center;color:#fff;background-image:linear-gradient(90deg,rgba(5,18,48,.96),rgba(5,18,48,.7),rgba(5,18,48,.2)),var(--facility-hero);background-size:cover;background-position:center}.facility-hero h1{max-width:830px;margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3.2rem,6vw,5.6rem);font-weight:400;line-height:1}.facility-hero p:not(.eyebrow){max-width:670px;color:rgba(255,255,255,.78);font-size:1.08rem}.facility-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px}.facility-intro h2,.facility-copy h2{margin:0;color:var(--navy-deep);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.6rem,4vw,4.2rem);font-weight:400;line-height:1}.facility-intro-grid>div:last-child{color:var(--muted);font-size:1.06rem}.facility-showcase{padding-top:0}.facility-row{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px;align-items:center;padding:80px 0;border-top:1px solid #e1e6ed}.facility-row.reverse{grid-template-columns:1.28fr .72fr}.facility-row.reverse .facility-copy{order:2}.facility-row.reverse .facility-photos{order:1}.facility-copy>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:28px;border-radius:50%;color:#fff;background:var(--navy);font-weight:900}.facility-copy p:not(.section-kicker){color:var(--muted)}.facility-photos{display:grid;gap:12px}.facility-photos img{width:100%;height:100%;object-fit:cover;border-radius:16px}.facility-photos-three{grid-template-columns:1.2fr .8fr;grid-template-rows:220px 220px}.facility-photos-three img:first-child{grid-row:1/-1}.facility-photos-two{grid-template-columns:1fr 1fr;height:410px}.facility-photo-wide{height:430px}.text-link{display:inline-block;margin-top:15px;color:var(--blue);font-weight:900}.facility-activity{background:#f4f7fb}.facility-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.facility-activity-grid figure{position:relative;margin:0;overflow:hidden;border-radius:18px}.facility-activity-grid img{width:100%;height:360px;object-fit:cover;transition:transform .35s}.facility-activity-grid figure:hover img{transform:scale(1.04)}.facility-activity-grid figcaption{position:absolute;inset:auto 0 0;padding:55px 22px 20px;color:#fff;font-weight:900;background:linear-gradient(transparent,rgba(5,18,48,.9))}

/* Anthems and pledges */
.anthem-hero{padding:75px 0;color:#fff;background:var(--navy-deep)}.anthem-hero-grid{display:grid;grid-template-columns:1fr 180px;gap:70px;align-items:center}.anthem-hero h1{margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3.5rem,6vw,5.8rem);font-weight:400;line-height:1}.anthem-hero p:not(.eyebrow){max-width:680px;color:rgba(255,255,255,.72);font-size:1.08rem}.anthem-hero img{width:155px;filter:drop-shadow(0 18px 26px rgba(0,0,0,.25))}.anthem-jump{border-bottom:1px solid #e2e7ef;background:#fff}.anthem-jump .container{display:flex;gap:35px}.anthem-jump a{padding:22px 0;color:var(--navy);font-weight:900;border-bottom:3px solid transparent}.anthem-jump a:hover{color:var(--blue);border-color:var(--gold)}.words-heading{display:grid;grid-template-columns:75px 1fr;gap:25px;align-items:center;margin-bottom:50px}.words-heading>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#fff;background:var(--blue);font-weight:900}.words-heading h2{margin:0;color:var(--navy-deep);font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2.8rem,4vw,4.3rem);font-weight:400}.words-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.anthem-card,.pledge-card{padding:42px;border-radius:20px;background:#fff;box-shadow:0 16px 55px rgba(9,27,66,.08)}.lyrics{color:var(--muted);font-size:1.05rem;line-height:1.85}.lyrics p{padding-bottom:22px;margin:22px 0;border-bottom:1px solid #e7eaf0}.lyrics p:last-child{border-bottom:0}.lyrics .chorus{padding:25px;border-radius:13px;border:0;background:#fff8dc;color:var(--navy)}.pledge-card{position:sticky;top:25px;color:#fff;background:var(--navy)}.pledge-card .card-label{color:var(--gold)}.pledge-card blockquote{margin:30px 0 0;font-family:"DM Serif Display",Georgia,serif;font-size:1.45rem;line-height:1.65}.pledge-card strong{color:var(--gold)}.college-words{background:#f4f7fb}.college-words .words-heading>span{background:var(--coral)}.anthem-close{padding:50px 0;text-align:center;color:#fff;background:var(--navy-deep)}.anthem-close img{width:75px}.anthem-close p{margin:12px 0 0;color:var(--gold);font-weight:900;letter-spacing:.12em;text-transform:uppercase}

/* Admissions page */
.admissions-hero { position: relative; color: #fff; background-image: linear-gradient(90deg, rgba(5,18,48,.96) 0%, rgba(7,25,59,.88) 48%, rgba(7,25,59,.52) 100%), url("images/senior-girls-in-spelling-competition.jpg"); background-size: cover; background-position: center 42%; padding: 76px 0; }
.admissions-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,27,66,.03), rgba(9,27,66,.18)); pointer-events: none; }
.admissions-hero > .container { position: relative; z-index: 1; }
.admissions-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: center; }
.admissions-hero h1 { max-width: 780px; margin: 0; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(3rem, 5.6vw, 5.3rem); font-weight: 400; line-height: 1; text-wrap: balance; }
.admissions-hero-grid > div:first-child > p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.75); font-size: 1.08rem; }
.admission-date-card { padding: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.08); }
.admission-date-card p { margin: 0 0 15px; color: var(--gold); font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .14em; }
.admission-date-card strong, .admission-date-card span { display: block; }
.admission-date-card strong { font-family: "DM Serif Display", Georgia, serif; font-size: 2.15rem; font-weight: 400; }
.admission-date-card span { margin-top: 12px; color: rgba(255,255,255,.68); }
.entry-overview-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; align-items: start; }
.entry-overview h2, .process-heading h2, .admission-policies h2, .exam-integrity h2, .results-access h2, .admission-contact h2 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: clamp(2.5rem, 4vw, 4.1rem); font-weight: 400; line-height: 1.05; text-wrap: balance; }
.entry-overview-grid > div:first-child > p:last-child { color: var(--muted); }
.entry-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.entry-facts article { min-height: 235px; padding: 26px; border-top: 3px solid var(--gold); background: #f7f9fc; }
.entry-facts article:nth-child(2) { border-color: var(--green); }
.entry-facts article:nth-child(3) { border-color: var(--coral); }
.entry-facts strong { color: var(--navy); font-family: "DM Serif Display", Georgia, serif; font-size: 2.3rem; font-weight: 400; }
.entry-facts p { margin: 25px 0 5px; color: var(--navy-deep); font-weight: 900; }
.entry-facts span { color: var(--muted); font-size: .9rem; }
.application-process { background: #f5f8fc; }
.process-heading { max-width: 760px; margin-bottom: 55px; }
.process-heading > p:last-child { color: var(--muted); }
.process-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 65px; padding: 0; list-style: none; }
.process-list li { display: grid; grid-template-columns: 58px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid #dce2eb; }
.process-list li > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 900; }
.process-list h3 { margin: 0; color: var(--navy-deep); font-family: "DM Serif Display", Georgia, serif; font-size: 1.55rem; font-weight: 400; }
.process-list p { margin: 6px 0 0; color: var(--muted); }
.policy-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 75px; align-items: stretch; }
.policy-grid article > p:not(.section-kicker) { color: var(--muted); }
.policy-grid ul { padding-left: 20px; color: var(--muted); }
.policy-grid li { margin: 11px 0; }
.scholarship-card { padding: 42px; border-radius: 20px; color: #fff; background: var(--navy); }
.scholarship-card h2 { color: #fff; }
.scholarship-card > p:not(.section-kicker) { color: rgba(255,255,255,.7) !important; }
.scholarship-card > strong, .scholarship-card > span { display: block; }
.scholarship-card > strong { margin-top: 36px; color: var(--gold); font-family: "DM Serif Display", Georgia, serif; font-size: 3.5rem; font-weight: 400; }
.scholarship-card > span { color: rgba(255,255,255,.65); }
.exam-integrity { background: var(--navy-deep); color: #fff; }
.integrity-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; }
.exam-integrity h2 { color: #fff; }
.integrity-grid > div:last-child { color: rgba(255,255,255,.7); font-size: 1.08rem; }
.results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.results-grid img { width: 100%; height: 390px; object-fit: cover; border-radius: 18px; }
.results-grid > div > p:not(.section-kicker) { color: var(--muted); }
.admission-contact { padding: 95px 0; background: #eaf4fb; }
.admission-contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; align-items: center; }
.admission-contact-grid > div:first-child > p:last-child { color: var(--muted); }
.admission-contact-grid > div:last-child { display: grid; gap: 12px; }
.admission-contact-grid a { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 21px 24px; border-radius: 14px; color: #fff; background: var(--navy); }
.admission-contact-grid a span { color: rgba(255,255,255,.65); font-size: .82rem; }

.site-footer { color: rgba(255,255,255,.78); background: #071631; padding-top: 80px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .7fr .9fr 1.2fr; gap: 60px; }
.site-footer .brand { color: white; }
.footer-brand p { max-width: 360px; }
.site-footer h2 { color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: 1.25rem; font-weight: 400; }
.site-footer a { display: block; margin: 10px 0; }
.site-footer a:hover { color: var(--gold); }
.footer-contact p { margin-top: 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 28px 0; margin-top: 55px; border-top: 1px solid rgba(255,255,255,.12); font-size: .88rem; }
.footer-bottom p { margin: 0; }

@media (max-width: 1080px) {
  .menu-toggle { display: block; }
  .primary-nav { position: fixed; z-index: 120; top: 0; right: 0; width: min(420px, 90vw); height: 100vh; padding: 95px 28px 35px; display: block; overflow-y: auto; background: white; box-shadow: -12px 0 40px rgba(9,27,66,.2); transform: translateX(105%); transition: transform .3s ease; }
  .primary-nav.open { transform: translateX(0); }
  .primary-nav > a, .nav-group > button { width: 100%; display: flex; justify-content: space-between; padding: 14px 8px; border-bottom: 1px solid #edf0f5; text-align: left; }
  .primary-nav .nav-cta { display: block; width: max-content; margin: 24px 0 0; padding-inline: 20px; }
  .dropdown { position: static; width: 100%; display: none; padding: 4px 0 10px 16px; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .dropdown::before { display: none; }
  .nav-group.open .dropdown { display: block; }
  .quick-grid { grid-template-columns: 1fr 1fr; }
  .pillar-grid { grid-template-columns: repeat(3, 1fr); }
  .pillar-grid article:nth-child(2), .pillar-grid article:nth-child(4) { transform: none; }
  .welcome-grid, .curriculum-grid, .activities-grid { gap: 55px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; }
  .about-intro-grid, .objectives-grid, .leadership-grid, .faq-grid { gap: 50px; }
  .about-pillar-grid { grid-template-columns: repeat(3, 1fr); }
  .about-pillar-grid article:nth-child(even) { transform: none; }
  .value-cloud { grid-template-columns: repeat(3, 1fr); }
  .newsletter-inner { grid-template-columns: 1fr; gap: 35px; }
  .newsletter-form { grid-template-columns: 1fr 1fr; }
  .newsletter-form .button { grid-column: 1 / -1; }
  .academic-hero-grid, .academic-intro-grid, .curriculum-path-grid, .value-programmes-grid, .academic-life-grid { gap: 50px; }
  .subject-columns { padding-left: 0; }
  .admissions-hero-grid, .entry-overview-grid, .policy-grid, .integrity-grid, .results-grid, .admission-contact-grid { gap: 50px; }
  .school-copy-grid,.school-feature-grid{gap:50px}.boarding-value-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 780px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .topbar { display: none; }
  .header-inner { min-height: 78px; }
  .brand img { width: 58px; height: 62px; }
  .brand strong { font-size: 1.4rem; }
  .brand small { font-size: .68rem; }
  .hero { height: 690px; }
  .hero-slide { background-position: 62% center; }
  .hero-slide::before { background: linear-gradient(90deg, rgba(5,18,48,.94), rgba(8,28,69,.72)); }
  .hero h1, .hero h2 { font-size: clamp(2.7rem, 13vw, 4.3rem); }
  .hero-controls { right: 14px; bottom: 42px; }
  .quick-grid, .welcome-grid, .school-grid, .curriculum-grid, .activities-grid { grid-template-columns: 1fr; }
  .quick-links { padding: 28px 0 24px; }
  .quick-card { min-height: 100px; }
  .section-space { padding: 80px 0; }
  .welcome-grid { gap: 45px; }
  .welcome-visual { min-height: 500px; }
  .welcome-copy { order: -1; }
  .check-grid { grid-template-columns: 1fr; }
  .pillar-grid { grid-template-columns: 1fr 1fr; }
  .pillars, .curriculum { padding-block: 100px; }
  .featured-card, .featured-card:hover { transform: none; }
  .programme-grid { grid-template-columns: 1fr; }
  .activities-grid { gap: 45px; }
  .activity-collage { order: -1; }
  .admission-inner { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-contact { grid-column: 1 / -1; }
  .page-hero { min-height: 290px; }
  .about-intro-grid, .purpose-grid, .objectives-grid, .leadership-grid, .faq-grid { grid-template-columns: 1fr; }
  .about-collage { min-height: 520px; }
  .about-campus { height: 470px; }
  .about-pillar-grid { grid-template-columns: 1fr 1fr; }
  .objectives-heading { position: static; }
  .leadership-photo { margin-inline: auto; }
  .purpose-grid, .values-heading { grid-template-columns: 1fr; }
  .mission-card { margin-top: 0; }
  .values-heading > p { margin-left: 0; }
  .value-cloud { grid-template-columns: 1fr 1fr; }
  .newsletter-photo-strip { width: min(calc(100% - 28px), var(--container)); grid-template-columns: 1fr 1fr; }
  .newsletter-photo-strip img { height: 210px; }
  .newsletter-photo-strip img:nth-child(2) { grid-column: 1 / -1; grid-row: 1; }
  .academic-hero-grid, .academic-intro-grid, .curriculum-path-grid, .value-programmes-grid, .academic-life-grid { grid-template-columns: 1fr; }
  .academic-hero img { height: 300px; }
  .academic-facts, .subject-columns, .senior-subjects { grid-template-columns: 1fr; }
  .subject-columns ul { columns: 1; }
  .admissions-hero-grid, .entry-overview-grid, .policy-grid, .integrity-grid, .results-grid, .admission-contact-grid { grid-template-columns: 1fr; }
  .entry-facts { grid-template-columns: 1fr 1fr; }
  .process-list { grid-template-columns: 1fr; }
  .school-copy-grid,.school-feature-grid{grid-template-columns:1fr}.school-gallery-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}.event-grid{grid-template-columns:1fr 1fr}
  .facility-intro-grid,.facility-row,.facility-row.reverse,.words-grid{grid-template-columns:1fr}.facility-row.reverse .facility-copy,.facility-row.reverse .facility-photos{order:initial}.facility-activity-grid{grid-template-columns:1fr 1fr}.anthem-hero-grid{grid-template-columns:1fr 120px}
}

@media (max-width: 520px) {
  .brand span { display: none; }
  .hero-actions, .admission-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .button { width: 100%; }
  .quick-grid, .pillar-grid, .footer-grid { grid-template-columns: 1fr; }
  .welcome-visual { min-height: 390px; }
  .photo-main { width: 88%; }
  .experience-badge { width: 120px; height: 120px; }
  .experience-badge span { font-size: 2rem; }
  .photo-small { width: 42%; }
  .activity-collage { grid-template-columns: 1fr 1fr; }
  .activity-collage .collage-large { grid-column: 1 / -1; grid-row: auto; min-height: 260px; }
  .activity-collage img { min-height: 150px; }
  .footer-bottom { flex-direction: column; }
  .page-hero-content { padding-block: 45px; }
  .about-facts, .about-pillar-grid { grid-template-columns: 1fr; }
  .about-collage { min-height: 410px; }
  .about-campus { width: 90%; height: 370px; }
  .about-year { width: 125px; height: 125px; }
  .about-year b { font-size: 2rem; }
  .purpose-card, .values-panel { padding: 27px; }
  .values-panel { padding-inline: 0; }
  .value-cloud, .newsletter-form { grid-template-columns: 1fr; }
  .newsletter-form .button { grid-column: auto; }
  .newsletter-note, .newsletter-success { grid-column: auto; }
  .newsletter-photo-strip { grid-template-columns: 1fr; }
  .newsletter-photo-strip img, .newsletter-photo-strip img:nth-child(2) { grid-column: auto; grid-row: auto; height: 220px; }
  .academic-hero { padding: 50px 0; }
  .academic-hero img { height: 230px; }
  .academic-facts { grid-template-columns: 1fr; gap: 24px; }
  .subject-level header { grid-template-columns: 65px 1fr; gap: 18px; }
  .subject-level header > span { width: 58px; height: 58px; }
  .admissions-hero { padding: 55px 0; }
  .entry-facts { grid-template-columns: 1fr; }
  .entry-facts article { min-height: auto; }
  .admission-contact-grid a { align-items: flex-start; flex-direction: column; }
  .school-page-hero{min-height:420px}.school-feature img{height:280px}.school-gallery-grid,.boarding-value-grid{grid-template-columns:1fr}.school-gallery img{height:230px}
  .event-grid{grid-template-columns:1fr}.event-large{grid-column:auto}.event-large img,.event-grid img{height:280px}.contact-form{grid-template-columns:1fr}.contact-form .full-field,.contact-form .button,.form-success{grid-column:auto}.social-grid{flex-direction:column}
  .map-frame{height:360px}
  .facility-hero{min-height:430px}.facility-photos-three{grid-template-columns:1fr;grid-template-rows:none}.facility-photos-three img,.facility-photos-three img:first-child{grid-row:auto;height:260px}.facility-photos-two{grid-template-columns:1fr;height:auto}.facility-photos-two img{height:260px}.facility-photo-wide{height:300px}.facility-activity-grid{grid-template-columns:1fr}.facility-activity-grid img{height:300px}.anthem-hero-grid{grid-template-columns:1fr}.anthem-hero img{display:none}.anthem-jump .container{display:grid;gap:0}.words-heading{grid-template-columns:58px 1fr}.words-heading>span{width:50px;height:50px}.anthem-card,.pledge-card{padding:27px}.pledge-card{position:static}
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
