/* ═══════════════════════════════════════════════════════════════════════
   KBC SECTIONS — the front page and the calendar as full-width bands.
   One type family (the system's), big confident headings, an eyebrow
   above each, generous air between sections, rounded cards, and
   photographs with soft corners. Nothing here borrows from the theme.
   ═══════════════════════════════════════════════════════════════════════ */
.ks{--ink:#0f1115;--body:#4b5563;--dim:#6b7280;--line:#e5e7eb;--tint:#f4f6f8;--blue:#0d6fb8;--blue-ink:#0a5a95;--dark:#0f172a;
    position:relative;width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;box-sizing:border-box;background:#fff;color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}
.ks *,.ks *::before,.ks *::after{box-sizing:border-box}
.ks.ks-tint{background:var(--tint)}
.ks.ks-dark{background:var(--dark);color:#fff}
.ks-in{max-width:1200px;margin:0 auto;padding:104px 28px}
@media (max-width:900px){.ks-in{padding:72px 20px}}

/* type */
.ks-eyebrow{display:block;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.ks-dark .ks-eyebrow{color:#7cc4ff}
.ks-title{margin:0;font-size:clamp(2rem,3.6vw,3.3rem);font-weight:800;line-height:1.08;letter-spacing:-.025em;color:inherit}
.ks-lead{margin:18px 0 0;font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.65;color:var(--body);max-width:60ch}
.ks-dark .ks-lead{color:rgba(255,255,255,.72)}
.ks-head{margin:0 0 40px}
.ks-head-center{text-align:center;margin-left:auto;margin-right:auto;max-width:720px}
.ks-head-center .ks-lead{margin-left:auto;margin-right:auto}
.ks h3{margin:0;font-weight:800;letter-spacing:-.015em;line-height:1.2}

/* buttons */
.ks-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ks-acts-sm{margin-top:22px}
.ks-btn{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 24px;border-radius:999px;font-size:15.5px;font-weight:700;text-decoration:none!important;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;white-space:nowrap}
.ks-btn i{font-size:14px}
.ks-btn:hover{transform:translateY(-1px)}
.ks-btn-primary{background:var(--ink);color:#fff!important}
.ks-btn-primary:hover{background:#000;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.ks-btn-ghost{background:#fff;color:var(--ink)!important;border:1.5px solid var(--line)}
.ks-btn-ghost:hover{border-color:#cbd5e1}
.ks-btn-light{background:#fff;color:var(--ink)!important}
.ks-btn-ghost-light{background:rgba(255,255,255,.08);color:#fff!important;border:1.5px solid rgba(255,255,255,.22)}
.ks-btn-ghost-light:hover{background:rgba(255,255,255,.14)}

/* cards */
.ks-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.ks-dark .ks-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none}

/* ── welcome ─────────────────────────────────────────────────────────── */
.ks-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.ks-welcome .ks-in{padding-top:120px}
.ks-pic img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px -30px rgba(15,23,42,.35)}
.ks-facts{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:12px}
.ks-facts li{display:flex;align-items:center;gap:14px;font-size:15.5px;color:var(--body)}
.ks-facts li b{color:var(--ink);font-weight:700;margin-right:6px}
.ks-facts li i{width:40px;height:40px;flex:0 0 40px;border-radius:12px;display:grid;place-items:center;background:var(--tint);color:var(--blue);font-size:15px}
@media (max-width:900px){.ks-split{grid-template-columns:1fr;gap:36px}.ks-welcome .ks-pic{order:-1}}

/* ── visit ───────────────────────────────────────────────────────────── */
.ks-visit-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:stretch}
.ks-times h3{font-size:1.25rem;margin-bottom:18px}
.ks-times ul{list-style:none;margin:0;padding:0}
.ks-times li{display:grid;grid-template-columns:110px 92px 1fr;gap:12px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line);font-size:15.5px}
.ks-times li:first-child{border-top:0;padding-top:0}
.ks-day{font-weight:700;color:var(--ink)}
.ks-time{font-weight:800;color:var(--blue);font-variant-numeric:tabular-nums}
.ks-what{color:var(--body)}
.ks-where{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ks-map{aspect-ratio:16/9;background:#e5e7eb}
.ks-map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.9)}
.ks-where-txt{padding:26px 30px 30px}
.ks-where-txt h3{font-size:1.2rem}
.ks-where-txt p{margin:4px 0 0;color:var(--body)}
@media (max-width:900px){.ks-visit-grid{grid-template-columns:1fr}.ks-times li{grid-template-columns:96px 84px 1fr}}

/* ── today ───────────────────────────────────────────────────────────── */
.ks-today-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:stretch}
.ks-devo{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ks-devo-pic{display:block;aspect-ratio:21/9;background:#1e293b center/cover no-repeat}
.ks-devo-body{padding:30px 34px 34px}
.ks-devo h3{font-size:clamp(1.45rem,2vw,1.9rem)}
.ks-devo h3 a{color:#fff;text-decoration:none}
.ks-devo h3 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ks-meta{margin:8px 0 0;font-size:14px;color:rgba(255,255,255,.62)}
.ks-verse{margin:20px 0 0;padding:16px 20px;border-left:3px solid #7cc4ff;background:rgba(255,255,255,.05);border-radius:0 14px 14px 0;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.9);font-style:italic}
.ks-verse cite{display:block;margin-top:6px;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7cc4ff}
.ks-devo-txt{margin:18px 0 0;color:rgba(255,255,255,.78);font-size:15.5px;line-height:1.65}
.ks-ticks{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.ks-ticks li{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(255,255,255,.9)}
.ks-ticks i{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;background:rgba(124,196,255,.18);color:#7cc4ff;font-size:11px}
@media (max-width:900px){.ks-today-grid{grid-template-columns:1fr}}

/* ── events ──────────────────────────────────────────────────────────── */
.ks-row-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 0 40px}
.ks-row-head .ks-head{margin:0;max-width:620px}
.ks-row-head .ks-acts{margin:0 0 6px;flex:0 0 auto}
@media (max-width:900px){.ks-row-head{flex-direction:column;align-items:flex-start}}
.ks-ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:1000px){.ks-ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ks-ev-grid{grid-template-columns:1fr}}
.ks-ev{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;text-decoration:none!important;color:inherit;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.ks-ev:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(15,23,42,.35)}
.ks-ev-art{position:relative;display:block;aspect-ratio:16/9;background:#e5e7eb center/cover no-repeat}
.ks-ev-art.none{background:linear-gradient(135deg,#1e293b,#0f172a)}
.ks-ev-day{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:60px;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 6px 16px -6px rgba(0,0,0,.4)}
.ks-ev-day b{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ks-ev-day i{font-style:normal;font-size:22px;font-weight:800;line-height:1;margin-top:2px}
.ks-ev-soon{position:absolute;right:16px;top:16px;padding:6px 11px;border-radius:999px;background:rgba(15,17,21,.78);color:#fff;font-size:12px;font-weight:700;backdrop-filter:none}
.ks-ev-body{display:flex;flex-direction:column;gap:6px;padding:22px 24px 24px;flex:1}
.ks-ev-when{font-size:13.5px;font-weight:700;color:var(--blue)}
.ks-ev-title{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.ks-ev-title em{font-style:normal;font-size:12px;font-weight:800;color:#b91c1c;margin-left:6px;text-transform:uppercase;letter-spacing:.06em}
.ks-ev.off .ks-ev-title{text-decoration:line-through;color:var(--dim)}
.ks-ev-line{font-size:14.5px;color:var(--body);line-height:1.55}
.ks-ev-go{margin-top:auto;padding-top:14px;font-size:14px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px}
.ks-ev-go i{font-size:11px;color:var(--blue);transition:transform .2s}
.ks-ev:hover .ks-ev-go i{transform:translateX(3px)}

/* ── next steps ──────────────────────────────────────────────────────── */
.ks-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.ks-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ks-tiles{grid-template-columns:1fr}}
.ks-tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:30px 30px 32px;background:#fff;border:1px solid var(--line);border-radius:24px;text-decoration:none!important;color:inherit;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.ks-tile:hover{transform:translateY(-4px);box-shadow:0 24px 48px -24px rgba(15,23,42,.3)}
.ks-tile-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--tint);color:var(--blue);font-size:20px;margin-bottom:6px}
.ks-tile-t{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
.ks-tile-p{font-size:14.5px;color:var(--body);line-height:1.55}
.ks-tile-go{position:absolute;right:24px;top:28px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--line);color:var(--ink);font-size:12px;transition:background .2s,color .2s,border-color .2s}
.ks-tile:hover .ks-tile-go{background:var(--ink);border-color:var(--ink);color:#fff}

/* ── app ─────────────────────────────────────────────────────────────── */
.ks-app{background:linear-gradient(135deg,#0d6fb8 0%,#0a4f88 100%);color:#fff}
.ks-app-in{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center}
.ks-app .ks-eyebrow{color:rgba(255,255,255,.75)}
.ks-app .ks-lead{color:rgba(255,255,255,.82)}
.ks-stores{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.ks-stores img{display:block;height:54px;width:auto;border-radius:10px}
.ks-app-art{display:grid;place-items:center}
.ks-app-art i{font-size:180px;color:rgba(255,255,255,.14)}
@media (max-width:900px){.ks-app-in{grid-template-columns:1fr}.ks-app-art{display:none}}

/* ── the calendar page hero band (see view-events-archive.php) ───────── */
.ks-pagehero{background:var(--dark);color:#fff}
.ks-pagehero .ks-in{padding:200px 28px 84px}
.ks-pagehero .ks-eyebrow{color:#7cc4ff}
.ks-pagehero h1{margin:0;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.ks-pagehero .ks-lead{color:rgba(255,255,255,.72)}

/* ── the theme's own rules pushed back ───────────────────────────────── */
.ks h1,.ks h2,.ks h3{color:var(--ink)}
.ks.ks-dark h1,.ks.ks-dark h2,.ks.ks-dark h3,.ks.ks-pagehero h1{color:#fff}
.ks a{text-decoration:none}
.ks-devo h3 a,.ks-devo h3 a:hover{color:#fff}
.ks-tile,.ks-tile:hover,.ks-ev,.ks-ev:hover{color:var(--ink)}
.ks p:last-child{margin-bottom:0}
/* the page ends where the last band ends: no theme padding under it */
.home .site-content,.home #content,.home .ast-container,.home .entry-content,.post-type-archive-dd_event .site-content{padding-bottom:0!important;margin-bottom:0!important}
.home .entry-content > .ks:last-child,.home .entry-content > p:last-child{margin-bottom:0}

.ks-split-rev .ks-pic{order:0}
@media (max-width:900px){.ks-split-rev .ks-pic{order:-1}}
.ks-tile{padding:26px 28px}
.ks-tile .ks-tile-t{padding-right:44px;font-size:1.05rem}
.ks-tile .ks-tile-ic{margin-bottom:2px}

/* THE BLOCK EDITOR'S CONTENT WIDTH (932px) was clamping every band on the
   front page; the sections are alignfull and say so twice. */
.entry-content > .ks.alignfull,.entry-content .ks.alignfull{max-width:none!important;width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important}

/* ── devotional ──────────────────────────────────────────────────────── */
.ks-pic-tall img{aspect-ratio:4/5;max-height:640px}
.ks-plain,.ks-plain:hover{color:inherit;text-decoration:none}
.ks-title a.ks-plain:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.ks-devotional .ks-meta{margin:12px 0 0;font-size:15px;color:var(--dim)}
.ks-pull{margin:26px 0 0;padding:0 0 0 22px;border-left:3px solid var(--blue)}
.ks-pull p{margin:0;font-size:clamp(1.15rem,1.5vw,1.35rem);line-height:1.5;font-style:italic;color:var(--ink)}
.ks-pull cite{display:block;margin-top:8px;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.ks-lead-sm{font-size:1.02rem;margin-top:22px}

/* ── bible: a browser window ─────────────────────────────────────────── */
.ks-split-wide{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ks-bible .ks-ticks li{color:var(--ink)}
.ks-bible .ks-ticks i{background:rgba(13,111,184,.12);color:var(--blue)}
.ks-browser{display:block;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(15,23,42,.45),0 2px 6px rgba(15,23,42,.06);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ks-browser:hover{transform:translateY(-4px)}
.ks-browser-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 14px;background:#f1f3f6;border-bottom:1px solid var(--line)}
.ks-browser-bar i{width:11px;height:11px;border-radius:50%;background:#d1d5db}
.ks-browser-bar i:nth-child(1){background:#ff5f57}.ks-browser-bar i:nth-child(2){background:#febc2e}.ks-browser-bar i:nth-child(3){background:#28c840}
.ks-browser-bar b{margin-left:12px;flex:1;height:22px;line-height:22px;border-radius:7px;background:#fff;font-size:12px;font-weight:600;color:var(--dim);text-align:center}
.ks-browser img{display:block;width:100%;height:auto}

/* ── sermons ─────────────────────────────────────────────────────────── */
.ks-sermon-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:stretch}
@media (max-width:1000px){.ks-sermon-grid{grid-template-columns:1fr}}
.ks-sermon{display:flex;flex-direction:column;text-decoration:none!important;color:var(--ink);border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.ks-sermon:hover{transform:translateY(-3px);box-shadow:0 24px 48px -24px rgba(15,23,42,.35)}
.ks-sermon-art{position:relative;display:block;aspect-ratio:16/9;background:#0f172a center/cover no-repeat}
.ks-sermon-big .ks-sermon-art{aspect-ratio:16/10;flex:1}
.ks-sermon-art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),rgba(0,0,0,0) 55%)}
.ks-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:22px;box-shadow:0 12px 30px -8px rgba(0,0,0,.5);z-index:1;transition:transform .25s}
.ks-play i{margin-left:4px}
.ks-play-sm{width:44px;height:44px;font-size:14px}
.ks-sermon:hover .ks-play{transform:translate(-50%,-50%) scale(1.06)}
.ks-sermon-tag{position:absolute;left:18px;top:18px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;z-index:1}
.ks-sermon-body{display:flex;flex-direction:column;gap:5px;padding:20px 22px 22px}
.ks-sermon-big .ks-sermon-body{padding:26px 30px 30px}
.ks-sermon-meta{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ks-sermon-title{font-size:1.2rem;font-weight:800;letter-spacing:-.015em;line-height:1.25}
.ks-sermon-big .ks-sermon-title{font-size:clamp(1.5rem,2.2vw,2rem)}
.ks-sermon-pass{font-size:14px;color:var(--dim)}
.ks-sermon-list{display:grid;gap:16px}
.ks-sermon-list .ks-sermon{flex-direction:row;align-items:stretch}
.ks-sermon-list .ks-sermon-art{width:44%;flex:0 0 44%;aspect-ratio:auto;min-height:130px}
.ks-sermon-list .ks-sermon-body{padding:18px 20px;justify-content:center}
.ks-sermon-list .ks-sermon-title{font-size:1.05rem}
@media (max-width:640px){.ks-sermon-list .ks-sermon{flex-direction:column}.ks-sermon-list .ks-sermon-art{width:100%;flex:none;aspect-ratio:16/9}}

/* ── next steps: a list ──────────────────────────────────────────────── */
.ks-split-top{align-items:start}
.ks-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ks-links li a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4px;border-bottom:1px solid var(--line);font-size:clamp(1.05rem,1.4vw,1.3rem);font-weight:700;color:var(--ink);text-decoration:none!important;transition:padding .2s}
.ks-links li a:hover{padding-left:12px}
.ks-links li a i{font-size:14px;color:var(--blue);transition:transform .2s}
.ks-links li a:hover i{transform:translateX(4px)}

/* ── app: a phone ────────────────────────────────────────────────────── */
.ks-app{background:var(--tint)}
.ks-app .ks-eyebrow{color:var(--blue)}
.ks-app .ks-title{color:var(--ink)}
.ks-phone-wrap{display:flex;justify-content:center;align-items:flex-end;min-height:520px;overflow:hidden}
.ks-phone{position:relative;width:300px;height:610px;margin-bottom:-120px;border-radius:48px;background:#111;padding:12px;box-shadow:0 50px 90px -40px rgba(15,23,42,.6),inset 0 0 0 2px #2a2a2a}
.ks-phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:37px;background:#fff}
.ks-phone-notch{position:absolute;left:50%;top:22px;transform:translateX(-50%);width:96px;height:26px;border-radius:999px;background:#111;z-index:2}
@media (max-width:900px){.ks-phone-wrap{min-height:0;margin-top:10px}.ks-phone{margin-bottom:-160px;width:260px;height:530px}}

.ks-bible .ks-lead{color:var(--body)}
.ks.ks-app .ks-title,.ks.ks-app h2{color:var(--ink)}
@media (max-width:900px){.ks-split-wide,.ks-split-top{grid-template-columns:1fr}.ks-browser{margin-top:10px}}

/* ── what to expect (/new/) ──────────────────────────────────────────── */
.ks-newhero .ks-in{padding:210px 28px 90px!important}
.ks-newhero h1{margin:0;font-size:clamp(3rem,6vw,5rem);font-weight:800;letter-spacing:-.035em;line-height:1;color:#fff}
.ks-newverse{margin:26px 0 0;padding:0 0 0 20px;border-left:3px solid #7cc4ff;max-width:620px}
.ks-newverse p{margin:0;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.45;font-style:italic;color:rgba(255,255,255,.92)}
.ks-newverse cite{display:block;margin-top:8px;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7cc4ff}
.ks-newintro .ks-title{font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.2;letter-spacing:-.02em}
.ks-expect-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 72px;counter-reset:none}
@media (max-width:900px){.ks-expect-list{grid-template-columns:1fr;gap:40px}}
.ks-expect-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:start}
.ks-expect-n{font-size:2.6rem;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--blue);opacity:.9}
.ks-expect-list h3{margin:6px 0 12px;font-size:clamp(1.35rem,1.9vw,1.75rem)}
.ks-expect-list p{margin:0 0 12px;font-size:1.02rem;line-height:1.65;color:var(--body)}
.ks-expect-list p:last-child{margin-bottom:0}
/* the page-builder template hands every child the full width; the inner
   column keeps its own */
.ks .ks-in{max-width:1200px!important;width:auto!important;margin-left:auto!important;margin-right:auto!important}
.ks-newhero .ks-in{max-width:1200px!important}

/* NO UNDERLINE ON A SECTION TITLE (Jerry, 2026-09-03: "Can we remove the
   underline"). The theme underlines every link inside page content, and the
   devotional's title is a link. !important because the theme's rule is more
   specific than anything a class of ours can be. */
.ks .ks-title a, .ks a.ks-plain, .ks .ks-title a:hover, .ks a.ks-plain:hover { text-decoration: none !important; border-bottom: 0 !important; }

/* THE SERVICE TIMES CARD WITH A PHOTO ACROSS ITS TOP, the way the map sits
   across the top of the card beside it. Without a photo the card is as it was. */
.ks-times.has-pic{padding:0;overflow:hidden;display:flex;flex-direction:column}
/* A FIXED HEIGHT, NOT AN ASPECT RATIO. Safari worked the box's width out
   from the clamped height and left a white sliver down the right of the
   photograph (Jerry, 2026-09-03: "the white on the right side needs to be
   filled in"); Chromium did not. Width is the card's, height is set. */
.ks-times-pic{display:block;width:100%;height:260px;background:#e6e8ec}
.ks-times-pic img{display:block;width:100%;height:100%;object-fit:cover}
.ks-times.has-pic .ks-times-body{padding:30px 36px 36px}
@media (max-width:900px){.ks-times-pic{height:220px}.ks-times.has-pic .ks-times-body{padding:24px 24px 28px}}

/* WELCOME, REDESIGNED: copy in five parts, photograph in seven, the
   photograph standing on an offset tinted panel. */
.ks-welcome-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:center}
.ks-welcome-copy .ks-eyebrow{display:inline-flex;align-items:center;gap:12px}
.ks-welcome-copy .ks-eyebrow::before{content:"";width:28px;height:2px;background:var(--blue);border-radius:2px}
.ks-welcome-copy .ks-title{font-size:clamp(2.4rem,4.4vw,3.6rem);line-height:1.02;letter-spacing:-.03em}
.ks-welcome-copy .ks-lead{max-width:46ch}
.ks-welcome-pic{position:relative;padding:28px 0 0 28px}
.ks-welcome-pic img{position:relative;display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:32px;box-shadow:0 40px 80px -40px rgba(15,23,42,.45)}
.ks-welcome-back{position:absolute;left:0;top:0;width:78%;height:78%;border-radius:32px;background:var(--tint)}
.ks-welcome-pic::after{content:"";position:absolute;right:-18px;bottom:-18px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(33,118,210,.28),rgba(33,118,210,0) 70%);pointer-events:none}
@media (max-width:900px){.ks-welcome-grid{grid-template-columns:1fr;gap:40px}.ks-welcome-pic{order:-1;padding:18px 0 0 18px}}

/* ── THREE BLOCKS GIVEN THEIR OWN SHAPES (Jerry, 2026-09-03: "each block is the
   same, they are all the same"). ─────────────────────────────────────── */
/* Devotional: one wide card with the photograph down its left edge. */
.ks-eyebrow-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.ks-eyebrow-row .ks-eyebrow{margin:0}
.ks-more{font-size:14.5px;font-weight:700;color:var(--blue);text-decoration:none!important;display:inline-flex;align-items:center;gap:8px}
.ks-more i{font-size:12px;transition:transform .2s}
.ks-more:hover i{transform:translateX(3px)}
.ks-feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(15,23,42,.35)}
.ks-feature-pic{display:block;min-height:420px;background:#1e293b center/cover no-repeat}
.ks-feature-body{padding:48px 52px 48px 56px}
.ks-verse{margin:0 0 26px;padding:0;border:0;background:none;quotes:none}
.ks-verse p{margin:0;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.4;color:var(--ink);letter-spacing:-.01em}
.ks-verse cite{display:block;margin-top:12px;font-style:normal;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.ks-feature-title{margin:0;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}
.ks-feature .ks-meta{margin:8px 0 0;font-size:14.5px;color:var(--dim)}
.ks-feature-txt{margin:16px 0 0;font-size:16px;line-height:1.65;color:var(--body);max-width:58ch}
.ks-feature .ks-acts{margin-top:26px}
@media (max-width:900px){.ks-feature{grid-template-columns:1fr}.ks-feature-pic{min-height:260px;aspect-ratio:16/10}.ks-feature-body{padding:28px 26px 30px}}
/* Bible: centred, a row of tiles, the browser across the whole width. */
.ks-acts-center{justify-content:center;margin-top:26px}
.ks-feature-tiles{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ks-feature-tiles li{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:18px;font-size:15px;font-weight:700;color:var(--ink)}
.ks-feature-tiles i{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:rgba(13,111,184,.1);color:var(--blue);font-size:16px}
.ks-browser-wide{margin-top:36px;max-width:1080px;margin-left:auto;margin-right:auto}
.ks-browser-wide img{max-height:560px;object-fit:cover;object-position:top}
@media (max-width:900px){.ks-feature-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ks-feature-tiles{grid-template-columns:1fr}}
/* Radio: a disc of a photograph, the station and the hour lifted out. */
.ks-radio-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.ks-radio-facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ks-fact{display:inline-flex;flex-direction:column;gap:2px;padding:14px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;min-width:150px}
.ks-fact b{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.1}
.ks-fact i{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.ks-radio .ks-acts{margin-top:24px}
.ks-radio-disc{position:relative;width:min(100%,420px);aspect-ratio:1;margin-left:auto}
.ks-radio-disc img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 30px 60px -30px rgba(15,23,42,.4)}
.ks-radio-ring{position:absolute;inset:-22px;border-radius:50%;border:2px dashed rgba(13,111,184,.35)}
.ks-radio-disc::after{content:"";position:absolute;left:-14px;bottom:8%;width:56px;height:56px;border-radius:50%;background:var(--blue);opacity:.9;z-index:2}
@media (max-width:900px){.ks-radio-grid{grid-template-columns:1fr;gap:36px}.ks-radio-disc{margin:0 auto;width:min(100%,300px)}}

/* ── APPLE-LIKE (Jerry, 2026-09-03: "modern, professional, Apple like, classy").
   Large calm type, one accent, generous air, soft 28px frames, grey panels
   (#f5f5f7) rather than borders, text links with a chevron beside the one
   black button per block. Nothing decorative: no rings, dots, glows, tiles. */
.ks-apple{--panel:#f5f5f7;--body:#6e6e73;--ink:#1d1d1f}
.ks-apple .ks-in{padding-top:110px;padding-bottom:110px}
.ks-apple .ks-eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:16px}
.ks-apple .ks-title{font-weight:700;letter-spacing:-.03em;color:var(--ink)}
.ks-title-xl{font-size:clamp(2.3rem,4vw,3.5rem);line-height:1.05}
.ks-title-md{font-size:clamp(1.7rem,2.6vw,2.3rem);line-height:1.1}
.ks-statement{max-width:760px;margin:0 auto;text-align:center}
.ks-statement .ks-lead{margin:20px auto 0;font-size:clamp(1.05rem,1.25vw,1.2rem);line-height:1.55;color:var(--body);max-width:58ch}
.ks-statement .ks-acts{margin-top:30px}
.ks-acts-center{justify-content:center}
.ks-frame{margin:64px 0 0;border-radius:28px;overflow:hidden;background:#e8e8ed}
.ks-frame img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}
.ks-panel{background:var(--panel);border-radius:28px;overflow:hidden}
.ks-panel-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.ks-panel-copy{padding:64px 60px;display:flex;flex-direction:column;justify-content:center}
.ks-panel-pic{display:block;min-height:440px;background:#e8e8ed}
.ks-panel-pic img{display:block;width:100%;height:100%;object-fit:cover}
.ks-panel .ks-meta{margin:10px 0 0;font-size:15px;color:var(--body)}
.ks-quote{margin:26px 0 0;font-size:clamp(1.2rem,1.6vw,1.45rem);line-height:1.45;font-weight:600;letter-spacing:-.015em;color:var(--ink)}
.ks-quote-ref{display:inline-block;margin-left:8px;font-size:.8em;font-weight:700;color:var(--blue);white-space:nowrap}
.ks-body{margin:18px 0 0;font-size:17px;line-height:1.6;color:var(--body);max-width:56ch}
.ks-textlinks{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:26px}
.ks-link{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:600;color:var(--blue);text-decoration:none!important}
.ks-link i{font-size:11px;transition:transform .2s}
.ks-link:hover i{transform:translateX(3px)}
.ks-facts-inline{display:flex;flex-wrap:wrap;gap:16px 48px;margin:28px 0 0}
.ks-facts-inline div{margin:0}
.ks-facts-inline dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--body)}
.ks-facts-inline dd{margin:4px 0 0;font-size:clamp(1.4rem,2vw,1.8rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ks-panel-dark{background:#1d1d1f;color:#f5f5f7}
.ks-panel-dark .ks-title,.ks-panel-dark .ks-facts-inline dd{color:#f5f5f7}
.ks-panel-dark .ks-body,.ks-panel-dark .ks-facts-inline dt{color:#a1a1a6}
.ks-panel-dark .ks-eyebrow{color:#6fb3ec}
.ks-panel-dark .ks-link{color:#6fb3ec}
.ks-screen{display:block;margin:56px auto 0;max-width:1120px;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 30px 70px -30px rgba(0,0,0,.35),0 1px 0 rgba(0,0,0,.04)}
.ks-screen img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover;object-position:top}
.ks-features{list-style:none;margin:56px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;max-width:1120px}
.ks-features li{text-align:center;font-size:15px;font-weight:600;color:var(--ink);line-height:1.35;padding:0 8px}
.ks-features i{display:block;font-size:24px;color:var(--blue);margin:0 auto 14px}
.ks-apple .ks-btn-primary{background:var(--ink)}
@media (max-width:900px){.ks-apple .ks-in{padding-top:72px;padding-bottom:72px}.ks-panel-split{grid-template-columns:1fr}.ks-panel-copy{padding:36px 28px;order:1}.ks-panel-pic{min-height:0;aspect-ratio:4/3}.ks-features{grid-template-columns:repeat(2,minmax(0,1fr))}.ks-frame{margin-top:40px}.ks-frame img{aspect-ratio:16/10}}

/* ── THE APP: the phone standing up from the bottom edge of the block. */
.ks-app-stage{overflow:hidden}
.ks-app-stage .ks-in{padding-bottom:0}
.ks-stores-center{justify-content:center}
.ks-phone-stage{display:flex;justify-content:center;align-items:flex-start;height:470px;margin-top:56px;overflow:hidden}
.ks-app-stage .ks-phone{margin-bottom:0;width:320px;height:650px}
@media (max-width:900px){.ks-phone-stage{height:380px;margin-top:36px}.ks-app-stage .ks-phone{width:270px;height:550px}}
/* ── GIVING: the page and the front-page door. */
.ks-in-narrow{max-width:760px}
.ks-give-why .ks-body{font-size:18px;line-height:1.65}
.ks-give-why .ks-quote{margin:28px 0}
.ks-quote-center{text-align:center;margin:26px auto 0;max-width:46ch}
.ks-notice{margin:28px auto 0;max-width:520px;padding:14px 18px;border-radius:14px;background:var(--panel);text-align:center;font-weight:600;color:var(--ink)}
.ks-notice-ok{background:#e7f6ec;color:#146c2e}
.ks-notice i{margin-right:8px}
.ks-give-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px}
.ks-give-online{grid-column:1/-1}
.ks-give-grid .ks-panel-copy{padding:44px 48px}
.ks-give-h{margin:0;font-size:clamp(1.4rem,2vw,1.8rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ks-amounts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.ks-amt{position:relative}
.ks-amt input{position:absolute;opacity:0;inset:0}
.ks-amt span{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:52px;padding:0 20px;border-radius:14px;background:#fff;border:1px solid #d2d2d7;font-size:17px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s}
.ks-amt input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.ks-amt input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.ks-donate-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:18px;max-width:640px}
.ks-field{display:flex;flex-direction:column;gap:6px}
.ks-field>span{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--body)}
.ks-field>span em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500}
.ks-field input{height:52px;padding:0 16px;border-radius:14px;border:1px solid #d2d2d7;background:#fff;font:inherit;font-size:17px;color:var(--ink)}
.ks-field input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,111,184,.15)}
.ks-donate .ks-btn{margin-top:22px}
.ks-fine{margin:14px 0 0;font-size:13.5px;line-height:1.5;color:var(--body)}
.ks-copyline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}
.ks-copyline code{font:inherit;font-size:18px;font-weight:700;color:var(--ink);background:#fff;border:1px solid #d2d2d7;border-radius:12px;padding:10px 16px}
.ks-copybtn{height:44px;padding:0 16px;border-radius:12px;border:1px solid #d2d2d7;background:#fff;font:inherit;font-size:14.5px;font-weight:600;color:var(--blue);cursor:pointer}
.ks-copybtn:hover{border-color:var(--blue)}
.ks-address{margin:18px 0 0;font-style:normal;font-size:17px;line-height:1.6;font-weight:600;color:var(--ink)}
.ks-give-home .ks-acts{flex-wrap:wrap}
@media (max-width:900px){.ks-give-grid{grid-template-columns:1fr}.ks-give-grid .ks-panel-copy{padding:30px 26px}.ks-donate-row{grid-template-columns:1fr}}

/* The give page's header: the old page's photograph under a dark wash, so the
   site's white header has something to sit on. */
.ks-give-hero{position:relative;background-color:var(--dark);background-size:cover;background-position:center;color:#fff}
.ks-give-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,30,.72),rgba(10,15,30,.55) 60%,rgba(10,15,30,.75))}
.ks-give-hero .ks-in{position:relative;padding:190px 28px 96px}
.ks-give-hero .ks-title{color:#fff}
.ks-give-hero .ks-quote{color:#fff}
.ks-give-hero .ks-quote-ref{color:#8fcbff}
.ks-give-hero .ks-notice{background:rgba(255,255,255,.12);color:#fff}
.ks-give-hero .ks-notice-ok{background:rgba(31,157,85,.35)}
@media (max-width:900px){.ks-give-hero .ks-in{padding:150px 24px 64px}}

/* ── /new/, APPLE-LIKE: the header band, the intro panel, four tiles. */
.ks-newhero.ks-apple .ks-in{padding:190px 28px 96px!important}
.ks-newhero.ks-apple .ks-title{color:#fff}
.ks-newhero.ks-apple .ks-quote{color:#fff}
.ks-newhero.ks-apple .ks-quote-ref{color:#8fcbff}
.ks-newintro.ks-apple .ks-in{padding-bottom:0}
.ks-newintro .ks-panel-copy .ks-title-md{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.2}
.ks-newintro .ks-panel-copy .ks-acts{margin-top:28px}
.ks-expect-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ks-expect-tiles li{background:var(--panel,#f5f5f7);border-radius:28px;padding:44px 44px 46px}
.ks-expect-num{display:block;font-size:2.4rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--blue);margin-bottom:18px}
.ks-expect-tiles h3{margin:0 0 12px;font-size:clamp(1.35rem,1.9vw,1.7rem);font-weight:700;letter-spacing:-.02em;color:var(--ink)}
.ks-expect-tiles p{margin:0 0 12px;font-size:17px;line-height:1.6;color:var(--body)}
.ks-expect-tiles p:last-child{margin-bottom:0}
@media (max-width:900px){.ks-expect-tiles{grid-template-columns:1fr;gap:16px}.ks-expect-tiles li{padding:30px 26px 32px}.ks-newhero.ks-apple .ks-in{padding:150px 24px 64px!important}}

/* The label in the photo's corner: a small white pill, the way the bulletin
   cover captions its prints. */
.ks-times-pic{position:relative}
.ks-pic-label{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(6px);box-shadow:0 2px 10px rgba(0,0,0,.14);font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ── CONTACT: the three ways to reach the office, the map, the form's panel. */
.ks-contact .ks-in{padding-top:88px;padding-bottom:40px}
.ks-give-hero .ks-lead{color:rgba(255,255,255,.82);margin:18px auto 0}
.ks-give-hero .ks-lead strong{color:#fff}
.ks-reach{list-style:none;margin:0 0 56px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ks-reach li{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ks-reach li i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--panel,#f5f5f7);color:var(--blue);font-size:17px;margin-bottom:6px}
.ks-reach-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--body)}
.ks-reach li a{font-size:1.15rem;font-weight:600;line-height:1.35;color:var(--ink);text-decoration:none!important}
.ks-reach li a:hover{color:var(--blue)}
.ks-mapframe{border-radius:28px;overflow:hidden;background:#e8e8ed;aspect-ratio:21/9}
.ks-mapframe iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.9)}
.ks-contact-form .ks-in{padding-top:40px;padding-bottom:120px}
.ks-contact-panel{padding:48px 52px 44px}
/* The page builder's form, in the site's dress. */
.ks-contact-panel .uagb-forms__outer-wrap{margin:0}
.ks-contact-panel .uagb-forms-input-label{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--body);margin:0 0 8px}
.ks-contact-panel .uagb-forms-field-set{margin:0 0 20px}
.ks-contact-panel .uagb-forms-input,.ks-contact-panel select.uagb-forms-input{width:100%;height:52px;padding:0 16px;font:inherit;font-size:17px;color:var(--ink);background:#fff!important;border:1px solid #d2d2d7!important;border-radius:14px!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
.ks-contact-panel textarea.uagb-forms-input{height:auto;min-height:150px;padding:14px 16px;line-height:1.5;resize:vertical}
.ks-contact-panel select.uagb-forms-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:16px!important;padding-right:42px}
.ks-contact-panel .uagb-forms-input:focus{outline:none;border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(13,111,184,.15)!important}
.ks-contact-panel .uagb-forms-input::placeholder{color:#a1a1a6}
.ks-contact-panel .uagb-forms-main-submit-button-wrap{margin-top:8px}
.ks-contact-panel .uagb-forms-main-submit-button{display:inline-flex;align-items:center;justify-content:center;min-width:220px;height:54px;padding:0 30px;border:0!important;border-radius:999px!important;background:var(--ink)!important;color:#fff!important;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s,transform .15s}
.ks-contact-panel .uagb-forms-main-submit-button:hover{background:#000!important;transform:translateY(-1px)}
.ks-contact-panel .uagb-forms-success-message-wrap,.ks-contact-panel .uagb-forms-failed-message-wrap{margin-top:16px;padding:14px 18px;border-radius:14px;font-weight:600}
.ks-contact-panel .uagb-forms-success-message-wrap{background:#e7f6ec;color:#146c2e}
.ks-contact-panel .uagb-forms-failed-message-wrap{background:#fde8e8;color:#a32020}
@media (max-width:900px){.ks-reach{grid-template-columns:1fr;gap:24px}.ks-mapframe{aspect-ratio:4/3}.ks-contact-panel{padding:30px 24px 28px}.ks-contact .ks-in{padding-top:56px}}

/* ── ETERNAL LIFE: an opening statement, a four-step index, four panels, the prayer. */
.ks-hope .ks-in{padding-top:96px;padding-bottom:0}
.ks-hope-open{text-align:center;max-width:700px;margin:0 auto}
.ks-hope-big{margin:0 0 20px;font-size:clamp(1.35rem,2.1vw,1.8rem);line-height:1.3;font-weight:700;letter-spacing:-.025em;color:var(--ink)}
.ks-hope-open .ks-body{margin:0 auto;max-width:60ch}
/* THE FOUR STEPS, THE WAY APPLE LISTS FEATURES (Jerry, 2026-09-04: "try
   again"): no boxes. Four columns with a hairline between them, a large
   blue icon, the title, and a quiet "Read" link; all the same height because
   they are one row. */
.ks-hope-index{list-style:none;margin:56px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px}
.ks-hope-index li{display:flex;border-left:1px solid var(--line,#e5e5ea)}
.ks-hope-index li:first-child{border-left:0}
.ks-hope-index a{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:10px 24px;text-decoration:none!important;color:var(--ink);transition:transform .2s cubic-bezier(.2,.8,.2,1)}
.ks-hope-index a:hover{transform:translateY(-3px)}
.ks-hope-index a>i{font-size:30px;line-height:1;color:var(--blue);margin-bottom:4px}
.ks-hope-index a b{font-size:15.5px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink);max-width:22ch}
.ks-hope-go{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--blue)}
.ks-hope-go i{font-size:10px;transition:transform .2s}
.ks-hope-index a:hover .ks-hope-go i{transform:translateX(3px)}
.ks-hope-steps{display:grid;gap:22px;padding-top:56px!important;padding-bottom:120px!important}
.ks-hope-step{padding:44px 48px 46px;scroll-margin-top:110px}
.ks-hope-step .ks-title-md{margin:0 0 14px}
.ks-hope-step .ks-body{max-width:none}
.ks-hope-prayer{margin:26px 0 0;padding:26px 30px;border-radius:20px;background:#fff;border:0}
.ks-hope-prayer p{margin:0;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.55;font-style:italic;color:var(--ink)}
.ks-hope-never{margin:18px 0 0;font-size:17px;font-weight:700;color:var(--ink)}
.ks-hope-close{text-align:center;padding-top:24px}
.ks-hope-close .ks-body{margin:0 auto 26px;max-width:58ch}
.ks-hope-close .ks-acts{justify-content:center}
@media (max-width:900px){.ks-hope .ks-in{padding-top:64px}.ks-hope-index{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}.ks-hope-index li:nth-child(3){border-left:0}.ks-hope-step{padding:28px 24px 30px}.ks-hope-steps{padding-top:36px!important;padding-bottom:72px!important}}

/* ── DECISION: the pastor's letter as an open statement, then the form's panel. */
.ks-decision .ks-in{padding-top:96px;padding-bottom:0}
.ks-letter{max-width:680px;margin:0 auto;text-align:center}
.ks-letter .ks-hope-big{margin-bottom:22px}
.ks-letter .ks-body{margin:0 auto 16px;max-width:60ch}
.ks-letter-sign{margin:28px 0 0;display:flex;flex-direction:column;gap:4px;align-items:center;color:var(--body);font-size:17px}
.ks-letter-sign b{color:var(--ink);font-weight:700}
@media (max-width:900px){.ks-decision .ks-in{padding-top:64px}}

/* ── WHAT WE BELIEVE: the eight doctrines set out in full, with an index. */
.ks-believe .ks-in{padding-top:96px;padding-bottom:0}
.ks-believe-index{list-style:none;margin:48px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;max-width:1040px}
.ks-believe-index a{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid var(--line,#e5e5ea);text-decoration:none!important;color:var(--ink);font-size:15px;font-weight:600;line-height:1.3;transition:color .15s}
.ks-believe-index a:hover{color:var(--blue)}
.ks-believe-index a span{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--blue);flex:0 0 auto}
.ks-believe-text{max-width:none}
.ks-believe-text p{margin:0 0 14px;font-size:17px;line-height:1.65;color:var(--body)}
.ks-believe-text p:last-child{margin-bottom:0}
.ks-believe-text strong{color:var(--ink)}
@media (max-width:900px){.ks-believe .ks-in{padding-top:64px}.ks-believe-index{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* THE VISIT PHOTO SPILLING OVER THE TIMES ON A PHONE (Jerry, 2026-09-04): the picture is a
   column-flex child with a fixed height but the default min-height:auto, so on iOS its natural
   height won and it covered the first service row. The box now has a zero minimum and the image
   is pinned inside it. */
.ks-times.has-pic .ks-times-pic{flex:0 0 260px;min-height:0;height:260px;overflow:hidden;position:relative}
.ks-times.has-pic .ks-times-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ks-times.has-pic .ks-times-body{min-height:0}
@media (max-width:900px){.ks-times.has-pic .ks-times-pic{flex-basis:220px;height:220px}}
