/*==================================================
 HERO SECTION
==================================================*/

.hero-section{

    position:relative;

    min-height:100vh;

    background:
    linear-gradient(rgba(10,30,70,.65),rgba(10,30,70,.70)),
    url("../images/hero.jpg") center center/cover no-repeat;

    display:flex;

    align-items:center;

    overflow:hidden;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.hero-section .container{

    position:relative;

    z-index:5;

}

/*----------------------------------
 Welcome Badge
-----------------------------------*/

.hero-badge{

    display:inline-block;

    padding:9px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.25);

    backdrop-filter:blur(12px);

    color:#fff;

    font-size:14px;

    font-weight:500;

}

/*----------------------------------
 Hero Title
-----------------------------------*/

.hero-title{

    font-family:'Playfair Display',serif;

    color:#fff;

    font-size:42px;

    font-weight:700;

    line-height:1.2;

    margin:22px 0 18px;

    text-shadow:0 5px 18px rgba(0,0,0,.35);

}

/*----------------------------------
 Description
-----------------------------------*/

.hero-description{

    color:#f7f7f7;

    font-size:18px;

    line-height:1.9;

    max-width:560px;

    margin-bottom:35px;

}

/*----------------------------------
 Buttons
-----------------------------------*/

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.btn-gold{

    background:#D4AF37;

    color:#222;

    padding:14px 30px;

    border:none;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.btn-gold:hover{

    background:#e6c04d;

    transform:translateY(-3px);

}

.btn-light-custom{

    background:rgba(255,255,255,.12);

    color:#fff;

    padding:14px 30px;

    border-radius:50px;

    text-decoration:none;

    border:1px solid rgba(255,255,255,.25);

    backdrop-filter:blur(12px);

    transition:.3s;

}

.btn-light-custom:hover{

    background:#fff;

    color:#123B7A;

}

/*----------------------------------
 Glass Bible Verse Card
-----------------------------------*/

.verse-card{

    width:320px;

    margin:auto;

    padding:25px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.22);

    border-radius:24px;

    text-align:center;

    box-shadow:0 20px 45px rgba(0,0,0,.22);

    transition:.35s;

}

.verse-card:hover{

    transform:translateY(-6px);

}

.verse-icon{

    width:60px;

    height:60px;

    margin:0 auto 15px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(212,175,55,.18);

    color:#FFD76A;

    font-size:24px;

}

.verse-card h4{

    color:#FFD76A;

    font-size:20px;

    margin-bottom:15px;

    font-weight:700;

}

.verse-card p{

    color:#fff;

    font-size:16px;

    line-height:1.8;

    font-style:italic;

    margin-bottom:18px;

}

.verse-card span{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    background:rgba(212,175,55,.18);

    color:#FFD76A;

    font-size:13px;

    font-weight:600;

}

/*----------------------------------
 Mobile
-----------------------------------*/

@media(max-width:991px){

    .hero-title{

        font-size:34px;

    }

    .hero-description{

        font-size:16px;

    }

    .verse-card{

        margin-top:40px;

        width:100%;

    }

}

/*==================================================
 HOME INFORMATION SECTION
==================================================*/

.home-info-section{

    padding:90px 0;

    background:#f7f9fc;

}

.info-card{

    background:#fff;

    border-radius:22px;

    padding:35px;

    height:100%;

    border:1px solid #eef1f6;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.35s;

    overflow:hidden;

    position:relative;

}

.info-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:#D4AF37;

}

.info-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.info-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    margin-bottom:25px;

}

.info-card h4{

    color:#0E2A5A;

    font-size:24px;

    font-weight:700;

    margin-bottom:20px;

}

.info-card h6{

    color:#D4AF37;

    font-size:16px;

    font-weight:600;

    margin:18px 0 10px;

}

.info-card p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin-bottom:15px;

}

.info-card ul{

    list-style:none;

    padding:0;

    margin:0 0 20px;

}

.info-card ul li{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:12px 0;

    border-bottom:1px solid #eeeeee;

    color:#444;

    font-size:15px;

}

.info-card ul li:last-child{

    border-bottom:none;

}

.info-card a{

    color:#D4AF37;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.info-card a:hover{

    color:#0E2A5A;

}

.priest-photo{

    width:110px;

    height:110px;

    border-radius:50%;

    object-fit:cover;

    display:block;

    margin:0 auto 20px;

    border:5px solid #D4AF37;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

}

@media(max-width:991px){

    .home-info-section{

        padding:70px 0;

    }

    .info-card{

        margin-bottom:25px;

    }

}

/*==================================================
 EVENTS & GALLERY SECTION
==================================================*/

.events-gallery-section{

    padding:100px 0;

    background:#ffffff;

}

.feature-card{

    background:#fff;

    border-radius:24px;

    padding:35px;

    height:100%;

    border:1px solid #edf0f5;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

    transition:.35s;

    overflow:hidden;

    position:relative;

}

.feature-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:#D4AF37;

}

.feature-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 65px rgba(0,0,0,.15);

}

.feature-card h3{

    color:#0E2A5A;

    font-size:26px;

    font-weight:700;

    margin-bottom:25px;

}

/* Event List */

.event-item{

    display:flex;

    gap:18px;

    align-items:flex-start;

    padding:18px 0;

    border-bottom:1px solid #ececec;

}

.event-item:last-child{

    border-bottom:none;

}

.event-date{

    min-width:70px;

    height:70px;

    border-radius:16px;

    background:#0E2A5A;

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.event-date strong{

    font-size:22px;

    color:#D4AF37;

    line-height:1;

}

.event-date span{

    font-size:13px;

    text-transform:uppercase;

}

.event-content h5{

    color:#0E2A5A;

    font-size:18px;

    margin-bottom:6px;

    font-weight:600;

}

.event-content p{

    margin:0;

    color:#666;

    font-size:15px;

    line-height:1.7;

}

/* Gallery */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.gallery-grid img{

    width:100%;

    height:180px;

    object-fit:cover;

    border-radius:18px;

    transition:.35s;

    box-shadow:0 10px 25px rgba(0,0,0,.10);

}

.gallery-grid img:hover{

    transform:scale(1.05);

}

/* Bible Verse Box */

.verse-box{

    margin-top:30px;

    padding:30px;

    border-radius:22px;

    background:linear-gradient(135deg,#0E2A5A,#1C4F98);

    color:#fff;

    text-align:center;

}

.verse-box h3{

    color:#FFD76A;

    font-size:22px;

    margin-bottom:18px;

}

.verse-box p{

    font-size:17px;

    line-height:1.9;

    font-style:italic;

    margin-bottom:20px;

}

.verse-box span{

    display:inline-block;

    padding:8px 20px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    color:#FFD76A;

    font-weight:600;

}

@media(max-width:991px){

    .events-gallery-section{

        padding:70px 0;

    }

    .gallery-grid{

        grid-template-columns:1fr 1fr;

    }

}

@media(max-width:576px){

    .gallery-grid{

        grid-template-columns:1fr;

    }

}

/*==================================================
 ABOUT SECTION
==================================================*/

.about-section{

    padding:100px 0;

    background:#f8f9fc;

}

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    border-radius:24px;

    box-shadow:0 20px 60px rgba(0,0,0,.15);

    transition:.4s;

}

.about-image img:hover{

    transform:scale(1.02);

}

.section-tag{

    display:inline-block;

    padding:8px 20px;

    background:#D4AF37;

    color:#fff;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}

.about-section h2{

    color:#0E2A5A;

    font-size:42px;

    font-weight:700;

    margin-bottom:25px;

    line-height:1.3;

}

.about-section p{

    color:#666;

    font-size:17px;

    line-height:1.9;

    margin-bottom:35px;

}

.about-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-bottom:35px;

}

.about-features div{

    background:#fff;

    padding:18px 20px;

    border-radius:16px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    color:#0E2A5A;

    font-weight:600;

    transition:.3s;

}

.about-features div:hover{

    transform:translateY(-5px);

    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.about-btn{

    display:inline-block;

    padding:14px 32px;

    background:#D4AF37;

    color:#222;

    border-radius:50px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.about-btn:hover{

    background:#e6c04d;

    transform:translateY(-3px);

}

@media(max-width:991px){

    .about-section{

        padding:70px 0;

    }

    .about-image{

        margin-bottom:40px;

    }

}

@media(max-width:576px){

    .about-section h2{

        font-size:30px;

    }

    .about-features{

        grid-template-columns:1fr;

    }

}

/*==================================================
 GALLERY SECTION
==================================================*/

.gallery-section{

    padding:100px 0;

    background:#ffffff;

}

.section-header{

    text-align:center;

    margin-bottom:60px;

}

.section-header .section-tag{

    margin-bottom:18px;

}

.section-header h2{

    font-size:42px;

    color:#0E2A5A;

    font-weight:700;

    margin-bottom:18px;

}

.section-header p{

    color:#666;

    font-size:17px;

    max-width:650px;

    margin:auto;

    line-height:1.8;

}

/* Gallery Grid */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:22px;

}

.gallery-img{

    width:100%;

    height:280px;

    object-fit:cover;

    border-radius:22px;

    box-shadow:0 15px 35px rgba(0,0,0,.10);

    transition:.4s;

    cursor:pointer;

}

.gallery-img:hover{

    transform:translateY(-8px) scale(1.03);

    box-shadow:0 25px 55px rgba(0,0,0,.18);

}

/* Responsive */

@media(max-width:991px){

    .gallery-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:576px){

    .gallery-section{

        padding:70px 0;

    }

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .gallery-img{

        height:240px;

    }

}

/*==================================================
 PARISH PRIEST SECTION
==================================================*/

.priest-section{

    padding:100px 0;

    background:#f8f9fc;

}

.priest-image{

    text-align:center;

}

.priest-image img{

    width:100%;

    max-width:430px;

    border-radius:24px;

    border:8px solid #ffffff;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

    transition:.4s;

}

.priest-image img:hover{

    transform:translateY(-8px);

}

.priest-content{

    padding-left:30px;

}

.priest-content .section-tag{

    margin-bottom:20px;

}

.priest-content h2{

    color:#0E2A5A;

    font-size:42px;

    font-weight:700;

    margin-bottom:15px;

}

.priest-content h4{

    color:#D4AF37;

    font-size:24px;

    font-weight:600;

    margin-bottom:25px;

}

.priest-content p{

    color:#666;

    font-size:17px;

    line-height:2;

    margin-bottom:35px;

}

.priest-btn{

    display:inline-block;

    padding:14px 34px;

    background:#D4AF37;

    color:#222;

    text-decoration:none;

    font-weight:600;

    border-radius:50px;

    transition:.3s;

}

.priest-btn:hover{

    background:#e5c04a;

    transform:translateY(-3px);

}

@media(max-width:991px){

    .priest-section{

        padding:70px 0;

    }

    .priest-image{

        margin-bottom:40px;

    }

    .priest-content{

        padding-left:0;

        text-align:center;

    }

}

@media(max-width:576px){

    .priest-content h2{

        font-size:30px;

    }

    .priest-content h4{

        font-size:20px;

    }

}

/*==================================================
 CONTACT SECTION
==================================================*/

.contact-section{

    padding:100px 0;

    background:#ffffff;

}

.contact-info{

    padding-right:30px;

}

.contact-info h2{

    color:#0E2A5A;

    font-size:42px;

    font-weight:700;

    margin-bottom:20px;

}

.contact-info p{

    color:#666;

    font-size:17px;

    line-height:1.9;

    margin-bottom:35px;

}

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    margin-bottom:30px;

}

.contact-item i{

    width:60px;

    height:60px;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    flex-shrink:0;

}

.contact-item h5{

    color:#0E2A5A;

    font-weight:700;

    margin-bottom:5px;

}

.contact-item p{

    margin:0;

    color:#666;

}

.contact-form{

    background:#ffffff;

    padding:40px;

    border-radius:24px;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}

.contact-form input,

.contact-form textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #ddd;

    border-radius:12px;

    margin-bottom:18px;

    font-size:15px;

    outline:none;

    transition:.3s;

}

.contact-form input:focus,

.contact-form textarea:focus{

    border-color:#D4AF37;

    box-shadow:0 0 0 3px rgba(212,175,55,.15);

}

.contact-form textarea{

    min-height:140px;

    resize:vertical;

}

.contact-form button{

    background:#D4AF37;

    color:#222;

    border:none;

    padding:15px 35px;

    border-radius:50px;

    font-weight:600;

    transition:.3s;

}

.contact-form button:hover{

    background:#e7c451;

    transform:translateY(-3px);

}

/*==================================================
 FOOTER
==================================================*/

.footer{

    background:#0E2A5A;

    color:#ffffff;

    padding:80px 0 25px;

}

/* Logo */

.footer-logo{

    width:80px;

    height:80px;

    object-fit:contain;

    background:#ffffff;

    padding:8px;

    border-radius:50%;

    box-shadow:0 10px 25px rgba(0,0,0,.20);

    margin-bottom:20px;

}

/* Heading */

.footer h4{

    color:#D4AF37;

    font-size:24px;

    font-weight:700;

    margin-bottom:20px;

}

/* Paragraph */

.footer p{

    color:#d8d8d8;

    line-height:1.8;

    margin-bottom:12px;

}

/* Links */

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a{

    color:#ffffff;

    text-decoration:none;

    transition:all .3s ease;

}

.footer-links a:hover{

    color:#D4AF37;

    padding-left:8px;

}

/* Social Icons */

.footer-social{

    display:flex;

    gap:15px;

    margin-top:25px;

}

.footer-social a{

    width:46px;

    height:46px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#ffffff;

    text-decoration:none;

    font-size:18px;

    transition:all .35s ease;

}

.footer-social a:hover{

    background:#D4AF37;

    color:#0E2A5A;

    transform:translateY(-5px);

}

/* Bottom */

.footer-bottom{

    margin-top:50px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.15);

    text-align:center;

    color:#cccccc;

    font-size:15px;

}

/* Mobile */

@media(max-width:991px){

    .footer{

        text-align:center;

    }

    .footer-social{

        justify-content:center;

    }

}

/*==================================================
 HEADER FIX
==================================================*/

.top-bar{

    display:block !important;

    background:#0E2A5A;

    color:#ffffff;

    padding:8px 0;

}

.custom-navbar{

    display:block !important;

    position:sticky;

    top:0;

    z-index:9999;

    background:#0E2A5A !important;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

.navbar{

    display:flex !important;

}

.navbar-brand,

.nav-link{

    color:#ffffff !important;

}

.nav-link:hover{

    color:#D4AF37 !important;

}
/*==========================
 CHURCH LOGO
==========================*/

.church-logo{

    width:70px;

    height:70px;

    object-fit:cover;

    border-radius:50%;

    border:3px solid #D4AF37;

    background:#ffffff;

    padding:4px;

    box-shadow:0 8px 20px rgba(0,0,0,.20);

}

/*==================================================
ABOUT HERO
==================================================*/

.about-hero{

    position:relative;

    background:
        linear-gradient(rgba(14,42,90,.75),rgba(14,42,90,.75)),
        url('../images/about-banner.jpg') center/cover no-repeat;

    min-height:420px;

    display:flex;

    align-items:center;

    color:#fff;

    overflow:hidden;

}

.about-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.about-hero .container{

    position:relative;

    z-index:2;

}

.about-hero h1{

    font-family:'Playfair Display',serif;

    font-size:58px;

    color:#fff;

    margin-bottom:20px;

}

.about-hero p{

    max-width:760px;

    margin:auto;

    font-size:18px;

    line-height:1.8;

    color:#f2f2f2;

}

.hero-subtitle{

    display:inline-block;

    background:#D4AF37;

    color:#0E2A5A;

    padding:8px 22px;

    border-radius:30px;

    font-weight:600;

    margin-bottom:20px;

}

.breadcrumb{

    background:transparent;

}

.breadcrumb a{

    color:#D4AF37;

    text-decoration:none;

}

.breadcrumb-item.active{

    color:#fff;

}

.breadcrumb-item + .breadcrumb-item::before{

    color:#ddd;

}

/*==================================================
ABOUT CHURCH
==================================================*/

.about-church{

    background:#ffffff;

    padding:100px 0;

}

.section-badge{

    display:inline-block;

    background:#D4AF37;

    color:#0E2A5A;

    padding:8px 20px;

    border-radius:30px;

    font-weight:600;

    font-size:14px;

}

.section-title{

    font-family:'Playfair Display', serif;

    color:#0E2A5A;

    font-size:42px;

    margin-bottom:20px;

}

.about-church p{

    color:#555;

    line-height:1.9;

}

.about-image img{

    width:100%;

    transition:.4s;

}

.about-image img:hover{

    transform:scale(1.03);

}

.about-card{

    background:#fff;

    border-radius:18px;

    padding:25px;

    text-align:center;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.3s;

}

.about-card:hover{

    transform:translateY(-8px);

}

.about-card h3{

    color:#D4AF37;

    font-size:36px;

    font-weight:700;

    margin-bottom:10px;

}

.about-card p{

    margin:0;

    color:#666;

}

/*==================================================
CHURCH HISTORY - GLASS DESIGN
==================================================*/

.history-section{

    padding:100px 0;

    background:linear-gradient(180deg,#f7f9fc,#eef3fa);

}

.history-card{

    position:relative;

    height:100%;

    padding:35px;

    border-radius:24px;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.35);

    box-shadow:
        0 15px 40px rgba(14,42,90,.12),
        inset 0 1px 0 rgba(255,255,255,.45);

    overflow:hidden;

    transition:.4s ease;

}

.history-card:hover{

    transform:translateY(-10px);

    box-shadow:
        0 25px 50px rgba(14,42,90,.20),
        inset 0 1px 0 rgba(255,255,255,.55);

}

.history-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    background:rgba(212,175,55,.18);

    border-radius:50%;

    top:-70px;

    right:-70px;

    filter:blur(20px);

}

.history-card::after{

    content:"";

    position:absolute;

    width:120px;

    height:120px;

    background:rgba(14,42,90,.12);

    border-radius:50%;

    bottom:-40px;

    left:-40px;

    filter:blur(18px);

}

.history-number{

    width:70px;

    height:70px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#D4AF37,#F5D97A);

    color:#0E2A5A;

    font-size:24px;

    font-weight:700;

    margin-bottom:25px;

    box-shadow:0 8px 20px rgba(212,175,55,.35);

}

.history-card h3{

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    margin-bottom:18px;

    font-size:28px;

}

.history-card p{

    color:#3f4b5d;

    line-height:1.9;

    text-align:justify;

}

/*==================================================
MINISTRIES HERO
==================================================*/

.ministries-hero{

    position:relative;

    min-height:420px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(rgba(14,42,90,.75), rgba(14,42,90,.75)),
        url("../images/ministries-banner.jpg") center/cover no-repeat;

    color:#fff;

    overflow:hidden;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.15);

}

.ministries-hero .container{

    position:relative;

    z-index:2;

}

.hero-badge{

    display:inline-block;

    padding:8px 22px;

    border-radius:30px;

    background:#D4AF37;

    color:#0E2A5A;

    font-weight:600;

    margin-bottom:20px;

}

.ministries-hero h1{

    font-family:'Playfair Display',serif;

    font-size:58px;

    color:#fff;

    margin-bottom:20px;

}

.ministries-hero p{

    max-width:760px;

    margin:auto;

    color:#f1f1f1;

    line-height:1.9;

    font-size:18px;

}

.ministries-hero .breadcrumb{

    background:transparent;

}

.ministries-hero .breadcrumb a{

    color:#D4AF37;

    text-decoration:none;

}

.ministries-hero .breadcrumb-item.active{

    color:#fff;

}

.ministries-hero .breadcrumb-item + .breadcrumb-item::before{

    color:#ddd;

}

@media(max-width:768px){

    .ministries-hero{

        min-height:320px;

    }

    .ministries-hero h1{

        font-size:40px;

    }

    .ministries-hero p{

        font-size:16px;

    }

}

/*==================================================
MINISTRIES INTRO
==================================================*/

.ministries-intro{

    padding:100px 0;

    background:#ffffff;

}

.intro-image{

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(15px);

    border-radius:25px;

    overflow:hidden;

    padding:12px;

    box-shadow:0 15px 40px rgba(0,0,0,.10);

}

.intro-image img{

    width:100%;

    border-radius:18px;

    transition:.4s;

}

.intro-image:hover img{

    transform:scale(1.05);

}

.intro-stat{

    background:rgba(255,255,255,.25);

    backdrop-filter:blur(18px);

    border:1px solid rgba(212,175,55,.25);

    border-radius:18px;

    text-align:center;

    padding:25px;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.intro-stat h3{

    color:#D4AF37;

    font-size:38px;

    font-weight:700;

    margin-bottom:8px;

}

.intro-stat span{

    color:#0E2A5A;

    font-weight:600;

}

/*==================================================
MINISTRIES GRID
==================================================*/

.ministries-grid{

    padding:100px 0;

    background:#f7f9fc;

}

.ministry-card{

    height:100%;

    padding:35px;

    text-align:center;

    border-radius:25px;

    background:rgba(255,255,255,.20);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.35);

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.ministry-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(14,42,90,.18);

}

.ministry-icon{

    width:85px;

    height:85px;

    margin:0 auto 25px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:linear-gradient(135deg,#D4AF37,#F5D97A);

    color:#0E2A5A;

    font-size:32px;

}

.ministry-card h4{

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    margin-bottom:15px;

}

.ministry-card p{

    color:#555;

    line-height:1.8;

}

/*==================================================
MINISTRIES
==================================================*/

.ministries-section{

    padding:100px 0;

}

.ministries-section .history-number{

    width:70px;

    height:70px;

    border-radius:50%;

    background:linear-gradient(135deg,#D4AF37,#F7D46A);

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 20px;

    color:#0E2A5A;

    font-size:28px;

}

.ministries-section .history-card{

    text-align:center;

}

/*==================================================
MINISTRY CTA
==================================================*/

.ministry-cta{

    padding:100px 0;

    background:
    linear-gradient(rgba(14,42,90,.90),rgba(14,42,90,.90)),
    url("../images/church-bg.jpg") center/cover;

}

.cta-box{

    max-width:900px;

    margin:auto;

    text-align:center;

    padding:70px 50px;

    border-radius:30px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.20);

    box-shadow:0 25px 60px rgba(0,0,0,.25);

}

.cta-box h2{

    color:#fff;

    font-size:42px;

    margin:20px 0;

}

.cta-box p{

    color:#eee;

    font-size:18px;

    line-height:1.9;

    max-width:700px;

    margin:0 auto 35px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}

.btn-gold{

    background:#D4AF37;

    color:#0E2A5A;

    padding:14px 35px;

    border-radius:50px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;

}

.btn-gold:hover{

    background:#fff;

    color:#0E2A5A;

}

.btn-outline-light{

    border:2px solid #fff;

    color:#fff;

    padding:14px 35px;

    border-radius:50px;

    text-decoration:none;

    transition:.3s;

}

.btn-outline-light:hover{

    background:#fff;

    color:#0E2A5A;

}

/*==================================================
      PRIESTS HERO
==================================================*/

.priests-hero{

    position:relative;

    min-height:520px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
    linear-gradient(rgba(14,42,90,.65),
    rgba(14,42,90,.65)),
    url("../images/church-hero.jpg") center center;

    background-size:cover;

    background-attachment:fixed;

}

.hero-glass{

    max-width:900px;

    margin:auto;

    text-align:center;

    padding:60px 50px;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(22px);

    -webkit-backdrop-filter:blur(22px);

    border:1px solid rgba(255,255,255,.25);

    border-radius:35px;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.hero-subtitle{

    display:inline-block;

    color:#D4AF37;

    font-size:16px;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:18px;

}

.hero-glass h1{

    color:#fff;

    font-size:64px;

    font-weight:700;

    margin-bottom:18px;

}

.hero-line{

    width:120px;

    height:4px;

    background:#D4AF37;

    margin:0 auto 25px;

    border-radius:20px;

}

.hero-glass p{

    color:#f3f3f3;

    font-size:20px;

    line-height:1.9;

    max-width:760px;

    margin:0 auto 35px;

}

.breadcrumb-box{

    display:inline-flex;

    align-items:center;

    gap:15px;

    padding:12px 28px;

    border-radius:40px;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.20);

}

.breadcrumb-box a{

    color:#D4AF37;

    text-decoration:none;

    font-weight:600;

}

.breadcrumb-box span{

    color:#fff;

}

@media(max-width:768px){

.hero-glass{

padding:40px 25px;

}

.hero-glass h1{

font-size:42px;

}

.hero-glass p{

font-size:17px;

}

}

/*==================================================
        PARISH PRIESTS PAGE
==================================================*/

.priests-section{

    position:relative;
    padding:100px 0;
    background:
    linear-gradient(135deg,#f7f9fc,#edf3fb);
    overflow:hidden;

}

/* Decorative background */

.priests-section::before{

    content:"";
    position:absolute;
    width:500px;
    height:500px;
    background:rgba(212,175,55,.08);
    border-radius:50%;
    top:-180px;
    left:-180px;
    filter:blur(70px);

}

.priests-section::after{

    content:"";
    position:absolute;
    width:420px;
    height:420px;
    background:rgba(14,42,90,.08);
    border-radius:50%;
    bottom:-150px;
    right:-150px;
    filter:blur(70px);

}

/*==========================
      YEAR TITLE
==========================*/

.year-heading{

    position:relative;
    z-index:2;

    max-width:420px;

    margin:70px auto 45px;

    text-align:center;

    background:rgba(255,255,255,.45);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.7);

    border-radius:60px;

    padding:18px 30px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.08);

}

.year-heading span{

    font-size:22px;

    color:#D4AF37;

    display:block;

    margin-bottom:8px;

}

.year-heading h2{

    margin:0;

    font-size:30px;

    font-weight:700;

    color:#0E2A5A;

    letter-spacing:1px;

}

/*==========================
      GLASS CARD
==========================*/

.priest-card{

    position:relative;

    background:rgba(255,255,255,.22);

    backdrop-filter:blur(25px);

    -webkit-backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.65);

    border-radius:28px;

    padding:35px 25px;

    text-align:center;

    transition:.45s;

    overflow:hidden;

    height:100%;

    box-shadow:

    0 10px 35px rgba(0,0,0,.08),

    inset 0 1px 1px rgba(255,255,255,.65);

}

/* shiny effect */

.priest-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    background:rgba(255,255,255,.35);

    border-radius:50%;

    top:-100px;

    right:-100px;

}

.priest-card:hover{

    transform:translateY(-12px);

    border:1px solid rgba(212,175,55,.8);

    box-shadow:

    0 25px 45px rgba(14,42,90,.18);

}

/*==========================
        IMAGE
==========================*/

.priest-img{

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #D4AF37;

    margin-bottom:20px;

    background:#fff;

}

/*==========================
         NAME
==========================*/

.priest-card h4{

    color:#0E2A5A;

    font-size:22px;

    font-weight:700;

    margin-bottom:12px;

}

/*==========================
          YEARS
==========================*/

.priest-card p{

    display:inline-block;

    background:#D4AF37;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-size:14px;

    font-weight:600;

    margin:0;

}

/*==========================
      RESPONSIVE
==========================*/

@media(max-width:992px){

.year-heading{

max-width:320px;

}

.year-heading h2{

font-size:24px;

}

.priest-card{

padding:28px 20px;

}

}

@media(max-width:768px){

.priests-section{

padding:70px 0;

}

.priest-img{

width:100px;

height:100px;

}

.year-heading{

margin:55px auto 35px;

}

}

/*==================================================
                SUNDAY SCHOOL
==================================================*/

/* HERO */

.sunday-hero{

    position:relative;

    min-height:75vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    background:
    linear-gradient(135deg,
    rgba(7,28,61,.82),
    rgba(14,42,90,.72)),
    url("../images/hero.jpg") center center/cover no-repeat;

}

.sunday-hero::before{

    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    background:radial-gradient(circle at top right,
    rgba(212,175,55,.18),
    transparent 45%);

}

.sunday-hero::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        to top,
        rgba(14,42,90,.90),
        rgba(14,42,90,.20)
    );

}

.hero-content{

    position:relative;

    z-index:5;

    max-width:900px;

    margin:auto;

}

.hero-subtitle{

    display:inline-block;

    background:rgba(212,175,55,.18);

    color:#FFD76A;

    padding:10px 24px;

    border:1px solid rgba(212,175,55,.40);

    border-radius:40px;

    font-size:15px;

    letter-spacing:1px;

    margin-bottom:25px;

}

.sunday-hero h1{

    color:#ffffff;

    font-size:68px;

    font-family:'Playfair Display',serif;

    font-weight:700;

    margin-bottom:25px;

    text-shadow:0 8px 25px rgba(0,0,0,.35);

}

.hero-divider{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    margin:30px 0;

}

.hero-divider span{

    width:90px;

    height:2px;

    background:#D4AF37;

}

.hero-divider i{

    width:58px;

    height:58px;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    box-shadow:0 10px 25px rgba(212,175,55,.35);

}

.hero-description{

    max-width:720px;

    margin:auto;

    color:#F4F4F4;

    font-size:20px;

    line-height:1.9;

}



/*==================================================
                INTRODUCTION
==================================================*/

.sunday-intro{

    padding:90px 0;

    background:#FCFAF3;

}



/*==================================================
                INFORMATION
==================================================*/

.sunday-info{

    padding:90px 0;

    background:#ffffff;

}

.info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.info-card{

    background:#fff;

    border-radius:25px;

    text-align:center;

    padding:40px 25px;

    box-shadow:0 15px 40px rgba(14,42,90,.08);

    border-top:5px solid #D4AF37;

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(14,42,90,.15);

}

.info-card i{

    font-size:48px;

    color:#D4AF37;

    margin-bottom:20px;

}

.info-card h3{

    font-size:42px;

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    margin-bottom:10px;

}

.info-card p{

    color:#666;

    margin:0;

}



/*==================================================
                TEACHERS
==================================================*/

.teachers-section{

    padding:100px 0;

    background:#FCFAF3;

}

.teacher-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.teacher-card{

    background:#fff;

    border-radius:22px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 15px 35px rgba(14,42,90,.08);

    border:1px solid rgba(212,175,55,.20);

    transition:.35s;

}

.teacher-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(14,42,90,.15);

}

.teacher-icon{

    width:80px;

    height:80px;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    margin:0 auto 20px;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    border:4px solid #D4AF37;

}

.teacher-card h3{

    color:#0E2A5A;

    font-size:22px;

    margin-bottom:10px;

    font-family:'Playfair Display',serif;

    line-height:1.5;

}

.teacher-card span{

    color:#777;

    font-size:15px;

}



/*==================================================
                BIBLE VERSE
==================================================*/

.sunday-verse{

    padding:100px 0;

    background:linear-gradient(135deg,#0E2A5A,#123B7A);

}

.verse-card{

    max-width:850px;

    margin:auto;

    text-align:center;

    padding:60px 40px;

    border-radius:30px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    border:1px solid rgba(212,175,55,.30);

}

.verse-icon{

    width:90px;

    height:90px;

    margin:0 auto 25px;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:34px;

}

.verse-card h2{

    color:#fff;

    font-size:30px;

    font-weight:600;

    margin-bottom:18px;

    font-family:'Playfair Display',serif;

}

.verse-text{

    color:#fff;

    font-size:24px;

    line-height:1.8;

    font-style:italic;

    margin-bottom:20px;

}

.verse-card span{

    color:#D4AF37;

    font-size:18px;

    font-weight:600;

}



/*==================================================
                RESPONSIVE
==================================================*/

@media (max-width:991px){

    .info-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .teacher-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .sunday-hero h1{

        font-size:54px;

    }

}

@media (max-width:768px){

    .info-grid{

        grid-template-columns:1fr;

    }

    .teacher-grid{

        grid-template-columns:1fr;

    }

    .sunday-hero{

        min-height:60vh;

        padding:120px 0 80px;

    }

    .sunday-hero h1{

        font-size:40px;

    }

    .hero-divider span{

        width:55px;

    }

    .hero-description{

        font-size:17px;

    }

    .verse-card{

        padding:40px 25px;

    }

    .verse-card h2{

        font-size:30px;

    }

    .verse-text{

        font-size:15px;

    }

}

```css
/*==================================================
 POPE MESSAGE SECTION
==================================================*/

.pope-section{

    padding:100px 0;

    background:#f8f9fc;

}


/*==============================
 POPE IMAGE
==============================*/

.pope-image{

    text-align:center;

}

.pope-image img{

    width:100%;

    max-width:430px;

    height:auto;

    border-radius:24px;

    border:8px solid #ffffff;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

    transition:.4s;

}

.pope-image img:hover{

    transform:translateY(-8px);

}


/*==============================
 POPE CONTENT
==============================*/

.pope-content{

    padding-left:30px;

}

.pope-content .section-tag{

    display:inline-block;

    background:#D4AF37;

    color:#ffffff;

    padding:9px 22px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    margin-bottom:20px;

}


/* Pope Name */

.pope-content h2{

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:42px;

    font-weight:700;

    margin-bottom:8px;

}


/* Pope Title */

.pope-content h4{

    color:#D4AF37;

    font-size:22px;

    font-weight:600;

    margin-bottom:22px;

}


/* Pope Quote */

.pope-content p{

    color:#555;

    font-family:'Playfair Display',serif;

    font-size:19px;

    line-height:1.9;

    font-style:italic;

    max-width:700px;

    margin-bottom:30px;

}


/*==============================
 POPE BUTTON
==============================*/

.pope-btn{

    display:inline-block;

    padding:14px 32px;

    background:#D4AF37;

    color:#222;

    text-decoration:none;

    font-weight:600;

    border-radius:50px;

    transition:.35s;

}

.pope-btn:hover{

    background:#e5c04a;

    color:#222;

    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(212,175,55,.25);

}


/*==============================
 MOBILE
==============================*/

@media(max-width:991px){

    .pope-section{

        padding:70px 0;

    }

    .pope-image{

        margin-bottom:40px;

    }

    .pope-content{

        padding-left:0;

        text-align:center;

    }

    .pope-content p{

        margin-left:auto;

        margin-right:auto;

    }

}


@media(max-width:576px){

    .pope-content h2{

        font-size:30px;

    }

    .pope-content h4{

        font-size:19px;

    }

    .pope-content p{

        font-size:16px;

    }

    .pope-image img{

        max-width:350px;

    }

}
```
/*==================================================
 PARISH MINISTRIES
==================================================*/

.ministries-section{

    padding:100px 0;

    background:#f8f9fc;

}


/*==============================
 SECTION HEADING
==============================*/

.ministries-section .section-heading{

    margin-bottom:55px;

}

.ministries-section .section-subtitle{

    display:inline-block;

    background:#D4AF37;

    color:#ffffff;

    padding:8px 20px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

}

.ministries-section .section-heading h2{

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:42px;

    font-weight:700;

    margin:18px 0;

}

.ministries-section .section-heading p{

    color:#666;

    font-size:16px;

    margin:0;

}


/*==============================
 MINISTRY CARD
==============================*/

.ministry-card{

    height:100%;

    background:#ffffff;

    border-radius:24px;

    overflow:hidden;

    border:1px solid #eeeeee;

    box-shadow:0 15px 40px rgba(0,0,0,.07);

    transition:.4s;

}

.ministry-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 55px rgba(0,0,0,.13);

}


/*==============================
 IMAGE AREA
==============================*/

.ministry-image{

    width:100%;

    height:220px;

    overflow:hidden;

    background:#0E2A5A;

}

.ministry-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.5s;

}

.ministry-card:hover .ministry-image img{

    transform:scale(1.05);

}


/* Temporary image placeholder */

.image-placeholder{

    width:100%;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:
        linear-gradient(
            135deg,
            #0E2A5A,
            #123B7A
        );

    color:#D4AF37;

    font-size:55px;

}


/*==============================
 CONTENT
==============================*/

.ministry-content{

    padding:30px;

}

.ministry-content h3{

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:25px;

    font-weight:700;

    margin-bottom:15px;

}

.ministry-content p{

    color:#666;

    font-size:15px;

    line-height:1.8;

    margin-bottom:20px;

}


/*==============================
 LIST
==============================*/

.ministry-content ul{

    list-style:none;

    padding:0;

    margin:0;

}

.ministry-content ul li{

    position:relative;

    padding:9px 0 9px 22px;

    border-bottom:1px solid #eeeeee;

    color:#555;

    font-size:14px;

    line-height:1.6;

}

.ministry-content ul li:last-child{

    border-bottom:none;

}

.ministry-content ul li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:9px;

    color:#D4AF37;

    font-weight:700;

}


/*==============================
 TABLET
==============================*/

@media(max-width:991px){

    .ministries-section{

        padding:70px 0;

    }

    .ministries-section .section-heading h2{

        font-size:36px;

    }

}


/*==============================
 MOBILE
==============================*/

@media(max-width:576px){

    .ministries-section{

        padding:60px 0;

    }

    .ministries-section .section-heading h2{

        font-size:30px;

    }

    .ministries-section .section-heading p{

        font-size:14px;

    }

    .ministry-image{

        height:200px;

    }

    .ministry-content{

        padding:25px 22px;

    }

    .ministry-content h3{

        font-size:22px;

    }

}

/* =========================================================
   PREMIUM VOCATIONS PAGE
========================================================= */

.vocation-hero{
    position:relative;
    min-height:720px;
    padding:150px 0 90px;
    overflow:hidden;
    background:#06172f;
}

.vocation-hero-bg{
    position:absolute;
    inset:0;
    background:
        url("../images/hero.jpg")
        center center/cover no-repeat;
    opacity:.42;
}

.vocation-hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,
        rgba(3,18,42,.98) 0%,
        rgba(5,27,57,.88) 48%,
        rgba(5,24,48,.72) 100%);
}

.vocation-hero-container{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.25fr .75fr;
    align-items:center;
    gap:70px;
}

.vocation-hero-content{
    max-width:760px;
}

.vocation-top-label{
    display:inline-block;
    color:#D4AF37;
    font-size:17px;
    font-weight:600;
    letter-spacing:.5px;
    margin-bottom:25px;
}

.vocation-hero h1{
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:76px;
    line-height:1.08;
    font-weight:700;
    margin:0;
}

.vocation-hero h1 span{
    display:block;
    color:#D4AF37;
}

.vocation-gold-line{
    width:120px;
    height:3px;
    background:#D4AF37;
    margin:32px 0;
    position:relative;
}

.vocation-gold-line:after{
    content:"";
    position:absolute;
    width:9px;
    height:9px;
    background:#D4AF37;
    transform:rotate(45deg);
    right:-4px;
    top:-3px;
}

.vocation-hero-content p{
    color:rgba(255,255,255,.86);
    font-size:19px;
    line-height:1.9;
    max-width:700px;
    margin:0;
}


/* HERO GLASS CARD */

.vocation-hero-card{
    padding:45px 38px;
    border-radius:25px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(212,175,55,.65);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    box-shadow:0 25px 70px rgba(0,0,0,.28);
}

.hero-card-icon{
    width:72px;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(212,175,55,.12);
    border:1px solid #D4AF37;
    color:#D4AF37;
    font-size:28px;
    margin-bottom:25px;
}

.vocation-hero-card h3{
    color:#D4AF37;
    font-family:'Playfair Display',serif;
    font-size:29px;
    margin-bottom:20px;
}

.vocation-hero-card p{
    color:rgba(255,255,255,.8);
    font-size:16px;
    line-height:1.9;
    margin-bottom:30px;
}

.hero-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
}

.hero-stats div{
    padding:20px;
    text-align:center;
    border:1px solid rgba(212,175,55,.35);
    background:rgba(0,0,0,.12);
    border-radius:15px;
}

.hero-stats strong{
    display:block;
    color:#D4AF37;
    font-family:'Playfair Display',serif;
    font-size:42px;
    line-height:1;
}

.hero-stats small{
    color:#fff;
    display:block;
    margin-top:8px;
    font-size:14px;
}


/* =========================================================
   PRIESTS SECTION
========================================================= */

.vocation-priests{
    padding:110px 0 120px;
    background:#061a35;
    position:relative;
}

.vocation-section-title{
    text-align:center;
    max-width:800px;
    margin:0 auto 60px;
}

.vocation-section-title span{
    color:#D4AF37;
    font-size:20px;
}

.vocation-section-title h2{
    font-family:'Playfair Display',serif;
    font-size:42px;
    line-height:1.35;
    margin:15px 0;
}

.dark-title h2{
    color:#fff;
}

.vocation-section-title p{
    margin:0;
    font-size:16px;
    line-height:1.8;
}

.dark-title p{
    color:rgba(255,255,255,.62);
}


/* 4 CARDS PER ROW */

.vocation-photo-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}


/* PRIEST CARD */

.vocation-person-card{
    background:linear-gradient(
        145deg,
        rgba(255,255,255,.12),
        rgba(255,255,255,.045)
    );
    border:1px solid rgba(212,175,55,.38);
    border-radius:18px;
    overflow:hidden;
    transition:all .4s ease;
    box-shadow:0 15px 40px rgba(0,0,0,.18);
}

.vocation-person-card:hover{
    transform:translateY(-10px);
    border-color:#D4AF37;
    box-shadow:0 25px 55px rgba(0,0,0,.32);
}

.person-photo{
    height:285px;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(
            145deg,
            #102d53,
            #07182f
        );
}

.person-photo:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(3,15,32,.75),
        transparent 45%
    );
    pointer-events:none;
}

.person-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
}

.vocation-person-card:hover .person-photo img{
    transform:scale(1.05);
}

.person-number{
    position:absolute;
    top:14px;
    right:14px;
    z-index:3;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#D4AF37;
    color:#07182f;
    font-size:13px;
    font-weight:700;
    border-radius:5px;
    clip-path:polygon(
        0 0,
        100% 0,
        100% 82%,
        50% 100%,
        0 82%
    );
}

.person-info{
    padding:22px 18px 25px;
    text-align:center;
    min-height:100px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.person-info h3{
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:20px;
    line-height:1.4;
    margin:0 0 8px;
}

.person-info span{
    color:#D4AF37;
    font-size:13px;
}


/* =========================================================
   SISTERS
========================================================= */

.vocation-sisters{
    padding:110px 0 120px;
    background:#f8f5ec;
}

.light-title h2{
    color:#0E2A5A;
}

.light-title p{
    color:#6b7280;
}


/* 4 PER ROW */

.vocation-sister-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:26px;
}


/* SISTER CARD */

.sister-card{
    position:relative;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    border:1px solid rgba(212,175,55,.35);
    box-shadow:0 12px 35px rgba(14,42,90,.08);
    transition:all .4s ease;
}

.sister-card:hover{
    transform:translateY(-9px);
    border-color:#D4AF37;
    box-shadow:0 22px 45px rgba(14,42,90,.14);
}

.sister-photo{
    height:270px;
    position:relative;
    overflow:hidden;
    background:
        linear-gradient(
            145deg,
            #f5efe0,
            #e8dfca
        );
}

.sister-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
}

.sister-card:hover .sister-photo img{
    transform:scale(1.05);
}

.sister-photo span{
    position:absolute;
    top:13px;
    right:13px;
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0E2A5A;
    color:#D4AF37;
    border:2px solid #D4AF37;
    font-size:12px;
    font-weight:700;
}

.sister-card h3{
    color:#0E2A5A;
    font-family:'Playfair Display',serif;
    font-size:19px;
    line-height:1.4;
    text-align:center;
    padding:20px 15px 23px;
    margin:0;
}


/* =========================================================
   SUMMARY
========================================================= */

.vocation-summary{
    padding:100px 0;
    background:
        linear-gradient(
            135deg,
            #06172f,
            #0E2A5A
        );
}

.summary-inner{
    max-width:950px;
    margin:auto;
    text-align:center;
    padding:70px 60px;
    border:1px solid rgba(212,175,55,.5);
    border-radius:28px;
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(15px);
    -webkit-backdrop-filter:blur(15px);
    box-shadow:0 30px 70px rgba(0,0,0,.25);
}

.summary-symbol{
    width:78px;
    height:78px;
    border-radius:50%;
    margin:0 auto 25px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#D4AF37;
    color:#06172f;
    font-size:29px;
}

.summary-inner h2{
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:40px;
    margin-bottom:20px;
}

.summary-inner > p{
    max-width:720px;
    margin:0 auto 45px;
    color:rgba(255,255,255,.72);
    font-size:17px;
    line-height:1.9;
}

.summary-stats{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:70px;
    margin-bottom:50px;
}

.summary-stat strong{
    display:block;
    color:#D4AF37;
    font-family:'Playfair Display',serif;
    font-size:55px;
    line-height:1;
}

.summary-stat span{
    color:#fff;
    display:block;
    margin-top:10px;
    font-size:16px;
}

.summary-stat-divider{
    width:1px;
    height:70px;
    background:rgba(212,175,55,.45);
}

.vocation-quote{
    max-width:700px;
    margin:0 auto;
    padding:30px 30px;
    border-top:1px solid rgba(212,175,55,.35);
    border-bottom:1px solid rgba(212,175,55,.35);
}

.vocation-quote i{
    color:#D4AF37;
    font-size:20px;
}

.vocation-quote p{
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:22px;
    font-style:italic;
    line-height:1.7;
    margin:12px 0;
}

.vocation-quote span{
    color:#D4AF37;
    font-size:15px;
    font-weight:600;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1200px){

    .vocation-hero-container{
        gap:40px;
    }

    .vocation-hero h1{
        font-size:62px;
    }

    .vocation-photo-grid,
    .vocation-sister-grid{
        grid-template-columns:repeat(3,1fr);
    }

}


@media(max-width:991px){

    .vocation-hero{
        padding:120px 0 80px;
    }

    .vocation-hero-container{
        grid-template-columns:1fr;
    }

    .vocation-hero-content{
        text-align:center;
        margin:auto;
    }

    .vocation-gold-line{
        margin:25px auto;
    }

    .vocation-hero h1{
        font-size:55px;
    }

    .vocation-hero-card{
        max-width:650px;
        width:100%;
        margin:auto;
    }

    .vocation-photo-grid,
    .vocation-sister-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media(max-width:600px){

    .vocation-hero{
        padding:100px 0 60px;
    }

    .vocation-hero h1{
        font-size:42px;
    }

    .vocation-top-label{
        font-size:14px;
    }

    .vocation-hero-content p{
        font-size:16px;
    }

    .vocation-hero-card{
        padding:30px 24px;
    }

    .vocation-section-title h2{
        font-size:30px;
    }

    .vocation-photo-grid,
    .vocation-sister-grid{
        grid-template-columns:1fr;
        max-width:400px;
        margin-left:auto;
        margin-right:auto;
    }

    .person-photo,
    .sister-photo{
        height:330px;
    }

    .summary-inner{
        padding:45px 25px;
    }

    .summary-inner h2{
        font-size:32px;
    }

    .summary-stats{
        gap:30px;
    }

    .summary-stat strong{
        font-size:45px;
    }

    .vocation-quote p{
        font-size:18px;
    }

}

/* =========================================================
   EDUCATION & SERVICE PAGE
========================================================= */

.education-hero{
    position:relative;
    padding:170px 0 125px;
    background:
        linear-gradient(
            90deg,
            rgba(7,25,55,.95),
            rgba(14,42,90,.72)
        ),
        url("../images/hero.jpg") center center/cover no-repeat;
}


/* =========================================================
   INTRO
========================================================= */

.education-intro{
    padding:100px 0;
    background:#FCFAF3;
}

.education-intro-card{
    max-width:1000px;
    margin:auto;
    padding:65px 75px;
    text-align:center;

    background:rgba(255,255,255,.72);

    border:1px solid rgba(212,175,55,.30);
    border-radius:32px;

    box-shadow:
        0 25px 70px rgba(14,42,90,.10);

    position:relative;
    overflow:hidden;
}

.education-intro-card::before{
    content:"";
    position:absolute;
    top:-100px;
    left:-100px;

    width:240px;
    height:240px;

    border-radius:50%;

    background:rgba(212,175,55,.08);
}

.education-intro-card::after{
    content:"";
    position:absolute;
    bottom:-100px;
    right:-100px;

    width:240px;
    height:240px;

    border-radius:50%;

    background:rgba(14,42,90,.06);
}

.education-intro-icon{
    width:78px;
    height:78px;

    margin:0 auto 25px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#0E2A5A;
    color:#D4AF37;

    font-size:30px;

    border:4px solid #D4AF37;

    position:relative;
    z-index:2;
}

.education-label{
    display:inline-block;

    color:#D4AF37;

    font-size:14px;
    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

    margin-bottom:12px;
}

.education-intro-card h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:38px;

    margin-bottom:20px;
}

.education-intro-card p{
    max-width:850px;
    margin:12px auto;

    color:#666;

    font-size:17px;
    line-height:1.9;
}

.gold-line-center{
    width:70px;
    height:3px;

    margin:20px auto;

    background:#D4AF37;

    border-radius:10px;
}


/* =========================================================
   INSTITUTIONS
========================================================= */

.education-institutions{
    padding:110px 0;

    background:#0E2A5A;

    position:relative;
}

.education-institutions::before{
    content:"";

    position:absolute;
    inset:0;

    opacity:.04;

    background-image:
        radial-gradient(#D4AF37 1px,transparent 1px);

    background-size:25px 25px;
}

.education-heading{
    position:relative;
    z-index:2;

    text-align:center;

    margin-bottom:60px;
}

.education-heading > span{
    color:#D4AF37;

    font-size:20px;

    letter-spacing:8px;
}

.education-heading h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:42px;

    margin:15px 0 10px;
}

.education-heading p{
    color:rgba(255,255,255,.72);

    margin:0;

    font-size:16px;
}


/* =========================================================
   TWO COLUMN CARDS
========================================================= */

.education-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;
}


/* =========================================================
   EDUCATION CARD
========================================================= */

.education-card{
    background:rgba(255,255,255,.97);

    border-radius:30px;

    overflow:hidden;

    border:1px solid rgba(212,175,55,.35);

    box-shadow:
        0 25px 70px rgba(0,0,0,.20);

    transition:.4s ease;
}

.education-card:hover{
    transform:translateY(-10px);

    box-shadow:
        0 35px 80px rgba(0,0,0,.28);
}


/* =========================================================
   IMAGE
========================================================= */

.education-image{
    height:330px;

    position:relative;

    overflow:hidden;
}

.education-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:.6s ease;
}

.education-card:hover .education-image img{
    transform:scale(1.06);
}

.image-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(5,20,45,.88),
            rgba(5,20,45,.05)
        );
}

.education-image-title{
    position:absolute;

    left:30px;
    bottom:25px;

    display:flex;

    align-items:center;

    gap:12px;

    color:#fff;

    font-size:22px;

    font-family:'Playfair Display',serif;

    font-weight:600;
}

.education-image-title i{
    color:#D4AF37;

    font-size:22px;
}


/* =========================================================
   CARD CONTENT
========================================================= */

.education-card-content{
    padding:38px 40px 42px;
}

.education-card-label{
    color:#D4AF37;

    font-size:13px;

    font-weight:700;

    letter-spacing:1.5px;
}

.education-card-content h3{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:29px;

    margin:8px 0 12px;
}

.small-gold-line{
    width:55px;
    height:3px;

    background:#D4AF37;

    border-radius:10px;

    margin-bottom:22px;
}

.education-card-content p{
    color:#666;

    font-size:15.5px;

    line-height:1.85;

    margin-bottom:18px;
}


/* =========================================================
   SERVICE BOX
========================================================= */

.service-box{
    display:flex;

    align-items:center;

    gap:17px;

    padding:20px;

    margin:25px 0;

    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            rgba(14,42,90,.06),
            rgba(212,175,55,.08)
        );

    border-left:4px solid #D4AF37;
}

.service-box > i{
    width:50px;
    height:50px;

    flex-shrink:0;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:20px;
}

.service-box strong{
    display:block;

    color:#0E2A5A;

    font-size:15px;

    margin-bottom:5px;
}

.service-box span{
    display:block;

    color:#777;

    font-size:13px;

    line-height:1.5;
}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.education-highlights{
    padding:100px 0;

    background:#FCFAF3;
}

.highlight-heading{
    text-align:center;

    margin-bottom:55px;
}

.highlight-heading > span{
    color:#D4AF37;

    font-size:25px;
}

.highlight-heading h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:38px;

    margin:12px 0;
}

.highlight-heading p{
    color:#777;

    margin:0;
}

.highlight-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;
}

.highlight-card{
    background:#fff;

    text-align:center;

    padding:38px 25px;

    border-radius:22px;

    border:1px solid rgba(212,175,55,.18);

    box-shadow:
        0 15px 40px rgba(14,42,90,.07);

    transition:.35s;
}

.highlight-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 25px 50px rgba(14,42,90,.12);
}

.highlight-icon{
    width:68px;
    height:68px;

    margin:0 auto 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:25px;

    border:3px solid #D4AF37;
}

.highlight-card h3{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:23px;

    margin-bottom:10px;
}

.highlight-card p{
    color:#777;

    font-size:14px;

    line-height:1.7;

    margin:0;
}


/* =========================================================
   FINAL MESSAGE
========================================================= */

.education-message{
    padding:100px 0;

    background:
        linear-gradient(
            135deg,
            #0E2A5A,
            #123B7A
        );
}

.education-message-card{
    max-width:900px;

    margin:auto;

    padding:60px 70px;

    text-align:center;

    border-radius:30px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(212,175,55,.35);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    box-shadow:
        0 25px 70px rgba(0,0,0,.18);
}

.message-icon{
    width:75px;
    height:75px;

    margin:0 auto 22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    font-size:28px;
}

.education-message-card h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:38px;

    margin-bottom:10px;
}

.education-message-card p{
    max-width:750px;

    margin:14px auto;

    color:rgba(255,255,255,.82);

    font-size:16px;

    line-height:1.9;
}

.message-bottom{
    margin-top:30px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    color:#D4AF37;

    font-size:15px;
}

.message-bottom strong{
    color:#fff;

    font-weight:500;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1100px){

    .education-grid{
        grid-template-columns:1fr;
        max-width:800px;
        margin:auto;
    }

    .highlight-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media (max-width:768px){

    .education-hero{
        padding:125px 0 85px;
    }

    .education-intro{
        padding:70px 0;
    }

    .education-intro-card{
        padding:45px 25px;
    }

    .education-intro-card h2{
        font-size:30px;
    }

    .education-intro-card p{
        font-size:15px;
    }

    .education-institutions{
        padding:75px 0;
    }

    .education-heading h2{
        font-size:32px;
    }

    .education-grid{
        grid-template-columns:1fr;
    }

    .education-image{
        height:260px;
    }

    .education-card-content{
        padding:30px 25px;
    }

    .education-card-content h3{
        font-size:25px;
    }

    .highlight-grid{
        grid-template-columns:1fr;
    }

    .education-highlights{
        padding:70px 0;
    }

    .highlight-heading h2{
        font-size:30px;
    }

    .education-message{
        padding:70px 0;
    }

    .education-message-card{
        padding:45px 25px;
    }

    .education-message-card h2{
        font-size:30px;
    }

    .message-bottom{
        flex-direction:column;
        gap:8px;
    }

}


@media (max-width:480px){

    .education-image{
        height:230px;
    }

    .education-image-title{
        left:20px;
        bottom:20px;
        font-size:19px;
    }

    .service-box{
        padding:16px;
    }

}

/* =========================================================
   LITURGICAL & PARISH SERVICE PAGE
========================================================= */

.liturgical-hero{
    position:relative;
    padding:170px 0 125px;

    background:
        linear-gradient(
            90deg,
            rgba(7,25,55,.94),
            rgba(14,42,90,.70)
        ),
        url("../images/hero.jpg") center center/cover no-repeat;
}


/* =========================================================
   INTRO
========================================================= */

.liturgical-intro{
    padding:100px 0;
    background:#FCFAF3;
}

.liturgical-intro-card{
    max-width:1000px;
    margin:auto;

    padding:65px 75px;

    text-align:center;

    background:rgba(255,255,255,.78);

    border:1px solid rgba(212,175,55,.30);

    border-radius:32px;

    box-shadow:
        0 25px 70px rgba(14,42,90,.10);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}

.liturgical-intro-icon{
    width:80px;
    height:80px;

    margin:0 auto 25px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:29px;

    border:4px solid #D4AF37;
}

.liturgical-label{
    display:inline-block;

    color:#D4AF37;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:12px;
}

.liturgical-intro-card h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:38px;

    margin-bottom:18px;
}

.liturgical-intro-card p{
    max-width:850px;

    margin:12px auto;

    color:#666;

    font-size:17px;

    line-height:1.9;
}

.gold-line-center{
    width:70px;
    height:3px;

    margin:20px auto;

    background:#D4AF37;

    border-radius:10px;
}


/* =========================================================
   PEOPLE
========================================================= */

.liturgical-people{
    padding:110px 0;

    background:#0E2A5A;

    position:relative;
}

.liturgical-people::before{
    content:"";

    position:absolute;

    inset:0;

    opacity:.035;

    background-image:
        radial-gradient(#D4AF37 1px,transparent 1px);

    background-size:25px 25px;
}

.liturgical-heading{
    position:relative;

    z-index:2;

    text-align:center;

    margin-bottom:60px;
}

.liturgical-heading > span{
    color:#D4AF37;

    font-size:20px;

    letter-spacing:7px;
}

.liturgical-heading h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:42px;

    margin:15px 0 10px;
}

.liturgical-heading p{
    color:rgba(255,255,255,.70);

    margin:0;
}

.liturgical-people-grid{
    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;
}


/* =========================================================
   PERSON CARD
========================================================= */

.liturgical-person-card{
    overflow:hidden;

    border-radius:30px;

    background:rgba(255,255,255,.97);

    border:1px solid rgba(212,175,55,.35);

    box-shadow:
        0 25px 70px rgba(0,0,0,.20);

    transition:.4s ease;
}

.liturgical-person-card:hover{
    transform:translateY(-10px);

    box-shadow:
        0 35px 80px rgba(0,0,0,.28);
}


/* =========================================================
   PHOTO
========================================================= */

.liturgical-photo{
    height:370px;

    position:relative;

    overflow:hidden;
}

.liturgical-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:.6s ease;
}

.liturgical-person-card:hover
.liturgical-photo img{
    transform:scale(1.05);
}

.liturgical-photo-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(5,20,45,.90),
            rgba(5,20,45,.03)
        );
}

.liturgical-photo-label{
    position:absolute;

    left:30px;
    bottom:27px;

    display:flex;

    align-items:center;

    gap:12px;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:24px;

    font-weight:600;
}

.liturgical-photo-label i{
    color:#D4AF37;

    font-size:23px;
}


/* =========================================================
   PERSON CONTENT
========================================================= */

.liturgical-person-content{
    padding:38px 40px 42px;
}

.person-small-title{
    color:#D4AF37;

    font-size:13px;

    font-weight:700;

    letter-spacing:1.5px;
}

.liturgical-person-content h3{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:29px;

    margin:8px 0 12px;
}

.small-gold-line{
    width:55px;
    height:3px;

    background:#D4AF37;

    border-radius:10px;

    margin-bottom:22px;
}

.liturgical-person-content p{
    color:#666;

    font-size:15.5px;

    line-height:1.85;

    margin-bottom:20px;
}


/* =========================================================
   SERVICE LIST
========================================================= */

.service-mini-list{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:12px;

    margin-top:22px;
}

.service-mini-list div{
    display:flex;

    align-items:center;

    gap:9px;

    padding:12px;

    border-radius:12px;

    background:#FCFAF3;
}

.service-mini-list i{
    color:#D4AF37;

    font-size:13px;
}

.service-mini-list span{
    color:#555;

    font-size:13px;
}


/* =========================================================
   LITURGICAL SERVICES
========================================================= */

.liturgical-services{
    padding:100px 0;

    background:#FCFAF3;
}

.services-heading{
    text-align:center;

    margin-bottom:55px;
}

.services-heading > span{
    color:#D4AF37;

    font-size:25px;
}

.services-heading h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:40px;

    margin:12px 0;
}

.services-heading p{
    color:#777;

    margin:0;
}

.liturgical-service-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;
}

.liturgical-service-card{
    padding:38px 25px;

    text-align:center;

    background:#fff;

    border-radius:22px;

    border:1px solid rgba(212,175,55,.18);

    box-shadow:
        0 15px 40px rgba(14,42,90,.07);

    transition:.35s;
}

.liturgical-service-card:hover{
    transform:translateY(-8px);

    box-shadow:
        0 25px 50px rgba(14,42,90,.12);
}

.service-icon{
    width:70px;
    height:70px;

    margin:0 auto 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:26px;

    border:3px solid #D4AF37;
}

.liturgical-service-card h3{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:22px;

    margin-bottom:10px;
}

.liturgical-service-card p{
    color:#777;

    font-size:14px;

    line-height:1.7;

    margin:0;
}


/* =========================================================
   PARISH SUPPORT
========================================================= */

.parish-support{
    padding:100px 0;

    background:#fff;
}

.parish-support-card{
    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:50px;

    align-items:center;

    padding:60px;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            #0E2A5A,
            #123B7A
        );

    box-shadow:
        0 25px 65px rgba(14,42,90,.18);
}

.support-content > span{
    color:#D4AF37;

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;
}

.support-content h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:38px;

    margin:12px 0 15px;
}

.support-content .gold-line{
    width:60px;
    height:3px;

    background:#D4AF37;

    margin-bottom:22px;
}

.support-content p{
    color:rgba(255,255,255,.78);

    font-size:15px;

    line-height:1.85;

    margin-bottom:15px;
}

.support-items{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;
}

.support-item{
    padding:25px 18px;

    text-align:center;

    border-radius:18px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(212,175,55,.25);

    backdrop-filter:blur(8px);
}

.support-item i{
    display:block;

    color:#D4AF37;

    font-size:27px;

    margin-bottom:12px;
}

.support-item span{
    color:#fff;

    font-size:14px;
}


/* =========================================================
   THANKS
========================================================= */

.liturgical-thanks{
    padding:100px 0;

    background:
        linear-gradient(
            135deg,
            #0E2A5A,
            #123B7A
        );
}

.liturgical-thanks-card{
    max-width:900px;

    margin:auto;

    padding:60px 70px;

    text-align:center;

    border-radius:30px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(212,175,55,.35);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);
}

.thanks-icon{
    width:75px;
    height:75px;

    margin:0 auto 22px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    font-size:27px;
}

.liturgical-thanks-card h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:38px;
}

.liturgical-thanks-card p{
    max-width:750px;

    margin:14px auto;

    color:rgba(255,255,255,.82);

    font-size:16px;

    line-height:1.9;
}

.thanks-bottom{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

    margin-top:30px;

    color:#D4AF37;
}

.thanks-bottom strong{
    color:#fff;

    font-weight:500;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:1100px){

    .liturgical-service-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media (max-width:850px){

    .liturgical-people-grid{
        grid-template-columns:1fr;

        max-width:750px;

        margin:auto;
    }

    .parish-support-card{
        grid-template-columns:1fr;

        padding:45px 35px;
    }

}


@media (max-width:768px){

    .liturgical-hero{
        padding:125px 0 85px;
    }

    .liturgical-intro{
        padding:70px 0;
    }

    .liturgical-intro-card{
        padding:45px 25px;
    }

    .liturgical-intro-card h2{
        font-size:30px;
    }

    .liturgical-intro-card p{
        font-size:15px;
    }

    .liturgical-people{
        padding:75px 0;
    }

    .liturgical-heading h2{
        font-size:32px;
    }

    .liturgical-photo{
        height:280px;
    }

    .liturgical-person-content{
        padding:30px 25px;
    }

    .liturgical-person-content h3{
        font-size:25px;
    }

    .service-mini-list{
        grid-template-columns:1fr;
    }

    .liturgical-services{
        padding:70px 0;
    }

    .liturgical-service-grid{
        grid-template-columns:1fr;
    }

    .services-heading h2{
        font-size:32px;
    }

    .parish-support{
        padding:70px 0;
    }

    .parish-support-card{
        padding:40px 25px;
    }

    .support-content h2{
        font-size:30px;
    }

    .liturgical-thanks{
        padding:70px 0;
    }

    .liturgical-thanks-card{
        padding:45px 25px;
    }

    .liturgical-thanks-card h2{
        font-size:30px;
    }

    .thanks-bottom{
        flex-direction:column;

        gap:8px;
    }

}

/* =========================================================
   PARISH COUNCIL & REPORT PAGE
========================================================= */


/* =========================
   HERO
========================= */

.council-hero{
    position:relative;

    padding:175px 0 125px;

    background:
        linear-gradient(
            90deg,
            rgba(7,24,52,.94),
            rgba(14,42,90,.72)
        ),
        url("../images/hero.jpg")
        center center/cover no-repeat;
}


/* =========================
   INTRO
========================= */

.council-intro{
    padding:100px 0;

    background:#FCFAF3;
}

.council-intro-card{
    max-width:950px;

    margin:auto;

    padding:65px 75px;

    text-align:center;

    background:rgba(255,255,255,.82);

    border:1px solid rgba(212,175,55,.28);

    border-radius:32px;

    box-shadow:
        0 25px 70px rgba(14,42,90,.10);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);
}

.council-icon{
    width:82px;
    height:82px;

    margin:0 auto 24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:28px;

    border:4px solid #D4AF37;

    box-shadow:
        0 10px 30px rgba(14,42,90,.15);
}

.council-label{
    display:inline-block;

    color:#D4AF37;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:12px;
}

.council-intro-card h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:40px;

    line-height:1.35;

    margin-bottom:15px;
}

.council-intro-card p{
    max-width:820px;

    margin:12px auto;

    color:#666;

    font-size:16px;

    line-height:1.9;
}

.council-gold-line{
    width:65px;
    height:3px;

    margin:20px auto;

    background:#D4AF37;

    border-radius:10px;
}


/* =========================
   SECTION TITLE
========================= */

.council-section-title{
    text-align:center;

    margin-bottom:50px;
}

.council-section-title > span{
    color:#D4AF37;

    font-size:18px;

    letter-spacing:7px;
}

.council-section-title h2{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:40px;

    margin:12px 0;
}

.council-section-title p{
    color:#777;

    margin:0;

    font-size:15px;
}


/* =========================
   GROUP PHOTO
========================= */

.council-group-photo{
    padding:100px 0;

    background:#fff;
}

.group-photo-card{
    position:relative;

    max-width:1150px;

    margin:auto;

    overflow:hidden;

    border-radius:30px;

    border:8px solid #fff;

    box-shadow:
        0 25px 70px rgba(14,42,90,.18);
}

.group-photo-card img{
    display:block;

    width:100%;

    height:560px;

    object-fit:cover;

    transition:.6s ease;
}

.group-photo-card:hover img{
    transform:scale(1.025);
}

.group-photo-caption{
    position:absolute;

    left:25px;
    right:25px;
    bottom:25px;

    display:flex;

    align-items:center;

    gap:18px;

    padding:20px 25px;

    border-radius:18px;

    background:rgba(7,25,55,.78);

    border:1px solid rgba(212,175,55,.35);

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

    color:#fff;
}

.group-photo-caption i{
    width:48px;
    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    font-size:20px;
}

.group-photo-caption strong{
    display:block;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:20px;
}

.group-photo-caption span{
    display:block;

    margin-top:3px;

    color:rgba(255,255,255,.70);

    font-size:13px;
}


/* =========================
   OVERVIEW
========================= */

.report-overview{
    padding:100px 0;

    background:#FCFAF3;
}

.report-stats{
    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:25px;
}

.report-stat{
    padding:32px 20px;

    text-align:center;

    background:#fff;

    border-radius:22px;

    border:1px solid rgba(212,175,55,.18);

    box-shadow:
        0 15px 40px rgba(14,42,90,.07);

    transition:.35s;
}

.report-stat:hover{
    transform:translateY(-8px);

    box-shadow:
        0 25px 50px rgba(14,42,90,.12);
}

.report-stat-icon{
    width:65px;
    height:65px;

    margin:0 auto 15px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#0E2A5A;

    color:#D4AF37;

    font-size:23px;

    border:3px solid #D4AF37;
}

.report-stat strong{
    display:block;

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:31px;

    margin-bottom:5px;
}

.report-stat span{
    color:#777;

    font-size:13px;
}


/* =========================
   REPORT AREA
========================= */

.council-report{
    padding:100px 0;

    background:#fff;
}

.council-report .container{
    max-width:1050px;
}


/* =========================
   REPORT CARD
========================= */

.report-card{
    position:relative;

    display:grid;

    grid-template-columns:90px 1fr;

    gap:30px;

    padding:45px;

    margin-bottom:30px;

    background:
        linear-gradient(
            135deg,
            #ffffff,
            #FCFAF3
        );

    border-radius:25px;

    border:1px solid rgba(212,175,55,.18);

    box-shadow:
        0 15px 45px rgba(14,42,90,.07);

    transition:.35s ease;

    overflow:hidden;
}

.report-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:5px;
    height:100%;

    background:#D4AF37;
}

.report-card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 25px 60px rgba(14,42,90,.11);
}


/* =========================
   NUMBER
========================= */

.report-number{
    width:70px;
    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:20px;

    background:#0E2A5A;

    color:#D4AF37;

    font-family:'Playfair Display',serif;

    font-size:22px;

    font-weight:600;

    border:2px solid #D4AF37;

    box-shadow:
        0 10px 25px rgba(14,42,90,.15);
}


/* =========================
   CONTENT
========================= */

.report-category{
    display:inline-block;

    color:#D4AF37;

    font-size:12px;

    font-weight:700;

    letter-spacing:1.7px;

    text-transform:uppercase;

    margin-bottom:6px;
}

.report-content h3{
    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:28px;

    line-height:1.4;

    margin:0 0 10px;
}

.report-line{
    width:55px;
    height:3px;

    background:#D4AF37;

    border-radius:10px;

    margin-bottom:20px;
}

.report-content p{
    color:#666;

    font-size:15px;

    line-height:1.9;

    margin:0 0 14px;
}


/* =========================
   REPORT LIST
========================= */

.report-list{
    padding:0;

    margin:20px 0;

    list-style:none;
}

.report-list li{
    display:flex;

    align-items:flex-start;

    gap:12px;

    padding:10px 0;

    color:#666;

    font-size:14.5px;

    line-height:1.7;
}

.report-list i{
    flex-shrink:0;

    margin-top:5px;

    color:#D4AF37;
}


/* =========================
   HIGHLIGHT
========================= */

.report-highlight{
    display:inline-flex;

    align-items:center;

    gap:15px;

    padding:15px 20px;

    margin:10px 0 18px;

    border-radius:15px;

    background:#0E2A5A;

    color:#fff;
}

.report-highlight strong{
    color:#D4AF37;

    font-family:'Playfair Display',serif;

    font-size:25px;
}

.report-highlight span{
    color:rgba(255,255,255,.72);

    font-size:12px;
}


/* =========================
   HOUSE SECTION
========================= */

.house-progress{
    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin:25px 0;
}

.house-box{
    padding:22px;

    text-align:center;

    border-radius:16px;

    background:#fff;

    border:1px solid rgba(212,175,55,.20);
}

.house-box i{
    display:block;

    color:#D4AF37;

    font-size:24px;

    margin-bottom:8px;
}

.house-box strong{
    display:block;

    color:#0E2A5A;

    font-family:'Playfair Display',serif;

    font-size:30px;
}

.house-box span{
    color:#777;

    font-size:12px;
}


/* =========================
   ORGANIZATION TAGS
========================= */

.organization-tags{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin:20px 0;
}

.organization-tags span{
    padding:10px 15px;

    border-radius:30px;

    background:#0E2A5A;

    color:#fff;

    border:1px solid rgba(212,175,55,.35);

    font-size:13px;
}


/* =========================
   SIMPLE DECISION
========================= */

.simple-decision{
    display:flex;

    align-items:center;

    gap:15px;

    padding:20px;

    margin:20px 0;

    border-radius:18px;

    background:#FCFAF3;

    border-left:4px solid #D4AF37;
}

.simple-decision i{
    color:#D4AF37;

    font-size:25px;
}

.simple-decision span{
    color:#555;

    font-size:14px;

    line-height:1.7;
}


/* =========================
   MONTHLY CONTRIBUTION
========================= */

.monthly-contribution{
    display:flex;

    align-items:center;

    gap:20px;

    margin:20px 0;

    padding:20px;

    border-radius:18px;

    background:#0E2A5A;
}

.monthly-contribution strong{
    color:#D4AF37;

    font-family:'Playfair Display',serif;

    font-size:30px;
}

.monthly-contribution span{
    color:rgba(255,255,255,.75);

    font-size:13px;
}


/* =========================
   CONCLUSION
========================= */

.council-conclusion{
    padding:100px 0;

    background:
        linear-gradient(
            135deg,
            #0E2A5A,
            #123B7A
        );
}

.conclusion-card{
    max-width:900px;

    margin:auto;

    padding:65px 70px;

    text-align:center;

    border-radius:32px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(212,175,55,.35);

    backdrop-filter:blur(15px);

    -webkit-backdrop-filter:blur(15px);

    box-shadow:
        0 25px 70px rgba(0,0,0,.15);
}

.conclusion-icon{
    width:78px;
    height:78px;

    margin:0 auto 20px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#D4AF37;

    color:#fff;

    font-size:28px;
}

.conclusion-card > span{
    color:#D4AF37;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;
}

.conclusion-card h2{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:40px;

    margin:12px 0;
}

.conclusion-card p{
    max-width:760px;

    margin:14px auto;

    color:rgba(255,255,255,.80);

    font-size:16px;

    line-height:1.9;
}

.conclusion-footer{
    display:flex;

    align-items:center;

    justify-content:center;

    gap:18px;

    margin-top:30px;

    color:#D4AF37;
}

.conclusion-footer strong{
    color:#fff;

    font-size:14px;

    font-weight:500;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:991px){

    .report-stats{
        grid-template-columns:repeat(2,1fr);
    }

}


@media (max-width:768px){

    .council-hero{
        padding:125px 0 85px;
    }

    .council-intro{
        padding:70px 0;
    }

    .council-intro-card{
        padding:45px 25px;
    }

    .council-intro-card h2{
        font-size:30px;
    }

    .council-intro-card p{
        font-size:15px;
    }

    .council-group-photo{
        padding:70px 0;
    }

    .group-photo-card img{
        height:350px;
    }

    .group-photo-caption{
        left:15px;
        right:15px;
        bottom:15px;

        padding:15px;
    }

    .report-overview{
        padding:70px 0;
    }

    .report-stats{
        grid-template-columns:1fr;
    }

    .council-report{
        padding:70px 0;
    }

    .report-card{
        grid-template-columns:1fr;

        gap:20px;

        padding:30px 25px;
    }

    .report-number{
        width:60px;
        height:60px;
    }

    .report-content h3{
        font-size:24px;
    }

    .house-progress{
        grid-template-columns:1fr;
    }

    .monthly-contribution{
        align-items:flex-start;
    }

    .council-conclusion{
        padding:70px 0;
    }

    .conclusion-card{
        padding:45px 25px;
    }

    .conclusion-card h2{
        font-size:30px;
    }

    .conclusion-footer{
        flex-direction:column;

        gap:8px;
    }

}

/*==================================================
   FINANCIALS PAGE
==================================================*/

.financial-hero{

    position:relative;

    min-height:420px;

    background:
    linear-gradient(
        rgba(8,23,55,.82),
        rgba(8,23,55,.72)
    ),
    url("../images/hero.jpg");

    background-size:cover;

    background-position:center;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.financial-overlay{

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        circle at center,
        transparent 20%,
        rgba(0,0,0,.20)
    );

}

.financial-hero-content{

    position:relative;

    z-index:5;

    color:#fff;

}

.financial-badge{

    display:inline-block;

    background:rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.25);

    backdrop-filter:blur(12px);

    padding:9px 20px;

    border-radius:50px;

    color:#FFD76A;

    font-size:14px;

    margin-bottom:20px;

}

.financial-hero h1{

    font-family:'Playfair Display',serif;

    font-size:48px;

    font-weight:700;

    margin-bottom:15px;

}

.financial-hero p{

    color:#f1f1f1;

    font-size:17px;

}


/*==================================================
   MAIN SECTION
==================================================*/

.financial-section{

    padding:90px 0;

    background:#f8f9fc;

}

.financial-heading{

    max-width:750px;

    margin:0 auto 65px;

}

.financial-heading h2{

    color:#0E2A5A;

    font-size:40px;

    font-weight:700;

    margin:18px 0;

}

.financial-heading p{

    color:#666;

    font-size:16px;

    line-height:1.9;

}


/*==================================================
   GROUP
==================================================*/

.financial-group{

    margin-bottom:75px;

}

.financial-group-title{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:30px;

}

.financial-title-icon{

    width:58px;

    height:58px;

    flex-shrink:0;

    border-radius:16px;

    background:#0E2A5A;

    color:#D4AF37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:24px;

}

.financial-group-title h3{

    color:#0E2A5A;

    font-size:27px;

    font-weight:700;

    margin:0 0 5px;

}

.financial-group-title p{

    margin:0;

    color:#777;

    font-size:14px;

}


/*==================================================
   FINANCIAL CARD
==================================================*/

.financial-card{

    height:100%;

    padding:32px 25px;

    background:#ffffff;

    border-radius:22px;

    border:1px solid #eeeeee;

    box-shadow:0 15px 40px rgba(0,0,0,.07);

    text-align:center;

    transition:.35s;

}

.financial-card:hover{

    transform:translateY(-7px);

    box-shadow:0 25px 55px rgba(0,0,0,.13);

}

.document-icon{

    width:70px;

    height:70px;

    margin:0 auto 20px;

    border-radius:18px;

    background:rgba(14,42,90,.08);

    color:#0E2A5A;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

}

.pdf-icon{

    color:#c62828;

    background:rgba(198,40,40,.08);

}

.document-label{

    display:block;

    color:#D4AF37;

    font-size:13px;

    font-weight:600;

    margin-bottom:7px;

}

.financial-card h4{

    color:#0E2A5A;

    font-size:25px;

    font-weight:700;

    margin-bottom:10px;

}

.financial-card p{

    color:#666;

    font-size:14px;

    line-height:1.7;

    min-height:48px;

}


/*==================================================
   BUTTONS
==================================================*/

.document-buttons{

    display:flex;

    justify-content:center;

    gap:10px;

    flex-wrap:wrap;

    margin-top:20px;

}

.document-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    padding:10px 18px;

    border-radius:30px;

    background:#D4AF37;

    color:#222;

    text-decoration:none;

    font-size:13px;

    font-weight:600;

    transition:.3s;

}

.document-btn:hover{

    background:#0E2A5A;

    color:#fff;

    transform:translateY(-2px);

}

.secondary-btn{

    background:#0E2A5A;

    color:#fff;

}

.secondary-btn:hover{

    background:#D4AF37;

    color:#222;

}


/*==================================================
   MONTHLY CARDS
==================================================*/

.monthly-card{

    height:100%;

    background:#fff;

    border-radius:20px;

    padding:28px 18px;

    text-align:center;

    border:1px solid #eeeeee;

    box-shadow:0 12px 35px rgba(0,0,0,.06);

    transition:.35s;

}

.monthly-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 45px rgba(0,0,0,.11);

}

.month-icon{

    width:58px;

    height:58px;

    margin:0 auto 16px;

    border-radius:50%;

    background:rgba(212,175,55,.14);

    color:#D4AF37;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

}

.monthly-card h4{

    color:#0E2A5A;

    font-size:20px;

    font-weight:700;

    margin-bottom:8px;

}

.monthly-card p{

    color:#777;

    font-size:13px;

    min-height:40px;

}


/*==================================================
   MOBILE
==================================================*/

@media(max-width:991px){

    .financial-hero{

        min-height:350px;

    }

    .financial-hero h1{

        font-size:38px;

    }

    .financial-section{

        padding:65px 0;

    }

    .financial-group-title h3{

        font-size:23px;

    }

}

@media(max-width:576px){

    .financial-hero h1{

        font-size:30px;

    }

    .financial-hero p{

        font-size:15px;

    }

    .financial-heading h2{

        font-size:30px;

    }

    .financial-group-title{

        align-items:flex-start;

    }

    .financial-title-icon{

        width:48px;

        height:48px;

        font-size:20px;

    }

    .financial-group-title h3{

        font-size:20px;

    }

}