*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
font-family:'Montserrat',sans-serif;
}

body{
background:#0f0f0f;
color:white;
overflow-x:hidden;
}

/* NAVBAR */

header{
width:100%;
position:fixed;
top:0;
left:0;
z-index:999;
background:rgba(0,0,0,0.65);
backdrop-filter:blur(10px);
border-bottom:1px solid rgba(255,255,255,0.08);
}

.navbar{
max-width:1400px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 5%;
}

.logo{
font-size:2rem;
font-weight:800;
letter-spacing:2px;
color:#fff;
}

.logo span{
color:#c9a46b;
}

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

.nav-links a{
text-decoration:none;
color:white;
font-weight:500;
transition:0.3s;
position:relative;
}

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

.nav-links a::after{
content:'';
position:absolute;
left:0;
bottom:-8px;
width:0%;
height:2px;
background:#c9a46b;
transition:0.3s;
}

.nav-links a:hover::after{
width:100%;
}

/* =================================
   MENÚ RESPONSIVE
================================= */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    color: white;
    font-size: 28px;
    cursor: pointer;
    padding: 5px;
}


/* =================================
   CELULARES Y TABLETS
   (única media query para .nav-links en móvil)
================================= */

@media (max-width: 768px) {

    .navbar {
        position: relative;
    }

    .menu-toggle {
        display: block;
        z-index: 1001;
    }

    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;

        background: #111;

        display: flex;
        flex-direction: column;
        align-items: center;

        padding: 0;

        max-height: 0;
        overflow: hidden;

        transition: max-height 0.35s ease,
                    padding 0.35s ease;

        z-index: 1000;
    }


    /* MENÚ ABIERTO */

    .nav-links.active {
        max-height: 500px;
        padding: 20px 0;
    }


    .nav-links a {
        width: 100%;
        text-align: center;
        padding: 14px 0;
    }


    .hero h1{
    font-size:2.6rem;
    }

    .section-title h2{
    font-size:2.2rem;
    }

    .cta h2{
    font-size:2.2rem;
    }

}



/* HERO */

.hero{
height:70vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:0 8%;
background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),
url('img/fondo\ index.jpg');
background-size:cover;
background-position:center;
}

.hero-content{
max-width:900px;
}

.hero h1{
font-size:4rem;
margin-bottom:20px;
}

.hero span{
color:#c9a46b;
}

.hero p{
font-size:1.2rem;
color:#d4d4d4;
line-height:1.8;
}

/* SECTION */

.section{
padding:100px 8%;
}

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

.section-title h2{
font-size:3rem;
margin-bottom:15px;
}

.section-title p{
color:#aaa;
}

/* SERVICES */

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.service-card{
background:#171717;
padding:35px;
border-radius:25px;
transition:.4s;
border:1px solid rgba(255,255,255,.05);
}

.service-card:hover{
transform:translateY(-10px);
border-color:#c9a46b;
}

.icon{
font-size:3rem;
margin-bottom:20px;
}

.service-card h3{
margin-bottom:15px;
font-size:1.5rem;
}

.service-card p{
line-height:1.8;
color:#bdbdbd;
}

/* PROCESS */

.process{
background:#131313;
}

.process-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
}

.step{
background:#1d1d1d;
padding:30px;
border-radius:20px;
text-align:center;
}

.number{
width:60px;
height:60px;
background:#c9a46b;
color:#111;
font-weight:800;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
margin-bottom:20px;
font-size:1.3rem;
}

/* STATS */

.stats{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
text-align:center;
}

.stat{
padding:30px;
}

.stat h3{
font-size:3rem;
color:#c9a46b;
}

.stat p{
margin-top:10px;
color:#aaa;
}

/* CTA */

.cta{
padding:120px 8%;
text-align:center;
background:
linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),
url('img/piedra\ pu.jpg');
background-size:cover;
background-position:center;
}

.cta h2{
font-size:3rem;
margin-bottom:20px;
}

.cta p{
max-width:700px;
margin:auto;
line-height:1.8;
color:#ddd;
margin-bottom:40px;
}

.btn{
display:inline-block;
padding:18px 40px;
background:#c9a46b;
color:#111;
text-decoration:none;
border-radius:50px;
font-weight:700;
transition:.4s;
}

.btn:hover{
transform:translateY(-5px);
}

/* FOOTER */

footer{
background:#090909;
padding:40px;
text-align:center;
color:#888;
}