/* ============================================================
   BLANCA TRANS — hoja de estilos
   Los colores salen directamente del logotipo (azul degradado).
   Si quieres cambiar la marca entera, toca solo estas variables.
   ============================================================ */

:root{
  --azul-900:#062363;
  --azul-700:#0B3AA5;
  --azul-500:#1B6FD4;
  --azul-300:#5EA0EE;
  --azul-050:#EAF1FB;
  --tinta:#0E1726;
  --gris:#5C6B84;
  --linea:#DDE4F0;
  --blanco:#FFFFFF;

  --display:"Archivo","Arial Narrow",sans-serif;
  --texto:"IBM Plex Sans",system-ui,sans-serif;
  --dato:"IBM Plex Mono",ui-monospace,monospace;

  --ancho:1180px;
  --radio:4px;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:88px}

body{
  margin:0;
  background:var(--blanco);
  color:var(--tinta);
  font-family:var(--texto);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}

.contenedor{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 24px}

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.02;
  text-transform:uppercase;
  margin:0;
}
h1{font-size:clamp(2.6rem,6.4vw,4.9rem)}
h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:20px}
h3{font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:-.02em}
p{margin:0 0 1.1em}

.eyebrow{
  font-family:var(--dato);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--azul-500);
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
}
.eyebrow::after{
  content:"";
  flex:1;
  height:1px;
  background:linear-gradient(90deg,var(--linea),transparent);
  max-width:140px;
}
.entradilla{font-size:1.12rem;color:var(--gris);max-width:60ch}

/* ---------- Firma de marca: las líneas de velocidad del logo ---------- */
.estelas{display:block;pointer-events:none}
.estelas i{
  display:block;
  height:3px;
  margin-bottom:5px;
  background:currentColor;
  opacity:.5;
  transform-origin:right center;
  animation:entra-estela .7s cubic-bezier(.2,.8,.2,1) backwards;
}
.estelas i:nth-child(1){width:120px;animation-delay:.05s}
.estelas i:nth-child(2){width:64px;opacity:.75;animation-delay:.12s}
.estelas i:nth-child(3){width:158px;animation-delay:.19s}
.estelas i:nth-child(4){width:38px;opacity:.35;animation-delay:.26s}
.estelas i:nth-child(5){width:92px;animation-delay:.33s}
@keyframes entra-estela{from{transform:scaleX(0);opacity:0}}

/* ---------- Botones ---------- */
.boton{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--dato);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  text-decoration:none;
  padding:15px 26px;
  border-radius:var(--radio);
  border:1px solid transparent;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.boton:hover{transform:translateX(4px)}
.boton--solido{background:var(--azul-500);color:var(--blanco)}
.boton--solido:hover{background:var(--azul-700)}
.boton--linea{border-color:currentColor;color:var(--azul-700)}
.boton--linea:hover{background:var(--azul-050)}
.boton--linea-claro{border-color:rgba(255,255,255,.6);color:var(--blanco)}
.boton--linea-claro:hover{background:rgba(255,255,255,.14)}
.boton--claro{background:var(--blanco);color:var(--azul-700)}
.boton__flecha{font-family:var(--texto);font-size:1rem;line-height:1}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--azul-300);
  outline-offset:3px;
}

/* ---------- Cabecera ---------- */
.cabecera{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linea);
}
.cabecera__fila{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:84px;
}
.marca{display:flex;align-items:center;text-decoration:none}
.marca img{height:52px;width:auto}

.menu{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.menu a{
  position:relative;
  font-family:var(--dato);
  font-size:.76rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  text-decoration:none;
  color:var(--tinta);
  padding:6px 0;
  display:block;
}
.menu a::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  height:3px;width:0;
  background:var(--azul-500);
  transition:width .25s ease;
}
.menu a:hover::after,.menu a[aria-current="page"]::after{width:100%}
.menu a[aria-current="page"]{color:var(--azul-700)}
.menu--destacado a{color:var(--azul-700);font-weight:600}

.abrir-menu{
  display:none;
  background:none;
  border:1px solid var(--linea);
  border-radius:var(--radio);
  padding:10px 14px;
  font-family:var(--dato);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}

/* ---------- Portada ---------- */
.portada{
  background:linear-gradient(115deg,var(--azul-900) 0%,var(--azul-700) 45%,var(--azul-500) 100%);
  color:var(--blanco);
  overflow:hidden;
}
.portada__fila{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
  padding:96px 0 104px;
}
.portada h1{margin-bottom:22px}
.portada h1 em{font-style:normal;color:var(--azul-300)}
.portada .estelas{color:var(--azul-300);margin-bottom:28px}
.portada__texto p{color:rgba(255,255,255,.82);max-width:52ch;font-size:1.1rem}
.portada__acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

.tira-flota{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-top:1px solid rgba(255,255,255,.22);
  margin-top:52px;
  padding-top:20px;
}
.tira-flota span{
  font-family:var(--dato);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  padding-right:22px;
  margin-right:22px;
  border-right:1px solid rgba(255,255,255,.22);
}
.tira-flota span:last-child{border-right:0}

/* ---------- Huecos para imágenes ---------- */
.hueco{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  margin:0;
  padding:24px;
  border:2px dashed var(--azul-300);
  border-radius:var(--radio);
  background-color:var(--azul-050);
  background-image:repeating-linear-gradient(135deg,rgba(27,111,212,.07) 0 12px,transparent 12px 24px);
  color:var(--azul-700);
}
.hueco--oscuro{
  border-color:rgba(255,255,255,.55);
  background-color:rgba(255,255,255,.08);
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.1) 0 12px,transparent 12px 24px);
  color:var(--blanco);
}
.hueco__etiqueta{
  font-family:var(--dato);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:.75;
}
.hueco__nota{font-size:.92rem;line-height:1.4;max-width:32ch}
.hueco--16x9{aspect-ratio:16/9}
.hueco--4x3{aspect-ratio:4/3}
.hueco--1x1{aspect-ratio:1/1}
.hueco--alto{aspect-ratio:3/4}
.hueco--ancho{aspect-ratio:21/9}

/* ---------- Secciones ---------- */
.seccion{padding:104px 0}
.seccion--gris{background:var(--azul-050)}
.seccion__intro{max-width:70ch;margin-bottom:56px}
.seccion__intro h2{margin-bottom:18px}

/* ---------- Servicios ---------- */
.servicio{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
  padding:56px 0;
  border-top:1px solid var(--linea);
}
.servicio:first-of-type{border-top:0;padding-top:0}
.servicio--invertido .servicio__media{order:2}
.servicio__codigo{
  font-family:var(--dato);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--azul-500);
  margin-bottom:14px;
  display:block;
}
.servicio h3{margin-bottom:16px}
.servicio__texto p{color:var(--gris)}
.lista-limpia{list-style:none;margin:0;padding:0}
.lista-limpia li{
  position:relative;
  padding-left:26px;
  margin-bottom:9px;
  color:var(--gris);
  font-size:1rem;
}
.lista-limpia li::before{
  content:"";
  position:absolute;
  left:0;top:.62em;
  width:14px;height:3px;
  background:var(--azul-500);
}
.aviso{
  margin-top:20px;
  padding:14px 18px;
  border-left:3px solid var(--azul-500);
  background:var(--azul-050);
  font-size:.95rem;
  color:var(--tinta);
}
.seccion--gris .aviso{background:var(--blanco)}

/* ---------- Bloque de agua potable (llamada) ---------- */
.agua{
  background:linear-gradient(115deg,var(--azul-700),var(--azul-500));
  color:var(--blanco);
}
.agua__fila{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
  padding:96px 0;
}
.agua p{color:rgba(255,255,255,.85)}
.agua .estelas{color:rgba(255,255,255,.7);margin-bottom:26px}
.agua__acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* ---------- Sobre nosotros ---------- */
.nosotros__fila{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.valores{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1px;
  background:var(--linea);
  border:1px solid var(--linea);
  margin-top:64px;
}
.valor{background:var(--blanco);padding:30px 26px}
.seccion--gris .valor{background:var(--azul-050)}
.valor h4{font-size:1.05rem;margin-bottom:10px}
.valor p{font-size:.95rem;color:var(--gris);margin:0}

/* ---------- Contacto ---------- */
.contacto__fila{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.datos{list-style:none;margin:0 0 32px;padding:0}
.datos li{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--linea);
  align-items:baseline;
}
.datos dt,.datos .etq{
  font-family:var(--dato);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gris);
}
.datos li > *{justify-self:start}
.pendiente{
  display:inline-block;
  color:var(--azul-700);
  background:var(--azul-050);
  border-bottom:2px dashed var(--azul-300);
  padding:1px 6px;
  font-family:var(--dato);
  font-size:.9rem;
}
.formulario{display:grid;gap:18px}
.campo{display:grid;gap:7px}
.campo label{
  font-family:var(--dato);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gris);
}
.campo input,.campo select,.campo textarea{
  font-family:var(--texto);
  font-size:1rem;
  padding:13px 15px;
  border:1px solid var(--linea);
  border-radius:var(--radio);
  background:var(--blanco);
  color:var(--tinta);
  width:100%;
}
.campo textarea{min-height:130px;resize:vertical}
.formulario button{
  justify-self:start;
  cursor:pointer;
  font-family:var(--dato);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:15px 30px;
  border:0;
  border-radius:var(--radio);
  background:var(--azul-500);
  color:var(--blanco);
}
.formulario button:hover{background:var(--azul-700)}
.nota-form{font-size:.85rem;color:var(--gris);margin:0}

/* ---------- Pie ---------- */
.pie{background:var(--azul-900);color:rgba(255,255,255,.75);padding:64px 0 28px}
.pie__fila{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:48px;
  padding-bottom:44px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.pie img{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.95;margin-bottom:20px}
.pie h4{color:var(--blanco);font-size:.9rem;letter-spacing:.1em;margin-bottom:18px}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:10px;font-size:.95rem}
.pie a{text-decoration:none}
.pie a:hover{color:var(--blanco);text-decoration:underline}
.pie .pendiente{
  background:rgba(255,255,255,.1);
  color:rgba(255,255,255,.9);
  border-bottom-color:rgba(255,255,255,.45);
}
.pie__legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  padding-top:24px;
  font-family:var(--dato);
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.55);
}

/* ---------- Página de agua potable ---------- */
.portada--interior .portada__fila{padding:78px 0 86px}
.pasos{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1px;
  background:var(--linea);
  border:1px solid var(--linea);
}
.paso{background:var(--blanco);padding:32px 28px}
.paso__num{
  font-family:var(--dato);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--azul-500);
  display:block;
  margin-bottom:14px;
}
.paso h4{font-size:1.05rem;margin-bottom:10px}
.paso p{font-size:.95rem;color:var(--gris);margin:0}
.usos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
.uso{border-top:3px solid var(--azul-500);padding-top:18px}
.uso h4{font-size:1rem;margin-bottom:8px}
.uso p{font-size:.95rem;color:var(--gris);margin:0}
.franja-enlace{
  background:var(--azul-050);
  border:1px solid var(--linea);
  border-left:5px solid var(--azul-500);
  padding:40px;
  display:grid;
  grid-template-columns:1.4fr auto;
  gap:32px;
  align-items:center;
}
.franja-enlace h3{margin-bottom:12px}
.franja-enlace p{margin:0;color:var(--gris)}

/* ---------- Aparición al hacer scroll ---------- */
.js .revela{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .revela.visible{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .abrir-menu{display:block}
  .menu{
    position:absolute;
    top:84px;left:0;right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--blanco);
    border-bottom:1px solid var(--linea);
    padding:8px 24px 20px;
    display:none;
  }
  .menu.abierto{display:flex}
  .menu a{padding:14px 0;border-bottom:1px solid var(--linea)}
  .menu li:last-child a{border-bottom:0}

  .portada__fila,.agua__fila,.nosotros__fila,.contacto__fila,.pie__fila,.franja-enlace{
    grid-template-columns:1fr;
    gap:36px;
  }
  .servicio{grid-template-columns:1fr;gap:32px}
  .servicio--invertido .servicio__media{order:0}
  .seccion{padding:72px 0}
  .portada__fila{padding:64px 0 72px}
  .agua__fila{padding:72px 0}
  .franja-enlace{padding:30px}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .revela{opacity:1;transform:none}
}

/* ============================================================
   BLOQUES AÑADIDOS PARA SEO Y CONTENIDO
   ============================================================ */

/* Migas de pan */
.migas{
  font-family:var(--dato);
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gris);
  padding:18px 0 0;
}
.migas ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.migas li::after{content:"/";margin-left:8px;opacity:.5}
.migas li:last-child::after{content:""}
.migas a{text-decoration:none;color:var(--azul-700)}
.migas a:hover{text-decoration:underline}

/* Preguntas frecuentes */
.faq{display:grid;gap:0;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px 0;
  font-family:var(--display);
  font-weight:600;
  font-size:1.08rem;
  letter-spacing:-.01em;
  line-height:1.3;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";
  font-family:var(--texto);
  font-size:1.5rem;
  line-height:1;
  color:var(--azul-500);
  flex:0 0 auto;
  transition:transform .25s ease;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:hover{color:var(--azul-700)}
.faq .respuesta{padding:0 48px 26px 0;color:var(--gris);max-width:78ch}
.faq .respuesta p:last-child{margin-bottom:0}

/* Zonas de servicio */
.zonas{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  padding:18px 0;
}
.zonas li{
  font-family:var(--texto);
  font-size:1rem;
  color:var(--gris);
  padding-right:18px;
  margin-right:18px;
  border-right:1px solid var(--linea);
  line-height:1.9;
}
.zonas li:last-child{border-right:0;padding-right:0;margin-right:0}
.zonas li strong{color:var(--tinta);font-weight:600}

/* Rejilla de dos columnas de texto */
.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

/* Enlaces dentro del texto */
.texto-enlace{color:var(--azul-700);text-decoration:underline;text-underline-offset:3px}
.texto-enlace:hover{color:var(--azul-500)}

/* Barra de llamada rápida */
.barra-tel{
  background:var(--azul-050);
  border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);
  padding:26px 0;
}
.barra-tel__fila{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.barra-tel p{margin:0;font-size:1.02rem}

@media (max-width:900px){
  .dos-columnas{grid-template-columns:1fr;gap:32px}
  .faq .respuesta{padding-right:0}
}

/* ---------- Franja de reseñas de Google ---------- */
.resenas{background:var(--blanco);border-bottom:1px solid var(--linea);padding:22px 0}
.resenas__fila{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;text-align:center}
.estrellas{display:flex;gap:3px;color:#F5A623;font-size:1.15rem;line-height:1}
.resenas__nota{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em}
.resenas__texto{color:var(--gris);font-size:.98rem;margin:0}
.resenas__texto strong{color:var(--tinta)}
.resenas__enlace{font-family:var(--dato);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--azul-700);text-decoration:none;border-bottom:2px solid var(--azul-300);padding-bottom:2px}
.resenas__enlace:hover{border-color:var(--azul-700)}
@media (max-width:640px){.resenas__fila{flex-direction:column;gap:10px}}


/* ---------- Submenú de servicios ---------- */
.menu li{position:relative}
.submenu{
  position:absolute;top:100%;left:-14px;
  min-width:230px;
  list-style:none;margin:0;padding:8px 0;
  background:var(--blanco);
  border:1px solid var(--linea);
  border-radius:var(--radio);
  box-shadow:0 14px 34px rgba(6,35,99,.12);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:60;
}
.menu li:hover>.submenu,.menu li:focus-within>.submenu{opacity:1;visibility:visible;transform:none}
.submenu a{padding:10px 18px;font-size:.72rem;white-space:nowrap}
.submenu a::after{display:none}
.submenu a:hover{background:var(--azul-050);color:var(--azul-700)}
@media (max-width:900px){
  .submenu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;padding:0 0 0 16px;min-width:0;border-left:2px solid var(--linea);margin:0 0 10px}
  .submenu a{padding:11px 0;border-bottom:0;font-size:.7rem;color:var(--gris)}
}


/* ---------- Páginas legales ---------- */
.legal__cabecera{max-width:70ch;margin-bottom:52px}
.legal__cabecera h1{font-size:clamp(2rem,4.4vw,3rem);margin-bottom:18px}
.legal__texto{max-width:76ch}
.legal__texto h2{
  font-size:1.18rem;
  letter-spacing:-.01em;
  margin:46px 0 16px;
  padding-top:22px;
  border-top:1px solid var(--linea);
}
.legal__texto h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal__texto p{color:var(--gris)}
.legal__texto strong{color:var(--tinta)}
.legal__texto .lista-limpia{margin:0 0 1.1em}
.legal__fecha{
  margin-top:52px;
  padding-top:22px;
  border-top:1px solid var(--linea);
  font-family:var(--dato);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.tabla-legal{width:100%;border-collapse:collapse;margin:0 0 1.4em}
.tabla-legal th,.tabla-legal td{
  text-align:left;
  vertical-align:top;
  padding:14px 0;
  border-bottom:1px solid var(--linea);
  font-size:.98rem;
}
.tabla-legal th{
  width:210px;
  padding-right:24px;
  font-family:var(--dato);
  font-weight:400;
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--gris);
}
.tabla-legal td{color:var(--tinta)}

/* Casilla de consentimiento del formulario */
.consentimiento{display:flex;gap:12px;align-items:flex-start}
.consentimiento input{width:20px;height:20px;flex:0 0 auto;margin-top:3px;accent-color:var(--azul-500)}
.consentimiento label{font-size:.88rem;line-height:1.5;color:var(--gris)}

@media (max-width:640px){
  .tabla-legal th,.tabla-legal td{display:block;width:auto;padding:0}
  .tabla-legal th{padding-top:14px}
  .tabla-legal td{padding-bottom:14px;border-bottom:1px solid var(--linea)}
  .tabla-legal tr th{border:0}
}


/* ---------- Mapa de la zona de servicio ---------- */
.mapa{
  position:relative;
  aspect-ratio:21/9;
  border-radius:var(--radio);
  overflow:hidden;
  border:1px solid var(--linea);
  background:var(--azul-050);
  background-image:
    repeating-linear-gradient(90deg,rgba(27,111,212,.09) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(27,111,212,.09) 0 1px,transparent 1px 46px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.mapa__aviso{text-align:center;max-width:44ch}
.mapa__eyebrow{
  font-family:var(--dato);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--azul-500);
  margin:0 0 10px;
}
.mapa__texto{font-size:1rem;color:var(--tinta);margin:0 0 18px;line-height:1.5}
.mapa__nota{font-size:.78rem;color:var(--gris);margin:16px 0 0;line-height:1.5}
.mapa--cargado{padding:0;background:none;border-color:var(--linea)}
.mapa iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:640px){.mapa{aspect-ratio:4/3}}


/* ---------- Fichas de datos (cifras destacadas) ---------- */
.fichas{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:1px;
  list-style:none;
  margin:0 0 26px;
  padding:0;
  background:var(--linea);
  border:1px solid var(--linea);
  border-radius:var(--radio);
  overflow:hidden;
}
.fichas li{background:var(--blanco);padding:20px 14px;text-align:center}
.seccion--gris .fichas li{background:var(--azul-050)}
.fichas b{
  display:block;
  font-family:var(--display);
  font-weight:800;
  font-size:1.85rem;
  letter-spacing:-.03em;
  line-height:1;
  color:var(--azul-700);
}
.fichas span{
  display:block;
  margin-top:8px;
  font-family:var(--dato);
  font-size:.64rem;
  line-height:1.35;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gris);
}

/* Apartado activo cuando estás en una página de servicio */
.menu a.activo{color:var(--azul-700)}
.menu a.activo::after{width:100%}
