/* ==========================================================================
   Talanton Pest Control · sistema visual compartido (oct-2026)
   Tipografía única: Segoe UI. No se sirven los archivos de Segoe UI
   (licencia de Microsoft): se usa la instalada en Windows vía local() y,
   donde no existe (Mac, iOS, Android), Selawik, su clon libre (OFL) con las
   mismas métricas, servido desde /assets/fonts/.
   Paleta: las tres tintas del logo (rojo, negro cálido, gris) + neutros.
   Esta hoja se carga AL FINAL del <head> de cada página: unifica la
   tipografía y la escala de títulos aunque la página traiga estilos viejos.
   ========================================================================== */
:root{
  --ff:'Talanton Sans','Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
  --rojo:#cc0000;          /* rojo del logo: acción, acento */
  --rojo-osc:#a30000;      /* hover / texto rojo pequeño sobre blanco */
  --rojo-claro:#ff8a80;    /* acento rojo sobre fondo oscuro (contraste AA) */
  --tinta:#231f20;         /* negro del logo: titulares y texto */
  --gris:#58595b;          /* gris del logo: texto secundario (7:1 sobre blanco) */
  --linea:#e5e5e4;
  --papel:#f5f5f4;
  --oscuro:#1b1819;        /* fondos oscuros */
  --blanco:#fff;
  /* retícula: contenedor único, margen lateral y medida de lectura */
  --cont:1200px;           /* ancho del contenido, igual en todas las secciones */
  --g:24px;                /* margen lateral en móvil */
  --medida:64ch;           /* ~70 caracteres por línea en texto corrido */
}
@media (min-width:768px){:root{--g:32px}}

/* ---------- 0. Segoe UI local + Selawik de respaldo ---------- */
@font-face{font-family:'Talanton Sans';font-style:normal;font-weight:300 500;font-display:swap;
  src:local('Segoe UI'),local('SegoeUI'),url(/assets/fonts/selawk.woff2) format('woff2')}
@font-face{font-family:'Talanton Sans';font-style:normal;font-weight:600;font-display:swap;
  src:local('Segoe UI Semibold'),local('SegoeUI-Semibold'),url(/assets/fonts/selawksb.woff2) format('woff2')}
@font-face{font-family:'Talanton Sans';font-style:normal;font-weight:700 900;font-display:swap;
  src:local('Segoe UI Bold'),local('SegoeUI-Bold'),url(/assets/fonts/selawkb.woff2) format('woff2')}

/* ---------- 1. Una sola familia en todo el sitio ---------- */
:root{color-scheme:light}
html,body{background:#fff;margin:0}
html body, html body *:not(svg):not(svg *){font-family:var(--ff) !important}
body{color:var(--tinta);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---------- 2. Jerarquía de títulos (escala 1.25, base 17 px) ---------- */
h1,h2{font-weight:800 !important;letter-spacing:-0.02em !important}
h3{font-weight:700 !important;letter-spacing:-0.01em !important}
h4{font-weight:700 !important}
h1 em,h2 em,h3 em{font-style:normal !important}            /* el logo no usa itálicas: el énfasis va en rojo */
h1{font-size:clamp(34px,4.4vw,52px) !important;line-height:1.1 !important}
h1.hero__headline{font-size:clamp(40px,5.4vw,68px) !important;line-height:1.06 !important}
section h2{font-size:clamp(28px,3.2vw,40px) !important;line-height:1.15 !important}
article h2{font-size:clamp(24px,2.4vw,28px) !important;line-height:1.25 !important}
section h3,article h3{font-size:clamp(18px,1.5vw,21px) !important;line-height:1.3 !important}
.tc__form h3{font-size:24px !important}
article p,article li{font-size:17px;line-height:1.75}

/* Etiquetas (eyebrows): la voz de «PEST CONTROL», mayúsculas espaciadas */
.eyebrow,.mm-h,.mnav-group,.crumb,.paso .n,.cli-eyebrow,.hero__eyebrow,.tc__eyebrow,.post-cat,.blog-cat{
  font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase}
.eyebrow,.mm-h,.cli-eyebrow{font-size:12px !important}

/* ---------- 3. Botones ---------- */
.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--rojo);color:#fff;
  text-decoration:none;padding:12px 24px;border-radius:6px;font-size:15px;font-weight:700;border:0;cursor:pointer;
  transition:background .2s}
.t-btn:hover{background:var(--rojo-osc)}
.t-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.4)}
.t-btn--ghost:hover{background:rgba(255,255,255,.08)}
.t-btn--line{background:#fff;color:var(--tinta);border:1px solid var(--linea)}
.t-btn--line:hover{background:var(--papel)}

/* ==========================================================================
   ENCABEZADO
   ========================================================================== */
.th{position:sticky;top:0;z-index:80;background:#fff;border-bottom:1px solid var(--linea);transition:box-shadow .25s}
.th.is-scrolled{box-shadow:0 2px 14px rgba(0,0,0,.07)}
.th-in{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:8px var(--g);display:flex;align-items:center;justify-content:space-between;gap:24px}
.th-logo{display:inline-flex;flex-shrink:0}
.th-logo img{display:block;height:62px;width:auto}
.th-nav{display:flex;align-items:center;gap:4px}
.th-link{display:inline-flex;align-items:center;gap:8px;color:var(--tinta);text-decoration:none;font-size:15px;font-weight:600;
  padding:12px 12px;border-radius:6px;background:none;border:0;cursor:pointer;line-height:1}
.th-link:hover,.th-link[aria-expanded="true"],.th-link.is-active{color:var(--rojo)}
.th-link svg{transition:transform .2s}
.th-link[aria-expanded="true"] svg{transform:rotate(180deg)}
.th-right{display:flex;align-items:center;gap:12px}
.th-cta{display:inline-flex;align-items:center;background:var(--rojo);color:#fff;text-decoration:none;padding:12px 24px;
  border-radius:6px;font-size:14.5px;font-weight:700;white-space:nowrap}
.th-cta:hover{background:var(--rojo-osc)}
.th-burger{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--tinta)}

/* paneles desplegables */
.th-dd{position:static}
.th-panel{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);box-shadow:0 22px 44px rgba(0,0,0,.10)}
.th-panel.open{display:block}
.th-panel-in{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:32px var(--g) 32px;display:grid;gap:32px}
.th-panel-in.c-res{grid-template-columns:8fr 4fr}
.th-panel-in.c-emp{grid-template-columns:repeat(4,1fr)}
.th-panel-in.c-cob{grid-template-columns:repeat(4,1fr)}
.th-h{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rojo);margin:0 0 12px}
.th-h a{color:inherit;text-decoration:none}
.th-h a:hover{text-decoration:underline}
.th-grid2{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.th-item{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:var(--tinta);padding:8px 0;border-bottom:1px solid var(--linea)}
.th-item:hover .th-n{color:var(--rojo)}
.th-ico{width:34px;height:34px;flex-shrink:0;border-radius:8px;background:var(--papel);color:var(--rojo);display:grid;place-items:center}
.th-ico svg{width:22px;height:22px}
.th-n{display:block;font-size:14.5px;font-weight:700;line-height:1.3}
.th-d{display:block;font-size:13px;color:var(--gris);line-height:1.4;margin-top:2px}
.th-simple{display:block;text-decoration:none;color:var(--tinta);font-size:14.5px;font-weight:600;padding:8px 0;border-bottom:1px solid var(--linea)}
.th-simple:hover{color:var(--rojo)}
.th-simple small{display:block;font-size:13px;font-weight:400;color:var(--gris);margin-top:1px}
.th-aside{background:var(--papel);border-radius:10px;padding:24px}
.th-aside p{font-size:14px;color:var(--gris);line-height:1.6;margin:0 0 16px}
.th-aside .th-cta{font-size:14px;padding:12px 16px}
.th-all{display:inline-block;margin-top:16px;font-size:14px;font-weight:700;color:var(--rojo);text-decoration:none}
.th-all:hover{text-decoration:underline}

/* móvil */
.th-m{display:none;border-top:1px solid var(--linea);background:#fff;max-height:calc(100vh - 80px);overflow-y:auto;padding:4px 24px 24px}
.th-m.open{display:block}
.th-m details{border-bottom:1px solid var(--linea)}
.th-m summary{list-style:none;cursor:pointer;padding:16px 0;font-size:16px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.th-m summary::-webkit-details-marker{display:none}
.th-m summary::after{content:'+';color:var(--rojo);font-size:22px;font-weight:400}
.th-m details[open] summary::after{content:'−'}
.th-m .mg{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rojo);margin:12px 0 4px}
.th-m .ms{display:block;padding:8px 0 8px 16px;border-left:2px solid var(--linea);text-decoration:none;color:var(--tinta);font-size:15px}
.th-m .ms:hover{border-left-color:var(--rojo)}
.th-m .ml{display:block;padding:16px 0;text-decoration:none;color:var(--tinta);font-size:16px;font-weight:700;border-bottom:1px solid var(--linea)}
.th-m .th-cta{display:flex;justify-content:center;margin-top:16px;padding:16px}
.th-m details > div{padding-bottom:12px}

@media (max-width:1120px){
  .th-nav,.th-right .th-cta{display:none}
  .th-burger{display:inline-flex}
  .th-logo img{height:54px}
}

/* ==========================================================================
   PIE DE PÁGINA
   ========================================================================== */
.tf{background:var(--oscuro);color:#fff;padding:64px 0 0}
.tf-in{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:0 var(--g) 48px;display:grid;grid-template-columns:3fr 2fr 2fr 2fr 3fr;gap:32px}
.tf-brand img{display:block;width:210px;max-width:100%;height:auto}
.tf-brand p{font-size:14px;color:rgba(255,255,255,.72);line-height:1.7;margin:24px 0 0;max-width:300px}
.tf-col h4{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62);margin:0 0 16px}
.tf-col a,.tf-col span{display:block;color:#fff;text-decoration:none;font-size:14.5px;margin-bottom:8px;line-height:1.55}
.tf-col a:hover{color:var(--rojo-claro)}
.tf-legal{border-top:1px solid rgba(255,255,255,.12);padding:24px 24px;text-align:center;font-size:13px;color:rgba(255,255,255,.6)}
@media (max-width:980px){.tf-in{grid-template-columns:1fr 1fr 1fr}.tf-brand{grid-column:1/-1}}
@media (max-width:560px){.tf-in{grid-template-columns:1fr 1fr}}

/* ==========================================================================
   COMPONENTES DE LAS PÁGINAS NUEVAS (plagas, cobertura, contacto, gracias)
   ========================================================================== */
.tp{background:#fff;color:var(--tinta);line-height:1.65;font-size:17px}
.tp *{box-sizing:border-box}
.tp img{max-width:100%}
.tp .wrap{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:0 var(--g)}
.tp a{color:inherit}
.tp p{margin:0 0 16px}
.tp-hero{background:var(--oscuro);color:#fff;padding:72px 0 64px;position:relative;overflow:hidden}
.tp-hero::after{content:'';position:absolute;right:-110px;top:-110px;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(204,0,0,.30),transparent 66%);pointer-events:none}
.tp-hero .wrap{position:relative;z-index:1}
.tp-crumb{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:16px}
.tp-crumb a{color:rgba(255,255,255,.66);text-decoration:none}
.tp-crumb a:hover{color:#fff}
.tp-hero h1{color:#fff;margin:0 0 16px;max-width:820px}
.tp-hero .lede{font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:rgba(255,255,255,.88);max-width:680px;margin:0}
.tp-hero .acc{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.tp-hero .ico-big{position:absolute;right:24px;bottom:-10px;width:220px;height:220px;color:rgba(255,255,255,.07)}
.tp-sec{padding:72px 0}
.tp-sec.alt{background:var(--papel)}
.tp-sec h2{margin:0 0 16px;color:var(--tinta)}
.tp-sec .intro{font-size:17px;color:#3a3637;line-height:1.75;max-width:780px}
.tp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rojo-osc);margin-bottom:12px}
.tp-cols{display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:start}
.tp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px, 100%), 1fr));gap:16px;margin-top:32px}
.tp-card{background:#fff;border:1px solid var(--linea);border-radius:10px;padding:24px}
.tp-sec.alt .tp-card{background:#fff}
.tp-card h3{margin:0 0 8px}
.tp-card p{font-size:15.5px;color:var(--gris);line-height:1.65;margin:0}
.tp-card .sci{font-size:14px;color:var(--gris);font-style:italic;margin:-4px 0 8px}
.tp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px, 100%), 1fr));gap:16px;margin-top:32px;counter-reset:paso}
.tp-step{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rojo);border-radius:10px;padding:24px}
.tp-step::before{counter-increment:paso;content:'Paso ' counter(paso,decimal-leading-zero);display:block;font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rojo-osc);margin-bottom:12px}
.tp-step h3{margin:0 0 8px}
.tp-step p{font-size:15.5px;color:var(--gris);line-height:1.65;margin:0}
.tp-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:12px}
.tp-list li{position:relative;padding:12px 16px 12px 48px;background:#fff;border:1px solid var(--linea);border-radius:8px;font-size:16px;line-height:1.55}
.tp-list li::before{content:'';position:absolute;left:16px;top:18px;width:12px;height:12px;border-radius:50%;
  border:2px solid var(--rojo);box-shadow:inset 0 0 0 2px #fff;background:var(--rojo)}
.tp-list.check li::before{border-radius:3px;background:none;border:0;width:14px;height:8px;top:18px;
  border-left:2.5px solid var(--rojo);border-bottom:2.5px solid var(--rojo);transform:rotate(-45deg);box-shadow:none}
.tp-aside{background:var(--oscuro);color:#fff;border-radius:14px;padding:32px}
.tp-aside h3{color:#fff;margin:0 0 12px}
.tp-aside p{font-size:15.5px;color:rgba(255,255,255,.82);line-height:1.65}
.tp-aside .t-btn{width:100%;margin-top:8px}
.tp-aside .tel{display:block;text-align:center;margin-top:16px;color:#fff;font-weight:700;text-decoration:none;font-size:15px}
details.tp-faq{background:#fff;border:1px solid var(--linea);border-radius:10px;margin-bottom:12px;overflow:hidden}
details.tp-faq summary{padding:16px 24px;font-size:16.5px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
details.tp-faq summary::-webkit-details-marker{display:none}
details.tp-faq summary::after{content:'+';color:var(--rojo);font-size:22px;font-weight:400;flex-shrink:0}
details.tp-faq[open] summary::after{content:'−'}
details.tp-faq .a{padding:0 24px 24px;font-size:16px;color:var(--gris);line-height:1.7}
.tp-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px, 100%), 1fr));gap:16px;margin-top:24px}
.tp-tile{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:16px;text-decoration:none;color:var(--tinta);transition:border-color .2s,transform .2s}
.tp-tile:hover{border-color:var(--rojo);transform:translateY(-2px)}
.tp-tile .th-ico{width:42px;height:42px}
.tp-tile .th-ico svg{width:26px;height:26px}
.tp-tile b{display:block;font-size:16px;line-height:1.3}
.tp-tile span{display:block;font-size:14px;color:var(--gris);line-height:1.45;margin-top:4px}
.tp-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.tp-links a{display:inline-flex;padding:8px 16px;border:1px solid var(--linea);border-radius:999px;background:#fff;text-decoration:none;font-size:14.5px;font-weight:600}
.tp-links a:hover{border-color:var(--rojo);color:var(--rojo)}
.tp-cierre{background:var(--oscuro);color:#fff;padding:80px 0;text-align:center}
.tp-cierre h2{color:#fff;margin:0 0 16px}
.tp-cierre p{color:rgba(255,255,255,.85);font-size:17px;max-width:600px;margin:0 auto 32px;line-height:1.7}
.tp-cierre .acc{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media (max-width:900px){.tp-cols{grid-template-columns:1fr;gap:40px}.tp-hero .ico-big{display:none}}

/* mapa de cobertura */
.mapa-cob{display:block;width:100%;height:auto}
.mapa-cob path{stroke:var(--oscuro);stroke-width:.7;transition:fill .2s}
.mapa-cob .m-nl{fill:#6e2a2a}
.mapa-cob .m-amm{fill:var(--rojo)}
.mapa-cob .m-coah{fill:#e86a5e}
.mapa-cob a:hover path,.mapa-cob a:focus path{fill:#fff}
.mapa-cob text{font-size:11px;font-weight:700;fill:#fff;paint-order:stroke;stroke:var(--oscuro);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.mapa-cob .lbl-dot{fill:#fff;stroke:none;pointer-events:none}
.mapa-cob .amm-box{fill:none;stroke:#fff;stroke-width:1.2;stroke-dasharray:3 3}
.mapa-leyenda{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:16px;font-size:14px;color:rgba(255,255,255,.82)}
.mapa-leyenda span{display:inline-flex;align-items:center;gap:8px}
.mapa-leyenda i{width:14px;height:14px;border-radius:3px;display:inline-block}
.tp .mapa-leyenda{color:var(--gris)}
.mapa-wrap{background:var(--oscuro);border-radius:16px;padding:24px}
.mapa-wrap--claro{background:var(--oscuro)}

/* contacto */
.tc-sola{padding:72px 0 88px;background:linear-gradient(180deg,#171415 0%,#1f1b1c 100%);color:#fff}
.tc-sola .tc__grid{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:0 var(--g)}

/* gracias */
.tg{min-height:62vh;display:flex;align-items:center;background:var(--papel);padding:80px 0}
.tg-card{max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--linea);border-top:4px solid var(--rojo);border-radius:14px;padding:48px 40px;text-align:center}
.tg-ok{width:64px;height:64px;border-radius:50%;background:var(--rojo);color:#fff;display:grid;place-items:center;margin:0 auto 24px}
.tg-card h1{font-size:clamp(30px,3.6vw,40px) !important;margin:0 0 16px}
.tg-card p{color:var(--gris);font-size:17px;line-height:1.7;margin:0 auto 12px;max-width:560px}
.tg-acc{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}


/* logos de clientes estáticos (antes carrusel) */
.cli-grid{max-width:calc(var(--cont) + 2*var(--g));margin:0 auto;padding:0 var(--g);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px, 100%), 1fr));gap:16px}
.cli-grid figure{margin:0;background:#fff;border:1px solid var(--linea);border-radius:10px;height:88px;display:grid;place-items:center;padding:16px 16px}
.cli-grid img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.cli-grid figure:hover img{filter:none;opacity:1}
.mapa-full text{font-size:17px}
.mapa-full .lbl-dot{r:3.5px}
.mapa-amm text{font-size:13px}
/* en columnas el h2 baja un escalón para no partirse en 4 líneas */
.tp-cols h2{font-size:clamp(26px,2.6vw,32px) !important}

/* ---------- encabezados con foto (oct-2026) ---------- */
.con-foto{background:linear-gradient(90deg,rgba(27,24,25,.94) 0%,rgba(27,24,25,.82) 42%,rgba(27,24,25,.5) 100%),var(--foto) center/cover no-repeat !important}
.con-foto::after,.con-foto::before{display:none !important}
.con-foto .ico-big{display:none}
.tp-hero.con-foto{padding:96px 0 88px}
.foto-cred{position:absolute;right:14px;bottom:10px;z-index:2;font-size:11px;color:rgba(255,255,255,.62);text-decoration:none;max-width:60%;text-align:right;line-height:1.3}
.foto-cred:hover{color:#fff;text-decoration:underline}
.th-ico.th-foto{padding:0;overflow:hidden;background:#000}
.th-ico.th-foto img{width:100%;height:100%;object-fit:cover;display:block}
.tp-tile .th-ico.th-foto{width:56px;height:56px;border-radius:10px}
/* pestañas de plagas del home con foto real */
.pl-tab .pl-foto{width:48px;height:48px;border-radius:50%;object-fit:cover;display:block;border:2px solid transparent;transition:border-color .2s}
.pl-tab.is-on .pl-foto,.pl-tab:hover .pl-foto{border-color:var(--rojo)}
.pl-big-foto{display:block;width:34%;min-width:96px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:16px}
.pl-cred{display:block;font-size:11px;color:#58595b;text-decoration:none;margin:-12px 0 16px}
.pl-cred:hover{text-decoration:underline}

/* ---------- Retícula (20-oct-2026) ----------
   12 columnas: las proporciones de columnas se expresan en doceavos
   (6/6, 4/4/4, 3/3/3/3, 7/5, 8/4, 3/6/3); espaciado en múltiplos de 8
   (4 para detalles finos); texto corrido limitado a --medida. */
article p,article li,.wrap > p,.tp-sec .intro,.tp-cols p,.pl-body p{max-width:var(--medida)}
/* párrafo de introducción centrado bajo un título de sección */
section [style*="text-align: center"] > p,section [style*="text-align:center"] > p{max-width:var(--medida);margin-left:auto !important;margin-right:auto !important}
/* el margen lateral va dentro del ancho del contenedor (algunas páginas no traen box-sizing global) */
.th-in,.tf-in,.th-panel-in,.cli-grid,.wrap,.tc__inner,.tc__grid,.post-grid,.bf-wrap{box-sizing:border-box}

/* ---------- Página de contacto (20-oct-2026) ----------
   Fondo claro, formulario con preguntas y columna lateral de datos (7/5 de 12). */
.ct{padding:80px 0 96px;background:#fff}
.ct-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:start}
@media (min-width:992px){.ct-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px}}
.ct-form h2{margin:0 0 8px;color:var(--tinta)}
.ct-sub{font-size:17px;line-height:1.65;color:var(--gris);margin:0 0 32px;max-width:var(--medida)}
.ct-row{display:grid;grid-template-columns:minmax(0,1fr);gap:0 24px;align-items:end}
@media (min-width:640px){.ct-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ct-field{display:flex;flex-direction:column;gap:8px;margin:0 0 24px;min-width:0}
.ct-field label{font-size:15px;font-weight:600;color:var(--tinta);line-height:1.4;padding:0}
.ct-field label b{color:var(--rojo);font-weight:700}
.ct-opc{font-weight:400;color:var(--gris)}
.ct-field input,.ct-field select,.ct-field textarea{width:100%;font:inherit;font-size:16px;color:var(--tinta);background:#fff;
  border:1px solid #d4d3d1;border-radius:8px;padding:12px 16px;min-height:48px;transition:border-color .15s,box-shadow .15s}
.ct-field textarea{min-height:128px;resize:vertical;line-height:1.55}
.ct-field select{appearance:none;-webkit-appearance:none;padding-right:40px;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2358595b' stroke-width='1.8'%3E%3Cpath d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E") no-repeat right 16px center}
.ct-field select:invalid{color:#8a8889}
.ct-field ::placeholder{color:#8a8889}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:0;border-color:var(--rojo);box-shadow:0 0 0 3px rgba(204,0,0,.14)}
.ct-field [aria-invalid="true"]{border-color:var(--rojo)}
.ct-error{background:#fdf0f0;border:1px solid #f3c4c4;color:var(--tinta);border-radius:8px;padding:16px;margin:0 0 16px;font-size:15px;line-height:1.55}
.ct-submit{width:100%;min-height:56px;font-size:16px;padding:16px 32px}
@media (min-width:640px){.ct-submit{width:auto}}
.ct-submit[disabled]{opacity:.7;cursor:progress}
.ct-note{font-size:14px;color:var(--gris);line-height:1.6;margin:16px 0 0;max-width:var(--medida)}
.ct-aside{display:flex;flex-direction:column;gap:16px}
.ct-card{display:flex;gap:16px;align-items:flex-start;padding:24px;border:1px solid var(--linea);border-radius:12px;background:#fff}
.ct-ico{flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:rgba(204,0,0,.08);color:var(--rojo);display:grid;place-items:center}
.ct-card h3{font-size:12px !important;font-weight:700 !important;letter-spacing:.12em !important;text-transform:uppercase;color:var(--gris);margin:4px 0 4px}
.ct-card p{margin:0;font-size:16px;line-height:1.55;color:var(--tinta);overflow-wrap:anywhere}
.ct-card a{color:var(--tinta);font-weight:600;text-decoration:none}
.ct-card a:hover{color:var(--rojo-osc);text-decoration:underline}
.ct-mas{display:inline-block;font-size:14px;font-weight:700;color:var(--rojo-osc) !important;text-decoration:none;margin-top:8px}
.ct-mas::after{content:' →'}
.ct-card .ct-mas{margin:0 0 0 4px}
.ct-bloque{border-top:1px solid var(--linea);padding-top:24px;margin-top:16px}
.ct-h{font-size:16px !important;font-weight:700 !important;letter-spacing:0 !important;margin:0 0 16px;color:var(--tinta)}
.ct-pasos{list-style:none;margin:0;padding:0;counter-reset:ct;display:grid;gap:16px}
.ct-pasos li{counter-increment:ct;position:relative;padding-left:48px;font-size:15px;line-height:1.55;color:var(--gris)}
.ct-pasos li::before{content:counter(ct);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--tinta);color:#fff;font-size:14px;font-weight:700;display:grid;place-items:center}
.ct-pasos b{display:block;color:var(--tinta);font-size:16px}
.ct-casos,.ct-blog{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.ct-casos li{display:flex;gap:16px;align-items:center;font-size:15px;line-height:1.5;color:var(--gris)}
.ct-casos img{flex:0 0 72px;width:72px;height:40px;object-fit:contain;filter:grayscale(1);opacity:.8}
.ct-blog a{display:flex;gap:16px;align-items:center;text-decoration:none;color:var(--tinta);font-size:15px;font-weight:600;line-height:1.4}
.ct-blog a:hover span{color:var(--rojo-osc)}
.ct-blog img{flex:0 0 80px;width:80px;height:60px;object-fit:cover;border-radius:8px}
.ct-blog small{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rojo-osc);margin-bottom:4px}
.ct-mapa{border-top:1px solid var(--linea);margin-top:48px;padding-top:40px}
.ct-mapa > p{font-size:16px;line-height:1.6;color:var(--gris);margin:0 0 24px;max-width:var(--medida)}
.ct-mapa .mapa-wrap{max-width:560px}
.ct-mapa .mapa-leyenda{color:rgba(255,255,255,.82)}

/* tabla «Lo que nos hace distintos» en celular: la etiqueta va arriba a todo lo ancho
   y las dos columnas de comparación quedan lado a lado */
@media (max-width:640px){
  #diferenciadores [style*="grid-template-columns: 2fr 1fr 1fr"]{grid-template-columns:1fr 1fr !important}
  #diferenciadores [style*="grid-template-columns: 2fr 1fr 1fr"] > div{padding:12px 14px !important;font-size:14px !important;line-height:1.45}
  #diferenciadores [style*="grid-template-columns: 2fr 1fr 1fr"] > div:first-child{grid-column:1 / -1;padding:14px 14px 2px !important;font-size:12px !important;font-weight:700 !important;letter-spacing:.12em;text-transform:uppercase;color:var(--rojo-osc)}
  #diferenciadores [style*="grid-template-columns: 2fr 1fr 1fr"]:first-child > div:first-child{display:none}
}
