/* Version 2: real ministry photography, leadership and social channels. */
.leadership{position:relative;background:var(--blue-deep);color:#fff;overflow:hidden}
.leadership:before{content:'';position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-170px;top:-170px;box-shadow:0 0 0 70px rgba(255,255,255,.025)}
.leadership-intro{position:relative;max-width:790px;margin-bottom:58px}
.leadership-intro .section-kicker{color:#ffc056}
.leadership-intro h2{margin-bottom:24px}
.leadership-intro h2 em{color:#ffc056}
.leadership-intro p{max-width:620px;color:#b4c1d0;font-size:17px}
.leadership-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:22px}
.leader-card{position:relative;min-height:560px;overflow:hidden;border-radius:8px;background:#fff;color:var(--blue);box-shadow:0 28px 65px rgba(0,0,0,.22)}
.leader-photo{position:absolute;inset:0}
.leader-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,26,61,.94) 100%)}
.leader-photo img{transition:transform .65s cubic-bezier(.22,1,.36,1)}
.leader-card:hover .leader-photo img{transform:scale(1.035)}
.leader-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:32px;color:#fff}
.leader-copy span{display:block;color:#ffc056;text-transform:uppercase;letter-spacing:.16em;font-size:9px;font-weight:700}
.leader-copy h3{font:600 clamp(2rem,3.3vw,3.2rem)/1 var(--display);margin:10px 0 8px}
.leader-copy p{margin:0;color:#c9d3df;font-size:13px}
.leader-primary{min-height:650px}
.ministry-card:before{background-position:center 28%!important}
.ministry-family:before{background-image:linear-gradient(180deg,transparent 20%,rgba(3,26,61,.96)),url('../images/ministry/family-01.webp')!important}
.ministry-youth:before{background-image:linear-gradient(180deg,transparent 20%,rgba(3,26,61,.96)),url('../images/ministry/family-02.webp')!important}
.ministry-women:before{background-image:linear-gradient(180deg,transparent 20%,rgba(3,26,61,.96)),url('../images/ministry/family-03.webp')!important}
.ministry-outreach:before{background-image:linear-gradient(180deg,transparent 20%,rgba(3,26,61,.96)),url('../images/ministry/family-04.webp')!important}
.social-rail{position:fixed;right:0;top:48%;z-index:45;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:8px 0 0 8px;box-shadow:0 14px 40px rgba(3,26,61,.17);overflow:hidden}
.social-rail>span{writing-mode:vertical-rl;transform:rotate(180deg);padding:14px 11px;color:#71807b;text-transform:uppercase;letter-spacing:.18em;font-size:8px;font-weight:700}
.social-rail a{width:42px;height:42px;display:grid;place-items:center;border-top:1px solid #e7ece9;font-size:10px;font-weight:800;color:var(--blue);transition:.2s}
.social-rail a:hover{background:var(--forest);color:#fff}
.footer-socials{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.footer-socials a{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 16px;border:1px solid rgba(255,255,255,.14);border-radius:5px;transition:.2s}
.footer-socials a:hover{background:#fff;color:var(--blue);transform:translateY(-2px)}
.footer-socials b{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#ffc056;color:var(--blue);font-size:10px}
.footer-socials span{font-size:11px;font-weight:700;line-height:1.25}.footer-socials strong,.footer-socials small{display:block}.footer-socials small{margin-top:3px;color:#aebbd0;font-size:9px;font-weight:500}.footer-socials a:hover small{color:#60716c}
.nav-socials{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.nav-socials a{padding:7px 10px;border:1px solid rgba(255,255,255,.17);border-radius:99px;color:#fff!important;font-size:9px}
.signature-line b,.prayer-float b,.explore-toggle b{font:inherit}
.proof-faces{display:flex!important;flex:0 0 auto}.proof-faces i{display:block!important;flex:0 0 34px;width:34px!important;height:34px!important;overflow:hidden;background:none!important}.proof-faces i:nth-child(2),.proof-faces i:nth-child(3){margin-left:-9px}.proof-faces img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:900px){.leadership-grid{grid-template-columns:1fr 1fr}.leader-card,.leader-primary{min-height:500px}.social-rail{display:none}.footer-socials{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.leadership-intro{margin-bottom:38px}.leadership-grid{grid-template-columns:1fr}.leader-card,.leader-primary{min-height:470px}.leader-copy{padding:24px}.footer-socials{grid-template-columns:1fr 1fr}.footer-socials a{padding:10px}.footer-socials span{font-size:10px}}
@media(max-width:390px){.leader-card,.leader-primary{min-height:430px}.footer-socials{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.leader-photo img,.footer-socials a{transition:none}}

/* Reusable, CMS-managed content carousels */
.content-carousel{position:relative;margin-top:54px;--slides:2}
.carousel-viewport{overflow:hidden;border-radius:10px;touch-action:pan-y}
.carousel-track{display:flex;transform:translate3d(0,0,0);transition:transform .7s cubic-bezier(.22,1,.36,1);will-change:transform}
.carousel-slide{flex:0 0 calc(100% / var(--slides));min-width:0}
.carousel-arrow{position:absolute;z-index:5;top:50%;width:52px;height:52px;border:1px solid rgba(255,255,255,.78);border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,245,239,.88));color:var(--blue);box-shadow:0 12px 34px rgba(3,26,61,.24),inset 0 0 0 4px rgba(255,192,86,.14);backdrop-filter:blur(12px);cursor:pointer;transform:translateY(-50%);font-size:19px;font-weight:800;transition:transform .25s,background .25s,color .25s,box-shadow .25s}
.carousel-arrow:hover{background:linear-gradient(145deg,#0a8745,#056b34);color:#fff;box-shadow:0 15px 38px rgba(5,107,52,.34),inset 0 0 0 4px rgba(255,255,255,.12);transform:translateY(-50%) scale(1.08)}
.carousel-arrow:disabled{opacity:.35;cursor:default}
.carousel-prev{left:-24px}.carousel-next{right:-24px}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#bdc9c2;cursor:pointer;transition:width .25s,background .25s}
.carousel-dots button.active{width:28px;background:var(--forest)}
.word-slide{position:relative;height:520px;overflow:hidden;background:var(--blue-deep);border-right:10px solid #fff;border-left:10px solid #fff;color:#fff}
.word-slide img,.leader-photo img,.visit-slide img,.community-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.word-slide:after,.visit-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,26,61,.92))}
.word-slide>div,.visit-slide>div{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:34px}
.word-slide span,.visit-slide span{color:#ffc056;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}
.word-slide h3,.visit-slide h3{font:600 clamp(2rem,3.2vw,3.3rem)/1 var(--display);margin:10px 0}
.word-slide p,.visit-slide p{color:#d7e0e8;margin:0;max-width:580px;line-height:1.6}
.word-slide:hover img,.visit-slide:hover img,.ministry-card:hover .community-photo{transform:scale(1.035)}
.pastor-carousel{margin-top:0}
.pastor-carousel .carousel-viewport{border-radius:8px}
.pastor-carousel .leader-card{border-right:9px solid var(--blue-deep);border-left:9px solid var(--blue-deep)}
.pastor-carousel .carousel-dots button{background:#5c6e87}.pastor-carousel .carousel-dots button.active{background:#ffc056}
.pastor-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pastor-links a{padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:99px;color:#fff;font-size:10px}
.visit-carousel{--slides:1;margin-top:0;min-width:0}
.visit-slide{position:relative;height:640px;overflow:hidden;background:var(--blue-deep);color:#fff}
.visit-slide>div{padding:40px}.visit-slide h3{font-size:clamp(2.4rem,4.4vw,4.2rem)}
.visit-slide a{display:inline-flex;margin-top:20px;padding:12px 18px;border-radius:99px;background:#ffc056;color:var(--blue);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.visit-carousel .carousel-prev{left:18px}.visit-carousel .carousel-next{right:18px}.visit-carousel .carousel-arrow{top:42px;transform:none}.visit-carousel .carousel-arrow:hover{transform:scale(1.06)}
.hero-backgrounds,.hero-bg{position:absolute;inset:0}.hero-bg{opacity:0;background-size:cover;background-position:center 38%;transition:opacity 1s ease}.hero-bg.active{opacity:1}
.ministry-card{isolation:isolate;color:#fff;background:var(--blue-deep)}
.ministry-card:before{opacity:.7!important;z-index:-1}
.ministry-card .community-photo{position:absolute;inset:0;z-index:-2}
.ministry-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,26,61,.05) 20%,rgba(3,26,61,.95))}
.social-icon{width:20px;height:20px;display:block;fill:currentColor}
.social-rail a:hover .social-icon,.footer-socials a:hover .social-icon{transform:translateY(-1px) scale(1.06)}
.social-icon{transition:transform .2s ease}.footer-socials b{font-size:0}.footer-socials b .social-icon{width:17px;height:17px}
[hidden]{display:none!important}
@media(max-width:900px){.content-carousel{--slides:1}.word-slide{border-width:0}.pastor-carousel .leader-card{border-width:0}.carousel-prev{left:12px}.carousel-next{right:12px}.visit-slide{height:540px}}
@media(max-width:620px){.content-carousel{margin-top:36px}.carousel-arrow{width:42px;height:42px}.word-slide{height:430px}.word-slide>div,.visit-slide>div{padding:25px}.visit-slide{height:460px}.pastor-carousel{margin-top:0}.leader-card{min-height:520px}.carousel-dots{margin-top:16px}.ministry-card:before{opacity:1!important}}
@media(min-width:901px){.nav-social-shortcuts{display:flex;align-items:center;gap:5px;margin-left:2px}.nav-social-shortcuts a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(6,40,93,.13);border-radius:50%;color:var(--blue);transition:transform .2s,background .2s,color .2s,box-shadow .2s}.nav-social-shortcuts a:hover{background:var(--forest);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(5,107,52,.2)}.nav-social-shortcuts span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
@media(min-width:901px) and (max-width:1180px){.nav-social-shortcuts{display:none}}
@media(max-width:900px){.nav-social-shortcuts{display:none}.nav-socials a{display:inline-flex;align-items:center;gap:6px}.hero-proof{display:flex!important}.proof-faces{display:flex!important}}
@media(max-width:390px){.proof-faces{display:flex!important}.hero-proof{gap:10px}.proof-faces i{flex-basis:30px;width:30px!important;height:30px!important}.hero-proof b{font-size:10px}.hero-proof small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.carousel-track,.hero-bg,.word-slide img,.visit-slide img,.community-photo,.social-icon{transition:none!important}.hero-emblem{animation:none!important}}
