:root{--purple:#342267;--deep:#26184f;--gold:#f4c94e;--ink:#292638;--muted:#696575;--paper:#fffdf8;--line:#e6e2db;--tint:#f4f1e9;--green:#3e6656}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--purple)}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.16;margin:0 0 .6em}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(2.5rem,5vw,4.65rem)}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.22rem;letter-spacing:-.02em}small{font-size:.78rem;color:var(--muted)}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #8962d5;outline-offset:4px}[hidden]{display:none!important}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.topbar{background:var(--deep);color:#f6f0ff;font-size:.75rem;letter-spacing:.025em}.topbar .container{display:flex;justify-content:space-between;padding-block:8px}.topbar a:hover{color:var(--gold)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:23px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:64px;height:64px;object-fit:contain}.brand strong{font-family:Georgia,serif;font-size:1.4rem;line-height:1.03;display:block;color:var(--purple)}.brand small{display:block;font-size:.58rem;letter-spacing:.14em;margin-top:9px}.header-note{font-size:.82rem;border-left:1px solid var(--line);padding-left:28px;color:var(--muted)}.header-note strong{color:var(--purple);font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--purple);color:#fff;padding:13px 22px;border-radius:6px;font-size:.82rem;font-weight:600;min-height:46px}.button:hover{background:var(--deep);color:white}.button.gold{background:var(--gold);color:var(--deep)}.nav-bar{border-block:1px solid var(--line);background:#fff}.nav-inner{display:flex;justify-content:space-between;align-items:center}.nav-inner nav{display:flex;gap:32px}.nav-inner nav a{padding:15px 0;font-size:.83rem;border-bottom:3px solid transparent}.nav-inner nav a[aria-current],.nav-inner nav a:hover{color:var(--purple);border-color:var(--gold)}.nav-tag{font-size:.7rem;color:var(--green);letter-spacing:.08em;text-transform:uppercase}.nav-toggle{display:none}.urgent{background:#fff3cd;border-bottom:1px solid #ead598;color:#644a16}.urgent .container{display:flex;align-items:center;gap:24px;padding-block:10px;font-size:.79rem}.urgent strong{display:flex;align-items:center;gap:9px;white-space:nowrap}.urgent strong span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid;border-radius:50%}.urgent p{margin:0;overflow-wrap:anywhere}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:44px;align-items:center;padding-block:56px}.eyebrow{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--purple);font-weight:700;margin-bottom:20px}.hero h1{font-size:clamp(2.7rem,4.7vw,4.6rem);line-height:1.06;margin-bottom:22px}.hero h1 em{color:var(--purple);font-weight:400}.hero-copy>p:not(.eyebrow){color:var(--muted);max-width:460px;font-size:.94rem}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:28px}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:.81rem;font-weight:650;color:var(--purple);padding-block:8px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-footnote{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;font-size:.7rem;color:var(--muted);display:flex;gap:10px;align-items:center}.tiny-star{font-size:1.4rem;color:var(--green)}.slideshow{position:relative;aspect-ratio:1.13;overflow:hidden;border-radius:100px 12px 12px 12px;background:#e5e9d7;isolation:isolate}.slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease}.slide.active{opacity:1}.slide-controls{position:absolute;inset:auto 16px 16px;display:flex;align-items:center;gap:7px;justify-content:center;z-index:2}.slide-controls button{border:0;background:#fff;color:var(--purple);border-radius:50%;width:38px;height:38px;box-shadow:0 2px 12px #0001}.slide-controls .dots{display:flex;gap:0;padding:0 5px;background:#fff;border-radius:30px}.dots button{width:26px;height:38px;box-shadow:none;position:relative}.dots button:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#b8b2c5;margin:auto}.dots button[aria-pressed=true]:before{background:var(--purple)}.image-disclosure{position:absolute;top:18px;right:12px;max-width:80%;background:#fffdf4eb;color:#4d493a;border-radius:4px;padding:4px 8px;font-size:.57rem}.slide-fallback{display:grid;place-content:center;height:100%;text-align:center;color:var(--purple);font:2rem/1.3 Georgia,serif}.slide-fallback>span{font-size:5rem;color:var(--green)}.strengths{display:grid;grid-template-columns:repeat(3,1fr);padding:24px 30px;border-block:1px solid var(--line);gap:32px}.strengths>div{display:grid;padding-left:24px;border-left:2px solid var(--gold)}.strengths strong{font-size:.88rem}.strengths span{font-size:.76rem;color:var(--muted)}.section{padding-block:76px}.welcome{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.welcome p:not(.eyebrow){color:var(--muted);font-size:.94rem}.tinted{background:var(--tint)}.notice-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:75px}.notice-layout>div>p:not(.eyebrow){font-size:.86rem;color:var(--muted)}.notice-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.notice-list li{border-bottom:1px solid var(--line)}.notice-list a{display:flex;align-items:center;gap:18px;padding:18px 5px}.notice-list a:hover{background:#ffffff90}.file-icon{display:grid;place-items:center;flex:0 0 45px;height:52px;border:1px solid #dad4e4;background:#eeebf4;border-radius:5px;color:var(--purple);font-size:.65rem;font-weight:700}.notice-list strong{display:block;font-size:.93rem;font-weight:600;overflow-wrap:anywhere}.notice-list small{font-size:.7rem}.arrow{margin-left:auto;font-size:1.25rem}.section-heading{display:flex;gap:24px;align-items:end;justify-content:space-between;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading .text-link{flex-shrink:0}.activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.activity-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.card-image{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#ece8f3}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.badge{position:absolute;bottom:12px;left:14px;font-size:.62rem;background:#fffef2f2;color:var(--purple);border-radius:4px;padding:3px 9px}.card-body{padding:23px;display:flex;flex-direction:column}.card-body h3{margin-top:12px}.card-body p{color:var(--muted);font-size:.83rem}.card-body small{font-size:.7rem}.card-body .text-link{margin-top:auto;border-top:1px solid var(--line);padding-top:15px;justify-content:space-between}.cover-placeholder{display:grid;place-content:center;text-align:center;height:100%;padding:30px;color:var(--purple);font:1.8rem/1.2 Georgia,serif}.principal{background:var(--purple);color:white;border-radius:12px;padding:48px 60px;display:flex;align-items:center;gap:45px}.principal .eyebrow,.principal .text-link{color:var(--gold)}.principal h2{font-size:2.4rem}.principal p:not(.eyebrow){color:#ded5ef;font-size:.9rem}.principal-mark{font:10rem/.8 Georgia,serif;color:var(--gold)}.four-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}.info-card{padding:26px;border:1px solid var(--line);background:#fff;border-radius:8px;font-style:normal}.info-card p{font-size:.84rem;color:var(--muted);margin-bottom:0}.info-card h3{font-size:1.07rem}.subject-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;background:#efebf6;color:var(--purple);font-family:Georgia,serif;font-size:1.4rem;margin-bottom:24px}.info-card:nth-child(2) .subject-icon{background:#fff4cf;color:#795c10}.info-card:nth-child(3) .subject-icon{background:#e8f0e9;color:var(--green)}.number{display:block;color:var(--green);font:1.8rem Georgia,serif;margin-bottom:26px}.admission-panel{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:55px;background:#f1eee5;border-radius:12px;padding:42px}.admission-panel p:not(.eyebrow){color:var(--muted);font-size:.9rem}.admission-panel img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;border-radius:8px}.important{border-block:1px solid var(--line);padding-block:28px}.important h2{font-family:inherit;font-size:1.1rem;font-weight:600;letter-spacing:0}.important>div{display:flex;flex-wrap:wrap;gap:20px 50px;font-size:.84rem;color:var(--purple)}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px}.contact-grid h3{margin-top:15px}.contact-grid .info-card{background:transparent}.contact-grid a{overflow-wrap:anywhere}.site-footer{background:var(--deep);color:#ece6f5;padding-top:52px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.1fr;gap:40px;padding-bottom:42px}.footer-brand{font-family:Georgia,serif;font-size:1.3rem}.site-footer h2{font-family:inherit;font-size:.82rem;font-weight:650;letter-spacing:0;color:var(--gold);margin-bottom:20px}.site-footer p,.site-footer address,.footer-grid>div>a:not(.footer-brand){font-size:.78rem;color:#c6bfd5;font-style:normal}.footer-grid>div>a{display:block;margin-bottom:6px}.site-footer p{margin-top:14px}.site-footer a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff22;display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:.73rem}.footer-bottom small{color:#c6bfd5}.page-intro{padding-block:65px 38px;max-width:1180px}.page-intro h1{max-width:950px}.page-intro>p:not(.eyebrow){max-width:760px;color:var(--muted)}.page-intro>.text-link{margin-bottom:25px}.page-intro .demo-note{font-size:.8rem;padding:14px 18px;background:#fff2cc;border-radius:6px;color:#664e1c}.compact{padding-top:20px;min-height:250px}.notice-page{max-width:900px;margin-left:max(32px,calc((100% - 1180px)/2))}.readable-page>p,.readable{max-width:780px;color:var(--muted)}.readable{margin-top:30px}.values-panel{padding:35px;background:var(--tint);border-radius:8px;margin-block:35px;max-width:850px}.values-panel li{margin-block:10px}.empty{padding:28px;background:var(--tint);border:1px dashed #c6bfcc;border-radius:8px;color:var(--muted)}.activity-content{padding-bottom:75px}.activity-content>p{max-width:800px;margin:24px auto;font-size:1rem;overflow-wrap:anywhere}.activity-cover{width:100%;max-height:490px;object-fit:cover;border-radius:12px;margin-bottom:40px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-block:35px}figure{margin:0;min-width:0}.gallery-link{display:block;position:relative;overflow:hidden;border-radius:9px;background:var(--tint)}.gallery-link img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .3s}.zoom-label{position:absolute;right:12px;bottom:12px;background:#fffc;border-radius:50%;width:32px;height:32px;text-align:center;color:var(--purple)}figcaption{font-size:.78rem;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}.inline-image{max-width:800px;margin:32px auto}.lightbox{border:0;max-width:none;max-height:none;width:100vw;height:100dvh;padding:20px 28px;background:#171321f5;color:#fff}.lightbox::backdrop{background:#171321}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;height:50px;max-width:1300px;margin:auto}.lightbox button{background:#ffffff18;border:1px solid #ffffff40;border-radius:50%;color:white;min-width:44px;height:44px;font-size:1.2rem}.lightbox-stage{height:calc(100% - 120px);display:flex;align-items:center;justify-content:space-between;gap:20px}.lightbox-image{max-width:calc(100% - 128px);max-height:100%;object-fit:contain;width:auto;height:auto;user-select:none}.lightbox-caption{text-align:center;font-size:.86rem;margin:16px auto 0;max-width:900px}.lightbox-counter{font-size:.85rem}.viewer-open{overflow:hidden}.skip-link{position:fixed;left:10px;top:-80px;z-index:100;padding:10px;background:white;color:var(--purple)}.skip-link:focus{top:10px}@media(hover:hover){.activity-card:hover .card-image img,.gallery-link:hover img{transform:scale(1.035)}}
@media(min-width:1600px){.hero{padding-block:70px}}@media(max-width:1000px){.container{width:calc(100% - 48px)}.header-note{display:none}.nav-inner nav{gap:22px}.hero{gap:28px}.hero h1{font-size:3.4rem}.hero .actions{gap:12px}.slideshow{aspect-ratio:.9}.activity-grid{gap:18px}.card-body{padding:18px}.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-layout{gap:35px}.footer-grid{grid-template-columns:repeat(2,1fr)}.section-heading{align-items:start}.section-heading h2{font-size:2.3rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.admission-panel{gap:30px;padding:30px}.contact-grid{gap:15px}.contact-grid .info-card{padding:20px}.nav-tag{display:none}.welcome{gap:35px}.notice-page{margin-inline:auto}}
@media(max-width:720px){.container{width:calc(100% - 36px)}.topbar .container{justify-content:center}.topbar span{display:none}.header-inner{padding-block:18px;gap:10px}.brand img{width:49px;height:49px}.brand{gap:10px}.brand strong{font-size:1.15rem}.brand small{font-size:.47rem;letter-spacing:.08em}.header-inner>.button{font-size:.7rem;padding:10px 12px;gap:0}.header-inner>.button span{display:none}.nav-inner{display:block}.nav-inner nav{gap:4px 20px;flex-wrap:wrap}.nav-inner nav a{padding-block:10px}.js .nav-toggle{display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--purple);padding:10px 0;width:100%;font-size:.86rem}.js .nav-inner nav{display:none;padding-bottom:12px}.js .nav-inner nav.is-open{display:flex}.urgent .container{gap:6px;align-items:start;flex-direction:column;padding-block:11px;font-size:.74rem}.hero{grid-template-columns:1fr;padding-block:35px;gap:30px}.hero h1{font-size:clamp(2.9rem,9.5vw,4rem)}.hero-copy>p:not(.eyebrow){max-width:none}.hero-footnote{margin-top:22px}.slideshow{aspect-ratio:1.3;border-top-left-radius:65px}.strengths{gap:17px;padding:22px 0;grid-template-columns:1fr}.strengths>div{padding-left:15px}.strengths strong{font-size:.85rem}.strengths span{font-size:.74rem}.section{padding-block:46px}.welcome,.notice-layout{grid-template-columns:1fr;gap:22px}.notice-layout h2 br{display:none}.notice-layout>div>p br{display:none}.section-heading{display:block;margin-bottom:22px}.section-heading .text-link{margin-top:12px}.activity-grid{grid-template-columns:1fr;gap:24px}.card-body{padding:24px}.principal{padding:32px 25px;gap:18px;align-items:start}.principal-mark{font-size:5rem}.principal h2{font-size:2rem}.principal .eyebrow{font-size:.6rem}.four-grid{gap:14px}.info-card{padding:20px}.admission-panel{grid-template-columns:1fr;padding:25px;gap:25px}.contact-grid{grid-template-columns:1fr}.footer-grid{gap:28px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.page-intro{padding-block:42px 20px}.page-intro h1{font-size:2.7rem}.compact{padding-top:20px}.activity-cover{max-height:350px}.gallery{gap:16px}.lightbox{padding:12px}.lightbox-stage{gap:5px;position:relative}.lightbox-image{max-width:100%;margin:auto}.lightbox-prev,.lightbox-next{position:absolute;z-index:1;bottom:5px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox-caption{font-size:.75rem}.values-panel{padding:25px}.values-panel ul{padding-left:20px}}
@media(max-width:420px){.four-grid,.gallery{grid-template-columns:1fr}.header-inner>.button{max-width:95px;text-align:center;font-size:.65rem}.brand strong{font-size:1.04rem}.footer-grid{grid-template-columns:1fr}.principal-mark{display:none}.section-heading h2{font-size:2rem}.image-disclosure{font-size:.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.about-school-image{width:100%;max-width:850px;height:auto;border-radius:12px;margin-bottom:32px}

/* CommonMark content shares the school's existing typography and colours. */
.markdown{overflow-wrap:anywhere}.markdown h1{font-size:clamp(2rem,3vw,2.8rem)}.markdown h2{font-size:clamp(1.65rem,2.6vw,2.2rem)}.markdown h3{font-size:1.25rem}.markdown h4,.markdown h5,.markdown h6{font-size:1.05rem}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin-top:1.4em}.markdown p,.markdown ul,.markdown ol,.markdown blockquote{margin-bottom:1.2em}.markdown ul,.markdown ol{padding-left:1.6em}.markdown li+li{margin-top:.4em}.markdown a:not(.gallery-link):not(.button){color:var(--purple);text-decoration:underline;text-underline-offset:3px}.markdown blockquote{margin-inline:0;padding:12px 22px;border-left:3px solid var(--gold);background:var(--tint);color:var(--muted)}.markdown blockquote p:last-child{margin-bottom:0}.markdown pre{overflow:auto;padding:18px;background:var(--tint);border-radius:6px}.markdown code{font-size:.88em}.activity-content.markdown>h1,.activity-content.markdown>h2,.activity-content.markdown>h3,.activity-content.markdown>ul,.activity-content.markdown>ol,.activity-content.markdown>blockquote,.activity-content.markdown>pre{max-width:800px;margin-inline:auto}.urgent .container>strong{white-space:normal;max-width:380px;flex-shrink:0}.urgent .container>strong>span{flex-shrink:0}.urgent-content{min-width:0}.urgent-content>:last-child{margin-bottom:0}.urgent-content h1,.urgent-content h2,.urgent-content h3{font:700 1rem/1.4 system-ui,sans-serif;margin:0 0 8px}.urgent-content blockquote{background:transparent}.urgent-content p{margin-bottom:.5em}.notice-open{overflow:hidden}.notice-modal{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #17132160;overflow:auto;overscroll-behavior:contain}.notice-modal::backdrop{background:#171321b8}.notice-modal-header{display:flex;gap:20px;align-items:start;justify-content:space-between}.notice-modal-header h2{font-size:clamp(1.6rem,3vw,2.1rem);margin:0;overflow-wrap:anywhere}.notice-modal-close{flex-shrink:0;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--purple)}.notice-modal-date{color:var(--muted);font-size:.8rem;margin-block:15px 24px}.notice-modal-content{font-size:.94rem}.notice-attachment{margin-top:26px}.notice-detail{max-width:850px}.notice-detail>.text-link{margin-bottom:25px}.notice-detail h1{font-size:clamp(2.1rem,4vw,3.4rem)}@media(max-width:720px){.notice-modal{padding:22px;max-height:calc(100dvh - 28px)}.urgent .container>strong{max-width:100%}.notice-modal-header{gap:12px}}

/* Shareable school announcements keep the existing quiet yellow treatment. */
.urgent-title{display:flex;align-items:center;gap:9px;min-height:44px;max-width:380px;flex-shrink:0;cursor:pointer}
.urgent-title strong{display:block;white-space:normal;overflow-wrap:anywhere}
.urgent-title>span{display:inline-grid;place-items:center;flex:0 0 20px;height:20px;border:1px solid;border-radius:50%}
.urgent-title:hover,.urgent-title:focus-visible{color:#46320c;text-decoration:underline;text-underline-offset:3px}
.urgent .urgent-content{margin:0;overflow-wrap:anywhere}
.notice-detail h1{overflow-wrap:anywhere}.notice-school{color:var(--muted);font-size:.9rem}
.notice-share{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.notice-share .button{border:1px solid var(--purple);min-height:48px}
.copy-link{background:transparent;color:var(--purple)}
.notice-public-link,.copy-status{font-size:.8rem;overflow-wrap:anywhere;margin-top:16px}
.notice-public-link a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){.urgent-title{max-width:100%;width:100%}.notice-share .button{flex:1 1 180px}}
