@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#fff0db;--ink:#493426;--rust:#a66543;--olive:#657033;--line:#dcc8af}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--olive);outline-offset:6px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:5}.skip:focus{top:12px}.header{max-width:1400px;margin:auto;padding:32px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;line-height:1}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3px;margin-top:9px}nav{display:flex;gap:36px;font-size:14px}nav a:hover{color:var(--rust)}.hero{max-width:1400px;margin:auto;padding:72px 6% 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 28px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-2px;line-height:1.03;margin:0}h1{font-size:clamp(58px,6.8vw,104px)}h1 em{font-style:normal;color:var(--rust)}.intro{font-size:17px;line-height:1.8;margin:28px 0 30px}.button{display:inline-flex;align-items:center;gap:38px;padding:17px 24px;background:var(--ink);color:var(--cream);border-radius:3px;font-size:14px}.button:hover{background:var(--olive)}.hero-art{text-align:center}.hero-art img{display:block;width:100%;height:auto}.art-caption{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-top:10px;color:var(--olive)}.about{max-width:1400px;margin:auto;border-top:1px solid var(--line);padding:80px 6%;display:grid;grid-template-columns:1fr 1fr;gap:60px}h2{font-size:clamp(44px,5vw,68px)}.about-copy>p{font-size:17px;line-height:1.85;margin:0 0 24px}dl{margin:32px 0 0}dl div{border-top:1px solid var(--line);padding:15px 0}dt{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}dd{margin:0;font-size:14px}.contact{text-align:center;background:#e9dcc6;padding:88px 24px 100px}.contact h2{margin-bottom:28px}.contact>p:not(.eyebrow){font-size:15px}.email{display:inline-block;border-bottom:1px solid var(--ink);padding:8px 0;font-size:clamp(16px,2.6vw,28px);overflow-wrap:anywhere}.email span{margin-left:12px}footer{max-width:1400px;margin:auto;padding:36px 6%;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:11px;line-height:1.6}footer strong{font-size:12px}footer p{margin:6px 0}@media(max-width:700px){.header{padding:24px 6%}.brand{font-size:28px}nav{gap:20px;font-size:12px}.hero{padding-top:48px;grid-template-columns:1fr;gap:28px}.hero-art{max-width:430px;margin:auto}.about{grid-template-columns:1fr;gap:32px;padding-top:56px;padding-bottom:56px}footer{flex-direction:column;align-items:flex-start}.contact{padding:60px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Header uses the original logo supplied by the owner. */
.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:block;width:52px;height:52px;flex:none}.brand .brand-name{font:inherit;letter-spacing:normal;margin:0}.brand .brand-company{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:3px;margin-top:9px}
@media(max-width:700px){.brand{gap:8px}.brand-mark{width:40px;height:40px}.brand .brand-company{font-size:8px;letter-spacing:2px}}
@media(max-width:380px){.brand{font-size:24px}nav{gap:12px}}

.brand-mark{width:76px;height:76px;object-fit:contain}@media(max-width:700px){.brand-mark{width:58px;height:58px}}

.header .brand{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:14px}.header .brand-mark{flex:0 0 auto}.header .brand-name{display:block;font-family:'Libre Caslon Display',Georgia,serif;font-size:34px;line-height:1;letter-spacing:normal;white-space:nowrap}.header .brand-company{display:block;font-family:'DM Sans',sans-serif;font-size:9px;line-height:1.4;letter-spacing:3px;margin-top:9px}@media(max-width:700px){.header .brand{gap:8px}.header .brand-name{font-size:28px}.header .brand-company{font-size:8px;letter-spacing:2px}}@media(max-width:400px){.header{flex-wrap:wrap;gap:18px}.header .brand-name{font-size:26px}.header nav{margin-left:auto}}

.enquiry-form{max-width:720px;margin:48px auto 0;text-align:left;padding:32px;background:var(--cream);border:1px solid var(--line);border-radius:8px}.enquiry-form h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:36px;font-weight:400;margin:0 0 12px}.form-intro,.privacy-note{font-size:13px;line-height:1.7}.enquiry-form label{display:block;font-size:14px;margin:20px 0 8px}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{width:100%;font:inherit;padding:12px;border:1px solid #a59179;border-radius:3px;background:#fffaf4;color:var(--ink)}.enquiry-form input:focus,.enquiry-form textarea:focus{outline:2px solid var(--olive);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.enquiry-form .consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6;margin:24px 0}.consent input{margin-top:4px;flex:none}.enquiry-form button{border:0;font:inherit;cursor:pointer}.enquiry-form button:disabled{opacity:.6;cursor:wait}.form-status{font-size:14px;line-height:1.7}.form-status.error{color:#8c2d20}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy-note{margin-top:24px}@media(max-width:600px){.enquiry-form{padding:24px 18px}.form-row{grid-template-columns:1fr;gap:0}}

.header{gap:24px}.header nav{flex-wrap:wrap;justify-content:flex-end;gap:20px}.purpose-section,.page-intro,.detail-grid,.page-cta{max-width:1400px;margin:auto;padding:64px 6%}.purpose-section{border-top:1px solid var(--line)}.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.purpose-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:5px;padding:28px;background:#fff6ea}.purpose-card:hover{border-color:var(--rust)}.purpose-card>span{color:var(--rust);font-size:12px;letter-spacing:2px}.purpose-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:32px;font-weight:400;line-height:1.1}.purpose-card p{font-size:15px;line-height:1.8}.purpose-card b{font-size:13px;font-weight:500;margin-top:auto;padding-top:16px}.page-intro{padding-top:72px;padding-bottom:32px}.page-intro h1{font-size:clamp(48px,6vw,86px);max-width:950px}.page-intro .intro{max-width:800px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:24px}.detail-block{border-top:1px solid var(--line);padding-top:28px}.detail-block h2{font-size:36px;letter-spacing:-.5px}.detail-block p,.purpose-note{font-size:16px;line-height:1.85}.page-cta{padding-top:0;padding-bottom:72px}.purpose-note{max-width:800px;margin-bottom:28px}@media(max-width:900px){.header{flex-wrap:wrap}.header nav{justify-content:flex-start}.purpose-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr;gap:28px}}

.category-art{height:230px;position:relative;border-radius:12px;background:radial-gradient(ellipse at 50% 65%,#e8d4b4 0%,#f6e8d4 40%,#fff6ea 75%);overflow:hidden;margin:20px -8px 0}.category-art canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.art-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;color:var(--olive);font-size:22px}.art-ready .art-fallback{display:none}.feature-art{max-width:1000px;height:360px;margin:12px auto 40px;background:radial-gradient(ellipse at center,#e8d4b4,#fff0db 72%)}.purpose-card{transition:transform .2s,border-color .2s}.purpose-card:hover{transform:translateY(-4px)}@media(max-width:700px){.feature-art{height:280px;margin-left:6%;margin-right:6%}.category-art{height:220px}}@media(prefers-reduced-motion:reduce){.purpose-card{transition:none}.purpose-card:hover{transform:none}}

/* Category colours and accessible light/dark surfaces. */
:root{--surface:#fff8ed;--muted:#665446;--accent:#a66543;--soft:#eadcc5;--field:#fffaf4;--button-ink:#fff;--ink:#493426;--cream:#fff0db;--line:#d6c0a5}
html[data-category=community]{--cream:#eff7ef;--surface:#f8fff7;--ink:#183d30;--muted:#466557;--accent:#23754d;--rust:#23754d;--olive:#23754d;--soft:#d3e8d8;--line:#a8cbb4;--field:#fcfffb}
html[data-category=faith]{--cream:#f5f0fc;--surface:#fcf9ff;--ink:#392957;--muted:#6b587e;--accent:#7552a1;--rust:#7552a1;--olive:#7552a1;--soft:#e7dcf5;--line:#cbb7df;--field:#fffcff}
html[data-category=partnerships]{--cream:#edf7fa;--surface:#f7fdff;--ink:#163e4b;--muted:#496d77;--accent:#087c95;--rust:#087c95;--olive:#087c95;--soft:#d1eaf0;--line:#a6ccd6;--field:#faffff}
html[data-category=governance]{--cream:#f0f3f9;--surface:#fafbff;--ink:#263954;--muted:#546780;--accent:#355c96;--rust:#355c96;--soft:#dce4f2;--line:#b7c8de;--field:#fff}
html[data-theme=dark]{color-scheme:dark;--cream:#201d1a;--surface:#2c2722;--ink:#f9ecd9;--muted:#d3bd9f;--accent:#e8b281;--rust:#e8b281;--olive:#c5d590;--soft:#383026;--line:#615344;--field:#28231e;--button-ink:#201d1a}
html[data-theme=dark][data-category=community]{--cream:#12241d;--surface:#1a3226;--ink:#edf9ed;--muted:#bbd7c4;--accent:#86d6a5;--rust:#86d6a5;--olive:#86d6a5;--soft:#234433;--line:#436b53;--field:#142a20}
html[data-theme=dark][data-category=faith]{--cream:#221b30;--surface:#302640;--ink:#f7efff;--muted:#d2bfe5;--accent:#c8a4f0;--rust:#c8a4f0;--olive:#c8a4f0;--soft:#413052;--line:#6b5183;--field:#281f37}
html[data-theme=dark][data-category=partnerships]{--cream:#11262e;--surface:#193640;--ink:#ecfbff;--muted:#b3d5de;--accent:#7ed5e6;--rust:#7ed5e6;--olive:#7ed5e6;--soft:#234753;--line:#416f7c;--field:#142d35}
html[data-theme=dark][data-category=governance]{--cream:#172131;--surface:#223149;--ink:#eff5ff;--muted:#bfd0e8;--accent:#a4c8ff;--rust:#a4c8ff;--soft:#2c4260;--line:#4c688f;--field:#1b283c}
body{background:var(--cream);color:var(--ink)}.header{max-width:1500px;gap:20px;padding-top:22px;padding-bottom:22px}.header nav{gap:16px;margin-left:auto}.header nav a{padding:8px 0}.header nav a[aria-current=page]{color:var(--accent);border-bottom:2px solid var(--accent);font-weight:700}.theme-toggle{border:1px solid var(--line);border-radius:30px;padding:10px 15px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer}.theme-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.button{background:var(--accent);color:var(--button-ink)}.button:hover{background:var(--ink);color:var(--cream)}.contact{background:var(--soft)}.enquiry-form,.purpose-card{background:var(--surface)}.enquiry-form input:not([type=checkbox]),.enquiry-form textarea{background:var(--field);color:var(--ink);border-color:var(--line)}.form-status.error{color:#a33229}html[data-theme=dark] .form-status.error{color:#ffb0a6}.privacy-note,.form-intro{color:var(--muted)}.category-art,.feature-art{background:radial-gradient(ellipse at center,var(--soft),var(--surface) 75%)}.feature-art{background:radial-gradient(ellipse at center,var(--soft),var(--cream) 75%)}.mission-section{max-width:1400px;margin:auto;padding:72px 6%;border-top:1px solid var(--line)}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:36px}.mission-grid article{padding:32px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.mission-grid h3{font:400 36px/1.15 'Libre Caslon Display',Georgia,serif;margin:18px 0}.mission-grid p{font-size:16px;line-height:1.85}.purpose-card.category-community{border-top:5px solid #398a5b}.purpose-card.category-faith{border-top:5px solid #9167bf}.purpose-card.category-partnerships{border-top:5px solid #17889e}.purpose-card.category-community>span{color:#23754d}.purpose-card.category-faith>span{color:#7552a1}.purpose-card.category-partnerships>span{color:#087c95}html[data-theme=dark] .purpose-card>span{color:var(--ink)}.page-contact{margin-top:24px}.page-contact h2{margin-bottom:20px}html[data-theme=dark] .hero-art img,html[data-theme=dark] .brand-mark{border-radius:10px}.hero .intro{max-width:520px}@media(max-width:1000px){.header nav{order:3;width:100%;margin:0;justify-content:flex-start}.theme-toggle{margin-left:auto}}@media(max-width:700px){.mission-grid{grid-template-columns:1fr}.mission-section{padding:48px 6%}.header nav{gap:14px;font-size:12px}.header .brand-mark{width:48px;height:48px}.header .brand-name{font-size:26px}.theme-toggle{padding:9px 11px}}

/* Rotating focus cards: progressive enhancement retains a grid without JS. */
.focus-carousel.carousel-ready .purpose-grid{display:block;position:relative;height:570px;perspective:1400px;overflow:hidden;margin-top:36px;padding:0}
.carousel-ready .purpose-card{position:absolute;left:50%;top:20px;width:min(420px,68%);height:520px;margin:0;transform-origin:center;transition:transform .65s cubic-bezier(.22,.68,.2,1),opacity .65s,background-color .65s;box-shadow:0 20px 45px #00000015;backface-visibility:hidden}
.carousel-ready .purpose-card[data-position=center]{transform:translateX(-50%) translateZ(0) rotateY(0);opacity:1;z-index:3}
.carousel-ready .purpose-card[data-position=left]{transform:translateX(calc(-50% - 340px)) translateZ(-190px) rotateY(32deg) scale(.87);opacity:.5;z-index:1;pointer-events:none}
.carousel-ready .purpose-card[data-position=right]{transform:translateX(calc(-50% + 340px)) translateZ(-190px) rotateY(-32deg) scale(.87);opacity:.5;z-index:1;pointer-events:none}
.carousel-ready.is-moving .purpose-card{opacity:.45;background:color-mix(in srgb,var(--surface) 55%,transparent)}
.carousel-ready .category-art{height:200px;background:transparent}
.focus-controls{display:none;align-items:center;justify-content:center;gap:24px;margin:12px 0 0}
.carousel-ready .focus-controls{display:flex}.focus-arrow{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:26px;cursor:pointer}.focus-arrow:hover{background:var(--accent);color:var(--button-ink)}.focus-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.focus-position{width:260px;text-align:center;font-size:13px;line-height:1.6;margin:0}
@media(max-width:700px){.focus-carousel.carousel-ready .purpose-grid{height:580px}.carousel-ready .purpose-card{width:82%;height:540px}.carousel-ready .purpose-card[data-position=left]{transform:translateX(calc(-50% - 230px)) translateZ(-190px) rotateY(32deg) scale(.87)}.carousel-ready .purpose-card[data-position=right]{transform:translateX(calc(-50% + 230px)) translateZ(-190px) rotateY(-32deg) scale(.87)}.focus-controls{gap:12px}.focus-position{width:190px}.focus-arrow{flex:none}}
@media(prefers-reduced-motion:reduce){.carousel-ready .purpose-card{transition:none}.carousel-ready.is-moving .purpose-card{opacity:1}}

footer{flex-wrap:wrap}.footer-fineprint{flex-basis:100%;padding-top:18px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.8}.footer-fineprint a,.privacy-note a,.policy-content a{ text-decoration:underline;text-underline-offset:3px}.policy-content{max-width:1000px;margin:0 auto;padding:0 6% 60px;font-size:16px;line-height:1.85}.policy-content section{padding:24px 0;border-bottom:1px solid var(--line)}.policy-content h2{font-size:34px;letter-spacing:-.5px;line-height:1.2}.policy-content h3{font-size:22px;font-weight:500}.policy-content #notis-bm{margin-top:48px;scroll-margin-top:32px}.policy-date{font-size:13px;color:var(--muted)}

.art-motion-toggle{display:block;margin:20px auto;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.art-motion-toggle:focus-visible,.focus-dots button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.focus-dots{display:flex;justify-content:center;gap:12px;margin-top:20px}.focus-dots button{width:16px;height:16px;border:1px solid var(--accent);border-radius:50%;background:var(--surface);cursor:pointer;padding:0}.focus-dots button[aria-pressed=true]{background:var(--accent)}.carousel-ready .purpose-card{height:auto;min-height:520px}.focus-carousel{touch-action:pan-y}.credits-list a{text-decoration:underline}
@media(max-width:700px){.focus-carousel.carousel-ready .purpose-grid{height:630px}.carousel-ready .purpose-card{min-height:570px;width:86%;padding:24px}.carousel-ready .purpose-card h3{font-size:28px}.carousel-ready .purpose-card p{font-size:14px;line-height:1.65}.carousel-ready .category-art{height:180px}.carousel-ready .purpose-card[data-position=left],.carousel-ready .purpose-card[data-position=right]{opacity:.18}}
