/* Palette taken from the logo: blue globe, red cross. */
:root{--ink:#0f3a5f;--accent:#c8102e;--accent-soft:#f0b4bb;--bg:#ffffff;--alt:#f3f5f8;--muted:#4f5b6d;--line:#dde2ea;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:1.05rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2rem)}
a{color:var(--accent)}img{max-width:100%;height:auto;display:block}
.wrap{width:min(1100px,92%);margin:auto}.measure{max-width:68ch}.small{font-size:.9rem;color:var(--muted)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}
.site-header{position:relative;background:#fff;border-bottom:1px solid var(--line);z-index:2}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:Georgia,serif;font-weight:700}
nav ul{display:flex;gap:1.1rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);font-size:.95rem;padding:.3rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--accent)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);padding:.5rem .9rem;font:inherit;color:var(--ink)}
.hero{background:linear-gradient(135deg,#0f3a5f,#1070b0);color:#fff;padding:clamp(4rem,12vw,8rem) 0}
.hero .lead{max-width:56ch;font-size:1.2rem;color:#e8edf5}
.pagehead{background:var(--alt);padding:3rem 0 2rem}.pagehead .lead{color:var(--muted);margin:0}
.sec{padding:3.2rem 0}.sec.alt{background:var(--alt)}
.btns{display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-block;background:var(--accent);color:#fff;border:2px solid var(--accent);padding:.7rem 1.4rem;border-radius:999px;text-decoration:none;font:600 1rem system-ui;cursor:pointer;transition:background .2s}
.btn:hover{background:#a00d25}.btn.ghost{background:transparent;color:#fff;border-color:#fff}.btn.ghost:hover{background:rgba(255,255,255,.15)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.cards,.gallery{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.card img{border-radius:6px;margin-bottom:.8rem;aspect-ratio:4/3;object-fit:cover;width:100%}
.card h3{font-size:1.2rem;margin-bottom:.3rem}.card p{margin:.3rem 0}
.gallery figure{margin:0}.gallery img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:var(--r)}.gallery figcaption{font-size:.9rem;color:var(--muted);padding-top:.3rem}
.grid2{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr}.grid3{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.plain,.site-footer ul{list-style:none;padding:0;margin:.4rem 0}
.form label{display:block;margin-bottom:1rem;font-weight:600}
.form input,.form textarea{display:block;width:100%;margin-top:.3rem;padding:.7rem;font:inherit;border:1px solid #9aa4b5;border-radius:var(--r)}
.notice{background:#fff7e6;border-left:4px solid var(--accent-soft);padding:.8rem 1rem;border-radius:6px;font-size:.95rem}
.empty{color:var(--muted)}
.site-footer{background:var(--ink);color:#dfe5ee;padding:2.5rem 0 1rem}.site-footer a{color:#9fd0f5}.site-footer .small{color:#aab4c4;padding-top:1.5rem}
@media(max-width:860px){.menu-btn{display:block}nav{display:none;width:100%}nav.open{display:block}.bar{flex-wrap:wrap}nav ul{flex-direction:column;gap:.2rem;padding:.5rem 0}.grid2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.brand img{height:54px;width:auto}
.announce{background:var(--ink);color:#fff;display:flex;align-items:center}
.announce[hidden]{display:none}
.announce .view{flex:1;overflow:hidden}
.announce .track{display:flex;width:max-content;animation:ann-scroll 35s linear infinite}
.announce .grp{display:flex;flex-shrink:0;min-width:100vw}
.announce .grp span{padding:.55rem 2.5rem;white-space:nowrap}
.announce .grp span+span:before{content:"\271D";color:var(--accent-soft);margin-right:2.5rem}
.announce:hover .track,.announce.paused .track{animation-play-state:paused}
.announce button{background:none;border:0;border-left:1px solid rgba(255,255,255,.3);color:#fff;font:inherit;font-size:.85rem;padding:.55rem .9rem;cursor:pointer}
@keyframes ann-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.announce .track{animation:none;width:auto}.announce .grp{min-width:0;flex-wrap:wrap}.announce .grp[aria-hidden]{display:none}.announce button{display:none}}
.card img.portrait{aspect-ratio:4/5;object-position:top center}
.gallery img{background:var(--alt)}
.verse{background:var(--alt);padding:2.2rem 0;text-align:center}.verse blockquote{margin:auto;max-width:60ch}.verse p{font:italic 1.35rem/1.5 Georgia,serif;margin:0 0 .4rem}.verse cite{font-style:normal;color:var(--muted);font-size:.95rem}.verse:empty{display:none}
[data-render=pwtv]{margin-bottom:1.5rem}[data-render=pwtv] .card{max-width:68ch}
[data-render=map] iframe{width:100%;height:380px;border:0;border-radius:var(--r)}
.card h3,.sec h3{margin-top:1rem}
.card h3:first-child{margin-top:0}.card img+h3{margin-top:.2rem}
/* added: announcement and header stay fixed at the top; announcement text scrolls sideways */
[hidden]{display:none!important}
.topstack{position:fixed;top:0;left:0;right:0;z-index:30}
body{padding-top:var(--stack-h,110px)}
.announce .track{animation-duration:28s}
@media(max-width:860px){nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.12);padding:0 4% .6rem;max-height:calc(100vh - 120px);overflow:auto}}
/* giving */
.mpesa{border:2px solid #1f9d4a}
.mpesa h3{color:#177a3a}
.numrow{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:.3rem 0 .6rem}
.num{font:700 clamp(1.8rem,6vw,2.4rem)/1.1 Georgia,"Times New Roman",serif;letter-spacing:.04em;user-select:all}
.steps{margin:.8rem 0 0;padding-left:1.3rem}.steps li{margin:.4rem 0}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:.6rem 1.1rem;border-radius:999px;font-weight:600;z-index:90;max-width:90vw}
/* login and dashboards */
.authbox{max-width:480px;margin:0 auto}
.tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-bottom:1.2rem}
.tabs button{background:var(--alt);border:0;padding:.7rem;font:600 1rem system-ui;color:var(--muted);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.msg{margin:.4rem 0;font-weight:600;min-height:1.4em}.msg.err{color:var(--accent)}.msg.ok{color:#177a3a}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
.stat{display:flex;gap:2.2rem;flex-wrap:wrap;margin:0 0 1.5rem}.stat div b{font:700 2.2rem/1 Georgia,serif;display:block}.stat div span{color:var(--muted);font-size:.9rem}
pre.code{background:var(--ink);color:#e8f1fb;padding:1rem;border-radius:6px;overflow-x:auto;font-size:.85rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.tablebox{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:460px}
th,td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line);font-size:.93rem}th{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mt{margin-top:1.2rem}
@media(max-width:860px){.brand{flex:1 1 0;min-width:0}}
.measure>p:first-child{margin-top:0}

/* ===== modern refresh ===== */
:root{--shadow:0 1px 2px rgba(15,58,95,.06),0 10px 28px rgba(15,58,95,.09);--shadow-lg:0 2px 4px rgba(15,58,95,.08),0 18px 40px rgba(15,58,95,.16);--r:16px}
h1,h2,h3{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
.brand{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:800;letter-spacing:-.01em}
.site-header{background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}
nav a{font-weight:600;border-radius:999px;padding:.4rem .75rem;border-bottom:0}
nav a:hover{background:var(--alt)}
nav a[aria-current]{background:var(--alt);color:var(--accent)}
nav a.nav-give{background:var(--accent);color:#fff;padding:.45rem 1.15rem;font-weight:700;box-shadow:0 6px 14px rgba(200,16,46,.25)}
nav a.nav-give:hover,nav a.nav-give[aria-current]{background:#a00d25;color:#fff}
@media(max-width:860px){nav a{display:inline-block}.give-li{margin:.3rem 0}}
.btn{box-shadow:0 6px 16px rgba(200,16,46,.25);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight:700}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{box-shadow:none}
.btn.light{background:#fff;color:var(--ink);border-color:#fff;box-shadow:none}
.btn.light:hover{background:#eaf1f8;border-color:#eaf1f8}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffb3be;margin-bottom:.9rem}
.eyebrow.dark{color:var(--accent)}

/* hero with photo slideshow */
.hero-photo{position:relative;overflow:hidden;background:#0b2a47;padding:clamp(5rem,14vw,9.5rem) 0}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,52,.93),rgba(8,30,52,.62) 62%,rgba(8,30,52,.4))}
.hero-photo .wrap{position:relative;z-index:1}
.hero-photo h1{max-width:18ch;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero-photo .lead{margin-bottom:1.8rem}
.slides i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:slide 21s infinite}
.slides i:nth-child(1){background-image:url(../assets/img/gallery-worship-hall.jpg)}
.slides i:nth-child(2){background-image:url(../assets/img/gallery-congregation-worship.jpg);animation-delay:7s}
.slides i:nth-child(3){background-image:url(../assets/img/gallery-hands-raised.jpg);animation-delay:14s}
@keyframes slide{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.slides i{animation:none}.slides i:first-child{opacity:1}}

/* image cards */
.feat{padding-bottom:0}
.features{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.feature{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.feature img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform .4s}
.feature:hover img{transform:scale(1.04)}
.feature{overflow:hidden}
.fb{padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.fb h3{margin:0;font-size:1.25rem}
.fb p{margin:0;color:var(--muted);font-size:.97rem}
.fb .more{margin-top:auto;padding-top:.7rem;font-weight:700;color:var(--accent)}
.fb .more:after{content:" \2192"}

/* pastor message */
.pastor{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.pastor img{border-radius:24px;aspect-ratio:4/5;object-fit:cover;object-position:top center;width:100%;box-shadow:var(--shadow-lg)}
.pastor h2{margin-bottom:.5em}
.pastor p{max-width:62ch}
.pastor .sign{margin-top:1.2rem;color:var(--muted)}.pastor .sign b{color:var(--ink);font-size:1.1rem}
@media(max-width:760px){.pastor{grid-template-columns:minmax(0,1fr)}.pastor img{max-width:300px}}

/* cards, headings, gallery */
.pagehead{background:linear-gradient(135deg,#0f3a5f,#1070b0);color:#fff;padding:clamp(2.8rem,6vw,4.2rem) 0 clamp(2.4rem,5vw,3.4rem)}
.pagehead h1{margin-bottom:.3em}.pagehead .lead{color:#dbe6f3;font-size:1.12rem;max-width:56ch}
.sec{padding:clamp(3rem,7vw,4.8rem) 0}
.sec h2{margin-bottom:.9em}
.card{border-radius:var(--r);box-shadow:var(--shadow);padding:1.5rem}
.cards .card{transition:transform .2s,box-shadow .2s}
.cards .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.card img{border-radius:12px}
.gallery figure{overflow:hidden;border-radius:var(--r)}
.gallery img{transition:transform .4s}.gallery figure:hover img{transform:scale(1.04)}
.form input,.form textarea,.form select{border-radius:12px}
.site-footer{padding:3.2rem 0 1.2rem}
.site-footer strong{color:#fff}
.site-footer li{padding:.12rem 0}

/* giving chooser */
.give-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;margin-top:1.2rem}
@media(max-width:860px){.give-grid{grid-template-columns:minmax(0,1fr)}}
.label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 .5rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1.5px solid var(--line);background:var(--alt);padding:.5rem 1rem;border-radius:999px;cursor:pointer;font:600 .95rem system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.amt{display:flex;align-items:center;gap:.6rem;margin-top:.8rem}
.amt b{color:var(--muted)}
.amt input{flex:1;min-width:0;padding:.7rem .9rem;font:inherit;color:var(--ink);border:1.5px solid #c6d1de;border-radius:12px}
.summary{margin-top:1.1rem;background:var(--alt);border-radius:12px;padding:.8rem 1rem;font-weight:600}
.mpesa{border:2px solid #1f9d4a}
.mpesa h3{color:#177a3a}
@media(min-width:1061px){
  nav ul{flex-wrap:nowrap;gap:.1rem}
  nav a{font-size:.9rem;padding:.4rem .6rem;white-space:nowrap}
  nav a.nav-give{padding:.45rem 1.1rem}
  .brand span{font-size:.98rem;line-height:1.2}
  .brand{flex:0 1 auto}
}
@media(max-width:1060px){
  .menu-btn{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:100%;width:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.12);padding:0 4% .6rem;max-height:calc(100vh - 120px);overflow:auto}
  nav.open{display:block}
  .bar{flex-wrap:wrap}
  .brand{flex:1 1 0;min-width:0}
  nav ul{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.5rem 0}
  nav a{display:inline-block}
  .give-li{margin:.3rem 0}
}

/* ways to give */
.ways{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch}
@media(max-width:860px){.ways{grid-template-columns:minmax(0,1fr)}}
.ways-photo{position:relative;overflow:hidden;border-radius:24px;min-height:340px;display:flex;align-items:flex-end;padding:clamp(1.4rem,3vw,2.2rem);color:#fff;background:#0b2a47 url(../assets/img/gallery-hands-raised.jpg) center/cover}
.ways-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,30,52,.25),rgba(8,30,52,.9))}
.ways-photo>div{position:relative}
.give-word{font-size:clamp(3.4rem,9vw,5.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin:.2rem 0 .6rem;color:#fff}
.ways-sub{margin:0;max-width:34ch;color:#e3edf7;font-size:1.05rem}
.ways-card{background:var(--alt);border-radius:24px;padding:clamp(1.4rem,3vw,2.2rem)}
.ways-title{display:flex;align-items:center;gap:1rem;font-size:1.3rem;color:var(--ink);margin-bottom:1.4rem}
.ways-title:after{content:"";flex:1;height:2px;background:var(--ink);opacity:.55}
.way{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.way-ic{flex:none;width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center}
.way h3{margin:0 0 .15rem;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.way p{margin:0;color:var(--muted);font-size:1rem}
.way a{font-weight:600}
#give-now{scroll-margin-top:140px}
.nw{white-space:nowrap}

/* Designer credit */
.site-footer .credit{padding-top:.2rem;padding-bottom:.4rem;text-align:center}
.site-footer .credit p{margin:0;padding-top:.9rem;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem;letter-spacing:.02em;color:#8f9bb0}
.site-footer .credit a{color:#b4c6dc;text-decoration:none;overflow-wrap:anywhere}
.site-footer .credit a:hover,.site-footer .credit a:focus-visible{color:#fff;text-decoration:underline}

/* sermon cards: picture, title, link */
.sermon .thumb{display:block;margin-bottom:.8rem}
.sermon .thumb img{margin:0;display:block}
.sermon .thumb.nophoto{background:var(--alt,#f4f1ea);border-radius:12px;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.sermon .thumb.nophoto img{width:auto;max-width:35%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.sermon .thumb:not(.nophoto) img{aspect-ratio:16/9}
.sermon h3 a{text-decoration:none;color:inherit}.sermon h3 a:hover{text-decoration:underline}
.sermon .btn{display:inline-block;margin-top:.6rem}

/* =====================================================================
   PREMIUM REFRESH: deep navy, white and restrained gold.
   Styling only. Overrides the rules above; no markup or script is relied on beyond existing classes.
   ===================================================================== */
:root{
  --navy-900:#071a33;--navy:#0b2545;--navy-700:#12335f;--navy-600:#1b4478;
  --gold:#c9a24a;--gold-hover:#b8913a;--gold-d:#7d5f17;--gold-l:#ead9a8;
  --ivory:#f7f4ec;
  --ink:#0b2545;--muted:#46556b;--line:#e1dccf;
  --accent:#7d5f17;--accent-soft:#ead9a8;--alt:#f7f4ec;
  --r:8px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --shadow:0 1px 2px rgba(11,37,69,.05),0 6px 18px rgba(11,37,69,.07);
  --shadow-lg:0 2px 4px rgba(11,37,69,.07),0 14px 32px rgba(11,37,69,.13);
}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:1.05rem;line-height:1.7;color:#1d2b40;background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--serif);font-weight:700;letter-spacing:-.012em;color:var(--navy);text-wrap:balance}
h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12}
h2{font-size:clamp(1.65rem,3.2vw,2.2rem);line-height:1.2}
h3{font-size:1.2rem;line-height:1.3}
p{margin:0 0 1em}
a{color:var(--gold-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--navy)}
.small{color:var(--muted)}
.wrap{width:min(1120px,92%)}
.measure{max-width:66ch}

/* focus: always visible */
:focus-visible{outline:3px solid var(--navy-600);outline-offset:3px;border-radius:3px}
.announce :focus-visible,.hero :focus-visible,.pagehead :focus-visible,.verse :focus-visible,.site-footer :focus-visible,.ways-photo :focus-visible{outline-color:var(--gold)}
.skip:focus{border-radius:6px;color:var(--navy);box-shadow:var(--shadow-lg)}

/* ---- announcement bar ---- */
.announce{background:var(--navy-900);border-bottom:1px solid rgba(201,162,74,.45);font-size:.95rem;letter-spacing:.01em}
.announce .grp span+span:before{color:var(--gold)}
.announce button{border-left-color:rgba(234,217,168,.35);color:var(--gold-l)}
.announce button:hover{color:#fff}

/* ---- header and navigation ---- */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(201,162,74,.4),0 6px 18px rgba(11,37,69,.05)}
.brand{font-family:var(--serif);font-weight:700;letter-spacing:-.005em;color:var(--navy)}
nav a{color:var(--navy);font-weight:600;border-radius:0;background:none;border-bottom:2px solid transparent;padding:.45rem .55rem}
nav a:hover{background:none;color:var(--navy);border-bottom-color:var(--gold)}
nav a[aria-current]{background:none;color:var(--navy);border-bottom-color:var(--gold)}
nav a.nav-give{background:var(--gold);color:var(--navy);border:0;border-radius:999px;padding:.5rem 1.2rem;font-weight:700;box-shadow:0 3px 10px rgba(11,37,69,.18)}
nav a.nav-give:hover,nav a.nav-give[aria-current]{background:var(--gold-hover);color:var(--navy)}
.menu-btn{border:1.5px solid var(--navy);color:var(--navy);border-radius:6px;font-weight:600;background:#fff}
.menu-btn:hover{background:var(--ivory)}

/* ---- buttons ---- */
.btn{background:var(--gold);color:var(--navy);border:2px solid var(--gold);border-radius:999px;font-family:var(--sans);font-weight:700;letter-spacing:.01em;box-shadow:0 4px 12px rgba(11,37,69,.16);transition:background .2s,border-color .2s,transform .2s}
.btn:hover{background:var(--gold-hover);border-color:var(--gold-hover);color:var(--navy);transform:translateY(-1px)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.75);box-shadow:none}
.btn.ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.btn.light{background:#fff;color:var(--navy);border-color:#fff;box-shadow:none}
.btn.light:hover{background:var(--gold-l);border-color:var(--gold-l);color:var(--navy)}
.linkbtn{color:var(--gold-d)}

/* ---- hero and page headers ---- */
.eyebrow{color:var(--gold-l);letter-spacing:.18em;font-size:.78rem}
.eyebrow.dark{color:var(--gold-d)}
.hero{background:linear-gradient(135deg,var(--navy-900),var(--navy-700))}
.hero-photo{background:var(--navy-900);border-bottom:3px solid var(--gold)}
.hero-photo:after{background:linear-gradient(90deg,rgba(7,26,51,.95),rgba(7,26,51,.72) 55%,rgba(7,26,51,.38))}
.hero-photo h1{color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.3)}
.hero-photo .lead,.hero .lead{color:#e4ebf5}
@media(max-width:760px){.hero-photo:after{background:rgba(7,26,51,.84)}}
.pagehead{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));border-bottom:3px solid var(--gold)}
.pagehead h1{color:#fff}
.pagehead .lead{color:#d9e2ee}

/* ---- sections ---- */
.sec{padding:clamp(3rem,7vw,5rem) 0}
.sec.alt{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec h2{margin-bottom:1.1em}
.sec h2:after{content:"";display:block;width:56px;height:3px;background:var(--gold);margin-top:.55em}
.verse h2:after,.pagehead h2:after,.pastor h2:after{display:none}
.feat{padding-bottom:0}

/* ---- cards ---- */
.card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:#fff}
.cards .card{border-top:3px solid var(--gold);transition:transform .2s,box-shadow .2s}
.cards .card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.card img{border-radius:6px}
.card h3{color:var(--navy)}
.card p{color:#2a3a52}
.cards,.gallery{gap:1.5rem}

/* feature tiles on the home page */
.features{gap:1.5rem}
.feature{border-radius:10px;border:1px solid var(--line);box-shadow:var(--shadow)}
.feature:hover{transform:translateY(-3px)}
.feature img{aspect-ratio:3/2}
.feature:hover img{transform:scale(1.03)}
.fb h3{font-family:var(--serif);color:var(--navy)}
.fb p{color:var(--muted)}
.fb .more{color:var(--gold-d);letter-spacing:.02em}

/* pastor message: editorial portrait */
.pastor img{border-radius:6px;box-shadow:14px 14px 0 var(--gold-l),var(--shadow-lg)}
.pastor .sign b{font-family:var(--serif);color:var(--navy)}
@media(max-width:760px){.pastor img{box-shadow:10px 10px 0 var(--gold-l),var(--shadow)}}

/* gallery */
.gallery figure{border-radius:6px;box-shadow:var(--shadow);background:#fff}
.gallery img{border-radius:6px 6px 0 0}
.gallery figcaption{font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);padding:.55rem .8rem .7rem}
.gallery figure:hover img{transform:scale(1.03)}

/* verse band */
.verse{background:var(--navy);color:#fff;padding:clamp(2.4rem,6vw,3.6rem) 0;border-top:3px solid var(--gold)}
.verse blockquote:not(:empty):before{content:"\271D";display:block;color:var(--gold);font-size:1.15rem;margin-bottom:.7rem}
.verse p{font-family:var(--serif);font-size:clamp(1.25rem,2.6vw,1.6rem);color:#fff}
.verse cite{color:var(--gold-l);letter-spacing:.06em}

/* sermons */
.sermon .thumb.nophoto{background:var(--ivory);border:1px solid var(--line);border-radius:6px}
.sermon .thumb img{border-radius:6px}

/* ---- forms ---- */
.form label{color:var(--navy)}
.form input,.form textarea,.form select{border:1.5px solid #8c99ad;border-radius:8px;background:#fff;color:#1d2b40}
.form input:focus,.form textarea:focus,.form select:focus{outline:3px solid rgba(201,162,74,.55);outline-offset:0;border-color:var(--navy)}
.notice{background:#fbf6e6;border-left:4px solid var(--gold);color:#3b3118}
.msg.err{color:#9b1c1c}
.tabs{border-color:var(--navy);border-radius:999px}
.tabs button{background:var(--ivory);color:var(--navy)}
.tabs button[aria-selected="true"]{background:var(--navy);color:#fff}
th{color:var(--muted)}

/* ---- giving ---- */
.mpesa{border:1px solid var(--line);border-top:4px solid #1f9d4a}
.mpesa h3{color:#177a3a}
.num{font-family:var(--serif);color:var(--navy)}
.chip{background:var(--ivory);border-color:var(--line);color:var(--navy)}
.chip:hover{border-color:var(--navy)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.amt input{border-color:#8c99ad;border-radius:8px}
.summary{background:var(--ivory);border:1px solid var(--line);border-radius:8px}
.ways-photo{border-radius:10px;background-color:var(--navy-900)}
.ways-photo:before{background:linear-gradient(180deg,rgba(7,26,51,.3),rgba(7,26,51,.92))}
.give-word{font-family:var(--serif);letter-spacing:-.02em}
.ways-sub{color:#e4ebf5}
.ways-card{background:var(--ivory);border:1px solid var(--line);border-radius:10px}
.ways-title{font-family:var(--serif)}
.ways-title:after{background:var(--gold);opacity:1;height:2px}
.way-ic{background:var(--navy);color:var(--gold)}
.way h3{font-family:var(--sans);color:var(--navy)}
.way p{color:var(--muted)}

/* ---- footer ---- */
.site-footer{background:var(--navy-900);color:#d5deeb;border-top:3px solid var(--gold);padding:3.4rem 0 1.2rem}
.site-footer strong{font-family:var(--serif);font-size:1.1rem;color:var(--gold-l);display:block;margin-bottom:.4rem}
.site-footer a{color:var(--gold-l);text-underline-offset:3px}
.site-footer a:hover{color:#fff}
.site-footer .small{color:#9fb0c6}
.site-footer .credit p{border-top-color:rgba(234,217,168,.2);color:#9fb0c6}
.site-footer .credit a{color:var(--gold-l)}

/* ---- motion preferences ---- */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{transition:none!important;scroll-behavior:auto!important}
  .btn:hover,.cards .card:hover,.feature:hover{transform:none}
  .feature:hover img,.gallery figure:hover img{transform:none}
}

/* ---- event pictures ---- */
.card img.event-img{aspect-ratio:auto;max-height:460px;object-fit:contain;background:var(--ivory)}

/* ---- appointment booking ---- */
.book-form{max-width:62rem}
.book-step{border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.2rem 1rem;margin:0 0 1.4rem;min-width:0}
.book-step legend{font-family:var(--serif);font-weight:700;color:var(--navy);font-size:1.2rem;padding:0 .5rem;display:flex;align-items:center;gap:.6rem}
.step-n{display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--navy);color:var(--gold-l);font:700 .95rem var(--sans)}
.book-pick{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.6rem;align-items:start}
@media(max-width:760px){.book-pick{grid-template-columns:minmax(0,1fr)}}
.cal{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem;box-shadow:var(--shadow)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;color:var(--navy)}
.cal-nav{border:1.5px solid var(--line);background:#fff;color:var(--navy);width:2.5rem;height:2.5rem;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer}
.cal-nav:hover:not(:disabled){border-color:var(--navy)}
.cal-nav:disabled{opacity:.35;cursor:not-allowed}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.cal-wd{text-align:center;font-size:.78rem;font-weight:700;color:var(--muted);padding:.3rem 0}
.cal-day{aspect-ratio:1;min-height:2.6rem;border:1.5px solid transparent;border-radius:10px;background:var(--alt);color:var(--navy);font:700 1rem var(--sans);cursor:pointer}
.cal-day:hover:not(:disabled){border-color:var(--navy)}
.cal-day:disabled{background:transparent;color:#a3adbb;font-weight:400;cursor:not-allowed}
.cal-day.is-full:disabled{text-decoration:line-through}
.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--gold)}
.cal-day[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.slots-wrap h3{margin-top:0}
.chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.book-pickd{font-weight:700;color:var(--navy);margin:1rem 0 0}
.book-done,.book-result{max-width:40rem}
.book-done:focus{outline:3px solid var(--gold)}
.book-ref strong{font:700 1.6rem var(--serif);letter-spacing:.12em;color:var(--navy);background:var(--ivory);border:1px dashed var(--gold);border-radius:8px;padding:.2rem .7rem;display:inline-block}
.book-status{margin-top:2.5rem;max-width:40rem}
.cal{min-width:0;box-sizing:border-box}
.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-day{min-width:0;padding:0}
.small-btn{padding:.35rem .9rem;font-size:.9rem}
.book-save{background:#fbf6e6;border:2px solid var(--gold);border-radius:10px;padding:1rem 1.2rem;margin:1rem 0}
.book-save p{margin:.4rem 0}
.book-save .book-ref{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}
.site-footer .credit .wa-ico{display:inline-flex;vertical-align:middle;margin-left:.5rem;padding:.25rem;border-radius:50%;color:var(--gold-l);text-decoration:none}
.site-footer .credit .wa-ico:hover,.site-footer .credit .wa-ico:focus-visible{color:#25d366;background:rgba(255,255,255,.08);text-decoration:none}

/* ---- install-as-app hint ---- */
.pwa-hint{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:90;width:min(92vw,28rem);background:var(--navy);color:#fff;border:1px solid var(--gold);border-radius:10px;padding:.8rem 1rem;box-shadow:var(--shadow-lg);font-size:.95rem}
.pwa-hint[hidden]{display:none}
@media all and (display-mode:standalone){.site-header{padding-top:env(safe-area-inset-top)}}
