:root { --ink:#221b18; --wine:#461221; --wine-deep:#2d0a15; --gold:#c89643; --gold-light:#e1bd7b; --sand:#f3eadb; --cream:#fbf7f0; --white:#fffdf9; --muted:#756c66; --line:rgba(70,18,33,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; } img { display:block; max-width:100%; } button,a { -webkit-tap-highlight-color:transparent; } h1,h2,h3,p { margin-top:0; }

.site-header { position:fixed; z-index:50; inset:0 0 auto; height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; color:var(--white); background:rgba(39,8,18,.92); border-bottom:1px solid rgba(255,255,255,.12); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; }
.site-logo { width:58px; height:58px; flex:0 0 auto; object-fit:contain; filter:drop-shadow(0 4px 10px rgba(0,0,0,.2)); }
.brand-copy { display:flex; flex-direction:column; }.brand-copy strong { font-family:Georgia,serif; font-size:1.05rem; font-weight:500; }.brand-copy small { margin-top:3px; color:rgba(255,255,255,.57); font-size:.61rem; letter-spacing:.13em; text-transform:uppercase; }
.navigation { display:flex; align-items:center; gap:28px; }.navigation a { color:rgba(255,255,255,.78); font-size:.72rem; font-weight:700; letter-spacing:.09em; text-decoration:none; text-transform:uppercase; }.navigation a:hover { color:var(--gold-light); }.navigation .nav-cta { padding:12px 18px; color:var(--white); border:1px solid rgba(255,255,255,.25); border-radius:999px; }.menu-button { display:none; color:white; background:none; border:0; }

.hero { position:relative; min-height:94vh; display:flex; align-items:flex-end; overflow:hidden; padding:170px 7vw 94px; color:white; background:var(--wine-deep); }
.hero-image { position:absolute; inset:0; background:url("images/herophoto7.jpg") center 38%/cover no-repeat; transform:scale(1.02); }.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(38,7,17,.97) 0%,rgba(45,10,21,.82) 45%,rgba(45,10,21,.23) 100%),linear-gradient(0deg,rgba(25,5,11,.5),transparent 50%); }
.hero-content { position:relative; z-index:2; width:min(760px,68vw); }.kicker { margin-bottom:18px; color:#986d2d; font-size:.7rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }.kicker.light { color:var(--gold-light); }
.hero h1,.section h2,.about-content h2,.gallery-heading h2,.newsletter-section h2,.contact-heading h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.035em; }.hero h1 { max-width:800px; margin-bottom:24px; font-size:clamp(3.5rem,7.6vw,7.4rem); line-height:.92; }.hero h1 em { color:var(--gold-light); font-weight:400; }.hero-lead { max-width:610px; margin-bottom:34px; color:rgba(255,255,255,.75); font-size:clamp(1rem,1.4vw,1.18rem); line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:0 24px; border:1px solid transparent; border-radius:999px; font-size:.75rem; font-weight:800; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; transition:transform .2s,background .2s,color .2s; }.button:hover { transform:translateY(-2px); }.button-gold { color:var(--wine-deep); background:var(--gold-light); }.button-ghost { color:white; border-color:rgba(255,255,255,.35); }
.hero-scripture { position:absolute; z-index:2; right:5vw; bottom:78px; width:min(320px,25vw); padding-left:22px; border-left:1px solid var(--gold); }.hero-scripture span { color:var(--gold-light); font-size:.65rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.hero-scripture p { margin:9px 0 0; color:rgba(255,255,255,.67); font-family:Georgia,serif; font-size:.92rem; font-style:italic; line-height:1.55; }

.impact-strip { display:grid; grid-template-columns:repeat(4,1fr); background:var(--gold-light); }.impact-strip div { display:flex; flex-direction:column; padding:27px 4vw; border-right:1px solid rgba(45,10,21,.16); }.impact-strip strong { color:var(--wine-deep); font-family:Georgia,serif; font-size:2rem; font-weight:400; }.impact-strip span { margin-top:3px; color:rgba(45,10,21,.68); font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }

.section { padding:120px 7vw; }.vision-section { display:grid; grid-template-columns:.8fr 1fr .85fr; gap:7vw; align-items:start; background:var(--white); }.section h2,.about-content h2,.gallery-heading h2,.newsletter-section h2,.contact-heading h2 { margin-bottom:28px; font-size:clamp(2.7rem,5vw,5.4rem); line-height:.97; }.vision-copy { padding-top:31px; color:var(--muted); font-size:1rem; line-height:1.85; }.vision-copy .lead-copy { color:var(--ink); font-family:Georgia,serif; font-size:1.35rem; line-height:1.55; }.scripture-card { margin:28px 0 0; padding:32px; color:white; background:var(--wine); border-radius:3px; }.scripture-card svg { color:var(--gold-light); margin-bottom:34px; }.scripture-card p { font-family:Georgia,serif; font-size:1.25rem; line-height:1.55; }.scripture-card cite { color:var(--gold-light); font-size:.66rem; font-style:normal; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }

.about-section { display:grid; grid-template-columns:.9fr 1.1fr; min-height:860px; color:white; background:var(--wine-deep); }.about-photo-wrap { position:relative; min-height:720px; overflow:hidden; }.about-photo-wrap::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(45,10,21,.65),transparent 45%); }.about-photo-wrap img { width:100%; height:100%; object-fit:cover; }.photo-caption { position:absolute; z-index:2; left:38px; bottom:34px; max-width:260px; color:rgba(255,255,255,.72); font-size:.69rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.about-content { padding:110px 7vw 100px 6vw; }.about-content>p:not(.kicker) { max-width:660px; color:rgba(255,255,255,.67); line-height:1.85; }.about-content em { color:var(--gold-light); }
.leader-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:44px; }.leader-grid article { padding:24px; border:1px solid rgba(255,255,255,.14); border-radius:3px; }.leader-grid span { color:var(--gold-light); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.leader-grid h3 { margin:13px 0 12px; font-family:Georgia,serif; font-size:1.25rem; font-weight:400; }.leader-grid p { margin:0; color:rgba(255,255,255,.55); font-size:.82rem; line-height:1.65; }

.programmes-section { background:var(--sand); }.programme-intro { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:end; margin-bottom:64px; }.programme-intro>p { max-width:500px; padding-bottom:28px; color:var(--muted); line-height:1.8; }.programme-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.programme-card { min-height:390px; display:flex; flex-direction:column; padding:42px; background:rgba(255,255,255,.36); border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background .25s,transform .25s; }.programme-card:hover { position:relative; z-index:2; background:var(--white); transform:translateY(-4px); box-shadow:0 22px 55px rgba(63,38,28,.09); }.programme-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:56px; color:var(--wine); }.programme-top span { color:rgba(70,18,33,.28); font-family:Georgia,serif; font-size:1.3rem; }.programme-tag { margin-bottom:10px; color:#986d2d; font-size:.64rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.programme-card h3 { margin-bottom:16px; color:var(--wine); font-family:Georgia,serif; font-size:2rem; font-weight:400; }.programme-card>p:not(.programme-tag) { color:var(--muted); line-height:1.75; }.programme-card small { margin-top:auto; padding-top:25px; color:var(--wine); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.gallery-section { padding:110px 5vw; color:white; background:#171210; }.gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin:0 2vw 50px; }.gallery-heading>p { max-width:390px; padding-bottom:25px; color:rgba(255,255,255,.56); line-height:1.7; }.gallery-grid { display:grid; grid-template-columns:1.15fr .85fr 1fr; grid-template-rows:340px 340px; gap:12px; }.gallery-item { margin:0; overflow:hidden; background:#2c2521; }.gallery-item-1 { grid-row:1/3; }.gallery-item-2 { grid-column:2; grid-row:1; }.gallery-item-3 { grid-column:2; grid-row:2; }.gallery-item-4 { grid-column:3; grid-row:1/3; }.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }.gallery-item:hover img { transform:scale(1.035); }

.newsletter-section { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; padding:100px 7vw; background:var(--gold-light); }.newsletter-section h2 { margin-bottom:0; color:var(--wine-deep); }.newsletter-copy>p { max-width:540px; color:rgba(45,10,21,.69); line-height:1.75; }.newsletter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }.button-dark { color:white; background:var(--wine-deep); }.text-link { color:var(--wine-deep); font-size:.75rem; font-weight:800; text-underline-offset:5px; text-transform:uppercase; }
.contact-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; padding:110px 7vw; color:white; background:var(--wine); }.contact-heading>p:not(.kicker) { max-width:480px; color:rgba(255,255,255,.59); line-height:1.75; }.contact-list { border-top:1px solid rgba(255,255,255,.17); }.contact-list>* { display:flex; align-items:center; gap:20px; padding:25px 6px; border-bottom:1px solid rgba(255,255,255,.17); text-decoration:none; }.contact-list svg { color:var(--gold-light); flex:0 0 auto; }.contact-list span { display:flex; flex-direction:column; gap:5px; font-family:Georgia,serif; font-size:1.05rem; }.contact-list small { color:rgba(255,255,255,.43); font-family:Arial,sans-serif; font-size:.61rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
footer { display:grid; grid-template-columns:1fr auto auto; gap:40px; align-items:center; padding:38px 5vw; color:rgba(255,255,255,.5); background:#1a070d; font-size:.68rem; }.footer-brand { display:flex; align-items:center; gap:14px; color:white; }.footer-logo { width:64px; height:64px; }.footer-brand div { display:flex; flex-direction:column; gap:4px; }.footer-brand strong { font-family:Georgia,serif; font-size:.95rem; font-weight:400; }.footer-brand small { color:rgba(255,255,255,.46); } footer p { margin:0; }

@media (max-width:980px) {
  .site-header { height:72px; padding:0 22px; }.site-logo { width:52px; height:52px; }.brand-copy { display:none; }.menu-button { display:grid; place-items:center; padding:8px; cursor:pointer; }.navigation { position:absolute; top:72px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:14px 22px 24px; background:var(--wine-deep); border-top:1px solid rgba(255,255,255,.1); }.navigation.open { display:flex; }.navigation a { padding:15px 5px; border-bottom:1px solid rgba(255,255,255,.09); }.navigation .nav-cta { margin-top:10px; text-align:center; border:1px solid rgba(255,255,255,.2); }
  .hero { min-height:820px; padding:150px 7vw 80px; }.hero-content { width:88vw; }.hero-scripture { display:none; }.vision-section { grid-template-columns:1fr 1fr; }.scripture-card { grid-column:1/3; }.about-section { grid-template-columns:1fr; }.about-photo-wrap { min-height:620px; }.gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:360px 360px; }.gallery-item-1,.gallery-item-2,.gallery-item-3,.gallery-item-4 { grid-column:auto; grid-row:auto; }.newsletter-section,.contact-section { gap:5vw; } footer { grid-template-columns:1fr; text-align:center; }.footer-brand { justify-content:center; }
}
@media (max-width:680px) {
  .hero { min-height:760px; padding:135px 22px 70px; }.hero-image { background-position:54% center; }.hero-shade { background:linear-gradient(90deg,rgba(38,7,17,.97),rgba(45,10,21,.65)); }.hero-content { width:100%; }.hero h1 { font-size:clamp(3.2rem,17vw,5.3rem); }.hero-lead { font-size:.95rem; }.button { width:100%; }.impact-strip { grid-template-columns:1fr 1fr; }.impact-strip div { padding:22px; border-bottom:1px solid rgba(45,10,21,.14); }.impact-strip strong { font-size:1.65rem; }
  .section { padding:84px 22px; }.vision-section { grid-template-columns:1fr; gap:22px; }.vision-copy { padding-top:0; }.scripture-card { grid-column:auto; }.section h2,.about-content h2,.gallery-heading h2,.newsletter-section h2,.contact-heading h2 { font-size:2.8rem; }.about-photo-wrap { min-height:460px; }.about-content { padding:80px 22px; }.leader-grid { grid-template-columns:1fr; }.programme-intro { grid-template-columns:1fr; gap:10px; }.programme-intro>p { padding-bottom:0; }.programme-grid { grid-template-columns:1fr; }.programme-card { min-height:350px; padding:32px 26px; }.programme-top { margin-bottom:42px; }
  .gallery-section { padding:80px 22px; }.gallery-heading { display:block; margin:0 0 36px; }.gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:280px 280px; gap:8px; }.newsletter-section,.contact-section { grid-template-columns:1fr; gap:34px; padding:80px 22px; }.newsletter-actions { align-items:stretch; }.text-link { text-align:center; }.contact-list span { font-size:.9rem; overflow-wrap:anywhere; } footer { padding:40px 22px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }

/* Keep the fifth programme aligned across the programme grid. */
.programme-card-academy { grid-column: 1 / -1; }
.programme-card-academy > p:not(.programme-tag) { max-width: 760px; }

.donation-section { display:grid; grid-template-columns:1fr 1fr; gap:6vw; background:var(--sand); }
.donation-section p { color:var(--muted); line-height:1.75; max-width:600px; }
.donation-options { display:grid; gap:28px; align-content:center; }
.donation-options h3 { font-family:Georgia,serif; font-size:1.5rem; color:var(--wine); margin-bottom:16px; }
@media (max-width:700px) { .donation-section { grid-template-columns:1fr; gap:24px; } }
