/*==============================
Google Fonts
==============================*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==============================
CSS Variables
==============================*/

:root{

    --primary:#111827;
    --accent:#D4AF37;
    --background:#FAFAFA;
    --white:#FFFFFF;
    --heading:#111827;
    --text:#4B5563;
    --border:#E5E7EB;

    --shadow:0 12px 35px rgba(17,24,39,.08);

    --radius:16px;

    --transition:.35s ease;

    --container:1200px;

}

/*==============================
Reset
==============================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;
    background:var(--background);
    color:var(--text);
    line-height:1.8;
    overflow-x:hidden;

}

img{

    width:100%;
    display:block;

}

a{

    text-decoration:none;

}

ul{

    list-style:none;

}

input,
textarea,
select,
button{

    font-family:inherit;

}

section{

    padding:100px 0;

}

/*==============================
Reusable Classes
==============================*/

.container{

    width:min(92%,var(--container));
    margin:auto;

}

.section-tag{

    display:inline-block;
    color:var(--accent);
    font-size:.9rem;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:14px;

}

.section-title{

    text-align:center;
    max-width:760px;
    margin:0 auto 70px;

}

.section-title h2{

    font-family:'Poppins',sans-serif;
    color:var(--heading);
    font-size:2.7rem;
    font-weight:800;
    line-height:1.25;
    margin-bottom:20px;

}

.section-title p{

    font-size:1.05rem;

}

.btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:15px 34px;

    background:var(--accent);
    color:var(--primary);

    border:2px solid var(--accent);

    border-radius:50px;

    font-weight:700;

    transition:var(--transition);

    cursor:pointer;

}

.btn:hover{

    background:transparent;
    color:var(--accent);

}

.btn-outline{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:15px 34px;

    border:2px solid var(--accent);

    color:var(--accent);

    border-radius:50px;

    font-weight:700;

    transition:var(--transition);

}

.btn-outline:hover{

    background:var(--accent);
    color:var(--primary);

}

/*==============================
Header
==============================*/

header{

    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:999;

    background:rgba(255,255,255,.95);

    backdrop-filter:blur(10px);

    transition:var(--transition);

}

header.sticky{

    box-shadow:var(--shadow);

}

header .container{

    display:flex;
    align-items:center;
    justify-content:space-between;

    height:90px;

}

.logo img{

    width:210px;

}

nav ul{

    display:flex;
    align-items:center;
    gap:38px;

}

nav ul li a{

    color:var(--heading);

    font-weight:600;

    transition:var(--transition);

}

nav ul li a:hover{

    color:var(--accent);

}

.header-btn{

    display:flex;
    align-items:center;

}

.menu-toggle{

    display:none;

    font-size:1.7rem;

    color:var(--heading);

    cursor:pointer;

}

/*==============================
Hero
==============================*/

.hero{

    background:var(--primary);

    padding-top:180px;
    padding-bottom:110px;

}

.hero-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:70px;
    align-items:center;

}

.tag{

    display:inline-block;

    background:rgba(212,175,55,.15);

    color:var(--accent);

    padding:10px 22px;

    border-radius:50px;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:25px;

}

.hero-content h1{

    font-family:'Poppins',sans-serif;

    color:#fff;

    font-size:3.6rem;

    line-height:1.2;

    margin-bottom:24px;

}

.hero-content p{

    color:#D1D5DB;

    font-size:1.05rem;

    margin-bottom:35px;

}

.hero-buttons{

    display:flex;
    gap:18px;
    flex-wrap:wrap;

    margin-bottom:40px;

}

.hero-features{

    display:flex;
    flex-wrap:wrap;
    gap:25px;

}

.hero-features div{

    display:flex;
    align-items:center;
    gap:10px;

    color:#E5E7EB;

    font-weight:500;

}

.hero-features i{

    color:var(--accent);

}

.hero-image img{

    border-radius:22px;

    box-shadow:0 25px 60px rgba(0,0,0,.35);

}
/*==============================
About
==============================*/

.about{

    background:var(--background);

}

.about-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:70px;
    align-items:center;

}

.about-image img{

    border-radius:22px;

    box-shadow:var(--shadow);

}

.about-content h2{

    font-family:'Poppins',sans-serif;

    color:var(--heading);

    font-size:2.7rem;

    line-height:1.25;

    margin-bottom:22px;

}

.about-content p{

    margin-bottom:18px;

}

.about-list{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;

    margin:35px 0;

}

.about-list div{

    display:flex;
    align-items:center;
    gap:12px;

    font-weight:600;

    color:var(--heading);

}

.about-list i{

    color:var(--accent);

}

/*==============================
Services
==============================*/

.services{

    background:#fff;

}

.services-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.service-card{

    background:var(--white);

    border:1px solid var(--border);

    border-radius:20px;

    overflow:hidden;

    transition:var(--transition);

    box-shadow:0 10px 30px rgba(0,0,0,.04);

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow);

}

.service-card img{

    height:240px;

    object-fit:cover;

}

.service-content{

    padding:30px;

}

.service-content i{

    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(212,175,55,.12);

    color:var(--accent);

    border-radius:50%;

    font-size:1.7rem;

    margin-bottom:22px;

}

.service-content h3{

    font-family:'Poppins',sans-serif;

    color:var(--heading);

    font-size:1.45rem;

    margin-bottom:15px;

}

.service-content p{

    font-size:.98rem;

}

/*==============================
Why Choose Us
==============================*/

.why-us{

    background:var(--primary);

}

.why-grid{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:70px;
    align-items:center;

}

.why-content h2{

    color:#fff;

    font-family:'Poppins',sans-serif;

    font-size:2.7rem;

    line-height:1.25;

    margin-bottom:20px;

}

.why-content p{

    color:#D1D5DB;

    margin-bottom:35px;

}

.why-list{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;

    margin-bottom:40px;

}

.why-list div{

    display:flex;
    align-items:center;
    gap:12px;

    color:#fff;

    font-weight:600;

}

.why-list i{

    color:var(--accent);

}

.why-image img{

    border-radius:22px;

    box-shadow:0 25px 60px rgba(0,0,0,.30);

}

/*==============================
Gallery
==============================*/

.gallery{

    background:var(--background);

}

.gallery-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}

.gallery-item{

    overflow:hidden;

    border-radius:18px;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(0,0,0,.06);

}

.gallery-item img{

    height:300px;

    object-fit:cover;

    transition:.45s ease;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-btn{

    text-align:center;

    margin-top:55px;

}
/*==============================
Testimonials
==============================*/

.testimonials{

    background:#fff;

}

.testimonial-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.testimonial-card{

    background:var(--white);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    transition:var(--transition);

    box-shadow:0 10px 30px rgba(0,0,0,.05);

}

.testimonial-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.testimonial-card i{

    font-size:2rem;

    color:var(--accent);

    margin-bottom:20px;

}

.testimonial-card p{

    margin-bottom:25px;

}

.testimonial-card h4{

    color:var(--heading);

    font-family:'Poppins',sans-serif;

    margin-bottom:5px;

}

.testimonial-card span{

    color:var(--text);

    font-size:.95rem;

}

/*==============================
Contact
==============================*/

.contact{

    background:var(--primary);

}

.contact-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;

}

.contact .section-tag{

    color:var(--accent);

}

.contact h2{

    color:#fff;

    font-family:'Poppins',sans-serif;

    font-size:2.6rem;

    margin-bottom:20px;

}

.contact>p,
.contact-info>p{

    color:#D1D5DB;

}

.contact-item{

    display:flex;
    align-items:flex-start;
    gap:18px;

    margin:28px 0;

}

.contact-item i{

    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(212,175,55,.15);

    color:var(--accent);

    border-radius:50%;

    font-size:1.2rem;

}

.contact-item h4{

    color:#fff;

    margin-bottom:8px;

    font-family:'Poppins',sans-serif;

}

.contact-item p,
.contact-item a{

    color:#D1D5DB;

    transition:var(--transition);

}

.contact-item a:hover{

    color:var(--accent);

}

.contact-form{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:var(--shadow);

}

.contact-form form{

    display:flex;
    flex-direction:column;
    gap:20px;

}

.contact-form input,
.contact-form textarea,
.contact-form select{

    width:100%;

    padding:16px 18px;

    border:1px solid var(--border);

    border-radius:12px;

    font-size:1rem;

    outline:none;

    transition:var(--transition);

    background:#fff;

}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{

    border-color:var(--accent);

}

.contact-form textarea{

    resize:none;

}

.contact-form button{

    border:none;

}

/*==============================
Map
==============================*/

.map iframe{

    width:100%;

    height:500px;

    border:0;

    display:block;

}

/*==============================
Footer
==============================*/

footer{

    background:#0B1220;

    padding:70px 0 30px;

    text-align:center;

}

.footer-content img{

    width:220px;

    margin:0 auto 30px;

}

.footer-content p{

    color:#CBD5E1;

    max-width:700px;

    margin:0 auto 25px;

}

.footer-contact{

    margin-bottom:30px;

}

.footer-contact a{

    color:var(--accent);

    font-weight:600;

}

.footer-contact i{

    margin-right:8px;

}

footer hr{

    border:none;

    border-top:1px solid rgba(255,255,255,.08);

    margin:30px 0;

}

.copyright{

    color:#94A3B8;

    font-size:.95rem;

}

/*==============================
Back To Top
==============================*/

.back-to-top{

    position:fixed;

    right:25px;

    bottom:95px;

    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--accent);

    color:var(--primary);

    border-radius:50%;

    box-shadow:var(--shadow);

    opacity:0;
    visibility:hidden;

    transition:var(--transition);

    z-index:999;

}

.back-to-top.show{

    opacity:1;
    visibility:visible;

}

/*==============================
WhatsApp Button
==============================*/

.whatsapp-btn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#25D366;

    color:#fff;

    border-radius:50%;

    font-size:1.8rem;

    box-shadow:0 10px 25px rgba(0,0,0,.20);

    z-index:999;

    transition:var(--transition);

}

.whatsapp-btn:hover{

    transform:scale(1.08);

}

/*==============================
Responsive
==============================*/

@media(max-width:992px){

    .hero-grid,
    .about-grid,
    .why-grid,
    .contact-grid{

        grid-template-columns:1fr;

    }

    .services-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .gallery-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .testimonial-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    section{

        padding:80px 0;

    }

    .hero{

        padding-top:150px;

    }

    .hero-content h1{

        font-size:2.5rem;

    }

    .section-title h2,
    .about-content h2,
    .why-content h2,
    .contact h2{

        font-size:2rem;

    }

    .about-list,
    .why-list{

        grid-template-columns:1fr;

    }

    .services-grid,
    .gallery-grid{

        grid-template-columns:1fr;

    }

    nav{

        position:fixed;

        top:90px;

        left:-100%;

        width:100%;

        background:#fff;

        padding:35px 0;

        box-shadow:var(--shadow);

        transition:var(--transition);

    }

    nav.active{

        left:0;

    }

    nav ul{

        flex-direction:column;

        gap:25px;

    }

    .menu-toggle{

        display:block;

    }

    .header-btn{

        display:none;

    }

}

@media(max-width:576px){

    .hero-buttons{

        flex-direction:column;

    }

    .hero-features{

        flex-direction:column;

        gap:15px;

    }

    .contact-form{

        padding:25px;

    }

}
/*==============================
Custom Scrollbar
==============================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#F3F4F6;

}

::-webkit-scrollbar-thumb{

    background:var(--accent);

    border-radius:50px;

}

::-webkit-scrollbar-thumb:hover{

    background:#B89328;

}

/*==============================
Selection
==============================*/

::selection{

    background:var(--accent);

    color:var(--primary);

}

/*==============================
Focus Accessibility
==============================*/

a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus{

    outline:3px solid rgba(212,175,55,.35);

    outline-offset:3px;

}

/*==============================
Image Optimization
==============================*/

img{

    max-width:100%;

    height:auto;

}

/*==============================
Hover Animation
==============================*/

.service-card,
.gallery-item,
.testimonial-card,
.btn,
.btn-outline,
.whatsapp-btn,
.back-to-top{

    will-change:transform;

}

/*==============================
Smooth Fade Animation
==============================*/

.hero-content,
.hero-image,
.about-image,
.about-content,
.service-card,
.gallery-item,
.testimonial-card,
.contact-info,
.contact-form{

    animation:fadeUp .8s ease both;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(35px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==============================
Utility Classes
==============================*/

.text-center{

    text-align:center;

}

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.mt-40{

    margin-top:40px;

}

.mb-20{

    margin-bottom:20px;

}

.mb-30{

    margin-bottom:30px;

}

.mb-40{

    margin-bottom:40px;

}

/*==============================
Print
==============================*/

@media print{

    header,
    footer,
    .whatsapp-btn,
    .back-to-top,
    .menu-toggle{

        display:none !important;

    }

    body{

        background:#fff;

        color:#000;

    }

}

/*==============================
Performance
==============================*/

html{

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;

}

body{

    overflow-x:hidden;

}