/* MOBILE CLICK FLIP */

.flip-card.mobile-flip .flip-inner{
    transform:rotateY(180deg);
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Poppins',sans-serif;
    letter-spacing:0.3px;
    background:
        radial-gradient(circle at top right, rgba(255,215,0,0.15), transparent 25%),
        radial-gradient(circle at bottom left, rgba(0,191,255,0.18), transparent 25%),
        #07121f;
    color:#fff;
    overflow-x:hidden;
}

html{
    scroll-behavior:smooth;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

section{
    padding:90px 0;
}

h1,h2,h3{
    line-height:1.4;
}

p{
    color:#d7d7d7;
    line-height:1.8;
}

img{
    width:100%;
    display:block;
}



/* ministory page */
/* ========================= */
/* MINISTRIES FLIP SECTION */
/* ========================= */

.ministries-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(320px,1fr));

    gap:35px;
}

.flip-card{

    perspective:1500px;

    height:460px;
}

.flip-inner{

    position:relative;

    width:100%;
    height:100%;

    transition:transform 0.9s;

    transform-style:preserve-3d;
}

/* .flip-card:hover .flip-inner{
    transform:rotateY(180deg);
} */
 @media(min-width:769px){

    .flip-card:hover .flip-inner{
        transform:rotateY(180deg);
    }

}
/* MOBILE CLICK FLIP */

@media(max-width:768px){

    .flip-card.mobile-flip .flip-inner{
        transform:rotateY(180deg);
    }

}

.flip-front,
.flip-back{

    position:absolute;

    width:100%;
    height:100%;

    border-radius:32px;

    overflow:hidden;

    backface-visibility:hidden;

    background-size:cover;
    background-position:center;

    display:flex;
    justify-content:center;
    align-items:center;

    padding:35px;

    box-shadow:
        0 20px 45px rgba(0,0,0,0.35);
}

.flip-front{

    border:
        2px solid rgba(255,215,106,0.18);
}

.flip-back{

    transform:rotateY(180deg);

    border:
        2px solid rgba(135,206,250,0.18);
}

.ministry-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.82),
            rgba(0,0,0,0.25)
        );
}

.ministry-overlay.dark{

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.92),
            rgba(0,0,0,0.65)
        );
}

.front-content,
.back-content{

    position:relative;

    z-index:2;

    text-align:center;
}

.front-content h3,
.back-content h3{

    font-size:34px;

    font-family:'Cinzel', serif;

    line-height:1.4;

    margin-bottom:22px;

    background:
        linear-gradient(
            to bottom,
            #fff8dc,
            #ffd76a,
            #ffbf3f
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
        0 0 18px rgba(255,215,106,0.25);
}

.front-content span{

    display:inline-block;

    font-size:19px;

    line-height:1.8;

    color:#fff;

    font-style:italic;

    padding:14px 22px;

    border-radius:40px;

    background:
        rgba(255,255,255,0.08);

    backdrop-filter:blur(8px);

    border:
        1px solid rgba(255,255,255,0.12);

    box-shadow:
        0 0 20px rgba(255,215,106,0.08);
}

.back-content p{

    color:#f2f2f2;

    font-size:16px;

    line-height:2;

    font-weight:300;

    letter-spacing:0.5px;
}


/* HOVER EFFECT */

.flip-card:hover{

    transform:
        translateY(-10px);
}


/* MOBILE */

@media(max-width:768px){

    .flip-card{
        height:500px;
    }

    .front-content h3,
    .back-content h3{

        font-size:28px;
    }

    .front-content span{

        font-size:16px;
    }

    .back-content p{

        font-size:14px;
        line-height:1.9;
    }

}

@media(max-width:480px){

    .flip-card{
        height:540px;
    }

    .front-content h3,
    .back-content h3{

        font-size:24px;
    }

}

/* HERO */

.hero-title{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}

.welcome-text{
    font-size:28px;
    font-weight:400;
    letter-spacing:4px;
    text-transform:uppercase;
    color:#d6d6d6;
}


 .church-name{

    font-size:78px;
    font-weight:700;
    font-family:'Cinzel', serif;

    line-height:1.15;
    letter-spacing:3px;

    background:linear-gradient(
        to bottom,
        #fff8dc 0%,
        #ffe9a8 20%,
        #ffd76a 40%,
        #ffbf3f 60%,
        #fff2c7 80%,
        #d8a93a 100%
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
        0 0 8px rgba(255,215,106,0.35),
        0 0 15px rgba(255,215,106,0.25),
        0 0 30px rgba(255,191,63,0.18),
        0 0 45px rgba(255,255,255,0.08);

    animation:goldGlow 3s ease-in-out infinite alternate;

    position:relative;
}
@keyframes goldGlow{

    0%{

        text-shadow:
            0 0 8px rgba(255,215,106,0.25),
            0 0 15px rgba(255,215,106,0.18),
            0 0 25px rgba(255,191,63,0.12);

        transform:scale(1);
    }

    100%{

        text-shadow:
            0 0 12px rgba(255,215,106,0.45),
            0 0 25px rgba(255,215,106,0.35),
            0 0 40px rgba(255,191,63,0.22),
            0 0 55px rgba(255,255,255,0.12);

        transform:scale(1.1);
    }

}
.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    background:url('../images/hero/crown.jpeg') center/cover no-repeat;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.7));
}

.hero-content{
    position:relative;
    z-index:2;
}

.hero h1{
    font-size:65px;
    margin-bottom:25px;
    color:#fff;
    text-shadow:0 0 20px rgba(255,215,0,0.3);
}

.hero p{
    max-width:700px;
    margin:auto;
    font-size:22px;
    margin-bottom:35px;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/* BUTTONS */

.btn{
    display:inline-block;
    padding:15px 30px;
    border-radius:50px;
    background:linear-gradient(45deg,#5ecbff,#00a2ff);
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:0.4s;
    border:none;
    cursor:pointer;
    box-shadow:0 10px 25px rgba(0,162,255,0.3);
}

.btn:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(0,162,255,0.5);
}

.btn-outline{
    background:linear-gradient(45deg,#ffd76a,#ffbf00);
    color:#111;
}

.small-btn{
    padding:12px 24px;
    margin-top:10px;
}

/* TITLES */

.section-title{
    text-align:center;
    margin-bottom:50px;
}

/* .section-title h2{
    font-size:45px;
    margin-bottom:15px;
    color:#ffd76a;
} */
 .section-title h2{

    position:relative;

    display:inline-block;

    font-size:56px;

    font-family:'Cinzel', serif;

    letter-spacing:2px;

    margin-bottom:25px;

    background:
        linear-gradient(
            to bottom,
            #fff8dc,
            #ffd76a,
            #ffbf3f
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    text-shadow:
        0 0 15px rgba(255,215,106,0.2);

    animation:titleGlow 3s ease-in-out infinite alternate;
}

/* GRID */

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.card,
.service-box{
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.08);
    padding:35px;
    border-radius:25px;
    backdrop-filter:blur(12px);
    transition:0.4s;
}

.card:hover,
.service-box:hover{
    transform:translateY(-10px);
    border-color:#87cefa;
    box-shadow:0 20px 40px rgba(0,0,0,0.3);
}

.dark-section{
    background:rgba(255,255,255,0.03);
}

/* BELIEFS */

.belief-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.belief-card{
    perspective:1000px;
    height:340px;
}

.belief-inner{
    position:relative;
    width:100%;
    height:100%;
    transition:transform 0.8s;
    transform-style:preserve-3d;
}

.belief-card:hover .belief-inner{
    transform:rotateY(180deg);
}

.belief-front,
.belief-back{
    position:absolute;
    width:100%;
    height:100%;
    backface-visibility:hidden;
    border-radius:25px;
    padding:30px;
    display:flex;
    justify-content:center;
    align-items:center;
    text-align:center;
}

.belief-front{
    background:linear-gradient(145deg,#0d2444,#1e4f80);
}

.belief-back{
    background:#fff;
    color:#111;
    transform:rotateY(180deg);
    flex-direction:column;
    gap:15px;
}

.belief-back p{
    color:#333;
}

.belief-back span{
    color:#0d5ea8;
    font-weight:600;
}

/* PAGE BANNER */

.page-banner{
    padding-top:180px;
    padding-bottom:90px;
    text-align:center;
}

.page-banner h1{
    font-size:60px;
    color:#ffd76a;
}

/* FORM */

form input,
form textarea{
    width:100%;
    margin-bottom:15px;
    padding:15px;
    border:none;
    border-radius:12px;
    background:rgba(255,255,255,0.1);
    color:#fff;
}

textarea{
    height:160px;
    resize:none;
}

/* GALLERY */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:25px;
}

.gallery-grid img{
    border-radius:20px;
    height:280px;
    object-fit:cover;
    transition:0.4s;
}

.gallery-grid img:hover{
    transform:scale(1.05);
}

/* FOOTER */


.footer{

    position:relative;

    background:
        linear-gradient(
            to bottom,
            #050d17,
            #081524
        );

    padding:90px 0 35px;

    overflow:hidden;

    border-top:
        1px solid rgba(255,255,255,0.08);
}

.footer::before{

    content:'';

    position:absolute;

    width:450px;
    height:450px;

    background:
        radial-gradient(
            rgba(255,215,106,0.12),
            transparent 70%
        );

    top:-180px;
    right:-120px;

    border-radius:50%;
}

.footer-content{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(260px,1fr));

    gap:50px;

    margin-bottom:50px;
}

.footer-box h2{

    color:#ffd76a;

    font-size:34px;

    margin-bottom:18px;

    font-family:'Cinzel', serif;

    line-height:1.4;

    text-shadow:
        0 0 12px rgba(255,215,106,0.18);
}

.footer-box h3{

    color:#87cefa;

    margin-bottom:22px;

    font-size:24px;

    font-family:'Cinzel', serif;
}

.footer-box p{

    color:#d6d6d6;

    margin-bottom:16px;

    line-height:1.8;

    transition:0.3s;

    cursor:pointer;
}

.footer-box p:hover{

    color:#fff;

    transform:translateX(5px);
}

.footer-text{

    max-width:340px;
}

.footer-links{

    display:flex;
    flex-direction:column;
    gap:16px;
}

.footer-links a{

    color:#d6d6d6;

    text-decoration:none;

    font-size:16px;

    transition:0.4s;

    position:relative;

    width:fit-content;
}

.footer-links a:hover{

    color:#ffd76a;

    transform:
        translateX(8px)
        scale(1.03);

    text-shadow:
        0 0 12px rgba(255,215,106,0.3);
}

.footer-links a::after{

    content:'';

    position:absolute;

    left:0;
    bottom:-5px;

    width:0%;
    height:2px;

    background:
        linear-gradient(
            to right,
            #87cefa,
            #ffd76a
        );

    transition:0.4s;
}

.footer-links a:hover::after{
    width:100%;
}

.footer-bottom{

    padding-top:30px;

    border-top:
        1px solid rgba(255,255,255,0.08);

    text-align:center;
}

.footer-bottom p{

    color:#9ea7b3;

    font-size:14px;

    letter-spacing:1px;
}


/* MOBILE */

@media(max-width:768px){

    .footer{
        text-align:center;
    }

    .footer-text{
        max-width:100%;
    }

    .footer-links{
        align-items:center;
    }

    .footer-box p:hover{
        transform:none;
    }

}
/* RESPONSIVE */

@media(max-width:768px){

    .welcome-text{
        font-size:18px;
        letter-spacing:2px;
    }

    .church-name{
        font-size:42px;
    }

}

@media(max-width:480px){

    .hero h1{
        font-size:32px;
    }

    .page-banner h1{
        font-size:34px;
    }

    .belief-card{
        height:380px;
    }

    .church-name{
        font-size:32px;
    }

}
@media(max-width:480px){

    .church-name{
        font-size:32px;
    }

}

@media(max-width:768px){

    .logo img{
        width:40px;
    }

}
@media(max-width:768px){

    .sermon-video{
        height:320px;
    }

}

@media(max-width:480px){

    .sermon-video{
        height:240px;
    }

}
.welcome-text{

    font-size:26px;
    font-weight:400;
    letter-spacing:6px;
    text-transform:uppercase;

    color:#f5e6b3;

    text-shadow:
        0 0 10px rgba(255,215,106,0.18);

    opacity:0.9;
}
/* ========================= */
/* FLOATING LIGHT EFFECTS */
/* ========================= */

.about-section,
.pastor-section,
.values-section,
.quote-section{
    position:relative;
    overflow:hidden;
}

.about-section::before,
.pastor-section::before,
.values-section::before,
.quote-section::before{

    content:'';

    position:absolute;

    width:500px;
    height:500px;

    background:
        radial-gradient(
            rgba(255,215,106,0.12),
            transparent 70%
        );

    border-radius:50%;

    filter:blur(20px);

    animation:floatLight 10s ease-in-out infinite alternate;
}

.about-section::before{
    top:-150px;
    right:-120px;
}

.pastor-section::before{
    bottom:-180px;
    left:-120px;
}

.values-section::before{
    top:0;
    left:40%;
}

.quote-section::before{
    bottom:-150px;
    right:-100px;
}

@keyframes floatLight{

    from{
        transform:
            translateY(0px)
            translateX(0px)
            scale(1);
    }

    to{
        transform:
            translateY(30px)
            translateX(20px)
            scale(1.15);
    }

}
.about-content p,
.pastor-content p{

    color:#ececec;

    line-height:2.2;

    margin-bottom:28px;

    font-size:17px;

    font-weight:300;

    letter-spacing:0.5px;

    position:relative;

    padding-left:28px;

    transition:0.4s;
}
.about-content p::before,
.pastor-content p::before{

    content:'';

    position:absolute;

    left:0;
    top:12px;

    width:12px;
    height:12px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #ffd76a,
            #ffbf3f
        );

    box-shadow:
        0 0 15px rgba(255,215,106,0.45);
}
.about-content p:hover,
.pastor-content p:hover{

    transform:translateX(10px);

    color:#fff;
}
@keyframes titleGlow{

    from{

        text-shadow:
            0 0 10px rgba(255,215,106,0.2),
            0 0 20px rgba(255,215,106,0.1);
    }

    to{

        text-shadow:
            0 0 20px rgba(255,215,106,0.5),
            0 0 40px rgba(255,215,106,0.25);
    }

}
.section-title h2::after{

    content:'';

    position:absolute;

    left:50%;
    transform:translateX(-50%);

    bottom:-12px;

    width:120px;
    height:3px;

    border-radius:20px;

    background:
        linear-gradient(
            to right,
            transparent,
            #87cefa,
            #ffd76a,
            transparent
        );
}
.glass-card{

    position:relative;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,0.09),
            rgba(255,255,255,0.03)
        );

    border:
        1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(18px);

    border-radius:35px;

    padding:50px;

    overflow:hidden;

    transition:0.5s;

    box-shadow:
        0 20px 45px rgba(0,0,0,0.25);
}

.glass-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            135deg,
            rgba(255,215,106,0.08),
            transparent,
            rgba(135,206,250,0.08)
        );

    opacity:0;

    transition:0.5s;
}

.glass-card:hover::before{
    opacity:1;
}

.glass-card:hover{

    transform:
        translateY(-10px);

    box-shadow:
        0 30px 55px rgba(0,0,0,0.35),
        0 0 25px rgba(255,215,106,0.08);
}
.quote-box h2{

    font-size:52px;

    line-height:1.7;

    font-family:'Cinzel', serif;

    letter-spacing:1px;

    background:
        linear-gradient(
            to right,
            #fff8dc,
            #ffd76a,
            #87cefa,
            #ffd76a
        );

    background-size:300% auto;

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    animation:shimmerText 5s linear infinite;
}
@keyframes shimmerText{

    0%{
        background-position:0% center;
    }

    100%{
        background-position:300% center;
    }

}
/* ========================= */
/* ABOUT PAGE RESPONSIVE */
/* ========================= */

@media(max-width:1200px){

    .section-title h2{
        font-size:48px;
    }

    .quote-box h2{
        font-size:42px;
    }

}

.pastor-image{

    position:sticky;
    top:120px;

    display:flex;
    justify-content:center;
}

.pastor-image img{

    width:100%;

    max-width:380px;

    height:520px;

    object-fit:cover;

    object-position:top;

    border-radius:32px;

    border:
        2px solid rgba(255,215,106,0.18);

    box-shadow:
        0 20px 45px rgba(0,0,0,0.35),
        0 0 25px rgba(255,215,106,0.08);

    transition:0.5s;
}

.pastor-image img:hover{

    transform:
        translateY(-8px)
        scale(1.02);

    box-shadow:
        0 30px 55px rgba(0,0,0,0.45),
        0 0 35px rgba(255,215,106,0.15);
}
@media(max-width:992px){

    .pastor-wrapper{
        grid-template-columns:1fr;
    }

 
    .glass-card{
        padding:40px;
    }

    .section-title h2{
        font-size:42px;
    }

    .quote-box h2{
        font-size:36px;
    }

}


@media(max-width:768px){

    section{
        padding:70px 0;
    }

    .about-banner{
        min-height:55vh;
        padding:120px 0 80px;
    }

    .about-banner h1{
        font-size:46px;
        line-height:1.3;
    }

    .about-banner p{
        font-size:17px;
        line-height:1.8;
    }

    .section-title h2{
        font-size:36px;
        line-height:1.4;
    }

    .glass-card{
        padding:32px 25px;
        border-radius:25px;
    }

    .about-content p,
    .pastor-content p{

        font-size:15px;

        line-height:2;

        padding-left:22px;
    }

    .quote-box{
        padding:60px 25px;
    }

    .quote-box h2{
        font-size:28px;
        line-height:1.8;
    }

    .value-card{
        padding:35px 25px;
    }

    .value-card h3{
        font-size:24px;
    }

}


@media(max-width:480px){

    .about-banner h1{
        font-size:36px;
    }

    .about-banner p{
        font-size:15px;
    }

    .section-title h2{
        font-size:30px;
    }

    .glass-card{
        padding:25px 20px;
    }

    .about-content p,
    .pastor-content p{

        font-size:14px;

        line-height:1.9;

        padding-left:18px;
    }

    .about-content p::before,
    .pastor-content p::before{

        width:9px;
        height:9px;

        top:10px;
    }

    .quote-box{
        padding:45px 20px;
        border-radius:25px;
    }

    .quote-box h2{
        font-size:22px;
        line-height:1.7;
    }

    .value-card{
        padding:30px 20px;
    }

    .value-card h3{
        font-size:22px;
    }

}
/* ========================= */
/* RESPONSIVE VIDEO */
/* ========================= */
/* ========================= */
/* YOUTUBE VIDEO */
/* ========================= */

.video-wrapper{

    position:relative;

    width:100%;

    overflow:hidden;

    border-radius:30px;

    padding-top:56.25%;

    box-shadow:
        0 20px 45px rgba(0,0,0,0.35),
        0 0 25px rgba(255,215,106,0.12);

    border:
        2px solid rgba(255,215,106,0.15);

    background:#000;
}

.sermon-video{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    border:none;
}
/* .pastor-image{

    position:sticky;
    top:120px;

    display:flex;
    justify-content:center;
}

.pastor-image img{

    width:100%;

    max-width:380px;

    height:520px;

    object-fit:cover;

    object-position:top;

    border-radius:32px;

    border:
        2px solid rgba(255,215,106,0.18);

    box-shadow:
        0 20px 45px rgba(0,0,0,0.35),
        0 0 25px rgba(255,215,106,0.08);

    transition:0.5s;
}

.pastor-image img:hover{

    transform:
        translateY(-8px)
        scale(1.02);

    box-shadow:
        0 30px 55px rgba(0,0,0,0.45),
        0 0 35px rgba(255,215,106,0.15);
} */
 /* ===================================== */
/* FINAL PREMIUM RESPONSIVE NAVBAR */
/* ===================================== */

.navbar{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    padding:16px 6%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:
        rgba(5,15,28,0.85);

    backdrop-filter:blur(16px);

    z-index:9999;

    border-bottom:
        1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 10px 35px rgba(0,0,0,0.2);
}


/* LOGO */

.logo{

    display:flex;
    align-items:center;

    gap:12px;

    text-decoration:none;

    z-index:10001;
}

.logo img{

    width:54px;
    height:54px;

    object-fit:contain;

    filter:
        drop-shadow(0 0 12px rgba(255,215,106,0.35));

    transition:0.4s;
}

.logo:hover img{

    transform:
        scale(1.08)
        rotate(-3deg);
}


/* LOGO TEXT */

.logo-text{

    display:flex;
    flex-direction:column;
}

.logo-title{

    font-size:22px;

    font-family:'Cinzel', serif;

    font-weight:700;

    line-height:1.2;

    background:
        linear-gradient(
            to right,
            #fff8dc,
            #ffd76a,
            #ffbf3f
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.logo-subtitle{

    font-size:10px;

    color:#87cefa;

    letter-spacing:3px;

    text-transform:uppercase;
}


/* NAV LINKS */

nav{
    margin-left:auto;
}

.nav-links{

    display:flex;

    align-items:center;

    gap:35px;

    list-style:none;
}

.nav-links li a{

    color:#fff;

    text-decoration:none;

    font-size:14px;

    letter-spacing:2px;

    text-transform:uppercase;

    position:relative;

    transition:0.4s;
}

.nav-links li a:hover{

    color:#ffd76a;
}

.nav-links li a::after{

    content:'';

    position:absolute;

    left:0;
    bottom:-6px;

    width:0%;
    height:2px;

    border-radius:20px;

    background:
        linear-gradient(
            to right,
            #87cefa,
            #ffd76a
        );

    transition:0.4s;
}

.nav-links li a:hover::after{
    width:100%;
}


/* MOBILE MENU BUTTON */

.menu-toggle{

    width:50px;
    height:50px;

    display:none;

    position:relative;

    justify-content:center;
    align-items:center;

    cursor:pointer;

    z-index:10001;

    border-radius:14px;

    background:
        rgba(255,255,255,0.08);

    border:
        1px solid rgba(255,255,255,0.08);

    backdrop-filter:blur(10px);

    transition:0.4s;

    margin-left:auto;
}


/* LINES */

.menu-toggle span{

    position:absolute;

    left:50%;
    top:50%;

    width:24px;
    height:3px;

    border-radius:20px;

    background:
        linear-gradient(
            to right,
            #ffffff,
            #ffd76a
        );

    transition:0.4s ease;

    transform-origin:center;
}


/* TOP */

.menu-toggle span:nth-child(1){

    transform:
        translate(-50%, -10px);
}


/* MIDDLE */

.menu-toggle span:nth-child(2){

    transform:
        translate(-50%, -50%);
}


/* BOTTOM */

.menu-toggle span:nth-child(3){

    transform:
        translate(-50%, 7px);
}


/* ACTIVE */

.menu-toggle.active span:nth-child(1){

    transform:
        translate(-50%, -50%)
        rotate(45deg);
}

.menu-toggle.active span:nth-child(2){

    opacity:0;
}

.menu-toggle.active span:nth-child(3){

    transform:
        translate(-50%, -50%)
        rotate(-45deg);
}


/* RESPONSIVE */

@media(max-width:768px){

    .menu-toggle{
        display:flex;
    }

    .logo img{

        width:46px;
        height:46px;
    }

    .logo-title{
        font-size:16px;
    }

    .logo-subtitle{

        font-size:8px;

        letter-spacing:2px;
    }

    .nav-links{

        position:fixed;

        top:0;
        right:-100%;

        width:280px;
        height:100vh;

        background:
            rgba(5,15,28,0.98);

        backdrop-filter:blur(18px);

        flex-direction:column;

        justify-content:center;
        align-items:center;

        gap:32px;

        transition:0.5s ease;

        z-index:10000;
    }

    .nav-links.active{
        right:0;
    }

    .nav-links li a{

        font-size:16px;
    }

}


@media(max-width:480px){

    .navbar{
        padding:14px 5%;
    }

    .logo{

        gap:8px;
    }

    .logo img{

        width:40px;
        height:40px;
    }

    .logo-title{
        font-size:14px;
    }

    .logo-subtitle{
        font-size:7px;
    }

    .menu-toggle{

        width:46px;
        height:46px;
    }

    .nav-links{
        width:100%;
    }

}
/* ===================================== */
/* PREMIUM GALLERY */
/* ===================================== */

.gallery-section{

    position:relative;

    overflow:hidden;
}


/* SUBTITLE */

.gallery-subtitle{

    margin-top:20px;

    font-size:18px;

    color:#d6d6d6;

    line-height:1.8;
}


/* CATEGORY */

.gallery-category{

    margin-bottom:110px;
}


/* TITLE */

.gallery-title{

    margin-bottom:35px;

    position:relative;
}

.gallery-title h2{

    font-size:42px;

    font-family:'Cinzel', serif;

    display:inline-block;

    background:
        linear-gradient(
            to right,
            #fff8dc,
            #ffd76a,
            #87cefa
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

    position:relative;
}


/* WRAPPER */

.gallery-wrapper{

    position:relative;

    display:flex;
    align-items:center;
}


/* SLIDER */

.gallery-slider{

    display:flex;

    gap:22px;

    overflow-x:auto;

    scroll-behavior:smooth;

    scrollbar-width:none;

    padding:15px 5px;
}

.gallery-slider::-webkit-scrollbar{
    display:none;
}


/* CARD */

.gallery-card{

    min-width:260px;

    height:340px;

    border-radius:30px;

    overflow:hidden;

    position:relative;

    flex-shrink:0;

    cursor:pointer;

    background:#111;

    border:
        2px solid rgba(255,215,106,0.12);

    box-shadow:
        0 20px 45px rgba(0,0,0,0.35);

    transition:0.5s;
}


/* DIFFERENT HEIGHTS */

.gallery-card:nth-child(2n){

    height:390px;
}

.gallery-card:nth-child(3n){

    height:320px;
}


/* HOVER */

.gallery-card:hover{

    transform:
        translateY(-12px)
        scale(1.03);

    box-shadow:
        0 30px 60px rgba(0,0,0,0.45),
        0 0 25px rgba(255,215,106,0.15);
}


/* IMAGE */

.gallery-card img{

    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    transition:0.7s;
}


/* IMAGE ZOOM */

.gallery-card:hover img{

    transform:scale(1.08);
}


/* GOLD OVERLAY */

.gallery-card::before{

    content:'';

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.5),
            transparent
        );

    z-index:2;
}


/* BUTTONS */

.gallery-btn{

    width:58px;
    height:58px;

    border:none;

    border-radius:50%;

    background:
        rgba(255,255,255,0.08);

    backdrop-filter:blur(12px);

    color:#ffd76a;

    font-size:30px;

    cursor:pointer;

    flex-shrink:0;

    transition:0.4s;

    border:
        1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 10px 25px rgba(0,0,0,0.25);

    z-index:5;
}

.gallery-btn:hover{

    transform:scale(1.12);

    background:
        rgba(255,215,106,0.12);

    box-shadow:
        0 0 25px rgba(255,215,106,0.22);
}

.prev{
    margin-right:18px;
}

.next{
    margin-left:18px;
}


/* ===================================== */
/* IMAGE POPUP */
/* ===================================== */

.gallery-popup{

    position:fixed;

    inset:0;

    background:
        rgba(0,0,0,0.92);

    display:flex;

    justify-content:center;
    align-items:center;

    z-index:999999;

    opacity:0;

    visibility:hidden;

    transition:0.4s;
}

.gallery-popup.active{

    opacity:1;

    visibility:visible;
}

.gallery-popup img{

    max-width:90%;
    max-height:88vh;

    border-radius:24px;

    border:
        2px solid rgba(255,215,106,0.15);

    box-shadow:
        0 20px 60px rgba(0,0,0,0.5);

    animation:
        popupZoom 0.4s ease;
}


/* CLOSE BUTTON */

.popup-close{

    position:absolute;

    top:30px;
    right:35px;

    font-size:42px;

    color:#fff;

    cursor:pointer;

    transition:0.3s;
}

.popup-close:hover{

    color:#ffd76a;

    transform:rotate(90deg);
}


/* POPUP ANIMATION */

@keyframes popupZoom{

    from{

        transform:scale(0.7);

        opacity:0;
    }

    to{

        transform:scale(1);

        opacity:1;
    }

}


/* ===================================== */
/* MOBILE */
/* ===================================== */

@media(max-width:768px){

    .gallery-title h2{

        font-size:30px;
    }

    .gallery-card{

        min-width:210px;

        height:280px;
    }

    .gallery-card:nth-child(2n){

        height:320px;
    }

    .gallery-card:nth-child(3n){

        height:250px;
    }

    .gallery-btn{

        width:45px;
        height:45px;

        font-size:22px;
    }

}


@media(max-width:480px){

    .gallery-card{

        min-width:180px;

        height:240px;
    }

    .gallery-card:nth-child(2n){

        height:280px;
    }

    .gallery-card:nth-child(3n){

        height:220px;
    }

    .gallery-subtitle{

        font-size:15px;

        line-height:1.8;
    }

    .popup-close{

        top:20px;
        right:20px;

        font-size:34px;
    }

}
/* ===================================== */
/* CONTACT PAGE */
/* ===================================== */

.contact-section{

    position:relative;
}

.contact-subtitle{

    margin-top:20px;

    font-size:18px;

    color:#d6d6d6;
}


/* GRID */

.contact-grid{

    display:grid;

    grid-template-columns:
        1fr 1.2fr;

    gap:40px;

    align-items:start;
}


/* LEFT SIDE */

.contact-info{

    display:flex;

    flex-direction:column;

    gap:30px;
}


/* CARD */

.contact-card{

    background:
        rgba(255,255,255,0.05);

    backdrop-filter:blur(14px);

    border:
        1px solid rgba(255,255,255,0.08);

    border-radius:30px;

    padding:35px;

    box-shadow:
        0 20px 40px rgba(0,0,0,0.2);

    transition:0.4s;
}

.contact-card:hover{

    transform:
        translateY(-8px);

    box-shadow:
        0 25px 50px rgba(0,0,0,0.35),
        0 0 25px rgba(255,215,106,0.08);
}


/* ICON */

.contact-icon{

    font-size:42px;

    margin-bottom:18px;
}


/* TEXT */

.contact-card h3{

    font-size:24px;

    margin-bottom:16px;

    color:#ffd76a;
}

.contact-card p{

    color:#ddd;

    line-height:1.9;
}

.contact-card a{

    display:block;

    margin-bottom:14px;

    color:#87cefa;

    text-decoration:none;

    transition:0.3s;

    word-break:break-word;
}

.contact-card a:hover{

    color:#ffd76a;

    transform:translateX(6px);
}


/* FORM */

.contact-form-card{

    background:
        rgba(255,255,255,0.05);

    backdrop-filter:blur(14px);

    border:
        1px solid rgba(255,255,255,0.08);

    border-radius:35px;

    padding:45px;

    box-shadow:
        0 20px 45px rgba(0,0,0,0.25);
}

.contact-form-card h2{

    font-size:36px;

    margin-bottom:15px;

    font-family:'Cinzel', serif;

    background:
        linear-gradient(
            to right,
            #fff8dc,
            #ffd76a
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.contact-form-card p{

    color:#cfcfcf;

    margin-bottom:30px;

    line-height:1.8;
}


/* FORM */

#contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;
}


/* INPUTS */

#contact-form input,
#contact-form textarea{

    width:100%;

    padding:18px 22px;

    border:none;

    outline:none;

    border-radius:18px;

    background:
        rgba(255,255,255,0.07);

    color:#fff;

    font-size:16px;

    border:
        1px solid rgba(255,255,255,0.08);

    transition:0.3s;
}

#contact-form textarea{

    min-height:180px;

    resize:none;
}

#contact-form input:focus,
#contact-form textarea:focus{

    border-color:
        rgba(255,215,106,0.3);

    box-shadow:
        0 0 20px rgba(255,215,106,0.08);
}


/* MOBILE */

@media(max-width:992px){

    .contact-grid{

        grid-template-columns:1fr;
    }

}


@media(max-width:768px){

    .contact-form-card{

        padding:30px;
    }

    .contact-form-card h2{

        font-size:28px;
    }

}


@media(max-width:480px){

    .contact-card,
    .contact-form-card{

        padding:25px;
    }

    .contact-card h3{

        font-size:20px;
    }

    .contact-form-card h2{

        font-size:24px;
    }

}
/* ===================================== */
/* GOOGLE MAP */
/* ===================================== */

.map-card{

    overflow:hidden;
}

.map-wrapper{

    width:100%;

    height:500px;

    border-radius:28px;

    overflow:hidden;

    margin:30px 0;

    border:
        2px solid rgba(255,215,106,0.12);

    box-shadow:
        0 20px 45px rgba(0,0,0,0.25);
}

.map-wrapper iframe{

    width:100%;
    height:100%;

    border:none;

    filter:
        grayscale(0.1)
        contrast(1.05)
        brightness(0.95);
}


/* MOBILE */

@media(max-width:768px){

    .map-wrapper{

        height:400px;
    }

}


@media(max-width:480px){

    .map-wrapper{

        height:320px;

        border-radius:22px;
    }

}