/* ===========================
   COLOR SYSTEM
=========================== */

:root{
    --maroon:      #3F0D0C;   /* rich dark primary   */
    --maroon-2:    #4A1210;   /* card background     */
    --maroon-3:    #5A1713;   /* hover/lighter       */
    --gold:        #D9B061;   /* accent / highlight  */
    --gold-soft:   #E6C98F;   /* soft gold           */
    --beige:       #D9C4A9;   /* warm light text     */
    --bone:        #D8D0C5;   /* warm light bg       */
    --sand:        #D9C4A9;   /* beige card bg       */
    --brown:       #8D6F57;   /* muted warm text     */
    --ink:         #3F0D0C;   /* headings on light   */
    --cream:       #F5EDE0;   /* very light warm bg  */
}

/* ===========================
   RESET
=========================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;
    background:var(--maroon);
    overflow-x:hidden;

}

/* ===========================
   HERO
=========================== */

.hero{

    position:relative;

    width:100%;
    height:100vh;

    background:url(images/hero.jpg);

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    display:flex;
    justify-content:center;
    align-items:center;

}

/* Overlay */

.overlay{

    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.78),
        rgba(0,0,0,.45),
        rgba(0,0,0,.72)
    );

}

/* ===========================
   NAVBAR
=========================== */

nav{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    padding:14px 8%;

    display:flex;
    justify-content:space-between;
    align-items:center;

    z-index:1000;

    background:rgba(63,13,12,.55);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(217,192,169,.12);

    transition:padding .4s ease, background .4s ease, box-shadow .4s ease;

}

/* Compact navbar after scrolling */
nav.scrolled{
    padding:10px 8%;
    background:rgba(63,13,12,.95);
    box-shadow:0 10px 40px rgba(0,0,0,.35);
}

.logo{

    color:white;
    font-family:'Bebas Neue';
    font-size:36px;
    letter-spacing:3px;

}
.brand{
    display:flex;
    align-items:center;
    gap:10px;
}

.brand-logo{
    width:40px;
    height:40px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid rgba(217,176,97,.6);
    flex-shrink:0;
}

.brand-text{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1;
}

.logo{
    font-family:'Bebas Neue',sans-serif;
    font-size:32px;
    letter-spacing:2px;
    color:#fff;
    line-height:1;
}

.company-name{
    font-size:11px;
    letter-spacing:6px;
    color:#cfcfcf;
    margin-top:3px;
    white-space:nowrap;
}

nav ul{

    display:flex;
    list-style:none;
    gap:34px;

}

nav ul a{

    color:white;
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    transition:.3s;

}

nav ul a:hover{

    opacity:.6;

}

.quote-btn{

    color:white;
    text-decoration:none;

    padding:10px 24px;

    border:1px solid rgba(255,255,255,.2);

    border-radius:50px;

    backdrop-filter:blur(15px);

    font-size:14px;

}

/* ===========================
   HERO CONTENT
=========================== */

.hero-content{
position:relative;
z-index:5;

width:85%;
max-width:1400px;

display:grid;
grid-template-columns:1fr 700px;

align-items:center;

gap:200px;

margin:auto;

}

.right-content{
    display:flex;
    justify-content:flex-end;
    align-items:flex-end;
    height:100%;
    overflow:hidden;
    padding-right:0;
}

.right-content img{
    width:auto;
    max-width:none;
    height:80vh;
    object-fit:contain;
    object-position:bottom;
    position:relative;
    top:-10px;

}
.right-content::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.08), transparent 70%);
    filter:blur(20px);
    z-index:-1;
}
.subtitle{

    color:#ccc;

    letter-spacing:6px;

    text-transform:uppercase;

    font-size:13px;

}

.hero-content h1{
padding-top:60px;
    margin:30px 0;

    font-family:'Bebas Neue';

    font-size:clamp(5rem,11vw,10rem);

    line-height:.9;

    color:white;

}

.hero-content p{

    color:#ddd;

    max-width:450px;

    font-size:19px;

    line-height:1.8;

}

.hero-btn{

    display:inline-block;

    margin-top:45px;

    color:black;

    background:white;

    text-decoration:none;

    padding:18px 42px;

    border-radius:50px;

    font-weight:600;

    transition:.4s;

}

.hero-btn:hover{

    background:transparent;

    color:white;

    border:1px solid white;

}

/* Scroll */

.scroll{

    position:absolute;

    bottom:30px;

    left:50%;

    transform:translateX(-50%);

    color:white;

    z-index:10;

    letter-spacing:4px;

    animation:float 2s infinite;

}

@keyframes float{

50%{

transform:translate(-50%,10px);

}

}

/* ===========================
   MOBILE
=========================== */

/* Hamburger Button */
.hamburger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    width:44px;
    height:44px;
    background:transparent;
    border:1px solid rgba(255,255,255,.3);
    border-radius:8px;
    cursor:pointer;
    z-index:110;
    padding:10px;
}

.hamburger span{
    display:block;
    width:100%;
    height:2px;
    background:#fff;
    border-radius:2px;
    transition:.3s;
}

/* Mobile Nav Overlay */
.mobile-nav{
    position:fixed;
    inset:0;
    width:100%;
    height:100vh;
    background:rgba(63,13,12,.98);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:30px;
    z-index:100;
    opacity:0;
    visibility:hidden;
    transform:translateX(100%);
    transition:.45s ease;
}

.mobile-nav.open{
    opacity:1;
    visibility:visible;
    transform:translateX(0);
}

.mobile-nav a{
    color:#fff;
    text-decoration:none;
    font-family:'Bebas Neue';
    font-size:34px;
    letter-spacing:3px;
    transition:.3s;
}

.mobile-nav a:hover{
    color:var(--gold);
    letter-spacing:6px;
}

.mobile-nav .mobile-quote{
    margin-top:10px;
    font-family:'Inter';
    font-size:15px;
    letter-spacing:1px;
    color:var(--maroon);
    background:var(--gold);
    padding:14px 40px;
    border-radius:50px;
    font-weight:700;
}

@media(max-width:900px){

nav ul{

display:none;

}

.quote-btn{

display:none;

}

.hamburger{

display:flex;

}

/* Mobile: hide hero image, center text as single column */
.hero-content{

grid-template-columns:1fr;

gap:0;

width:92%;

text-align:center;

justify-items:center;

}

.right-content{

display:none;

}

.hero-content h1{

font-size:clamp(3.2rem,13vw,4.8rem);

padding-top:30px;

margin:15px 0;

text-align:center;

}

.hero-content p{

font-size:16px;

line-height:1.7;

max-width:340px;

margin:0 auto;

text-align:center;

}

.hero-btn{

padding:14px 30px;

font-size:14px;

margin-top:25px;

white-space:nowrap;

}

}

/* Small phones — single column centered, image hidden */
@media(max-width:520px){

.hero-content{

grid-template-columns:1fr;

gap:0;

padding:0 5%;

text-align:center;

justify-items:center;

}

.hero-content h1{

font-size:clamp(2.8rem,13vw,3.8rem);

padding-top:20px;

margin:12px 0;

text-align:center;

}

.hero-content p{

font-size:15px;

line-height:1.7;

max-width:310px;

margin:0 auto;

text-align:center;

}

.hero-btn{

padding:13px 28px;

font-size:14px;

margin-top:22px;

white-space:nowrap;

}

nav{

padding:14px 5%;

}

.logo{

font-size:24px;

}

.brand-logo{

width:32px;
height:32px;

}

.company-name{

font-size:8px;

letter-spacing:4px;

}

.scroll{

font-size:12px;

bottom:15px;

}

}
/*======================================
STORY
======================================*/

.story{

    background:var(--maroon);

}

.story-screen{

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

}

.story-year{

    color:var(--gold);

    font-family:'Bebas Neue';

    font-size:clamp(8rem,22vw,20rem);

    letter-spacing:10px;

    text-shadow:0 20px 60px rgba(0,0,0,.35);

}

.story-title{

    color:var(--beige);

    text-align:center;

    font-family:'Bebas Neue';

    line-height:.9;

    font-size:clamp(5rem,12vw,12rem);

}

/* Story content wrapper (fills the empty pages) */

.story-content{

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 8%;
    max-width:900px;
    margin:auto;

}

.story-label{

    color:var(--gold);
    letter-spacing:8px;
    font-size:clamp(11px,1.4vw,15px);
    font-weight:600;
    text-transform:uppercase;
    margin-bottom:25px;

}

.story-desc{

    color:var(--beige);
    font-size:clamp(15px,1.8vw,20px);
    line-height:1.9;
    max-width:640px;
    margin-top:40px;
    opacity:.9;

}

/* Responsive story pages */

@media(max-width:900px){

    .story-label{

        letter-spacing:5px;
        margin-bottom:18px;

    }

    .story-desc{

        margin-top:28px;
        line-height:1.8;

    }

}

@media(max-width:520px){

    .story-content{

        padding:40px 7%;

    }

    .story-desc{

        font-size:15px;
        margin-top:22px;

    }

    .story-label{

        letter-spacing:4px;
        font-size:11px;

    }

}

/*======================================
ABOUT
======================================*/

.about{

    background:var(--cream);

    color:var(--ink);

    padding:120px 8%;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-left span{

    letter-spacing:5px;

    color:var(--gold);

    font-size:13px;

    font-weight:600;

}

.about-left h2{

    margin-top:20px;

    font-family:'Bebas Neue';

    font-size:clamp(5rem,9vw,8rem);

    line-height:.9;

}

.about-right p{

    font-size:22px;

    line-height:2;

    color:var(--brown);

}

/*======================================
OUR FOUNDER / OWNER
======================================*/

.owner{

    background:var(--cream);

    padding:40px 8% 120px;

}

.owner-card{

    display:grid;

    grid-template-columns:1fr 1.4fr;

    gap:80px;

    align-items:center;

    max-width:1200px;

    margin:auto;

}

.owner-image{

    display:flex;

    justify-content:center;

}

.owner-image img{

    width:100%;

    max-width:400px;

    border-radius:28px;

    object-fit:contain;

    box-shadow:0 30px 70px rgba(63,13,12,.25);

}

.owner-text span{

    letter-spacing:5px;

    color:var(--gold);

    font-size:13px;

    font-weight:600;

}

.owner-text h2{

    margin:18px 0 28px;

    font-family:'Bebas Neue';

    font-size:clamp(3.5rem,7vw,6rem);

    line-height:.9;

    color:var(--ink);

}

.owner-text p{

    font-size:20px;

    line-height:1.9;

    color:var(--brown);

    margin-bottom:20px;

}

.owner-sign{

    margin-top:30px;

    font-family:'Bebas Neue';

    font-size:32px;

    letter-spacing:2px;

    color:var(--gold);

}

@media(max-width:900px){

.owner{

padding:40px 25px 80px;

}

.owner-card{

grid-template-columns:1fr;

gap:45px;

text-align:center;

}

.owner-image img{

max-width:280px;

}

.owner-text p{

font-size:18px;

text-align:center;

}

.owner-sign{

text-align:center;

}

}

/*======================================
STATS
======================================*/

.stats{

    background:var(--cream);

    padding:0 8% 120px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:50px;

}

.stat{

    border-top:2px solid var(--gold);

    padding-top:25px;

}

.stat h2{

    font-family:'Bebas Neue';

    font-size:90px;

    color:var(--ink);

}

.stat p{

    color:var(--brown);

    letter-spacing:1px;

    font-weight:600;

}

/*======================================
RESPONSIVE
======================================*/

@media(max-width:900px){

.about{

grid-template-columns:1fr;

padding:80px 25px;

}

.about-right p{

font-size:18px;

}

.stats{

grid-template-columns:1fr;

padding:0 25px 80px;

}

.story-title{

font-size:80px;

}

}/*==========================
SERVICES
===========================*/

.services{

    background:var(--maroon);

    color:var(--beige);

    padding:120px 8%;

}

.services-heading{

    text-align:center;

    margin-bottom:120px;

}

.services-heading span{

    color:var(--gold);

    letter-spacing:6px;

    font-size:13px;

    font-weight:600;

}

.services-heading h2{

    font-family:'Bebas Neue';

    font-size:70px;

    line-height:1;

    margin-top:20px;

}

/*----------------------*/

.service-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:80px;

    margin-bottom:140px;

}

.reverse{

    flex-direction:row-reverse;

}

/*----------------------*/

.service-text{

    flex:1;

    position:relative;

}

.number{

    font-size:120px;

    color:rgba(217,176,97,.18);

    font-family:'Bebas Neue';

    position:absolute;

    top:-70px;

    left:-10px;

    z-index:0;

}

.service-text h3{

    position:relative;

    font-family:'Bebas Neue';

    font-size:64px;

    z-index:2;

    color:var(--cream);

}

.service-text p{

    color:var(--beige);

    margin:25px 0;

    line-height:1.9;

    max-width:430px;

    font-size:18px;

}

.service-text a{

    color:var(--gold);

    text-decoration:none;

    letter-spacing:2px;

    transition:.4s;

    font-weight:600;

}

.service-text a:hover{

    letter-spacing:6px;

    color:var(--gold-soft);

}

/*----------------------*/

.service-image{

    flex:1;

    overflow:hidden;

    border-radius:25px;

}

.service-image img{

    width:100%;

    height:520px;

    object-fit:cover;

    transition:.6s;

}

.service-item:hover img{

    transform:scale(1.06);

}


/*==========================
Responsive
===========================*/

@media(max-width:900px){

.service-item{

flex-direction:column;

}

.reverse{

flex-direction:column;

}

.services-heading h2{

font-size:50px;

}

.service-text h3{

font-size:45px;

}

.number{

font-size:80px;

}

.service-image img{

height:300px;

}

}
/*==========================
MORE SERVICES
===========================*/

.more-services{

    background:var(--maroon);
    color:var(--cream);
    padding:120px 0;

    overflow:hidden;
text-align:center;
}

.more-heading{

    width:90%;
    max-width:1400px;

    margin:auto;
    margin-bottom:70px;

    padding:0 5%;
    text-align:center;

}

.more-heading span{

    color:var(--gold);
    letter-spacing:6px;
    font-size:13px;
    font-weight:600;

}

.more-heading h2{

    font-family:'Bebas Neue';
    font-size:85px;
    line-height:.95;
    margin:20px 0;
text-align:center;
}

.more-heading p{

    color:var(--beige);
    max-width:500px;
    line-height:1.8;
text-align:center;
    margin:auto;
}

/*====================*/

.services-slider{

    overflow:hidden;

    padding:20px 5%;

    cursor:grab;

    user-select:none;

}

/*====================*/

.services-track{

    display:flex;

    gap:35px;

    width:max-content;

    flex-shrink:0;

    will-change:transform;

}

/*====================*/

.service-card{

    min-width:350px;

    background:var(--maroon-2);

    border:1px solid rgba(217,192,169,.12);

    border-radius:22px;

    overflow:hidden;

    scroll-snap-align:start;

    transition:.5s;
     flex-shrink:0;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(217,176,97,.4);

    box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.service-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.6s;

}

.service-card:hover img{

    transform:scale(1.08);

}

.service-card h3{

    font-family:'Bebas Neue';

    font-size:38px;

    margin:25px 25px 10px;

}

.service-card p{

    color:var(--beige);

    line-height:1.7;

    margin:0 25px 25px;

}
.more-services-heading::after{
    content: "";
    display: block;
    width: 100px;
    height: 2px;
    background: var(--gold);
    margin: 40px auto 0;
}

@media(max-width:768px){

.more-heading h2{

font-size:60px;

}

.service-card{

min-width:290px;

}

}
/* ===========================
   WHY CHOOSE BHARAT
=========================== */

.why-bharat{

    background:var(--bone);
    color:var(--ink);
    padding:140px 8%;

}

.why-heading{

    max-width:1000px;
    margin:auto;
    text-align:center;
    margin-bottom:90px;

}

.why-heading span{

    display:block;
    letter-spacing:8px;
    color:var(--gold);
    font-size:13px;
    margin-bottom:25px;
    font-weight:600;

}

.why-heading h2{

    font-family:'Bebas Neue',sans-serif;
    font-size:clamp(4rem,8vw,7rem);
    line-height:.9;
    margin-bottom:35px;

}

.why-heading p{

    max-width:760px;
    margin:auto;
    color:var(--brown);
    font-size:21px;
    line-height:1.8;

}

/* GRID */

.why-grid{

    max-width:1400px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.why-card{

    background:var(--cream);
    border:1px solid rgba(217,176,97,.4);

    padding:45px;

    transition:.45s;

}

.why-card:hover{

    transform:translateY(-12px);

    border-color:var(--gold);

    box-shadow:0 25px 60px rgba(63,13,12,.12);

}

.number{

    font-family:'Bebas Neue';
    font-size:70px;

    color:var(--gold);

    margin-bottom:20px;

}

.why-card h3{

    font-family:'Bebas Neue';
    font-size:38px;
    line-height:1;

    margin-bottom:20px;

}

.why-card p{

    color:var(--brown);
    line-height:1.8;

}

/* Reveal Animation */

.reveal{

    opacity:0;
    transform:translateY(80px);
    transition:1s ease;

}

.reveal.active{

    opacity:1;
    transform:translateY(0);

}

/* Responsive */

@media(max-width:1000px){

.why-grid{

grid-template-columns:1fr;

}

.why-heading h2{

font-size:70px;

}

}

@media(max-width:700px){

.why-heading h2{

font-size:52px;

}

.why-heading p{

font-size:17px;

}

.why-card{

padding:35px;

}

}
/*==============================
        GALLERY SECTION
==============================*/

.gallery-section{

    padding:110px 8%;
    background:#4A1210;

}

.gallery-heading{

    text-align:center;
    margin-bottom:70px;

}

.gallery-subtitle{

    color:#fff;
    letter-spacing:4px;
    text-transform:uppercase;
    font-weight:600;
    margin-bottom:12px;

}

.gallery-heading h2{

    font-size:52px;
    color:#fff;
    margin-bottom:20px;

}

.gallery-heading p{

    max-width:720px;
    margin:auto;
    color:var(--gold);
    line-height:1.8;

}

/*========================*/

.gallery-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

}

/*========================*/

.gallery-item{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    cursor:pointer;

    height:300px;

    box-shadow:0 18px 45px rgba(0,0,0,.15);

}

.gallery-item.large{

    grid-column:span 2;
    height:420px;

}

.gallery-item img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.7s;

}

/*========================*/

.gallery-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,
        rgba(0,0,0,.75)

    );

    display:flex;

    align-items:flex-end;

    padding:25px;

}

.gallery-overlay h3{

    color:white;

    font-size:24px;

}

/*========================*/

.gallery-item:hover img{

    transform:scale(1.12);

}

.gallery-item:hover{

    transform:translateY(-8px);

    transition:.4s;

}

/*========================*/

@media(max-width:900px){

.gallery-grid{

grid-template-columns:1fr;

}

.gallery-item.large{

grid-column:span 1;

height:300px;

}

}
.machines{

    background:var(--cream);

    color:var(--ink);

    padding:140px 8%;

    scroll-margin-top:90px;

}

.machine-heading{

    text-align:center;

    margin-bottom:120px;

}

.machine-heading span{

    letter-spacing:6px;

    font-size:14px;

    color:var(--gold);

    font-weight:600;

}

.machine-heading h2{

    font-family:'Bebas Neue';

    font-size:90px;

    line-height:.9;

    margin:25px 0;

}

.machine-heading p{

    max-width:700px;

    margin:auto;

    color:var(--brown);

    font-size:20px;

    line-height:1.8;

}

.machine{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    margin-bottom:170px;

}

.machine.reverse{

    direction:rtl;

}

.machine.reverse *{

    direction:ltr;

}

.machine-image{

    position:relative;

}

.machine-image img{

    width:100%;

    border-radius:30px;

    transition:.6s;

}

.machine-image:hover img{

    transform:scale(1.05);

}

.tag{

    position:absolute;

    top:25px;

    right:25px;

    background:var(--gold);

    color:var(--maroon);

    padding:12px 28px;

    border-radius:40px;

    font-weight:700;

    letter-spacing:1px;

}

.machine-content span{

    font-family:'Bebas Neue';

    font-size:110px;

    color:rgba(217,176,97,.35);

}

.machine-content h3{

    font-size:48px;

    margin-bottom:25px;

    color:var(--ink);

}

.machine-content p{

    color:var(--brown);

    line-height:2;

    margin-bottom:35px;

}

.machine-content ul{

    list-style:none;

}

.machine-content li{

    margin-bottom:18px;

    font-weight:600;

    color:var(--maroon);

}

.machine-content li::before{

    content:"✓ ";

    color:var(--gold);

    font-weight:900;

}

.reveal{

    opacity:0;

    transform:translateY(100px);

    transition:1s;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}

@media(max-width:900px){

.machine{

grid-template-columns:1fr;

gap:50px;

}

.machine.reverse{

direction:ltr;

}

.machine-heading h2{

font-size:60px;

}

.machine-content h3{

font-size:34px;

}

.machine-content span{

font-size:80px;

}

}
/*=========================
CONTACT
=========================*/
/*=========================
CONTACT SECTION
==========================*/

.contact-section{
    width:100%;
    background:var(--maroon);
    color:var(--beige);
    padding:120px 6%;
    position:relative;
    overflow:hidden;
}

.contact-container{

    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:70px;

    min-height:760px;

}

/*=====================
LEFT SIDE
======================*/

.contact-left{

    width:62%;
    height:760px;

    border-radius:22px;

    overflow:hidden;

    position:relative;

    border:1px solid rgba(255,255,255,.08);

}

/*=====================
MAP
======================*/

.map-bg{

    position:absolute;

    inset:0;

}

.map-bg iframe{

    width:100%;

    height:100%;

    border:none;

    filter:grayscale(100%)
           brightness(.45)
           contrast(1.1);

    transform:scale(1.15);

}

.map-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

    to top,

    rgba(17,17,17,.96),

    rgba(17,17,17,.55),

    rgba(17,17,17,.30)

    );

}

/*======================
CONTENT
=======================*/


.contact-content{

    position:absolute;

    left:70px;

    bottom:80px;

    z-index:5;

    max-width:520px;

}

.small-title{

    display:block;

    letter-spacing:5px;

    font-size:13px;

    color:var(--gold);

    margin-bottom:18px;

    font-weight:600;

}

.map-link{

    display:inline-flex;

    align-items:center;

    gap:12px;

    color:var(--cream);

    text-decoration:none;

    margin-bottom:45px;

    transition:.4s;

}

.map-link:hover{

    letter-spacing:2px;

}

.contact-content h1{

    font-size:95px;

    line-height:1;

    font-weight:900;

    margin-bottom:30px;

    text-transform:uppercase;

    color:var(--cream);

}

.contact-content p{

    color:var(--beige);

    font-size:18px;

    line-height:1.9;

    width:470px;

    opacity:.9;

}

/*=====================
FORM CARD
======================*/

.contact-form{

    width:470px;

    background:rgba(74,18,16,.8);

    backdrop-filter:blur(18px);

    border-radius:22px;

    padding:50px;

    border:1px solid rgba(217,192,169,.18);

    position:absolute;

    right:0;

    top:35px;

    z-index:20;

    box-shadow:

    0 30px 90px rgba(0,0,0,.45);

}

.contact-form h4{

    font-size:13px;

    letter-spacing:4px;

    color:var(--gold);

    margin-bottom:45px;

    font-weight:600;

}

/*====================
INPUTS
=====================*/

.contact-form input,

.contact-form textarea{

    width:100%;

    background:transparent;

    border:none;

    border-bottom:1px solid rgba(217,192,169,.25);

    padding:18px 0;

    color:var(--cream);

    font-size:17px;

    outline:none;

    margin-bottom:28px;

    transition:.35s;

}

.contact-form textarea{

    resize:none;

    height:130px;

}

.contact-form input:focus,

.contact-form textarea:focus{

    border-color:var(--gold);

}

/*====================
PLACEHOLDER
=====================*/

.contact-form input::placeholder,

.contact-form textarea::placeholder{

    color:var(--beige);

    opacity:.7;

}

/*====================
BOTTOM
=====================*/

.form-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:15px;

}

.upload-btn{

    color:var(--beige);

    cursor:pointer;

    display:flex;

    align-items:center;

    gap:12px;

    transition:.35s;

}

.upload-btn:hover{

    color:var(--gold);

}

/*====================
BUTTON
=====================*/

.contact-form button{

    background:var(--gold);

    color:var(--maroon);

    border:none;

    padding:18px 38px;

    border-radius:10px;

    cursor:pointer;

    font-size:15px;

    font-weight:700;

    letter-spacing:1px;

    transition:.4s;

}

.contact-form button:hover{

    background:var(--gold-soft);

    color:var(--maroon);

    transform:translateY(-4px);

    box-shadow:0 18px 40px rgba(217,176,97,.35);

}
/*=========================================
CONTACT INFO
=========================================*/

.contact-info{

    margin-top:90px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

    padding:70px 0;

    border-top:1px solid rgba(217,192,169,.15);

    border-bottom:1px solid rgba(217,192,169,.15);

}

.contact-info div{

    transition:.4s ease;

}

.contact-info div:hover{

    transform:translateY(-8px);

}

.contact-info h5{

    font-size:14px;

    letter-spacing:4px;

    color:var(--gold);

    margin-bottom:25px;

    text-transform:uppercase;

}

.contact-info p{

    color:var(--beige);

    line-height:2;

    font-size:17px;

}

.contact-info a{

    color:var(--cream);

    text-decoration:none;

}

/*=========================================
SOCIAL ICONS
=========================================*/

.socials{

    display:flex;

    gap:18px;

    margin-top:20px;

}

.socials a{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    color:var(--gold);

    font-size:20px;

    text-decoration:none;

    border:1px solid rgba(217,176,97,.3);

    transition:.35s;

}

.socials a img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
    display:block;
}

.socials a:hover{
    background:var(--gold);
    color:var(--maroon);
    transform:translateY(-6px);
}


/*=========================================
BOTTOM MAP
=========================================*/

.bottom-map{

    margin-top:100px;

    border-radius:28px;

    overflow:hidden;

    border:1px solid rgba(217,192,169,.15);

}

.bottom-map iframe{

    width:100%;

    height:600px;

    border:none;

    filter:grayscale(100%);

    transition:.6s;

}

.bottom-map:hover iframe{

    filter:grayscale(0%);

    transform:scale(1.02);

}

/*=========================================
SECTION ANIMATION
=========================================*/

.contact-left,
.contact-form,
.contact-info,
.bottom-map{

    opacity:0;

    transform:translateY(60px);

    animation:fadeUp .9s ease forwards;

}

.contact-form{

    animation-delay:.2s;

}

.contact-info{

    animation-delay:.35s;

}

.bottom-map{

    animation-delay:.5s;

}

@keyframes fadeUp{

    from{

        opacity:0;
        transform:translateY(60px);

    }

    to{

        opacity:1;
        transform:translateY(0);

    }

}

/*=========================================
SCROLLBAR (Optional)
=========================================*/

.contact-form textarea::-webkit-scrollbar{

    width:6px;

}

.contact-form textarea::-webkit-scrollbar-thumb{

    background:#666;

    border-radius:20px;

}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:1200px){

.contact-container{

    flex-direction:column;

}

.contact-left{

    width:100%;
    height:650px;

}

.contact-form{

    position:relative;

    width:100%;

    top:0;
    right:0;

}

}

@media(max-width:768px){

.contact-section{

    padding:80px 20px;

}

.contact-left{

    height:500px;

}

.contact-content{

    left:30px;
    bottom:40px;

}

.contact-content h1{

    font-size:56px;

}

.contact-content p{

    width:100%;

    font-size:16px;

}

.contact-form{

    position:relative;

    width:100%;

    right:0;

    top:0;

    transform:none;

    z-index:20;

background:rgba(63,13,12,.92);

    backdrop-filter:blur(30px);

    border:1px solid rgba(217,192,169,.18);

    border-radius:26px;

    padding:40px;

    box-shadow:
        0 40px 100px rgba(0,0,0,.55);

    transition:.45s ease;

}

.contact-info{

    grid-template-columns:1fr;

    gap:45px;

}

.bottom-map iframe{

    height:350px;

}

.form-bottom{

    flex-direction:column;

    gap:20px;

    align-items:flex-start;

}

.contact-form button{

    width:100%;

}

}

@media(max-width:480px){

.contact-content h1{

    font-size:42px;

}

.contact-content{

    left:25px;
    right:25px;

}

.small-title{

    font-size:11px;

}

.map-link{

    font-size:14px;

}

.contact-form{

    padding:25px;

    transform:none;

}
.contact-section::before{

content:"";

position:absolute;

inset:0;

background-image:

linear-gradient(rgba(217,192,169,.03) 1px, transparent 1px),

linear-gradient(90deg, rgba(217,192,169,.03) 1px, transparent 1px);

background-size:80px 80px;

opacity:.35;

pointer-events:none;

}
.contact-section::after{

content:none;

}
.contact-form input,
.contact-form textarea{

background:transparent;

border:none;

border-bottom:1px solid rgba(217,192,169,.18);

transition:.4s;

}

.contact-form input:focus,
.contact-form textarea:focus{

border-bottom:1px solid var(--gold);

padding-left:12px;

}
.contact-form button{

width:100%;

height:62px;

border-radius:60px;

font-size:15px;

letter-spacing:2px;

background:var(--gold);

color:var(--maroon);

transition:.45s;

}

.contact-form button:hover{

background:var(--gold-soft);

color:var(--maroon);

transform:scale(1.04);

}
.map-bg iframe{

transition:8s ease;

}

.contact-left:hover iframe{

transform:scale(1.22);

}
.contact-content h1{

font-size:clamp(40px,11vw,56px);

font-family:'Bebas Neue';

line-height:.95;

letter-spacing:1px;

}
.contact-left{

animation:leftReveal 1s ease forwards;

}

.contact-form{

animation:rightReveal 1s ease forwards;

}

@keyframes leftReveal{

from{

opacity:0;

transform:translateX(-80px);

}

to{

opacity:1;

transform:none;

}

}

@keyframes rightReveal{

from{

opacity:0;

transform:translateX(80px);

}

to{

opacity:1;

transform:none;

}

}
.socials{

    flex-wrap:wrap;

}

}
/* Very small phones — contact fixes */
@media(max-width:400px){

.contact-section{

    padding:60px 15px;

}

.contact-container{

    min-height:auto;

}

.contact-left{

    height:420px;

}

.contact-content{

    left:20px;
    right:20px;
    bottom:25px;

}

.contact-content h1{

    font-size:38px;

}

.contact-content p{

    font-size:15px;

}

.contact-form{

    padding:22px 20px;

}

.contact-form h4{

    margin-bottom:30px;

}

.contact-info{

    padding:50px 0;
    gap:35px;

}

.contact-section::after{

    font-size:13vw;
    letter-spacing:8px;

}

.socials{

    gap:14px;

}

.socials a{

    width:46px;
    height:46px;
    font-size:18px;

}

}
/*==================================
GOOGLE REVIEWS
==================================*/

.reviews-section{

    position:relative;

    background:var(--maroon-2);

    color:var(--beige);

    padding:150px 8%;

    overflow:hidden;

}

/*========================
HEADING
========================*/

.reviews-heading{

    text-align:center;

    max-width:850px;

    margin:0 auto 100px;

}

.section-tag{

    color:var(--gold);

    font-size:13px;

    letter-spacing:6px;

    text-transform:uppercase;

    font-weight:600;

}

.reviews-heading h2{

    font-family:'Bebas Neue',sans-serif;

    font-size:clamp(70px,9vw,150px);

    line-height:.9;

    margin:30px 0;

    color:var(--cream);

}

.reviews-heading p{

    color:var(--beige);

    font-size:18px;

    line-height:1.9;

}

/*========================
MAIN WRAPPER
========================*/

.reviews-wrapper{

    display:flex;

    gap:70px;

    align-items:flex-start;

}

/*========================
LEFT PANEL
========================*/

.rating-panel{

    width:340px;

    flex-shrink:0;

    position:sticky;

    top:120px;

    background:rgba(63,13,12,.6);

    backdrop-filter:blur(20px);

    border:1px solid rgba(217,192,169,.15);

    border-radius:28px;

    padding:45px;

}

.google-logo{

    width:55px;

    margin-bottom:35px;

}

.rating-number{

    font-size:90px;

    font-weight:700;

    margin-bottom:15px;

    color:var(--gold);

}

.rating-stars{

    color:var(--gold);

    font-size:30px;

    letter-spacing:6px;

    margin-bottom:25px;

}

.rating-panel p{

    color:var(--beige);

    line-height:1.8;

}

.rating-panel a{

    display:inline-block;

    margin-top:35px;

    color:var(--gold);

    text-decoration:none;

    border-bottom:1px solid rgba(217,176,97,.5);

    padding-bottom:6px;

    transition:.35s;

}

.rating-panel a:hover{

    letter-spacing:2px;

}

/*========================
RIGHT SLIDER
========================*/

.reviews-slider{

    flex:1;

    overflow:hidden;

    position:relative;

}

/* Fade Effect */

.reviews-slider::before,
.reviews-slider::after{

    content:"";

    position:absolute;

    top:0;

    width:120px;

    height:100%;

    z-index:5;

}

.reviews-slider::before{

    left:0;

    background:linear-gradient(to right,var(--maroon-2),transparent);

}

.reviews-slider::after{

    right:0;

    background:linear-gradient(to left,var(--maroon-2),transparent);

}

/*========================
TRACK
========================*/

.slider-track{

    display:flex;

    gap:30px;

    width:max-content;

}

/*========================
CARD
========================*/

.review-card{

    width:380px;

    min-height:260px;

    background:var(--maroon);

    border:1px solid rgba(217,192,169,.12);

    border-radius:25px;

    padding:40px;

    transition:.4s;

    flex-shrink:0;

}

.review-card:hover{

    transform:translateY(-12px);

    border-color:rgba(217,176,97,.4);

    box-shadow:

    0 20px 60px rgba(0,0,0,.45);

}

.review-top{

    color:var(--gold);

    font-size:22px;

    margin-bottom:30px;

}

.review-card p{

    color:var(--beige);

    line-height:1.9;

    margin-bottom:35px;

}

.review-card h4{

    font-size:18px;

    font-weight:600;

    color:var(--cream);

}

/*========================
RESPONSIVE
========================*/

@media(max-width:1200px){

.reviews-wrapper{

flex-direction:column;

}

.rating-panel{

position:relative;

top:0;

width:100%;

}

}

@media(max-width:768px){

.reviews-section{

padding:90px 20px;

}

.review-card{

width:320px;

padding:30px;

}

.reviews-heading h2{

font-size:65px;

}

.rating-number{

font-size:70px;

}

.rating-stars{

font-size:24px;

}

}
/*=========================================
CARD REVEAL
=========================================*/

.review-card{

opacity:0;

transform:translateY(80px);

transition:.8s ease;

}

.review-card.show{

opacity:1;

transform:translateY(0);

}

/*=========================================
SLIDER
=========================================*/

.slider-track{

will-change:transform;

user-select:none;

cursor:grab;

}

.slider-track:active{

cursor:grabbing;

}
/*==============================
RATING PANEL BUTTONS
==============================*/

.rating-panel{
    text-align:center;
}

/* View Reviews Button */

.rating-panel a{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    margin:35px auto 0;
}

/* Divider */

.rating-divider{

    width:100%;
    height:1px;

    border:none;

    background:rgba(217,192,169,.15);

    margin:35px 0;

}

/* Rate Us Section */

.rate-us{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;
    

}

.rate-title{

    color:var(--beige);

    font-size:16px;

    margin-bottom:18px;

    font-weight:500;

}

/* Google Button */

.rate-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    width:auto;

    padding:16px 30px;

    margin:0 auto;

    background:var(--gold);

    color:var(--maroon) !important;

    text-decoration:none;

    font-weight:700;

    border-radius:60px;

    transition:.35s;

    box-shadow:0 10px 30px rgba(217,176,97,.25);

}

.rate-btn:hover{

    transform:translateY(-4px);

    background:var(--gold-soft);

    color:var(--maroon) !important;

    box-shadow:0 20px 40px rgba(217,176,97,.35);

}

.rate-btn:active{

    transform:scale(.98);

}
/*=========================================
PREMIUM INTRO SCREEN
=========================================*/

#intro{

    position:fixed;
    inset:0;

    width:100%;
    height:100vh;

    background:#ffffff;

    display:flex;
    justify-content:center;
    align-items:center;

    z-index:999999;

    overflow:hidden;

transition:
transform .5s ease,
opacity .5s ease;

}

/*========================*/

.intro-content{

    text-align:center;

    user-select:none;

}

/*========================*/

#helloText{

font-family:'Bebas Neue',sans-serif;
font-size:clamp(42px,5vw,72px);
font-weight:700;
letter-spacing:2px;
line-height:1;
transition:.25s ease;

}

/*========================*/

#welcomeText{

    margin-top:18px;

    font-family:'Inter',sans-serif;
font-size:clamp(14px,1.2vw,18px);
letter-spacing:4px;
font-weight:500;

    text-transform:uppercase;

    color:#555;

    transition:.45s ease;

}

/*========================
Hide Animation
========================*/

.hide-intro{

transform:translateY(-100%);
opacity:0;
pointer-events:none;

}

/*========================
Soft Background Pattern
========================*/

#intro::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px),

    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px);

  background-size:120px 120px;
opacity:.15;


}

/*========================
Glow
========================*/

#intro::after{

    content:"";

    position:absolute;
width:280px;
height:280px;

    border-radius:50%;

    background:radial-gradient(circle,
    rgba(0,0,0,.05),
    transparent 70%);

    filter:blur(25px);
opacity:.35;

}

/*========================
Text Animation
========================*/

#helloText,
#welcomeText{

    opacity:1;

    transform:translateY(0);

}

/*========================
Responsive
========================*/

@media(max-width:768px){

#helloText{

font-size:40px;

letter-spacing:2px;

}

#welcomeText{

font-size:14px;

letter-spacing:5px;

}

}
#helloText{

text-transform:uppercase;
text-shadow:0 8px 20px rgba(0,0,0,.08);

}

.intro-content{

animation:zoomIn .5s ease;

}

@keyframes zoomIn{

from{

opacity:0;
transform:scale(.95);

}

to{

opacity:1;
transform:scale(1);

}

}
/*=========================================
FOOTER
=========================================*/

.site-footer{
    background:var(--maroon);
    color:var(--beige);
    padding:40px 8%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    border-top:1px solid rgba(217,176,97,.25);
}

.site-footer p{
    font-size:14px;
    letter-spacing:1px;
    color:var(--beige);
}

.footer-links{
    display:flex;
    gap:30px;
}

.footer-links a{
    color:var(--gold);
    text-decoration:none;
    font-size:14px;
    letter-spacing:1px;
    transition:.3s;
}

.footer-links a:hover{
    color:var(--gold-soft);
    letter-spacing:2px;
}

@media(max-width:600px){
    .site-footer{
        flex-direction:column;
        text-align:center;
    }
    .footer-links{
        flex-wrap:wrap;
        justify-content:center;
    }
}
/*===================================
        GALLERY LIGHTBOX
====================================*/

.lightbox{

    position:fixed;

    inset:0;

    width:100%;
    height:100vh;

    background:rgba(0,0,0,.93);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.4s;

    z-index:999999;

}

.lightbox.active{

    opacity:1;

    visibility:visible;

}

.lightbox img{

    max-width:88%;

    max-height:88vh;

    border-radius:18px;

    box-shadow:0 20px 70px rgba(0,0,0,.5);

    animation:zoom .35s ease;

}

@keyframes zoom{

    from{

        transform:scale(.8);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

/*================*/

.close-lightbox{

    position:absolute;

    top:30px;

    right:45px;

    font-size:55px;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.close-lightbox:hover{

    transform:rotate(90deg);

    color:#D9B061;

}

/*================*/

.lightbox-btn{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    cursor:pointer;

    font-size:30px;

    background:rgba(255,255,255,.15);

    color:#fff;

    backdrop-filter:blur(8px);

    transition:.3s;

}

.lightbox-btn:hover{

    background:#D9B061;

    color:#111;

}

.prev{

    left:40px;

}

.next{

    right:40px;

}

/*================*/

body.lightbox-open{

    overflow:hidden;

}

@media(max-width:768px){

.lightbox img{

max-width:95%;

}

.prev{

left:15px;

}

.next{

right:15px;

}

.close-lightbox{

right:20px;

top:15px;

font-size:45px;

}

}