:root {
    --black:#0b0b0b;
    --green:#1db954;
    --gold:#d4af37;
    --white:#fff;
}

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

body {
    font-family:'Poppins',sans-serif;
    background:#000;
    color:#fff;
}

/* BACKGROUND */
#bg {
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
}

/* HEADER */
header {
    position:fixed;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 40px;
    background:rgba(0,0,0,0.85);
    backdrop-filter:blur(10px);
    z-index:1000;
}

.logo-group {
    display:flex;
    align-items:center;
}

.logo-group img {
    height:38px;
    margin-right:10px;
}

/* NAV */
nav {
    display:flex;
}

nav a {
    margin-left:25px;
    text-decoration:none;
    color:white;
    font-size:15px;
    transition:0.3s;
}

nav a:hover {
    color:var(--green);
}

/* MOBILE MENU BUTTON */
.menu-toggle {
    display:none;
    font-size:22px;
    cursor:pointer;
}

/* HERO */
.hero {
    height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:0 20px;
}

.hero h1 {
    font-size:56px;
    max-width:800px;
}

.hero span { color:var(--gold); }

.hero p {
    margin-top:15px;
    color:#aaa;
}

.btn {
    margin-top:25px;
    padding:12px 28px;
    border:none;
    background:var(--green);
    color:white;
    border-radius:30px;
    cursor:pointer;
}

/* SECTIONS */
section {
    padding:100px 60px;
}

.section-title {
    text-align:center;
    margin-bottom:50px;
}

.section-title h2 {
    font-size:34px;
}

/* ABOUT */
.about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}

.about-text p {
    margin:15px 0;
    color:#ccc;
    line-height:1.6;
}

.brand-inline {
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:20px;
}

.brand-inline img {
    height:40px;
}

.timeline div {
    margin:12px 0;
    padding-left:12px;
    border-left:2px solid var(--green);
}

.timeline span {
    color:var(--green);
    font-weight:600;
    margin-right:10px;
}

/* MENU */
.menu-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.card {
    background:#111;
    padding:25px;
    border-radius:12px;
    text-align:center;
    transition:0.3s;
}

.card:hover {
    transform:translateY(-6px);
}

.card i {
    font-size:26px;
    color:var(--gold);
    margin-bottom:10px;
}

/* GALLERY */
.gallery {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}

.gallery img {
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:10px;
    transition:0.4s;
}

.gallery img:hover {
    transform:scale(1.05);
}

/* CONTACT */
.contact-box {
    max-width:500px;
    margin:auto;
    display:flex;
    flex-direction:column;
}

.contact-box input,
.contact-box textarea {
    margin:10px 0;
    padding:12px;
    border:none;
    border-radius:6px;
}

.contact-box textarea {
    height:120px;
}

/* FOOTER */
footer {
    text-align:center;
    padding:40px 20px;
}

.socials a {
    margin:0 10px;
    font-size:18px;
    color:white;
}

footer p {
    margin-top:15px;
    color:#888;
}

/* ========================= */
/* 📱 RESPONSIVE BREAKPOINTS */
/* ========================= */

/* Tablets */
@media (max-width:1024px){

    .menu-grid {
        grid-template-columns:repeat(2,1fr);
    }

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

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

/* Mobile */
@media (max-width:768px){

    header {
        padding:15px 20px;
    }

    .menu-toggle {
        display:block;
    }

    nav {
        position:absolute;
        top:70px;
        right:0;
        background:#000;
        width:100%;
        flex-direction:column;
        align-items:center;
        display:none;
    }

    nav.active {
        display:flex;
    }

    nav a {
        margin:15px 0;
    }

    .hero h1 {
        font-size:34px;
    }

    section {
        padding:80px 20px;
    }

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

    .gallery {
        grid-template-columns:repeat(2,1fr);
    }
}

/* Small Mobile */
@media (max-width:480px){

    .hero h1 {
        font-size:26px;
    }

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

    .logo-group img {
        height:30px;
    }
}