
  :root{
    --verde-principal:#0f8a5f;
    --verde-oscuro:#1a2e2a;
    --verde-claro:#e8f7f0;
    --gris-oscuro:#1f2937;
    --gris-medio:#5b6470;
    --gris-claro:#f4f6f5;
    --blanco:#ffffff;
    --borde:#e3e7e5;
    --font-display: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --font-body: 'Segoe UI', system-ui, -apple-system, sans-serif;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html,body{overflow-x:hidden; max-width:100%;}
  body{font-family:var(--font-body); color:var(--gris-oscuro); line-height:1.5; background:var(--blanco);}
  img{max-width:100%; display:block;}
  a{text-decoration:none; color:inherit;}
  .wrap{max-width:1200px; margin:0 auto; padding:0 24px;}
  .badge-note{
    display:inline-block; background:#fff3cd; color:#7a5c00; font-size:11px;
    font-weight:700; padding:2px 8px; border-radius:4px; margin-left:8px; letter-spacing:.03em;
    text-transform:uppercase; vertical-align:middle;
  }
  .placeholder-img{
    background:repeating-linear-gradient(45deg,#eef1f0,#eef1f0 10px,#e4e9e7 10px,#e4e9e7 20px);
    border:2px dashed #b9c3bf; border-radius:12px; display:flex; align-items:center; justify-content:center;
    color:#7a8a84; font-size:13px; text-align:center; padding:20px;
  }

  /* HEADER */
  header{border-bottom:1px solid var(--borde); position:sticky; top:0; background:#fff; z-index:50;}
  .header-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1200px; margin:0 auto; flex-wrap:wrap; gap:12px;}
  .logo-group{display:flex; align-items:center; gap:12px; cursor:pointer;}
  .logo{
    background:var(--verde-principal); color:#fff; font-weight:800; font-size:20px;
    padding:8px 14px; border-radius:8px; letter-spacing:.02em;
  }
  .logo-img{ height:34px; width:auto; display:block; }
  .tagline{color:var(--gris-medio); font-size:13px;}
  nav{display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600;}
  nav a{color:var(--gris-oscuro);}
  nav a.active{color:var(--verde-principal);}
  .header-right{display:flex; align-items:center; gap:16px;}
  .phone{font-size:14px; font-weight:600; color:var(--gris-oscuro); display:flex; align-items:center; gap:6px;}
  .btn-cotizar{
    background:var(--verde-principal); color:#fff; font-weight:700; font-size:14px;
    padding:10px 18px; border-radius:8px; white-space:nowrap;
  }

  /* HERO */
  .hero{padding:44px 0 12px; text-align:center; background:var(--gris-claro);}
  .hero .kicker{font-size:23px; font-weight:700; color:var(--gris-medio); letter-spacing:.2px; max-width:780px; margin:0 auto 14px;}
  .hero h1{font-size:34px; font-weight:800; line-height:1.22; max-width:780px; margin:0 auto 8px; color:var(--gris-oscuro);}
  .hero p.sub{font-size:17px; color:var(--gris-medio); max-width:600px; margin:0 auto;}
  .hero p.sub-verde{font-size:19px; font-weight:600; color:var(--verde-principal); margin:0 auto;}
  .hero p.sub-co2{font-size:15px; font-weight:700; color:var(--verde-principal); margin:0 auto;}

  /* GRAFICO INTERACTIVO */
  .grafico-section{padding:20px 0 60px; background:var(--gris-claro);}
  .grafico-box{
    max-width:680px; margin:0 auto; aspect-ratio:1/1; border-radius:50%;
  }
  .grafico-caption{text-align:center; color:var(--gris-medio); font-size:13px; margin-top:16px;}

  /* SECCION LIDERES */
  .mundo-arco-wrap{
    display:flex; justify-content:center; position:relative; z-index:3; margin-top:4px;
    overflow:hidden; width:100%; max-width:1100px; margin-left:auto; margin-right:auto;
    aspect-ratio: 900/440; /* recorta bien la franja vacia superior */
  }
  .mundo-arco-canvas{
    position:relative; width:100%; max-width:1100px;
    aspect-ratio: 900/560;
    margin-top:-13.33%; /* sube el canvas para achicar el hueco sobre el 3R */
    margin-bottom:0; /* el globo (dentro del canvas) queda al ras del recuadro verde */
  }
  .arco-conector{
    position:absolute; top:0; left:0; width:100%; height:100%;
    z-index:2; pointer-events:none;
  }
  .arco-item{
    position:absolute; transform:translate(-50%,-50%);
    height:auto; display:block; z-index:3;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.15));
  }
  .globo-dome{
    position:absolute; left:17.9%; top:49.5%; width:64.3%; height:50.5%;
    overflow:hidden; border-radius:50% 50% 0 0 / 100% 100% 0 0;
    box-shadow:0 -6px 20px rgba(0,0,0,.1); z-index:1;
  }
  .globo-dome img{
    position:absolute; top:16%; left:18%; width:64%; aspect-ratio:1/1; display:block;
    animation: girar-mundo 60s linear infinite;
    transform-origin: 50% 50%; /* gira sobre su propio centro, como una rueda, sin desplazarse */
    will-change: transform;
  }
  @keyframes girar-mundo{
    from{ transform: rotate(0deg); }
    to{ transform: rotate(360deg); }
  }
  .lideres{background:linear-gradient(135deg,#0f8a5f,#0c6b48); border-radius:24px; margin:0 auto 60px; max-width:1152px; padding:44px; padding-top:60px; color:#fff; display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center; position:relative; z-index:1;}
  .lideres h2{font-size:28px; font-weight:800; line-height:1.25; margin-bottom:16px;}
  .lideres p{font-size:15px; opacity:.95; margin-bottom:24px; line-height:1.6;}
  .lideres-ctas{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
  .btn-white{background:#fff; color:var(--verde-oscuro); font-weight:700; padding:12px 22px; border-radius:30px; font-size:14px;}
  .link-white{color:#fff; font-weight:600; font-size:14px; text-decoration:underline;}
  .carousel-card{background:#fff; border-radius:16px; padding:20px; min-width:0;}
  .carousel-item{display:flex; gap:16px;}
  .carousel-product{flex:1; cursor:pointer; border-radius:10px; padding:8px; transition:background .15s;}
  .carousel-product:hover{background:var(--verde-claro);}
  .carousel-product .placeholder-img{height:100px; width:100px; border-radius:8px; font-size:9px; margin-bottom:10px;}
  .carousel-img{height:100px; width:100px; object-fit:contain; border-radius:8px; margin-bottom:10px; background:#f7f9f8; padding:8px;}
  .carousel-product h4{font-size:14px; font-weight:700; color:var(--gris-oscuro); margin-bottom:4px; border-left:3px solid var(--verde-principal); padding-left:8px;}
  .carousel-product p{font-size:12px; color:var(--gris-medio); padding-left:11px;}

  /* RESPALDO GLOBAL - reducido */
  .respaldo{background:var(--verde-oscuro); color:#fff; padding:36px 0; margin-bottom:60px;}
  .respaldo h2{text-align:center; font-size:24px; font-weight:800; margin-bottom:6px;}
  .respaldo .sub{text-align:center; color:#c9d3cf; font-size:13px; max-width:600px; margin:0 auto 28px;}
  .respaldo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
  .respaldo-item .icon{width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; margin:0 auto 10px; font-size:18px;}
  .respaldo-item h4{font-size:14px; font-weight:700; margin-bottom:2px;}
  .respaldo-item p{font-size:12px; color:#a9b6b1;}

  /* SECCIONES ESTANDAR */
  .section{padding:50px 0;}
  .section-head{text-align:center; margin-bottom:36px;}
  .section-head h2{font-size:28px; font-weight:800; margin-bottom:8px;}
  .section-head p{color:var(--gris-medio); font-size:15px;}
  .grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  .card{border:1px solid var(--borde); border-radius:12px; padding:24px;}
  .card .icon{width:44px; height:44px; border-radius:10px; background:var(--verde-claro); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-size:20px;}
  .card h4{font-size:16px; font-weight:700; margin-bottom:6px;}
  .card p{font-size:14px; color:var(--gris-medio);}
  .industry-card{border:1px solid var(--borde); border-radius:12px; padding:20px; text-align:center;}
  .industry-card .icon{width:44px; height:44px; border-radius:50%; background:var(--gris-claro); display:flex; align-items:center; justify-content:center; margin:0 auto 10px; font-size:18px;}
  .industry-card h4{font-size:14px; font-weight:700;}

  .grid-industrias{
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  }
  .industry-card-v2{
    border:1px solid var(--borde); border-radius:14px; overflow:hidden; background:#fff;
    text-align:center; transition:box-shadow .15s;
  }
  .industry-card-v2:hover{ box-shadow:0 8px 20px rgba(15,40,30,.08); }
  .industry-photo{
    width:100%; aspect-ratio:4/3; object-fit:cover; display:block;
  }
  .industry-card-v2 h4{ font-size:14px; font-weight:700; padding:14px 10px; }
  /* si el total no es multiplo de 3, centrar el ultimo item solitario */
  .grid-industrias .industry-card-v2:last-child:nth-child(3n+1){
    grid-column: 2 / 3;
  }

  /* IMPACTO AMBIENTAL */
  .impacto{display:flex; flex-direction:column; gap:32px;}
  .impacto-img-top{ width:100%; }
  .impacto-img-real{ width:100%; max-width:800px; margin:0 auto; display:block; border-radius:16px; }
  .impacto-texto{ max-width:700px; margin:0 auto; text-align:left; }
  .impacto-eyebrow{display:inline-flex; align-items:center; gap:6px; background:var(--verde-claro); color:var(--verde-principal); font-size:12px; font-weight:700; padding:6px 12px; border-radius:30px; margin-bottom:16px;}
  .impacto h2{font-size:28px; font-weight:800; margin-bottom:14px; line-height:1.25;}
  .impacto-texto > p{color:var(--gris-medio); margin-bottom:20px;}
  .impacto-item{display:flex; gap:12px; margin-bottom:16px;}
  .impacto-item .icon{width:34px; height:34px; border-radius:8px; background:var(--verde-claro); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px;}
  .impacto-item h5{font-size:14px; font-weight:700; margin-bottom:2px;}
  .impacto-item p{font-size:13px; color:var(--gris-medio);}

  /* FORM */
  .form-section{background:var(--gris-claro); padding:60px 0;}
  .form-box{max-width:700px; margin:0 auto; background:#fff; border:1px solid var(--borde); border-radius:16px; padding:36px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  .form-row label{display:block; font-size:13px; font-weight:700; margin-bottom:6px;}
  .form-row input, .form-row select, .form-row textarea{width:100%; padding:11px 12px; border:1px solid var(--borde); border-radius:8px; font-size:14px; background:#fafbfa; font-family:inherit;}
  .form-row textarea{resize:vertical; min-height:90px;}
  .form-row-full{grid-template-columns:1fr;}
  .form-submit-wrap{text-align:center; margin-top:6px;}
  .btn-enviar-cotizacion{border:none; cursor:pointer; font-size:15px; padding:13px 32px;}

  /* FORMULARIO: campos con error y avisos (SweetAlert2) */
  .form-row input.campo-error, .form-row select.campo-error, .form-row textarea.campo-error{
    border-color:#d64545; background:#fff7f7;
  }
  .swal2-popup.swal-eltete{ font-family:var(--font-body); border-radius:16px; }
  .swal2-popup.swal-eltete .swal2-title{ color:var(--verde-oscuro); font-size:22px; }
  .swal2-popup.swal-eltete .swal2-html-container{ color:var(--gris-medio); font-size:15px; line-height:1.5; }
  .swal2-popup.swal-eltete a{ color:var(--verde-principal); font-weight:600; }
  .swal2-popup.swal-eltete .swal2-loader{ border-color:var(--verde-principal) transparent var(--verde-principal) transparent; }

  /* BOTON FLOTANTE DE WHATSAPP */
  .whatsapp-float-btn{
    position:fixed; right:22px; bottom:38px; z-index:99998;
    display:flex; align-items:center; gap:9px;
    background:#25D366; color:#fff; text-decoration:none; font-weight:700; font-size:14px;
    padding:12px 20px 12px 12px; border-radius:32px; box-shadow:0 6px 18px rgba(0,0,0,.25);
    transform:translateX(140px); opacity:0;
    animation: wa-slide-in .6s ease-out .8s forwards, wa-pulse 2.6s ease-in-out 2.4s infinite;
  }
  .whatsapp-float-btn:hover{ filter:brightness(1.05); }
  .whatsapp-float-btn svg{ width:28px; height:28px; flex-shrink:0; display:block; }
  .whatsapp-float-btn .wa-text{ white-space:nowrap; }
  @keyframes wa-slide-in{
    from{ transform:translateX(140px); opacity:0; }
    to{ transform:translateX(0); opacity:1; }
  }
  @keyframes wa-pulse{
    0%,100%{ box-shadow:0 6px 18px rgba(0,0,0,.25), 0 0 0 0 rgba(37,211,102,.55); }
    50%{ box-shadow:0 6px 18px rgba(0,0,0,.25), 0 0 0 12px rgba(37,211,102,0); }
  }
  @media(max-width:640px){
    .whatsapp-float-btn{ right:14px; padding:12px; }
    .whatsapp-float-btn .wa-text{ display:none; }
  }

  /* FOOTER */
  footer{background:var(--verde-oscuro); color:#cdd6d2; padding:50px 0 24px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; margin-bottom:36px;}
  .footer-logo{display:flex; align-items:center; gap:10px; margin-bottom:14px;}
  .footer-logo .sq{width:36px; height:36px; background:rgba(255,255,255,.1); border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; color:#fff;}
.footer-logo-img{ height:32px; width:auto; display:block; filter:brightness(0) invert(1); opacity:.92; }
  .footer-logo strong{color:#fff; display:block; font-size:14px;}
  .footer-logo span{font-size:12px; color:#9fada7;}
  footer h5{color:#fff; font-size:14px; font-weight:700; margin-bottom:14px;}
  footer ul{list-style:none;}
  footer li{margin-bottom:10px; font-size:13px;}
  .footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding-top:20px; display:flex; justify-content:space-between; font-size:12px; color:#8fa09a; flex-wrap:wrap; gap:10px;}

  @media(max-width:860px){
    .lideres{grid-template-columns:1fr;}
    .grid-3, .grid-4, .grid-industrias, .respaldo-grid, .footer-grid{grid-template-columns:repeat(2,1fr);}
    .grid-industrias .industry-card-v2:last-child:nth-child(3n+1){grid-column:auto;}
    .impacto-texto{padding:0 4px;}
    nav{display:none;}
  }

<style>
/* DROPDOWN DE PRODUCTOS EN NAV */
.nav-item{ position:relative; display:inline-flex; align-items:center; }
.productos-dropdown{
  display:none;
  position:absolute;
  top:100%;
  padding-top:16px;
  left:50%;
  transform:translateX(-50%);
  z-index:60;
}
.productos-dropdown-inner{
  background:#fff;
  border:1px solid var(--borde);
  border-radius:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.14);
  padding:20px;
}
.nav-item.dropdown-open .productos-dropdown{ display:block; }
.dropdown-cards{ display:flex; gap:14px; }
.dropdown-card{
  width:130px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
  border:1px solid var(--borde); border-radius:10px; padding:10px;
  transition:.15s; color:var(--gris-oscuro); font-size:12.5px; font-weight:700;
  background:#fff;
}
.dropdown-card:hover{ border-color:var(--verde-principal); background:var(--verde-claro); }
.dropdown-card img{
  width:100%; height:84px; object-fit:cover; border-radius:8px; margin-bottom:10px; display:block;
}
.dropdown-collage{
  width:100%; height:84px; border-radius:8px; margin-bottom:10px; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:2px;
}
.dropdown-collage img{ width:100%; height:100%; object-fit:cover; display:block; }

/* ESTILOS DE PAGINAS DE PRODUCTO (fusionados) */

:root{
  --verde-principal:#0f8a5f;
  --verde-oscuro:#1a2e2a;
  --verde-claro:#e8f7f0;
  --gris-oscuro:#1f2937;
  --gris-medio:#5b6470;
  --gris-claro:#f4f6f5;
  --blanco:#ffffff;
  --borde:#e3e7e5;
}
body{font-family:'Segoe UI', system-ui, -apple-system, sans-serif; color:var(--gris-oscuro); line-height:1.5; background:#fff;}
.badge-note{
  display:inline-block; background:#fff3cd; color:#7a5c00; font-size:11px;
  font-weight:700; padding:2px 8px; border-radius:4px; margin-left:8px; letter-spacing:.03em;
  text-transform:uppercase; vertical-align:middle;
}
.placeholder-img{
  background:repeating-linear-gradient(45deg,#eef1f0,#eef1f0 10px,#e4e9e7 10px,#e4e9e7 20px);
  border:2px dashed #b9c3bf; border-radius:12px; display:flex; align-items:center; justify-content:center;
  color:#7a8a84; font-size:13px; text-align:center; padding:20px;
}

/* HEADER */
header{border-bottom:1px solid var(--borde); position:sticky; top:0; background:#fff; z-index:50;}
.logo{background:var(--verde-principal); color:#fff; font-weight:800; font-size:20px; padding:8px 14px; border-radius:8px; letter-spacing:.02em;}
.phone{font-size:14px; font-weight:600; display:flex; align-items:center; gap:6px;}
.btn-cotizar{background:var(--verde-principal); color:#fff; font-weight:700; font-size:14px; padding:10px 18px; border-radius:8px; white-space:nowrap;}

/* PRODUCTO HERO */
.section{padding:50px 0;}
.producto-hero{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center;}
.producto-hero h1{font-size:32px; font-weight:800; margin-bottom:12px;}
.producto-hero .desc{color:var(--gris-medio); font-size:14px; margin-bottom:20px; line-height:1.6;}
.producto-img{aspect-ratio:4/3; border-radius:16px;}
.producto-img-real{width:100%; max-width:none; aspect-ratio:4/3; object-fit:cover; border-radius:16px; display:block; background:#f4f6f5;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.btn-verde{background:var(--verde-principal); color:#fff; font-weight:700; padding:13px 22px; border-radius:8px; font-size:14px;}
.btn-outline{border:1px solid var(--gris-oscuro); color:var(--gris-oscuro); font-weight:700; padding:13px 22px; border-radius:8px; font-size:14px; display:inline-flex; align-items:center; gap:6px;}

/* SECTIONS */
.section-head{text-align:center; margin-bottom:36px;}
.section-head h2{font-size:28px; font-weight:800;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.card{border:1px solid var(--borde); border-radius:12px; padding:24px; background:#fff;}
.card .icon{width:40px; height:40px; border-radius:10px; background:var(--verde-claro); color:var(--verde-principal); display:flex; align-items:center; justify-content:center; margin-bottom:14px; font-weight:800;}
.card h4{font-size:16px; font-weight:700; margin-bottom:8px;}
.lista{margin-top:14px; padding-left:18px;}
.lista li{font-size:14px; margin-bottom:8px; color:var(--gris-oscuro);}
.lista li::marker{color:var(--verde-principal);}

/* SPECS */
.specs-box{border:1px solid var(--borde); border-radius:12px; background:#fff; padding:8px 28px;}
.spec-row{display:flex; justify-content:space-between; padding:16px 0; border-bottom:1px solid var(--borde); font-size:14px;}
.spec-row:last-child{border-bottom:none;}
.spec-row span:first-child{font-weight:700;}
.spec-row span:last-child{color:var(--gris-medio);}

/* CTA FINAL */
.cta-final{background:var(--gris-claro);}
.cta-final h2{font-size:26px; font-weight:800; margin-bottom:10px;}
.cta-final p{color:var(--gris-medio); max-width:560px; margin:0 auto 24px;}

/* TABS (Productos Especiales) */
.tabs{display:flex; gap:10px; justify-content:center; margin-bottom:36px; flex-wrap:wrap;}
.tab{padding:10px 20px; border-radius:30px; border:1px solid var(--borde); font-size:14px; font-weight:600; cursor:pointer; background:#fff;}
.tab.active{background:var(--verde-principal); color:#fff; border-color:var(--verde-principal);}
.especial-card{border:1px solid var(--borde); border-radius:14px; padding:20px; background:#fff;}
.especial-card .placeholder-img{aspect-ratio:4/3; margin-bottom:14px;}
.especial-card h4{font-size:16px; font-weight:700; margin-bottom:6px;}
.especial-card p{font-size:13px; color:var(--gris-medio); margin-bottom:14px;}
.especial-card .btn-outline{font-size:12px; padding:8px 14px;}

/* FOOTER */
footer{background:var(--verde-oscuro); color:#cdd6d2; padding:50px 0 24px;}

@media(max-width:860px){
  .producto-hero, .grid-3, .grid-2, .footer-grid{grid-template-columns:1fr;}
  nav{display:none;}
}

:root{
  --verde-principal:#0f8a5f;
  --verde-oscuro:#1a2e2a;
  --verde-claro:#e8f7f0;
  --gris-oscuro:#1f2937;
  --gris-medio:#5b6470;
  --gris-claro:#f4f6f5;
  --blanco:#ffffff;
  --borde:#e3e7e5;
}
.producto-img-contain{width:100%; aspect-ratio:4/3; border-radius:16px; background:#f4f6f5; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.producto-img-contain img{width:85%; height:85%; object-fit:contain; display:block;}
.especial-card{border:1px solid var(--borde); border-radius:14px; padding:20px; background:#fff; display:flex; flex-direction:column;}
.especial-card p{flex-grow:1;}
.especial-card .hero-ctas{margin-top:auto;}

/* FOOTER */
/* APLICACIÓN DE PRODUCTOS ESPECIALES */
.aplicacion-video{width:50%; aspect-ratio:16/9; border-radius:16px; margin:0 auto 24px; background:#000; object-fit:cover; display:block;}
@media(max-width:860px){
  .aplicacion-video{width:100%;}
}
.aplicacion-fotos{display:flex; flex-wrap:wrap; justify-content:center; gap:20px;}
.aplicacion-foto{border-radius:12px; overflow:hidden; background:#fff; border:1px solid var(--borde); width:280px; flex-shrink:0;}
.aplicacion-foto img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
.aplicacion-foto figcaption{font-size:12px; color:var(--gris-medio); text-align:center; padding:10px 8px;}

.casos-aplicacion-grid{display:flex; flex-wrap:wrap; justify-content:center; gap:28px;}
.caso-aplicacion{width:170px; text-align:center; flex-shrink:0;}
.caso-aplicacion-circulo{
  width:150px; height:150px; border-radius:50%; background:#c3e867;
  margin:0 auto 14px; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.caso-aplicacion-circulo img{width:78%; height:78%; object-fit:contain;}
.caso-aplicacion p{font-size:14px; font-weight:600; color:var(--gris-oscuro); margin:0;}
@media(max-width:860px){
  .aplicacion-foto{width:220px;}
}

  .especiales-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .especial-card.hidden{display:none;}
  @media(max-width:860px){.especiales-grid{grid-template-columns:repeat(2,1fr);}}

  .carousel-viewport{ overflow:hidden; }
  .carousel-track{
    display:flex;
    transition: transform .35s ease;
  }
  .carousel-track .carousel-product{
    flex:0 0 50%;
    max-width:50%;
    box-sizing:border-box;
  }
  .carousel-nav{
    display:flex; align-items:center; justify-content:center; gap:16px;
    margin-top:14px;
  }
  .carousel-arrow{
    width:34px; height:34px; border-radius:50%; border:1px solid var(--borde);
    background:#fff; color:var(--verde-oscuro); font-size:15px; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:.15s;
  }
  .carousel-arrow:hover{ background:var(--verde-claro); border-color:var(--verde-principal); }
  .carousel-arrow:disabled{ opacity:.35; cursor:default; }
  .carousel-arrow:disabled:hover{ background:#fff; border-color:var(--borde); }
  .carousel-dots{ display:flex; gap:6px; }
  .carousel-dot{ width:6px; height:6px; border-radius:50%; background:var(--borde); transition:.15s; }
  .carousel-dot.active{ background:var(--verde-principal); width:16px; border-radius:4px; }

  .otras-soluciones-mini{max-width:400px;}
  .otras-soluciones-mini .lideres{padding:14px 16px; margin-bottom:0; margin-top:22px; border-radius:14px; gap:10px; display:block;}
  .otras-soluciones-mini .lideres h2{font-size:15px; margin-bottom:3px;}
  .otras-soluciones-mini .lideres p{font-size:11px; margin-bottom:10px;}
  .otras-soluciones-mini .carousel-card{padding:6px;}
  .otras-soluciones-mini .carousel-product{text-align:center; padding:4px;}
  .otras-soluciones-mini .carousel-product p{display:none;}
  .otras-soluciones-mini .carousel-product h4{border-left:none; padding-left:0; margin-bottom:0; font-size:12px;}
  .otras-soluciones-mini .carousel-img{height:82px; width:82px; padding:6px; margin:0 auto 5px;}
  .otras-soluciones-mini .carousel-nav{margin-top:4px;}
  .otras-soluciones-mini .carousel-arrow{width:22px; height:22px; font-size:10px;}

  .otras-soluciones-full .lideres{padding:20px 26px; margin-bottom:0; margin-top:8px; border-radius:16px; display:block;}
  .otras-soluciones-full .lideres h2{font-size:18px; margin-bottom:4px;}
  .otras-soluciones-full .lideres p{font-size:13px; margin-bottom:14px;}
  .otras-soluciones-full .carousel-card{display:flex; gap:14px; padding:12px; justify-content:center; flex-wrap:wrap;}
  .otras-soluciones-full .carousel-product{flex:1 1 140px; max-width:160px; text-align:center; padding:8px;}
  .otras-soluciones-full .carousel-product p{display:none;}
  .otras-soluciones-full .carousel-product h4{border-left:none; padding-left:0; margin-bottom:0; font-size:13px;}
  .otras-soluciones-full .carousel-img{height:78px; width:78px; padding:6px; margin:0 auto 6px;}


/* PAGINA LEGAL (Terminos / Privacidad) */
.legal-content{max-width:800px; margin:0 auto;}
.legal-content h1{font-size:32px; font-weight:800; margin-bottom:8px; color:var(--gris-oscuro);}
.legal-content .legal-updated{color:var(--gris-medio); font-size:13px; margin-bottom:32px;}
.legal-content h2{font-size:19px; font-weight:700; margin:30px 0 10px; color:var(--gris-oscuro);}
.legal-content p{color:var(--gris-medio); font-size:14px; line-height:1.7; margin-bottom:4px;}
.legal-content a{color:var(--verde-principal); text-decoration:underline;}
.legal-content .volver{display:inline-block; margin-top:36px; font-weight:700; color:var(--verde-principal);}
