:root{
  --teal:#127384; --deep:#0E5B6E; --deepest:#0A3A47; --ink:#163B45;
  --amber:#E9973F; --ember:#EF6C3D; --gold:#9A6A2E;
  /* AA-safe variants for white text. --amber is 2.34:1 on white and --ember is
     3.05:1, both below the 4.5:1 normal-text target. These are 4.58:1 and 4.83:1.
     Use ONLY where #fff sits on top; the originals stay for decorative rules,
     borders and accent bars, where contrast does not apply. */
  --amber-accessible:#A8661A; --ember-accessible:#C24C21;
  --cream:#F7F4EE; --tint:#EAF1F1; --line:#DDE6E5;
  --body:#3A565C; --mute:#577177; --white:#ffffff;
  --maxw:1180px;
  --shadow:0 18px 50px -18px rgba(10,46,55,.28);
  --shadow-sm:0 10px 30px -12px rgba(10,46,55,.20);
}
*{box-sizing:border-box;margin:0;padding:0}
/* The browser's own [hidden]{display:none} lives in the UA stylesheet, so ANY
   author rule that sets display wins over it. .event-list{display:grid} was
   therefore keeping #past-list on screen while its toggle reported "collapsed",
   and .hero-series{display:inline-flex} does the same to the #ftf-hero series
   pill once that series auto-retires. This restores the attribute's meaning
   site-wide, for present and future markup alike. Keep it above everything. */
[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--deep);color:#fff;padding:10px 18px;border-radius:0 0 10px 0;font-weight:600;font-size:14px}
.skip-link:focus{left:0}
.prayer-privacy{font-size:13px;color:#5B767D;font-style:italic;margin-top:-6px}
@media(prefers-reduced-motion:no-preference){
  .hero-water .w1{animation:drift-a 30s linear infinite}
  .hero-water .w2{animation:drift-b 46s linear infinite}
  @keyframes drift-a{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
  @keyframes drift-b{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
  .logo-glow{animation:glow-pulse 7s ease-in-out infinite}
  @keyframes glow-pulse{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.07)}}
}

html{scroll-behavior:smooth;scroll-padding-top:64px}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-.01em;color:var(--ink);font-weight:700}
section{position:relative}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--teal)}
.center{text-align:center}
.lead{font-size:clamp(17px,1.6vw,20px);font-weight:300;color:var(--body)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.55em;font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;cursor:pointer;border:2px solid transparent;white-space:nowrap}
.btn:focus-visible{outline:3px solid #C24C21;outline-offset:3px}
.hero .btn:focus-visible,.beliefs .btn:focus-visible,.groups .btn:focus-visible,.steps .btn:focus-visible,.mapcard .btn:focus-visible,footer .btn:focus-visible{outline-color:var(--amber)}
.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--deep);transform:translateY(-2px)}
.btn-ember{background:var(--ember);color:#fff}
.btn-ember:hover{background:#d9542b;transform:translateY(-2px)}
.btn-white{background:#fff;color:var(--deep);border-color:#fff}
.btn-white:hover{background:#F2F7F7;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--teal);border-color:var(--line)}
.btn-outline:hover{border-color:var(--teal);transform:translateY(-2px)}

/* ---------- HEADER ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s ease,box-shadow .3s ease,padding .3s ease;padding:18px 0}
header.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(0,0,0,.06),0 10px 30px -20px rgba(10,46,55,.35);padding:10px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px}
.brand .mark{width:34px;height:auto;flex:none}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm .n{font-weight:700;font-size:18px;letter-spacing:.005em;color:#fff;transition:color .3s}
.brand .wm .s{font-weight:500;font-size:9px;letter-spacing:.46em;color:rgba(255,255,255,.8);margin-top:3px;transition:color .3s}
.brand .mark-c{display:none}
header.scrolled .brand .mark-w{display:none}
header.scrolled .brand .mark-c{display:block}
header.scrolled .brand .wm .n{color:var(--ink)}
header.scrolled .brand .wm .s{color:var(--teal)}
.menu{display:flex;align-items:center;gap:22px}
.menu-head{display:none}
.menu a.link{font-size:14.5px;font-weight:500;color:rgba(255,255,255,.92);position:relative;transition:color .25s}
.menu a.link::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--ember);transition:width .25s}
.menu a.link:hover{color:#fff}.menu a.link:hover::after{width:100%}
header.scrolled .menu a.link{color:var(--ink)}
header.scrolled .menu a.link:hover{color:var(--teal)}
.menu .btn{padding:11px 22px}
/* Plan Your Visit — solid ember pill, on hero and while scrolled */
.menu .btn-visit{background:var(--ember);border:1px solid var(--ember);color:#fff}
.menu .btn-visit:hover{background:var(--deep);border-color:var(--deep);color:#fff;transform:translateY(-2px)}
header.scrolled .menu .btn-visit{background:var(--ember);border-color:var(--ember);color:#fff}
header.scrolled .menu .btn-visit:hover{background:var(--deep);border-color:var(--deep);color:#fff}
header.scrolled .menu .btn-ghost{color:var(--teal);border-color:var(--line)}
header.scrolled .menu .btn-ghost:hover{background:var(--tint);border-color:var(--teal)}
.burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center}
.burger span{display:block;width:24px;height:2px;background:#fff;position:relative;transition:.3s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:#fff;transition:.3s}
.burger span::before{top:-7px}.burger span::after{top:7px}
header.scrolled .burger span,header.scrolled .burger span::before,header.scrolled .burger span::after{background:var(--ink)}

/* ---------- HERO ---------- */
/* verse of the day — compact card within the hero */
.hero-votd{width:min(100%,650px);margin:16px auto 0;display:flex;flex-direction:column;align-items:center}
.hero-votd-card{position:relative;width:100%;overflow:hidden;padding:21px 30px 23px;background:rgba(244,239,229,.97);border:1px solid rgba(230,216,194,.9);border-radius:20px;box-shadow:0 18px 42px -24px rgba(5,34,42,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-votd-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#D88B34 0%,#E76A3E 100%)}
.hero-votd-card::after{content:"\201C";position:absolute;right:18px;top:2px;font-family:Georgia,serif;font-size:78px;line-height:1;color:rgba(231,106,62,.1);pointer-events:none}
.hero-votd-k{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#176779;margin:0 0 11px}
.hero-votd-spark{width:16px;height:23px;flex:none}
.hero-votd-spark use{fill:#176779}
.hero-votd-quote{position:relative;z-index:1;margin:0}
.hero-votd-t{font-size:clamp(18px,2.15vw,23px);font-weight:400;font-style:italic;line-height:1.48;color:#173F48;margin:0 auto 12px;max-width:590px;letter-spacing:-.008em}
.hero-votd-r{display:block;font-style:normal;font-weight:700;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#B8461D}
.hero-votd-pill{display:inline-flex;align-items:center;gap:8px;margin-top:11px;padding:10px 22px;border:1px solid rgba(255,248,238,.28);border-radius:999px;background:#135D6B;color:#FFF8EE;box-shadow:0 10px 24px -16px rgba(5,34,42,.55);font-size:13px;font-weight:700;letter-spacing:.025em;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.hero-votd-pill:hover{transform:translateY(-2px);background:#C94F22;border-color:#C94F22;color:#fff;box-shadow:0 12px 28px -16px rgba(5,34,42,.45)}
.hero-votd-pill:focus-visible{outline:3px solid #C24C21;outline-offset:3px}
@media(max-width:560px){
  .hero-votd{margin-top:18px}
  .hero-votd-card{padding:18px 18px 20px;border-radius:17px}
  .hero-votd-card::after{right:8px;top:5px;font-size:64px}
  .hero-votd-k{font-size:10px;letter-spacing:.22em;margin-bottom:9px}
  .hero-votd-t{font-size:clamp(16px,4.6vw,19px);line-height:1.45;margin-bottom:10px}
  .hero-votd-r{font-size:10.5px;letter-spacing:.13em}
  .hero-votd-pill{margin-top:10px;padding:9px 17px;font-size:12.5px}
}
.hero{min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(176deg,#0C4F60 0%,#0E5B6E 30%,#137C8B 58%,#D9822F 90%,#C94F22 100%);
  position:relative;overflow:hidden;padding:96px 24px 60px}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 70% at 50% -10%,rgba(255,255,255,.16),transparent 55%);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:760px}
.hero-water{position:absolute;left:0;right:0;bottom:0;height:32%;z-index:1;pointer-events:none;overflow:hidden}
.hero-water svg{position:absolute;bottom:0;left:0;width:200%;max-width:none;height:100%}
.logo-wrap{position:relative;display:inline-block;margin:0 auto 12px;line-height:0}
.logo-glow{position:absolute;left:50%;top:52%;width:240px;height:240px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(240,160,70,.72) 0%,rgba(233,151,63,.36) 40%,rgba(233,151,63,0) 70%);z-index:0;pointer-events:none}
.hero .logo-mark{position:relative;z-index:1;margin:0}
.hero .logo-mark{width:100px;height:auto;margin:0 auto 12px;filter:drop-shadow(0 14px 30px rgba(7,35,42,.35))}
.hero .name{font-weight:700;font-size:clamp(34px,7vw,60px);color:#fff;letter-spacing:.005em;line-height:.98}
.hero .sub{display:block;font-weight:500;font-size:clamp(13px,2.4vw,20px);letter-spacing:.44em;color:#fff;margin-top:6px;padding-left:.44em}
.hero .tagline{margin-top:16px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#FBE4C4;font-size:clamp(12px,1.6vw,15px)}
@media(min-width:960px){
  .hero .logo-mark{width:120px}
  .logo-glow{width:240px;height:240px}
  .hero .name{font-size:clamp(60px,6vw,74px)}
}
.mission-callout{margin:20px 0 22px;padding:18px 24px;background:var(--tint);border-left:4px solid var(--teal);border-radius:0 14px 14px 0}
.mission-callout .mc-label{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ember);display:block;margin-bottom:7px}
.mission-callout .mc-text{font-size:clamp(19px,2.3vw,24px);line-height:1.5;color:var(--ink);font-weight:400;margin:0}
.mission-callout .mc-text .hl{color:var(--teal);font-weight:700}
.mission-callout .mc-text .v{font-weight:700;color:var(--deep)}
.hero .cta{margin-top:22px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero .meta{margin-top:16px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#fff;font-size:14.5px;font-weight:400;text-shadow:0 1px 10px rgba(60,25,8,.55)}
.hero .meta .meta-line{display:block}
.hero .meta .meta-note{display:block;color:rgba(255,255,255,.86);font-size:13.5px;font-weight:500;line-height:1.35;text-shadow:0 1px 2px rgba(7,35,42,.28)}
.hero .meta b{font-weight:600;color:#fff}
/* First Things First series (auto-retires after Sep 6, 2026) */
.hero-series{display:inline-flex;align-items:center;gap:12px;margin-top:18px;padding:11px 20px;border-radius:999px;background:rgba(0,20,31,.55);border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:13.5px;font-weight:500;backdrop-filter:blur(4px)}
.hero-series:hover{background:rgba(0,20,31,.75)}
.hero-series .hs-k{font-size:10px;font-weight:700;letter-spacing:.2em;color:#F3C489;text-transform:uppercase;white-space:nowrap}
.hero-series .hs-w{font-weight:600}
.sec.series-sec{background:#0B2231;color:#DCEBEF}
.series-sec .eyebrow{color:#F3C489}
.series-sec h2{color:#fff}
.series-art{width:100%;max-width:860px;height:auto;border-radius:16px;display:block;margin:18px auto;box-shadow:0 24px 60px -24px rgba(0,0,0,.55)}
.series-intro{max-width:70ch;margin:0 auto 20px;text-align:center;color:#BFD8DE}
.ftf-map{max-width:760px;margin:0 auto;list-style:none;padding:0}
.ftf-map li{display:flex;gap:14px;align-items:baseline;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:8px;font-size:14.5px}
.ftf-map .wk{flex:none;font-weight:700;font-size:11px;letter-spacing:.14em;color:#7FB3BE;width:72px}
.ftf-map .tt{font-weight:600;color:#fff}
.ftf-map .rf{color:#9FC0C8;font-size:12.5px;margin-left:auto;text-align:right}
.ftf-map li.done{opacity:.55}
.ftf-map li.done .wk:before{content:"✓ ";color:#7FC79B}
.ftf-map li.now{background:rgba(233,151,63,.14);border-color:rgba(233,151,63,.5)}
.ftf-map li.now .wk{color:#F3C489}
.series-note{text-align:center;color:#9FC0C8;font-size:13px;margin-top:14px}
.series-note a{color:#F3C489}
@media(max-width:560px){.hero-series{flex-direction:column;gap:3px;border-radius:16px;text-align:center}.ftf-map .rf{display:none}
  .series-intro{text-align:left}}
.scrollcue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.92);text-shadow:0 1px 8px rgba(60,25,8,.5);font-size:11px;letter-spacing:.3em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px}
.scrollcue .dot{width:22px;height:34px;border:2px solid rgba(255,255,255,.5);border-radius:14px;position:relative}
.scrollcue .dot::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:6px;background:#fff;border-radius:2px;transform:translateX(-50%);animation:cue 1.6s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.2;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,8px)}}

/* ---------- SECTION SHELL ---------- */
.sec{padding:clamp(70px,9vw,120px) 0}
.sec-head{max-width:680px}
.sec-head.center{margin:0 auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px}
.eyebrow .spark{width:16px;height:22px;flex:none}
.sec-head h2{font-size:clamp(30px,4.4vw,46px);margin:16px 0 14px}
.sec-head p{font-size:clamp(16px,1.7vw,18.5px);font-weight:300;color:var(--body)}

/* ---------- WELCOME ---------- */
.welcome{border-top:10px solid var(--deep);background:linear-gradient(180deg,#F7FBFB 0%,var(--cream) 26%)}
.welcome .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.welcome .copy h2{font-size:clamp(28px,4vw,44px);margin:14px 0 18px}
.welcome .copy p{color:var(--body);font-weight:300;font-size:17px;margin-bottom:16px}
.welcome .copy p strong{font-weight:600;color:var(--ink)}
.welcome .art{position:relative;display:flex;justify-content:center}
.welcome .art .halo{position:absolute;inset:0;margin:auto;width:86%;aspect-ratio:1;background:radial-gradient(circle,rgba(21,122,140,.10),transparent 68%);border-radius:50%}
.welcome .art .logo-mark{width:min(300px,72%);position:relative;z-index:1;filter:drop-shadow(var(--shadow))}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.pill{font-size:13px;font-weight:500;color:var(--deep);background:#fff;border:1px solid var(--line);padding:9px 16px;border-radius:999px}

/* ---------- MEANING (the mark) ---------- */
.meaning .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 24px;transition:transform .25s ease,box-shadow .25s ease}
.mcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.mcard .ico{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.mcard h3{font-size:19px;margin-bottom:8px}
.mcard p{font-size:14.5px;font-weight:300;color:var(--body)}

/* ---------- EXPECT ---------- */
.expect{background:linear-gradient(180deg,var(--cream),#fff)}
.xgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px}
.xcard{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow-sm)}
.xcard .num{flex:none;width:46px;height:46px;border-radius:13px;background:var(--tint);color:var(--teal);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.xcard h3{font-size:18px;margin-bottom:6px}
.xcard p{font-size:14.5px;font-weight:300;color:var(--body)}

/* ---------- SERMONS ---------- */
.sermons{background:var(--tint)}
.player-shell{max-width:880px;margin:46px auto 0}
.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;max-width:1080px;margin:46px auto 0}
.media-grid .video-card,.media-grid .player-shell{margin:0;max-width:none}
@media(max-width:900px){.media-grid{grid-template-columns:1fr;gap:22px}}
.player-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.player-card .accent{height:5px;background:linear-gradient(90deg,var(--deep),var(--teal) 45%,var(--amber) 80%,var(--ember))}
.player-inner{padding:16px 18px}
.player-fallback{padding:48px 26px;text-align:center}
.player-fallback .fl{width:48px;height:auto;margin:0 auto 16px}
.player-fallback h3{font-size:20px;margin-bottom:8px}
.player-fallback p{color:var(--body);font-weight:300;max-width:440px;margin:0 auto}
.listen-on{margin-top:26px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.listen-on .lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-weight:600}
.listen-on .btn{padding:10px 20px}
.episode-share-panel{margin-top:22px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm);overflow:hidden}
.episode-share-head{padding:24px 24px 18px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#fff,#F7FAFA)}
.episode-share-kicker{display:block;margin-bottom:5px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}
.episode-share-head h3{font-size:20px;margin-bottom:6px}
.episode-share-head p{font-size:13.5px;line-height:1.55;color:var(--body);font-weight:300}
.episode-list{display:grid}
.episode-loading,.episode-feed-error{padding:24px;text-align:center;color:var(--mute);font-size:14px}
.episode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}
/* "Earlier episodes" toggle: sits inline in the episode list, so it needs the
   list's own padding and divider rather than the default .fold-toggle margin.
   Scoped to .episode-list so it outranks the generic .fold-toggle rule further
   down the file — same specificity would otherwise lose on source order and the
   label would sit flush against the card edge. */
.episode-list .episode-fold-toggle{margin:0;padding:16px 22px;width:100%;justify-content:flex-start;border-top:1px solid var(--line)}
.episode-list .episode-fold-toggle+.fold-body{margin-top:0}
.episode-row:first-child{border-top:0}
.episode-title{font-size:15px;line-height:1.35;margin:0 0 4px}
.episode-meta{font-size:11.5px;color:var(--mute);letter-spacing:.04em}
.episode-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.episode-actions .btn{font-size:12.5px;padding:8px 14px;border-width:1px}
.episode-open{background:var(--tint);color:var(--deep);border-color:transparent}
.episode-open:hover{background:#DCEBEC;transform:translateY(-1px)}
.episode-share{background:var(--teal);color:#fff;border-color:var(--teal)}
.episode-share:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-1px)}
.shared-episode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:var(--tint);color:var(--deep);font-size:13px}
.shared-episode-bar strong{display:block;line-height:1.35}
.shared-episode-bar a{flex:none;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.shared-episode-frame{display:block;width:100%;height:200px;border:0;border-radius:12px;background:#fff}
@media(max-width:620px){
  .episode-share-head{padding:21px 19px 16px}
  .episode-row{grid-template-columns:1fr;padding:17px 18px;gap:12px}
  .episode-actions{justify-content:flex-start}
  .episode-actions .btn{flex:1;justify-content:center}
  .shared-episode-bar{align-items:flex-start;flex-direction:column}
}

/* ---------- BELIEFS strip ---------- */
.beliefs{background:var(--deep);color:#fff;overflow:hidden}
.beliefs::before{content:"";position:absolute;right:-8%;top:-30%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(233,151,63,.22),transparent 65%)}
.beliefs .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;position:relative;z-index:1}
.beliefs h2{color:#fff;font-size:clamp(28px,4vw,42px)}
.beliefs .eyebrow{color:#7FD0DC}
.beliefs .blist{display:grid;gap:18px}
.beliefs .bi{display:flex;gap:16px;align-items:flex-start}
.beliefs .bi .tick{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin-top:2px}
.beliefs .bi h3{color:#fff;font-size:16.5px;margin-bottom:2px}
.beliefs .bi p{color:rgba(255,255,255,.8);font-size:14px;font-weight:300}

/* ---------- MINISTRIES ---------- */
.min .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px}
.gcard{position:relative;border-radius:20px;padding:32px 28px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;color:#fff;box-shadow:var(--shadow-sm)}
.gcard h3{color:#fff;font-size:21px;margin-bottom:6px}
.gcard p{font-size:14px;font-weight:300;color:rgba(255,255,255,.9)}
.gcard .gi{position:absolute;top:24px;left:28px;opacity:.9}
.gcard .leader{position:absolute;top:22px;right:24px;width:66px;height:66px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.92);box-shadow:0 6px 16px -6px rgba(7,35,42,.5)}
.gcard .led-by{display:block;font-size:11px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.9);margin:-2px 0 7px}
.g1{background:linear-gradient(150deg,#137C8B,#0E5B6E)}
.g2{background:linear-gradient(150deg,#1C8FA1,#157A8C)}
.g3{background:linear-gradient(150deg,#E9973F,#EF6C3D)}
.g4{background:linear-gradient(150deg,#0E5B6E,#0A3A47)}
.g5{background:linear-gradient(150deg,#2A9DAE,#157A8C)}
.g6{background:linear-gradient(150deg,#C9803A,#9A6A2E)}
/* featured ministries — tabbed panel */
.mtabs{max-width:920px;margin:54px auto 0}
.mtab-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.mtab{appearance:none;font-family:inherit;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 24px 11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.mtab .mt-name{font-weight:600;font-size:15px;color:var(--ink);line-height:1.2}
.mtab .mt-who{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.mtab:hover{border-color:var(--teal);transform:translateY(-2px)}
.mtab.active{background:var(--deep);border-color:var(--deep)}
.mtab.active .mt-name{color:#fff}
.mtab.active .mt-who{color:#7FD0DC}
.mtab-panel{display:none;position:relative;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:44px 42px;box-shadow:var(--shadow-sm);overflow:hidden}
.mtab-panel::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--deep),var(--teal) 45%,var(--amber) 80%,var(--ember))}
.mtab-panel.active{display:grid;grid-template-columns:168px 1fr;gap:38px;align-items:center;animation:mfade .35s ease}
@keyframes mfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mp-mark .lockup{width:100%;max-width:150px;height:auto;display:block;margin:0 auto}
.mp-body .kicker{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--teal)}
.mp-body h3{font-size:clamp(24px,3vw,30px);margin:8px 0 6px}
.mp-body .tag{font-size:16px;font-weight:500;font-style:italic;color:var(--ember);margin-bottom:14px}
.mp-body .purpose{font-size:15px;font-weight:300;color:var(--body);margin-bottom:20px}
.mp-body .verse{background:var(--tint);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:16px 18px}
.mp-body .verse p{font-size:14.5px;font-weight:300;font-style:italic;color:var(--ink);margin-bottom:6px}
.mp-body .verse cite{display:block;font-style:normal;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}

/* ---------- VISIT ---------- */
.visit{background:var(--cream)}
.visit .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch;margin-top:48px}
.visit .infocard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px;box-shadow:var(--shadow-sm)}
.visit .row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.visit .row:last-of-type{border-bottom:0}
.visit .row .ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--tint);display:flex;align-items:center;justify-content:center}
.visit .row .t{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.visit .row .v{font-weight:600;font-size:16px;color:var(--ink)}
.visit .row .v span{display:block;font-weight:300;font-size:14px;color:var(--body)}
.visit .mapcard{border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#0E5B6E,#0A3A47);color:#fff;padding:40px;display:flex;flex-direction:column;justify-content:space-between;min-height:340px;position:relative}
.visit .mapcard::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 80% 10%,rgba(233,151,63,.22),transparent 60%)}
.visit .mapcard .top{position:relative;z-index:1}
.visit .mapcard h3{color:#fff;font-size:24px;margin-bottom:10px}
.visit .mapcard p{color:rgba(255,255,255,.85);font-weight:300}
.visit .mapcard .logo-mark{width:80px;opacity:.95;margin-bottom:18px}
.visit .mapcard .btn{position:relative;z-index:1;align-self:flex-start;margin-top:24px}

/* ---------- NEXT STEPS (CTA) ---------- */
/* ---------- A NOTE FOR GUESTS ---------- */
/* Sits between the dark #beliefs panel and #jesus. Both this band and .jesus
   are cream, so the bottom padding is dropped here and .jesus's own top
   padding carries the gap — otherwise the two stack into a dead cream field.
   Card follows the site's callout signature (see .mission-callout, .j-verse,
   .welcome-note): tint fill, accent bar left, flat left edge, no shadow.
   Width matches .jesus-card so the two cards share one column. */
.guestnote{background:var(--cream);padding:clamp(56px,7vw,86px) 0 0}
.guest-card{max-width:720px;margin:0 auto;background:var(--tint);border-left:4px solid var(--amber);border-radius:0 16px 16px 0;padding:clamp(26px,3.4vw,34px) clamp(24px,3.4vw,38px)}
.guest-card h2{font-size:clamp(21px,2.4vw,24px);margin-bottom:12px}
.guest-card p{font-size:16px;font-weight:300;line-height:1.75;color:var(--ink);margin:0}

/* ---------- BEGIN WITH JESUS ---------- */
.jesus{background:var(--cream)}
.jesus-card{max-width:720px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px 44px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;text-align:center}
.jesus-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--deep),var(--teal) 45%,var(--amber) 80%,var(--ember))}
.j-copy{font-size:16px;font-weight:300;line-height:1.75;color:var(--body);text-align:left;margin-bottom:20px}
.j-copy strong{color:var(--ink);font-weight:600}
.j-verse{background:var(--tint);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:16px 20px;margin-bottom:20px;text-align:left}
.j-verse p{font-size:15px;font-weight:300;font-style:italic;color:var(--ink);margin:0 0 7px}
.j-verse cite{font-style:normal;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.j-pray{background:linear-gradient(135deg,var(--deep),var(--teal));border-radius:16px;padding:22px 26px;margin-bottom:24px;text-align:left;color:#fff}
.j-pray h3{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FFD9A8;margin-bottom:9px}
.j-pray p{font-size:15.5px;font-weight:300;font-style:italic;line-height:1.7;margin:0}
.j-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}
.j-note{font-size:13.5px;font-weight:300;color:var(--mute);margin:0}
@media(max-width:560px){.jesus-card{padding:30px 22px}}
/* next steps ladder */
/* Next steps grouped under the mission: Know (01-02), Grow (03-04), Go (05).
   The five cards are unchanged; .ns-groups arranges them 2fr/2fr/1fr so every
   card keeps roughly its old width, with a labeled rule above each cluster. */
.ns-groups{display:grid;grid-template-columns:2fr 2fr 1fr;gap:22px;margin-top:44px;text-align:left}
.ns-group-label{font-size:14px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#FFD9A8;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.ns-group-label::after{content:"";flex:1;height:1px;background:rgba(255,217,168,.35)}
.ns-cards{display:grid;gap:14px}
.ns-pair .ns-cards{grid-template-columns:1fr 1fr}
.ns-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:20px 18px;text-decoration:none;color:#fff;transition:transform .2s ease,background .2s ease}
.ns-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.18)}
.ns-num{display:block;font-size:12px;font-weight:800;letter-spacing:.2em;color:#FFD9A8;margin-bottom:8px}
.ns-card h3{font-size:16px;color:#fff;margin-bottom:5px}
.ns-card p{font-size:13px;font-weight:300;line-height:1.5;color:rgba(255,255,255,.85);margin:0;max-width:none}
.ns-more{margin-top:22px;font-size:14px;color:rgba(255,255,255,.9)}
.ns-more a{color:#FFD9A8;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,217,168,.5)}
.ns-more a:hover{color:#fff;border-color:#fff}
.qb-count{font-size:12px;font-weight:600;color:var(--amber);margin-left:6px}
@media(max-width:900px){.ns-groups{grid-template-columns:1fr;gap:26px}}
@media(max-width:560px){.ns-pair .ns-cards{grid-template-columns:1fr}}
.steps{background:linear-gradient(125deg,#0C4F60,#137C8B 55%,#E9973F 130%);color:#fff;text-align:center}
.steps h2{color:#fff;font-size:clamp(30px,4.6vw,48px)}
.steps p{color:rgba(255,255,255,.92);font-weight:300;max-width:600px;margin:16px auto 0;font-size:18px}
.steps .cta{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- FOOTER ---------- */
footer{background:var(--deepest);color:#cfe0e3;padding:70px 0 30px}
footer .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer .brand{display:block}
footer .brand .mark{width:40px;margin-bottom:16px}
footer .name{font-weight:700;color:#fff;font-size:20px;letter-spacing:.01em}
footer .name small{display:block;font-weight:500;font-size:10px;letter-spacing:.42em;color:#7FD0DC;margin-top:4px}
footer p.fdesc{font-weight:300;font-size:14px;color:#9fc0c6;margin-top:14px;max-width:280px}
footer h3{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
footer ul{list-style:none;display:grid;gap:10px}
footer ul a{font-size:14.5px;font-weight:300;color:#cfe0e3;transition:color .2s}
footer ul a:hover{color:#fff}
footer .contact div{font-size:14.5px;font-weight:300;margin-bottom:12px;color:#cfe0e3}
footer .contact b{display:block;color:#fff;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
footer .follow{margin-top:26px}
footer .flabel{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#7FD0DC;margin-bottom:13px}
footer .socials{display:flex;gap:10px}
footer .socials a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s,border-color .2s}
footer .socials a:hover{background:var(--ember);border-color:var(--ember);transform:translateY(-3px)}
.fbar{border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:#86a9af;font-weight:300}
.fbar .tag{letter-spacing:.16em;text-transform:uppercase;font-size:11px;color:#7FD0DC}

/* ---------- EVENTS ---------- */
/* ---------- SMALL GROUPS ---------- */
.groups{background:var(--deep)}
.groups-band{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center;color:#fff}
.gb-text h2{color:#fff}
.gb-lead{font-size:16.5px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.88);margin:16px 0 18px}
.gb-verse{font-size:15px;font-style:italic;font-weight:300;color:rgba(255,255,255,.85);border-left:3px solid var(--amber);padding:10px 16px;background:rgba(255,255,255,.07);border-radius:0 12px 12px 0;margin-bottom:26px}
.gb-cite{display:block;font-style:normal;font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-top:6px}
.gb-actions{display:flex;gap:12px;flex-wrap:wrap}
.gb-points{display:flex;flex-direction:column;gap:18px}
.gb-point{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px}
.gb-ico{flex:0 0 auto;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.10);display:flex;align-items:center;justify-content:center}
.gb-point h3{font-size:16px;color:#fff;margin-bottom:3px}
.gb-point p{font-size:14px;font-weight:300;color:rgba(255,255,255,.8)}
/* ---------- DAILY DEVOTIONAL ---------- */
.devo{background:var(--cream)}
.devo-card{max-width:760px;margin:46px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:42px 44px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.devo-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--deep),var(--teal) 45%,var(--amber) 80%,var(--ember))}
.devo-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.devo-date{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.devo-theme{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ember)}
.devo-card h3{font-size:clamp(22px,3vw,28px);color:var(--ink);margin-bottom:16px}
.devo-verse{background:var(--tint);border-left:3px solid var(--teal);border-radius:0 12px 12px 0;padding:18px 22px;margin-bottom:20px}
.devo-verse p{font-size:15.5px;font-weight:300;font-style:italic;line-height:1.65;color:var(--ink);margin:0 0 8px}
.devo-verse cite{font-style:normal;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.devo-body p{font-size:15.5px;font-weight:300;line-height:1.75;color:var(--body);margin:0 0 14px}
.devo-prayer{font-size:15px;font-style:italic;font-weight:300;color:var(--deep);border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.devo-prayer:empty{display:none}
.welcome-note{margin-top:22px;background:var(--tint);border-left:3px solid var(--amber);border-radius:0 12px 12px 0;padding:16px 20px;font-size:14.5px;font-weight:300;line-height:1.65;color:var(--ink)}
.welcome-note strong{font-weight:600;color:var(--deep)}
/* ---------- HOW CAN WE HELP ---------- */
.help{background:var(--tint)}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.help-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;display:block}
.help-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.help-card svg{width:30px;height:30px;color:var(--teal);margin-bottom:12px}
.help-card h3{font-size:16px;color:var(--ink);margin-bottom:5px}
.help-card p{font-size:13px;font-weight:300;line-height:1.55;color:var(--body);margin:0}
.help-care{text-align:center;max-width:600px;margin:28px auto 0;font-size:14.5px;font-weight:300;color:var(--body)}
.help-care a{color:var(--teal);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.help-care a:hover{color:var(--deep);border-color:var(--teal)}
@media(max-width:820px){.help-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.help-grid{grid-template-columns:1fr}}
/* ---------- BIBLE READING PLAN ---------- */
.reading-plan{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}
.rp-today{background:var(--tint);border-radius:12px;padding:14px 18px}
.rp-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:5px}
.rp-passages{font-size:15px;font-weight:500;color:var(--ink);margin:0;line-height:1.5}
.rp-toggle{margin-top:12px;background:none;border:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:7px;padding:0}
.rp-toggle:hover{color:var(--deep)}
.rp-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.rp-toggle[aria-expanded="true"] .rp-caret{transform:rotate(-135deg) translateY(-1px)}
/* fold-away panels + per-card read-more (same idiom as the reading-plan toggle) */
.fold-toggle{margin-top:16px;background:none;border:0;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:7px;padding:0}
.fold-toggle:hover{color:var(--deep)}
.fold-caret{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.fold-toggle[aria-expanded="true"] .fold-caret{transform:rotate(-135deg) translateY(-1px)}
.fold-body{margin-top:8px}
.msn-body>p:not(.open){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msn-more{margin-top:6px;font-size:12.5px}
.rp-full{margin-top:14px}
.rp-intro{font-size:13.5px;font-weight:300;line-height:1.6;color:var(--body);margin-bottom:12px}
.rp-download{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(120deg,var(--teal),var(--deep));border-radius:999px;padding:9px 18px;text-decoration:none;margin-bottom:18px;transition:transform .2s}
.rp-download:hover{transform:translateY(-2px)}
.rp-months{display:grid;gap:16px}
.rp-month h4{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ember);margin-bottom:8px}
.rp-daylist{display:grid;grid-template-columns:1fr 1fr;gap:2px 22px}
.rp-day{font-size:12px;line-height:1.5;color:var(--body);padding:3px 0;border-bottom:1px solid var(--line)}
.rp-day b{color:var(--ink);font-weight:600}
.rp-day.is-today{background:var(--gold);border-radius:5px;padding:3px 7px;border-bottom:0}
@media(max-width:600px){.rp-daylist{grid-template-columns:1fr}}
@media(max-width:560px){.devo-card{padding:30px 22px}}
/* ---------- MISSIONS ---------- */
.missions{background:var(--cream)}
.msn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;margin-top:46px}
.msn-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.msn-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.msn-photo{aspect-ratio:1/1;overflow:hidden;background:var(--tint)}
.msn-photo img{width:100%;height:100%;object-fit:cover;display:block}
.msn-photo.noimg{display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,var(--tint),#DDE9EA)}
.msn-photo.noimg svg{width:36%;height:auto;opacity:.85}
.msn-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.msn-country{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--teal),var(--deep));border-radius:999px;padding:4px 12px;margin-bottom:10px}
.msn-body h3{font-size:16.5px;color:var(--ink);margin-bottom:7px;line-height:1.3}
.msn-body p{font-size:13px;font-weight:300;line-height:1.6;color:var(--body);margin-bottom:14px}
.msn-links{margin-top:auto;display:flex;gap:14px;flex-wrap:wrap}
.msn-links a{font-size:12.5px;font-weight:600;color:var(--teal);text-decoration:none;border-bottom:1px solid var(--line)}
.msn-links a:hover{color:var(--deep);border-color:var(--teal)}
.msn-verse{max-width:680px;margin:44px auto 0;text-align:center;background:linear-gradient(135deg,var(--deep),var(--teal));border-radius:18px;padding:26px 30px;color:#fff}
.msn-verse p{font-size:15.5px;font-weight:300;font-style:italic;line-height:1.7;margin-bottom:8px}
.msn-verse cite{font-style:normal;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#FFD9A8}
@media(max-width:1050px){.msn-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.msn-grid{grid-template-columns:1fr}}
.events{background:#fff}
.events-subhead{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:46px 0 22px;display:flex;align-items:center;gap:14px}
.events-subhead::after{content:"";flex:1;height:1px;background:var(--line)}
.event-list{display:grid;gap:16px}
.event-card{position:relative;display:flex;gap:22px;align-items:center;background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:18px 22px;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.event-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--teal),var(--amber))}
.event-tags{display:flex;gap:8px;align-items:center;margin-bottom:7px;flex-wrap:wrap}
.event-chip{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);background:var(--tint);border:1px solid var(--line);border-radius:999px;padding:4px 12px}
/* 11px white on the old amber->ember gradient bottomed out at 2.34:1. The
   accessible pair never drops below 4.58:1 at any point along the ramp. */
.event-countdown{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--amber-accessible),var(--ember-accessible));border-radius:999px;padding:4px 12px}
.event-countdown:empty{display:none}
.event-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.event-share{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--teal);cursor:pointer}
.event-share:hover{color:var(--deep)}
.event-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.event-date{flex:none;width:74px;height:74px;border-radius:14px;background:linear-gradient(150deg,var(--teal),var(--deep));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
/* past events: same card, quieter voice */
.event-card.past{background:#fff}
.event-card.past .event-date{background:var(--tint);color:var(--teal)}
.event-card.past .event-icon{opacity:.55}
.event-past-note{margin-top:8px;font-size:13px;font-weight:300;font-style:italic;color:#6E8D93}
.past-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px;width:100%}
.past-photos .gitem{margin:0;border-radius:12px;overflow:hidden;cursor:pointer;border:1px solid var(--line)}
.past-photos img{width:100%;height:120px;object-fit:cover;display:block;transition:transform .25s ease}
.past-photos.collapsed .gitem:nth-child(n+7){display:none}
.pp-toggle{margin-top:12px;font-size:13px;font-weight:600;color:var(--teal);background:none;border:1px solid var(--line);border-radius:999px;padding:8px 18px;cursor:pointer;transition:color .2s,border-color .2s}
.pp-toggle:hover{color:var(--deep);border-color:var(--teal)}
.past-photos .gitem:hover img{transform:scale(1.05)}
@media(max-width:560px){.past-photos img{height:96px}}
.event-date .mo{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.event-date .dy{font-size:26px;font-weight:700;margin-top:3px}
.event-icon{flex:none;width:52px;height:52px;border-radius:50%;background:var(--tint);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--teal)}
.event-left{flex:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.event-mark{width:48px;height:auto;display:block}
.event-card.past .event-mark{opacity:.55}
.event-icon svg{width:26px;height:26px}
@media(max-width:560px){.event-icon{display:none}}
.event-body{flex:1;min-width:0}
.event-body h4{font-size:19px;margin-bottom:4px}
.event-meta{font-size:13px;font-weight:600;color:var(--teal);margin-bottom:6px}
.event-desc{font-size:14.5px;font-weight:300;color:var(--body)}
.event-link{display:inline-block;margin-top:9px;font-size:13px;font-weight:600;color:var(--teal)}
.event-link:hover{color:var(--deep)}
.event-note{margin-top:11px;font-size:12.5px;font-weight:400;color:#6E8D93;display:flex;gap:7px;align-items:flex-start;line-height:1.45}
.event-note svg{flex:none;width:14px;height:14px;margin-top:2px;opacity:.85}
.event-recur-line{font-weight:600;color:var(--teal)}
/* Harvest Prayer Night — warm "harvest" treatment so it stands apart from the teal cards */
.event-card.harvest{background:linear-gradient(135deg,#FFF6EA,#FCEBD8);border-color:#EFCFA3}
.event-card.harvest::before{width:6px;background:linear-gradient(180deg,var(--amber),var(--ember))}
/* Same white-on-amber gradient as the countdown chip (.event-date sets color:#fff),
   so it carried the same 2.34:1 failure. The 12px "MO" label is normal-size text. */
.event-card.harvest .event-date{background:linear-gradient(150deg,var(--amber-accessible),var(--ember-accessible))}
.event-card.harvest .event-chip{color:#A85717;background:#FBE3C6;border-color:#EFCFA3}
.event-card.harvest .event-icon{color:var(--ember);background:#FBE3C6;border-color:#EFCFA3}
.event-card.harvest .event-meta{color:#A85717}
.event-card.harvest .event-desc em{color:#A85717;font-style:italic;font-weight:400}
.event-card.harvest .event-link,.event-card.harvest .event-share{color:#A85717}
.event-card.harvest .event-link:hover,.event-card.harvest .event-share:hover{color:var(--ember)}
.event-card.harvest .event-note svg{color:var(--ember)}
.event-card.harvest .event-icon svg{width:30px;height:30px}
.event-cta{flex:none;align-self:center;padding:10px 20px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.gitem{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--tint);box-shadow:var(--shadow-sm);margin:0}
.gitem img,.gitem video{width:100%;height:100%;object-fit:cover;display:block}
.gitem.photo{cursor:pointer}
.gitem.photo img{transition:transform .35s ease}
.gitem.photo:hover img{transform:scale(1.06)}
.gitem figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 11px;font-size:13px;font-weight:500;color:#fff;background:linear-gradient(180deg,transparent,rgba(10,46,55,.74))}
.gitem .vbadge{position:absolute;top:10px;right:10px;background:rgba(10,46,55,.62);color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;padding:4px 9px;border-radius:999px;text-transform:uppercase}
.yt{position:absolute;inset:0}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(8,30,36,.93);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:84vh;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.lightbox .lcap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#cfe0e3;font-size:14px;font-weight:300}
.lb-btn{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.lb-btn:hover{background:rgba(255,255,255,.26)}
.lb-close{top:22px;right:22px}
.lb-prev{left:18px;top:50%;transform:translateY(-50%)}
.lb-next{right:18px;top:50%;transform:translateY(-50%)}

/* ---------- MEET PASTOR LEE ---------- */
.pastor{background:var(--cream)}
.pastor .pgrid{display:grid;grid-template-columns:310px 1fr;gap:48px;align-items:center}
.pastor .photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:760/946;background:var(--tint)}
.pastor .photo img{width:100%;height:100%;object-fit:cover;display:block}
.pastor .role{color:var(--teal);font-weight:600;letter-spacing:.03em;margin:0 0 16px}
.pastor p{color:var(--body);font-weight:300;margin-bottom:13px;max-width:60ch}
.pastor .sig{font-weight:600;color:var(--ink);font-style:normal}
.pastor .cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.pastor .photo-family{margin:0;position:relative;aspect-ratio:900/1341}
.pastor .photo-family figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 11px;background:linear-gradient(to top,rgba(9,40,52,.82),rgba(9,40,52,0));color:#fff;font-size:12.5px;font-weight:500;letter-spacing:.02em;text-align:center}

/* ---------- MAP ---------- */
.mapwrap{margin-top:26px;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
/* church building photo banner in Plan Your Visit */
.visit-photo{position:relative;max-width:840px;margin:44px auto 4px;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.visit-photo img{width:100%;height:auto;display:block}
.visit-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:56px 34px 24px;background:linear-gradient(180deg,transparent,rgba(10,46,55,.82));color:#fff}
.visit-photo .cap-t{display:block;font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:.005em;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.visit-photo .cap-s{display:block;margin-top:5px;font-size:clamp(13px,1.5vw,15.5px);font-weight:300;color:rgba(255,255,255,.92)}
@media(max-width:560px){.visit-photo figcaption{padding:40px 22px 18px}}
.mapwrap iframe{width:100%;height:330px;border:0;display:block}

/* ---------- PRAYER FORM ---------- */
.prayer{background:#fff}
.prayer-night{display:flex;gap:18px;align-items:flex-start;text-align:left;background:linear-gradient(135deg,var(--deep),var(--teal));border-radius:18px;padding:22px 24px;margin:26px auto 30px;max-width:640px;color:#fff;box-shadow:var(--shadow-sm)}
.pn-badge{flex:none;width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.pn-text h3{font-size:17px;color:#fff;margin-bottom:6px}
.pn-text p{font-size:14.5px;font-weight:300;line-height:1.65;color:rgba(255,255,255,.92);margin:0}
@media(max-width:560px){.prayer-night{flex-direction:column;gap:12px}}

.prayer .inner{max-width:680px;margin:0 auto;text-align:center}
.pform{margin-top:30px;display:grid;gap:15px;text-align:left}
.pform .two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.pform label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}
.pform input,.pform textarea,.pform select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:15px;color:var(--ink);background:var(--cream)}
.pform select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23157A8C' stroke-width='3'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.pform input:focus,.pform textarea:focus,.pform select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(21,122,140,.15)}
.visit .formcard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px;box-shadow:var(--shadow-sm);overflow:hidden}
.visit .formcard h3{font-size:22px;margin-bottom:6px}
.visit .formcard>p{color:var(--body);font-weight:300;margin-bottom:2px}
.visit .formcard .pform{margin-top:20px}
.visit .formcard .pform textarea{min-height:96px}
.pform textarea{min-height:130px;resize:vertical}
.pform .btn{justify-self:start;border:0;cursor:pointer}
.hidden-bot{position:absolute;left:-9999px}
.form-thanks{display:none;margin-top:30px;background:var(--tint);border:1px solid var(--line);border-radius:16px;padding:34px 28px;text-align:center}
.form-thanks h3{font-size:21px;margin-bottom:8px;color:var(--deep)}
.form-thanks p{color:var(--body);font-weight:300;margin:0 auto;max-width:42ch}

/* ---------- GIVING ---------- */
.giving{background:var(--cream)}
.giving .inner{max-width:640px;margin:0 auto;text-align:center}
.give-card{margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);padding:34px 28px}
.give-soon{display:inline-block;margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ember);background:rgba(239,108,61,.10);padding:6px 14px;border-radius:999px}
.give-card p{color:var(--body);font-weight:300;margin:0 auto 4px;max-width:48ch}
.give-card .addr{margin-top:18px;font-weight:600;color:var(--ink);line-height:1.55}
.give-card .addr span{display:block;font-weight:400;color:var(--teal);font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}

/* ---------- WATCH ---------- */
.watch{background:var(--cream)}
.video-card{max-width:900px;margin:38px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.video-card .accent{height:6px;background:linear-gradient(90deg,var(--teal),var(--ember))}
.podcast-photo{display:block;width:100%;height:auto;aspect-ratio:1100/1364;background:var(--tint)}
.video-frame{position:relative;width:100%;height:0;padding-bottom:56.25%;background:var(--ink)}
.video-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.watch-actions{margin-top:26px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- HEADWATERS (newcomer pathway) ---------- */
.headwaters{background:var(--tint)}
.hw-card{max-width:880px;margin:44px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:40px 42px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}
.hw-card::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;background:linear-gradient(90deg,var(--deep),var(--teal) 45%,var(--amber) 80%,var(--ember))}
.hw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:8px 0 26px}
.hw-step{background:var(--tint);border-radius:16px;padding:20px 18px}
.hw-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:#fff;color:var(--teal);font-weight:700;font-size:15px;margin-bottom:12px;border:1px solid var(--line)}
.hw-step h3{font-size:16px;margin-bottom:5px}
.hw-step p{font-size:13.5px;font-weight:300;color:var(--body);margin:0}
.hw-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.hw-note{font-size:14px;font-weight:300;color:var(--body);margin:0;max-width:46ch}
@media(max-width:820px){.hw-steps{grid-template-columns:repeat(2,1fr)}.hw-card{padding:30px 24px}}
@media(max-width:520px){.hw-steps{grid-template-columns:1fr}}
/* ---------- FOOTER NEWSLETTER ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
footer .newsletter{margin-top:26px;max-width:300px}
.nl-form{display:flex;gap:8px}
.nl-form input{flex:1;min-width:0;padding:11px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:14px}
.nl-form input::placeholder{color:#86a9af}
.nl-form input:focus{outline:none;border-color:var(--amber)}
.nl-form .btn{background:var(--ember);color:#fff;padding:11px 18px;font-size:13.5px;border:0;cursor:pointer}
.nl-form .btn:hover{background:var(--deep)}
footer .members{margin-top:24px;max-width:300px}
.btn-directory{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(127,208,220,.42);color:#EAF7F9;padding:11px 20px;border-radius:999px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s}
.btn-directory:hover{background:rgba(127,208,220,.16);border-color:#7FD0DC;color:#fff}
.btn-directory svg{flex:none}
footer .members-note{margin-top:11px;font-size:12.5px;line-height:1.55;color:#86a9af;max-width:300px}
footer .scripture-notice{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;line-height:1.65;color:#86a9af;max-width:1120px}
footer .scripture-notice p{margin:0}
footer .scripture-notice a{color:#b9dfe4;text-decoration:underline;text-underline-offset:2px}
footer .scripture-notice a:hover{color:#fff}
.nl-thanks{padding:14px 16px;margin-top:12px;text-align:left}
.nl-thanks p{margin:0;font-size:14px;max-width:none}
/* ---------- reveal ---------- */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .menu{position:fixed;top:0;right:0;left:0;height:100vh;height:100dvh;width:100%;max-width:100%;background:#fff;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:0 28px 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);box-shadow:none;z-index:70}
  /* Transitions are enabled by app.js after the first paint. Before that the
     closed menu must snap, never animate: translateX(100%) is a percentage of
     the element's own width, so a late layout pass changes its pixel value and
     would otherwise slide the menu across the screen on load. */
  /* visibility:hidden removes the off-screen panel from the focus order and the
     accessibility tree — transform alone left every link tabbable behind the
     closed menu. Transitioning visibility (as .navmask already does) holds it
     visible for the full slide-out, so the close animation still plays. app.js
     also toggles the inert attribute, which is the stronger guarantee; this is
     the CSS-only fallback for browsers without inert support. */
  .menu{visibility:hidden}
  .menu.anim{transition:transform .35s ease,visibility .35s ease}
  .menu.open{transform:none;visibility:visible}
  .menu .link,.menu .btn{max-width:520px}
  .menu-head{display:flex;align-items:flex-start;justify-content:space-between;width:calc(100% + 56px);margin:0 -28px 18px;padding:22px 22px 20px;background:linear-gradient(135deg,var(--deep),var(--teal));position:sticky;top:0}
  .menu-brand{display:flex;align-items:center;gap:12px}
  .menu-head .mark{width:38px;height:auto}
  .menu-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:18px;letter-spacing:.03em;color:#fff;line-height:1;display:flex;flex-direction:column}
  .menu-name small{font-weight:400;font-size:9.5px;letter-spacing:.34em;color:rgba(255,255,255,.8);margin-top:3px}
  .menu-tag{font-weight:500;font-size:11px;letter-spacing:0;color:#FFD9A8;margin-top:7px;text-transform:none}
  .menu-close{background:rgba(255,255,255,.14);border:0;color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;transition:background .2s}
  .menu-close:hover{background:rgba(255,255,255,.26)}
  .menu a.link{color:var(--ink);font-size:17px;padding:10px 0;width:100%;border-bottom:1px solid var(--line)}
  .menu a.link::after{display:none}
  .menu .btn{margin-top:14px;width:100%;justify-content:center;color:#fff;background:var(--ember);border-color:var(--ember)}
  header.scrolled .menu .btn,header.scrolled .menu .btn-visit{color:#fff;background:var(--ember);border-color:var(--ember)}
  .menu .btn-visit:hover{color:#fff;background:var(--deep);border-color:var(--deep)}
  .burger{display:flex}
  .navmask{position:fixed;inset:0;background:rgba(8,40,50,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;z-index:55}
  .navmask.anim{transition:opacity .3s ease,visibility .3s ease}
  .navmask.show{opacity:1;visibility:visible}
  .welcome .grid,.beliefs .grid,.visit .grid{grid-template-columns:1fr;gap:40px}
  .welcome .art{order:-1}
    .min .grid{grid-template-columns:repeat(2,1fr)}
  .groups-band{grid-template-columns:1fr;gap:34px}
  .mtab-panel.active{grid-template-columns:1fr;gap:16px;padding:28px 22px}
  .mp-mark .lockup{max-width:84px}
  .mp-body h3{font-size:24px}
  .mp-body{text-align:left}
  footer .grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1081px){
  /* Keep the complete hero invitation visible on common desktop and laptop screens. */
  .hero{align-items:flex-start;padding:clamp(48px,5.5vh,64px) 24px 86px}
  .hero-inner{max-width:820px}
  .logo-wrap{margin-bottom:14px}
  .hero .logo-mark{width:148px;margin-bottom:14px}
  .logo-glow{width:285px;height:285px}
  .hero .name{font-size:clamp(70px,6.2vw,86px)}
  .hero .sub{margin-top:4px}
  .hero .tagline{margin-top:19px}
  .hero .cta{margin-top:24px}
  .hero .meta{margin-top:4px}
}
@media(max-width:600px){
  /* Keep the primary hero actions visible on phones, even while the temporary announcement is present. */
  .hero{align-items:flex-start;padding:clamp(42px,7svh,60px) 18px 82px}
  .hero-inner{width:100%}
  .xgrid{grid-template-columns:1fr}
  .meaning .grid,.min .grid{grid-template-columns:1fr}
  .pastor .pgrid{grid-template-columns:1fr;gap:28px}
  .pastor .photo{max-width:300px;margin:0 auto;width:100%}
  .pform .two{grid-template-columns:1fr}
  footer .grid{grid-template-columns:1fr}
  .visit .infocard,.visit .mapcard,.visit .formcard{padding:28px}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* ── Utility classes (moved from inline style="" attributes so the CSP can
      drop 'unsafe-inline' for styles — v29 security hardening pass) ── */
.svg-defs{position:absolute}
.ico-peach{background:#FDEBD8}
.ico-sky{background:#DDF0F2}
.ico-mist{background:#DCE6E8}
.ico-stone{background:#D6E4E7}
.lead-ondark{color:rgba(255,255,255,.85);margin-top:16px}
.link-teal{color:var(--teal);font-weight:600}
.eyebrow-light{color:#7FD0DC}
.btn-row{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.opt{font-weight:400;color:var(--mute)}
.footer-link{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* ── Changed to Be Sent series card — teal highlight so the teaching
      series stands out among the events (mirrors the .harvest treatment) ── */
.event-card.series{background:linear-gradient(135deg,#EEF7F8,#E0F0F2);border-color:#B9DCE0}
.event-card.series::before{width:6px;background:linear-gradient(180deg,var(--teal),var(--deep))}
.event-card.series .event-date{background:linear-gradient(150deg,var(--teal),var(--deep))}
.event-card.series .event-chip{color:var(--deep);background:#D6EBEE;border-color:#B9DCE0}
.event-card.series .event-icon{color:var(--deep);background:#D6EBEE;border-color:#B9DCE0}
.event-card.series .event-meta{color:var(--teal)}
.event-card.series .event-desc em{color:var(--deep);font-style:italic}
.event-card.series .event-link,.event-card.series .event-share{color:var(--deep)}
.event-card.series .event-link:hover,.event-card.series .event-share:hover{color:var(--teal)}
.event-card.series .event-note svg{color:var(--teal)}

/* ── Series companion callout (Changed to Be Sent mention inside FTF) ── */
.series-companion{display:flex;align-items:flex-start;gap:12px;max-width:720px;margin:18px auto 0;padding:14px 18px;background:#EEF7F8;border:1px solid #B9DCE0;border-radius:14px;font-size:14.5px;line-height:1.6;color:var(--body);text-align:left}
.series-companion svg{flex:0 0 20px;width:20px;height:20px;margin-top:2px;color:var(--deep)}
.series-companion strong{color:var(--deep)}
.series-companion em{color:var(--deep)}
.series-companion a{color:var(--teal);font-weight:600}

/* ── Hero schedule lines: wrap only at the separators, never mid-phrase,
      and balance the wrapped lines so no lone word dangles at the fold ── */
.hero .meta .meta-line{text-wrap:balance;line-height:1.5;padding:0 6px}
.hero .meta .nb{white-space:nowrap}

/* ── Mobile hero compaction: reclaim ~110px of vertical space so the
      Sunday/Wednesday schedule lands above the fold on typical phones
      instead of being sliced mid-line at the bottom of the screen ── */
@media(max-width:600px){
  .hero{padding-bottom:64px}
  .hero .logo-mark{width:88px;margin-bottom:12px}
  .hero .name{font-size:clamp(34px,9vw,44px)}
  .hero .tagline{margin-top:12px}
  .hero-votd{margin-top:12px}
  .hero-votd-t{line-height:1.4}
  .hero-votd-pill{margin-top:8px}
  .hero .cta{margin-top:18px;gap:10px}
  .hero .cta .btn{padding:13px 22px;font-size:15px}
  .hero .meta{gap:7px;font-size:13.5px}
  .scrollcue{display:none} /* frees the bottom strip the cue occupied */
}

/* ── Mobile hero, balanced pass: full clearance below the fixed header
      (~90px tall) so the mark never slides beneath the wordmark, verse and
      schedule text at comfortable sizes, and just enough trimming that the
      First Things First pill still lands above the fold ── */
@media(max-width:600px){
  .hero{padding-top:clamp(100px,13svh,116px);padding-bottom:40px}
  .hero .logo-mark{width:84px;margin-bottom:12px}
  .hero .name{font-size:clamp(34px,9vw,44px)}
  .hero .sub{margin-top:4px}
  .hero .tagline{margin-top:12px}
  .hero-votd{margin-top:12px}
  .hero-votd-card{padding:17px 17px 18px}
  .hero-votd-t{font-size:clamp(16px,4.6vw,19px);line-height:1.44;margin-bottom:10px}
  .hero-votd-pill{margin-top:8px;padding:9px 17px}
  .hero .cta{margin-top:16px}
  .hero .cta .btn{padding:13px 22px;font-size:15px}
  .hero .meta{margin-top:3px;gap:7px;font-size:13.5px}
  .hero .meta .meta-line{line-height:1.5}
  .hero-series{margin-top:14px;padding:10px 18px;font-size:13px}
  .hero-series .hs-k{font-size:10px}
}

/* ===== Serve With Us ===== */
.serve{background:linear-gradient(180deg,#fff 0%,var(--tint) 100%)}
.serve .inner{max-width:720px;margin:0 auto;text-align:center}
.serve h2 .flame{color:var(--ember)}
.serve .verse-mini{margin-top:14px;font-style:italic;color:var(--mute);font-weight:300;font-size:15.5px}
.serve .formcard{max-width:720px;margin:36px auto 0;background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(26px,4vw,40px);box-shadow:var(--shadow-sm);text-align:left}
.serve .pform{margin-top:0}
.serve .chip-label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.serve .chip-hint{font-size:12.5px;font-weight:300;color:var(--mute);margin-bottom:12px}
.serve .chips{display:flex;flex-wrap:wrap;gap:10px}
.serve .chip{position:relative;display:inline-flex;align-items:center;gap:8px;margin:0;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 16px 10px 14px;font-size:14px;font-weight:500;color:var(--body);transition:all .18s ease;user-select:none}
.serve .chip .tick{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line);flex:none;display:grid;place-items:center;transition:all .18s ease}
.serve .chip .tick::after{content:"";width:7px;height:7px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .18s ease}
.serve .chip input{position:absolute;opacity:0;pointer-events:none}
.serve .chip:hover{border-color:var(--teal);transform:translateY(-1px)}
.serve .chip:has(input:checked){background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}
.serve .chip:has(input:checked) .tick{border-color:#fff;background:rgba(255,255,255,.25)}
.serve .chip:has(input:checked) .tick::after{transform:scale(1)}
.serve .chip:has(input:focus-visible){box-shadow:0 0 0 3px rgba(21,122,140,.3)}

/* ===== Serve Days (event sign-up) ===== */
.serve .serve-alt{max-width:720px;margin:46px auto 0;text-align:center;padding-top:34px;border-top:1px solid var(--line)}
.serve .serve-alt-h{font-size:clamp(22px,3vw,28px);color:var(--ink);font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.serve .serve-alt p{color:var(--body);font-weight:300;font-size:16px;max-width:48ch;margin:0 auto}

/* Know-Grow-Go eyebrow chips: a quiet thread tying each section back to the
   mission statement in Welcome Home. Light sections get tinted pills keyed to
   the pathway (teal/amber/ember, AA-safe text); dark sections (.beliefs,
   .groups) swap to a translucent white pill so contrast holds. */
.kgg{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:2px 10px 3px;border:1px solid;line-height:1.5}
.kgg-know{color:var(--teal);border-color:#BFDDE2;background:#E4F2F4}
.kgg-grow{color:#A8661A;border-color:#F3C489;background:#FCEFDD}
.kgg-go{color:#C24C21;border-color:#F6C4AC;background:#FDE8DC}
.beliefs .kgg,.groups .kgg{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.14)}
