:root{--blue:#193b76;--deep-blue:#003874;--heading:#1e306e;--text:#94a0b8;--bg:#05070a;--paper:#0c1017;--green:#388e3c;--line:#202733;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}p{color:var(--text)}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:24px}.icon{width:24px;height:24px;fill:currentColor;flex-shrink:0;vertical-align:middle}.centered{text-align:center}.section-space{padding-top:64px;padding-bottom:64px}.section-title{font-size:24px;line-height:1.5;font-weight:700;color:var(--heading);margin-bottom:8.4px}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:12px;background:white;color:#003874}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #90caf9;outline-offset:4px}.contact-bar{background:#193b76;padding:8px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.contact-inner .tagline{color:white;font-size:14px;font-weight:700;line-height:20px;letter-spacing:.5px}.contact-links{display:flex;gap:24px;align-items:center}.contact-links a{display:flex;gap:8px;align-items:center;font-size:14px;line-height:20px}.contact-links .icon{width:18px;height:18px}.site-header{position:sticky;top:0;z-index:50;background:#171c23;box-shadow:0 4px 8px #0009}.admin-bar .site-header{top:32px}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}.brand{display:flex;align-items:center}.brand img{display:block;width:150px;height:50px;object-fit:contain}#primary-navigation{display:flex;gap:24px;align-items:center}.nav-link{padding:10px 8px;font-size:14px;border-bottom:2px solid transparent;line-height:20px}.nav-link.active{font-weight:700;background:#ffffff1f;border-bottom-color:#1e306e}.home .nav-link.active{background:none}.menu-toggle{display:none;background:none;color:white;border:0;cursor:pointer;padding:8px}.mobile-affiliates{display:none}.home-hero{height:480px;position:relative;background-image:var(--hero-image);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center}.hero-overlay{position:absolute;inset:0;background:#0009}.hero-content{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;padding-block:32px}.hero-content h1{font-size:48px;line-height:1.2;font-weight:700}.hero-content p{font-size:24px;font-weight:500;line-height:1.334;color:#fff;margin-top:16px;padding-inline:8px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:12px 24px;line-height:24px;font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s}.button:hover{filter:brightness(.93)}.button-light{color:#05070a;background:linear-gradient(#ebeef4,#f5f6fa);border-color:#c1c8d6}.hero-button{margin-top:24px;font-size:20px;padding:16px 32px}.button-blue{background:#193b76;color:white}.button-green{background:#388e3c;color:white}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:none;color:#1e306e;font-size:44px;width:44px}.slide-arrow.previous{left:8px}.slide-arrow.next{right:8px}.slide-arrow:disabled{opacity:.5}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center;padding-block:64px}.stats h2{color:var(--deep-blue);font-weight:700;font-size:30px;line-height:36px}.stats p{font-size:18px;line-height:31.5px}.services-section{padding-block:64px;background:#0a0e14}.services-section .section-title{margin-bottom:48px}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.service-card{border:1px solid #ffffff1f;border-radius:16px;padding:40px;background:#0c1017;box-shadow:0 3px 8px #0003}.service-heading{display:flex;align-items:center;gap:16px;margin-bottom:32px;color:#0277bd}.service-heading>.icon{width:40px;height:40px}.service-heading h3{font-size:20px;line-height:26.68px;font-weight:700}.service-card.self .service-heading{color:#ef6c00}.service-list{list-style:none;padding:0;margin:0}.service-list li{display:flex;align-items:center;gap:16px;padding-block:8px}.service-list .icon{color:#0277bd}.service-card.self .service-list .icon{color:#ef6c00}.service-list h4{font-size:18px;line-height:31.5px;font-weight:500}.service-list p{font-size:14px;line-height:20px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:64px}.story-grid p{font-size:16px;line-height:24px;margin-bottom:24px}.story-grid .story-intro{font-size:18px;line-height:27px}.story-grid .button{margin-top:8px}.story-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;box-shadow:0 8px 24px #0005}.volunteer-section{text-align:center;background:#193b76;padding-block:80px}.volunteer-section h2{font-size:30px;line-height:36px;font-weight:700;margin-bottom:10.5px}.volunteer-section p{font-size:18px;line-height:28.8px;font-weight:600;color:white;margin-bottom:32px}.site-footer{background:#1a1a1a;padding:48px 0;color:var(--text)}.footer-grid{display:grid;grid-template-columns:7fr 5fr;gap:32px}.foundation h2{font-size:18px;line-height:28.8px;font-weight:600;color:white;margin-bottom:6.3px}.site-footer p{font-size:14px;line-height:21px;margin-bottom:16px}.site-footer a:hover{text-decoration:underline}.footer-bottom{margin-top:16px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.admin-link{font-size:12px;padding:4px 8px;border:1px solid #ffffff30;border-radius:4px}.page-banner{position:relative;text-align:center;padding:64px 24px;color:white;background:#27529e;overflow:hidden}.page-banner:before{content:'';position:absolute;inset:0;background-image:var(--banner-image);background-size:cover;background-position:center;opacity:.12}.page-banner>*{position:relative}.page-banner .banner-icon{width:60px;height:60px;margin-bottom:24px}.page-banner h1{font-size:48px;line-height:57.6px;font-weight:700;margin-bottom:16.8px}.page-banner p{font-size:18px;font-weight:600;line-height:28.8px;color:white}.page-banner.booking{background:#43843d}.page-banner.donation{background:#193b76}.page-banner.donation .banner-icon{color:#f33e77}.page-banner.events h1{font-size:44px;line-height:52.8px}.booking-grid{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:start}.booking-copy>p{font-size:16px;line-height:24px}.green-heading{font-size:20px;color:#388e3c;line-height:27px;margin-top:32px;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{display:inline-block;border-radius:20px;padding:2px 9px;font-size:12px;line-height:18px;background:#17223a;color:#b3c6e9}.green-chips span{background:#0b290d;color:#a5d6a7;font-weight:600}.includes-list{list-style:none;padding:0;margin:16px 0}.includes-list li{display:flex;gap:12px;align-items:center;padding:8px 0;font-size:16px;color:var(--text)}.includes-list .icon{color:#388e3c}.fees-card{background:var(--paper);border:1px solid #999ea8;border-radius:32px;padding:16px;overflow:hidden}.fees-heading{text-align:center;background:#f5f5f5;padding:24px 12px}.fees-heading h2{font-size:20px;line-height:26.68px;color:#fff}.fees-heading p{font-size:14px}.fees-list{padding:16px 30px;margin:0}.fees-list>div{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid #ffffff1f}.fees-list>div:last-child{border-bottom:0}.fees-list dt{flex:1}.fees-list h3{font-size:18px;font-weight:500;line-height:31.5px}.fees-list p{font-size:12px;line-height:19px}.fees-list dd{color:#388e3c;margin:0;white-space:nowrap;font-size:20px}.fees-list>div:nth-child(n+3) dd{font-size:18px}.booking-start{margin:16px 16px 0;padding:24px;background:#112413;border-radius:16px}.booking-start h3{font-size:18px;margin-bottom:8px}.booking-start p{font-size:14px;line-height:21px}.booking-start .button{display:flex;margin:16px 0}.operating{margin-top:16px;font-size:12px!important;line-height:20px!important}.donation-content{max-width:1000px}.donation-intro{text-align:center;margin-bottom:48px}.donation-intro p{font-size:16px;line-height:24px}.donation-card{max-width:840px;margin-inline:auto;border:2px solid #1e306e;background:var(--paper);border-radius:32px;padding:16px}.donation-card-title{text-align:center;background:#193b76;font-size:20px;line-height:28px;padding:16px}.bank-heading{display:flex;gap:12px;justify-content:center;align-items:center;padding-top:32px;color:#fff}.bank-heading h3,.account-owner{font-size:18px;line-height:28.8px}.account-owner{text-align:center;margin-top:16px}.bank-details{display:grid;grid-template-columns:1fr 1fr;margin:24px 32px;gap:24px;padding:24px;border-radius:12px;background:#171d2a;text-align:center}.bank-details dt{font-size:12px;letter-spacing:1px;color:var(--text);margin-bottom:8px}.bank-details dd{margin:0;font-size:18px;font-weight:600}.bank-reference,.receipt-instruction{text-align:center;font-size:14px;line-height:24px;margin:16px}.receipt-instruction a{color:#90caf9;text-decoration:underline}.tax-notice{max-width:840px;margin:32px auto 0;border:1px solid #15395c;border-radius:8px;background:#071828;padding:16px;display:flex;gap:16px;color:#64b5f6}.tax-notice h2{font-size:18px;line-height:28.8px;margin-bottom:8px}.tax-notice p{color:#b8d6f2;font-size:14px;line-height:22px;margin-top:8px}.events-content{padding-block:32px 64px}.events-tabs{display:flex;border-bottom:1px solid #ffffff1f;margin-bottom:32px}.events-tabs a{flex:1;display:flex;justify-content:center;gap:8px;align-items:center;font-size:16px;font-weight:600;color:var(--text);padding:14px 16px;border-bottom:2px solid transparent}.events-tabs a.active{color:#fff;border-bottom-color:#eee}.empty-events{text-align:center;padding:64px 0 32px}.empty-events>.icon{width:48px;height:48px;color:#313844;margin-bottom:24px}.empty-events h2{font-size:18px;line-height:28.8px;color:var(--text);margin-bottom:6.3px}.empty-events p{font-size:14px;line-height:21px}.event-card{border:1px solid #ffffff20;background:var(--paper);border-radius:16px;padding:32px;margin-bottom:32px}.event-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px}.event-grid.no-poster{grid-template-columns:1fr}.event-state{display:inline-block;padding:4px 12px;background:#193b76;color:#bdd3ff;border-radius:16px;font-size:12px;font-weight:600;margin-bottom:16px}.event-card h2{font-size:30px;line-height:36px;margin-bottom:12px}.event-subtitle{font-size:18px;line-height:27px;margin-bottom:12px}.event-officiant{font-size:14px;margin-bottom:24px}.event-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.event-facts>div:last-child{grid-column:1/-1}.event-facts dt{font-size:12px;letter-spacing:1px;color:#7e8da9;margin-bottom:4px}.event-facts dd{margin:0;font-size:16px;color:var(--text)}.event-description{font-size:16px;margin:24px 0}.event-details{border:1px solid #ffffff20;border-radius:6px;margin:12px 0;overflow:hidden}.event-details summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:16px;font-size:16px;font-weight:500;list-style:none}.event-details summary::-webkit-details-marker{display:none}.event-details summary:after{content:'⌄';color:var(--text);font-size:20px}.event-details[open] summary:after{transform:rotate(180deg)}.details-body{padding:0 16px 16px;color:var(--text)}.details-body ul{padding-left:20px;margin:0}.details-body li{padding:4px 0}.schedule-row{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:8px 0}.event-partners h3{font-size:18px;margin:24px 0 12px}.event-contacts{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.event-contacts a{color:#90caf9;padding:8px 12px;border:1px solid #90caf94d;border-radius:8px}.event-contacts small{color:var(--text)}.event-poster{width:100%;height:auto;border-radius:8px}.event-pagination{display:flex;gap:24px;justify-content:center;margin-top:24px}.prose{max-width:900px}.prose h1{font-size:40px;margin-bottom:24px}.prose p{font-size:16px;margin-bottom:20px}.prose a{color:#90caf9}.prose article{margin-bottom:48px}
@media(max-width:1199px){.container{max-width:100%}.contact-inner{width:calc(100% - 32px)}.hero-content h1{font-size:40px}.hero-content p{font-size:20px}.story-grid{gap:48px}.service-card{padding:32px}}
@media(max-width:899px){.contact-inner{flex-direction:column;gap:4px;text-align:center}.top-phone{display:none!important}.nav-inner{height:66px}.menu-toggle{display:block}#primary-navigation{display:none;position:absolute;top:66px;right:0;width:280px;max-width:100vw;box-shadow:-8px 12px 32px #0008;background:#171c23;padding:24px;align-items:stretch;gap:8px;flex-direction:column}#primary-navigation.open{display:flex}.nav-link{padding:12px}.mobile-affiliates{display:flex;flex-direction:column;gap:16px;border-top:1px solid #ffffff20;margin-top:8px;padding:20px 12px;font-size:14px}.home-hero{height:400px}.services-grid,.story-grid,.booking-grid,.event-grid{grid-template-columns:1fr}.story-grid{gap:32px}.booking-grid{gap:32px}.footer-grid{grid-template-columns:1fr;gap:16px}.page-banner h1{font-size:38px;line-height:46px}.page-banner.events h1{font-size:36px;line-height:43px}}
@media(max-width:599px){.container{padding-inline:16px}.contact-inner{width:calc(100% - 32px)}.contact-inner .tagline{font-size:12px}.contact-links a{font-size:12px}.home-hero{height:360px}.hero-content h1{font-size:28px;line-height:33.6px}.hero-content p{font-size:16px;line-height:21.344px}.hero-button{font-size:16px;padding:12px 24px}.stats{grid-template-columns:1fr;gap:32px}.service-card{padding:40px}.section-title{font-size:24px}.story-grid{grid-template-columns:1fr}.story-image{max-height:none}.volunteer-section h2{font-size:30px;line-height:36px}.page-banner{padding:48px 16px}.page-banner h1{font-size:30px;line-height:36px}.page-banner.events h1{font-size:30px;line-height:36px}.page-banner p{font-size:16px;line-height:25px}.page-banner .banner-icon{width:48px;height:48px}.bank-details{grid-template-columns:1fr;margin:24px 8px}.fees-list{padding:16px}.fees-list>div{gap:12px}.booking-start{margin-inline:0}.event-card{padding:20px}.event-card h2{font-size:26px;line-height:32px}.event-facts{grid-template-columns:1fr}.schedule-row{grid-template-columns:1fr;gap:4px}.footer-bottom{gap:16px}.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Dimensions and surface colours measured from the live reference. */
.contact-bar{background:#003874}.site-header{background:#0c1017;background-image:linear-gradient(#ffffff0d,#ffffff0d)}
.hero-content{max-width:900px;padding-block:40px}.services-section{background:#f5f5f5}.service-card{background:#0b0e14;border:1px solid #333c4d99;border-radius:32px;padding:16px;box-shadow:none}.service-heading{background:#e3f2fd;padding:24px;margin-bottom:16px}.service-card.self .service-heading{background:#fff3e0}.service-list{padding:0 16px 16px}.service-list li{padding:12px 0}.story-grid{gap:48px}.volunteer-section{background:#283593}.volunteer-section>.container{max-width:900px}
.page-banner.booking{background:#2e7d32}.page-banner.donation{background:#003874}.page-banner:before{opacity:.1}.page-banner .banner-icon{width:60px;height:60px;margin-bottom:24px;display:block;margin-inline:auto}.page-banner h1{margin-bottom:16.8px}.donation-content{max-width:900px}.donation-card{max-width:100%;border-color:#1e306e}.donation-card-title{background:#003874}.bank-heading{justify-content:flex-start;padding:32px 32px 0}.bank-heading h3{font-size:16px;line-height:22px}.account-owner{text-align:left;margin:0 32px}.bank-details{background:none;padding:0;gap:16px}.bank-details>div{padding:16px;background:#f5f5f5;border-radius:16px;text-align:left}.bank-details dt{margin:0;line-height:19.2px}.bank-details dd{line-height:28.8px}.tax-notice{max-width:100%}
@media(min-width:600px){.services-grid{gap:32px}.story-grid{grid-template-columns:1fr 1fr}.hero-button{padding:16px 32px}}
@media(max-width:899px){.story-grid{grid-template-columns:1fr}.hero-content{padding-block:32px}}
@media(max-width:599px){.bank-heading{padding:24px 16px 0}.account-owner{margin-inline:16px}.bank-details{margin-inline:16px}.volunteer-section>.container{max-width:100%}}
.contact-inner .tagline{letter-spacing:1px;line-height:20.02px}.nav-link{min-width:64px;text-align:center;padding:6px 8px;line-height:24.5px}
.hero-button{font-size:19.2px;line-height:33.6px;padding:12px 40px;margin-top:16px}.service-heading{margin-bottom:0}.service-list{padding:8px}.service-list li{padding:8px 0}.service-list li>div{margin:6px 0}.service-list p{font-size:12px;line-height:19.92px;font-weight:500}
.story-grid p,.story-grid .story-intro{font-size:17.6px;line-height:26.4px;margin-bottom:16px}.story-grid .button{margin-top:0;background:#0b0e14;border:1px solid #333c4d;border-radius:8px;font-size:15px;font-weight:500;line-height:26.25px;padding:7px 21px}.story-image{border-radius:32px}
.volunteer-section .button{font-size:15px;line-height:26.25px;padding:8px 40px}.footer-grid{grid-template-columns:1fr 1fr}.addresses{text-align:right}.footer-bottom{justify-content:center;margin-top:32px;padding-top:32px;border-top:1px solid #333;gap:16px}.admin-link{border:0;padding:0;font-size:12px}
@media(max-width:899px){.footer-grid{grid-template-columns:1fr}.addresses{text-align:left}}
@media(max-width:599px){.hero-button{font-size:16px;line-height:28px;padding:12px 32px}.nav-link{text-align:left}}
.event-card{background:#05070a66;border:1px solid #d7e3f0;border-radius:24px}.event-card h2{color:#0054a6;font-size:28.8px;font-weight:900;line-height:1.15;margin-bottom:8px}.event-state{background:#0b0e14;color:white;border:1px solid #333c4d;border-radius:16px;font-size:13px;margin-bottom:12px}.event-subtitle{font-size:15.2px;line-height:22.8px;font-weight:800;color:white}.event-officiant{margin-bottom:16px}.event-facts{background:#e31837;border-radius:8px;padding:8px 16px;gap:12px}.event-facts dt{font-weight:700;color:white}.event-facts dd{color:white;font-weight:700;font-size:14px}.event-facts>div:first-child dd{font-size:16px;font-weight:800}.event-description p{font-size:14.4px;line-height:21.6px;font-weight:700;color:white}.event-partners h3{font-size:14px;color:#0054a6;margin-bottom:8px}.event-partners .chips span{font-size:13px;background:#0b0e14;color:white;border:1px solid #333c4d}.schedule-row p:first-child{color:#0054a6;font-weight:700}
@media(max-width:899px){.event-card h2{font-size:21.6px;line-height:24.84px}}
.drawer-brand,.menu-backdrop{display:none}
@media(max-width:899px){.drawer-brand{display:block;padding-bottom:24px;border-bottom:1px solid #ffffff20;margin-bottom:8px}.drawer-brand img{width:150px;height:50px;object-fit:contain}.menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:1;background:#0009}#primary-navigation{position:fixed;top:0;bottom:0;left:0;right:auto;width:280px;height:100dvh;max-height:100dvh;overflow:auto;z-index:2;background:#05070a;padding:24px}.nav-link{text-align:left}.mobile-affiliates{padding-inline:8px}}
