/* VARIABLES */
:root{
  --verde: #1f9f7a;
  --verde-claro:#6EC1A6;
  --dorado:#F2C94C;
  --beige:#F6F5F2;
  --gris:#4B5563;
  --negro:#111827;
  --blanco:#ffffff;
  --radio: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.07);
}

/* RESET */
*{
  box-sizing:border-box;
}
html{
  scroll-behavior:smooth;
}
body{
  margin:0;
  font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;
  color:var(--gris);
  background:#fff;
}
a{
  color:var(--verde);
  text-decoration:none;
}

/* CONTAINER */
.container{
  max-width:1120px;
  margin:0 auto;
  padding:0 20px;
}

/* HEADER */
header{
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid #eee;
}

nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
}

/* LOGO + TEXTO */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo-header{
  height:70px;
  width:auto;
}

/* ✅ Texto idéntico al logo */
.marca-header{
  font-family:'Poppins', sans-serif;
  font-weight:700;
  font-size:1.7rem;
  color:#1f9f7a;          /* ✅ color del texto del logo */
  letter-spacing:0.5px;
  margin-top:4px;
}

/* ✅ Ajustes móviles */
@media (max-width: 900px){
  .logo-header{
    height:46px;
  }
  .marca-header{
    font-size:1.35rem;
    color:#1f9f7a;        /* ✅ asegurar el color también en móvil */
  }
}

/* MENU (solo escritorio) */
.menu{
  display:flex;
  gap:20px;
  align-items:center;
}

.menu a{
  font-weight:600;
  color:#374151;
}

.cta{
  padding:10px 16px;
  border-radius:999px;
  background:var(--verde);
  color:#fff;
  font-weight:700;
  box-shadow:var(--shadow);
}

/* ✅ Ocultar menú en móvil */
.desktop-only{
  display:flex;
}

@media (max-width:900px){
  .desktop-only{
    display:none;
  }
}

/* HERO */
.hero{
  background:linear-gradient(135deg, #f9fffb 0%, #f4faf7 100%);
  padding:10px 0 60px 0;
}

.hero .wrap{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:32px;
  align-items:center;
  padding:64px 0;
}

@media(max-width:900px){
  .hero .wrap{
    grid-template-columns:1fr;
    padding:40px 0;
  }
}

/* TEXTOS */
.kicker{
  font-weight:700;
  color:var(--verde);
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:.85rem;
}

h1{
  font-family:Poppins, sans-serif;
  font-weight:700;
  color:var(--negro);
  font-size:clamp(28px,3.4vw,46px);
  margin:.4em 0 .15em;
  line-height:1.25;
}

.lead{
  font-size:1.1rem;
  line-height:1.7;
  color:#374151;
}

/* BADGES */
.badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0;
}

.badge{
  background:#fff;
  border:1px solid #e8eee9;
  border-radius:999px;
  padding:8px 12px;
  font-weight:600;
  color:#2F4F4F;
}

/* BOTONES */
.btn{
  display:inline-block;
  border-radius:10px;
  padding:12px 16px;
  font-weight:700;
  border:2px solid var(--verde);
  color:#0f5132;
}
.btn.fill{
  background:var(--verde);
  border-color:var(--verde);
  color:#fff;
}
.btn.alt{
  border-color:#d1d5db;
  color:#374151;
}

/* CARD */
.card{
  background:#fff;
  border:1px solid #eef1ee;
  border-radius:var(--radio);
  box-shadow:var(--shadow);
}
.card .inner{
  padding:24px;
}

/* GRID */
.grid{
  display:grid;
  gap:22px;
}
.grid.cols-2{
  grid-template-columns:repeat(2,1fr);
}
.grid.cols-3{
  grid-template-columns:repeat(3,1fr);
}

@media(max-width:900px){
  .grid.cols-2{
    grid-template-columns:1fr;
  }
  .grid.cols-3{
    grid-template-columns:1fr;
  }
}

/* FEATURES */
.feature{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.feature i{
  height:38px;
  width:38px;
  border-radius:10px;
  background:var(--beige);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:#8a6d00;
}

/* TITULOS SECCION */
h2{
  font-family:Poppins, sans-serif;
  color:#111827;
  font-size:clamp(22px,2.6vw,34px);
  margin:0 0 10px;
}

/* LISTAS */
.list{
  padding-left:18px;
}

.muted{
  color:#6b7280;
}

/* OPINIONES */
#opiniones{
  padding:70px 0;
  background:#fff;
}

.quote{
  font-size:1.05rem;
  line-height:1.6;
}

/* CONTACTO */
#contacto input,
#contacto textarea{
  width:100%;
  padding:12px;
  border:1px solid #e5e7eb;
  border-radius:10px;
  margin:6px 0 12px;
  font-size:1rem;
}

/* FOOTER */
.footer{
  background:#0B3B2E;
  color:#D1FAE5;
}

.footer-inner{
  padding:26px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
}

.footer a{
  color:#A7F3D0;
}
