@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure{margin:0}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}}@layer base{:root{--navy:#142552;--ink:#202c3e;--muted:#536073;--ivory:#f6f4ee;--white:#fff;--gold:#856424;--line:#d9ddde;--serif:Georgia, "Times New Roman", serif;--sans:Arial, Helvetica, sans-serif}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{color:var(--ink);background:var(--white);font-family:var(--sans);font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:.25em}a:hover{text-decoration-thickness:2px}h1,h2,h3{color:var(--navy);font-weight:400;line-height:1.12}h1,h2{font-family:var(--serif);letter-spacing:-.045em}h1{font-size:clamp(2.8rem,5.2vw,5rem)}h2{font-size:clamp(2.2rem,3.5vw,3.5rem)}h3{font-size:1.4rem}em{color:#6b683e;font-weight:400}p+p{margin-top:1rem}p{max-width:70ch}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #b98718}main:focus{outline:none}::selection{color:var(--navy);background:#ead79c}.shell{width:min(1280px,100% - 6rem);margin-inline:auto}.section{padding-block:6rem}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;font-size:.7rem;font-weight:700}.lead{color:var(--navy);font-size:1.3rem;line-height:1.65}.actions{flex-wrap:wrap;align-items:center;gap:1.75rem;margin-top:2rem;display:flex}.text-link{align-items:center;gap:1rem;font-size:.875rem;font-weight:600;display:inline-flex}.button{background:var(--navy);min-height:48px;color:var(--white);border:1px solid var(--navy);justify-content:center;align-items:center;gap:1.5rem;padding:.875rem 1.5rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.button:hover{background:#2b416e}.button-light{background:var(--ivory);border-color:var(--ivory);color:var(--navy)}.button-light:hover{background:#e8e1ce}.skip-link{background:var(--white);z-index:20;padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}}@layer components{.topbar{background:var(--navy);color:var(--white);font-size:.7rem}.topbar .shell{justify-content:space-between;gap:1rem;padding-block:.55rem;display:flex}.topbar a{text-decoration:none}.topbar a span{margin-left:1rem}.site-header{border-bottom:1px solid var(--line);background:var(--white)}.header-inner{justify-content:space-between;align-items:center;gap:2rem;min-height:110px;display:flex}.brand{flex-shrink:0;width:150px}.brand img{object-fit:contain;width:150px;height:92px}nav{align-items:center;gap:2.2rem;display:flex}nav>a{padding-block:.75rem;font-size:.8rem;text-decoration:none}nav>a[aria-current=page]:not(.button){box-shadow:inset 0 -2px var(--gold)}.menu-toggle{border:1px solid var(--line);color:var(--navy);background:0 0;min-height:44px;padding:.5rem 1rem}.home-hero{background:var(--ivory);grid-template-columns:1fr 1.08fr;display:grid}.hero-copy{padding:5rem 3rem 3rem max(3rem,50vw - 640px)}.small-rule{vertical-align:middle;border-top:1px solid var(--gold);width:28px;margin-right:.7rem;display:inline-block}.hero-intro{color:var(--muted);max-width:40ch;margin-top:1.75rem;font-size:1rem}.hero-note{color:var(--muted);align-items:center;gap:1.25rem;margin-top:3.5rem;font-size:.7rem;display:flex}.note-number{font-family:var(--serif);color:var(--navy);border-right:1px solid #cdcbbd;padding-right:1.25rem;font-size:2.6rem;line-height:1}.hero-image{min-height:590px;position:relative;overflow:hidden}.hero-image>img{object-fit:cover;object-position:47% center;width:100%;height:100%}.hero-image figcaption{background:var(--navy);color:#fff;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;font-size:.7rem;display:flex;position:absolute;bottom:0;left:0;right:0}.hero-image figcaption span:last-child{opacity:.7;letter-spacing:.13em;font-size:.6rem}.values-strip{border-bottom:1px solid var(--line)}.values-strip>.shell{letter-spacing:.04em;justify-content:space-around;padding-block:1.25rem;font-size:.75rem;display:flex}.values-strip span:before{content:"✦";color:var(--gold);margin-right:1rem}.intro-layout{grid-template-columns:1fr 1fr;gap:6rem;display:grid}.intro-text .text-link{margin-top:1.75rem}.intro-text>p:not(.lead){color:var(--muted)}.programs-section{background:var(--ivory)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.program-row{border-top:1px solid #d5d5cb;grid-template-columns:3rem 1.3fr 1fr 3rem;align-items:center;gap:2rem;padding:2rem 0;text-decoration:none;display:grid}.program-row:last-child{border-bottom:1px solid #d5d5cb}.program-number{color:var(--gold);font-family:var(--serif);font-size:1.1rem}.program-row h3{font-family:var(--serif);margin-bottom:.5rem;font-size:2rem}.program-row .eyebrow{margin-bottom:.5rem}.program-row p{color:var(--muted);font-size:.85rem}.circle-arrow{width:48px;height:48px;color:var(--navy);border:1px solid #bdc2c4;border-radius:50%;place-items:center;transition:background .2s;display:grid}.program-row:hover .circle-arrow{background:var(--navy);color:#fff}.life-layout{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;display:grid}.life-photo{height:650px;position:relative}.life-photo img{object-fit:cover;width:100%;height:100%}.life-photo:after{content:"";z-index:-1;border:1px solid #c5b27a;position:absolute;inset:1rem -1rem -1rem 1rem}.life-layout h2+p{color:var(--muted);margin-top:1.5rem}.feature-lines{margin-block:2rem}.feature-lines>div{border-top:1px solid var(--line);padding:1.1rem 0}.feature-lines h3{margin-bottom:.5rem;font-size:1rem;font-weight:600}.feature-lines p{color:var(--muted);font-size:.85rem}.visit-section{background:var(--ivory);padding-block:5rem}.visit-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:8rem;display:grid}.visit-layout h2+p{color:var(--muted);margin-block:1.75rem}.address-panel{border-left:1px solid #c9c9be;padding:2rem 0 2rem 3rem;position:relative}.address-display{font-family:var(--serif);color:var(--navy);margin-bottom:1.5rem;font-size:2rem;line-height:1.4}.address-panel>a{font-size:.875rem}.location-mark{color:var(--gold);font-size:3rem;position:absolute;top:1rem;right:1rem}.enquiry-band{background:var(--navy);color:#fff;padding-block:3.5rem}.enquiry-inner{justify-content:space-between;align-items:center;gap:2rem;display:flex}.enquiry-band h2{color:#fff;font-size:clamp(2rem,3vw,3rem)}.enquiry-band .eyebrow{color:#ddd3b6;margin-bottom:.75rem}.enquiry-band p:last-child{color:#dce0e9;margin-top:.75rem;font-size:.9rem}footer{background:#f0f1ee;padding-top:4rem;font-size:.8rem}.footer-grid{grid-template-columns:1.1fr 1fr 1.15fr .8fr;gap:2rem;display:grid}.footer-name{font-family:var(--serif);color:var(--navy);font-size:1.4rem;text-decoration:none}.footer-grid p{color:var(--muted);margin-top:.5rem}.footer-grid h2{font:600 .75rem var(--sans);letter-spacing:.04em;margin-bottom:1.25rem}.footer-grid address{max-width:25ch;margin-bottom:1rem;font-style:normal}.footer-grid>div>a:not(.footer-name){overflow-wrap:anywhere;margin-block:.5rem;display:block}.footer-bottom{color:var(--muted);border-top:1px solid #d4d8d4;justify-content:space-between;gap:1rem;margin-top:3rem;padding-block:1.25rem;font-size:.7rem;display:flex}.page-hero{background:var(--ivory);padding-block:4.5rem}.page-hero h1{max-width:20ch}.page-hero .lead{max-width:55ch;margin-top:1.5rem}.breadcrumbs{color:var(--muted);margin-bottom:2rem;font-size:.75rem}.prose{max-width:800px;margin-inline:auto;padding-block:4rem}.prose h2{margin-top:3rem;margin-bottom:1rem;font-size:2.2rem}.prose h2:first-child{margin-top:0}.prose h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.3rem}.prose p,.prose li{color:var(--muted)}.prose li{margin-block:.5rem}.prose ul{padding-left:1.25rem}.prose a{color:var(--navy)}.prose blockquote{border-left:3px solid var(--gold);background:var(--ivory);font-family:var(--serif);margin:2rem 0;padding:1rem 1.5rem;font-size:1.4rem}.prose blockquote p{color:var(--navy)}.prose blockquote+p{font-size:.85rem}.page-image{object-fit:cover;width:100%;max-height:550px;margin-bottom:2.5rem}.contact-grid{grid-template-columns:1fr 1fr;gap:5rem;display:grid}.contact-panel{border-top:1px solid var(--line);padding-top:2rem}.contact-panel h2{margin-bottom:1rem;font-size:2rem}.contact-panel>a{overflow-wrap:anywhere}.contact-panel p{color:var(--muted);margin-block:1rem}.notice{background:var(--ivory);border-left:3px solid var(--gold);margin-top:2rem;padding:1.5rem}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.gallery-card{margin:0}.gallery-card button{background:var(--ivory);border:0;width:100%;padding:0;position:relative;overflow:hidden}.gallery-card button:after{content:"↗";width:36px;height:36px;color:var(--navy);background:#fff;place-items:center;display:grid;position:absolute;bottom:.75rem;right:.75rem}.gallery-card img{object-fit:cover;width:100%;height:320px;transition:transform .25s}.gallery-card button:hover img{transform:scale(1.03)}.gallery-card figcaption{color:var(--muted);padding-top:.75rem;font-size:.85rem}dialog{background:var(--ivory);color:var(--navy);border:0;max-width:min(1100px,95vw);max-height:95dvh;padding:1rem}dialog::backdrop{background:#081126e0}dialog img{object-fit:contain;width:auto;max-height:75dvh;margin:auto}dialog button{background:var(--navy);color:#fff;border:0;min-height:44px;margin-bottom:.75rem;margin-left:auto;padding:.7rem 1rem;display:block}dialog p{margin-top:.75rem}.gallery-fallback{margin-top:.5rem;font-size:.8rem;display:inline-block}.no-js-note{background:var(--ivory);padding:1rem}.contact-panel .visit-heading{margin-top:2.5rem}}@layer responsive{@media (width>=901px){.menu-toggle{display:none}}@media (width<=1100px){.shell{width:calc(100% - 4rem)}nav{gap:1.25rem}.hero-copy{padding:4rem 2rem 3rem}.hero-image{min-height:570px}.intro-layout,.life-layout{gap:3rem}.visit-layout{gap:4rem}.footer-grid{grid-template-columns:1fr 1fr}.nav-cta{padding:.75rem 1rem}}@media (width<=900px){.header-inner{flex-wrap:wrap;gap:0;min-height:95px;padding-block:.25rem}.brand,.brand img{width:135px;height:83px}nav{flex-wrap:wrap;gap:.5rem 1.5rem;width:100%;padding:1rem 0}body:has(.menu-toggle:not([hidden])) nav:not(.is-open){display:none}.home-hero{grid-template-columns:1fr 1fr}.hero-copy{padding:3rem 2rem}.hero-copy h1{font-size:3rem}.hero-image{min-height:560px}.hero-note{margin-top:2rem}.hero-copy .actions{gap:1rem}.section{padding-block:4rem}.life-photo{height:550px}.life-layout h2{font-size:2.6rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:3rem}.program-row{grid-template-columns:2rem 1.1fr 1fr 2.5rem;gap:1rem}.circle-arrow{width:40px;height:40px}.values-strip>.shell{gap:1rem;font-size:.65rem}.values-strip span:before{margin-right:.4rem}}@media (width<=650px){.shell{width:calc(100% - 2.5rem)}.topbar .shell{justify-content:center}.topbar .shell>span{display:none}.home-hero{grid-template-columns:1fr}.hero-copy{padding:3rem 1.25rem}.hero-copy h1{font-size:3.4rem}.hero-intro{font-size:.95rem}.hero-note{margin-top:2.5rem}.hero-image{height:390px;min-height:0}.hero-image>img{object-position:center 42%}.values-strip>.shell{flex-direction:column;gap:.5rem;padding-block:1.25rem;font-size:.75rem}.intro-layout,.life-layout,.visit-layout,.contact-grid{grid-template-columns:1fr;gap:2rem}.section{padding-block:3.5rem}.intro-text .lead{font-size:1.15rem}.section-heading{flex-direction:column;align-items:start;gap:1rem;margin-bottom:2rem}.program-row{grid-template-columns:1.5rem 1fr 2.5rem;padding-block:1.5rem}.program-row>p{grid-area:2/2}.program-row>.circle-arrow{grid-area:1/3/3}.program-row h3{font-size:1.8rem}.life-photo{height:400px;margin-right:1rem}.life-layout>div:last-child{padding-top:1rem}.visit-section{padding-block:3.5rem}.address-panel{border-left:0;border-top:1px solid var(--line);padding:1.5rem}.enquiry-inner{flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{flex-direction:column;align-items:start;gap:.5rem}.page-hero{padding-block:3rem}.page-hero .lead{font-size:1.1rem}.prose{padding-block:3rem}.gallery-grid{gap:1.5rem 1rem}.gallery-card img{height:220px}.gallery-card figcaption{font-size:.75rem}.contact-grid{gap:3rem}}@media (width<=360px){.hero-copy h1{font-size:2.9rem}.gallery-grid{grid-template-columns:1fr}.gallery-card img{height:320px}.button{gap:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}
