.pastors-section{
    position:relative;
    overflow:hidden;
    padding:90px 0;
    background:#ffffff;
    font-family:'Google Sans',Arial,sans-serif;
    isolation:isolate;
}

.pastors-section::before{
    content:"";
    position:absolute;
    width:900px;
    height:420px;
    left:-200px;
    top:-180px;
    background:
        radial-gradient(circle at 25% 35%,rgba(255,183,77,.30),transparent 35%),
        radial-gradient(circle at 65% 60%,rgba(76,175,80,.20),transparent 38%),
        radial-gradient(circle at 80% 25%,rgba(33,150,243,.16),transparent 30%);
    border-radius:50%;
    filter:blur(8px);
    animation:pastorGlow 9s ease-in-out infinite alternate;
    z-index:-3;
}

.pastors-section::after{
    content:"";
    position:absolute;
    width:120%;
    height:240px;
    left:-10%;
    bottom:-100px;
    background:
        linear-gradient(90deg,
        rgba(255,193,7,.10),
        rgba(0,188,212,.10),
        rgba(156,39,176,.09),
        rgba(76,175,80,.10));
    border-radius:50% 50% 0 0 / 100% 100% 0 0;
    transform:rotate(-2deg);
    animation:waveMove 8s ease-in-out infinite alternate;
    z-index:-3;
}

@keyframes pastorGlow{
    from{transform:translate3d(0,0,0) scale(1)}
    to{transform:translate3d(80px,35px,0) scale(1.08)}
}

@keyframes waveMove{
    from{transform:translateX(-2%) rotate(-2deg)}
    to{transform:translateX(3%) rotate(1deg)}
}

.pastor-bubble,
.pastor-ring{
    position:absolute;
    pointer-events:none;
    z-index:-1;
}

.pastor-bubble{
    border-radius:50%;
    background:linear-gradient(135deg,rgba(255,152,0,.17),rgba(255,255,255,.25));
    box-shadow:inset 0 0 0 1px rgba(255,152,0,.12);
    animation:bubbleFloat 7s ease-in-out infinite;
}

.bubble-one{
    width:70px;
    height:70px;
    top:12%;
    left:3%;
}

.bubble-two{
    width:40px;
    height:40px;
    right:7%;
    top:24%;
    animation-delay:1.4s;
    background:linear-gradient(135deg,rgba(0,188,212,.15),rgba(255,255,255,.35));
}

.bubble-three{
    width:90px;
    height:90px;
    right:15%;
    bottom:8%;
    animation-delay:2.5s;
    background:linear-gradient(135deg,rgba(76,175,80,.13),rgba(255,255,255,.30));
}

@keyframes bubbleFloat{
    0%,100%{transform:translateY(0) rotate(0)}
    50%{transform:translateY(-24px) rotate(8deg)}
}

.pastor-ring{
    width:150px;
    height:150px;
    border:1px solid rgba(255,152,0,.20);
    border-radius:50%;
    top:38%;
    right:-45px;
    animation:ringRotate 12s linear infinite;
}

.pastor-ring::before,
.pastor-ring::after{
    content:"";
    position:absolute;
    border-radius:50%;
    border:1px dashed rgba(0,150,136,.18);
}

.pastor-ring::before{
    inset:18px;
}

.pastor-ring::after{
    inset:42px;
    border-color:rgba(63,81,181,.16);
}

@keyframes ringRotate{
    to{transform:rotate(360deg)}
}

.section-heading{
    position:relative;
    margin-bottom:50px;
}

.section-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:8px 14px;
    border-radius:5px;
    background:#fff7e8;
    color:#d97706;
    border:1px solid #ffe0a8;
    box-shadow:0 8px 25px rgba(209,130,24,.08);
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
}

.section-heading h2{
    margin:15px 0 8px;
    color:#17212b;
    font-weight:700;
    font-size:clamp(30px,4vw,48px);
    line-height:1.1;
}

.section-heading h2 span{
    color:#e98216;
}

.section-heading p{
    max-width:720px;
    margin:0 auto;
    color:#65717c;
    font-size:16px;
    line-height:1.8;
}

.title-divider{
    width:95px;
    height:5px;
    margin:18px auto 0;
    display:flex;
    gap:5px;
}

.title-divider span{
    display:block;
    height:4px;
    border-radius:20px;
}

.title-divider span:nth-child(1){
    width:45px;
    background:#f59e0b;
}

.title-divider span:nth-child(2){
    width:20px;
    background:#22c55e;
}

.title-divider span:nth-child(3){
    width:30px;
    background:#38bdf8;
}

.pastor-card{
    position:relative;
    height:100%;
    overflow:hidden;
    background:rgba(255,255,255,.96);
    border:1px solid #e9edf2;
    border-radius:18px;
    box-shadow:0 20px 55px rgba(37,53,69,.10);
    transition:.35s ease;
}

.pastor-card:hover{
    transform:translateY(-7px);
    box-shadow:0 28px 70px rgba(37,53,69,.16);
}

.pastor-card::before{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    right:-50px;
    top:-55px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(255,193,7,.16),rgba(255,87,34,.06));
}

.pastor-card.second::before{
    background:linear-gradient(135deg,rgba(33,150,243,.16),rgba(76,175,80,.08));
}

.pastor-image-wrap{
    position:relative;
    height:100%;
    min-height:445px;
    overflow:hidden;
    background:#f4f6f8;
}

.pastor-image{
    width:100%;
    height:100%;
    min-height:445px;
    object-fit:cover;
    object-position:center top;
    transition:transform .55s ease;
}

.pastor-card:hover .pastor-image{
    transform:scale(1.045);
}

.image-shade{
    position:absolute;
    inset:0;
    background:
        linear-gradient(to bottom,transparent 45%,rgba(18,24,31,.12) 65%,rgba(15,20,27,.82) 100%);
}

.image-mini-logo{
    position:absolute;
    top:18px;
    left:18px;
    width:54px;
    height:54px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    border:3px solid rgba(255,255,255,.65);
    box-shadow:0 8px 24px rgba(0,0,0,.15);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.image-mini-logo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.pastor-overlay{
    position:absolute;
    left:16px;
    right:16px;
    bottom:16px;
    padding:14px 15px;
    border-radius:10px;
    color:#fff;
    background:rgba(20,25,31,.72);
    backdrop-filter:blur(9px);
    border:1px solid rgba(255,255,255,.20);
}

.pastor-overlay small{
    display:block;
    color:#ffc766;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:4px;
}

.pastor-overlay h5{
    margin:0;
    font-size:19px;
    font-weight:700;
}

.pastor-content{
    position:relative;
    padding:30px 25px;
    height:100%;
}

.ministry-label{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#ce710e;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:10px;
}

.second .ministry-label{
    color:#167d96;
}

.pastor-content h3{
    color:#1e2832;
    margin:0 0 4px;
    font-size:26px;
    line-height:1.2;
    font-weight:700;
}

.pastor-role{
    color:#e88821;
    font-size:14px;
    font-weight:600;
    margin-bottom:16px;
}

.second .pastor-role{
    color:#168ca2;
}

.content-line{
    position:relative;
    width:100%;
    height:1px;
    background:#e8edf1;
    margin:16px 0;
}

.content-line::before{
    content:"";
    position:absolute;
    left:0;
    top:-1px;
    width:70px;
    height:3px;
    border-radius:5px;
    background:linear-gradient(90deg,#f59e0b,#ff7043);
}

.second .content-line::before{
    background:linear-gradient(90deg,#06b6d4,#4caf50);
}

.pastor-text{
    color:#68737d;
    font-size:14px;
    line-height:1.75;
    margin-bottom:16px;
    font-weight: 600;
}

.pastor-list{
    list-style:none;
    padding:0;
    margin:0 0 20px;
}

.pastor-list li{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:7px 0;
    color:#4f5b65;
    font-size:13.5px;
    border-bottom:1px dashed #ebedf0;
}

.pastor-list li:last-child{
    border-bottom:0;
}

.pastor-list i{
    flex:0 0 25px;
    width:25px;
    height:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:5px;
    background:#fff4df;
    color:#e48217;
    font-size:11px;
}

.second .pastor-list i{
    background:#eafafa;
    color:#0e91a5;
}

.ministry-info-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin-top:17px;
}

.info-box{
    position:relative;
    overflow:hidden;
    padding:12px;
    border-radius:8px;
    border:1px solid #eef1f3;
}

.info-box i{
    font-size:18px;
    margin-bottom:7px;
}

.info-box strong{
    display:block;
    color:#25303b;
    font-size:13px;
    margin-bottom:2px;
}

.info-box span{
    display:block;
    color:#77828b;
    font-size:11px;
}

.info-gold{
    background:linear-gradient(135deg,#fff9ed,#fff3d3);
    border-color:#ffe4ad;
}

.info-gold i{
    color:#d98612;
}

.info-green{
    background:linear-gradient(135deg,#f1fff5,#e4f8eb);
    border-color:#ccefd8;
}

.info-green i{
    color:#249955;
}

.info-blue{
    background:linear-gradient(135deg,#effaff,#e7f5ff);
    border-color:#ccecff;
}

.info-blue i{
    color:#168cc2;
}

.info-pink{
    background:linear-gradient(135deg,#fff4f7,#ffe9ef);
    border-color:#ffd3df;
}

.info-pink i{
    color:#d84b73;
}

.pastor-actions{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
    margin-top:22px;
}

.pastor-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 16px;
    border-radius:5px;
    text-decoration:none;
    font-size:13px;
    font-weight:700;
    transition:.3s ease;
}

.btn-primary-pastor{
    background:linear-gradient(135deg,#f69d22,#ec7d12);
    color:#fff;
    box-shadow:0 8px 20px rgba(234,132,24,.20);
}

.btn-primary-pastor:hover{
    color:#fff;
    transform:translateY(-2px);
}

.second .btn-primary-pastor{
    background:linear-gradient(135deg,#13a2b7,#168b9f);
    box-shadow:0 8px 20px rgba(18,143,162,.18);
}

.btn-outline-pastor{
    border:1px solid #dfe5ea;
    background:#fff;
    color:#4c5965;
}

.btn-outline-pastor:hover{
    background:#f5f7f8;
    color:#202b35;
}

.pastor-cross{
    position:absolute;
    right:18px;
    bottom:14px;
    font-size:70px;
    color:rgba(238,151,39,.055);
    transform:rotate(-8deg);
}

.second .pastor-cross{
    color:rgba(15,151,171,.055);
}

@media(max-width:1199.98px){
    .pastor-image-wrap,
    .pastor-image{
        min-height:500px;
    }

    .pastor-content{
        padding:25px 20px;
    }

    .ministry-info-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:991.98px){
    .pastors-section{
        padding:70px 0;
    }

    .pastor-image-wrap,
    .pastor-image{
        min-height:430px;
    }

    .ministry-info-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767.98px){
    .pastors-section{
        padding:55px 0;
    }

    .section-heading{
        margin-bottom:32px;
    }

    .pastor-card{
        border-radius:13px;
    }

    .pastor-image-wrap,
    .pastor-image{
        min-height:420px;
        height:420px;
    }

    .pastor-content{
        padding:24px 18px;
    }

    .pastor-content h3{
        font-size:23px;
    }
}

@media(max-width:430px){
    .pastor-image-wrap,
    .pastor-image{
        min-height:360px;
        height:360px;
    }

    .ministry-info-grid{
        grid-template-columns:1fr 1fr;
        gap:7px;
    }

    .info-box{
        padding:10px;
    }

    .pastor-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .pastor-btn{
        padding:10px 8px;
    }
}