:root{

    --gold:#B88A44;
    --gold-hover:#a57a39;
    --dark:#1F1F1F;
    --beige:#F6F1EB;
    --white:#ffffff;
    --gray:#6b7280;

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Montserrat',sans-serif;
    color:var(--dark);
    line-height:1.7;
    background:#fff;

}

img{

    max-width:100%;
    display:block;

}

.container{

    width:min(1200px,92%);
    margin:auto;

}

/* ==========================
   HEADER
========================== */

header{

    position:sticky;
    top:0;
    z-index:1000;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(10px);

    box-shadow:0 2px 15px rgba(0,0,0,.06);

}

.nav{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:20px 0;

}

.logo{

    width:52px;
    height:52px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid var(--gold);

    color:var(--gold);

    border-radius:50%;

    font-size:20px;
    font-weight:700;

}

nav{

    display:flex;
    gap:30px;

}

nav a{

    text-decoration:none;
    color:var(--dark);
    font-weight:500;
    transition:.3s;

}

nav a:hover{

    color:var(--gold);

}

/* ==========================
   HERO
========================== */

.hero{

    padding:90px 0;

}

.hero-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.hero-content h1{

    font-size:68px;
    line-height:1.1;
    margin-bottom:20px;

}

.hero-content p{

    font-size:20px;
    color:var(--gray);
    margin-bottom:35px;

}

.badge{

    display:inline-block;

    background:var(--beige);

    color:var(--gold);

    padding:10px 18px;

    border-radius:30px;

    margin-bottom:25px;

    font-weight:600;

}

.hero-image img{

    border-radius:25px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.15);

}

.hero-buttons{

    display:flex;
    gap:15px;
    flex-wrap:wrap;

}

/* ==========================
   BUTTONS
========================== */

.btn{

    display:inline-block;

    background:var(--gold);
    color:white;

    text-decoration:none;

    padding:15px 30px;

    border-radius:40px;

    font-weight:600;

    transition:.3s;

}

.btn:hover{

    background:var(--gold-hover);
    transform:translateY(-2px);

}

.btn-outline{

    display:inline-block;

    padding:15px 30px;

    border:2px solid var(--gold);

    color:var(--gold);

    text-decoration:none;

    border-radius:40px;

    font-weight:600;

    transition:.3s;

}

.btn-outline:hover{

    background:var(--gold);
    color:white;

}

/* ==========================
   SECTIONS
========================== */

section{

    padding:100px 0;

}

.section-title{

    text-align:center;

    font-size:44px;

    margin-bottom:60px;

}

/* ==========================
   ABOUT
========================== */

.about-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.about-image img{

    border-radius:25px;

    box-shadow:
    0 15px 45px rgba(0,0,0,.12);

}

.about-grid h2{

    font-size:42px;
    margin-bottom:25px;

}

.about-grid p{

    margin-bottom:25px;
    color:#444;

}

.benefits{

    list-style:none;

}

.benefits li{

    margin-bottom:12px;
    font-weight:500;

}

/* ==========================
   OFFER
========================== */

.light{

    background:var(--beige);

}

.cards{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;

}

.card{

    background:white;

    padding:40px;

    border-radius:25px;

    text-align:center;

    transition:.3s;

    box-shadow:
    0 10px 25px rgba(0,0,0,.05);

}

.card:hover{

    transform:translateY(-8px);

}

.icon{

    font-size:52px;
    margin-bottom:20px;

}

.card h3{

    margin-bottom:15px;

}

.card p{

    color:#555;

}

/* ==========================
   WHY
========================== */

.reasons{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}

.reason{

    text-align:center;

    padding:35px;

}

.reason span{

    display:block;

    font-size:52px;

    color:var(--gold);

    font-weight:700;

    margin-bottom:10px;

}

.reason h3{

    font-size:20px;

}

/* ==========================
   QUOTE
========================== */

.quote{

    background:#1f1f1f;

    color:white;

    text-align:center;

}

.quote h2{

    max-width:900px;

    margin:auto;

    font-size:40px;

    line-height:1.4;

}

.quote p{

    margin-top:30px;

    color:#d6b26a;

    font-size:20px;

}

/* ==========================
   CONTACT
========================== */

.contact-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

}

.contact-grid img{

    border-radius:25px;

    box-shadow:
    0 15px 45px rgba(0,0,0,.12);

}

.contact-grid h2{

    font-size:42px;
    margin-bottom:30px;

}

.contact-item{

    margin-bottom:18px;
    font-size:18px;

}

.contact-buttons{

    margin-top:30px;

    display:flex;
    gap:15px;
    flex-wrap:wrap;

}

/* ==========================
   FOOTER
========================== */

footer{

    background:#111;

    color:white;

    text-align:center;

    padding:40px 20px;

}

.footer-name{

    font-size:24px;
    font-weight:700;
    margin-bottom:10px;

}

/* ==========================
   WHATSAPP
========================== */

.whatsapp{

    position:fixed;

    right:25px;
    bottom:25px;

    width:65px;
    height:65px;

    border-radius:50%;

    background:#25D366;

    color:white;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    font-size:30px;

    box-shadow:
    0 10px 25px rgba(0,0,0,.25);

    z-index:999;

}

/* ==========================
   MOBILE
========================== */

@media(max-width:992px){

    .hero-grid,
    .about-grid,
    .contact-grid{

        grid-template-columns:1fr;

    }

    .cards{

        grid-template-columns:1fr;

    }

    .reasons{

        grid-template-columns:1fr 1fr;

    }

    .hero-content h1{

        font-size:48px;

    }

}

@media(max-width:768px){

    nav{

        display:none;

    }

    .hero{

        padding:50px 0;

    }

    .hero-content h1{

        font-size:40px;

    }

    .section-title,
    .about-grid h2,
    .contact-grid h2{

        font-size:32px;

    }

    .quote h2{

        font-size:28px;

    }

    .reasons{

        grid-template-columns:1fr;

    }

}