:root{--blue:#123e70;--accent:#0965b5;--sky:#bde0ff;--pale:#edf6ff;--ink:#20242a;--line:#d8e1e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);background:white;font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #0965b5;outline-offset:5px}.wrap{max-width:1200px;margin:auto;width:calc(100% - 112px)}.topbar{background:var(--blue);color:white;font-size:12px;padding:11px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:20px}header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:19px 0;border-bottom:1px solid var(--line)}.brand{display:flex;flex-shrink:0}.brand img{width:151px;height:74px;object-fit:contain}nav{display:flex;align-items:center;gap:33px;font-size:14px;font-weight:600}nav>a:not(.button):hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.button{background:var(--blue);color:white;border:2px solid var(--blue);border-radius:4px;display:inline-flex;align-items:center;gap:35px;padding:15px 22px;font-weight:700;font-size:16px;line-height:1.4}.button:hover{background:#075d9f;border-color:#075d9f}.button.small{padding:11px 17px;font-size:14px;gap:26px}.menu-toggle{display:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;letter-spacing:-1.5px}h1{font-size:clamp(46px,5vw,68px);font-weight:750;line-height:1.15;letter-spacing:-2.7px}h2{font-size:clamp(32px,3.3vw,45px);font-weight:700}h3{font-size:23px;letter-spacing:-.5px}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:55px;padding:80px 0 83px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.2px;margin-bottom:24px}.highlight{background:var(--sky);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .075em .025em}.hero-sub{font-size:28px;line-height:1.35;margin:27px 0 29px}.text-link{display:inline-flex;align-items:center;gap:22px;font-weight:700;text-decoration:underline;text-underline-offset:6px;font-size:15px}.text-link:hover{color:var(--accent)}.hero-drawing{position:relative;color:var(--blue)}.hero-drawing svg{width:100%;display:block}.drawing-note{display:block;text-align:center;font-size:13px;transform:rotate(-4deg);margin-top:3px;letter-spacing:.5px}.statement{padding:42px 0 72px;text-align:center}.statement p{font-size:23px;line-height:1.55;margin-top:25px}.digital{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;background:var(--sky)}.photo{position:relative;overflow:hidden;min-height:440px;background:#c3d5e6}.photo img{position:absolute;width:100%;height:auto;left:0;top:-20%}.digital-copy{padding:60px 58px;align-self:center}.digital-copy h2{font-size:49px;line-height:1.05;margin-bottom:24px}.digital-copy p:not(.eyebrow){font-size:18px;line-height:1.6;margin-bottom:29px}.learning{padding:92px 0}.learning>h2{text-align:center;margin-bottom:44px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.icon-panel{background:#e5f1ff;border-radius:5px;display:flex;align-items:center;justify-content:center;height:180px;margin-bottom:25px;color:var(--blue)}.feature-grid article:nth-child(2) .icon-panel{background:#cee7ff}.feature-grid article:nth-child(3) .icon-panel{background:#a6d6fc}.icon-panel svg{width:150px;height:110px}.feature-grid h3{margin-bottom:13px}.feature-grid p{font-size:17px;max-width:300px}.pathway{background:var(--pale)}.pathway-inner{padding:70px 0;display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:center}.pathway-inner>div>p:not(.eyebrow){font-size:21px;margin-bottom:25px}.admissions{padding:85px 0;display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center}.admissions p:not(.eyebrow){font-size:19px;margin:23px 0 30px}.contact{border-left:2px solid var(--sky);padding:22px 0 22px 40px}.contact h3{margin-bottom:20px}.contact address{font-size:17px;line-height:1.8;font-style:normal;margin-bottom:20px}.contact>a{font-size:16px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere;color:var(--blue)}footer{background:var(--blue);color:white;padding:40px 0 25px}.footer-inner{display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:14px}.footer-inner>span{font-size:18px;font-weight:700}.footer-inner a{text-decoration:underline;text-underline-offset:5px}.copyright{font-size:11px;opacity:.8;margin-top:32px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}
@media(min-width:1440px){.photo img{top:-22%}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}nav{gap:20px;font-size:13px}.brand img{width:130px;height:64px}.hero{gap:20px;padding:65px 0}.hero-sub{font-size:24px}.digital-copy{padding:38px}.photo{min-height:450px}.photo img{width:125%;left:-12%;top:-4%}.digital-copy h2{font-size:43px}.feature-grid{gap:23px}.feature-grid h3{font-size:21px}.pathway-inner{gap:40px}.admissions{gap:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.topbar{font-size:10px;padding:9px 0}header{position:relative;padding:14px 0}.brand img{width:129px;height:63px}.menu-toggle{display:flex;gap:13px;align-items:center;background:white;color:var(--blue);padding:10px 12px;border:1px solid var(--line);border-radius:3px;font-size:14px}nav{display:none;position:absolute;top:91px;left:-20px;right:-20px;background:white;z-index:5;border-bottom:1px solid var(--line);padding:24px;box-shadow:0 8px 10px #123e700b}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:22px}.hero{grid-template-columns:1fr;gap:25px;padding:48px 0 38px}h1{font-size:clamp(42px,9.9vw,65px);letter-spacing:-2px}.hero .eyebrow{font-size:12px;margin-bottom:20px}.hero-sub{font-size:24px;margin-top:22px;margin-bottom:24px}.desktop-break{display:none}.hero-drawing{max-width:290px;width:75%;margin:0 auto}.hero-drawing svg{max-height:250px}.drawing-note{font-size:11px;margin-top:0}.statement{padding:40px 0 50px}.statement h2{font-size:32px;line-height:1.25}.statement p{font-size:18px;margin-top:24px}.statement br{display:none}.digital{grid-template-columns:1fr}.photo{min-height:0;aspect-ratio:1.55}.photo img{width:100%;left:0;top:-21%}.digital-copy{padding:38px 25px 42px}.digital-copy h2{font-size:42px}.digital-copy h2 br{display:none}.digital-copy h2 br:after{content:' '}.digital-copy p:not(.eyebrow){font-size:18px}.learning{padding:58px 0}.learning>h2{font-size:32px;margin-bottom:32px}.feature-grid{grid-template-columns:1fr;gap:35px}.icon-panel{height:160px;margin-bottom:20px}.feature-grid h3{font-size:24px}.feature-grid p{max-width:none;font-size:17px}.pathway-inner{padding:48px 0;grid-template-columns:1fr;gap:28px}.pathway-inner>div>p:not(.eyebrow){font-size:19px}.admissions{padding:56px 0;grid-template-columns:1fr;gap:35px}.admissions h2{font-size:37px}.admissions p:not(.eyebrow){font-size:17px}.contact{padding:0 0 0 22px}.footer-inner{align-items:flex-start;flex-direction:column;gap:17px}.footer-inner p{font-size:15px}.copyright{margin-top:25px}.eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Classroom photographs, contact and maps */
.classroom-gallery{padding:0 0 80px}.gallery-heading{margin-bottom:30px}.gallery-heading .eyebrow{margin-bottom:14px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.gallery-grid figure{margin:0}.gallery-photo{position:relative;aspect-ratio:1.4;overflow:hidden;background:var(--pale);border-radius:4px}.gallery-photo img{position:absolute;width:100%;height:auto;top:0;left:0;display:block}.gallery-grid figcaption{font-size:20px;font-weight:700;margin-top:18px;letter-spacing:-.3px}.contact>a{display:block;width:fit-content;margin:10px 0}.contact .contact-phone{font-size:20px;font-weight:700}.location{padding-bottom:80px}.location-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.location-heading .eyebrow{margin-bottom:15px}.map-link{gap:12px;flex-shrink:0}.location iframe{display:block;width:100%;height:380px;border-radius:4px;background:var(--pale)}.footer-socials{display:flex;align-items:center;gap:30px;flex-wrap:wrap;border-top:1px solid #ffffff30;margin-top:30px;padding-top:24px;font-size:14px}.footer-socials a{text-decoration:underline;text-underline-offset:5px}.footer-socials a:hover{color:var(--sky)}.footer-socials span{margin-left:7px}.footer-socials>a:last-child{margin-left:auto}.copyright{margin-top:24px}@media(max-width:760px){.classroom-gallery{padding-bottom:55px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-heading h2{font-size:32px}.gallery-grid figcaption{font-size:19px}.location{padding-bottom:55px}.location-heading{display:block}.location-heading h2{font-size:34px}.location-heading .map-link{margin-top:22px}.location iframe{height:320px}.footer-socials{gap:22px}.footer-socials>a:last-child{margin-left:0;width:100%}}

/* Real classroom photography in the learning panels */
.feature-photo{position:relative;aspect-ratio:1.4;overflow:hidden;border-radius:5px;margin-bottom:25px;background:var(--pale)}.feature-photo img{display:block;position:absolute;top:0;left:0;width:100%;height:auto}@media(max-width:760px){.feature-photo{margin-bottom:20px}}

/* Optimised original school photographs */
.digital .photo img{width:100%;height:100%;left:0;top:0;object-fit:cover;object-position:55% center}.feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.feature-grid article:nth-child(3) .feature-photo img{object-position:48% center}@media(max-width:760px){.digital .photo{aspect-ratio:16/9;min-height:0}.digital .photo img{object-position:center}}


/* Shared admissions and contact pages */
.school-details{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;padding:0 0 80px}.school-details p:not(.eyebrow){margin:24px 0;font-size:18px}.school-details h3{margin-top:14px}.visit-link{margin:22px 0 0 22px}.contact-intro{padding:65px 0 40px}.contact-intro>p:last-child{font-size:20px;margin-top:24px;max-width:650px}.enquiry-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:30px 0 75px}.enquiry-layout h2{font-size:32px;margin-bottom:24px}.enquiry-layout p{margin:20px 0}.enquiry-layout .contact{align-self:start}.enquiry-layout label{display:block;font-weight:700;margin:18px 0 7px}.enquiry-layout input,.enquiry-layout select,.enquiry-layout textarea{display:block;width:100%;padding:13px;border:1px solid #9bafc0;border-radius:4px;font:inherit;background:white;color:var(--ink)}.enquiry-layout button{margin-top:22px}.enquiry-layout input:focus-visible,.enquiry-layout select:focus-visible,.enquiry-layout textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.legacy-page{--navy:#123e70;--blue-dark:#123e70;--blue-mid:#0965b5;--blue-light:#4d799d;--blue-pale:#bde0ff;--blue-faint:#edf6ff;--cream:#edf6ff;--warm-white:#fff;--text-dark:#20242a;--text-mid:#3a4e6b;--text-light:#52667b;--gold:#bde0ff;--gold-light:#edf6ff;--trajan:'Trebuchet MS',Arial,sans-serif;--serif:'Trebuchet MS',Arial,sans-serif;--sans:'Trebuchet MS',Arial,sans-serif;background:white;font-family:var(--sans)}
.legacy-page header nav{position:static;inset:auto;z-index:auto;height:auto;padding:0;background:white;border:0;box-shadow:none;letter-spacing:normal}.legacy-page header nav a{color:var(--ink);text-transform:none;letter-spacing:normal}.legacy-page header nav a.button{color:white}.legacy-page .page-header{padding:64px max(28px,calc((100% - 1200px)/2)) 60px;background:var(--pale)}.legacy-page .page-header h1{font-family:var(--sans);color:var(--ink);font-size:clamp(38px,5vw,60px);letter-spacing:-2px}.legacy-page .page-header p{color:var(--text-mid)}.legacy-page .section-label{color:var(--blue)!important}.legacy-page footer{padding:40px 0 25px}.legacy-page .footer-inner p{color:white}.legacy-page .process-step h4,.legacy-page .panel-title,.legacy-page .review-box h4{letter-spacing:0}.legacy-page .progress-bar{position:static}.legacy-page input,.legacy-page select,.legacy-page textarea{font-family:var(--sans)}
@media(max-width:1000px){header nav{gap:18px}.school-details,.enquiry-layout{gap:40px}}
@media(max-width:760px){.school-details,.enquiry-layout{grid-template-columns:1fr;gap:32px}.school-details{padding-bottom:55px}.contact-intro{padding:45px 0 25px}.enquiry-layout{padding-bottom:55px}.visit-link{display:flex;margin-left:0;width:fit-content}.legacy-page header nav{display:none;position:absolute;inset:91px -20px auto;height:auto;padding:24px;background:white;border-bottom:1px solid var(--line);box-shadow:0 8px 10px #123e700b;z-index:210}.legacy-page header nav.open{display:flex}.legacy-page .page-header{padding:45px 20px}.legacy-page .form-area{padding:35px 20px}.legacy-page .step-btn{font-size:10px;letter-spacing:0;padding:8px 4px}}
