/*==================================================
    SAANVIKA STUDIOS
    Premium Photography Website
    Version : 1.0
==================================================*/

/*==========================
        GOOGLE FONTS
==========================*/

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

/*==========================
        ROOT COLORS
==========================*/

:root{

    --black:#0F0F0F;
    --dark:#171717;
    --gold:#C9A227;
    --white:#ffffff;
    --light:#F5F5F5;
    --gray:#9e9e9e;

    --transition:.4s ease;

}

/*==========================
        RESET
==========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Poppins',sans-serif;

    background:var(--black);

    color:var(--white);

    overflow-x:hidden;

    line-height:1.7;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

}

section{
    padding:60px 0;
}

.container{

    width:90%;

    max-width:1320px;

    margin:auto;

}

/*==========================
        NAVBAR
==========================*/

.navbar{

background:rgba(0,0,0,.25);

backdrop-filter:blur(18px);

padding:18px 0;

transition:.4s;

border-bottom:1px solid rgba(255,255,255,.08);

}

.navbar-brand{

    color:var(--white)!important;

    font-family:'Cinzel',serif;

    display:flex;

    flex-direction:column;

    line-height:1;

}

.navbar-brand span{

    font-size:28px;

    letter-spacing:3px;

}

.navbar-brand small{

    color:var(--gold);

    font-size:11px;

    letter-spacing:6px;

}

.navbar-nav{

    gap:25px;

}

.navbar-nav a{

    color:white;

    font-weight:500;

    position:relative;

}

.navbar-nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--gold);

    transition:.3s;

}

.navbar-nav a:hover{

    color:var(--gold);

}

.navbar-nav a:hover::after{

    width:100%;

}

.book-btn{

    margin-left:30px;

    background:var(--gold);

    color:#000;

    padding:12px 28px;

    border-radius:40px;

    font-weight:600;

}

.book-btn:hover{

    background:white;

    color:black;

}

/*==========================
        HERO
==========================*/

#hero {
    height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient( rgba(0,0,0,.65), rgba(0,0,0,.78) ), url("../images/hero/hero-home.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#hero .overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.32) 0%,
            rgba(0,0,0,.18) 45%,
            rgba(0,0,0,.08) 100%
        );
    z-index:1;
}

.hero-content{

    position:relative;

    z-index:2;

    text-align:center;

}

.hero-content h4{

    color:var(--gold);

    text-transform:uppercase;

    letter-spacing:6px;

    margin-bottom:15px;

}

.hero-content h1{

    font-family:'Cinzel',serif;

    font-size:72px;

    margin-bottom:25px;

}

.hero-content p{

    max-width:700px;

    margin:auto;

    font-size:20px;

    color:#dddddd;

}

.hero-buttons{

    margin-top:45px;

}

/*==========================
        BUTTONS
==========================*/

.btn-primary-custom{

    display:inline-block;

    background:var(--gold);

    color:black;

    padding:15px 35px;

    border-radius:40px;

    margin:10px;

    font-weight:600;

}

.btn-primary-custom:hover{

    background:white;

    color:black;

}

.btn-outline-custom{

    display:inline-block;

    border:2px solid var(--gold);

    color:white;

    padding:15px 35px;

    border-radius:40px;

    margin:10px;

}

.btn-outline-custom:hover{

    background:var(--gold);

    color:black;

}

/*==========================
        COMMON TITLES
==========================*/

.section-title{
    text-align:center;
    margin-bottom:35px;
}

.section-title h2{

    font-family:'Cinzel',serif;

    font-size:46px;

}

.section-title p{

    color:#bdbdbd;

}

/*==========================
        CARDS
==========================*/

.card-box{

    background:#1b1b1b;

    border:1px solid rgba(255,255,255,.06);

    border-radius:18px;

    padding:35px;

    transition:.4s;

}

.card-box:hover{

    transform:translateY(-8px);

    border-color:var(--gold);

    box-shadow:0 20px 50px rgba(0,0,0,.45);

}

/*==========================
        FOOTER
==========================*/

footer{

    background:#090909;

    padding:70px 0 30px;

}

footer p{

    color:#a9a9a9;

}

footer a{

    color:white;

}

footer a:hover{

    color:var(--gold);

}

/*==========================
        WHATSAPP
==========================*/

.whatsapp-btn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:white;

    font-size:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.35);

    z-index:9999;

}

.whatsapp-btn:hover{

    transform:scale(1.1);

}

/*==========================
        SCROLLBAR
==========================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#111;

}

::-webkit-scrollbar-thumb{

    background:var(--gold);

    border-radius:20px;

}

/*==========================
        SELECTION
==========================*/

::selection{

    background:var(--gold);

    color:black;

}

/*==================================

PREMIUM HERO

==================================*/

#hero{
    background:
        linear-gradient(
            rgba(0,0,0,.30),
            rgba(0,0,0,.38)
        ),
        url("../images/hero/hero-home.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.gold-glow{

position:absolute;

width:700px;

height:700px;

background:radial-gradient(

circle,

rgba(201,162,39,.35),

transparent 70%

);

right:-150px;

top:-100px;

filter:blur(40px);

z-index:1;

}

.hero-content{

position:relative;

z-index:3;

}

.hero-content h1{

font-size:82px;

font-family:'Cinzel',serif;

line-height:1;

}

.hero-content span{

display:block;

color:#C9A227;

}

.hero-logo{

max-width:520px;

animation:float 6s infinite ease-in-out;

position:relative;

z-index:3;

filter:drop-shadow(0 0 30px rgba(201,162,39,.45));

}

.hero-buttons{

margin-top:40px;

display:flex;

gap:20px;

flex-wrap:wrap;

}
/*=========================================
        PRELOADER
=========================================*/

#preloader{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:#000;

display:flex;

justify-content:center;

align-items:center;

z-index:999999;

transition:.6s;

}

.loader-box{

text-align:center;

}

.loader-box img{

width:180px;

animation:float 4s infinite;

}

.loader-box h2{

font-family:'Cinzel',serif;

margin-top:20px;

color:#C9A227;

letter-spacing:4px;

}

.loader-box span{

color:#ddd;

font-size:14px;

letter-spacing:2px;

}
/*=========================================
        SCROLL PROGRESS
=========================================*/

#progress-bar{

position:fixed;

top:0;

left:0;

height:4px;

width:0;

background:#C9A227;

z-index:999999;

transition:.15s;

}
/*=========================================
        ACTIVE MENU
=========================================*/

.navbar-nav a.active{

color:#C9A227;

}

.navbar-nav a.active::after{

width:100%;

}

.navbar-nav a{

position:relative;

padding-bottom:8px;

}

.navbar-nav a::after{

content:"";

position:absolute;

left:0;

bottom:0;

width:0;

height:2px;

background:#C9A227;

transition:.35s;

}

.navbar-nav a:hover::after{

width:100%;

}
/*======================================

STATISTICS

======================================*/

.counter{

font-size:54px;

color:#C9A227;

font-family:'Cinzel',serif;

font-weight:700;

}

#stats h5{

margin-top:10px;

color:white;

}

#instagram img{

transition:.4s;

border-radius:15px;

}

#instagram img:hover{

transform:scale(1.05);

}

#trust i{

margin-bottom:20px;

}

#cta{

background:linear-gradient(

135deg,

#111,

#1a1a1a

);

text-align:center;

}

#cta h2{

font-size:46px;

margin-bottom:20px;

font-family:'Cinzel',serif;

}

#cta p{

max-width:700px;

margin:auto auto 30px;

color:#ddd;

}
/*==================================================
PORTFOLIO HERO
==================================================*/

#portfolio-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.65) 0%,
            rgba(0,0,0,.40) 45%,
            rgba(0,0,0,.25) 100%
        ),
        url("../images/portfolio/hero.jpg");

    background-size:110%;
    background-position:center center;
    background-repeat:no-repeat;
    background-attachment:fixed;

    will-change:background-position;
}
    #portfolio-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(201,162,39,.10),
            transparent 60%
        );

    z-index:1;
}

    #portfolio-hero::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.08),
            rgba(0,0,0,.18),
            rgba(0,0,0,.45)
        );

    z-index:2;
}

#portfolio-hero .overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.40),
            transparent
        );

    z-index:3;
}
#portfolio-hero .hero-content{
    position:relative;
    z-index:10;
}
@media(max-width:991px){

#portfolio-hero{

background-attachment:scroll;

background-size:cover;

}

}

.hero-content{

    position:relative;

    z-index:5;

    max-width:900px;

}

.hero-tag{

    display:inline-block;

    color:var(--primary);

    letter-spacing:4px;

    font-size:.9rem;

    margin-bottom:20px;

}

.hero-content h1{

    color:#fff;

    font-family:'Cinzel',serif;

    font-size:4.5rem;

    line-height:1.15;

    margin-bottom:30px;

}

.hero-content h1 span{

    color:var(--primary);

}

.hero-content p{

    color:#ddd;

    font-size:1.15rem;

    line-height:2;

    max-width:760px;

    margin:auto auto 40px;

}
.hero-glow{

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    background:

    radial-gradient(circle,

    rgba(201,162,39,.18),

    transparent);

    filter:blur(60px);

    animation:glowMove 8s ease-in-out infinite;

}

.hero-circle{

    position:absolute;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.08);

}

.circle-one{

    width:420px;

    height:420px;

    top:-120px;

    left:-100px;

}

.circle-two{

    width:260px;

    height:260px;

    right:8%;

    bottom:10%;

}

.circle-three{

    width:150px;

    height:150px;

    left:18%;

    bottom:18%;

}

@keyframes glowMove{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(35px);

    }

}
.scroll-indicator{

    margin-top:70px;

}

.scroll-indicator span{

    display:inline-block;

    width:32px;

    height:56px;

    border:2px solid rgba(255,255,255,.5);

    border-radius:30px;

    position:relative;

}

.scroll-indicator span::before{

    content:"";

    position:absolute;

    left:50%;

    top:10px;

    width:6px;

    height:10px;

    border-radius:20px;

    background:var(--primary);

    transform:translateX(-50%);

    animation:scrollDown 2s infinite;

}

@keyframes scrollDown{

    0%{

        opacity:1;

        top:10px;

    }

    100%{

        opacity:0;

        top:32px;

    }

}

/*==================================
        FILTER BUTTONS
==================================*/

.filter-buttons{

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:15px;

}

.filter-buttons button{

    background:#1b1b1b;

    color:white;

    border:1px solid rgba(255,255,255,.08);

    padding:12px 28px;

    border-radius:40px;

    transition:.35s;

    cursor:pointer;

    font-weight:500;

}

.filter-buttons button:hover{

    background:#C9A227;

    color:black;

}

.filter-buttons button.active{

    background:#C9A227;

    color:black;

}

/*==================================
        GALLERY GRID
==================================*/

/*==================================
        GALLERY GRID
==================================*/

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(12,1fr);
    gap:20px;
    margin-top:45px;
    grid-auto-flow:dense;
}

/*==================================
        GALLERY ITEMS
==================================*/

.gallery-item{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    background:#111;
    border:2px solid transparent;
    cursor:pointer;
    transition:.4s ease;
    grid-column:span 4;
    aspect-ratio:1/1;
}

.gallery-item.wide{
    grid-column:span 6;
    aspect-ratio:16/9;
}

.gallery-item.tall{
    grid-column:span 3;
    aspect-ratio:3/5;
}

.gallery-item.large{
    grid-column:span 6;
    aspect-ratio:4/3;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.6s;
}

.gallery-item:hover{
    transform:translateY(-8px);
    border-color:#C9A227;
    box-shadow:0 25px 60px rgba(0,0,0,.45);
}

.gallery-item:hover img{
    transform:scale(1.08);
    filter:brightness(.9);
}

/*==================================
        OVERLAY
==================================*/

.gallery-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:30px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.35),
        transparent
    );
    opacity:0;
    transition:.4s;
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-content{
    transform:translateY(30px);
    transition:.4s;
}

.gallery-item:hover .gallery-content{
    transform:translateY(0);
}

.gallery-overlay h4{
    color:#fff;
    font-family:'Cinzel',serif;
    margin-bottom:8px;
}

.gallery-overlay p{
    color:#ddd;
    margin-bottom:15px;
}

.gallery-overlay .view-btn{
    background:#C9A227;
    color:#111;
    border:none;
    padding:10px 20px;
    border-radius:30px;
    font-weight:600;
}

/*==================================
        MOBILE
==================================*/

@media(max-width:992px){

    .gallery-item,
    .gallery-item.large,
    .gallery-item.wide{
        grid-column:span 6;
    }

    .gallery-item.tall{
        grid-column:span 6;
    }

}

@media(max-width:768px){

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-item,
    .gallery-item.large,
    .gallery-item.wide,
    .gallery-item.tall{
        grid-column:auto;
        aspect-ratio:4/3;
    }

}
        }
/*======================================
            LIGHTBOX
======================================*/

.lightbox{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.95);

display:flex;

justify-content:center;

align-items:center;

opacity:0;

visibility:hidden;

transition:.4s;

z-index:9999;

}

.lightbox.show{

opacity:1;

visibility:visible;

}

#lightbox-image{

max-width:90%;

max-height:82vh;

border-radius:15px;

box-shadow:0 25px 60px rgba(0,0,0,.6);

transition:.35s;

}

.close-lightbox{

position:absolute;

top:25px;

right:35px;

font-size:48px;

color:#fff;

cursor:pointer;

transition:.3s;

}

.close-lightbox:hover{

color:#C9A227;

}

.lightbox-prev,
.lightbox-next{

position:absolute;

top:50%;

transform:translateY(-50%);

font-size:45px;

color:#fff;

cursor:pointer;

padding:20px;

transition:.3s;

}

.lightbox-prev:hover,
.lightbox-next:hover{

color:#C9A227;

}

.lightbox-prev{

left:20px;

}

.lightbox-next{

right:20px;

}

.lightbox-caption{

position:absolute;

bottom:40px;

text-align:center;

color:white;

}

.lightbox-caption h3{

font-family:'Cinzel',serif;

font-size:28px;

color:#C9A227;

}
/*======================================
        LIGHTBOX V2
======================================*/

.lightbox-counter {
    display: inline-block;
    margin-top: 18px;
    padding: 10px 18px;
    border-radius: 30px;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(15px);
    color: #fff;
    font-weight: 600;
}

#lightbox-category {
    margin-top: 10px;
    color: #C9A227;
    letter-spacing: 1px;
    font-size: 15px;
}

#lightbox-image {
    opacity: 0;
    transform: scale(.94);
    transition: opacity .35s, transform .35s;
}

    #lightbox-image.loaded {
        opacity: 1;
        transform: scale(1);
    }
/*==================================
    LIGHTBOX FULLSCREEN
==================================*/

.lightbox img {
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: auto;
    cursor: zoom-in;
}

.lightbox.fullscreen img {
    max-width: 95vw;
    max-height: 95vh;
}

.lightbox.show {
    animation: fadeLightbox .35s ease;
}

@keyframes fadeLightbox {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.lightbox-prev,
.lightbox-next {
    transition: .3s;
}

    .lightbox-prev:hover,
    .lightbox-next:hover {
        transform: scale(1.1);
    }
/*========================================
            LOAD MORE
========================================*/

.hidden-item{

display:none;

animation:fadeGallery .6s ease;

}

@keyframes fadeGallery{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

#loadMoreBtn{

padding:14px 40px;

font-size:17px;

transition:.35s;

}

#loadMoreBtn:hover{

transform:translateY(-3px);

}
/*======================================
        LAZY IMAGE EFFECT
======================================*/

.gallery-item img{

    opacity:0;

    transform:scale(1.05);

    transition:
        opacity .7s ease,
        transform .7s ease;

}

.gallery-item img.loaded{

    opacity:1;

    transform:scale(1);

}
/*======================================
        GALLERY HEADER
======================================*/

.gallery-top{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

flex-wrap:wrap;

gap:15px;

}

.gallery-top h2{

font-family:'Cinzel',serif;

font-size:42px;

color:white;

}

#galleryCounter{

background:#1b1b1b;

padding:10px 18px;

border-radius:30px;

color:#C9A227;

font-weight:600;

border:1px solid rgba(255,255,255,.08);

}
#emptyGalleryMessage{

    display:none;

    text-align:center;

    width:100%;

    color:#C9A227;

    font-size:22px;

    padding:80px 0;

    font-family:'Cinzel',serif;

}
/*==================================================
    SERVICES PAGE - PREMIUM FOUNDATION
==================================================*/

:root{

    --primary:#C9A227;
    --primary-light:#E3C567;
    --dark:#0F0F0F;
    --dark2:#181818;
    --white:#ffffff;
    --light:#F5F5F5;
    --glass:rgba(255,255,255,.05);
    --glass-border:rgba(255,255,255,.08);

}

/*==================================
Hero
==================================*/

#services-hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background:
        linear-gradient(
            rgba(0,0,0,.12),
            rgba(0,0,0,.22)
        ),
        url("../images/services/service-hero.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

#services-hero .overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            rgba(0,0,0,.05),
            rgba(0,0,0,.10)
        );

    z-index:1;
}

.gold-glow{

    position:absolute;

    width:550px;

    height:550px;

    right:-180px;

    top:-180px;

    border-radius:50%;

    background:rgba(201,162,39,.12);

    filter:blur(90px);

}

.hero-content{

    position:relative;

    z-index:5;

}

.hero-content h4{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

    font-size:.95rem;

    margin-bottom:20px;

}

.hero-content h1{

    font-family:'Cinzel',serif;

    font-size:4rem;

    color:#fff;

    line-height:1.15;

    margin-bottom:25px;

}

.hero-content h1 span{

    color:var(--primary);

}

.hero-content p{

    color:#d7d7d7;

    line-height:1.9;

    font-size:1.08rem;

    max-width:560px;

}

.hero-logo{

    max-width:420px;

    animation:floatLogo 5s ease-in-out infinite;

    filter:
    drop-shadow(0 0 35px rgba(201,162,39,.35));

}

@keyframes floatLogo{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

/*==================================
Buttons
==================================*/

.hero-buttons{

    display:flex;

    gap:18px;

    margin-top:35px;

    flex-wrap:wrap;

}

.btn-primary-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 36px;

    border-radius:50px;

    background:var(--primary);

    color:#111;

    font-weight:600;

    text-decoration:none;

    transition:.35s;

}

.btn-primary-custom:hover{

    background:#fff;

    transform:translateY(-4px);

    color:#000;

    box-shadow:0 18px 35px rgba(201,162,39,.35);

}

.btn-outline-custom{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 36px;

    border-radius:50px;

    border:2px solid var(--primary);

    color:#fff;

    text-decoration:none;

    transition:.35s;

}

.btn-outline-custom:hover{

    background:var(--primary);

    color:#111;

    transform:translateY(-4px);

}

/*==================================
Common Sections
==================================*/

#services-list,
#service-details,
#why-services,
#process,
#cta{

    padding:110px 0;

    background:#111;

}

.section-title{

    margin-bottom:40px;

}

.section-title h2{

    font-family:'Cinzel',serif;

    color:#fff;

    font-size:2.7rem;

    margin-bottom:18px;

}

.section-title p{

    color:#bdbdbd;

    max-width:720px;

    margin:auto;

    line-height:1.8;

}

/*==================================
Glass Card Base
==================================*/

.service-card,
.card-box{

    background:var(--glass);

    backdrop-filter:blur(15px);

    border:1px solid var(--glass-border);

    border-radius:22px;

    overflow:hidden;

    transition:.4s;

    height:100%;

}

.service-card:hover,
.card-box:hover{

    transform:translateY(-12px);

    border-color:rgba(201,162,39,.45);

    box-shadow:

    0 18px 45px rgba(0,0,0,.35);

}

/*==================================
Images
==================================*/

.service-card img{

    width:100%;

    height:240px;

    object-fit:cover;

    transition:.6s;

}

.service-card:hover img{

    transform:scale(1.08);

}

/*==================================
Content
==================================*/

.service-content {
    padding: 30px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.service-content h3{

    color:#fff;

    margin:20px 0 15px;

    font-size:1.45rem;

    font-family:'Cinzel',serif;

}

.service-content p{

    color:#cfcfcf;

    line-height:1.8;

}

.service-content ul{

    list-style:none;

    margin:25px 0;

    padding:0;

}

.service-content li{

    color:#ddd;

    margin-bottom:10px;

}

/*==================================
Icons
==================================*/

.service-icon{

    width:70px;

    height:70px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:

    linear-gradient(135deg,
    var(--primary),
    #e9d182);

    color:#111;

    font-size:28px;

    margin-top:-65px;

    box-shadow:

    0 12px 30px rgba(201,162,39,.30);

}
/*==================================================
    PREMIUM SERVICE CARDS
==================================================*/

.service-card {
    position: relative;
    isolation: isolate;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Gold Border Animation */

.service-card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:22px;

    padding:1px;

    background:
        linear-gradient(
            135deg,
            transparent,
            rgba(201,162,39,.75),
            transparent
        );

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

            mask-composite:exclude;

    opacity:0;

    transition:.45s;

    pointer-events:none;

}

.service-card:hover::before{

    opacity:1;

}

/* Decorative Glow */

.service-card::after{

    content:"";

    position:absolute;

    width:220px;

    height:220px;

    background:
        radial-gradient(circle,
        rgba(201,162,39,.22),
        transparent 70%);

    top:-120px;

    right:-120px;

    transition:.45s;

    opacity:0;

    pointer-events:none;

}

.service-card:hover::after{

    opacity:1;

}

/* Image Container */

.service-card{

    overflow:hidden;

}

.service-card img{

    transition:
        transform .8s ease,
        filter .6s ease;

}

.service-card:hover img{

    transform:scale(1.12);

    filter:brightness(.92);

}

/* Floating Icon */

.service-icon{

    transition:
        transform .4s,
        box-shadow .4s;

}

.service-card:hover .service-icon{

    transform:
        translateY(-8px)
        rotate(8deg);

    box-shadow:
        0 18px 40px
        rgba(201,162,39,.45);

}

/* Heading */

.service-content h3{

    transition:.35s;

}

.service-card:hover h3{

    color:var(--primary);

}

/* Paragraph */

.service-content p{

    transition:.35s;

}

.service-card:hover p{

    color:#f0f0f0;

}

/* Feature List */

.service-content ul{

    margin-top:22px;

}

.service-content li{

    position:relative;

    padding-left:24px;

    transition:.3s;

}

.service-content li::before{

    content:"";

    position:absolute;

    left:0;

    top:11px;

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--primary);

}

.service-card:hover li{

    transform:translateX(6px);

}

/* Book Button */

.service-card .btn-primary-custom {
    width: 100%;
    margin-top: auto;
    transition: .35s;
}

.service-card:hover .btn-primary-custom{

    letter-spacing:.6px;

}

/* Image Overlay */

.service-card .image-overlay{

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            to top,

            rgba(15,15,15,.75),

            rgba(15,15,15,0)

        );

    opacity:0;

    transition:.45s;

}

.service-card:hover .image-overlay{

    opacity:1;

}

/* Shine Animation */

.service-card .shine{

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:

        linear-gradient(

            120deg,

            transparent,

            rgba(255,255,255,.18),

            transparent

        );

    transform:skewX(-25deg);

}

.service-card:hover .shine{

    animation:shineMove .9s;

}

@keyframes shineMove{

    from{

        left:-120%;

    }

    to{

        left:150%;

    }

}

/* Card Entrance */

.service-card{

    animation:cardFade .8s ease both;

}

@keyframes cardFade{

    from{

        opacity:0;

        transform:translateY(45px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/* Stagger Delay */

.service-card:nth-child(1){animation-delay:.05s;}
.service-card:nth-child(2){animation-delay:.10s;}
.service-card:nth-child(3){animation-delay:.15s;}
.service-card:nth-child(4){animation-delay:.20s;}
.service-card:nth-child(5){animation-delay:.25s;}
.service-card:nth-child(6){animation-delay:.30s;}
.service-card:nth-child(7){animation-delay:.35s;}
.service-card:nth-child(8){animation-delay:.40s;}

/* Mobile */

@media (max-width:991px){

    .service-card{

        margin-bottom:25px;

    }

}

@media (max-width:768px){

    .service-content{

        padding:22px;

    }

    .service-card img{

        height:220px;

    }

    .service-icon{

        width:60px;

        height:60px;

        font-size:22px;

        margin-top:-50px;

    }

}
/*==================================================
    DETAILED SERVICE SECTIONS
==================================================*/

.service-detail{

    padding:100px 0;

    position:relative;

    overflow:hidden;

}

.service-detail:nth-child(even){

    background:#161616;

}

.service-detail:nth-child(odd){

    background:#101010;

}

/* Decorative Gold Line */

.service-detail::before{

    content:"";

    position:absolute;

    top:0;

    left:50%;

    transform:translateX(-50%);

    width:120px;

    height:4px;

    background:linear-gradient(
        90deg,
        transparent,
        var(--primary),
        transparent
    );

}

/* Image Wrapper */

/*==================================
    SERVICE DETAIL IMAGE
==================================*/

.detail-image{
    position:relative;
    overflow:hidden;
    border-radius:28px;
    background:#111;
    box-shadow:
        0 25px 60px rgba(0,0,0,.40);
}

.detail-image img{
    width:100%;
    height:380px;
    object-fit:cover;
    display:block;
    border-radius:28px;
    transition:transform .6s ease;
}

.detail-image:hover img{
    transform:scale(1.08);
}

.detail-image::after{
    content:"";
    position:absolute;
    inset:14px;
    border:1px solid rgba(201,162,39,.25);
    border-radius:20px;
    pointer-events:none;
}
.service-detail{
    min-height:460px;
    display:flex;
    align-items:center;
}

.service-detail .col-lg-6{
    display:flex;
    align-items:center;
}

.service-detail .detail-image{
    width:100%;
}
/* Floating Badge */

.detail-badge{

    position:absolute;

    top:25px;

    left:25px;

    background:rgba(15,15,15,.92);

    color:#fff;

    padding:10px 22px;

    border-radius:40px;

    border:1px solid rgba(201,162,39,.45);

    font-size:.9rem;

    backdrop-filter:blur(10px);

}

/* Content */

.detail-content{

    padding:20px 30px;

}

.detail-content h2{

    font-family:'Cinzel',serif;

    color:#fff;

    font-size:2.5rem;

    margin-bottom:20px;

}

.detail-content h2 span{

    color:var(--primary);

}

.detail-content p{

    color:#d4d4d4;

    line-height:2;

    margin-bottom:25px;

}

/* Feature Grid */

.feature-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    margin-top:30px;

}

.feature-item{

    display:flex;

    align-items:center;

    gap:14px;

    background:rgba(255,255,255,.04);

    padding:16px;

    border-radius:15px;

    transition:.35s;

}

.feature-item:hover{

    transform:translateY(-6px);

    background:rgba(201,162,39,.08);

}

.feature-item i{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:var(--primary);

    color:#111;

    font-size:18px;

}

.feature-item span{

    color:#fff;

    font-weight:500;

}

/* Decorative Divider */

.gold-divider{

    width:80px;

    height:3px;

    background:var(--primary);

    margin:25px 0;

}

/* CTA Button */

.detail-content .btn-primary-custom{

    margin-top:35px;

}

/* Scroll Animation */

.service-detail{

    opacity:0;

    transform:translateY(70px);

    transition:1s ease;

}

.service-detail.show{

    opacity:1;

    transform:translateY(0);

}

/* Mobile */

@media(max-width:991px){

    .detail-content{

        padding:40px 0 0;

    }

}

@media(max-width:768px){

    .feature-grid{

        grid-template-columns:1fr;

    }

    .detail-content h2{

        font-size:2rem;

    }

}
/*==================================================
WHY CHOOSE US
==================================================*/

.why-card{

    text-align:center;

    padding:45px 35px;

    transition:.4s;

    position:relative;

    overflow:hidden;

}

.why-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transition:.4s;

}

.why-card:hover::before{

    transform:scaleY(1);

}

.why-card:hover{

    transform:translateY(-10px);

}

.why-icon{

    width:90px;

    height:90px;

    margin:auto;

    margin-bottom:25px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        #e8cb70
    );

    display:flex;

    align-items:center;

    justify-content:center;

    color:#111;

    font-size:34px;

    transition:.45s;

}

.why-card:hover .why-icon{

    transform:rotate(360deg) scale(1.08);

}

.why-card h4{

    color:#fff;

    margin-bottom:18px;

    font-family:'Cinzel',serif;

}

.why-card p{

    color:#d0d0d0;

    line-height:1.9;

}

@media(max-width:768px){

    .why-card{

        padding:35px 25px;

    }

}
/*==================================================
PROCESS TIMELINE
==================================================*/

.process-wrapper{

    display:flex;

    align-items:flex-start;

    justify-content:center;

    gap:20px;

    margin-top:70px;

    flex-wrap:wrap;

}

.process-step{

    flex:1;

    min-width:180px;

    text-align:center;

    position:relative;

}

.process-circle{

    width:95px;

    height:95px;

    margin:auto;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        var(--primary),
        #e7cb6d
    );

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    color:#111;

    transition:.4s;

    box-shadow:
        0 18px 45px rgba(201,162,39,.30);

}

.process-step:hover .process-circle{

    transform:translateY(-10px) rotate(8deg);

}

.process-step h4{

    color:#fff;

    margin-top:25px;

    margin-bottom:18px;

    font-family:'Cinzel',serif;

}

.process-step p{

    color:#cfcfcf;

    line-height:1.8;

    font-size:.95rem;

}

.process-line{

    width:80px;

    height:4px;

    background:linear-gradient(
        90deg,
        var(--primary),
        rgba(201,162,39,.15)
    );

    margin-top:46px;

}

@media(max-width:992px){

    .process-wrapper{

        flex-direction:column;

        align-items:center;

    }

    .process-line{

        width:4px;

        height:70px;

        margin:0;

    }

}
.process-step{

    opacity:0;

    transform:translateY(60px);

    transition:.8s;

}

.process-step.show{

    opacity:1;

    transform:translateY(0);

}
/*==================================================
CTA
==================================================*/

#cta{

    position:relative;

    background:
    linear-gradient(rgba(15,15,15,.88),
    rgba(15,15,15,.88)),
    url("../images/cta-bg.jpg");

    background-size:cover;

    background-position:center;

    padding:130px 0;

    overflow:hidden;

}

.cta-tag{

    display:inline-block;

    color:var(--primary);

    letter-spacing:3px;

    margin-bottom:25px;

    font-size:.9rem;

}

#cta h2{

    color:#fff;

    font-size:3rem;

    font-family:'Cinzel',serif;

    margin-bottom:25px;

}

#cta p{

    color:#d5d5d5;

    max-width:700px;

    margin:auto auto 40px;

    line-height:2;

}

/*==================================================
FOOTER
==================================================*/

#footer{

    background:#090909;

    padding:90px 0 35px;

}

.footer-logo{

    width:170px;

    margin-bottom:25px;

}

#footer p{

    color:#cfcfcf;

    line-height:1.9;

}

#footer h4{

    color:#fff;

    margin-bottom:25px;

    font-family:'Cinzel',serif;

}

.footer-links{

    list-style:none;

    padding:0;

}

.footer-links li{

    margin-bottom:12px;

}

.footer-links a{

    color:#ccc;

    text-decoration:none;

    transition:.3s;

}

.footer-links a:hover{

    color:var(--primary);

    padding-left:8px;

}

.social-links{

    display:flex;

    gap:15px;

    margin-top:30px;

}

.social-links a{

    width:48px;

    height:48px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    color:#fff;

    transition:.35s;

}

.social-links a:hover{

    background:var(--primary);

    color:#111;

    transform:translateY(-6px);

}

.contact-card{

    display:flex;

    gap:15px;

    margin-bottom:18px;

    color:#ddd;

}

.contact-card i{

    width:45px;

    height:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(201,162,39,.15);

    color:var(--primary);

}

hr{

    border-color:rgba(255,255,255,.08);

    margin:60px 0 30px;

}

.copyright{

    text-align:center;

    color:#888;

}
/*==================================================
ANIMATIONS
==================================================*/

.service-card,
.service-detail,
.why-card,
.process-step{

    opacity:0;

    transform:translateY(60px);

    transition:

        opacity .8s ease,

        transform .8s ease;

}

.show{

    opacity:1;

    transform:translateY(0);

}

/*==========================
Navbar Scroll
==========================*/

.navbar-scrolled{

    background:rgba(15,15,15,.95);

    backdrop-filter:blur(18px);

    box-shadow:

    0 8px 25px rgba(0,0,0,.35);

}

/*==========================
Ripple Effect
==========================*/

.btn-primary-custom{

    overflow:hidden;

    position:relative;

}

.ripple{

    position:absolute;

    width:15px;

    height:15px;

    background:rgba(255,255,255,.45);

    border-radius:50%;

    transform:translate(-50%,-50%);

    animation:ripple .7s linear;

}

@keyframes ripple{

    from{

        width:0;

        height:0;

        opacity:.8;

    }

    to{

        width:420px;

        height:420px;

        opacity:0;

    }

}

/*==========================
Floating Background
==========================*/

.gold-glow{

    animation:glowMove 8s ease-in-out infinite;

}

@keyframes glowMove{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(30px);

    }

}

/*==========================
CTA Animation
==========================*/

#cta h2{

    animation:fadeTitle 1.2s ease;

}

@keyframes fadeTitle{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:none;

    }

}

/*==========================
Social Hover
==========================*/

.social-links a:hover{

    transform:

        translateY(-8px)

        rotate(360deg);

}

/*==========================
Footer Fade
==========================*/

footer{

    animation:footerFade 1s ease;

}

@keyframes footerFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}
/*==================================================
PRELOADER
==================================================*/

#preloader{

    position:fixed;

    inset:0;

    background:#0f0f0f;

    z-index:99999;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    transition:.6s;

}

#preloader img{

    width:140px;

    margin-top:30px;

}

.loader-circle{

    width:80px;

    height:80px;

    border:5px solid rgba(255,255,255,.08);

    border-top:5px solid var(--primary);

    border-radius:50%;

    animation:spin 1s linear infinite;

}

@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}

.hide-loader{

    opacity:0;

    visibility:hidden;

}

/*==================================================
BACK TO TOP
==================================================*/

#backToTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#111;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:999;

}

#backToTop:hover{

    transform:translateY(-6px);

}

.show-top{

    opacity:1 !important;

    visibility:visible !important;

}

/*==================================================
SMOOTH SCROLL
==================================================*/

html{

    scroll-behavior:smooth;

}

/*==================================================
TEXT SELECTION
==================================================*/

::selection{

    background:var(--primary);

    color:#111;

}
/*=========================================
PORTFOLIO FILTER
=========================================*/

#portfolio-filter {
    position: sticky;
    top: 78px;
    z-index: 100;
    padding: 25px 0;
    backdrop-filter: blur(18px);
    background: rgba(15,15,15,.82);
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.filter-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.filter-btn {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    border: none;
    border-radius: 60px;
    cursor: pointer;
    color: #fff;
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(18px);
    transition: .35s;
    overflow: hidden;
    font-weight: 500;
}

    .filter-btn i {
        color: var(--primary);
        transition: .35s;
    }

    .filter-btn span {
        white-space: nowrap;
    }
    .filter-btn::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient( 90deg, transparent, rgba(255,255,255,.18), transparent);
        transform: translateX(-100%);
    }

    .filter-btn:hover::before {
        animation: shine .8s;
    }

@keyframes shine {

    to {
        transform: translateX(100%);
    }
}

.filter-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 35px rgba(201,162,39,.25);
}
.filter-btn.active {
    background: linear-gradient( 135deg, #C9A227, #E5C158);
    color: #111;
    font-weight: 600;
    box-shadow: 0 12px 40px rgba(201,162,39,.4);
}

    .filter-btn.active i {
        color: #111;
    }
@media(max-width:768px) {

    .filter-buttons {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 10px;
        scrollbar-width: none;
    }

        .filter-buttons::-webkit-scrollbar {
            display: none;
        }

    .filter-btn {
        flex: none;
    }
}
.filter-btn {
    opacity: 0;
    transform: translateY(30px);
    animation: filterReveal .7s forwards;
}

    .filter-btn:nth-child(1) {
        animation-delay: .05s;
    }

    .filter-btn:nth-child(2) {
        animation-delay: .10s;
    }

    .filter-btn:nth-child(3) {
        animation-delay: .15s;
    }

    .filter-btn:nth-child(4) {
        animation-delay: .20s;
    }

    .filter-btn:nth-child(5) {
        animation-delay: .25s;
    }

    .filter-btn:nth-child(6) {
        animation-delay: .30s;
    }

    .filter-btn:nth-child(7) {
        animation-delay: .35s;
    }

    .filter-btn:nth-child(8) {
        animation-delay: .40s;
    }

@keyframes filterReveal {

    to {
        opacity: 1;
        transform: none;
    }
}
/*======================================
        PREMIUM IMAGE EFFECT
======================================*/

.gallery-item {
    will-change: transform;
}

    .gallery-item img {
        backface-visibility: hidden;
        user-select: none;
        -webkit-user-drag: none;
    }

    .gallery-item:hover {
        transform: translateY(-10px);
    }

        .gallery-item:hover img {
            transform: scale(1.08);
            filter: brightness(.95);
        }
/*======================================
        FILTER ANIMATION
======================================*/

.gallery-item {
    animation: galleryFade .5s ease;
}

@keyframes galleryFade {

    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*==================================
        LIGHTBOX TOOLS
==================================*/

.lightbox-tools {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 15px;
}

    .lightbox-tools button {
        width: 52px;
        height: 52px;
        border: none;
        border-radius: 50%;
        background: rgba(255,255,255,.12);
        color: #fff;
        backdrop-filter: blur(12px);
        cursor: pointer;
        transition: .35s;
    }

        .lightbox-tools button:hover {
            background: #C9A227;
            color: #111;
            transform: translateY(-3px) scale(1.08);
        }
/*==================================
        LIGHTBOX THUMBNAILS
==================================*/

.lightbox-thumbnails {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

    .lightbox-thumbnails img {
        width: 75px;
        height: 55px;
        object-fit: cover;
        border-radius: 10px;
        cursor: pointer;
        opacity: .6;
        border: 2px solid transparent;
        transition: .3s;
    }

        .lightbox-thumbnails img:hover {
            opacity: 1;
            transform: translateY(-4px);
        }

        .lightbox-thumbnails img.active {
            opacity: 1;
            border-color: #C9A227;
        }

#favoriteImage.active {
    background: #C9A227;
    color: #111;
}
/*==================================
        PACKAGE CARDS
==================================*/

#packages-list {
    padding: 100px 0;
    background: #0F0F0F;
}

.package-card {
    background: #181818;
    border: 1px solid rgba(201,162,39,.15);
    border-radius: 20px;
    padding: 40px;
    height: 100%;
    text-align: center;
    transition: .4s;
    position: relative;
    overflow: hidden;
}

    .package-card:hover {
        transform: translateY(-12px);
        border-color: #C9A227;
        box-shadow: 0 20px 60px rgba(201,162,39,.15);
    }

.package-icon {
    width: 90px;
    height: 90px;
    margin: auto;
    border-radius: 50%;
    background: #C9A227;
    color: #111;
    font-size: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.package-card h3 {
    color: #fff;
    font-family: 'Cinzel',serif;
    margin-bottom: 20px;
}

.price {
    color: #C9A227;
    font-size: 42px;
    font-weight: 700;
}

    .price span {
        display: block;
        color: #bbb;
        font-size: 15px;
        margin-top: 8px;
    }

.package-card ul {
    list-style: none;
    padding: 0;
    margin: 35px 0;
}

.package-card li {
    color: #ddd;
    padding: 10px 0;
}

    .package-card li i {
        color: #C9A227;
        margin-right: 10px;
    }

.btn-package {
    display: inline-block;
    padding: 14px 40px;
    background: #C9A227;
    color: #111;
    border-radius: 40px;
    font-weight: 600;
    text-decoration: none;
    transition: .3s;
}

    .btn-package:hover {
        background: #fff;
        color: #111;
    }

.featured {
    border: 2px solid #C9A227;
    transform: scale(1.04);
}

.popular-tag {
    position: absolute;
    top: 18px;
    right: -42px;
    width: 170px;
    background: #C9A227;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 0;
    transform: rotate(45deg);
}
/*==================================
        ADDONS
==================================*/

#addons {
    background: #141414;
    padding: 100px 0;
}

.addon-card {
    background: #1B1B1B;
    border: 1px solid rgba(201,162,39,.15);
    border-radius: 18px;
    padding: 35px;
    text-align: center;
    transition: .35s;
    height: 100%;
}

    .addon-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
    }

    .addon-card i {
        font-size: 40px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .addon-card h4 {
        color: #fff;
    }

    .addon-card p {
        color: #bbb;
    }

    .addon-card span {
        display: block;
        color: #C9A227;
        font-weight: 600;
        margin-top: 15px;
    }

/*==================================
        FEATURES
==================================*/

#package-features {
    background: #0F0F0F;
    padding: 80px 0;
}

.feature-box {
    padding: 30px;
}

    .feature-box h3 {
        color: #C9A227;
        font-size: 46px;
        font-family: 'Cinzel',serif;
    }

    .feature-box p {
        color: #ddd;
    }

/*==================================
        FAQ
==================================*/

#package-faq {
    background: #141414;
    padding: 100px 0;
}

.accordion-item {
    background: #1B1B1B;
    border: none;
    margin-bottom: 15px;
}

.accordion-button {
    background: #1B1B1B;
    color: #fff;
    font-weight: 600;
}

    .accordion-button:not(.collapsed) {
        background: #C9A227;
        color: #111;
    }

.accordion-body {
    color: #ddd;
    background: #1B1B1B;
}
/*==================================
        CTA
==================================*/

#package-cta {
    background: #0F0F0F;
    padding: 120px 0;
}

.cta-box {
    background: linear-gradient(135deg,#181818,#111);
    border: 1px solid rgba(201,162,39,.25);
    border-radius: 25px;
    padding: 70px;
    text-align: center;
}

    .cta-box h2 {
        color: #fff;
        font-size: 48px;
        font-family: 'Cinzel',serif;
        margin: 20px 0;
    }

    .cta-box p {
        color: #d7d7d7;
        max-width: 700px;
        margin: auto;
        margin-bottom: 40px;
        line-height: 1.8;
    }

/*==================================
        TESTIMONIALS
==================================*/

#package-testimonials {
    background: #141414;
    padding: 100px 0;
}

.testimonial-card {
    background: #1B1B1B;
    border-radius: 20px;
    padding: 40px;
    border: 1px solid rgba(201,162,39,.15);
    transition: .35s;
    height: 100%;
}

    .testimonial-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
    }

    .testimonial-card i {
        color: #C9A227;
        font-size: 32px;
        margin-bottom: 20px;
    }

    .testimonial-card p {
        color: #ddd;
        line-height: 1.8;
    }

    .testimonial-card h5 {
        color: #fff;
        margin-top: 25px;
    }

/*==================================
        WHATSAPP
==================================*/

.whatsapp-float {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #25D366;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 34px;
    z-index: 999;
    text-decoration: none;
    box-shadow: 0 10px 35px rgba(0,0,0,.35);
    transition: .35s;
}

    .whatsapp-float:hover {
        transform: scale(1.1);
        color: #fff;
    }


/*==================================
        REVIEW STATS
==================================*/

#review-stats {
    padding: 100px 0;
    background: #111;
}

.stat-box {
    padding: 40px;
}

    .stat-box h2 {
        font-size: 55px;
        color: #C9A227;
        font-family: 'Cinzel',serif;
    }

    .stat-box p {
        color: #ddd;
        font-size: 18px;
    }
/*==================================
        REVIEW CARDS
==================================*/

#review-list {
    background: #0F0F0F;
    padding: 100px 0;
}

.review-card {
    background: #1A1A1A;
    border: 1px solid rgba(201,162,39,.15);
    border-radius: 22px;
    padding: 35px;
    height: 100%;
    transition: .35s;
}

    .review-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
        box-shadow: 0 20px 45px rgba(201,162,39,.15);
    }

.review-header {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 20px;
}

    .review-header img {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        object-fit: cover;
        border: 3px solid #C9A227;
    }

    .review-header h4 {
        color: #fff;
        margin-bottom: 5px;
        font-family: 'Cinzel',serif;
    }

.stars {
    color: #C9A227;
    font-size: 15px;
}

.review-card p {
    color: #d6d6d6;
    line-height: 1.9;
    margin-bottom: 0;
}
/*==================================
        GOOGLE REVIEWS
==================================*/

#google-reviews {
    background: #141414;
    padding: 100px 0;
}

.google-score {
    text-align: center;
    padding: 40px;
}

    .google-score i {
        font-size: 70px;
        color: #4285F4;
        margin-bottom: 20px;
    }

    .google-score h2 {
        font-size: 80px;
        color: #fff;
        font-family: 'Cinzel',serif;
    }

    .google-score p {
        color: #ccc;
        margin: 20px 0;
    }

.rating-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 18px;
    color: #fff;
}

    .rating-row span:first-child {
        width: 70px;
    }

    .rating-row span:last-child {
        width: 45px;
        text-align: right;
    }

.progress {
    flex: 1;
    height: 12px;
    background: #222;
    border-radius: 20px;
    overflow: hidden;
}

.progress-bar {
    background: #C9A227;
}

/*==================================
        VIDEO TESTIMONIALS
==================================*/

#video-testimonials {
    background: #0F0F0F;
    padding: 100px 0;
}

.video-card {
    background: #1A1A1A;
    border: 1px solid rgba(201,162,39,.15);
    border-radius: 20px;
    padding: 60px 30px;
    text-align: center;
    transition: .35s;
    cursor: pointer;
}

    .video-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
    }

    .video-card i {
        font-size: 70px;
        color: #C9A227;
        margin-bottom: 25px;
    }

    .video-card h4 {
        color: #fff;
        margin-bottom: 10px;
        font-family: 'Cinzel',serif;
    }

    .video-card p {
        color: #bbb;
    }
/*==================================
        REVIEW CTA
==================================*/

#leave-review {
    padding: 120px 0;
    background: #111;
}

.review-cta {
    background: linear-gradient(135deg,#181818,#101010);
    padding: 70px;
    border-radius: 25px;
    text-align: center;
    border: 1px solid rgba(201,162,39,.20);
}

    .review-cta h2 {
        color: #fff;
        font-size: 50px;
        font-family: 'Cinzel',serif;
        margin: 20px 0;
    }

    .review-cta p {
        color: #d7d7d7;
        max-width: 700px;
        margin: auto;
        margin-bottom: 35px;
        line-height: 1.8;
    }

/*==================================
        CLIENT LOGOS
==================================*/

#client-logos {
    padding: 90px 0;
    background: #0F0F0F;
}

.logo-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 50px;
}

.logo-item {
    width: 170px;
    height: 90px;
    background: #181818;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(201,162,39,.15);
    transition: .35s;
}

    .logo-item:hover {
        transform: translateY(-8px);
        border-color: #C9A227;
    }

    .logo-item img {
        max-width: 100px;
        max-height: 50px;
        opacity: .75;
        transition: .35s;
    }

    .logo-item:hover img {
        opacity: 1;
    }

/*==================================
        CONTACT INFO
==================================*/

#contact-info {
    padding: 100px 0;
    background: #111;
}

.contact-box {
    background: #1A1A1A;
    padding: 40px;
    border-radius: 20px;
    text-align: center;
    border: 1px solid rgba(201,162,39,.15);
    transition: .35s;
    height: 100%;
}

    .contact-box:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
    }

    .contact-box i {
        font-size: 42px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .contact-box h4 {
        color: #fff;
        margin-bottom: 15px;
        font-family: 'Cinzel',serif;
    }

    .contact-box p {
        color: #d8d8d8;
        margin: 0;
    }
/*==================================
        CONTACT FORM
==================================*/

#contact-form {
    padding: 100px 0;
    background: #0F0F0F;
}

.contact-form-box {
    background: #181818;
    padding: 50px;
    border-radius: 25px;
    border: 1px solid rgba(201,162,39,.15);
}

    .contact-form-box h2 {
        color: #fff;
        margin-bottom: 35px;
        font-family: 'Cinzel',serif;
    }

.form-control,
.form-select {
    background: #111;
    border: 1px solid #333;
    color: #fff;
    padding: 16px;
    border-radius: 12px;
}

    .form-control:focus,
    .form-select:focus {
        background: #111;
        color: #fff;
        border-color: #C9A227;
        box-shadow: none;
    }

    .form-control::placeholder {
        color: #999;
    }

.form-select {
    color: #999;
}

textarea.form-control {
    resize: none;
}

/*==================================
        BOOKING CARD
==================================*/

.booking-card {
    background: #181818;
    padding: 45px;
    border-radius: 25px;
    border: 1px solid rgba(201,162,39,.15);
    height: 100%;
}

    .booking-card h3 {
        color: #fff;
        margin-bottom: 30px;
        font-family: 'Cinzel',serif;
    }

    .booking-card ul {
        list-style: none;
        padding: 0;
        margin-bottom: 35px;
    }

    .booking-card li {
        color: #ddd;
        margin-bottom: 18px;
    }

    .booking-card i {
        color: #C9A227;
        margin-right: 10px;
    }
/*==================================
        MAP
==================================*/

#contact-map {
    padding: 100px 0;
    background: #141414;
}

.map-box {
    height: 500px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(201,162,39,.2);
}

    .map-box iframe {
        width: 100%;
        height: 100%;
        border: 0;
    }

.contact-side-card {
    background: #1A1A1A;
    padding: 45px;
    border-radius: 20px;
    height: 100%;
    border: 1px solid rgba(201,162,39,.15);
}

    .contact-side-card h3 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 20px;
    }

    .contact-side-card p {
        color: #ccc;
        margin-bottom: 30px;
    }

.contact-action {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 16px 20px;
    margin-bottom: 18px;
    background: #111;
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    transition: .3s;
}

    .contact-action:hover {
        background: #C9A227;
        color: #111;
    }

    .contact-action i {
        font-size: 22px;
    }

/*==================================
        SOCIAL
==================================*/

#social-connect {
    padding: 100px 0;
    background: #0F0F0F;
    text-align: center;
}

    #social-connect h2 {
        color: #fff;
        font-family: 'Cinzel',serif;
    }

    #social-connect p {
        color: #bbb;
        margin-bottom: 35px;
    }

.social-icons {
    display: flex;
    justify-content: center;
    gap: 25px;
}

    .social-icons a {
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #181818;
        border-radius: 50%;
        color: #C9A227;
        font-size: 24px;
        text-decoration: none;
        transition: .35s;
    }

        .social-icons a:hover {
            background: #C9A227;
            color: #111;
            transform: translateY(-6px);
        }

/*==================================
        CONTACT FAQ
==================================*/

#contact-faq {
    padding: 100px 0;
    background: #141414;
}
/*==================================
        CONTACT CTA
==================================*/

#contact-cta {
    padding: 120px 0;
    background: #0F0F0F;
}

    #contact-cta .cta-box {
        background: linear-gradient(135deg,#181818,#101010);
        padding: 70px;
        border-radius: 25px;
        border: 1px solid rgba(201,162,39,.2);
        text-align: center;
    }

    #contact-cta h2 {
        color: #fff;
        font-size: 48px;
        font-family: 'Cinzel',serif;
        margin: 20px 0;
    }

    #contact-cta p {
        color: #d8d8d8;
        max-width: 700px;
        margin: 0 auto 35px;
        line-height: 1.8;
    }

/*==================================
        HIGHLIGHTS
==================================*/

#contact-highlights {
    padding: 100px 0;
    background: #141414;
}

.highlight-card {
    background: #1A1A1A;
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid rgba(201,162,39,.15);
    text-align: center;
    transition: .35s;
    height: 100%;
}

    .highlight-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
        box-shadow: 0 15px 40px rgba(201,162,39,.15);
    }

    .highlight-card i {
        font-size: 42px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .highlight-card h4 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 15px;
    }

    .highlight-card p {
        color: #cfcfcf;
        margin: 0;
    }
/*==================================
        ABOUT HERO
==================================*/

#about-hero {
    height: 100vh;
    background: url('../images/about/about-hero.jpg') center center/cover;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

    #about-hero .hero-overlay {
        position: absolute;
        inset: 0;
        background: rgba(0,0,0,.70);
    }

    #about-hero .hero-content {
        position: relative;
        z-index: 2;
    }

    #about-hero h1 {
        font-size: 72px;
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 20px;
    }

        #about-hero h1 span {
            color: #C9A227;
        }

    #about-hero p {
        max-width: 750px;
        margin: auto;
        color: #ddd;
        line-height: 1.9;
    }

/*==================================
        OUR STORY
==================================*/

#our-story {
    padding: 100px 0;
    background: #111;
}

.about-content {
    padding-left: 30px;
}

.section-subtitle {
    display: inline-block;
    color: #C9A227;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.about-content h2 {
    color: #fff;
    font-family: 'Cinzel',serif;
    margin-bottom: 25px;
}

.about-content p {
    color: #d6d6d6;
    line-height: 1.9;
    margin-bottom: 20px;
}
/*==================================
        ABOUT FEATURES
==================================*/

#about-features {
    padding: 100px 0;
    background: #0F0F0F;
}

.feature-card {
    background: #181818;
    padding: 40px 30px;
    border-radius: 20px;
    border: 1px solid rgba(201,162,39,.15);
    text-align: center;
    transition: .35s;
    height: 100%;
}

    .feature-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
        box-shadow: 0 15px 40px rgba(201,162,39,.15);
    }

    .feature-card i {
        font-size: 46px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .feature-card h4 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 15px;
    }

    .feature-card p {
        color: #d4d4d4;
        line-height: 1.8;
        margin: 0;
    }

/*==================================
        ABOUT STATS
==================================*/

.about-stat {
    padding: 30px 15px;
}

    .about-stat h2 {
        font-size: 52px;
        font-family: 'Cinzel',serif;
        color: #C9A227;
        margin-bottom: 10px;
    }

    .about-stat p {
        color: #ddd;
        font-size: 18px;
        margin: 0;
    }
/*==================================
        ABOUT SERVICES
==================================*/

#about-services {
    padding: 100px 0;
    background: #141414;
}

.service-mini-card {
    background: #1A1A1A;
    border: 1px solid rgba(201,162,39,.15);
    border-radius: 18px;
    padding: 35px;
    text-align: center;
    transition: .35s;
    height: 100%;
}

    .service-mini-card:hover {
        transform: translateY(-8px);
        border-color: #C9A227;
    }

    .service-mini-card i {
        font-size: 42px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .service-mini-card h5 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin: 0;
    }

/*==================================
        PROCESS
==================================*/

#our-process {
    padding: 100px 0;
    background: #0F0F0F;
}

.process-card {
    position: relative;
    background: #181818;
    border-radius: 20px;
    padding: 40px 25px;
    text-align: center;
    border: 1px solid rgba(201,162,39,.15);
    transition: .35s;
    height: 100%;
}

    .process-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
    }

.process-number {
    position: absolute;
    top: 18px;
    right: 18px;
    font-size: 14px;
    font-weight: 700;
    color: #C9A227;
}

.process-card i {
    font-size: 48px;
    color: #C9A227;
    margin-bottom: 20px;
}

.process-card h4 {
    color: #fff;
    font-family: 'Cinzel',serif;
    margin-bottom: 15px;
}

.process-card p {
    color: #d5d5d5;
    line-height: 1.8;
    margin: 0;
}
/*==================================
        EQUIPMENT
==================================*/

#studio-equipment {
    padding: 100px 0;
    background: #141414;
}

.equipment-card {
    background: #1A1A1A;
    padding: 40px 30px;
    border-radius: 20px;
    text-align: center;
    border: 1px solid rgba(201,162,39,.15);
    transition: .35s;
    height: 100%;
}

    .equipment-card:hover {
        transform: translateY(-10px);
        border-color: #C9A227;
        box-shadow: 0 15px 40px rgba(201,162,39,.15);
    }

    .equipment-card i {
        font-size: 50px;
        color: #C9A227;
        margin-bottom: 20px;
    }

    .equipment-card h4 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 15px;
    }

    .equipment-card p {
        color: #d4d4d4;
        margin: 0;
        line-height: 1.8;
    }

/*==================================
        VALUES
==================================*/

#studio-values {
    padding: 100px 0;
    background: #0F0F0F;
}

.value-item {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    align-items: flex-start;
}

    .value-item i {
        font-size: 28px;
        color: #C9A227;
        margin-top: 5px;
    }

    .value-item h5 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin-bottom: 8px;
    }

    .value-item p {
        color: #d5d5d5;
        line-height: 1.8;
        margin: 0;
    }

/*==================================
        PROMISE
==================================*/

#customer-promise {
    padding: 120px 0;
    background: #141414;
}

.promise-box {
    max-width: 900px;
    margin: auto;
    text-align: center;
    background: #1A1A1A;
    padding: 70px;
    border-radius: 25px;
    border: 1px solid rgba(201,162,39,.15);
}

    .promise-box h2 {
        color: #fff;
        font-family: 'Cinzel',serif;
        margin: 20px 0;
    }

    .promise-box p {
        color: #d8d8d8;
        line-height: 2;
        margin: 0;
    }
/*==================================
        GALLERY PREVIEW
==================================*/

#studio-gallery-preview {
    padding: 100px 0;
    background: #0F0F0F;
}

.gallery-preview-img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 20px;
    transition: .4s;
    cursor: pointer;
}

    .gallery-preview-img:hover {
        transform: scale(1.05);
        box-shadow: 0 15px 40px rgba(201,162,39,.25);
    }

/*==================================
        TESTIMONIAL
==================================*/

#about-testimonial {
    padding: 100px 0;
    background: #141414;
}

.testimonial-box {
    max-width: 900px;
    margin: auto;
    padding: 60px;
    background: #1A1A1A;
    border-radius: 25px;
    text-align: center;
    border: 1px solid rgba(201,162,39,.15);
}

.quote-icon {
    font-size: 50px;
    color: #C9A227;
    margin-bottom: 25px;
}

.testimonial-box p {
    font-size: 20px;
    color: #ddd;
    line-height: 2;
    margin-bottom: 25px;
    font-style: italic;
}

.testimonial-box h4 {
    color: #C9A227;
    font-size: 28px;
    margin-bottom: 10px;
}

.testimonial-box span {
    color: #bbb;
}

/*==================================
        ABOUT CTA
==================================*/

#about-cta {
    padding: 120px 0;
    background: linear-gradient(135deg,#0F0F0F,#1A1A1A);
}

.cta-box {
    max-width: 900px;
    margin: auto;
    text-align: center;
}

    .cta-box h2 {
        color: #fff;
        font-family: 'Cinzel',serif;
        font-size: 48px;
        margin-bottom: 20px;
    }

    .cta-box p {
        color: #ddd;
        line-height: 2;
        margin-bottom: 35px;
    }

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
/*==================================
        SCROLL REVEAL
==================================*/

.feature-card,
.equipment-card,
.service-mini-card,
.process-card,
.gallery-preview-img,
.promise-box,
.testimonial-box,
.cta-box,
.value-item {
    opacity: 0;
    transform: translateY(50px);
    transition: all .8s ease;
}

.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/*==================================
        BACK TO TOP
==================================*/

#backTop {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 55px;
    height: 55px;
    border: none;
    border-radius: 50%;
    background: #C9A227;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: .35s;
    box-shadow: 0 10px 25px rgba(0,0,0,.35);
}

    #backTop:hover {
        transform: translateY(-5px);
    }

    #backTop.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

/*==================================
        MOBILE
==================================*/

@media(max-width:991px) {

    #about-hero {
        height: 80vh;
    }

        #about-hero h1 {
            font-size: 46px;
        }

    .about-content {
        padding-left: 0;
        margin-top: 40px;
    }

    .promise-box {
        padding: 40px 30px;
    }

    .testimonial-box {
        padding: 40px 30px;
    }

    .cta-box h2 {
        font-size: 34px;
    }
}

@media(max-width:576px) {

    #about-hero h1 {
        font-size: 34px;
    }

    #about-hero p {
        font-size: 15px;
    }

    .about-stat h2 {
        font-size: 36px;
    }

    .gallery-preview-img {
        height: 220px;
    }

    .promise-box {
        padding: 30px 20px;
    }

    .testimonial-box {
        padding: 30px 20px;
    }

    .cta-box h2 {
        font-size: 28px;
    }
}
.map-container{
    width:100%;
    height:450px;
    border-radius:20px;
    overflow:hidden;
    border:1px solid rgba(201,162,39,.25);
}

.map-container iframe{
    width:100%;
    height:100%;
    border:0;
    display:block;
}
.map-container {
    height: 500px;
}

    .map-container iframe {
        height: 100%;
    }
@media (max-width:768px) {
    .map-container {
        height: 350px;
    }
}
/*==================================================
                ABOUT HERO
==================================================*/

#about-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

    background:
        linear-gradient(
            rgba(0,0,0,.65),
            rgba(0,0,0,.80)
        ),
        url("../images/hero/hero-about.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

#about-hero .hero-overlay{
    position:absolute;
    inset:0;
    background:radial-gradient(
        circle at center,
        rgba(201,162,39,.15),
        transparent 70%
    );
}

#about-hero .hero-content{
    position:relative;
    z-index:5;
}
#hero .hero-content{
    max-width:650px;
    position:relative;
    z-index:2;
}
#hero .hero-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    max-width:650px;
    position:relative;
    z-index:2;
}
#hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at 80% 25%,
            rgba(255,210,120,.12),
            transparent 45%
        );
    pointer-events:none;
}
/*=========================================
        ABOUT HERO
=========================================*/

#about-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

    background:
        linear-gradient(
            rgba(0,0,0,.18),
            rgba(0,0,0,.30)
        ),
        url("../images/hero/hero-about.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

#about-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.35) 0%,
            rgba(0,0,0,.12) 50%,
            rgba(0,0,0,.05) 100%
        ),

        radial-gradient(
            circle at 78% 22%,
            rgba(255,220,140,.22),
            transparent 45%
        );

    pointer-events:none;
}

#about-hero .hero-content{
    position:relative;
    z-index:2;
}
/* =====================================
   HOME PAGE SPACING FIX
===================================== */

#services{
    padding:70px 0;
}

#portfolio{
    padding:70px 0 35px;
}

#why-us{
    padding:35px 0;
}

#trust{
    padding:35px 0 50px;
}

#reviews{
    padding:60px 0;
}

#stats{
    padding:60px 0;
}

#instagram{
    padding:60px 0;
}

#cta{
    padding:80px 0;
}

.section-title{
    margin-bottom:35px !important;
}

.card-box{
    margin-bottom:15px;
}
#why-us .card-box h4{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0;
    font-size:1.45rem;
    font-weight:600;
}

#why-us .card-box h4 i{
    color:#C9A227;
    font-size:1.25rem;
}

#why-us .card-box:hover h4 i{
    transform:scale(1.15);
    transition:.3s;
}
#why-us .card-box{
    min-height:170px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
}

#why-us .card-box i{
    font-size:48px;
    color:#C9A227;
    margin-bottom:22px;
    transition:.35s;
}

#why-us .card-box h4{
    font-size:28px;
    font-weight:600;
    line-height:1.35;
    margin:0;
}

#why-us .card-box:hover i{
    transform:scale(1.12);
}
/*==================================================
        TRUST SECTION
==================================================*/

#trust{
    background:#111;
    padding:70px 0;
}

#trust .card-box{
    background:linear-gradient(180deg,#1c1c1c,#171717);
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:40px 25px;
    min-height:220px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;

    transition:.35s ease;
}

#trust .card-box i{
    font-size:52px;
    color:#C9A227;
    margin-bottom:22px;
    transition:.35s ease;
}

#trust .card-box h5{
    color:#fff;
    font-size:1.35rem;
    font-weight:600;
    margin:0;
    line-height:1.5;
}

#trust .card-box:hover{
    transform:translateY(-10px);
    border-color:#C9A227;
    box-shadow:
        0 20px 45px rgba(0,0,0,.45),
        0 0 25px rgba(201,162,39,.20);
}

#trust .card-box:hover i{
    transform:scale(1.15) rotate(8deg);
    color:#FFD54A;
}

#trust .card-box:hover h5{
    color:#C9A227;
}
/*=========================================
        INSTAGRAM GRID
=========================================*/

.instagram-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    margin-top:40px;
}

.instagram-grid img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:18px;
    display:block;
    transition:.4s;
    cursor:pointer;
}

.instagram-grid img:hover{
    transform:translateY(-8px) scale(1.05);
    box-shadow:0 20px 45px rgba(0,0,0,.45);
}

@media(max-width:991px){
    .instagram-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:576px){
    .instagram-grid{
        grid-template-columns:1fr;
    }
}
.btn-primary-custom{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}
#cta .hero-buttons{
    text-align:center;
}

#cta .btn-primary-custom,
#cta .btn-outline-custom{
    display:inline-block;
    margin:10px;
}
/*=========================================
    CTA BUTTON ALIGNMENT FIX
=========================================*/

#cta{
    text-align:center;
}

#cta .hero-buttons{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    margin:40px auto 0;
}

#cta .btn-primary-custom,
#cta .btn-outline-custom{
    margin:0;
}
/*=========================================
    CTA CLICK FIX
=========================================*/

#cta{
    position:relative;
    z-index:10;
}

#cta .container{
    position:relative;
    z-index:20;
}

#cta .hero-buttons{
    position:relative;
    z-index:30;
}

#cta .btn-primary-custom,
#cta .btn-outline-custom{
    position:relative;
    z-index:40;
    pointer-events:auto;
}
/*=========================================
    PREMIUM BUTTON GLOW
=========================================*/

.btn-primary-custom,
.btn-outline-custom{
    position:relative;
    overflow:hidden;
    transition:.35s ease;
}

/* Gold Glow */
.btn-primary-custom{
    box-shadow:
        0 0 20px rgba(201,162,39,.35),
        0 0 40px rgba(201,162,39,.18);
}

.btn-outline-custom{
    box-shadow:
        0 0 20px rgba(201,162,39,.25),
        0 0 40px rgba(201,162,39,.10);
}

/* Hover Glow */
.btn-primary-custom:hover{
    box-shadow:
        0 0 25px rgba(201,162,39,.55),
        0 0 55px rgba(201,162,39,.30);
}

.btn-outline-custom:hover{
    background:#C9A227;
    color:#030303;
    box-shadow:
        0 0 25px rgba(201,162,39,.55),
        0 0 55px rgba(201,162,39,.30);
}
/*=========================================
    ABOUT PAGE - LAST 4 SECTIONS SPACING
=========================================*/

#customer-promise{
    padding:40px 0 30px;
}

#gallery-preview{
    padding:30px 0;
}

#testimonial{
    padding:30px 0;
}

#cta{
    padding:35px 0 40px;
}

/* Reduce spacing inside these sections */
#customer-promise .container,
#gallery-preview .container,
#testimonial .container,
#cta .container{
    margin:0 auto;
}

/* Reduce heading spacing */
#customer-promise .section-title,
#gallery-preview .section-title,
#testimonial .section-title,
#cta .section-title{
    margin-bottom:20px;
}
/*=========================================
        SERVICES HERO IMAGE
=========================================*/

#services-hero{

    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;

    background:
        linear-gradient(
            rgba(0,0,0,.15),
            rgba(0,0,0,.25)
        ),
        url("../images/services/services-hero.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

#services-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at top right,
            rgba(201,162,39,.15),
            transparent 55%
        );

    pointer-events:none;
}

#services-hero::after{
    content:"";
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            to right,
            rgba(0,0,0,.15) 0%,
            rgba(0,0,0,.08) 45%,
            rgba(0,0,0,0) 100%
        );

    pointer-events:none;
}
.service-image{
    width:100%;
    height:360px;
    overflow:hidden;
    border-radius:24px;
    box-shadow:0 20px 50px rgba(0,0,0,.35);
}

.service-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:.5s ease;
}

.service-detail:hover .service-image img{
    transform:scale(1.05);
}
.service-detail{
    min-height:420px;
    align-items:center;
    margin-bottom:80px;
}
.service-detail .col-lg-6{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/*==================================================
        PACKAGES HERO
==================================================*/

#packages-hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.85) 0%,
            rgba(0,0,0,.65) 40%,
            rgba(0,0,0,.25) 100%
        ),
        url("../images/packages/packages-hero.jpg");

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

#packages-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at right,
            rgba(201,162,39,.12),
            transparent 55%
        );
}

#packages-hero .hero-content{
    position:relative;
    z-index:2;
    max-width:650px;
    text-align:left;
}

#packages-hero h1{
    font-family:'Cinzel',serif;
    font-size:72px;
    line-height:1.1;
    color:#fff;
}

#packages-hero h1 span{
    color:#C9A227;
}

#packages-hero p{
    color:#ddd;
    font-size:18px;
    line-height:1.9;
    margin:30px 0;
}

#packages-hero .hero-tag{
    display:inline-block;
    color:#C9A227;
    letter-spacing:4px;
    margin-bottom:20px;
    font-size:14px;
}

@media(max-width:768px){

    #packages-hero{
        background-position:70% center;
        min-height:85vh;
    }

    #packages-hero .hero-content{
        text-align:center;
    }

    #packages-hero h1{
        font-size:46px;
    }

}
/*==================================================
        REVIEWS HERO
==================================================*/

#reviews-hero{

    position:relative;

    background:
        linear-gradient(
            rgba(255,255,255,.08),
            rgba(255,255,255,.08)
        ),
        url("../images/reviews/reviews-hero.jpg");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

    min-height:520px;

    padding:140px 0 90px;

    display:flex;

    align-items:center;

    overflow:hidden;

}

/* Overlay */

#reviews-hero .hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        90deg,

        rgba(0,0,0,.58) 0%,

        rgba(0,0,0,.45) 30%,

        rgba(0,0,0,.02) 100%

    );

    z-index:1;

}

/* Gold Glow */

#reviews-hero::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    right:-170px;

    top:-140px;

    border-radius:50%;

    background:radial-gradient(

        circle,

        rgba(201,162,39,.18),

        transparent 50%

    );

    filter:blur(70px);

    animation:heroGlow 8s ease-in-out infinite;

    z-index:2;

}

/* Layout */

#reviews-hero .container{

    position:relative;

    z-index:5;

    display:flex;

    align-items:center;

    justify-content:flex-start;

    width:100%;

}

#reviews-hero .hero-content{

    max-width:620px;

    text-align:left;

}

#reviews-hero h1{

    margin-bottom:25px;

    line-height:1.05;

}

#reviews-hero p{

    max-width:560px;

    margin-bottom:35px;

    font-size:1.15rem;

}

/* Button Shine */

#reviews-hero .btn-primary-custom{

    position:relative;

    overflow:hidden;

}

#reviews-hero .btn-primary-custom::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:45%;

    height:100%;

    background:rgba(255,255,255,.35);

    transform:skewX(-25deg);

    transition:1s;

}

#reviews-hero .btn-primary-custom:hover::before{

    left:160%;

}

/* Floating Image */

#reviews-hero .hero-image{

    animation:floatCamera 5s ease-in-out infinite;

}

/* Animations */

@keyframes heroGlow{

    0%,100%{

        transform:translate(0,0) scale(1);

    }

    50%{

        transform:translate(-30px,20px) scale(1.1);

    }

}

@keyframes floatCamera{

    0%,100%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-12px);

    }

}

/* Responsive */

@media(max-width:991px){

    #reviews-hero{

        min-height:430px;

        padding:120px 0 70px;

    }

    #reviews-hero .container{

        justify-content:center;

    }

    #reviews-hero .hero-content{

        text-align:center;

    }

}

@media(max-width:576px){

    #reviews-hero{

        min-height:360px;

        padding:110px 0 60px;

    }

}
#leave-review .hero-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    flex-wrap:wrap;
    width:100%;
    margin:40px auto 0;
}
/*==================================
        CONTACT HERO
==================================*/

#contact-hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background:
    linear-gradient(
        rgba(0,0,0,.18),
        rgba(0,0,0,.28)
    ),
    url("../images/contact/contact-hero.jpg");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

#contact-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(201,162,39,.18),
            transparent 60%
        );
}

#contact-hero .hero-content{
    position:relative;
    z-index:2;
    text-align:center;
}

#contact-hero .hero-content h1{
    font-family:'Cinzel',serif;
    font-size:4.8rem;
    color:#fff;
}

#contact-hero .hero-content h1 span{
    color:#C9A227;
}

#contact-hero .hero-content p{
    max-width:700px;
    margin:25px auto;
    color:#ddd;
    font-size:1.15rem;
}

@media (max-width:991px){
    #contact-hero{
        background-attachment:scroll;
    }

    #contact-hero .hero-content h1{
        font-size:3rem;
    }
}