/* =========================================
   GLOBAL
========================================= */

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Barlow',sans-serif;
    background:#0a0a0a;
    color:white;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

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

.hero{
    min-height:100vh;

    background:
    linear-gradient(
        rgba(0,0,0,0.82),
        rgba(0,0,0,0.82)
    ),
    url('https://images.unsplash.com/photo-1504307651254-35680f356dfd?w=1600&q=80');

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

    position:relative;
    overflow:hidden;
}

.hero::before{
    content:'';
    position:absolute;
    inset:0;

    background-image:
    linear-gradient(rgba(255,214,0,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,214,0,0.06) 1px, transparent 1px);

    background-size:90px 90px;
}

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

.navbar{
    position:fixed;
    top:0;
    left:0;

    width:100%;

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

    padding:14px 50px;

    background:rgba(0,0,0,0.95);

    backdrop-filter:blur(10px);

    border-bottom:2px solid #FFD600;

    z-index:9999;
}

.logo{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo-icon{
    width:60px;
    height:60px;

    background:#FFD600;
    color:black;

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

    font-size:28px;

    clip-path:polygon(
        25% 0%,
        75% 0%,
        100% 50%,
        75% 100%,
        25% 100%,
        0% 50%
    );
}

.logo h2{
    font-size:24px;
    letter-spacing:2px;
}

.logo h2 span{
    color:#FFD600;
}

.logo p{
    font-size:11px;
    color:#888;
    letter-spacing:3px;
}

.nav-links{
    display:flex;
    list-style:none;
    gap:40px;
}

.nav-links a{
    color:white;
    font-size:15px;
    letter-spacing:2px;
    font-weight:600;
    transition:0.3s;
}

.nav-links a:hover{
    color:#FFD600;
}

.quote-btn{
    background:#FFD600;
    color:black;

    padding:14px 28px;

    font-size:14px;
    font-weight:700;

    letter-spacing:2px;
}

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

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

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

    padding:170px 80px 120px;
}

.hero-left{
    width:65%;
}

.top-badge{
    display:inline-block;

    border:1px solid #665600;

    padding:12px 22px;

    color:#FFD600;

    letter-spacing:3px;

    margin-bottom:35px;

    font-size:12px;
}

.hero-left h1{
    font-size:160px;
    line-height:0.9;
    font-family:'Bebas Neue',sans-serif;
}

.hero-left h1 span{
    color:#FFD600;
}

.hero-left p{
    margin-top:35px;

    max-width:700px;

    color:#d0d0d0;

    font-size:22px;
    line-height:1.7;
}

.hero-buttons{
    display:flex;
    gap:25px;
    margin-top:45px;
}

.primary-btn{
    background:#FFD600;
    color:black;

    padding:20px 40px;

    font-weight:800;
    letter-spacing:2px;
}

.secondary-btn{
    border:2px solid #FFD600;
    color:#FFD600;

    padding:20px 40px;

    font-weight:800;
    letter-spacing:2px;
}

/* HERO STATS */

.hero-right{
    display:flex;
    flex-direction:column;
    gap:50px;

    margin-top:120px;
}

.hero-stat{
    border-left:4px solid #FFD600;
    padding-left:20px;
}

.hero-stat h2{
    color:#FFD600;
    font-size:60px;
}

.hero-stat p{
    color:#888;
    letter-spacing:3px;
    font-size:15px;
}

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

.about-section{
    background:#000;
    padding:120px 80px;
}

.about-container{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.about-image{
    position:relative;
}

.about-image img{
    height:700px;
    width:100%;
    object-fit:cover;
}

.image-border{
    position:absolute;

    width:95%;
    height:100%;

    border:4px solid #FFD600;

    top:-20px;
    left:-20px;
}

.experience-box{
    position:absolute;

    right:-20px;
    bottom:40px;

    width:170px;
    height:170px;

    background:#FFD600;
    color:black;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}

.experience-box h2{
    font-size:60px;
}

.experience-box p{
    text-align:center;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
}

.mini-about-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:10px;
}

.mini-about-title .line{
    width:40px;
    height:3px;
    background:#FFD600;
}

.mini-about-title p{
    color:#FFD600;
    letter-spacing:4px;
    font-size:13px;
}

.about-content h2{
    font-size:60px;
    margin-bottom:20px;
}

.about-content h2 span{
    color:#FFD600;
}

.about-content p{
    color:#bbb;

    font-size:15px;
    line-height:1.8;

    margin-bottom:20px;
}

.about-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:30px;
}

.about-card{
    background:#171717;
    border-left:4px solid #FFD600;
    padding:25px;
}

.about-card h3{
    color:#FFD600;
    margin-bottom:10px;
}

.about-card p{
    margin:0;
    font-size:14px;
}

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

.services-section{
    background:#050505;
    padding:120px 80px;
}

.services-heading{
    margin-bottom:70px;
}

.services-heading h2{
    font-size:90px;
}

.services-heading h2 span{
    color:#FFD600;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.service-box{
    background:#171717;
    padding:40px;
    border-top:3px solid transparent;
    transition:0.3s;
}

.service-box:hover{
    border-color:#FFD600;
    transform:translateY(-5px);
}

.service-icon{
    width:70px;
    height:70px;

    background:#2c2600;

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

    font-size:30px;

    margin-bottom:25px;
}

.service-box h3{
    margin-bottom:15px;
    font-size:22px;
}

.service-box p{
    color:#aaa;
    line-height:1.7;
    font-size:15px;
}



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

.gallery-section{
    background:#000;
    padding:120px 70px;
}

/* Heading */

/* =========================
   CENTERED GALLERY TITLE
========================= */

.gallery-heading{
    text-align:center;
    margin-bottom:80px;
}

.gallery-heading h2{
    font-size:110px;
    font-weight:900;
    font-family:'Bebas Neue', sans-serif;
    letter-spacing:8px;
    color:white;
    text-transform:uppercase;
    position:relative;
}

/* Yellow highlight effect */
.gallery-heading h2 span{
    color:#FFD600;
}

/* Optional underline effect */
.gallery-heading h2::after{
    content:'';
    width:120px;
    height:4px;
    background:#FFD600;
    display:block;
    margin:15px auto 0;
}

.gallery-heading h2 span{
    color:#FFD600;
}

.gallery-heading p{
    color:#aaa;
    margin-top:15px;
    font-size:18px;
    letter-spacing:3px;
}

/* GRID */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:25px;
}

/* IMAGE BOX */

.gallery-item{
    position:relative;
    overflow:hidden;
    border:2px solid #222;
    transition:0.4s;
}

.gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:0.5s;
}

/* HOVER EFFECT */

.gallery-item:hover img{
    transform:scale(1.1);
    filter:brightness(0.7);
}

.gallery-item:hover{
    border-color:#FFD600;
}

/* OVERLAY */

.gallery-overlay{
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    padding:20px;
    background:linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color:white;
    opacity:0;
    transition:0.4s;
}

.gallery-item:hover .gallery-overlay{
    opacity:1;
}

.gallery-overlay h3{
    color:#FFD600;
    font-size:22px;
    margin-bottom:5px;
}

.gallery-overlay p{
    font-size:15px;
    color:#ccc;
}

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

@media(max-width:1100px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){

    .gallery-section{
        padding:80px 20px;
    }

    .gallery-heading h2{
        font-size:50px;
    }

    .gallery-grid{
        grid-template-columns:1fr;
    }

    .gallery-item img{
        height:250px;
    }
}
/* =========================================
   CONTACT
========================================= */

.contact-section{
    background:#000;
    padding:120px 80px;
}

.contact-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}

.contact-heading h2{
    font-size:90px;
    margin-bottom:50px;
}

.contact-heading h2 span{
    color:#FFD600;
}

.contact-left{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.contact-card{
    display:flex;
    gap:20px;
}

.icon-box{
    width:60px;
    height:60px;

    background:#111;

    border:1px solid #FFD600;

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

    color:#FFD600;
}

.contact-card h3{
    color:#FFD600;
    margin-bottom:8px;
}

.contact-card p{
    color:#bbb;
    font-size:15px;
}

.quote-card{
    background:#171717;
    padding:40px;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.input-group{
    margin-bottom:20px;
}

.input-group input,
.input-group textarea,
.input-group select{
    width:100%;
    padding:16px;

    background:#0f0f0f;

    border:1px solid #222;

    color:white;
}

.quote-card button{
    width:100%;
    padding:18px;

    background:#FFD600;

    border:none;

    font-weight:700;
}

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

.footer{
    background:#000;
    padding:80px 50px 30px;
    border-top:2px solid #FFD600;
}

.footer-container{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:50px;
}

.footer-about h2{
    font-size:50px;
}

.footer-about h2 span{
    color:#FFD600;
}

.footer-description{
    margin-top:20px;
    color:#888;
    line-height:1.8;
}

.footer-links,
.footer-contact{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.footer-links h3,
.footer-contact h3{
    color:#FFD600;
}

.footer-links a{
    color:#999;
}

.footer-bottom{
    margin-top:50px;
    padding-top:20px;
    border-top:1px solid #222;

    display:flex;
    justify-content:space-between;

    color:#777;
}

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

.call-button{
    position:fixed;

    right:20px;
    bottom:20px;

    width:70px;
    height:70px;

    border-radius:50%;

    background:#FFD600;

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

    font-size:28px;

    color:black;

    z-index:999;
}

/* =========================================
   TABLET
========================================= */

@media(max-width:1100px){

    .hero-content,
    .about-container,
    .contact-wrapper{
        grid-template-columns:1fr;
        flex-direction:column;
    }

    .hero-left{
        width:100%;
    }

    .hero-left h1{
        font-size:110px;
    }

    .services-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-container{
        grid-template-columns:1fr 1fr;
    }
}

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

@media(max-width:768px){

    .navbar{
        flex-direction:column;
        gap:20px;
        padding:15px 20px;
    }

    .nav-links{
        gap:15px;
        flex-wrap:wrap;
        justify-content:center;
    }

    .hero{
        padding-top:120px;
    }

    .hero-content{
        padding:60px 20px 100px;
    }

    .hero-left h1{
        font-size:65px;
    }

    .hero-left p{
        font-size:15px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
        text-align:center;
    }

    .hero-right{
        margin-top:50px;
    }

    .about-section,
    .services-section,
    .contact-section,
    .footer{
        padding:70px 20px;
    }

    .about-image img{
        height:400px;
    }

    .about-content h2,
    .services-heading h2,
    .contact-heading h2{
        font-size:42px;
    }

    .about-cards,
    .services-grid,
    .contact-wrapper,
    .footer-container,
    .form-row{
        grid-template-columns:1fr;
    }

    .service-box{
        padding:30px;
    }

    .footer-bottom{
        flex-direction:column;
        gap:10px;
        text-align:center;
    }

    .call-button{
        width:60px;
        height:60px;
        font-size:22px;
    }
}