/*==================================================
    GOOGLE FONTS
==================================================*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Poppins:wght@300;400;500;600;700&display=swap');

/*==================================================
    RESET
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:#fff;
    color:#222;
    overflow-x:hidden;
}

img{
    width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

/*==================================================
    COLORS
==================================================*/

:root{

--gold:#d6b24c;
--dark:#111111;
--white:#ffffff;
--gray:#777;
--light:#f8f8f8;

}

/*==================================================
    HEADER
==================================================*/

header{

position:fixed;
top:0;
left:0;

width:100%;

background:#ffffff;

z-index:9999;

box-shadow:0 2px 20px rgba(0,0,0,.05);

}

.navbar{

height:90px;

display:flex;
align-items:center;
justify-content:space-between;

width:90%;
max-width:1400px;
margin:auto;

}

/* Logo */
.logo{
    display: flex;
    align-items: center;
    height: 90px;
}

.logo img{
    height: 250px;  
    width: auto;
    object-fit: contain;
    display: block;
}
/* Navigation */

.nav-links{

display:flex;

gap:45px;

}

.nav-links a{

font-size:14px;

letter-spacing:2px;

text-transform:uppercase;

font-weight:500;

color:#222;

transition:.4s;

}

.nav-links a:hover{

color:var(--gold);

}

/* Consultation Button */

.consult-btn{

padding:15px 38px;

border:1px solid var(--gold);

color:#222;

font-size:13px;

letter-spacing:2px;

text-transform:uppercase;

transition:.4s;

}

.consult-btn:hover{

background:var(--gold);

color:#fff;

}

/* Mobile */

.menu-btn{

display:none;

font-size:28px;

cursor:pointer;

}

/*==================================================
    HERO
==================================================*/

.hero{

position:relative;

width:100%;

height:100vh;

overflow:hidden;

display:flex;
align-items:center;

margin-top:90px;

}

.hero-bg{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

}

.hero-bg img{

width:100%;
height:100%;

object-fit:cover;

}

/* Overlay */

.overlay{

position:absolute;

width:100%;
height:100%;

background:rgba(0,0,0,.55);

z-index:1;

}

/* Content */

.hero-content{

position:relative;

z-index:5;

width:90%;

max-width:1200px;

margin:auto;

color:#fff;

}

/* Small Title */

.sub-title{

display:block;

font-size:15px;

letter-spacing:6px;

text-transform:uppercase;

color:var(--gold);

margin-bottom:25px;

font-weight:600;

}

/* Heading */

.hero-content h1{

font-family:'Cormorant Garamond',serif;

font-size:92px;

line-height:95px;

font-weight:700;

margin-bottom:30px;

max-width:800px;

}

/* Paragraph */

.hero-content p{

font-size:22px;

max-width:700px;

line-height:40px;

color:#f1f1f1;

margin-bottom:45px;

}

/* Buttons */

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}

.btn-yellow{

background:var(--gold);

color:#fff;

padding:22px 45px;

text-transform:uppercase;

font-size:14px;

letter-spacing:3px;

display:inline-flex;

align-items:center;

gap:12px;

transition:.4s;

}

.btn-yellow:hover{

background:#c79d25;

transform:translateY(-3px);

}

.btn-outline{

padding:22px 45px;

border:1px solid #fff;

color:#fff;

font-size:14px;

letter-spacing:3px;

text-transform:uppercase;

transition:.4s;

}

.btn-outline:hover{

background:#fff;

color:#111;

}
/*==================================================
    SCROLL INDICATOR
==================================================*/

.scroll-down{

    position:absolute;

    left:50%;

    bottom:35px;

    transform:translateX(-50%);

    z-index:10;

    text-align:center;

    color:#fff;

}

.scroll-down p{

    font-size:11px;

    letter-spacing:4px;

    margin-bottom:15px;

    text-transform:uppercase;

}

.mouse{

    width:30px;

    height:50px;

    border:2px solid #fff;

    border-radius:30px;

    display:flex;

    justify-content:center;

    margin:auto;

}

.wheel{

    width:5px;

    height:10px;

    background:#fff;

    border-radius:20px;

    margin-top:8px;

    animation:scrollWheel 2s infinite;

}

@keyframes scrollWheel{

    0%{

        opacity:1;

        transform:translateY(0);

    }

    100%{

        opacity:0;

        transform:translateY(18px);

    }

}

/*==================================================
    COMMON SECTION
==================================================*/

section{

    padding:110px 0;

}

section h2{

    font-family:'Cormorant Garamond',serif;

    font-size:54px;

    color:#111;

    text-align:center;

    margin-bottom:20px;

}

section p{

    color:#666;

    text-align:center;

    line-height:32px;

    max-width:800px;

    margin:auto;

}

/*==================================
            ABOUT
==================================*/

.about{

    padding:120px 0;

    background:#ffffff;

}

.about-top{

    display:flex;

    justify-content:space-between;

    gap:80px;

    margin-bottom:70px;

    align-items:flex-start;

}

.about-title{

    flex:1;

}

.about-title span{

    color:#c8a437;

    letter-spacing:5px;

    font-size:13px;

    font-weight:600;

}

.about-title h2{

    font-family:'Cormorant Garamond',serif;

    font-size:60px;

    margin-top:15px;

    color:#1f2430;

    line-height:1.1;

}

.about-text{

    flex:1;

}

.about-text p{

    font-size:19px;

    line-height:38px;

    color:#666;

}

/*========== Cards ==========*/

.service-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.service-card{

    background:#f8f5ef;

    padding:45px 38px;

    border:1px solid #ece6d8;

    transition:.35s;

    min-height:330px;

}

.service-card:hover{

    transform:translateY(-8px);

    border-color:#c8a437;

}

.service-card.active{

    border:2px solid #c8a437;

}

.icon{

    font-size:34px;

    color:#c8a437;

    margin-bottom:35px;

}

.service-card h3{

    font-family:'Cormorant Garamond',serif;

    font-size:34px;

    color:#222;

    margin-bottom:25px;

    line-height:1.2;

}

.service-card p{

    color:#666;

    line-height:32px;

    font-size:16px;

}

/*========== Responsive ==========*/

@media(max-width:992px){

.about-top{

flex-direction:column;

}

.service-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.service-grid{

grid-template-columns:1fr;

}

.about-title h2{

font-size:42px;

}

.about-text p{

font-size:16px;

line-height:30px;

}

}
/*==================================================
    GALLERY
==================================================*/

.gallery{

    background:#f8f8f8;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

    margin-top:60px;

}

.gallery .card{

    overflow:hidden;

    position:relative;

    border-radius:6px;

    background:#fff;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.gallery .card img{

    width:100%;

    height:420px;

    object-fit:cover;

    transition:.6s;

}

.gallery .card:hover img{

    transform:scale(1.08);

}

.gallery .card::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.25);

    opacity:0;

    transition:.5s;

    z-index:1;

}

.gallery .card:hover::before{

    opacity:1;

}

.gallery .card::after{

    content:"View Project";

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    color:#fff;

    font-size:18px;

    letter-spacing:3px;

    text-transform:uppercase;

    opacity:0;

    transition:.4s;

    z-index:2;

}

.gallery .card:hover::after{

    opacity:1;

}

/*==================================================
    VIDEOS
==================================================*/

.videos{

    background:#ffffff;

}

.videos h2{

    margin-bottom:20px;

}

.videos p{

    margin-bottom:60px;

}

.video-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.video-card{

    position:relative;

    overflow:hidden;

    border-radius:8px;

    box-shadow:0 10px 30px rgba(0,0,0,.1);

}

.video-card img{

    width:100%;

    height:250px;

    object-fit:cover;

    transition:.5s;

}

.video-card:hover img{

    transform:scale(1.1);

}

.play-btn{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:75px;

    height:75px;

    border-radius:50%;

    background:rgba(214,178,76,.95);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#fff;

    font-size:28px;

    transition:.4s;

}

.video-card:hover .play-btn{

    transform:translate(-50%,-50%) scale(1.1);

}

.video-title{

    text-align:center;

    margin-top:20px;

    font-size:18px;

    font-weight:600;

    color:#222;

}
/*==================================================
                REVIEWS SECTION
==================================================*/

.reviews{
    background:#f9f9f9;
}

.review-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}

.review-card{
    background:#fff;
    padding:40px 35px;
    border-radius:10px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    transition:.4s;
}

.review-card:hover{
    transform:translateY(-10px);
}

.review-card i{
    color:var(--gold);
    font-size:18px;
    margin-bottom:20px;
}

.review-card p{
    text-align:left;
    line-height:30px;
    color:#666;
    margin-bottom:30px;
}

.client{
    display:flex;
    align-items:center;
    gap:15px;
}

.client img{
    width:65px;
    height:65px;
    border-radius:50%;
    object-fit:cover;
}

.client h4{
    font-size:18px;
    color:#111;
}

.client span{
    font-size:14px;
    color:#888;
}

/*==================================================
                LOCATION
==================================================*/

.location{
    background:#fff;
}

.map{
    width:100%;
    height:500px;
    margin-top:60px;
    overflow:hidden;
    border-radius:10px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.map iframe{
    width:100%;
    height:100%;
    border:0;
}

/*==================================================
                CONTACT
==================================================*/

.contact{
    background:#f7f7f7;
}

.contact-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-top:60px;
}

.contact-info h3{
    font-size:34px;
    font-family:'Cormorant Garamond',serif;
    margin-bottom:20px;
}

.contact-info p{
    text-align:left;
    margin-bottom:25px;
}

.contact-info .item{
    display:flex;
    gap:15px;
    margin-bottom:25px;
}

.contact-info .item i{
    color:var(--gold);
    font-size:22px;
    margin-top:5px;
}

.contact-form{
    background:#fff;
    padding:40px;
    border-radius:10px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.contact-form input,
.contact-form textarea{
    width:100%;
    padding:18px;
    margin-bottom:20px;
    border:1px solid #ddd;
    outline:none;
    font-size:15px;
    font-family:'Poppins',sans-serif;
    transition:.3s;
}

.contact-form textarea{
    resize:none;
    height:180px;
}

.contact-form input:focus,
.contact-form textarea:focus{
    border-color:var(--gold);
}

.contact-form button{
    width:100%;
    padding:18px;
    border:none;
    background:var(--gold);
    color:#fff;
    font-size:15px;
    letter-spacing:2px;
    cursor:pointer;
    transition:.3s;
}

.contact-form button:hover{
    background:#b58e2e;
}

/*==================================================
                FOOTER
==================================================*/

footer{
    background:#111;
    color:#fff;
    padding:80px 0 30px;
}

.footer-container{
    width:90%;
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:40px;
}

.footer-logo h2{
    font-family:'Cormorant Garamond',serif;
    font-size:38px;
    color:#fff;
    margin-bottom:20px;
}

.footer-logo p{
    color:#aaa;
    line-height:30px;
}

.footer-links h3,
.footer-contact h3,
.footer-social h3{
    margin-bottom:25px;
    color:#fff;
}

.footer-links ul li{
    margin-bottom:15px;
}

.footer-links a{
    color:#aaa;
    transition:.3s;
}

.footer-links a:hover{
    color:var(--gold);
    padding-left:8px;
}

.footer-contact p{
    color:#aaa;
    margin-bottom:15px;
}

.social-icons{
    display:flex;
    gap:15px;
}

.social-icons a{
    width:45px;
    height:45px;
    border:1px solid rgba(255,255,255,.15);
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    transition:.3s;
}

.social-icons a:hover{
    background:var(--gold);
    border-color:var(--gold);
}

.copyright{
    text-align:center;
    color:#888;
    margin-top:60px;
    border-top:1px solid rgba(255,255,255,.08);
    padding-top:30px;
}

/*==================================================
                ANIMATIONS
==================================================*/

.fade-up{
    opacity:0;
    transform:translateY(50px);
    transition:1s ease;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}

.zoom{
    overflow:hidden;
}

.zoom img{
    transition:.6s;
}

.zoom:hover img{
    transform:scale(1.1);
}

/*==================================================
                BUTTON EFFECTS
==================================================*/

.btn-yellow,
.btn-outline,
.consult-btn,
.contact-form button{
    transition:all .35s ease;
}

.btn-yellow:hover,
.consult-btn:hover,
.contact-form button:hover{
    box-shadow:0 15px 35px rgba(214,178,76,.35);
}

.btn-outline:hover{
    box-shadow:0 15px 35px rgba(255,255,255,.2);
}
/*==================================================
                RESPONSIVE DESIGN
==================================================*/

/*========== Large Screens ==========*/

@media (max-width:1200px){

.hero-content h1{
    font-size:75px;
    line-height:82px;
}

.hero-content p{
    font-size:20px;
}

.nav-links{
    gap:28px;
}

.gallery-grid{
    gap:20px;
}

}

/*========== Tablets ==========*/

@media (max-width:992px){

.navbar{
    height:80px;
}

.logo h2{
    font-size:28px;
}

.consult-btn{
    display:none;
}

.nav-links{

    position:fixed;

    top:80px;
    right:-100%;

    width:280px;
    height:calc(100vh - 80px);

    background:#fff;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:flex-start;

    padding-top:50px;

    gap:30px;

    transition:.4s;

    box-shadow:-5px 0 20px rgba(0,0,0,.1);

}

.nav-links.active{
    right:0;
}

.menu-btn{
    display:block;
}

.hero{

    margin-top:80px;

}

.hero-content h1{

    font-size:60px;
    line-height:68px;

}

.hero-content p{

    font-size:18px;
    line-height:34px;

}

.hero-buttons{

    flex-direction:column;
    align-items:flex-start;

}

.gallery-grid{

    grid-template-columns:1fr;

}

.video-grid{

    grid-template-columns:1fr;

}

.review-wrapper{

    grid-template-columns:1fr;

}

.contact-wrapper{

    grid-template-columns:1fr;

}

.footer-container{

    grid-template-columns:repeat(2,1fr);

}

.map{

    height:350px;

}

}

/*========== Mobile ==========*/

@media (max-width:768px){

.navbar{

    width:92%;

}

.logo-box{

    width:40px;
    height:40px;

    font-size:22px;

}

.logo h2{

    font-size:24px;

}

.hero{

    height:100vh;

}

.hero-content{

    text-align:center;

}

.sub-title{

    font-size:12px;

    letter-spacing:3px;

}

.hero-content h1{

    font-size:48px;

    line-height:56px;

}

.hero-content p{

    font-size:16px;

    line-height:30px;

    margin:25px auto 35px;

}

.hero-buttons{

    align-items:center;

}

.btn-yellow,
.btn-outline{

    width:250px;

    justify-content:center;

}

.scroll-down{

    display:none;

}

section{

    padding:80px 0;

}

section h2{

    font-size:42px;

}

.about p{

    font-size:16px;

}

.gallery .card img{

    height:280px;

}

.video-card img{

    height:220px;

}

.contact-form{

    padding:25px;

}

.footer-container{

    grid-template-columns:1fr;

    text-align:center;

}

.social-icons{

    justify-content:center;

}

}

/*========== Small Mobile ==========*/

@media (max-width:576px){

.hero-content h1{

    font-size:38px;

    line-height:45px;

}

.hero-content p{

    font-size:15px;

}

.btn-yellow,
.btn-outline{

    width:100%;

    padding:18px;

    font-size:13px;

}

.gallery .card img{

    height:220px;

}

.video-card img{

    height:200px;

}

.review-card{

    padding:25px;

}

.contact-form{

    padding:20px;

}

.footer-logo h2{

    font-size:30px;

}

}

/*========== Extra Small Devices ==========*/

@media (max-width:400px){

.hero-content h1{

    font-size:32px;

    line-height:40px;

}

.sub-title{

    font-size:11px;

}

.hero-content p{

    font-size:14px;

    line-height:28px;

}

.logo h2{

    font-size:20px;

}

.logo-box{

    width:35px;
    height:35px;

    font-size:18px;

}

section h2{

    font-size:34px;

}

}

/*==================================================
                SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#f5f5f5;

}

::-webkit-scrollbar-thumb{

    background:var(--gold);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#b58e2e;

}

/*==================================================
                TEXT SELECTION
==================================================*/

::selection{

    background:var(--gold);
    color:#fff;

}

/*==================================================
                SMOOTH ANIMATION
==================================================*/

html{

    scroll-behavior:smooth;

}

body{

    animation:pageFade .8s ease;

}

@keyframes pageFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}
/* Sticky Navbar */

header{

    transition:.4s;

}

header.sticky{

    background:#ffffff;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/* Active Mobile Menu */

.nav-links.active{

    right:0;

}
/*====================================
        PORTFOLIO SECTION
====================================*/

.portfolio{

    padding:120px 0;

    background:#f8f6f1;

}

.section-title{

    text-align:center;

    margin-bottom:70px;

}

.section-title span{

    display:block;

    color:#c8a437;

    letter-spacing:6px;

    font-size:13px;

    font-weight:600;

    margin-bottom:18px;

}

.section-title h2{

    font-family:'Cormorant Garamond',serif;

    font-size:62px;

    color:#1f2430;

    font-weight:600;

    margin-bottom:25px;

}

.title-line{

    width:60px;

    height:2px;

    background:#c8a437;

    margin:auto;

}

/*=============================
        GRID
==============================*/

.portfolio-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr;

    grid-auto-rows:220px;

    gap:20px;

}

/*=============================
        ITEMS
==============================*/

.portfolio-item{

    position:relative;

    overflow:hidden;

    cursor:pointer;

    background:#ddd;

}

.portfolio-item img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

/* Large Image */

.large{

    grid-row:span 2;

}

/*=============================
        HOVER
==============================*/

.overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    color:#fff;

    opacity:0;

    transition:.4s;

}

.overlay h3{

    font-family:'Cormorant Garamond',serif;

    font-size:34px;

    margin-bottom:10px;

}

.overlay p{

    letter-spacing:3px;

    font-size:13px;

    text-transform:uppercase;

}

.portfolio-item:hover img{

    transform:scale(1.1);

}

.portfolio-item:hover .overlay{

    opacity:1;

}

/*=============================
        SHADOW
==============================*/

.portfolio-item{

    box-shadow:0 10px 25px rgba(0,0,0,.08);

}

/*=============================
        RESPONSIVE
==============================*/

@media(max-width:992px){

.portfolio-grid{

grid-template-columns:1fr 1fr;

}

.large{

grid-column:span 2;

}

}

@media(max-width:768px){

.section-title h2{

font-size:44px;

}

.portfolio-grid{

grid-template-columns:1fr;

grid-auto-rows:260px;

}

.large{

grid-column:span 1;

grid-row:span 1;

}

}

@media(max-width:480px){

.section-title h2{

font-size:36px;

}

.section-title span{

font-size:11px;

letter-spacing:4px;

}

.portfolio-grid{

gap:15px;

}

}
/*====================================
        VIDEOS SECTION
====================================*/

.videos-section{

    padding:120px 0;

    background:#ffffff;

}

.video-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.video-card{

    background:#f8f5ef;

    border:1px solid #e8dfcf;

    overflow:hidden;

    transition:.4s;

}

.video-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,0,0,.12);

}

.video-image{

    position:relative;

    height:260px;

    overflow:hidden;

}

.video-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s;

}

.video-card:hover img{

    transform:scale(1.08);

}

/* Play Button */

.play-btn{

    position:absolute;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    width:64px;

    height:64px;

    background:#ffffff;

    color:#222;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    text-decoration:none;

    transition:.4s;

    border:2px solid #d4af37;

}

.play-btn:hover{

    background:#d4af37;

    color:#fff;

    transform:translate(-50%,-50%) scale(1.1);

}

/* Content */

.video-content{

    padding:35px;

}

.video-content h3{

    font-family:'Cormorant Garamond',serif;

    font-size:36px;

    color:#222;

    line-height:1.2;

    margin-bottom:20px;

}

.video-content p{

    color:#666;

    font-size:16px;

    line-height:30px;

    margin-bottom:30px;

}

.watch-link{

    color:#c8a437;

    text-decoration:none;

    font-weight:600;

    letter-spacing:3px;

    font-size:13px;

    transition:.3s;

}

.watch-link:hover{

    color:#000;

}

/*====================
      Responsive
=====================*/

@media(max-width:992px){

.video-grid{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:768px){

.video-grid{

grid-template-columns:1fr;

}

.video-content h3{

font-size:30px;

}

.video-image{

height:220px;

}

}
.location-section{
    padding:100px 0;
    background:#fff;
}

.container{
    width:1200px;
    margin:auto;
}

.section-title{
    text-align:center;
    margin-bottom:70px;
}

.section-title span{
    color:#c7a24d;
    letter-spacing:4px;
    font-size:13px;
    font-weight:600;
}

.section-title h2{
    margin-top:15px;
    font-size:55px;
    font-family:Georgia, serif;
    color:#1f1f1f;
}

.location-wrapper{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:60px;
}

.map{
    flex:1.3;
}

.map iframe{
    width:100%;
    height:500px;
    border:none;
}

.studio-info{
    flex:0.8;
}

.studio-info h5{
    color:#c7a24d;
    letter-spacing:2px;
    margin-bottom:15px;
}

.studio-info h2{
    font-size:42px;
    font-family:Georgia, serif;
    margin-bottom:40px;
}

.item{
    display:flex;
    gap:20px;
    margin-bottom:35px;
}

.item i{
    width:45px;
    height:45px;
    border:1px solid #d9b75c;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#d9b75c;
}

.item h4{
    margin-bottom:8px;
    font-size:14px;
    letter-spacing:1px;
}

.item p{
    color:#666;
    line-height:1.8;
}

.btn{
    display:inline-block;
    background:#222;
    color:#fff;
    text-decoration:none;
    padding:18px 40px;
    margin-top:20px;
    letter-spacing:2px;
    transition:.3s;
}

.btn:hover{
    background:#c7a24d;
}
/*==============================
      CONNECT SECTION
===============================*/

.connect-section{
    background:#f8f5ef;
    padding:90px 0;
}

.connect-section .container{
    width:1200px;
    margin:auto;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    display:block;
    color:#c89c2d;
    font-size:13px;
    font-weight:600;
    letter-spacing:5px;
    margin-bottom:15px;
}

.section-title h2{
    font-size:58px;
    color:#222;
    font-family:'Cormorant Garamond', serif;
    font-weight:600;
    margin-bottom:18px;
}

.title-line{
    width:60px;
    height:2px;
    background:#c89c2d;
    margin:auto;
}

.social-boxes{
    display:flex;
    justify-content:center;
    gap:45px;
}

.social-card{
    width:165px;
    height:165px;
    background:#fff;
    border:1px solid #e6dfd3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    transition:.35s;
}

.social-card i{
    font-size:42px;
    color:#222;
    margin-bottom:22px;
}

.social-card h4{
    font-size:13px;
    letter-spacing:2px;
    color:#222;
    font-weight:700;
}

.social-card:hover{
    transform:translateY(-8px);
    border-color:#c89c2d;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.social-card:hover i{
    color:#c89c2d;
}

.social-card:hover h4{
    color:#c89c2d;
}
/* ==========================
   CONSULTATION FORM
========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, sans-serif;
    background:#ffffff;
}

#consultationForm{
    width:700px;
    max-width:90%;
    margin:80px auto;
    background:#f8f5ef;
    padding:45px;
    border:1px solid #e5ddd0;
    border-radius:5px;
}

#consultationForm input,
#consultationForm textarea{

    width:100%;
    padding:15px 0;
    margin-bottom:25px;

    border:none;
    border-bottom:1px solid #d5d5d5;

    background:transparent;

    font-size:16px;
    outline:none;

    transition:.3s;

}

#consultationForm input:focus,
#consultationForm textarea:focus{

    border-bottom:2px solid #c8a03d;

}

#consultationForm textarea{

    resize:none;
    height:150px;

}

#consultationForm button{

    width:100%;
    padding:18px;

    background:#222;
    color:#fff;

    border:none;
    cursor:pointer;

    font-size:14px;
    letter-spacing:3px;
    font-weight:bold;

    transition:.3s;

}

#consultationForm button:hover{

    background:#c8a03d;

}

::placeholder{

    color:#999;

}

/* Mobile */

@media(max-width:768px){

#consultationForm{

    padding:25px;

}

}
/*==========================
        FOOTER
===========================*/

.footer{
    background:#2d2d2d;
    color:#c7c7c7;
    padding:70px 8% 30px;
    font-family:'Poppins',sans-serif;
}

.footer-container{
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:80px;
    align-items:flex-start;
}

.footer-column h3{
    color:#d4af37;
    font-size:15px;
    letter-spacing:3px;
    margin-bottom:25px;
    font-weight:600;
}

.footer-logo{
    width:220px;
    margin-bottom:25px;
}

.footer-about p{
    line-height:1.9;
    font-size:15px;
    color:#bfbfbf;
    max-width:350px;
}

.footer-links{
    display:flex;
    gap:70px;
}

.footer-links ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-links ul li{
    margin-bottom:18px;
}

.footer-links ul li a{
    color:#c7c7c7;
    text-decoration:none;
    transition:.3s;
    font-size:15px;
}

.footer-links ul li a:hover{
    color:#d4af37;
    padding-left:5px;
}

.footer-column p{
    margin-bottom:15px;
    line-height:1.8;
    font-size:15px;
    color:#c7c7c7;
}

.footer-column p a{
    color:#c7c7c7;
    text-decoration:none;
}

.footer-column p a:hover{
    color:#d4af37;
}

.footer-social{
    margin-top:25px;
}

.footer-social a{
    width:42px;
    height:42px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    border:1px solid rgba(255,255,255,.2);
    color:#d4af37;
    border-radius:50%;
    margin-right:12px;
    transition:.4s;
    text-decoration:none;
    font-size:17px;
}

.footer-social a:hover{
    background:#d4af37;
    color:#222;
    transform:translateY(-5px);
}

.footer-bottom{
    margin-top:60px;
    border-top:1px solid rgba(255,255,255,.12);
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p{
    margin:0;
    font-size:14px;
    color:#9d9d9d;
}

/*==========================
      RESPONSIVE
===========================*/

@media(max-width:992px){

.footer-container{
grid-template-columns:1fr;
gap:50px;
}

.footer-links{
gap:50px;
}

.footer-bottom{
flex-direction:column;
text-align:center;
}

.footer-logo{
width:180px;
}

}

@media(max-width:576px){

.footer{
padding:60px 25px 30px;
}

.footer-links{
flex-direction:column;
gap:0;
}

.footer-social a{
width:40px;
height:40px;
margin-bottom:10px;
}

.footer-column h3{
font-size:14px;
letter-spacing:2px;
}

.footer-column p{
font-size:14px;
}

}
/* Tablet */
@media (max-width:992px){

    .container{
        width:92%;
    }

    .row{
        flex-direction:column;
    }

    .footer-container{
        grid-template-columns:1fr;
        gap:40px;
    }

}

/* Mobile */
@media (max-width:768px){

    h1{
        font-size:36px;
    }

    h2{
        font-size:28px;
    }

    p{
        font-size:15px;
    }

    img{
        max-width:100%;
        height:auto;
    }

    button{
        width:100%;
    }

}
img{
    max-width:100%;
    height:auto;
    display:block;
}
.menu-btn{
    display:none;
    font-size:28px;
    color:#fff;
    cursor:pointer;
}

@media (max-width:768px){

    .menu-btn{
        display:block;
    }

    .nav-links{
        position:absolute;
        top:80px;
        left:-100%;
        width:100%;
        background:#222;
        flex-direction:column;
        transition:.4s;
        padding:20px 0;
    }

    .nav-links.active{
        left:0;
    }

    .nav-links li{
        text-align:center;
        margin:15px 0;
    }

}
/*====================================
        CONTACT SECTION
====================================*/

#contact{
    padding:100px 0;
    background:#f8f6f2;
}

#contact .container{
    width:90%;
    max-width:1200px;
    margin:auto;
}

#contact h2{
    text-align:center;
    font-size:42px;
    color:#1d1d1d;
    margin-bottom:15px;
    font-family:'Cormorant Garamond', serif;
}

#contact p{
    text-align:center;
    color:#666;
    margin-bottom:50px;
    font-size:16px;
}

#contactForm{
    max-width:700px;
    margin:auto;
    background:#ffffff;
    padding:45px;
    border-radius:10px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

#contactForm input,
#contactForm textarea{

    width:100%;
    padding:16px 18px;
    margin-bottom:20px;

    border:1px solid #ddd;
    border-radius:6px;

    font-size:15px;
    font-family:'Poppins',sans-serif;

    outline:none;
    transition:.3s;

    box-sizing:border-box;
}

#contactForm input:focus,
#contactForm textarea:focus{

    border-color:#c79a2b;
    box-shadow:0 0 8px rgba(199,154,43,.2);

}

#contactForm textarea{

    height:170px;
    resize:none;

}

#contactForm button{

    width:100%;
    padding:16px;

    background:#c79a2b;
    color:#fff;

    border:none;
    border-radius:6px;

    font-size:16px;
    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

#contactForm button:hover{

    background:#1f1f1f;

}

#contactForm button:active{

    transform:scale(.98);

}

/*==============================
        Responsive
===============================*/

@media(max-width:768px){

#contact{

    padding:70px 20px;

}

#contact h2{

    font-size:32px;

}

#contactForm{

    padding:25px;

}

#contactForm input,
#contactForm textarea{

    padding:14px;

}

}
/* Reset */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    overflow-x:hidden;
    width:100%;
}

/* Images */
img{
    max-width:100%;
    height:auto;
    display:block;
}

/* Sections */
section{
    width:100%;
    padding:80px 8%;
}

/* Container */
.container{
    width:100%;
    max-width:1400px;
    margin:auto;
}

/* Responsive Text */
h1{
    font-size:clamp(32px,6vw,72px);
}

h2{
    font-size:clamp(26px,4vw,50px);
}

p{
    font-size:clamp(15px,2vw,18px);
    line-height:1.8;
}

/* Loader */
#loader{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:url("loader-bg.jpg") center/cover no-repeat;
    z-index:99999;
}

.loader-content{
    text-align:center;
}

.loader-logo{
    width:180px;
    max-width:70%;
    margin:auto;
}

/* Mobile */
@media (max-width:768px){

    section{
        padding:60px 20px;
    }

    .loader-logo{
        width:130px;
    }

    .loader-title{
        font-size:34px;
        letter-spacing:4px;
    }

    .loading-bar{
        width:180px;
    }

}

/* Small Phones */
@media (max-width:480px){

    .loader-logo{
        width:100px;
    }

    .loader-title{
        font-size:26px;
        letter-spacing:2px;
    }

    .loader-title span{
        font-size:12px;
        letter-spacing:3px;
    }

    .loading-bar{
        width:150px;
    }

}
/* Ultra HD Image Display */
img{
    max-width:100%;
    height:auto;
    display:block;
    object-fit:cover;
    image-rendering:auto;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    transform:translateZ(0);
    will-change:transform;
}
.filter-section {
    background-color: var(--bg-white);
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--border-color);
}
.search-box {
    flex: 1;
    min-width: 280px;
    position: relative;
}
.search-box input {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-size: 1rem;
    font-family: var(--font-family);
}
.search-box input:focus {
    outline: none;
    border-color: var(--primary-color);
}
.filter-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.filter-btn {
    padding: 8px 18px;
    border: 1px solid var(--border-color);
    background-color: var(--bg-light);
    color: var(--text-color);
    font-family: var(--font-family);
    font-weight: 500;
    border-radius: 4px;
    cursor: pointer;
}
.filter-btn:hover,
.filter-btn.active {
    background-color: var(--primary-color);
    color: var(--bg-white);
    border-color: var(--primary-color);
}
/* Left Navbar */
.navbar-left{
    display:flex;
    align-items:center;
    gap:22px;
}

/* Logo */
.left-logo{
    height:70px;
    width:auto;
}

/* Luxury Gold Divider */
.gold-divider{
    width:3px;
    height:55px;
    background:linear-gradient(
        to bottom,
        #fff8dc 0%,
        #f6d365 15%,
        #d4af37 40%,
        #b8860b 60%,
        #d4af37 85%,
        #fff8dc 100%
    );
    border-radius:10px;
    box-shadow:
        0 0 8px rgba(212,175,55,.7),
        0 0 15px rgba(212,175,55,.4);
}

/* Brand */
.brand{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.brand h2{
    margin:0;
    font-size:34px;
    font-weight:300;
    letter-spacing:8px;
    color:#D4AF37;
    font-family:'Cinzel', serif;
}

.brand span{
    margin-top:6px;
    font-size:11px;
    letter-spacing:4px;
    color:#b88a22;
    text-transform:uppercase;
}
/* Right Side Social */
.nav-social{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:25px;
}

.nav-social a{
    text-decoration:none;
    color:#222;
    transition:.3s;
    display:flex;
    align-items:center;
    gap:8px;
}

.nav-social i{
    font-size:18px;
}

.nav-social .phone{
    border-left:1px solid #d4af37;
    padding-left:18px;
    font-size:14px;
    font-weight:500;
    letter-spacing:1px;
}

.nav-social a:hover{
    color:#d4af37;
    transform:translateY(-2px);
}
/* ===========================
   Mobile Navbar
=========================== */

@media (max-width:768px){

    .navbar{
        height:80px;
        padding:0 15px;
    }

    .navbar-left{
        gap:10px;
    }

    .left-logo{
        height:42px;
    }

    .gold-divider{
        height:40px;
    }

    .brand h2{
        font-size:22px;
        letter-spacing:3px;
    }

    .brand span{
        font-size:8px;
        letter-spacing:2px;
    }

    /* Hide desktop button and social icons */
    .consult-btn,
    .nav-social{
        display:none;
    }

    /* Mobile Menu */
    .nav-links{
        position:fixed;
        top:80px;
        left:-100%;
        width:100%;
        height:calc(100vh - 80px);
        background:#fff;

        flex-direction:column;
        justify-content:flex-start;
        align-items:center;

        padding-top:40px;

        transition:.4s;
        gap:25px;
    }

    .nav-links.active{
        left:0;
    }

    .menu-btn{
        display:block;
        font-size:28px;
        cursor:pointer;
    }
}
/*=====================================
        PRODUCTS SECTION
=====================================*/

.products{
    padding:100px 8%;
    background:#f8f8f8;
}

/* Section Title */

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title span{
    color:#D4AF37;
    font-size:15px;
    letter-spacing:4px;
    font-weight:600;
    text-transform:uppercase;
}

.section-title h2{
    font-size:42px;
    color:#222;
    margin:15px 0;
    font-family:'Cinzel',serif;
}

.title-line{
    width:90px;
    height:3px;
    background:#D4AF37;
    margin:auto;
}

/*=====================================
        SEARCH & FILTER
=====================================*/

.filter-section{
    margin-bottom:50px;
}

.search-box{
    display:flex;
    justify-content:center;
    margin-bottom:30px;
}

.search-box input{
    width:420px;
    max-width:100%;
    padding:14px 20px;
    border:1px solid #ddd;
    border-radius:50px;
    font-size:15px;
    outline:none;
    transition:.3s;
}

.search-box input:focus{
    border-color:#D4AF37;
    box-shadow:0 0 10px rgba(212,175,55,.25);
}

.filter-buttons{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}

.filter-btn{
    padding:12px 28px;
    border:none;
    background:#fff;
    color:#333;
    border-radius:30px;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
    border:1px solid #ddd;
}

.filter-btn:hover,
.filter-btn.active{
    background:#D4AF37;
    color:#fff;
}

.product-reference-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin:-20px 0 45px;
}

.view-more-btn{
    padding:12px 24px;
    border:1px solid #D4AF37;
    background:#222;
    color:#fff;
    border-radius:30px;
    cursor:pointer;
    font-size:13px;
    font-weight:600;
    letter-spacing:1px;
    transition:.3s;
}

.view-more-btn:hover{
    background:#D4AF37;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 24px rgba(212,175,55,.25);
}

/*=====================================
        PRODUCT GRID
=====================================*/

.portfolio-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

/* Product Card */

.portfolio-item{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.4s;
}

.portfolio-item:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.portfolio-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.5s;
}

.portfolio-item:hover img{
    transform:scale(1.08);
}

/*=====================================
        OVERLAY
=====================================*/

.overlay{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    padding:25px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.88),
        rgba(0,0,0,.15)
    );

    color:#fff;
    transform:translateY(100%);
    transition:.4s;
}

.portfolio-item:hover .overlay{
    transform:translateY(0);
}

.overlay h3{
    font-size:24px;
    margin-bottom:8px;
    color:#fff;
}

.overlay p{
    color:#D4AF37;
    font-size:14px;
    letter-spacing:1px;
}

/*=====================================
        RESPONSIVE
=====================================*/

@media(max-width:992px){

    .section-title h2{
        font-size:34px;
    }

    .portfolio-item img{
        height:280px;
    }

}

@media(max-width:768px){

    .products{
        padding:80px 20px;
    }

    .search-box input{
        width:100%;
    }

    .portfolio-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .portfolio-item img{
        height:220px;
    }

}

@media(max-width:576px){

    .section-title h2{
        font-size:28px;
    }

    .portfolio-grid{
        grid-template-columns:1fr;
    }

    .portfolio-item img{
        height:260px;
    }

    .filter-buttons{
        gap:10px;
    }

    .filter-btn{
        padding:10px 18px;
        font-size:13px;
    }

    .product-reference-actions{
        flex-direction:column;
        margin-top:-10px;
    }

    .view-more-btn{
        width:100%;
    }

}
html{
    scroll-behavior:smooth;
}

.view-more-btn{
    display:inline-block;
    margin-top:15px;
    padding:10px 24px;
    background:#c8a24d;
    color:#fff;
    text-decoration:none;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    transition:.4s;
}

.view-more-btn:hover{
    background:#000;
    transform:translateY(-3px);
}
.product-details{
    padding:100px 8%;
}

.product-details h2{
    text-align:center;
    margin-bottom:40px;
    font-size:40px;
}

.product-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:20px;
}

.product-gallery img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:12px;
    transition:.4s;
}

.product-gallery img:hover{
    transform:scale(1.05);
}
.product-page{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:80px 8%;
    background:linear-gradient(135deg,#111,#222,#000);
}

.product-box{

    width:100%;
    max-width:1400px;

    display:flex;
    gap:60px;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    border-radius:30px;

    padding:50px;

    transform-style:preserve-3d;

    perspective:1000px;

    transition:.6s;

    box-shadow:
    0 30px 80px rgba(0,0,0,.5);
}

.product-box:hover{

    transform:
    rotateX(5deg)
    rotateY(-5deg)
    translateY(-10px);

}

.product-images{

    flex:1;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:20px;

}

.product-images img{

    width:100%;

    height:260px;

    object-fit:cover;

    border-radius:20px;

    transition:.5s;

    cursor:pointer;

}

.product-images img:hover{

    transform:
    scale(1.08)
    rotateY(15deg);

    box-shadow:0 20px 50px rgba(0,0,0,.4);

}

.product-content{

    flex:1;

    color:white;

}

.product-content h1{

    font-size:48px;

    margin-bottom:20px;

}

.product-content p{

    font-size:18px;

    line-height:1.8;

    color:#ddd;

}

.product-content ul{

    margin:35px 0;

}

.product-content li{

    list-style:none;

    padding:12px 0;

    font-size:18px;

}

.enquiry-btn{

display:inline-block;

padding:18px 45px;

background:#d4af37;

color:#000;

font-weight:700;

text-decoration:none;

border-radius:50px;

transition:.4s;

}

.enquiry-btn:hover{

transform:translateY(-6px);

box-shadow:0 20px 40px rgba(212,175,55,.4);

}
.product-gallery img{
    width:100%;
    height:300px;
    object-fit:cover;
    border-radius:15px;
    cursor:pointer;
    transition:.4s;
}

.product-gallery img:hover{
    transform:scale(1.08);
    box-shadow:0 15px 35px rgba(0,0,0,.35);
}

/* Full Screen Viewer */

.lightbox{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.95);
    justify-content:center;
    align-items:center;
    z-index:9999;
    animation:fadeIn .3s;
}

.lightbox img{
    max-width:90%;
    max-height:90%;
    border-radius:15px;
    animation:zoom .4s;
}

.close-btn{
    position:absolute;
    top:20px;
    right:35px;
    color:#fff;
    font-size:50px;
    cursor:pointer;
}

@keyframes zoom{
    from{
        transform:scale(.6);
        opacity:0;
    }
    to{
        transform:scale(1);
        opacity:1;
    }
}

@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}
.portfolio-item{
    position: relative;
    overflow: hidden;
    border-radius: 15px;
}

.view-more-btn{
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 12px 28px;
    background: #c8a24d;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    border-radius: 30px;
    z-index: 10;
    transition: 0.3s ease;
}

.view-more-btn:hover{
    background: #000;
    transform: translateX(-50%) scale(1.05);
}
/* =========================================
   NAVBAR BRAND AREA
========================================= */

.brand-area {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 18px;
}


/* =========================================
   RAKSHA BANDHAN IMAGE
========================================= */

.raksha-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 58px;
    width: 125px;
    overflow: hidden;
}

.raksha-banner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}


/* =========================================
   GOLD DIVIDER
========================================= */

.brand-divider {
    width: 1px;
    height: 38px;
    background: #c9a646;
}


/* =========================================
   KARA LOGO
========================================= */

.logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo img {
    width: 145px;
    height: auto;
    display: block;
}