:root{
  --tierra:#7a4a2b;
  --tierra-osc:#4e2e1a;
  --olivo:#5d6b3a;
  --crema:#f6f1e7;
  --piedra:#e6dccb;
  --texto:#2b2420;
  --gris:#6b625a;
  --radio:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texto);background:var(--crema);line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--tierra)}
.contenedor{width:min(1100px,92%);margin:0 auto}

/* Cabecera */
header{background:var(--tierra-osc);color:#fff;position:sticky;top:0;z-index:10}
.barra{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0;gap:1rem}
.logo{color:#fff;text-decoration:none;font-weight:800;font-size:1.25rem;letter-spacing:.5px}
.logo span{color:#d9b48a}
nav ul{list-style:none;display:flex;gap:1.4rem}
nav a{color:#f1e6d6;text-decoration:none;font-weight:500}
nav a:hover,nav a.activo{color:#fff;border-bottom:2px solid #d9b48a}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}

/* Portada */
.hero{background:linear-gradient(rgba(40,25,15,.55),rgba(40,25,15,.65)),url("img/portada.jpg") center/cover,var(--tierra);color:#fff;padding:6rem 0 5rem;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin-bottom:1rem}
.hero p{font-size:1.15rem;max-width:640px;margin:0 auto 2rem;color:#f3e9dc}
.cabecera-pag{background:var(--tierra);color:#fff;padding:3rem 0 2.5rem;text-align:center}
.cabecera-pag h1{font-size:clamp(1.8rem,4vw,2.5rem)}
.cabecera-pag p{color:#f3e9dc}

/* Botones */
.btn{display:inline-block;padding:.8rem 1.5rem;border-radius:var(--radio);text-decoration:none;font-weight:700;margin:.3rem}
.btn-prin{background:#d9b48a;color:var(--tierra-osc)}
.btn-prin:hover{background:#e8c9a4}
.btn-sec{border:2px solid #fff;color:#fff}
.btn-wa{background:#25d366;color:#fff}

/* Secciones */
section{padding:4rem 0}
section.alt{background:var(--piedra)}
h2{font-size:1.9rem;color:var(--tierra-osc);margin-bottom:.5rem;text-align:center}
.sub{text-align:center;color:var(--gris);max-width:640px;margin:0 auto 2.5rem}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.tarjeta{background:#fff;border-radius:var(--radio);padding:1.6rem;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.tarjeta .icono{font-size:2rem;margin-bottom:.5rem}
.tarjeta h3{color:var(--tierra-osc);margin-bottom:.4rem}
.precio{display:inline-block;margin-top:.8rem;background:var(--olivo);color:#fff;padding:.25rem .8rem;border-radius:20px;font-weight:700;font-size:.95rem}
.tarjeta ul{margin:.6rem 0 0 1.1rem;color:var(--gris)}
.nota{font-size:.85rem;color:var(--gris);text-align:center;margin-top:2rem}

/* Pasos */
.pasos{counter-reset:paso;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}
.paso{background:#fff;border-radius:var(--radio);padding:1.4rem;position:relative}
.paso::before{counter-increment:paso;content:counter(paso);position:absolute;top:-14px;left:1.2rem;background:var(--tierra);color:#fff;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800}
.paso h3{margin-top:.6rem;color:var(--tierra-osc)}

/* Zona */
.pueblos{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1rem}
.pueblos span{background:#fff;border:1px solid #d8ccb8;padding:.35rem .9rem;border-radius:20px}
.mapa{border:0;width:100%;height:380px;border-radius:var(--radio);margin-top:2rem}

/* Contacto */
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
form{display:grid;gap:1rem}
label{font-weight:600;font-size:.95rem}
input,select,textarea{width:100%;padding:.75rem;border:1px solid #cbbfae;border-radius:8px;font:inherit;background:#fff}
textarea{min-height:130px;resize:vertical}
button.btn{border:0;cursor:pointer;font:inherit;font-weight:700}
.dato{font-size:1.1rem;margin:.4rem 0}

/* CTA */
.cta{background:var(--olivo);color:#fff;text-align:center}
.cta h2{color:#fff}
.cta p{margin-bottom:1.2rem}

/* Pie */
footer{background:var(--tierra-osc);color:#d9cbb8;padding:2rem 0;font-size:.9rem}
.pie{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
footer a{color:#f1e6d6}

/* WhatsApp flotante */
.wa-flotante{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.7rem;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:20}

@media (max-width:760px){
  .menu-btn{display:block}
  nav ul{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--tierra-osc);padding:1rem 4%;gap:1rem}
  nav ul.abierto{display:flex}
  .contacto-grid{grid-template-columns:1fr}
  .hero{padding:4rem 0 3.5rem}
}
