:root{
  --navy:#061c3a;
  --navy2:#0b2b56;
  --gold:#f5c21a;
  --cream:#f7f9fc;
  --text:#17243a;
  --muted:#667085;
  --white:#fff;
  --line:#dfe6ef;
  --shadow:0 15px 40px rgba(6,28,58,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--gold);color:#101c2e;padding:11px 18px;font-weight:700;font-size:14px;border-radius:0 0 7px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.map-wrap{margin-top:24px;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);line-height:0;max-width:560px}
.map-wrap iframe{width:100%;height:260px;border:0;display:block}
.site-header{height:82px;background:#fff;display:flex;align-items:center;padding:0 4%;gap:28px;position:sticky;top:0;z-index:1000;box-shadow:0 2px 15px rgba(0,0,0,.07)}
.brand{display:flex;align-items:center;gap:12px;min-width:330px}
.brand-mark{font-size:42px;color:var(--navy);line-height:1}
.brand strong{display:block;color:var(--navy);font-size:17px;line-height:1.05;letter-spacing:.5px}
.brand small{font-size:10px;letter-spacing:2px;color:#68758a}
.nav{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:13px;font-weight:600;color:#273b57}
.nav a{padding:29px 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a.active{color:var(--navy);border-bottom-color:var(--gold)}
.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}
.hero{min-height:570px;background:linear-gradient(100deg,#071a35 0%,#102f56 46%,#3e4d5c 100%);position:relative;display:flex;align-items:center;overflow:hidden}
.hero:after{content:"";position:absolute;right:0;top:0;width:47%;height:100%;background:linear-gradient(90deg,rgba(6,28,58,0),rgba(6,28,58,.15)),url("assets/images/hero.jpg") center/cover;opacity:.72}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,15,32,.85) 0%,rgba(3,15,32,.48) 52%,rgba(3,15,32,.08) 100%);z-index:1}
.hero-content{position:relative;z-index:2;width:min(1200px,92%);margin:auto;color:#fff;padding:80px 0}
.eyebrow{font-size:12px;letter-spacing:4px;font-weight:700;color:#c28f00;margin-bottom:8px}
.hero .eyebrow{color:var(--gold)}
.hero h1{font-family:"Playfair Display",serif;font-size:clamp(48px,7vw,82px);line-height:.96;text-transform:uppercase;letter-spacing:-2px}
.location{font-size:26px;font-weight:600;margin:12px 0}
.tagline{font-size:18px;font-style:italic;font-weight:600;margin:10px 0}.tagline span{color:var(--gold);padding:0 6px}
.hero-text{max-width:410px;color:#e4e9f1;margin:12px 0 25px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:7px;font-weight:700;font-size:14px;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#101c2e}
.btn-outline{border:1px solid rgba(255,255,255,.8);color:#fff;background:rgba(0,0,0,.12)}
.btn-outline-dark{border:1px solid var(--navy);color:var(--navy)}
.week-strip{width:min(1200px,92%);margin:-35px auto 0;background:#fff;position:relative;z-index:5;border-radius:10px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;overflow:hidden}
.week-intro,.schedule-card{padding:24px 22px;display:flex;gap:13px;align-items:flex-start}
.schedule-card{border-left:1px solid var(--line)}
.week-intro h2{font-size:18px;text-transform:uppercase}.week-intro p{font-size:13px;color:var(--muted)}
.icon{font-size:30px;color:var(--navy)}
.schedule-icon{font-size:24px;color:var(--navy)}
.schedule-card div{display:flex;flex-direction:column}.schedule-card strong{text-transform:uppercase;font-size:13px;color:var(--navy)}.schedule-card span{font-size:13px}.schedule-card em{font-style:normal;color:var(--muted);font-size:11px}
.section{width:min(1200px,92%);margin:75px auto}
.two-column{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}
.sermon-feature{background:var(--navy);color:#fff;border-radius:10px;padding:28px;box-shadow:var(--shadow)}
.section-heading{margin-bottom:25px}.section-heading h2{font-family:"Playfair Display",serif;font-size:34px;line-height:1.1}.section-heading.light .eyebrow{color:var(--gold)}
.section-heading.light h2{color:#fff}
.sermon-body{display:grid;grid-template-columns:45% 1fr;gap:22px;align-items:center}
.placeholder-image{background:linear-gradient(135deg,#18385e,#617083);min-height:245px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;letter-spacing:2px;position:relative;border-radius:7px;overflow:hidden}
.sermon-media{position:relative;margin:0;border-radius:7px;overflow:hidden;background:#061c3a;display:flex;align-items:center;justify-content:center}
.sermon-poster-link{display:block;width:100%}
.sermon-media img{display:block;width:100%;height:auto;object-fit:contain}
.sermon-media .play-button{position:absolute;right:12px;bottom:12px;left:auto;top:auto;width:52px;height:52px;box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:2}
.sermon-media .play-button:hover{background:var(--gold)}
.sermon-media.is-playing{aspect-ratio:16/9;background:#000}
.sermon-media.is-playing .sermon-poster-link{display:none}
.sermon-media iframe{width:100%;height:100%;border:0;display:block}
.sermon-note{margin-top:12px;font-size:12px;color:#d9e0ea;background:rgba(255,255,255,.08);border-left:3px solid var(--gold);padding:9px 12px;border-radius:0 5px 5px 0}
.play-button{position:absolute;border:0;width:58px;height:58px;border-radius:50%;background:#fff;color:var(--navy);font-size:20px;cursor:pointer}
.pill{display:inline-block;background:var(--gold);color:#111d2f;font-weight:800;font-size:10px;padding:4px 8px;border-radius:4px}.sermon-copy h3{font-family:"Playfair Display",serif;font-size:25px;line-height:1.15;margin:12px 0}.sermon-copy p{font-size:12px;color:#d9e0ea;margin-bottom:16px}.sermon-copy small{display:block;color:#b9c7d8;margin-bottom:15px}.text-link{display:inline-block;color:#bc8800;font-weight:800;font-size:13px;margin-top:8px}.sermon-feature .text-link{color:var(--gold)}
.events-preview{background:#f5f8fc;border-radius:10px;padding:28px}.event{display:flex;gap:15px;background:#fff;border:1px solid #e4eaf2;padding:13px;margin:10px 0;border-radius:7px}.date-box{min-width:58px;height:58px;background:var(--navy);color:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center}.date-box strong{font-size:20px;line-height:1}.date-box span{font-size:9px;letter-spacing:1px}.event h3{font-size:14px}.event p,.event small{display:block;font-size:11px;color:var(--muted)}
.ministry-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}.ministry-card{min-height:130px;border-radius:8px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:15px;box-shadow:var(--shadow);transition:.2s}.ministry-card:hover{transform:translateY(-4px)}.ministry-card span{font-size:30px}.m1{background:#174b7e}.m2{background:#8c2f6d}.m3{background:#2d713f}.m4{background:#a87413}.m5{background:#164f8c}.m6{background:#6b327d}.m7{background:#3c7d5c}
.about-grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:28px;align-items:stretch}.about-copy p:not(.eyebrow){color:#56657a;margin:15px 0 20px}.about-copy h2{font-family:"Playfair Display",serif;font-size:35px;line-height:1.1}.vision-card{background:#f2f6fb;border-radius:10px;padding:28px}.vision-card>div{display:flex;gap:14px;margin:12px 0 25px}.vision-card>div>span{font-size:28px;color:var(--navy)}.vision-card h3{font-size:14px;color:var(--navy)}.vision-card p{font-size:12px;color:var(--muted)}.welcome-image{min-height:260px;flex-direction:column;gap:10px;background:linear-gradient(135deg,#0b2b56,#475b72)}.welcome-image div{font-family:"Playfair Display",serif;font-size:25px;text-align:center;color:#fff}
.give-section{background:var(--navy);color:#fff;padding:60px max(4%,calc((100% - 1200px)/2));display:flex;justify-content:space-between;gap:30px;align-items:center}.give-section h2{font-family:"Playfair Display",serif;font-size:40px}.give-section p:not(.eyebrow){max-width:600px;color:#c9d3df}.give-box{background:#fff;color:var(--text);padding:25px;border-radius:10px;min-width:300px}.give-box h3{font-size:18px}.muted{color:var(--muted)!important;font-size:12px!important}.mpesa-number{display:block;margin-top:15px;color:#087443}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-item{height:190px;border-radius:8px;background:linear-gradient(135deg,#dbe3ed,#aebccc);display:flex;align-items:center;justify-content:center;color:#617083;font-size:11px;letter-spacing:2px}
.gallery-item img { width: 100%;height:100%;object-fit: cover;display: block;}
.visit-section{padding:70px max(4%,calc((100% - 1200px)/2));background:#f5f8fc;display:flex;justify-content:space-between;align-items:center;gap:40px}.visit-section h2{font-family:"Playfair Display",serif;font-size:42px}.visit-section>div>p:not(.eyebrow){color:var(--muted)}.contact-card{background:#fff;border-radius:10px;padding:27px;min-width:330px;box-shadow:var(--shadow)}.contact-card h3{color:var(--navy);margin-bottom:10px}.contact-card p{font-size:14px}.contact-actions{display:flex;gap:10px;margin-top:15px}
footer{background:#061c3a;color:#fff;padding:50px max(4%,calc((100% - 1200px)/2)) 20px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr .8fr 1fr;gap:35px;padding-bottom:35px}.footer-brand{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.footer-brand .brand-mark{color:#fff}.footer-brand p{width:100%;font-size:11px;color:#aebed0}.footer-main h3{font-size:14px;margin-bottom:10px;color:var(--gold)}.footer-main p,.footer-main a{display:block;font-size:12px;color:#b8c5d4;margin:4px 0}.footer-main a:hover{color:#fff}.socials a{display:inline-block;margin-right:10px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:17px;display:flex;justify-content:space-between;font-size:10px;color:#91a2b7}
@media(max-width:1050px){.brand{min-width:auto}.nav{gap:12px}.ministry-grid{grid-template-columns:repeat(4,1fr)}.week-strip{grid-template-columns:1fr 1fr}.schedule-card:nth-child(3){border-left:0;border-top:1px solid var(--line)}.schedule-card:nth-child(4){border-top:1px solid var(--line)}.about-grid{grid-template-columns:1fr 1fr}.welcome-image{grid-column:1/-1}}
@media(max-width:780px){.site-header{height:70px}.menu-toggle{display:block;margin-left:auto}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 6%;box-shadow:0 10px 20px rgba(0,0,0,.08)}.nav.open{display:flex}.nav a{padding:10px 0;border-bottom:1px solid var(--line)}.hero{min-height:620px}.hero:after{width:100%;opacity:.35}.hero h1{font-size:54px}.week-strip{margin-top:0;grid-template-columns:1fr}.schedule-card,.schedule-card:nth-child(3),.schedule-card:nth-child(4){border-left:0;border-top:1px solid var(--line)}.two-column,.about-grid{grid-template-columns:1fr}.sermon-body{grid-template-columns:1fr}.ministry-grid{grid-template-columns:repeat(2,1fr)}.give-section,.visit-section{flex-direction:column;align-items:flex-start}.contact-card,.give-box{min-width:0;width:100%}.gallery-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:450px){.brand strong{font-size:13px}.brand small{font-size:8px}.hero h1{font-size:43px}.hero-content{padding:60px 0}.section{margin:55px auto}.gallery-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr}}
