/* Ithembelihle: contemporary school identity, release 5.0.0. */
:root {
  --surface: #f7f9fc;
  --surface-warm: #faf8ed;
  --line: #dfe5ef;
  --muted: #526179;
  --radius-card: 24px;
  --radius-field: 14px;
  --shadow-card: 0 8px 28px rgba(29,34,91,.055);
  --shadow-hover: 0 18px 42px rgba(29,34,91,.11);
  --sans: 'Segoe UI Variable', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
}
body {font-size:17px;line-height:1.75;background:#fff;}
.container {width:90%;margin-inline:auto;}
h1,h2,h3 {font-weight:700;text-wrap:balance;}
h2 {font-size:clamp(30px,3.35vw,50px);line-height:1.12;letter-spacing:-.045em;}
h3 {letter-spacing:-.025em;}
.section {padding-block:clamp(64px,7.2vw,112px);}
.eyebrow {border-radius:999px;background:#f2edc9;color:var(--deep);font-size:11px;letter-spacing:.09em;padding:8px 15px;font-weight:750;line-height:1.5;}
.small-label {font-size:12px;letter-spacing:.07em;}
.section-heading {gap:32px;margin-bottom:42px;}
.section-heading.centered {margin-bottom:48px;}
.section-heading.centered>div {max-width:820px;}
.section-heading p {font-size:16px;line-height:1.75;margin-top:18px;}
.section-heading p.eyebrow {font-size:11px;margin:0 0 18px;line-height:1.5;}
.text-link {font-size:14px;gap:14px;padding-bottom:6px;}
.button {border-radius:999px;min-height:52px;padding:14px 25px;font-size:14px;line-height:1.5;gap:22px;font-weight:700;transition:background .2s,box-shadow .2s,transform .2s;}
.button:hover {transform:translateY(-2px);box-shadow:0 7px 20px #1d225b18;}
.button-yellow,.button-gold {color:var(--deep);}
.button-outline {border-color:#ffffff85;background:#ffffff0a;}
.button-outline:hover {background:white;}
.contact-strip {font-size:12px;padding:9px 0;background:var(--deep);}
.masthead-inner {min-height:112px;gap:24px;}
.brand {gap:16px;min-width:0;}
.crest-plaque {width:106px;min-height:90px;align-self:center;background:white;border-radius:18px;border:1px solid #e6e9ef;}
.crest-plaque:after {display:none;}
.crest-plaque img {width:94px;height:72px;mix-blend-mode:normal;}
.brand-name strong {font-size:clamp(25px,2.4vw,36px);letter-spacing:-.055em;line-height:1.1;}
.brand-name small {font-size:12px;letter-spacing:.21em;}
.brand-name>span {font-size:11px;}
.masthead-contacts {gap:28px;}
.masthead-contact {gap:11px;}
.masthead-contact small {font-size:12px;}
.masthead-contact strong {font-size:13px;}
.site-header {background:#fffffff5;border-block:1px solid #e7ebf1;box-shadow:0 8px 28px #1d225b08;backdrop-filter:blur(16px);}
.navigation-shell {background:transparent;border-radius:0;min-height:70px;padding-left:0;}
.site-header nav {min-height:70px;align-items:center;gap:2px;}
#primary-nav>a {font-size:13px;min-height:46px;padding:12px 14px;gap:10px;line-height:1.5;border-radius:999px;}
.site-header nav>a:not(.nav-support) {color:var(--deep);}
.site-header nav>a:not(.nav-support):after {display:none;}
.site-header nav>a:not(.nav-support):hover {background:#f0f4fb;}
.site-header nav>a:not(.nav-support)[aria-current] {background:#eaf0fc;color:var(--navy);}
.site-header nav>a.nav-support {background:var(--navy);color:white;margin-left:auto;padding:12px 22px;}
.site-header nav>a.nav-support:hover {background:var(--deep);}
.school-hero {min-height:690px;background:var(--deep);}
.hero-shade {background:linear-gradient(90deg,rgba(29,34,91,.94),rgba(29,34,91,.82) 32%,rgba(29,34,91,.28) 67%,rgba(29,34,91,.04)),linear-gradient(0deg,rgba(29,34,91,.55),transparent 35%);}
.hero-content {padding-top:88px;padding-bottom:138px;}
.hero-eyebrow {font-size:12px;font-weight:650;letter-spacing:.075em;margin-bottom:26px;}
.school-hero h1 {font-size:clamp(46px,5.4vw,78px);line-height:1.06;letter-spacing:-.055em;max-width:830px;font-weight:700;}
.hero-description {font-size:17px;line-height:1.75;max-width:540px;margin:28px 0 30px;}
.hero-content .button-row {gap:14px;}
.hero-bottom {bottom:66px;}
.hero-bottom p {font-size:12px;letter-spacing:.02em;}
.hero-controls {gap:10px;}
.hero-controls>span {font-size:12px;}
.hero-controls>button {width:46px;height:46px;border-radius:50%;background:#1d225b70;}
.entry-strip {margin-top:-34px;gap:18px;border:0;box-shadow:none;grid-template-columns:1.12fr 1fr 1fr;}
.entry-item {border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow-card);min-width:0;gap:16px;}
.entry-item:nth-child(3) {background:var(--surface-warm);}
.entry-primary {border-color:var(--navy);}
.entry-icon {width:50px;height:50px;}
.entry-item small {font-size:10px;letter-spacing:.07em;}
.entry-item strong {font-size:18px;white-space:normal;}
.entry-item em {font-size:12px;}
.entry-item>svg {flex-shrink:0;}
.programme-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.programme-card,.life-card,.news-card,.gallery-item {border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);transition:transform .22s,box-shadow .22s,border-color .22s;}
.programme-card:hover,.life-card:hover,.news-card:hover,.gallery-item:hover {transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:#afc2e5;}
.programme-card>img,.programme-card>.illustrative-image {height:230px;}
.programme-copy {padding:34px 26px 28px;}
.programme-icon {border-radius:17px;width:54px;height:54px;right:24px;top:-28px;}
.programme-copy h3 {font-size:24px;line-height:1.2;margin-bottom:14px;}
.programme-copy p {font-size:15px;line-height:1.75;}
.about-home,.care-section,.values-section {background:var(--surface);}
.about-home-grid,.story-grid {gap:clamp(38px,6vw,96px);}
.about-collage {padding:0 32px 40px 0;}
.about-main,.illustrative-image.about-main {border:0;border-radius:28px;height:480px;}
.about-inset {border-radius:20px;box-shadow:0 14px 30px #1d225b1a;}
.since-badge {border-radius:18px;padding:22px 28px;left:22px;gap:18px;box-shadow:0 10px 30px #1d225b15;}
.since-badge span {font-size:12px;line-height:1.6;}
.since-badge strong {font-size:34px;}
.about-home-copy>p:not(.eyebrow),.story-grid p:not(.eyebrow),.admissions-grid p,.contact-home>div>p:not(.eyebrow) {font-size:16px;line-height:1.8;}
.about-home-copy>p.lead-copy {font-size:19px;line-height:1.7;font-weight:600;}
.check-list {gap:15px 24px;margin-block:28px 32px;}
.check-list li {font-size:14px;line-height:1.5;}
.check-list li:before {width:24px;height:24px;font-size:12px;}
.care-band {padding-block:88px;background:var(--deep);}
.care-band .eyebrow,.care-band .section-heading p.eyebrow {background:var(--yellow);color:var(--deep);}
.care-band-grid {gap:22px;}
.care-band-grid>a {background:#ffffff09;border:1px solid #ffffff24;border-radius:22px;padding:30px 24px;text-align:left;transition:background .2s,transform .2s;}
.care-band-grid>a:last-child {border:1px solid #ffffff24;}
.care-band-grid>a:hover {background:#ffffff12;transform:translateY(-4px);}
.care-band-grid>a>span {margin:0 0 24px;border-radius:18px;background:#ffffff0c;}
.care-band-grid h3 {font-size:23px;margin-bottom:14px;}
.care-band-grid p {font-size:15px;line-height:1.7;}
.life-card-grid,.news-grid {gap:28px;}
.life-card>img,.life-card>.illustrative-image {height:300px;}
.life-card>div {border:0;padding:28px;}
.life-card small {font-size:11px;letter-spacing:.07em;}
.life-card h3 {font-size:28px;margin-top:12px;}
.life-card div>span {font-size:14px;line-height:1.6;}
.news-card img {height:275px;}
.news-card>div {padding:29px;}
.news-card h3 {font-size:27px;line-height:1.2;}
.news-card p:not(.story-date) {font-size:15px;line-height:1.8;}
.news-card .text-link {font-size:14px;}
.story-date {font-size:12px!important;letter-spacing:.05em;}
.values-ribbon {background:var(--surface-warm);padding-block:48px;border-block:1px solid #ece6bf;}
.values-ribbon strong {font-size:clamp(24px,2.7vw,38px);color:var(--deep);letter-spacing:-.035em;}
.values-ribbon span {font-size:14px;line-height:1.6;color:var(--muted);display:block;margin-top:8px;}
.values-ribbon .container>div {padding:8px 22px;border-color:#d8d2ac;}
.home-photo-grid {gap:20px;grid-template-rows:240px 240px;}
.home-photo-grid>a {border-radius:24px;}
.home-photo-grid a>span {font-size:14px;padding:56px 24px 24px;}
.home-photo-grid .home-photo-large>span {font-size:20px;}
.support-band {background:var(--navy);padding-block:76px;}
.support-band h2 {font-size:clamp(32px,3.5vw,50px);color:white;max-width:760px;}
.support-band .eyebrow {color:var(--yellow);font-size:11px;}
.support-band p:not(.eyebrow) {font-size:16px;color:#e1eafb;line-height:1.7;max-width:700px;}
.support-band .button {background:var(--yellow);color:var(--deep);min-width:205px;}
.support-band .button:hover {background:#e6dc85;}
.band-inner {gap:48px;}
.contact-home {gap:clamp(40px,7vw,110px);}
.contact-home-panel {background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:22px 34px;box-shadow:var(--shadow-card);}
.contact-home-panel>a {padding:24px 0;}
.contact-home-panel small {font-size:11px;letter-spacing:.07em;}
.contact-home-panel strong {font-size:16px;overflow-wrap:anywhere;}
.contact-home-panel svg {width:28px;height:28px;flex-shrink:0;}
.page-intro {background:var(--deep);padding:76px 0 82px;border-bottom:4px solid var(--yellow);}
.page-intro:after {display:none;}
.page-intro h1 {font-size:clamp(42px,4.9vw,72px);line-height:1.08;max-width:1000px;}
.lede {font-size:18px;max-width:760px;line-height:1.8;}
.anchor-nav {gap:12px;padding-block:24px;flex-wrap:wrap;}
.anchor-nav a {border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:14px;background:white;}
.anchor-nav a:hover {background:#eaf0fc;color:var(--navy);}
.story-image,.illustrative-image.story-image,.wide-photo,.illustrative-image.wide-photo,.teaser-grid img {border-radius:24px;}
.department-grid article,.values-grid article {border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-card);padding:34px;}
.department-grid article p,.values-grid p {font-size:16px;}
.department-icon {border-radius:18px;}
.values-grid h2 {font-size:32px;}
.values-grid article>span {font-size:12px;}
.department-detail {border-radius:20px;overflow:hidden;box-shadow:0 3px 16px #1d225b04;}
.department-detail summary {font-size:22px;padding:26px 30px;line-height:1.4;}
.department-detail[open] summary {background:var(--surface-warm);}
.department-prose {padding:26px 30px;}
.department-prose p,.readable-copy>p {font-size:17px;line-height:1.85;}
.event-heading {margin-bottom:36px;}
.event-heading h2 {font-size:clamp(30px,3.2vw,46px);}
.event-heading .lede {font-size:18px;}
.event-photos img {border-radius:20px;background:#eef1f6;}
.event-photos figcaption {font-size:13px;line-height:1.7;padding-top:12px;}
.filter-button {border-radius:999px;font-size:14px;min-height:44px;padding:10px 19px;line-height:1.5;transition:background .2s,color .2s;}
.filter-button[aria-pressed=true] {background:var(--navy);border-color:var(--navy);color:white;}
.gallery-toolbar>p {font-size:14px;}
.photo-grid {gap:28px;}
.gallery-item>img,.gallery-item>.illustrative-image {height:290px;}
.gallery-item-caption {border:0;padding:24px;}
.gallery-item-caption small {font-size:11px;line-height:1.5;}
.gallery-item-caption strong {font-size:17px;line-height:1.45;}
#gallery-dialog {border-radius:24px;overflow:hidden;}
.dialog-close,.dialog-bottom button {border-radius:50%;}
.steps li {padding-block:30px;}
.steps li>span {border-radius:16px;}
.steps p {font-size:15px;}
.faq-wrap details {border:1px solid var(--line);border-radius:18px;padding:22px 24px;margin-bottom:12px;background:white;}
.faq-wrap details:first-child {border-top:1px solid var(--line);}
.faq-wrap details p {font-size:16px;line-height:1.8;}
.faq-wrap summary {font-size:17px;line-height:1.5;}
.email-panel {border:1px solid var(--line);border-radius:28px;background:var(--surface);padding:36px;box-shadow:var(--shadow-card);}
.email-panel>p,.contact-details p,.narrow p {font-size:16px;line-height:1.8;}
form label {font-size:14px;}
form input,form select,form textarea {border-color:#8693a7;border-radius:var(--radius-field);min-height:52px;font-size:16px;padding:13px 16px;}
form textarea {min-height:150px;}
.contact-details .email-link {font-size:17px;overflow-wrap:anywhere;}
.site-footer {padding-top:78px;border-top:4px solid var(--yellow);}
.footer-grid {gap:40px;grid-template-columns:1.35fr 1fr 1fr 1.2fr;}
.footer-grid h2 {font-size:17px;font-weight:650;margin-bottom:25px;}
.footer-grid>div>a:not(.brand),.footer-about>p {font-size:14px;line-height:1.8;}
.footer-about .brand {gap:12px;}
.footer-about .brand-name strong {font-size:24px;}
.footer-bottom {font-size:12px;padding-block:26px;margin-top:54px;}
.image-caption-badge {border-radius:7px;font-size:10px;line-height:1.5;}
@media(min-width:1500px) {
 .programme-card>img {height:280px;}
 .programme-copy {padding:36px 30px 32px;}
}
@media(max-width:1150px) {
 .masthead-contacts {gap:18px;}
 .masthead-contact:last-child {display:none;}
 #primary-nav>a {font-size:12px;padding-inline:11px;}
 .programme-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .programme-card>img,.programme-card>.illustrative-image {height:280px;}
 .entry-item {padding:24px 20px;gap:13px;}
 .entry-item strong {font-size:16px;}
 .care-band-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .care-band-grid>a:nth-child(2) {border:1px solid #ffffff24;}
 .life-card>img,.life-card>.illustrative-image {height:245px;}
 .life-card h3 {font-size:24px;}
 .footer-grid {grid-template-columns:1fr 1fr;gap:36px 48px;}
}
@media(max-width:950px) {
 .navigation-shell {min-height:64px;}
 .menu-toggle {border-radius:999px;font-size:13px;min-height:42px;padding:9px 17px;background:var(--deep);color:white;}
 .mobile-school {color:var(--deep);font-size:13px;font-weight:750;}
 .site-header nav {top:100%;background:white;padding:14px 5% 24px;max-height:calc(100dvh - 64px);box-shadow:0 18px 24px #1d225b12;}
 #primary-nav>a {font-size:15px;min-height:48px;padding:12px 18px;border:0;border-radius:12px;margin:3px 0;}
 .site-header nav>a.nav-support {margin-top:14px;justify-content:space-between;}
 .school-hero {min-height:650px;}
 .hero-content {padding-top:74px;padding-bottom:140px;}
 .school-hero h1 {font-size:clamp(44px,7vw,66px);max-width:720px;}
 .entry-strip {grid-template-columns:1fr;margin-top:24px;gap:14px;}
 .entry-item {padding:24px;}
 .entry-item strong {font-size:19px;}
 .entry-item small {font-size:11px;}
 .entry-item em {font-size:13px;}
 .about-home-grid,.story-grid {gap:40px;}
 .about-main,.illustrative-image.about-main {height:410px;}
 .since-badge {display:block;padding:20px;left:14px;}
 .since-badge span {display:block;margin-top:8px;}
 .life-card-grid {grid-template-columns:1fr 1fr;}
 .life-card:last-child {grid-column:1/-1;}
 .life-card:last-child>img {height:320px;}
 .contact-home-panel {padding-inline:25px;}
 .contact-home-panel strong {font-size:14px;}
 .home-photo-grid {grid-template-rows:210px 210px;gap:16px;}
 .home-photo-grid a>span {font-size:12px;padding:44px 18px 18px;}
 .home-photo-grid .home-photo-large>span {font-size:17px;}
 .values-ribbon span {font-size:12px;}
 .department-grid article,.values-grid article {padding:27px;}
}
@media(max-width:650px) {
 body {font-size:16px;}
 .container {width:90%;}
 .section {padding-block:64px;}
 .contact-strip {font-size:11px;padding-block:8px;}
 .masthead-inner {min-height:103px;gap:12px;}
 .brand {gap:12px;}
 .crest-plaque {width:78px;min-height:73px;border-radius:14px;}
 .crest-plaque img {width:70px;height:57px;}
 .brand-name strong {font-size:26px;letter-spacing:-.055em;}
 .brand-name small {font-size:10px;letter-spacing:.2em;}
 .brand-name>span {font-size:9px;max-width:210px;line-height:1.45;}
 .masthead-contacts {display:none;}
 .navigation-shell {min-height:60px;}
 .mobile-school {font-size:12px;}
 .school-hero {min-height:0;padding-top:300px;}
 .hero-slides {height:320px;}
 .hero-slide>img {object-position:70% center;}
 .hero-shade {height:325px;background:linear-gradient(0deg,var(--deep) 0%,rgba(29,34,91,.06) 65%);}
 .hero-content {padding-top:24px;padding-bottom:132px;}
 .hero-eyebrow {font-size:10px;line-height:1.7;letter-spacing:.045em;gap:10px;margin-bottom:20px;}
 .hero-eyebrow:before {width:24px;}
 .school-hero h1 {font-size:clamp(38px,9.2vw,57px);line-height:1.08;letter-spacing:-.05em;max-width:520px;}
 .hero-description {font-size:16px;line-height:1.8;margin-block:24px;max-width:460px;}
 .hero-content .button-row {gap:12px;flex-direction:column;align-items:stretch;max-width:360px;}
 .hero-content .button {justify-content:space-between;padding-inline:23px;}
 .hero-bottom {bottom:30px;gap:18px;align-items:center;}
 .hero-bottom>p {font-size:10px;line-height:1.7;max-width:155px;}
 .hero-controls {gap:7px;}
 .hero-controls>span {font-size:10px;margin-right:5px;letter-spacing:.08em;}
 .hero-controls>button {width:38px;height:38px;font-size:20px;}
 .entry-strip {margin-top:22px;}
 .entry-item {padding:24px 21px;border-radius:20px;}
 .entry-item strong {font-size:18px;}
 h2,.section-heading h2,.about-home-copy h2,.contact-home h2,.admissions-grid h2,.faq-wrap h2 {font-size:clamp(30px,7.6vw,40px);line-height:1.15;}
 .section-heading,.section-heading.centered {margin-bottom:34px;}
 .section-heading p {font-size:16px;}
 .section-heading p.eyebrow,.eyebrow {font-size:10px;}
 .programme-grid,.life-card-grid,.news-grid,.page-news .news-grid,.photo-grid,.values-grid {grid-template-columns:1fr;gap:24px;}
 .programme-card>img,.programme-card>.illustrative-image {height:260px;}
 .programme-copy {padding:34px 26px 28px;}
 .programme-copy h3 {font-size:27px;}
 .programme-copy p {font-size:16px;max-width:none;}
 .programme-icon {border-radius:16px;}
 .about-home-grid,.story-grid,.admissions-grid,.faq-wrap,.contact-grid,.contact-home {grid-template-columns:1fr;gap:40px;}
 .about-collage {padding:0 22px 38px 0;}
 .about-main,.illustrative-image.about-main {height:380px;border-radius:24px;}
 .about-inset {border-radius:17px;}
 .since-badge {display:flex;gap:16px;padding:18px 22px;left:14px;}
 .since-badge strong {font-size:30px;}
 .since-badge span {font-size:11px;margin:0;}
 .about-home-copy>p.lead-copy {font-size:18px;}
 .check-list {grid-template-columns:1fr;gap:14px;}
 .check-list li {font-size:15px;}
 .care-band {padding-block:64px;}
 .care-band-grid {grid-template-columns:1fr;gap:16px;}
 .care-band-grid>a {padding:28px;}
 .care-band-grid>a>span {margin:0 0 22px;}
 .care-band-grid h3 {font-size:25px;}
 .care-band-grid p {font-size:16px;max-width:none;margin:0;}
 .life-card:last-child {grid-column:auto;}
 .life-card>img,.life-card:last-child>img,.life-card>.illustrative-image {height:280px;}
 .life-card>div {padding:26px;}
 .life-card h3 {font-size:28px;}
 .life-card div>span {font-size:14px;}
 .news-card img {height:270px;}
 .news-card>div {padding:26px;}
 .news-card h3 {font-size:27px;}
 .news-card p:not(.story-date) {font-size:16px;}
 .values-ribbon {padding-block:34px;}
 .values-ribbon>.container {grid-template-columns:1fr;gap:22px;}
 .values-ribbon .container>div {border:0;padding:0;}
 .values-ribbon strong {font-size:31px;}
 .values-ribbon span {font-size:14px;margin-top:5px;}
 .home-photo-grid {grid-template-columns:1fr 1fr;grid-template-rows:310px 190px 190px;gap:13px;}
 .home-photo-grid>a.home-photo-large {grid-column:1/-1;grid-row:span 1;}
 .home-photo-grid>a {border-radius:18px;}
 .home-photo-grid a>span {font-size:11px;padding:42px 14px 15px;}
 .home-photo-grid .home-photo-large>span {font-size:19px;}
 .support-band {padding-block:62px;}
 .support-band h2 {font-size:36px;}
 .support-band p:not(.eyebrow) {font-size:16px;}
 .support-band .button {margin-top:28px;}
 .contact-home-panel {border-radius:24px;padding:18px 26px;}
 .contact-home-panel strong {font-size:15px;}
 .contact-home-panel small {font-size:11px;}
 .page-intro {padding-block:58px 64px;}
 .page-intro h1 {font-size:clamp(38px,9vw,52px);line-height:1.1;}
 .lede,.event-heading .lede {font-size:17px;}
 .anchor-nav {gap:10px;padding-block:22px;}
 .anchor-nav a {font-size:13px;padding:8px 15px;}
 .department-detail summary {font-size:20px;padding:22px;}
 .department-prose {padding:22px;}
 .department-prose p,.readable-copy>p {font-size:16px;}
 .event-heading h2 {font-size:34px;}
 .event-photos {grid-template-columns:1fr;gap:24px;}
 .event-photos figure:only-child {grid-column:auto;}
 .event-photos img {border-radius:18px;}
 .gallery-toolbar {display:block;}
 .gallery-filters {gap:9px;}
 .filter-button {font-size:13px;padding:9px 16px;min-height:43px;}
 .gallery-item>img,.gallery-item>.illustrative-image {height:290px;}
 .gallery-item-caption {padding:24px;}
 .gallery-item-caption strong {font-size:18px;}
 .gallery-item-caption small {font-size:11px;}
 .steps li {padding-block:26px;gap:18px;}
 .steps li>span {width:46px;height:46px;border-radius:14px;}
 .steps h3 {font-size:23px;}
 .steps p {font-size:16px;}
 .faq-wrap details {padding:22px;}
 .email-panel {padding:28px 23px;border-radius:24px;}
 .email-panel>h2 {font-size:32px;}
 .form-row {grid-template-columns:1fr;gap:0;}
 .site-footer {padding-top:56px;}
 .footer-grid {grid-template-columns:1fr 1fr;gap:32px 24px;}
 .footer-about {grid-column:1/-1;}
 .footer-grid>div:last-child {grid-column:1/-1;}
 .footer-grid h2 {font-size:17px;}
 .footer-grid>div>a:not(.brand),.footer-about>p {font-size:14px;}
 .footer-bottom {font-size:11px;margin-top:38px;padding-block:24px;}
 .image-caption-badge {font-size:9px;}
}
@media(max-width:370px) {
 .brand-name strong {font-size:23px;}
 .brand-name>span {font-size:8px;max-width:190px;}
 .crest-plaque {width:68px;min-height:68px;}
 .crest-plaque img {width:62px;height:51px;}
 .hero-content {padding-bottom:144px;}
 .hero-bottom>p {max-width:130px;}
 .hero-controls>button {width:34px;height:34px;}
 .hero-controls>span {font-size:9px;}
 .entry-icon {width:44px;height:44px;}
 .entry-item {gap:12px;padding:22px 18px;}
 .entry-item strong {font-size:16px;}
 .home-photo-grid {grid-template-rows:270px 170px 170px;}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto;}
 *,*::before,*::after {animation:none!important;transition:none!important;}
}
@media print {
 .container {width:100%;}
 .site-header,.hero-slides,.hero-shade,.hero-bottom,.entry-strip,.ihw {display:none!important;}
 .school-hero {min-height:0;padding-top:0;background:white;}
 .hero-content {padding-block:20px;}
 .school-hero h1,.school-hero h1>span,.hero-description,.hero-eyebrow {color:black;}
 .programme-card,.life-card,.news-card,.gallery-item {box-shadow:none;break-inside:avoid;}
 .care-band,.support-band,.page-intro {background:white;}
 .care-band h2,.care-band h3,.care-band p,.support-band h2,.support-band p,.page-intro h1,.lede {color:black!important;}
}

/* Principal-managed photo sections and enquiry delivery. */
.page-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.page-photo-grid figure{margin:0;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:white;box-shadow:var(--shadow-card)}.page-photo-grid img{width:100%;height:300px;object-fit:cover}.page-photo-grid figcaption{padding:22px 26px;font-size:15px;line-height:1.7;color:var(--muted)}.page-photo-grid figcaption strong{display:block;color:var(--deep);font-size:20px;line-height:1.4}.page-photo-grid figcaption span{display:block;margin-top:8px}.enquiry-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.email-panel>p a{text-decoration:underline;overflow-wrap:anywhere}.email-panel button:disabled{opacity:.65;cursor:wait}.footer-bottom{flex-wrap:wrap}.footer-bottom>a{white-space:nowrap}@media(max-width:950px){.page-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.page-photo-grid{grid-template-columns:1fr}}

/* Additional school contact channels. */
.contact-details .contact-phone,.contact-details .contact-phone-secondary,.contact-details .email-link{display:block;overflow-wrap:anywhere}.contact-phone-secondary{font-size:20px;font-weight:700;margin-top:8px}.contact-details .email-link+.email-link{margin-top:8px}
.masthead-facebook svg {width:24px;height:24px;flex-shrink:0;}
.masthead-contacts {gap:clamp(16px,2vw,28px);}
.hero-photo-credit {display:block;font-size:10px;line-height:1.5;letter-spacing:.02em;opacity:.85;margin-top:6px;}
.hero-slide[data-slide="0"] img {object-position:55% 48%;}
.funder-home {background:#f3f6fc;}
.funder-home-grid {display:grid;grid-template-columns:1.5fr .7fr;gap:8%;align-items:center;}
.funder-home-art {text-align:center;color:var(--deep);}
.funder-home-art svg {width:min(100%,300px);height:auto;}
.funder-home-art p {font-size:15px;font-weight:700;}
.funder-home-art p span {color:var(--accent,#cd4716);margin:0 8px;}
.donor-intro {display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:center;}
.donor-intro h2,.funder-panel h2 {font-size:clamp(31px,3.4vw,50px);line-height:1.12;letter-spacing:-.035em;}
.donor-photo {margin:0;}
.donor-photo img {width:100%;height:430px;object-fit:cover;border-radius:28px;}
.donor-photo figcaption {font-size:13px;line-height:1.5;color:#526078;margin-top:14px;}
.donor-note {font-size:13px;color:#526078;margin-top:20px;}
.button-outline-dark {border:1px solid #b8c5de;background:transparent;color:#1d225b;}
.button-outline-dark:hover {background:#e8eef9;}
.donor-priorities {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.donor-priority {border:1px solid #e3e9f3;border-radius:26px;padding:27px;background:white;}
.donor-priority svg {width:104px;height:74px;margin-bottom:18px;}
.donor-priority h3 {font-size:21px;line-height:1.25;margin:0 0 13px;color:#1d225b;}
.donor-priority p {font-size:15px;line-height:1.7;margin:0;color:#445269;}
.funder-panel {display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;scroll-margin-top:100px;}
.funder-review {padding:36px;border-radius:28px;background:#edf2fb;border:1px solid #dce5f6;}
.funder-review h3 {font-size:25px;line-height:1.2;margin:0 0 20px;}
.funder-review ul {padding-left:21px;line-height:1.65;}
.funder-review li {margin:0 0 13px;padding-left:5px;}
.funder-review p {font-size:13px;margin-bottom:0;}
.donor-journey {background:#1d225b;color:white;}
.donor-journey h2,.donor-journey h3 {color:white;}
.donor-journey .eyebrow {color:#e4d95b;}
.donor-steps {list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;}
.donor-steps li {border-top:1px solid #626788;padding-top:25px;}
.donor-steps li>span {display:inline-flex;align-items:center;justify-content:center;background:#d3c540;color:#1d225b;border-radius:50%;width:48px;height:48px;font-weight:750;font-size:18px;}
.donor-steps h3 {font-size:23px;line-height:1.2;margin:22px 0 12px;}
.donor-steps p {color:#e0e5f2;font-size:15px;line-height:1.7;margin-bottom:0;}
.donor-evidence {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.donor-evidence-link {display:flex;justify-content:space-between;gap:18px;align-items:center;padding:25px;border:1px solid #dce4f1;border-radius:20px;font-size:18px;font-weight:700;color:#1d225b;background:#f8faff;}
.donor-evidence-link:hover {background:#edf2fb;border-color:#0c47ab;}
.donor-faq {display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;}
.donor-faq details {border-bottom:1px solid #ccd6e6;padding:21px 0;}
.donor-faq details:first-child {padding-top:0;}
.donor-faq summary {font-size:18px;font-weight:700;cursor:pointer;color:#1d225b;padding:5px 0;line-height:1.5;}
.donor-faq details p {margin:16px 0 0;font-size:15px;line-height:1.75;}
@media(max-width:1200px){.masthead-contacts {gap:15px;}.masthead-contact strong {font-size:12px;}.masthead-facebook small {font-size:11px;}}
@media(max-width:900px){.donor-intro,.funder-panel,.donor-faq {grid-template-columns:1fr;gap:32px;}.donor-priorities {grid-template-columns:repeat(2,minmax(0,1fr));}.donor-photo img {height:350px;}.donor-evidence {grid-template-columns:1fr;}.donor-steps {gap:24px;}.funder-review {padding:28px;}}
@media(max-width:650px){.funder-home-grid {grid-template-columns:1fr;gap:20px;}.funder-home-art svg {width:180px;}.donor-priorities,.donor-steps {grid-template-columns:1fr;}.donor-photo img {height:290px;}.donor-priority {padding:24px;}.donor-intro .button-row {align-items:stretch;}.donor-intro .button-row a {width:100%;justify-content:center;}.donor-intro h2 br {display:none;}.hero-photo-credit {max-width:180px;}}

@media(min-width:651px) and (max-width:1150px){.masthead-contacts{display:grid;grid-template-columns:repeat(2,auto);gap:10px 20px;}.masthead-contact:last-child{display:flex;}.masthead-contact:first-child{grid-column:1/-1;}.masthead-inner{gap:20px;}.masthead-contact{min-width:0;}}
@media(max-width:650px){.masthead-contacts{display:flex;gap:12px;flex-direction:column;align-items:flex-start;}.masthead-contact{display:none;}.masthead-contact:nth-child(2),.masthead-contact.masthead-facebook{display:flex;gap:7px;}.masthead-contacts svg{width:18px;height:18px;}.masthead-contact small{display:none;}.masthead-contact strong{font-size:10px;}.masthead-contacts .sr-only{position:absolute;}.brand-name>span{max-width:150px;}.masthead-inner{padding-block:12px;}.masthead-contact:nth-child(2) strong{max-width:110px;display:block;}}
