:root{
  --verde:#1A6B3C;
  --verde-osc:#0f4f2b;
  --naranja:#E87722;
  --crema:#F7F5EF;
  --gris:#475247;
  --texto:#1d271f;
  --blanco:#ffffff;
  --radio:14px;
  --ancho:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Mulish',system-ui,sans-serif;
  color:var(--texto);
  background:var(--blanco);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.container{max-width:var(--ancho);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;line-height:1.15;color:var(--verde)}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:900}
h2{font-size:clamp(1.6rem,3.5vw,2.5rem);font-weight:700;margin-bottom:.5rem}
h3{font-size:1.2rem;font-weight:600;margin-bottom:.4rem}
a{color:var(--verde);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;
  font-weight:800;color:var(--naranja);margin-bottom:.6rem;
}

/* ---- BOTONES ---- */
.btn{
  display:inline-block;padding:.85rem 1.6rem;border-radius:var(--radio);
  font-weight:800;font-size:1rem;cursor:pointer;border:none;transition:.2s;
}
.btn-primary{background:var(--naranja);color:#fff}
.btn-primary:hover{background:#cf6717;color:#fff}
.btn-ghost{background:transparent;color:var(--verde);border:2px solid var(--verde)}
.btn-ghost:hover{background:var(--verde);color:#fff}
.hero .btn-ghost{color:#fff;border-color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--verde)}
.btn-whatsapp{background:#25D366;color:#fff;margin-top:1rem}
.btn-whatsapp:hover{background:#1da851;color:#fff}

/* ---- HEADER ---- */
.site-header{
  position:sticky;top:0;z-index:50;background:#fff;
  border-bottom:1px solid #e8e6df;
}
.header-inner{display:flex;align-items:center;gap:1rem;padding-top:.7rem;padding-bottom:.7rem}
.logo-img{height:52px;width:auto}
.main-nav{margin-left:auto;display:flex;gap:1.4rem;align-items:center}
.main-nav a{font-weight:700;color:var(--gris);font-size:.95rem}
.main-nav a:hover{color:var(--verde)}
.nav-cta{background:var(--verde);color:#fff!important;padding:.5rem 1rem;border-radius:10px}
.nav-cta:hover{background:var(--verde-osc)}
.lang-toggle{
  border:2px solid var(--verde);background:#fff;color:var(--verde);
  font-weight:800;border-radius:8px;padding:.35rem .7rem;cursor:pointer;
}

/* ---- HERO ---- */
.hero{
  background:linear-gradient(135deg,var(--verde) 0%,var(--verde-osc) 100%);
  color:#fff;padding:5rem 0;
}
.hero h1{color:#fff;max-width:14ch}
.hero .eyebrow{color:#ffd9b3}
.hero-lead{font-size:1.2rem;max-width:54ch;margin:1.2rem 0 2rem;color:#eaf3ec}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-tagline{
  font-family:'Fraunces',serif;font-style:italic;font-size:1.15rem;
  margin-top:2.5rem;color:#ffd9b3;
}

/* ---- SECCIONES ---- */
.section{padding:4.5rem 0}
.section-alt{background:var(--crema)}
.section-lead{font-size:1.1rem;max-width:60ch;margin-bottom:2.5rem;color:var(--gris)}

/* ---- PRODUCTOS ---- */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.6rem}
.product-card{
  background:#fff;border:1px solid #e8e6df;border-radius:var(--radio);
  overflow:hidden;transition:.2s;
}
.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(26,107,60,.12)}
.product-card img{aspect-ratio:16/10;object-fit:cover;background:#f3f3f0}
.product-card h3{padding:1rem 1.1rem 0}
.product-card p{padding:.3rem 1.1rem 1.2rem;color:var(--gris);font-size:.95rem}

/* ---- DIFERENCIADORES ---- */
.dif-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.dif-item{
  background:#fff;border-radius:var(--radio);padding:1.6rem;
  border-left:5px solid var(--naranja);
}
.dif-item p{color:var(--gris)}

/* ---- CERTIFICACIONES ---- */
.certs{padding:2.5rem 0}
.cert-badges{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}
.cert-badge{
  border:2px solid var(--verde);border-radius:var(--radio);
  padding:1rem 2rem;text-align:center;
}
.cert-badge strong{display:block;color:var(--verde);font-size:1.3rem;font-family:'Fraunces',serif}
.cert-badge span{color:var(--gris);font-size:.9rem}

/* ---- COBERTURA ---- */
.region-list{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
.region-list li{
  background:#fff;border:1px solid #e8e6df;border-radius:var(--radio);
  padding:1.1rem;text-align:center;
}
.region-list strong{display:block;color:var(--verde);font-size:1.05rem}
.region-list span{font-size:.85rem;color:var(--gris)}

/* ---- EVENTOS ---- */
.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.6rem}
.event-card{background:var(--crema);border-radius:var(--radio);padding:1.8rem;border-top:5px solid var(--verde)}
.event-card p{color:var(--gris)}

/* ---- COTIZA ---- */
.section-dark{background:var(--verde-osc);color:#fff}
.section-dark h2{color:#fff}
.section-dark .eyebrow{color:#ffd9b3}
.section-dark .section-lead{color:#d6e6da}
.cotiza-inner{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.cotiza-form{background:#fff;border-radius:var(--radio);padding:2rem;display:grid;gap:1rem}
.cotiza-form label{display:grid;gap:.3rem;font-size:.9rem;font-weight:700;color:var(--gris)}
.cotiza-form input,.cotiza-form textarea{
  border:1.5px solid #d8d6cf;border-radius:10px;padding:.7rem;font-family:inherit;font-size:1rem;
}
.cotiza-form input:focus,.cotiza-form textarea:focus{outline:2px solid var(--verde);border-color:var(--verde)}

/* ---- FOOTER ---- */
.site-footer{background:#10331f;color:#cfe0d4;padding:3rem 0 0}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-bottom:2rem}
.footer-logo{background:#fff;padding:.5rem;border-radius:10px;height:60px;width:auto}
.footer-tag{font-family:'Fraunces',serif;font-style:italic;margin-top:.8rem}
.footer-info a{color:#fff}
.footer-info p{margin-bottom:.3rem}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.8rem}
.link-btn{background:none;border:none;color:#ffd9b3;cursor:pointer;text-decoration:underline;font-size:1rem;font-family:inherit;padding:0;text-align:left}
.link-btn:hover{color:#fff}
a.link-btn{color:#ffd9b3;display:inline-block}
a.link-btn:hover{color:#fff}
.footer-bottom{border-top:1px solid #1f4d31;padding:1.2rem 0;text-align:center;font-size:.85rem;color:#8fb39c}

/* ---- WHATSAPP FLOTANTE ---- */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;width:60px;height:60px;
  background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:60;
}
.whatsapp-float:hover{background:#1da851}

/* ---- MODAL ---- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal[hidden]{display:none}
.modal-box{background:#fff;border-radius:var(--radio);max-width:600px;max-height:85vh;overflow-y:auto;padding:2.5rem;position:relative}
.modal-box h3{margin-top:1.2rem;color:var(--verde)}
.modal-box p{margin-top:.4rem;color:var(--gris)}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--gris)}
.modal-list{margin:.6rem 0 0 1.2rem;color:var(--gris)}
.modal-list li{margin-bottom:.5rem}
.modal-pdf{margin-top:1.6rem}

/* ---- RESPONSIVE ---- */
@media(max-width:780px){
  .main-nav{display:none}
  .cotiza-inner{grid-template-columns:1fr}
  .hero{padding:3.5rem 0}
}

@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;transition:none!important}
}
