
:root{
  --hoja:#3FA34D;        /* verde de la hoja en la rotulación */
  --hoja-hover:#348A40;
  --cuca:#163D22;        /* verde oscuro de la cucaracha */
  --cuca-2:#1E4D2C;
  --menta:#E6F2E2;
  --negro:#000000;
  --texto:#1C2320;
  --gris:#59645E;
  --linea:#D8DED6;
  --blanco:#FFFFFF;
  --mide:#D6336C;
  --max:1320px;
  --CUCA:url("https://www.fumigacionesrangel.com.mx/wp-content/uploads/2025/08/rangel-cucaracha.png");
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Archivo",system-ui,sans-serif;color:var(--texto);background:var(--blanco);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:"Roboto Slab",Georgia,serif;line-height:1.02;letter-spacing:-.02em;font-weight:900}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 48px}
:focus-visible{outline:3px solid var(--hoja);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Pestaña verde del teléfono, igual que en la puerta de los autos */
.tab{display:inline-flex;align-items:center;gap:10px;background:var(--hoja);color:#fff;font:900 22px/1 "Roboto Slab",serif;letter-spacing:-.01em;padding:11px 16px 10px;text-decoration:none;border-radius:2px;white-space:nowrap}
.tab:hover{background:var(--hoja-hover)}
.tab svg{width:20px;height:20px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 17px/1 "Archivo",sans-serif;padding:18px 26px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.btn svg{width:21px;height:21px;flex:none}
.btn-hoja{background:var(--hoja);color:#fff}
.btn-hoja:hover{background:var(--hoja-hover)}
.btn-negro{background:var(--negro);color:#fff}
.btn-negro:hover{background:var(--cuca)}
.btn-blanco{background:#fff;color:var(--cuca)}
.btn-blanco:hover{background:var(--menta)}
.btn-borde{background:transparent;color:var(--texto);box-shadow:inset 0 0 0 2px var(--texto)}
.btn-borde:hover{background:var(--texto);color:#fff}

/* Capa de Lionhead */
.preview{background:var(--negro);color:#BFC6C1;font-size:13.5px}
.preview .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;padding-top:6px;padding-bottom:6px}
.preview strong{color:#fff}
.toggle{background:none;border:1px solid #555;color:#fff;border-radius:4px;padding:5px 12px;font:600 13px "Archivo",sans-serif;cursor:pointer;white-space:nowrap}
body.medir .toggle{background:var(--mide);border-color:var(--mide)}

/* Encabezado */
.top{background:#fff;position:sticky;top:0;z-index:40;border-bottom:1px solid var(--linea)}
.top .wrap{display:flex;align-items:center;gap:36px;height:84px}
.top .logo img{height:54px;width:auto}
.top nav{display:flex;gap:28px;font-weight:600;font-size:16px;margin-right:auto;white-space:nowrap}
.top nav a{text-decoration:none;color:var(--gris)}
.top nav a:hover{color:var(--texto)}
.top .btn{padding:13px 20px;font-size:15.5px}

/* Hero */
.hero{position:relative;overflow:hidden;background:#fff}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:0;min-height:calc(100vh - 122px);max-height:900px}
.hero-izq{padding:64px 56px 64px 0;display:flex;flex-direction:column;justify-content:center;position:relative;z-index:2}
.hero h1{font-size:clamp(40px,4.4vw,68px);color:var(--negro)}
.hero h1 span{display:block;color:var(--hoja)}
.hero .sub{font-size:19px;color:var(--gris);margin:18px 0 0;max-width:40ch}
.pregunta{font:900 30px/1.1 "Roboto Slab",serif;margin:34px 0 16px;padding-top:30px;border-top:2px solid var(--texto);color:var(--negro)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid var(--texto);border-radius:999px;padding:13px 20px;font:700 17.5px "Archivo",sans-serif;color:var(--texto);transition:background .12s,color .12s,border-color .12s}
.chip:hover{background:var(--menta)}
.chip:focus-visible{outline:3px solid var(--hoja);outline-offset:2px}
.chip[aria-pressed="true"]{background:var(--cuca);border-color:var(--cuca);color:#fff}
.envio{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
select{flex:1 1 220px;padding:16px 46px 16px 18px;border:2px solid var(--linea);border-radius:999px;font:600 16.5px "Archivo",sans-serif;color:var(--texto);background:#fff;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231C2320' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center}
.hero .nota{margin-top:16px;font-size:15.5px;color:var(--gris)}
.hero .nota a{font-weight:700;color:var(--texto)}
.hero-der{position:relative}
.hero-foto{position:absolute;top:0;bottom:0;left:0;width:calc(100% + (100vw - var(--max))/2 + 48px);border-bottom-left-radius:260px;overflow:hidden;background:var(--menta)}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:74% 55%}
.hero-cuca{position:absolute;left:-150px;bottom:34px;width:300px;height:190px;background:var(--CUCA) center/contain no-repeat;transform:rotate(-24deg);z-index:3;pointer-events:none}
.hero-pie{position:absolute;right:24px;bottom:22px;background:#fff;padding:10px 14px;font-size:13.5px;font-weight:600;border-radius:2px;color:var(--texto)}

/* Franja de hechos */
.hechos{background:var(--cuca);color:#fff}
.hechos .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:24px;padding-bottom:24px;flex-wrap:wrap}
.hechos p{font:700 19px "Roboto Slab",serif;display:flex;align-items:center;gap:12px}
.hechos p::before{content:"";width:16px;height:16px;background:var(--hoja);border-radius:0 50% 0 50%}

.sec{padding:120px 0}
.sec h2{font-size:clamp(36px,4.2vw,62px)}
.intro{font-size:20px;color:var(--gris);max-width:52ch;margin-top:18px}

/* Plagas con foto */
.plagas{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px;margin-top:64px}
.plaga{text-decoration:none;display:block}
.plaga .foto{aspect-ratio:4/3;overflow:hidden;border-radius:0 0 0 90px;background:var(--menta)}
.plaga:nth-child(3n+2) .foto{border-radius:0 90px 0 0}
.plaga .foto img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.plaga:hover .foto img{transform:scale(1.04)}
.plaga h3{font-size:28px;margin:22px 0 8px}
.plaga p{color:var(--gris);font-size:17px}
.plaga .queda{display:inline-block;margin-top:14px;background:var(--menta);color:var(--cuca);font-weight:700;font-size:15px;padding:6px 12px;border-radius:2px}
.plaga .cta{display:block;margin-top:14px;font-weight:800;color:var(--hoja)}
.plaga:hover .cta{text-decoration:underline}

/* Termitas */
.termitas{background:var(--cuca);color:#fff;position:relative;overflow:hidden}
.termitas .wrap{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center;position:relative}
.termitas h2{color:#fff}
.termitas .intro{color:#C5D6C9}
.termitas ol{list-style:none;margin:36px 0 40px;display:grid;gap:20px;counter-reset:t}
.termitas li{display:grid;grid-template-columns:48px 1fr;gap:14px;color:#E6EFE8;font-size:18px;align-items:baseline}
.termitas li::before{counter-increment:t;content:counter(t);font:900 26px "Roboto Slab",serif;color:var(--hoja)}
.cert{background:#FCFCF9;color:var(--texto);padding:40px 40px 34px;transform:rotate(-2deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);position:relative;max-width:500px;justify-self:center;width:100%}
.cert .c-top{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid var(--texto);padding-bottom:16px}
.cert .c-top img{height:44px}
.cert .c-top div{text-align:right;font-size:13px;color:var(--gris)}
.cert .c-top b{display:block;color:var(--texto);font-size:16px}
.cert h4{font:900 26px "Roboto Slab",serif;margin:22px 0 16px}
.cert dl{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15px}
.cert dt{color:var(--gris)}
.cert dd{border-bottom:1px dotted #B5BCB2;font-weight:700;min-height:22px}
.cert .firma{margin-top:34px;display:flex;justify-content:space-between;font-size:13px;color:var(--gris)}
.cert .firma span{border-top:1px solid var(--texto);padding-top:6px;width:52%}
.sello{position:absolute;right:34px;bottom:26px;width:122px;height:122px;border-radius:50%;border:3px solid #2E7D32;color:#2E7D32;display:grid;place-items:center;text-align:center;transform:rotate(-14deg);opacity:.85;font:800 15px/1.05 "Roboto Slab",serif}
.sello b{display:block;font-size:38px}

/* Negocios: foto a sangre */
.negocios{display:grid;grid-template-columns:1fr 1fr;min-height:720px}
.negocios .foto{position:relative;overflow:hidden;background:var(--menta)}
.negocios .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.negocios .texto{padding:110px max(48px,calc((100vw - var(--max))/2 + 48px)) 110px 88px;display:flex;flex-direction:column;justify-content:center}
.bloque{margin-top:40px;padding-top:32px;border-top:2px solid var(--texto)}
.bloque h3{font-size:26px;margin-bottom:10px}
.bloque p{color:var(--gris);font-size:17.5px}
.bloque .btn{margin-top:20px}

/* Pasos */
.pasos{background:var(--menta)}
.linea{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:64px}
.paso{border-top:3px solid var(--cuca);padding-top:22px}
.paso .n{font:900 64px/1 "Roboto Slab",serif;color:var(--hoja);display:block;margin-bottom:14px}
.paso h3{font-size:24px;margin-bottom:10px}
.paso p{color:var(--gris);font-size:17px}

/* Garantía clientes */
.clientes .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;padding-top:72px;padding-bottom:72px;border-top:2px solid var(--linea)}
.clientes .hoja-ic{width:72px;height:72px;background:var(--menta);border-radius:0 50% 0 50%;display:grid;place-items:center;color:var(--cuca)}
.clientes .hoja-ic svg{width:34px;height:34px}
.clientes h2{font-size:clamp(26px,2.6vw,36px)}
.clientes p{color:var(--gris);margin-top:8px;max-width:60ch}

/* Cobertura */
.cobertura{background:var(--menta)}
.cobertura .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}
.munis{list-style:none;columns:2;column-gap:32px;margin-top:32px;max-width:440px}
.munis li{font:700 18px "Archivo",sans-serif;padding:7px 0 7px 26px;position:relative;cursor:default;break-inside:avoid;transition:color .12s}
.munis li::before{content:"";position:absolute;left:0;top:14px;width:13px;height:13px;background:var(--hoja);border-radius:0 50% 0 50%}
.munis li.on{color:var(--hoja-hover)}
.estados{margin-top:26px;color:var(--gris)}
.estados b{color:var(--texto)}
.mapa{width:100%;height:auto;display:block}
.m-base path{fill:#fff;stroke:var(--menta);stroke-width:1.4}
.m-cub path{fill:var(--hoja);stroke:#fff;stroke-width:1.4;transition:fill .12s}
.m-cub path.on,.m-cub path:hover{fill:var(--cuca)}
.m-lab{pointer-events:none}
.m-lab text{font:700 12.5px "Archivo",sans-serif;fill:#fff;paint-order:stroke;stroke:#1E4D2C;stroke-width:3px;stroke-linejoin:round}
.m-lab line{stroke:var(--cuca);stroke-width:1.2}

/* Preguntas */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:96px;align-items:start}
.faq details:first-of-type{margin-top:0}
details{border-bottom:2px solid var(--linea)}
details:first-of-type{border-top:2px solid var(--linea);margin-top:28px}
summary{list-style:none;cursor:pointer;padding:22px 48px 22px 0;font:800 20px "Roboto Slab",serif;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 34px "Archivo",sans-serif;color:var(--hoja)}
details[open] summary::after{content:"\2212"}
details p{color:var(--gris);padding:0 0 24px;font-size:17px}

/* Cierre */
.cierre{display:grid;grid-template-columns:1.1fr 1fr;min-height:620px;background:var(--cuca);color:#fff}
.cierre-foto{position:relative;overflow:hidden;background:var(--cuca-2)}
.cierre-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 60%}
.cierre-texto{padding:96px max(48px,calc((100vw - var(--max))/2 + 48px)) 96px 80px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.cierre h2{color:#fff;font-size:clamp(36px,3.6vw,56px);max-width:14ch}
.cierre-texto p{color:#C5D6C9;font-size:19px;margin:18px 0 34px}
.btn-xl{font-size:19px;padding:21px 30px}
.btn-xl svg{width:24px;height:24px}
.cierre-tel{margin-top:22px;text-decoration:none;color:#fff;font:900 34px/1 "Roboto Slab",serif;letter-spacing:-.01em;display:flex;align-items:baseline;gap:12px}
.cierre-tel span{font:500 17px "Archivo",sans-serif;color:#C5D6C9;letter-spacing:0}
.cierre-tel:hover{color:#8FD694}

footer{background:var(--negro);color:#9AA39D;padding:0 0 32px;font-size:15px}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-top:56px}
footer .logo-f{background:#fff;padding:10px 14px;display:inline-block;border-radius:2px}
footer .logo-f img{height:40px}
footer h4{color:#fff;font:700 15px "Archivo",sans-serif;margin-bottom:10px}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer p{margin-bottom:6px}
footer .legal{grid-column:1/-1;border-top:1px solid #2A2F2C;padding-top:20px;margin-top:12px;font-size:13px;color:#6E7671}

.barra-movil{display:none}

/* Modo medición */
body.medir [data-mide]{outline:2.5px dashed var(--mide);outline-offset:3px}
.toast{position:fixed;left:24px;bottom:24px;z-index:100;background:#111;color:#fff;border-radius:8px;padding:18px 20px;width:min(440px,calc(100% - 32px));box-shadow:0 20px 50px -10px rgba(0,0,0,.5);font-size:14.5px;border-top:4px solid var(--mide);opacity:0;transform:translateY(16px);transition:opacity .2s,transform .2s;pointer-events:none}
.toast.on{opacity:1;transform:none}
.toast strong{display:block;margin-bottom:8px;font-size:15px}
.toast table{width:100%;border-collapse:collapse}
.toast td{padding:3px 0;vertical-align:top}
.toast td:first-child{color:#9AA4AA;width:44%}
.contador{display:none;position:fixed;right:24px;bottom:24px;z-index:60;background:#fff;border:2px solid var(--mide);border-radius:8px;padding:12px 16px;font-size:14px;box-shadow:0 12px 30px -12px rgba(0,0,0,.4)}
body.medir .contador{display:flex;align-items:baseline;gap:12px}
.contador b{font:900 28px "Roboto Slab",serif;color:var(--mide)}

/* Responsivo */
@media (max-width:1100px){
  .top nav{display:none}
  .top .wrap{justify-content:space-between}
  .hero .wrap{grid-template-columns:1fr;min-height:0;max-height:none}
  .hero-izq{padding:56px 0 48px}
  .hero-der{height:460px;margin:0 -48px}
  .hero-foto{width:100%;border-bottom-left-radius:0;border-top-right-radius:160px}
  .hero-cuca{left:auto;right:20px;bottom:auto;top:-110px;width:220px;height:140px}
  .plagas{grid-template-columns:repeat(2,1fr)}
  .termitas .wrap,.cobertura .wrap,.faq .wrap{grid-template-columns:1fr;gap:56px}
  .negocios{grid-template-columns:1fr}
  .negocios .foto{min-height:420px}
  .negocios .texto{padding:80px 48px}
  .linea{grid-template-columns:repeat(2,1fr)}
  .clientes .wrap{grid-template-columns:1fr;gap:20px}
  .cierre{grid-template-columns:1fr}
  .cierre-foto{min-height:380px}
  .cierre-texto{padding:72px 48px}
  .t-grid{grid-template-columns:1fr;gap:16px}
  .t-main{padding:28px}
}
@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 20px}
  .preview .wrap{flex-direction:column;align-items:flex-start;gap:6px;padding-top:10px;padding-bottom:10px}
  .top .wrap{height:68px;gap:12px}
  .top .logo img{height:40px}
  .top .btn{display:none}
  .top .tab{font-size:17px;padding:9px 12px 8px}
  .top .tab svg{display:none}
  .hero-izq{padding:36px 0 36px}
  .hero h1{font-size:44px}
  .hero .sub{font-size:17.5px;margin:16px 0 26px}
  .chip{font-size:15px;padding:10px 14px}
  .envio .btn{flex:1 1 100%}
  .hero-der{height:320px;margin:0 -20px}
  .hero-foto{border-top-right-radius:110px}
  .hero-cuca{width:150px;height:95px;top:-70px;right:10px}
  .hechos .wrap{flex-direction:column;gap:12px}
  .hechos p{font-size:17px}
  .sec{padding:80px 0}
  .intro{font-size:18px}
  .plagas{grid-template-columns:1fr;gap:48px}
  .plaga h3{font-size:25px}
  .cert{padding:28px 22px 26px}
  .sello{width:98px;height:98px;right:18px;bottom:20px;font-size:13px}
  .sello b{font-size:30px}
  .negocios .foto{min-height:300px}
  .negocios .texto{padding:64px 20px}
  .linea{grid-template-columns:1fr;gap:32px}
  .m-lab text{font-size:17px;stroke-width:4px}
  .cierre-foto{min-height:280px}
  .cierre-texto{padding:56px 20px 64px}
  .btn-xl{width:100%;justify-content:center}
  .cierre-tel{font-size:28px;flex-wrap:wrap}
  .pregunta{font-size:25px;margin-top:26px;padding-top:24px}
  .paso .n{font-size:48px}
  footer .wrap{grid-template-columns:1fr}
  footer{padding-bottom:96px}
  .barra-movil{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;box-shadow:0 -4px 18px rgba(0,0,0,.18)}
  .barra-movil a{display:flex;align-items:center;justify-content:center;gap:8px;padding:17px;font-weight:800;text-decoration:none}
  .barra-movil svg{width:20px;height:20px}
  .barra-movil .m-wa{background:var(--hoja);color:#fff}
  .barra-movil .m-tel{background:var(--negro);color:#fff}
  .toast{left:16px;bottom:76px}
  .contador{right:16px;bottom:76px}
}

/* ===== Navegación activa ===== */
.top nav a[aria-current="page"]{color:var(--texto);box-shadow:inset 0 -3px 0 var(--hoja)}
.top nav{gap:24px}

/* ===== Reseñas con formato de Google Maps ===== */
.testimonios{background:var(--hoja);color:#fff}
.testimonios h2{color:#fff;max-width:18ch}
.t-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.g-sello{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--texto);font-weight:700;font-size:14px;padding:7px 12px 7px 10px;border-radius:999px;margin-bottom:18px}
.g-pin{width:16px;height:16px;color:#D93025;flex:none}
.t-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.t-link:hover{color:var(--cuca)}
.t-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:44px;align-items:stretch}
.t-lado{display:grid;gap:20px}
.g-res{margin:0;background:#fff;color:#202124;border-radius:12px;padding:22px 24px 18px;box-shadow:0 1px 3px rgba(0,0,0,.18);display:flex;flex-direction:column;font-family:"Archivo",system-ui,sans-serif}
.g-cab{display:flex;gap:12px;align-items:center}
.g-av{width:40px;height:40px;border-radius:50%;color:#fff;display:grid;place-items:center;font:500 18px "Archivo",sans-serif;flex:none}
.g-cab b{display:block;font-size:15.5px;font-weight:700}
.g-fuente{display:flex;align-items:center;gap:4px;font-size:13px;color:#5F6368}
.g-fuente .g-pin{width:13px;height:13px}
.g-meta{display:flex;align-items:center;gap:8px;margin:12px 0 8px;font-size:13.5px;color:#5F6368}
.g-meta .g-est{color:#FBBC04;letter-spacing:1px;font-size:16px}
.g-res blockquote{font-size:15.5px;line-height:1.55;flex:1}
.g-ver{margin-top:14px;font-size:13.5px;font-weight:700;color:#1A73E8;text-decoration:none;align-self:flex-start}
.g-ver:hover{text-decoration:underline}
.t-main{padding:32px 34px 24px}
.t-main blockquote{font:700 clamp(21px,1.9vw,27px)/1.38 "Roboto Slab",serif;letter-spacing:-.01em;color:#202124}
.t-nota{margin-top:20px;font-size:14px;color:#E3F2E0}
.t-una{margin-top:40px;max-width:820px}

/* ===== Cabecera de páginas internas ===== */
.cab-simple{padding:72px 0 24px}
.cab-simple h1,.contacto h1,.faq-pagina h1,.cobertura h1{font-size:clamp(40px,4.6vw,68px);color:var(--negro)}
.migas{font-size:14.5px;color:var(--gris);margin-bottom:18px}
.migas a{color:var(--gris)}
.migas a:hover{color:var(--texto)}
.cab-simple .intro{max-width:60ch}

/* ===== Hero de plaga ===== */
.hero-plaga .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding-top:64px;padding-bottom:80px}
.hero-plaga h1{font-size:clamp(38px,4.2vw,62px);color:var(--negro)}
.hero-plaga .sub{font-size:19px;color:var(--gris);margin-top:18px;max-width:46ch}
.hp-queda{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:var(--menta);color:var(--cuca);font-weight:800;padding:10px 16px;border-radius:2px}
.hp-queda::before{content:"";width:14px;height:14px;background:var(--hoja);border-radius:0 50% 0 50%}
.hero-plaga .envio{margin-top:28px}
.hero-plaga .nota{margin-top:14px;font-size:15.5px;color:var(--gris)}
.hero-plaga .nota a{font-weight:700;color:var(--texto)}
.hp-foto{aspect-ratio:4/3.3;border-radius:0 140px 0 140px;overflow:hidden;background:var(--menta)}
.hp-foto img{width:100%;height:100%;object-fit:cover}

/* ===== Señales ===== */
.senales{background:var(--menta)}
.lista-hoja{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 56px;margin-top:40px;max-width:1100px}
.lista-hoja li{position:relative;padding-left:34px;font-size:19px;font-weight:600}
.lista-hoja li::before{content:"";position:absolute;left:0;top:6px;width:18px;height:18px;background:var(--hoja);border-radius:0 50% 0 50%}
.aviso{margin-top:40px;background:var(--cuca);color:#fff;padding:20px 24px;border-radius:4px;max-width:820px;font-size:17px}
.aviso b{color:#8FD694}

/* ===== Cómo lo atendemos ===== */
.como-plaga .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center}
.pasos-plaga{list-style:none;counter-reset:c;margin:36px 0 36px;display:grid;gap:22px}
.pasos-plaga li{display:grid;grid-template-columns:52px 1fr;gap:14px;font-size:18.5px;align-items:baseline}
.pasos-plaga li::before{counter-increment:c;content:counter(c);font:900 34px/1 "Roboto Slab",serif;color:var(--hoja)}
.queda-caja{background:var(--cuca);color:#fff;padding:40px;border-radius:0 0 0 90px}
.qc-et{color:#8FD694;font-weight:700;font-size:15px}
.qc-txt{font:900 clamp(28px,2.6vw,38px)/1.12 "Roboto Slab",serif;margin:12px 0 22px;letter-spacing:-.01em}
.qc-pie{color:#C5D6C9;font-size:15px}

/* ===== Otras plagas ===== */
.otras{border-top:1px solid var(--linea)}
.otras .wrap{padding-top:40px;padding-bottom:40px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.otras p{font-weight:700}
.otras-links{display:flex;flex-wrap:wrap;gap:10px}
.otras-links a{border:2px solid var(--texto);border-radius:999px;padding:9px 16px;font-weight:700;font-size:15.5px;text-decoration:none}
.otras-links a:hover{background:var(--menta)}

/* ===== Nosotros ===== */
.valores{background:var(--menta)}
.val-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.val-grid div{border-top:3px solid var(--cuca);padding-top:20px}
.val-grid h3{font-size:24px;margin-bottom:10px}
.val-grid p{color:var(--gris);font-size:17px}
.linea-tiempo{padding-top:96px;padding-bottom:96px}
.lt-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:2px solid var(--texto);padding-top:32px}
.lt-año{display:block;font:900 clamp(64px,8vw,120px)/0.9 "Roboto Slab",serif;color:var(--hoja);letter-spacing:-.03em;margin-bottom:16px}
.lt-grid p{font-size:19px;max-width:34ch}

/* ===== Cobertura (página) ===== */
.industria-estados .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.industria-estados h2{font-size:clamp(28px,3vw,42px)}

/* ===== Preguntas (página) ===== */
.faq-pagina{padding-top:72px}

/* ===== Contacto ===== */
.contacto .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.medios{display:grid;gap:12px;margin-top:36px}
.medio{display:flex;gap:16px;align-items:center;padding:18px 20px;border:2px solid var(--linea);border-radius:8px;text-decoration:none;transition:border-color .12s}
.medio:hover{border-color:var(--hoja)}
.medio svg{width:26px;height:26px;color:var(--hoja);flex:none}
.medio b{display:block;font-size:14px;color:var(--gris);font-weight:600}
.medio span{font-size:18px;font-weight:700}
.form-contacto{background:var(--menta);padding:40px;border-radius:0 0 0 90px;display:grid;gap:16px}
.form-contacto h2{font-size:30px;margin-bottom:6px}
.form-contacto label{display:grid;gap:6px;font-weight:700;font-size:15px}
.form-contacto input,.form-contacto textarea{padding:14px 16px;border:2px solid var(--linea);border-radius:8px;font:500 16.5px "Archivo",sans-serif;background:#fff;color:var(--texto)}
.form-contacto select{border-radius:8px}
.form-contacto .btn{justify-content:center;margin-top:6px}
.fc-nota{font-size:14px;color:var(--gris)}
.mapa-oficina iframe{display:block;width:100%;height:420px;border:0;filter:saturate(.85)}

/* ===== Responsivo de páginas internas ===== */
@media (max-width:1100px){
  .hero-plaga .wrap,.como-plaga .wrap,.contacto .wrap{grid-template-columns:1fr;gap:48px}
  .t-grid{grid-template-columns:1fr;gap:16px}
  .val-grid{grid-template-columns:1fr;gap:28px}
  .lt-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .hero-plaga .wrap{padding-top:32px;padding-bottom:56px}
  .hp-foto{border-radius:0 80px 0 80px}
  .lista-hoja{grid-template-columns:1fr}
  .lista-hoja li{font-size:17.5px}
  .t-main{padding:24px 22px 18px}
  .queda-caja{padding:28px;border-radius:0 0 0 60px}
  .form-contacto{padding:28px 22px;border-radius:0 0 0 60px}
  .cab-simple{padding-top:44px}
  .mapa-oficina iframe{height:320px}
}

/* Pie con cuatro columnas */
footer .wrap{grid-template-columns:1.3fr 1fr 1fr 1fr}
@media (max-width:1100px){ footer .wrap{grid-template-columns:1fr 1fr} }
@media (max-width:640px){ footer .wrap{grid-template-columns:1fr} }
.medio span{min-width:0;overflow-wrap:anywhere}

/* ===== Páginas de plaga: bloques de convencimiento ===== */
.hp-pruebas{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-weight:700;font-size:15.5px}
.hp-pruebas li{display:flex;align-items:center;gap:8px}
.hp-pruebas li::before{content:"";width:13px;height:13px;background:var(--hoja);border-radius:0 50% 0 50%}
.hp-pruebas a{color:var(--texto)}
.regresa .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.regresa h2{font-size:clamp(32px,3.6vw,52px)}
.regresa-txt p{font-size:19.5px;line-height:1.6;color:var(--texto);margin-bottom:18px}
.regresa-txt p:first-child{padding-top:8px}
.riesgos{background:var(--cuca);color:#fff}
.riesgos h2{color:#fff}
.riesgos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px}
.riesgos-grid div{border-top:3px solid var(--hoja);padding-top:20px}
.riesgos-grid h3{font-size:24px;color:#fff;margin-bottom:10px}
.riesgos-grid p{color:#C5D6C9;font-size:17px}
.tabla-wrap{margin-top:44px;overflow-x:auto}
.tabla-compara{width:100%;border-collapse:collapse;min-width:640px;font-size:17px}
.tabla-compara th,.tabla-compara td{text-align:left;padding:20px 22px;vertical-align:top}
.tabla-compara thead th{font:800 18px "Roboto Slab",serif;padding-bottom:14px}
.tabla-compara thead th:nth-child(2){color:var(--gris)}
.tabla-compara thead th:nth-child(3){background:var(--cuca);color:#fff;border-radius:10px 10px 0 0}
.tabla-compara tbody th{font-weight:700;width:22%;border-top:1px solid var(--linea)}
.tabla-compara tbody td{border-top:1px solid var(--linea);color:var(--gris);width:39%}
.tabla-compara tbody td:last-child{background:var(--menta);color:var(--texto);font-weight:700;border-top-color:#D1E5CB}
.tabla-compara tbody tr:last-child td:last-child{border-radius:0 0 10px 10px}
.prevencion{background:var(--menta)}
.prevencion .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.prev-lista{list-style:none;counter-reset:pv;display:grid;gap:18px}
.prev-lista li{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;background:#fff;padding:18px 22px;border-radius:8px;font-size:18px;font-weight:600}
.prev-lista li::before{counter-increment:pv;content:counter(pv);font:900 30px/1 "Roboto Slab",serif;color:var(--hoja)}
@media (max-width:1100px){
  .regresa .wrap,.prevencion .wrap{grid-template-columns:1fr;gap:28px}
  .riesgos-grid{grid-template-columns:1fr;gap:28px}
}
@media (max-width:640px){
  .regresa-txt p{font-size:17.5px}
  .tabla-compara{font-size:15.5px}
  .tabla-compara th,.tabla-compara td{padding:14px 14px}
}

/* ===== Más imagen y fondos en páginas de plaga ===== */
.regresa .wrap{grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.regresa-foto{margin:0;aspect-ratio:4/3.4;border-radius:0 0 0 120px;overflow:hidden;background:var(--menta)}
.regresa-foto img{width:100%;height:100%;object-fit:cover}
.regresa h2{margin-bottom:22px}
.riesgos{position:relative;background:var(--cuca) var(--fondo) center/cover no-repeat;isolation:isolate}
.riesgos::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,40,22,.96) 0%,rgba(22,61,34,.9) 55%,rgba(22,61,34,.78) 100%);z-index:-1}
.compara{background:linear-gradient(180deg,#fff 0%,#fff 60%,var(--menta) 60%,var(--menta) 100%)}
.tabla-compara{background:#fff;border-radius:12px;box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.tabla-compara thead th:first-child{border-radius:12px 0 0 0}
.como-plaga{background:var(--menta)}
.como-foto{position:relative;min-height:520px;border-radius:0 140px 0 0;overflow:hidden;background:var(--cuca-2)}
.como-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.como-foto .queda-caja{position:absolute;left:0;right:0;bottom:0;border-radius:0;padding:30px 34px;background:rgba(22,61,34,.94)}
.como-foto .qc-txt{font-size:clamp(24px,2.2vw,32px);margin:8px 0 12px}
.prevencion{background:#fff}
.prev-lista li{background:var(--menta)}

/* ===== Nosotros: archivo e imagen actual ===== */
.archivo{background:#111;color:#fff}
.archivo .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}
.archivo .lt-año{color:var(--hoja)}
.arch-texto p{font-size:19px;color:#D8DDD9;max-width:34ch}
.arch-pie{margin-top:18px;font-size:14px!important;color:#8C948F!important}
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:190px;gap:10px}
.arch-grid figure{margin:0;overflow:hidden;background:#222}
.arch-grid figure:first-child{grid-row:span 2;grid-column:span 2}
.arch-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.hoy{position:relative;color:#fff;background:var(--cuca) var(--fondo) center 35%/cover no-repeat;isolation:isolate;padding:150px 0}
.hoy::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,40,22,.92) 0%,rgba(14,40,22,.6) 55%,rgba(14,40,22,.15) 100%);z-index:-1}
.hoy .lt-año{color:#8FD694}
.hoy p{font-size:22px;max-width:30ch;font-weight:600}
@media (max-width:1100px){
  .archivo .wrap{grid-template-columns:1fr;gap:40px}
  .como-foto{min-height:440px}
}
@media (max-width:640px){
  .regresa-foto{border-radius:0 0 0 70px}
  .arch-grid{grid-auto-rows:120px;gap:6px}
  .como-foto{min-height:420px;border-radius:0 80px 0 0}
  .hoy{padding:100px 0}
  .hoy p{font-size:19px}
}

/* ===== Nosotros v2 ===== */
.dip{position:relative;display:grid;grid-template-columns:1fr 1fr;height:min(86vh,820px);min-height:560px;background:#000}
.dip figure{margin:0;position:relative;overflow:hidden}
.dip img{width:100%;height:100%;object-fit:cover}
.dip-l img{filter:grayscale(1) contrast(1.08)}
.dip-r img{object-position:60% 40%}
.dip figcaption{position:absolute;top:28px;font:900 clamp(56px,7vw,110px)/1 "Roboto Slab",serif;letter-spacing:-.03em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.dip-l figcaption{left:40px}
.dip-r figcaption{right:40px;color:#8FD694}
.dip::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:6px;margin-left:-3px;background:var(--hoja)}
.dip-titulo{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);z-index:2;background:#fff;padding:28px 40px 32px;width:min(760px,calc(100% - 40px));text-align:center;border-radius:4px;box-shadow:0 30px 60px -25px rgba(0,0,0,.6)}
.dip-titulo .migas{margin-bottom:10px}
.dip-titulo h1{font-size:clamp(32px,3.6vw,54px);color:var(--negro)}
.fundador .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}
.fundador h2{font-size:clamp(32px,3.4vw,50px);margin-bottom:26px}
.fundador p{font-size:19px;color:var(--gris);margin-bottom:16px;max-width:52ch}
.fund-foto{margin:0;transform:rotate(1.5deg);background:#fff;padding:14px 14px 44px;box-shadow:0 30px 60px -25px rgba(0,0,0,.45);position:relative}
.fund-foto img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.fund-foto figcaption{position:absolute;left:16px;bottom:14px;font-size:13.5px;color:var(--gris)}
.nombres{background:var(--hoja);color:#fff}
.nombres h2{color:#fff;max-width:18ch}
.nombres .intro{color:#E3F2E0}
.nombres-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:48px 0 32px}
.nombres-grid figure{margin:0;background:#fff;color:var(--texto);border-radius:12px;padding:30px 34px}
.nom{font:900 clamp(56px,6vw,92px)/0.9 "Roboto Slab",serif;color:var(--cuca);letter-spacing:-.03em;margin-bottom:18px}
.nombres-grid blockquote{font:700 20px/1.45 "Roboto Slab",serif}
.nombres-grid mark{background:#D7F0CF;color:var(--cuca);padding:0 4px}
.nombres-grid figcaption{display:flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;color:#5F6368}
.nombres .t-link{color:#fff}
.cambio-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:48px}
.cambio-col figure{margin:0 0 24px;aspect-ratio:16/10;overflow:hidden;border-radius:4px}
.cambio-col:first-child figure img{filter:grayscale(1) contrast(1.05)}
.cambio-col img{width:100%;height:100%;object-fit:cover}
.cambio-col h3{font-size:28px;margin-bottom:14px}
.cambio-col ul{list-style:none;display:grid;gap:12px}
.cambio-col li{position:relative;padding-left:28px;font-size:18px}
.cambio-col li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;background:var(--hoja);border-radius:0 50% 0 50%}
.cambio-col:first-child li::before{background:#9AA39D}
.tira-sec{background:#0E0E0E;color:#fff;padding:96px 0 0}
.tira-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.tira-cab h2{color:#fff;font-size:clamp(34px,3.6vw,52px)}
.tira-cab p{color:#9AA39D}
.tira{display:flex;gap:0;overflow-x:auto;padding:22px 0;background:#000;
  background-image:repeating-linear-gradient(90deg,#333 0 14px,transparent 14px 34px),repeating-linear-gradient(90deg,#333 0 14px,transparent 14px 34px);
  background-size:100% 10px,100% 10px;background-position:0 6px,0 calc(100% - 6px);background-repeat:no-repeat;scrollbar-width:thin}
.tira figure{margin:0 6px;flex:0 0 auto;height:300px;aspect-ratio:1/1;overflow:hidden;background:#222}
.tira img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08) sepia(.12)}
@media (max-width:1100px){
  .fundador .wrap,.cambio-grid,.nombres-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .dip{height:auto;min-height:0;grid-template-columns:1fr 1fr}
  .dip figure{height:300px}
  .dip figcaption{top:14px;font-size:40px}
  .dip-l figcaption{left:14px}.dip-r figcaption{right:14px}
  .dip-titulo{position:relative;left:auto;bottom:auto;transform:none;grid-column:1/-1;width:auto;margin:-40px 16px 0;padding:22px 20px 24px}
  .dip{padding-bottom:24px}
  .dip::after{height:300px;bottom:auto}
  .tira figure{height:200px}
  .nombres-grid figure{padding:24px 22px}
}

/* ===== Mega menú de servicios ===== */
.top{position:sticky}
.nav-serv{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:16px;color:var(--gris)}
.nav-serv svg{width:11px;height:8px;transition:transform .15s}
.nav-serv:hover,.mm-abierto .nav-serv,.nav-serv[data-activo]{color:var(--texto)}
.nav-serv[data-activo]{box-shadow:inset 0 -3px 0 var(--hoja)}
.mm-abierto .nav-serv svg{transform:rotate(180deg)}
.nav-serv:focus-visible{outline:3px solid var(--hoja);outline-offset:4px;border-radius:2px}
.mm{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--linea);box-shadow:0 30px 50px -30px rgba(0,0,0,.35)}
.mm-abierto .mm{display:block}
.mm-wrap{max-width:var(--max);margin:0 auto;padding:32px 48px 36px;display:grid;grid-template-columns:2.2fr 1fr;gap:48px}
.mm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mm-item{display:flex;gap:14px;align-items:center;padding:10px;border-radius:10px;text-decoration:none;transition:background .12s}
.mm-item:hover,.mm-item:focus-visible{background:var(--menta)}
.mm-img{flex:none;width:64px;height:64px;border-radius:0 22px 0 22px;overflow:hidden;background:var(--menta)}
.mm-img img{width:100%;height:100%;object-fit:cover}
.mm-item b,.mm-link b{display:block;font:800 17px "Roboto Slab",serif;color:var(--texto)}
.mm-item small,.mm-link small{display:block;font-size:14px;color:var(--gris);margin-top:2px}
.mm-lado{border-left:1px solid var(--linea);padding-left:40px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.mm-link{text-decoration:none;padding:6px 0}
.mm-link:hover b{color:var(--hoja-hover)}
.mm-todos{font-weight:700;color:var(--hoja-hover)}
.mm-lado .btn{margin-top:auto;padding:13px 18px;font-size:15px}

/* ===== Menú de celular ===== */
.hamb{display:none;all:unset;cursor:pointer;width:42px;height:42px;display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;border-radius:8px}
.hamb span{display:block;width:22px;height:2.5px;background:var(--texto);border-radius:2px;transition:transform .15s,opacity .15s}
.mv-abierto .hamb span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.mv-abierto .hamb span:nth-child(2){opacity:0}
.mv-abierto .hamb span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.menu-movil{display:none}
@media (max-width:1100px){
  .mm{display:none!important}
  .hamb{display:flex}
  .menu-movil{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--linea);padding:20px 24px 28px;max-height:calc(100vh - 110px);overflow:auto;box-shadow:0 30px 50px -30px rgba(0,0,0,.35)}
  .mv-abierto .menu-movil{display:block}
  .menu-movil p{font-weight:700;font-size:13.5px;color:var(--gris);margin:6px 0 8px}
  .mmv-serv,.mmv-emp{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;margin-bottom:16px}
  .menu-movil a{display:block;padding:10px 0;font:800 17px "Roboto Slab",serif;text-decoration:none;color:var(--texto);border-bottom:1px solid var(--linea)}
}
/* el menú de celular es un <nav> dentro del encabezado: anula los estilos de .top nav */
.top .menu-movil{display:none;margin:0}
@media (max-width:1100px){
  .top.mv-abierto .menu-movil{display:block}
  .top .menu-movil a{color:var(--texto)}
}
.hoy{overflow:hidden}
.hoy-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hoy::before{z-index:-1}
@media (max-width:899px){ .hoy-video{display:none} }
.dip-r .hoy-video{z-index:1;opacity:0;transition:opacity .6s}
.dip-r .hoy-video.listo{opacity:1}
.dip-r figcaption{z-index:2}
