/* ==========================================================================
   Transred · Rediseño de secciones
   Tercera capa. Reemplaza los bloques que quedaron pobres: soluciones,
   flota, cobertura, nosotros y contacto.
   ========================================================================== */

/* ====================================================== SOLUCIONES bento */
/* Cinco tarjetas en tres columnas dejaban un hueco. La primera ocupa dos
   columnas y el grid cierra solo: 2 + 3. */
.sol-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.4vw,18px);
}
.sol{min-height:clamp(270px,24vw,330px)}
.sol:first-child{
  grid-column:span 2;
  min-height:clamp(300px,28vw,390px);
}
.sol:first-child .sol-tx h3{font-size:clamp(1.4rem,2.4vw,2rem)}
.sol:first-child .sol-tx p{max-width:42ch;font-size:.95rem}

/* En el inicio se muestran tres: el ancho doble de la primera dejaria una
   celda vacia, asi que ahi van las tres iguales. */
.sol-3{grid-template-columns:repeat(3,1fr)}
.sol-3 .sol:first-child{grid-column:span 1;min-height:clamp(270px,24vw,330px)}
.sol-3 .sol:first-child .sol-tx h3{font-size:inherit}
.sol-3 .sol:first-child .sol-tx p{max-width:none;font-size:inherit}

@media(max-width:1040px){
  .sol-grid{grid-template-columns:repeat(2,1fr)}
  .sol:first-child{grid-column:span 2}
  .sol-3{grid-template-columns:repeat(2,1fr)}
  .sol-3 .sol:first-child{grid-column:span 2}
}
@media(max-width:680px){
  .sol-grid,.sol-3{grid-template-columns:1fr}
  .sol:first-child,.sol-3 .sol:first-child{grid-column:span 1}
  .sol-3 .sol{min-height:236px}
}

/* ====================================================== COBERTURA amplia */
/* La foto aerea real vale mas que un mapa dibujado a mano. Ocupa todo el
   ancho y los datos van sobre ella. */
.cobertura{position:relative;overflow:hidden;padding-block:0;background:var(--ink)}
.cob-foto{position:absolute;inset:0;z-index:0}
.cob-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.cob-foto::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(96deg, var(--ink) 4%, rgba(6,21,36,.94) 34%, rgba(6,21,36,.42) 74%),
    linear-gradient(0deg, rgba(6,21,36,.8), transparent 34%);
}
.cob-in{position:relative;z-index:2;padding-block:clamp(72px,9vw,132px)}
.cob-cols{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
.cob-txt h2{font-size:var(--fs-h2);margin-top:16px}
.cob-txt>p{color:var(--tx-soft);font-size:var(--fs-lead);margin-top:18px;max-width:44ch}

/* tarjetas de sede sobre la foto */
.sedes{display:grid;gap:14px}
.sede{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
  background:rgba(9,28,46,.72);backdrop-filter:blur(14px) saturate(130%);
  border:1px solid var(--line-2);border-radius:var(--r-m);
  padding:22px 24px;transition:transform .4s var(--ease),border-color .3s;
}
.sede:hover{transform:translateY(-3px);border-color:var(--blue-400)}
.sede .marca{
  width:42px;height:42px;border-radius:11px;display:grid;place-items:center;
  background:rgba(46,155,224,.16);border:1px solid rgba(46,155,224,.36);color:var(--blue-300);
}
.sede .tipo{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue-300);
}
.sede h3{font-size:1.16rem;margin-top:6px}
.sede p{font-size:.89rem;color:var(--tx-soft);margin-top:6px}
/* Antes eran chips sueltos, que a dos por tarjeta se leían como etiquetas
   decorativas. Como lista con viñeta se entiende que es lo que hace la base. */
.sede .servicios{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.sede .servicios li{
  position:relative;padding-left:16px;
  font-size:.83rem;color:var(--tx-soft);line-height:1.45;
}
.sede .servicios li::before{
  content:'';position:absolute;left:0;top:.5em;
  width:6px;height:6px;border-radius:50%;background:var(--blue-300);opacity:.75;
}
.sede-pais{
  display:block;margin-top:15px;padding-top:12px;
  border-top:1px solid var(--line);
  font-family:var(--mono);font-size:.63rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mut);
}
.cob-corredor{
  display:flex;align-items:center;gap:16px;margin-top:22px;padding-top:20px;
  border-top:1px solid var(--line);
}
.cob-corredor .linea{
  flex:1;height:2px;
  background:repeating-linear-gradient(90deg,var(--blue-300) 0 var(--vial-trazo-fino),transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  opacity:.6;
}
.cob-corredor span{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mut-2);white-space:nowrap;
}

@media(max-width:900px){
  .cob-cols{grid-template-columns:1fr;gap:32px}
  .cob-foto::after{background:linear-gradient(180deg,rgba(6,21,36,.72),rgba(6,21,36,.95) 52%)}
}

/* ================================================= CONTACTO desde cobertura */
.contacto-cobertura{background:var(--paper);color:var(--ink-tx);padding-block:clamp(42px,5vw,64px)}
.contacto-cobertura-intro{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:clamp(26px,4vw,52px);align-items:start}
.contacto-cobertura-copy h2{color:var(--ink-tx);font-size:var(--fs-h2);margin-top:16px}
.contacto-cobertura-copy>p{color:var(--ink-mut);font-size:var(--fs-lead);max-width:48ch;margin-top:14px}
.contacto-cobertura-foto{min-width:0;align-self:center;max-height:360px;border-radius:var(--r-l);overflow:hidden;aspect-ratio:16/11}
.contacto-cobertura-foto img{width:100%;height:100%;object-fit:cover;object-position:57% 43%}
.contacto-canales{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.contacto-canales a{display:grid;align-content:center;gap:4px;min-width:0;min-height:86px;padding:12px 13px;border:1px solid var(--paper-line);border-radius:var(--r-m);color:var(--ink-tx);background:#fff;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}
.contacto-canales a:hover,.contacto-canales a:focus-visible{border-color:var(--blue);box-shadow:0 8px 20px -16px rgba(0,125,197,.7);transform:translateY(-2px)}
.contacto-canales a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.contacto-canales strong{font-size:.9rem;overflow-wrap:anywhere}
.contacto-canales span{font-family:var(--mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mut)}
.cobertura-redes{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:clamp(16px,2vw,22px);border:1px solid rgba(119,202,243,.3);border-left:3px solid var(--yellow,#f2c94c);border-radius:var(--r-m);background:var(--navy);box-shadow:0 16px 28px -24px rgba(6,21,36,.75)}
.cobertura-redes-copy{min-width:0}.cobertura-redes-eyebrow{display:block;font-family:var(--mono);font-size:.65rem;font-weight:650;letter-spacing:.16em;color:var(--yellow,#f2c94c)}
.cobertura-redes h3{margin-top:7px;font-family:var(--display);font-size:clamp(1.16rem,1.5vw,1.34rem);font-weight:720;letter-spacing:-.01em;line-height:1.15;color:#fff!important}.cobertura-redes p{max-width:43ch;margin-top:7px;color:var(--tx-soft)!important;font-size:.9rem;line-height:1.5}
.cobertura-redes-lista{display:flex;flex:0 0 auto;align-items:center;gap:12px}.cobertura-red{position:relative;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#fff;color:var(--ink-tx)!important;text-decoration:none;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.cobertura-red-icono{display:grid;place-items:center;width:32px;height:32px}.cobertura-red-icono svg{width:30px;height:30px}.cobertura-red--instagram .cobertura-red-icono{color:#c13584}.cobertura-red--facebook .cobertura-red-icono{color:#1877f2}.cobertura-red--linkedin .cobertura-red-icono{color:#0a66c2}
.cobertura-red-tooltip{position:absolute;top:calc(100% + 8px);left:50%;z-index:2;pointer-events:none;opacity:0;transform:translate(-50%,-3px);padding:4px 7px;border-radius:5px;background:#fff;color:var(--ink-tx)!important;font-family:var(--mono);font-size:.58rem;letter-spacing:.05em;line-height:1;white-space:nowrap;transition:opacity .2s var(--ease),transform .2s var(--ease)}
.cobertura-red:hover,.cobertura-red:focus-visible{border-color:var(--yellow,#f2c94c);background:var(--yellow,#f2c94c);box-shadow:0 9px 18px -11px rgba(0,0,0,.65);transform:translateY(-3px)}.cobertura-red:hover .cobertura-red-tooltip,.cobertura-red:focus-visible .cobertura-red-tooltip{opacity:1;transform:translate(-50%,0)}.cobertura-red:focus-visible{outline:2px solid #fff;outline-offset:4px}
.contacto-ubicaciones{margin-top:clamp(40px,5vw,58px)}
.contacto-ubicaciones-head{max-width:60ch;margin-bottom:18px}
.contacto-ubicaciones-head h2{color:var(--ink-tx);font-size:var(--fs-h2);margin-top:14px}
.contacto-ubicaciones-head>p{color:var(--ink-mut);font-size:var(--fs-lead);margin-top:14px}
.contacto-sedes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:clamp(18px,2.4vw,26px)}
.contacto-sede{min-width:0;min-height:204px;padding:18px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:#fff;display:flex;flex-direction:column}
.contacto-sede-pais{font-family:var(--mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.contacto-sede h3{color:var(--ink-tx);font-size:1.08rem;line-height:1.22;margin-top:8px}
.contacto-sede p{color:var(--ink-mut);margin-top:5px}
.contacto-sede address{display:block;margin-top:11px;padding-top:10px;border-top:1px solid var(--paper-line);font-style:normal;color:var(--ink-tx);font-size:.8rem;line-height:1.4}
.contacto-sede-mapa,.contacto-sede-consulta{align-self:flex-start;display:inline-flex;width:auto;margin-top:auto;padding:10px 0 0!important;border:0!important;background:transparent!important;color:var(--blue)!important;box-shadow:none!important;font-size:.84rem!important}
@media(max-width:1100px){
  .contacto-cobertura-intro{grid-template-columns:1fr;gap:26px}
  .contacto-cobertura-foto{width:100%;max-width:620px;max-height:none;aspect-ratio:16/9}
  .contacto-sedes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .contacto-cobertura-intro,.contacto-sedes{grid-template-columns:1fr}
  .contacto-cobertura-foto{order:0;aspect-ratio:16/10}
  .contacto-cobertura-foto img{object-position:58% 38%}
  .contacto-canales{grid-template-columns:1fr}
  .cobertura-redes{flex-direction:column;gap:18px;padding:22px 19px;text-align:center}.cobertura-redes p{margin-inline:auto}.cobertura-redes-lista{gap:14px}.cobertura-red{width:52px;height:52px}
  .contacto-sede{min-height:184px;padding:17px}
  .contacto-sede-mapa,.contacto-sede-consulta{width:auto;justify-content:flex-start}
}
@media(min-width:681px){
  .pag-cobertura .hpag.con-foto{min-height:clamp(480px,38vw,590px);padding-block:clamp(132px,11vw,160px) clamp(42px,4vw,56px)}
  .pag-cobertura .hpag h1{max-width:18ch}
  .pag-cobertura .hpag>.wrap>p{max-width:62ch}
}

/* ======================================================= NOSOTROS editorial */
.nos{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.nos-foto{position:relative;min-height:clamp(420px,52vw,640px);border-radius:var(--r-l);overflow:hidden}
.nos-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pag-nosotros .nos-foto--oficina img{object-position:50% 58%}
@media(min-width:901px){
  .pag-nosotros .nos-foto--oficina{
    width:100%;
    max-width:100%;
    min-width:0;
    height:auto;
    min-height:clamp(360px,31vw,460px);
  }
  .pag-nosotros .nos-foto--oficina img{object-fit:cover;object-position:50% 50%}
}
.pag-inicio .nos-foto--fachada-inicio img{object-fit:cover;object-position:50% 50%}
@media(max-width:680px){.pag-inicio .nos-foto--fachada-inicio img{object-position:52% 50%}}
.nos-sello{
  position:absolute;left:24px;bottom:24px;z-index:2;
  background:rgba(6,21,36,.76);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.16);border-radius:var(--r-m);
  padding:16px 20px;color:#fff;
}
.nos-sello b{
  display:block;font-family:var(--display);font-weight:800;font-size:2rem;
  font-variation-settings:'wdth' 118;line-height:1;letter-spacing:-.03em;
}
.nos-sello span{
  display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue-300);margin-top:7px;
}
.nos-txt{padding:clamp(24px,4vw,64px) 0 clamp(24px,4vw,64px) clamp(24px,4vw,64px)}
.nos-txt h2{font-size:var(--fs-h2);margin-top:16px}
.nos-txt>p{color:var(--ink-mut);font-size:var(--fs-lead);margin-top:20px;max-width:50ch}
@media(min-width:901px){
  .pag-nosotros #nosotros{padding-top:clamp(72px,6vw,92px);padding-bottom:clamp(54px,4vw,66px)}
  .pag-nosotros .nos-txt{padding-block:clamp(22px,2.8vw,42px)}
}

/* pilares en lugar de la rejilla plana */
.pilares{display:grid;gap:0;margin-top:34px}
.pilar{
  display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;
  padding:20px 0;border-top:1px solid var(--paper-line);
}
.pilar:last-child{border-bottom:1px solid var(--paper-line)}
.pilar .n{
  font-family:var(--mono);font-size:.68rem;color:var(--blue);padding-top:3px;
}
.pilar b{
  display:block;font-family:var(--display);font-weight:700;font-size:1.08rem;
  font-variation-settings:'wdth' 108;color:var(--ink-tx);
}
.pilar span{display:block;font-size:.88rem;color:var(--ink-mut);margin-top:4px}

@media(max-width:900px){
  .nos{grid-template-columns:1fr}
  .nos-txt{padding:38px 0 0}
  .nos-foto{min-height:340px}
  .pag-nosotros .nos-foto--oficina img{object-position:50% 58%}
}
@media(max-width:430px){.pag-nosotros .nos-txt{padding-top:44px}}

/* ======================================================== LINEA DE TIEMPO */
.tl{margin-top:clamp(56px,7vw,92px)}
.tl-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:26px}
.tl-cab h3{font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--ink-tx)}
.tl-wrap{position:relative}
.tl-riel{
  display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;
  scrollbar-width:none;padding-bottom:6px;
  /* El riel sale hasta el borde del wrap para poder desplazarse hasta el
     final, y recupera el margen con padding. */
  margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);
  /* Sin esto el snap alinea el primer hito con el borde de la caja de padding
     y deja el riel con scrollLeft igual al gutter: la linea de tiempo arrancaba
     40px a la izquierda del titulo, fuera de la columna de la pagina. */
  scroll-padding-inline:var(--gut);
}
.tl-riel::-webkit-scrollbar{display:none}
.tl-hito{
  flex:0 0 clamp(210px,22vw,262px);scroll-snap-align:start;
  padding:0 clamp(16px,1.6vw,24px) 0 0;position:relative;
}
.tl-hito::before{
  content:'';position:absolute;left:0;right:0;top:9px;height:2px;
  background:repeating-linear-gradient(90deg,var(--blue) 0 var(--vial-trazo-fino),transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  opacity:.45;
}
.tl-hito::after{
  content:'';position:absolute;left:0;top:3px;width:14px;height:14px;border-radius:50%;
  background:var(--paper);border:3px solid var(--blue);
}
.tl-hito:last-child::before{background:none}
.tl-hito .cuerpo{padding-top:38px}
.tl-hito .yr{
  font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--blue);
  font-variation-settings:'wdth' 118;letter-spacing:-.02em;display:block;
}
.tl-hito p{font-size:.87rem;color:var(--ink-mut);margin-top:9px;padding-right:8px}
/* aviso de que sigue */
.tl-wrap::after{
  content:'';position:absolute;right:calc(var(--gut) * -1);top:0;bottom:6px;width:80px;
  pointer-events:none;background:linear-gradient(90deg,transparent,var(--paper));
  opacity:1;transition:opacity .3s;
}
.tl-wrap.fin::after{opacity:0}

/* ========================================================= CONTACTO ampliado */
.contacto{position:relative;overflow:hidden}
.cta-grid{grid-template-columns:1.08fr .92fr;align-items:stretch}
.form-card{
  background:linear-gradient(168deg,var(--surface-2),var(--surface) 62%);
  border:1px solid var(--line-2);
}
.form-card .eyebrow{color:var(--blue-300)}
/* panel lateral con foto */
.aside{gap:0;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.aside-foto{position:relative;min-height:230px;flex:1 1 auto}
.aside-foto picture{position:absolute;inset:0;display:block}
.aside-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.pag-contacto .aside-foto img{object-position:50% 60%}
/* El degradado solo oscurece el tercio de abajo, donde va el rotulo.
   Cubriendo toda la foto no se veia la imagen. */
.aside-foto::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 34%,rgba(6,21,36,.55) 68%,rgba(6,21,36,.92));
}
.aside-foto .rotulo{
  position:absolute;left:22px;bottom:18px;z-index:2;color:#fff;
}
.aside-foto .rotulo b{
  display:block;font-family:var(--display);font-weight:700;font-size:1.1rem;
  font-variation-settings:'wdth' 108;
}
.aside-foto .rotulo span{
  display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--blue-300);margin-top:5px;
}
.aside-datos{background:var(--surface);display:grid}
.aside-row{border:none;border-top:1px solid var(--line);border-radius:0;background:transparent}
.aside-row:first-child{border-top:none}
/* width:100% mas margen lateral se pasaba del contenedor y el overflow
   hidden le cortaba las puntas. Con auto, el flex ya lo estira. */
.aside .btn-wa{margin:16px 22px 22px;width:auto;align-self:stretch}

@media(max-width:1040px){
  .aside-foto{min-height:220px}
}
/* El formulario y la columna de datos entran cómodos hasta bastante abajo:
   colapsarlos a 1040 apilaba dos bloques de 680px y estiraba la sección a
   1500px de alto sin necesidad. */
@media(max-width:860px){
  .cta-grid{grid-template-columns:1fr}
}

/* transicion suave al cambiar de unidad en el configurador */
/* El sufijo (+) no debe caer a otra linea */
.stat b{white-space:nowrap}

/* ================================================ BARRA DE DATOS (hero) */
/* Se veia apagada y desalineada. Numeros grandes, todo apoyado en la misma
   linea de base y separadores finos. */
.stats{background:linear-gradient(180deg,var(--navy),var(--ink))}
.stats-grid{grid-template-columns:repeat(4,1fr)}
/* Se repiten los cortes porque esta regla pisa la de site.css. */
@media(max-width:1040px){
  .stats-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .stats-grid{grid-template-columns:1fr}
  .stat{border-left:none}
}
.stat{
  padding:clamp(30px,3.6vw,46px) clamp(20px,2.4vw,34px);
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:flex-end;
}
.stat b{
  font-size:clamp(2.3rem,3.8vw,3.4rem);
  letter-spacing:-.035em;line-height:.95;
  color:#fff;
}
/* El degradado sobre el texto solo se aplica donde el recorte funciona.
   Sin este resguardo, color:transparent dejaria los numeros invisibles. */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .stat b{
    background:linear-gradient(180deg,#fff 42%,#AFCFE6);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
.stat > span{
  font-size:.68rem;letter-spacing:.16em;color:var(--mut);
  margin-top:14px;max-width:20ch;line-height:1.5;
}

/* El titulo solo dejaba medio ancho vacio al lado. */
/* aviso legal, dentro del panel y discreto */
.conf-aviso{
  font-family:var(--mono);font-size:.68rem;line-height:1.6;
  color:var(--ink-mut);opacity:.75;
  margin-top:22px;padding-top:16px;border-top:1px solid var(--paper-line);
}

/* La lista en texto plano no pesaba nada al lado del panel. Con la foto de
   cada unidad se lee de un vistazo y la seccion gana cuerpo. */
/* el panel gana aire y jerarquia */
/* ================================================= COBERTURA · mas presencia */
.cob-in{padding-block:clamp(88px,11vw,156px)}
.cob-txt h2{font-size:clamp(2.1rem,4.2vw,3.4rem)}

/* Franja de datos, ancho completo bajo las dos columnas.
   Antes vivía dentro de la columna de texto: los números quedaban chicos y
   cada rótulo se partía en dos líneas ("02 bases / operativas"). */
.cob-cifras{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:clamp(40px,5vw,64px);
  border-top:1px solid var(--line-2);
}
/* La sección no tiene padding propio (la foto va a sangre), así que el aire de
   abajo lo pone la franja. Sin esto quedaban 111px de fondo vacío. */
.cob-in{padding-bottom:clamp(30px,4vw,52px)}
.cob-cifra{
  padding:clamp(24px,3vw,34px) clamp(20px,2.6vw,34px);
  border-right:1px solid var(--line);
}
.cob-cifra:last-child{border-right:0}
.cob-cifra b{
  display:block;font-family:var(--display);font-weight:800;
  font-size:clamp(2.6rem,5.2vw,4.4rem);font-variation-settings:'wdth' 118;
  color:#fff;line-height:.92;letter-spacing:-.04em;
}
.cob-cifra span{
  display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tx-soft);margin-top:14px;line-height:1.5;
}
/* la primera arranca al ras del texto de arriba */
.cob-cifra:first-child{padding-left:0}

/* En la página propia no van las tarjetas de sede (están abajo con su ficha
   completa), así que el texto usa todo el ancho en vez de dejar media columna
   vacía al costado. */
.cob-cols.solo{grid-template-columns:1fr}
.cob-cols.solo .cob-txt>p{max-width:62ch}

@media(max-width:680px){
  .hpag.con-foto{padding-block:108px 44px}
  .cob-cifras{grid-template-columns:1fr}
  .cob-cifra{border-right:0;border-bottom:1px solid var(--line);padding-left:0}
  .cob-cifra:last-child{border-bottom:0}
}

/* ================================================ HERO DE PAGINA INTERNA */
/* Más bajo que el del inicio: acá la página ya se eligió. */
.hpag{
  position:relative;overflow:hidden;background:var(--navy);
  padding-block:clamp(120px,13vw,180px) clamp(46px,6vw,74px);
}
.hpag.con-foto{padding-block:clamp(140px,15vw,210px) clamp(56px,7vw,88px)}
.pag-flota .hpag.con-foto{padding-block-start:clamp(104px,11vw,156px)}
.hpag-foto{position:absolute;inset:0;z-index:0}
.hpag-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.pag-soluciones .hpag-foto picture{position:absolute;inset:0;display:block}
.pag-soluciones .hpag-foto img{object-position:50% 82%;transform:scale(1.06)}
.pag-soluciones .hpag-foto::after{background:linear-gradient(100deg,rgba(6,21,36,.94) 0%,rgba(6,21,36,.78) 38%,rgba(6,21,36,.47) 62%,rgba(6,21,36,.22) 100%),linear-gradient(180deg,rgba(6,21,36,.34) 0%,rgba(6,21,36,.08) 47%,rgba(6,21,36,.58) 100%)}
@media(max-width:680px){.pag-soluciones .hpag-foto img{object-position:50% 82%}.pag-soluciones .hpag-foto::after{background:linear-gradient(100deg,rgba(6,21,36,.93) 0%,rgba(6,21,36,.72) 54%,rgba(6,21,36,.34) 100%),linear-gradient(180deg,rgba(6,21,36,.42) 0%,rgba(6,21,36,.1) 45%,rgba(6,21,36,.68) 100%)}}
.pag-flota .hpag-foto picture{position:absolute;inset:0;display:block}
.pag-flota .hpag-foto img{object-position:0% 55%}
.pag-flota .hpag-foto::after{
  background:linear-gradient(100deg,rgba(6,21,36,.94) 0%,rgba(6,21,36,.76) 38%,rgba(6,21,36,.38) 65%,rgba(6,21,36,.20) 100%),linear-gradient(180deg,rgba(6,21,36,.42) 0%,rgba(6,21,36,.12) 48%,rgba(6,21,36,.66) 100%);
}
@media(max-width:680px){.pag-flota .hpag-foto img{object-position:50% 54%}}
.pag-selector .hpag-foto picture{position:absolute;inset:0;display:block}
.pag-selector .hpag-foto img{object-position:50% 55%}
.pag-selector .hpag-foto::after{
  background:linear-gradient(100deg,rgba(6,21,36,.95) 0%,rgba(6,21,36,.8) 38%,rgba(6,21,36,.42) 66%,rgba(6,21,36,.18) 100%),linear-gradient(180deg,rgba(6,21,36,.34) 0%,rgba(6,21,36,.08) 48%,rgba(6,21,36,.62) 100%);
}
@media(max-width:680px){.pag-selector .hpag-foto img{object-position:50% 48%}}
.pag-nosotros .hpag-foto picture{position:absolute;inset:0;display:block}
@media(min-width:681px){
  .pag-nosotros .hpag-foto img{
    object-fit:cover;object-position:54% 58%;
  }
}
.pag-nosotros .hpag-foto::after{
  background:linear-gradient(90deg,rgba(6,21,36,.96) 0%,rgba(6,21,36,.9) 34%,rgba(6,21,36,.48) 53%,rgba(6,21,36,.12) 100%),linear-gradient(180deg,rgba(6,21,36,.38) 0%,rgba(6,21,36,.08) 45%,rgba(6,21,36,.52) 100%);
}
@media(max-width:680px){.pag-nosotros .hpag-foto img{object-position:50% 58%}}
.hpag-foto::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,21,36,.86) 0%,rgba(6,21,36,.6) 40%,rgba(6,21,36,.94) 100%);
}
.hpag-in{position:relative;z-index:2}
.hpag h1{
  font-size:clamp(2.2rem,5vw,4rem);font-weight:800;
  font-variation-settings:'wdth' 114;margin-top:16px;max-width:20ch;
}
.hpag>.wrap>p{
  color:var(--tx-soft);font-size:var(--fs-lead);margin-top:18px;max-width:56ch;
}
/* La miga suelta sobre la foto se leía como texto perdido. Como pastilla con
   borde tiene cuerpo propio y no compite con el eyebrow que va debajo. */
.miga{
  /* flex + fit-content: conserva el ancho de la pastilla pero corta la línea,
     si no el eyebrow que va debajo se le pega al costado */
  display:flex;width:fit-content;gap:10px;align-items:center;margin-bottom:20px;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;
  padding:7px 15px;border-radius:100px;
  background:rgba(255,255,255,.06);border:1px solid var(--line-2);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.miga a{color:var(--tx-soft);transition:color .2s;text-decoration:none}
.miga a:hover{color:#fff}
.miga span[aria-hidden]{color:var(--blue-300);font-size:.8em}
.miga [aria-current]{color:#fff;font-weight:500}

/* En una página interna, solo la sección que le da nombre oculta su
   encabezado: el hero ya lo dice. Las demás secciones de la misma página
   conservan el suyo, si no quedan sueltas y sin contexto. */
.pag-soluciones #soluciones > .wrap > .sol-cab,
.pag-flota      #flota      > .wrap > .sec-head,
.pag-selector   #selector   > .wrap > .sec-head,
.pag-cobertura  #cobertura  .cob-txt > .eyebrow,
.pag-cobertura  #cobertura  .cob-txt > h2,
.pag-cobertura  #cobertura  .cob-txt > p,
.pag-contacto   #contacto   .form-card > .eyebrow,
.pag-nosotros   #nosotros   .nos-txt > .eyebrow{display:none}
.pagina .sec{padding-top:clamp(48px,6vw,80px)}

/* ===================================== SOLUCIONES · jerarquía de servicio */
.sol-j{padding-bottom:clamp(44px,5vw,72px)}
.sol-principal{
  background:var(--paper-2);border:1px solid var(--paper-line);border-radius:var(--r-l);
  overflow:hidden;box-shadow:0 24px 56px -42px rgba(11,32,51,.48);
}
.sol-principal>header{padding:clamp(28px,4vw,54px) clamp(24px,4.5vw,64px) clamp(26px,3.5vw,42px)}
.sol-principal h2,.sol-sec-head h2{font-family:var(--display);font-weight:750;letter-spacing:-.025em;line-height:1.04;color:var(--ink-tx)}
.sol-principal h2{font-size:clamp(2rem,4vw,3.35rem);margin-top:14px}
.sol-principal>header>p{max-width:68ch;color:var(--ink-mut);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.65;margin-top:18px}
.sol-alcances{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--paper-line);background:var(--paper)}
.sol-alcances article{padding:clamp(22px,3vw,34px) clamp(24px,4.5vw,64px);border-right:1px solid var(--paper-line)}
.sol-alcances article:last-child{border-right:0}
.sol-alcances h3,.sol-tipos h3,.sol-sec-grid h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.15;color:var(--ink-tx)}
.sol-alcances h3{font-size:clamp(1.15rem,1.9vw,1.45rem)}
.sol-alcances p,.sol-tipos p,.sol-sec-grid p{color:var(--ink-mut);font-size:.92rem;line-height:1.62;margin-top:9px}
.sol-tipos{padding:clamp(24px,3.6vw,46px) clamp(24px,4.5vw,64px)}
.sol-label,.sol-estado{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}
.sol-label{display:block;color:var(--blue);margin-bottom:18px}
.sol-tipos>div{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sol-tipos article,.sol-sec-grid article{border:1px solid var(--paper-line);border-radius:12px;padding:clamp(18px,2.3vw,26px);background:var(--paper)}
.sol-tipos h3,.sol-sec-grid h3{font-size:1.08rem}
.sol-secundarias{margin-top:clamp(38px,5vw,58px)}
.sol-sec-head{max-width:52ch;margin-bottom:18px}
.sol-sec-head h2{font-size:clamp(1.65rem,3vw,2.35rem);margin-top:12px}
.sol-sec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sol-sec-grid article{background:var(--paper-2)}
.sol-estado{display:block;color:var(--blue);line-height:1.45;margin-bottom:18px}
.sol-sec-grid .sol-agro{grid-column:1/-1;padding:clamp(18px,2.2vw,22px);box-shadow:0 16px 28px -30px rgba(11,32,51,.58)}
.sol-eco-texto,.sol-almacen-con-galeria .sol-almacen-texto{min-width:0;padding-left:16px;border-left:3px solid var(--blue)}
.sol-agro .sol-eco-texto{max-width:68ch}
.sol-sec-grid .sol-eco{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:clamp(18px,2vw,24px);align-items:center;min-width:0;padding:clamp(20px,2.5vw,26px);box-shadow:0 16px 28px -30px rgba(11,32,51,.58)}
.sol-cap-titulo{display:flex;align-items:center;gap:10px}
.sol-cap-titulo h3{margin:0}
.sol-cap-icon{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--blue) 30%,transparent);border-radius:8px;color:var(--blue)}
.sol-cap-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.eco-etiqueta{display:inline-flex;margin-top:16px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--blue) 35%,transparent);border-radius:100px;color:var(--blue);font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;line-height:1.35}
.eco-galeria{position:relative;min-height:0;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:var(--ink);box-shadow:0 18px 34px -28px rgba(11,32,51,.58);outline:none}
.eco-galeria:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.eco-galeria .fg-viewport{width:100%;height:100%;overflow:hidden}
.eco-galeria .fg-track{display:flex;width:100%;height:100%;will-change:transform;transition:transform .36s var(--ease)}
.eco-galeria .fg-slide{flex:0 0 100%;width:100%;height:100%;margin:0}
.eco-galeria .fg-slide picture,.eco-galeria .fg-slide img{display:block;width:100%;height:100%}
.eco-galeria .fg-slide img{object-fit:cover;object-position:var(--eco-pos-desktop,50% 50%)}
.eco-galeria .fg-controles{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:7px}
.eco-galeria .fg-nav{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(6,21,36,.74);color:#fff;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.eco-galeria .fg-nav:hover,.eco-galeria .fg-nav:focus-visible{background:var(--blue);transform:scale(1.06)}
.eco-galeria .fg-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
.eco-galeria .fg-contador{min-width:48px;padding:7px 8px;border-radius:100px;background:rgba(6,21,36,.74);color:#fff;text-align:center;font-family:var(--mono);font-size:.62rem;letter-spacing:.06em}
.eco-galeria .fg-puntos{display:none}
.sol-almacen{display:flex;align-items:baseline;gap:14px;margin-top:14px;padding:17px 20px;border:1px solid var(--paper-line);border-radius:12px;background:var(--paper-2);color:var(--ink-mut)}
.sol-almacen strong{font-family:var(--display);color:var(--ink-tx);white-space:nowrap}
.sol-almacen p{font-size:.88rem;line-height:1.55}
.sol-almacen-con-galeria{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:clamp(18px,2vw,24px);align-items:center;padding:clamp(20px,2.5vw,26px);box-shadow:0 16px 28px -30px rgba(11,32,51,.58)}
.sol-almacen-con-galeria .sol-almacen-texto strong{display:block}
.sol-almacen-con-galeria .sol-almacen-texto p{margin-top:9px}
@media(max-width:680px){
  .sol-alcances,.sol-tipos>div,.sol-sec-grid{grid-template-columns:1fr}
  .sol-sec-grid{grid-template-columns:minmax(0,1fr)}
  .sol-alcances article{border-right:0;border-bottom:1px solid var(--paper-line)}
  .sol-alcances article:last-child{border-bottom:0}
  .sol-almacen{align-items:flex-start;flex-direction:column;gap:5px}
  .sol-almacen-con-galeria{display:block;padding:16px}
  .sol-eco-texto,.sol-almacen-con-galeria .sol-almacen-texto{padding-left:13px}
  .sol-almacen-con-galeria .eco-galeria{margin-top:16px}
  .sol-sec-grid .sol-agro{padding:14px 16px}
  .sol-sec-grid .sol-eco{display:block;padding:16px}
  .sol-cap-titulo{gap:8px}
  .sol-cap-icon{width:26px;height:26px;border-radius:7px}
  .sol-cap-icon svg{width:15px;height:15px}
  .eco-etiqueta{margin-top:16px}
  .eco-galeria{width:100%;min-width:0;margin-top:16px;aspect-ratio:3/2;overflow:hidden;box-shadow:none}
  .eco-galeria .fg-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x}
  .eco-galeria .fg-viewport::-webkit-scrollbar{display:none}
  .eco-galeria .fg-track{gap:0;width:100%;transition:none;padding-right:0}
  .eco-galeria .fg-slide{flex:0 0 100%;max-width:none;scroll-snap-align:start;border-radius:10px;overflow:hidden}
  .eco-galeria .fg-slide img{object-position:var(--eco-pos-mobile,50% 50%)}
  .eco-galeria .fg-controles{right:9px;bottom:9px;gap:6px}
  .eco-galeria .fg-nav{width:30px;height:30px}
  .eco-galeria .fg-contador{min-width:42px;padding:6px;font-size:.58rem}
  .eco-galeria .fg-puntos{position:absolute;left:12px;bottom:13px;z-index:2;display:flex;align-items:center;gap:5px}
  .eco-galeria .fg-puntos i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.58);transition:transform .2s var(--ease),background .2s var(--ease)}
  .eco-galeria .fg-puntos i.activo{background:#fff;transform:scale(1.35)}
}
@media(prefers-reduced-motion:reduce){.eco-galeria .fg-track{transition:none}.eco-galeria .fg-nav{transition:none}}

/* Accesos de Soluciones: contenido completo y fotografía integrada, sin
   márgenes blancos que separen la imagen del borde de su tarjeta. */
.pag-soluciones .sol-g-nav a{min-height:0;padding:0 0 20px;overflow:hidden;border-radius:18px}
.pag-soluciones .sol-g-nav-media{width:100%;max-width:none;height:164px;margin:0 0 16px;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-nav i{margin:0 20px 11px}
.pag-soluciones .sol-g-nav span,.pag-soluciones .sol-g-nav small{margin-inline:20px}
.pag-soluciones .sol-g-nav small{display:block;overflow:visible;-webkit-line-clamp:unset}
.pag-soluciones .sol-g-nav b{right:20px;bottom:18px}
@media(max-width:680px){.pag-soluciones .sol-g-nav-media{height:180px}.pag-soluciones .sol-g-nav a{padding-bottom:20px}}

/* Biblioteca visual aprobada por el cliente: las imágenes hacen visible cada
   solución sin reemplazar su nombre ni su explicación. */
.pag-soluciones .sol-g-nav a{overflow:hidden;min-height:0;padding-top:0}
.pag-soluciones .sol-g-nav-media{display:block;width:calc(100% + 65px);max-width:none;height:164px;margin:0 0 15px -21px;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-nav i{margin-bottom:10px}
.pag-soluciones .sol-g-nav small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.pag-soluciones .sol-g-country-cards{margin-top:0}
.pag-soluciones .sol-g-cargo .sol-home-tipos-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pag-soluciones .sol-g-cargo .sol-home-tipos-list li{display:flex;flex-direction:column;height:auto;min-height:0;padding:0;overflow:hidden}
.pag-soluciones .sol-g-cargo-media{display:block;width:100%;height:156px;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-cargo-media--refrigerada{object-position:50% 52%;filter:brightness(1.08) contrast(1.02)}
.pag-soluciones .sol-g-cargo-media--peligrosa{object-position:54% 54%}
.pag-soluciones .sol-g-cargo .sol-home-tipo-icon{margin:17px 18px 0}
.pag-soluciones .sol-g-cargo .sol-home-tipos-list h4,.pag-soluciones .sol-g-cargo .sol-home-tipos-list p{margin-inline:18px}
.pag-soluciones .sol-g-cargo .sol-home-tipos-list h4{margin-top:0}
.pag-soluciones .sol-g-cargo .sol-home-tipos-list p{margin-bottom:20px}
.pag-soluciones .sol-g-dedicated-media{margin:0 0 20px;overflow:hidden;border:1px solid rgba(181,224,255,.22);border-radius:12px;background:#0a2538}
.pag-soluciones .sol-g-dedicated-media img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;object-position:50% 54%}
@media(max-width:900px){.pag-soluciones .sol-g-cargo .sol-home-tipos-list{grid-template-columns:repeat(3,minmax(0,1fr))}.pag-soluciones .sol-g-nav-media{height:156px}}
@media(max-width:680px){.pag-soluciones .sol-g-nav-media{width:calc(100% + 65px);height:180px}.pag-soluciones .sol-g-cargo .sol-home-tipos-list{grid-template-columns:1fr;gap:12px}.pag-soluciones .sol-g-cargo-media{height:180px}.pag-soluciones .sol-g-dedicated-media img{aspect-ratio:16/10}}

/* ============================= INICIO · soluciones y soportes jerárquicos */
.sol-home-head{max-width:70ch}
.sol-home-head h2{font-family:var(--display);font-weight:750;letter-spacing:-.025em;line-height:1.04;color:var(--ink-tx);font-size:clamp(2.15rem,4.2vw,3.7rem);margin-top:14px}
.sol-home-head p{color:var(--ink-mut);font-size:var(--fs-lead);line-height:1.62;margin-top:18px}
.sol-home-section-label{margin-bottom:clamp(18px,2vw,25px)}
.sol-home-section-label .eyebrow{display:block;color:var(--blue);margin-bottom:8px}
.sol-home-section-label h3{font-family:var(--display);font-weight:720;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.5rem,2.4vw,2.05rem)}
.sol-home-coverage{margin-top:clamp(30px,4vw,48px);padding:clamp(24px,4vw,42px);border-radius:var(--r-l);background:var(--navy);overflow:hidden}
.sol-home-coverage .sol-home-section-label .eyebrow{color:var(--blue-300)}
.sol-home-coverage .sol-home-section-label h3{color:var(--tx)}
.sol-home-coverage-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(22px,4vw,54px);align-items:stretch}
.sol-home-map{position:relative;isolation:isolate;margin:0;border:1px solid rgba(255,255,255,.13);border-radius:var(--r-m);background:radial-gradient(circle at 42% 30%,rgba(19,140,210,.2),transparent 48%),rgba(255,255,255,.035);overflow:hidden}
.sol-home-map-visual{position:relative;aspect-ratio:480/520;overflow:hidden}
.sol-home-map-visual>img,.sol-home-map-overlay{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
.sol-home-map-visual>img{object-fit:contain}
.sol-home-map-overlay{pointer-events:none}
.sol-map-route{stroke:#9ee6ff;stroke-width:4;stroke-linecap:round;stroke-dasharray:8 6;filter:drop-shadow(0 0 3px rgba(158,230,255,.55))}
.sol-map-node{fill:#138cd2;stroke:#e9f8ff;stroke-width:1.25}
.sol-map-node-operacion{fill:#138cd2;stroke:#e9f8ff;stroke-width:1.25}
.sol-map-node-villa{stroke-width:1}
.sol-map-node-foz{fill:#6bc693;stroke:#effff5}
.sol-map-node-core{fill:#effaff}
.sol-map-node-capital{fill:#eff8fb;stroke:#24475e;stroke-width:2}
.sol-map-label-line{stroke:rgba(223,241,248,.75);stroke-width:1.1;stroke-linecap:round}
.sol-map-label-line.is-operacion{stroke:rgba(158,230,255,.8);stroke-width:1.05}
.sol-home-map-label{position:absolute;z-index:1;left:var(--map-x);top:var(--map-y);transform:translate(-50%,-50%);max-width:35%;padding:2px 4px;border-radius:4px;background:rgba(4,26,41,.58);font-family:var(--mono);font-size:clamp(.65rem,1.2vw,.86rem);font-weight:700;letter-spacing:.035em;line-height:1.15;color:#eefaff;text-align:center;text-shadow:0 1px 7px var(--navy);pointer-events:none}
.sol-home-map-label.is-country{padding:2px 5px;border-radius:3px;background:rgba(4,26,41,.7);font-size:clamp(.76rem,1.32vw,.94rem);font-weight:760;letter-spacing:.02em}
.sol-home-map-label.is-capital{max-width:28%;padding:1px 3px;font-size:clamp(.66rem,1.15vw,.78rem);font-weight:650;color:#d8edf5}
.sol-home-map-label.is-operacion{max-width:38%;padding:1px 3px;border-radius:3px;background:rgba(4,26,41,.38);font-size:clamp(.625rem,.9vw,.7rem);font-weight:600;letter-spacing:.015em;line-height:1.18;color:var(--tx-soft);text-align:left;text-shadow:0 1px 4px var(--navy)}
.sol-home-map-label.is-foz{transform:translate(0,-50%)}
.sol-home-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding:13px 14px 15px;border-top:1px solid rgba(255,255,255,.13);color:var(--tx-soft);font-size:clamp(.72rem,1.15vw,.84rem);line-height:1.35}
.sol-home-map-legend span{display:flex;align-items:flex-start;gap:7px;min-width:0}
.sol-home-map-legend small{display:block;margin-top:2px;color:var(--tx-soft);font-size:.92em;line-height:1.35}
.sol-home-map-legend i{display:block;flex:0 0 9px;width:9px;height:9px;margin-top:.32em;border-radius:50%;background:#138cd2}
.sol-home-map-legend .is-brasil i,.sol-home-map-legend .is-brasil-argentina i{background:#6bc693}.sol-home-map-legend .is-regional i,.sol-home-map-legend .is-chile-uruguay i{background:#d8aa61}.sol-home-map-legend .is-capital i{width:7px;height:7px;margin:calc(.32em + 1px) 1px 0;background:#eff8fb;border:1px solid #24475e}.sol-home-map-legend .is-operacion i{width:9px;height:9px;border:1px solid #e9f8ff;background:#138cd2}
.sol-home-coverage-list{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.13)}
.sol-home-coverage-list article{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.sol-home-coverage-icon{width:30px;height:30px;display:grid;place-items:center;margin-top:2px;border-radius:9px;background:rgba(119,202,243,.12);color:var(--blue-300)}
.sol-home-coverage-icon svg{width:18px;height:18px}
.sol-home-coverage-list article:nth-child(2) .sol-home-coverage-icon{color:#6bc693;background:rgba(107,198,147,.12)}
.sol-home-coverage-list article:nth-child(3) .sol-home-coverage-icon{color:#d8aa61;background:rgba(216,170,97,.12)}
.sol-home-coverage-list article:nth-child(4) .sol-home-coverage-icon{color:#6bc693;background:rgba(107,198,147,.12)}
.sol-home-coverage-list h4,.sol-home-tipos h4,.sol-home-units h4,.home-soportes-grid h3,.home-secundarias h3{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.16}
.sol-home-coverage-list h4{font-size:1.15rem;color:var(--tx)}
.sol-home-coverage-list p{margin-top:7px;color:var(--tx-soft);font-size:.91rem;line-height:1.6}
.sol-home-tipos{margin-top:clamp(38px,5vw,66px)}
.sol-home-tipos ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.sol-home-tipos li{min-width:0;padding:18px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}
.sol-home-tipo-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border-radius:12px;background:var(--blue-100);color:var(--blue)}
.sol-home-tipo-icon svg{width:23px;height:23px}
.sol-home-tipos h4{font-size:1.02rem;color:var(--ink-tx)}
.sol-home-tipos p{margin-top:8px;font-size:.84rem;line-height:1.55;color:var(--ink-mut)}
.sol-home-units{margin-top:clamp(38px,5vw,62px);padding-top:clamp(25px,3vw,35px);border-top:1px solid var(--paper-line)}
.sol-home-units>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sol-home-units article{padding:clamp(20px,2.5vw,27px);border:1px solid var(--paper-line);border-radius:var(--r-m);background:linear-gradient(135deg,var(--paper-2),var(--paper))}
.sol-home-unit-wordmark{font-size:clamp(1.2rem,2vw,1.55rem)!important;letter-spacing:.035em!important;text-transform:uppercase;color:var(--ink-tx)}
.sol-home-units p{margin-top:10px;color:var(--ink-mut);font-size:.9rem;line-height:1.6}
.sol-home-link{margin-top:clamp(28px,4vw,42px)}

/* Inicio: introducción breve; el detalle de transporte permanece en Soluciones. */
.sol-home--summary{padding:clamp(58px,6vw,80px) 0 clamp(22px,2.4vw,32px)}
.sol-home--summary .sol-home-head{max-width:82ch}
.sol-home--summary .sol-home-head p{max-width:76ch;font-size:clamp(1.06rem,1.35vw,1.13rem);line-height:1.68}
.sol-home-summary-concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:clamp(34px,4vw,46px) 0 0;padding:0}
.sol-home-summary-concepts li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;align-items:center;min-width:0;height:140px;padding:22px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}
.sol-home-summary-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--blue-100);color:var(--blue)}
.sol-home-summary-icon svg{width:26px;height:26px}
.sol-home-summary-concepts h3{font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.09em;line-height:1.35;color:var(--blue)}
.sol-home-summary-concepts p{margin-top:8px;color:var(--ink-mut);font-size:.94rem;line-height:1.58}
.sol-home-summary-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(29px,3vw,38px)}
.sol-home-summary-secondary{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-family:var(--display);font-size:.98rem;font-weight:700;text-decoration:none}
.sol-home-summary-secondary:hover,.sol-home-summary-secondary:focus-visible{color:var(--ink-tx)}

/* ================================= SOLUCIONES · tres grupos */
.pag-soluciones .sec{scroll-margin-top:92px}
.sol-g-intro{padding-bottom:clamp(34px,5vw,64px)}
.sol-g-intro-head,.sol-g-head{max-width:74ch}
.sol-g-intro-head h2,.sol-g-head h2{margin-top:12px;font-family:var(--display);font-size:clamp(2rem,4vw,3.45rem);font-weight:750;letter-spacing:-.025em;line-height:1.05;color:var(--ink-tx)}
.sol-g-intro-head p,.sol-g-head>p{margin-top:16px;color:var(--ink-mut);font-size:var(--fs-lead);line-height:1.62}
.sol-g-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:clamp(28px,4vw,48px)}
.sol-g-nav a{position:relative;min-height:138px;padding:20px 44px 20px 21px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2);color:var(--ink-tx);transition:transform .2s var(--ease),border-color .2s var(--ease)}
.sol-g-nav a:hover{transform:translateY(-3px);border-color:var(--blue-300)}
.sol-g-nav i{display:grid;place-items:center;width:35px;height:35px;margin-bottom:14px;border-radius:10px;background:var(--blue-100);color:var(--blue)}.sol-g-nav i svg{width:20px;height:20px}.sol-g-nav span{display:block;font-family:var(--display);font-weight:720;font-size:1.15rem;line-height:1.15}.sol-g-nav small{display:block;margin-top:9px;color:var(--ink-mut);font-size:.86rem;line-height:1.45}.sol-g-nav b{position:absolute;right:20px;bottom:18px;color:var(--blue);font-size:1.2rem}.sol-g-nav a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sol-g-transport{padding-top:clamp(28px,5vw,70px)}
.sol-g-fleet-note{max-width:64ch;margin-top:13px!important;padding:11px 14px;border-left:3px solid var(--blue);background:var(--blue-100);font-size:.94rem!important;color:var(--ink-mut)!important}
.sol-g-coverage{margin-top:clamp(28px,4vw,48px);padding:clamp(24px,4vw,42px);border-radius:var(--r-l);background:var(--navy);overflow:hidden}.sol-g-coverage .sol-home-section-label h3{color:var(--tx)}
.sol-g-cargo,.sol-g-units,.sol-g-business,.sol-g-index{margin-top:clamp(38px,5vw,64px)}
.sol-home-tipos-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}.sol-home-tipos-list li{min-width:0;min-height:225px;padding:22px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}.sol-home-tipos-list h4{font-family:var(--display);font-weight:700;letter-spacing:-.01em;line-height:1.16;font-size:1.1rem;color:var(--ink-tx)}.sol-home-tipos-list p{margin-top:10px;font-size:.91rem;line-height:1.6;color:var(--ink-mut)}.sol-home-tipos-list .sol-home-tipo-icon{width:48px;height:48px;margin-bottom:20px}.sol-home-tipos-list .sol-home-tipo-icon svg{width:27px;height:27px}
.sol-g-index{padding-top:clamp(25px,3vw,38px);border-top:1px solid var(--paper-line)}.sol-g-index-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);gap:clamp(26px,5vw,72px);align-items:end}.sol-g-index-head h3{margin-top:9px;font-family:var(--display);font-weight:720;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.5rem,2.4vw,2.05rem);color:var(--ink-tx)}.sol-g-index-head p{color:var(--ink-mut);font-size:1rem;line-height:1.6}.sol-g-index .sol-cargas-grid{margin-top:clamp(25px,4vw,42px)}
.sol-g-units{padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--paper-line)}.sol-g-units-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:20px}.sol-g-units-head h3,.sol-g-business h3{font-family:var(--display);font-size:clamp(1.45rem,2.4vw,2rem);font-weight:720;letter-spacing:-.02em;line-height:1.1}.sol-g-units-head p{max-width:62ch;margin-top:8px;color:var(--ink-mut);line-height:1.55}.sol-g-units-head .fi-link{flex:0 0 auto;white-space:nowrap}
.sol-g-unit-strip .fi-cards li{flex-basis:max(220px,calc((100% - 56px) / 5))}.sol-g-unit-strip .fi-cards a{grid-template-rows:150px 1fr;min-height:205px}.sol-g-business{padding-top:clamp(24px,3vw,36px);border-top:1px solid var(--paper-line)}.sol-g-business>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sol-g-business article{display:grid;grid-template-columns:1fr;overflow:hidden;border:1px solid var(--paper-line);border-radius:var(--r-m);background:linear-gradient(135deg,var(--paper-2),var(--paper))}.sol-g-business article>div{padding:clamp(21px,2.5vw,28px)}.sol-g-business article.is-eco{grid-template-columns:minmax(155px,.75fr) 1fr}.sol-g-business article.is-eco>img{width:100%;height:100%;min-height:180px;object-fit:cover}.sol-g-business h4{font-family:var(--display);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-tx)}.sol-g-business p{margin-top:10px;color:var(--ink-mut);font-size:.9rem;line-height:1.6}
.sol-g-storage{padding-block:clamp(54px,7vw,88px);background:var(--navy)}.sol-g-storage .sol-g-head h2{color:var(--tx)}.sol-g-storage .sol-g-head>p{color:var(--tx-soft)}.sol-g-storage .eyebrow{color:var(--blue-300)}.sol-g-storage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:clamp(27px,4vw,44px)}.sol-g-storage-grid article{display:grid;grid-template-rows:minmax(205px,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-m);background:rgba(255,255,255,.045)}.sol-g-storage-grid img{width:100%;height:100%;min-height:205px;object-fit:cover}.sol-g-storage-grid article>div{padding:clamp(21px,3vw,30px)}.sol-g-storage-grid h3{font-family:var(--display);font-weight:720;font-size:1.35rem;color:var(--tx)}.sol-g-storage-grid p{margin-top:10px;color:var(--tx-soft);font-size:.93rem;line-height:1.6}
.sol-g-dedicated{padding-block:clamp(52px,7vw,88px)}.sol-g-dedicated-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,6vw,85px);padding:clamp(30px,4.5vw,54px);border:1px solid var(--paper-line);border-radius:var(--r-l);background:var(--paper-2)}.sol-g-dedicated-box h2{margin-top:12px;font-family:var(--display);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:750;letter-spacing:-.025em;line-height:1.08;color:var(--ink-tx)}.sol-g-dedicated-box p{color:var(--ink-mut);font-size:1rem;line-height:1.65}.sol-g-dedicated-box ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:20px 0 0;padding:0}.sol-g-dedicated-box li{display:grid;gap:8px;color:var(--ink-tx);font-size:.87rem;line-height:1.4}.sol-g-dedicated-box li i{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--blue-100);color:var(--blue)}.sol-g-dedicated-box li svg{width:18px;height:18px}.sol-g-dedicated-note{margin-top:20px;padding-top:15px;border-top:1px solid var(--paper-line);font-size:.9rem!important}
@media(max-width:900px){.sol-g-nav{grid-template-columns:1fr}.sol-home-tipos-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sol-home-tipos-list li,.sol-home-tipos-list li:nth-last-child(2){grid-column:auto}.sol-g-index-head{grid-template-columns:1fr;gap:14px;align-items:start}.sol-g-storage-grid{grid-template-columns:1fr}.sol-g-dedicated-box{grid-template-columns:1fr;gap:20px}}
@media(max-width:680px){.sol-g-nav a{min-height:0;padding:18px 42px 18px 18px}.sol-g-units-head{align-items:flex-start;flex-direction:column}.sol-home-tipos-list{grid-template-columns:1fr}.sol-home-tipos-list li{min-height:0}.sol-g-unit-strip .fi-cards li{flex-basis:78%}.sol-g-business>div{grid-template-columns:1fr}.sol-g-business article.is-eco{grid-template-columns:118px 1fr}.sol-g-business article.is-eco>img{min-height:160px}.sol-g-storage-grid article{grid-template-rows:185px auto}.sol-g-storage-grid img{min-height:185px}.sol-g-storage-grid article>div{padding:19px}.sol-g-storage-grid p{font-size:.88rem}.sol-g-dedicated-box{padding:26px}.sol-g-dedicated-box p{font-size:.95rem}.sol-g-dedicated-box ul{grid-template-columns:1fr;gap:12px}.sol-g-dedicated-box li{grid-template-columns:31px 1fr;align-items:center;gap:10px}}

/* Pulido final exclusivo de Soluciones: menos vacío y mejor lectura. */
.pag-soluciones .hpag.con-foto{padding-block:clamp(118px,12vw,166px) clamp(42px,5vw,62px)}
.pag-soluciones .sol-g-intro{padding-top:clamp(44px,6vw,72px);padding-bottom:clamp(28px,4vw,48px)}
.pag-soluciones .sol-g-nav{margin-top:clamp(22px,3vw,34px)}
.pag-soluciones .sol-g-nav a{min-height:166px;padding:21px 45px 20px 22px}
.pag-soluciones .sol-g-nav small,.pag-soluciones .sol-g-index-head p{font-size:.95rem;line-height:1.55}
.pag-soluciones .sol-g-transport{padding-top:clamp(22px,3.5vw,48px);padding-bottom:clamp(42px,5vw,66px)}
.pag-soluciones .sol-g-head>p{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.65}
.pag-soluciones .sol-g-coverage{margin-top:clamp(23px,3vw,36px);padding:clamp(22px,3.2vw,34px)}
.pag-soluciones .sol-home-coverage-grid{gap:clamp(22px,3vw,38px)}
.pag-soluciones .sol-home-coverage-list h4{font-size:1.2rem}.pag-soluciones .sol-home-coverage-list p{font-size:.97rem;line-height:1.62}
.pag-soluciones .sol-home-tipos-list{gap:16px}.pag-soluciones .sol-home-tipos-list li{min-height:238px;padding:24px}.pag-soluciones .sol-home-tipos-list p{font-size:.95rem;line-height:1.62}
.pag-soluciones .sol-g-special-callout{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:15px 18px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}
.pag-soluciones .sol-g-special-callout>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.pag-soluciones .sol-g-special-callout strong{font-family:var(--display);font-size:1rem;line-height:1.3;color:var(--ink-tx)}
.pag-soluciones .sol-g-special-callout span{color:var(--ink-mut);font-size:.92rem;line-height:1.5}
.pag-soluciones .sol-g-special-callout>a{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:var(--blue);font-family:var(--display);font-size:.92rem;font-weight:700;text-decoration:none}
.pag-soluciones .sol-g-special-callout>a:hover,.pag-soluciones .sol-g-special-callout>a:focus-visible{color:var(--ink-tx);text-decoration:underline}
.pag-soluciones .sol-carga-card{min-height:204px;padding:23px}.pag-soluciones .sol-carga-nombre{font-size:1.06rem}.pag-soluciones .sol-carga-desc{font-size:.93rem;line-height:1.58}
.pag-soluciones .sol-g-unit-strip .fi-cards a{grid-template-rows:160px 1fr;min-height:215px}.pag-soluciones .sol-g-unit-strip .fi-card-foto,.pag-soluciones .sol-g-unit-strip .fi-card-foto picture,.pag-soluciones .sol-g-unit-strip .fi-card-foto img{height:160px}.pag-soluciones .sol-g-unit-strip .fi-card-foto img{object-fit:cover}
.pag-soluciones .sol-g-business article{min-height:214px;grid-template-columns:132px 1fr;align-items:stretch}.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:132px 1fr}.pag-soluciones .sol-g-business-symbol{display:grid;place-items:center;color:var(--blue);background:var(--blue-100)}.pag-soluciones .sol-g-business-symbol svg{width:34px;height:34px}.pag-soluciones .sol-g-business article>div{display:flex;flex-direction:column;justify-content:center}.pag-soluciones .sol-g-business p{font-size:.97rem;line-height:1.62}
.pag-soluciones .sol-g-storage{padding-block:clamp(44px,5vw,62px)}.pag-soluciones .sol-g-storage-grid{margin-top:clamp(22px,3vw,32px)}.pag-soluciones .sol-g-storage-grid article{grid-template-columns:1fr;grid-template-rows:260px auto;min-height:0}.pag-soluciones .sol-g-storage-grid img{width:100%;height:260px;min-height:0;object-fit:cover}.pag-soluciones .sol-g-storage-card--foz img{object-position:50% 66%}.pag-soluciones .sol-g-storage-card--mariano-roque-alonso img{object-position:50% 62%}.pag-soluciones .sol-g-storage-grid article>div{display:flex;flex-direction:column;justify-content:center;padding:22px 25px}.pag-soluciones .sol-g-storage-grid p{font-size:.97rem;line-height:1.6}.pag-soluciones .sol-g-storage-cta{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:18px;color:var(--blue-300);font-family:var(--display);font-size:.91rem;font-weight:700;text-decoration:none}.pag-soluciones .sol-g-storage-cta:hover,.pag-soluciones .sol-g-storage-cta:focus-visible{color:var(--tx);text-decoration:underline}
.pag-soluciones .sol-g-dedicated{padding-block:clamp(42px,5vw,60px);background:var(--navy)}.pag-soluciones .sol-g-dedicated-box{padding:clamp(28px,3.5vw,42px);border-color:rgba(255,255,255,.16);background:linear-gradient(120deg,rgba(255,255,255,.07),rgba(119,202,243,.05))}.pag-soluciones .sol-g-dedicated-box h2{color:var(--tx)}.pag-soluciones .sol-g-dedicated-box p{font-size:1.02rem;color:var(--tx-soft)}.pag-soluciones .sol-g-dedicated-box li{font-size:.93rem;color:var(--tx-soft)}.pag-soluciones .sol-g-dedicated-box li i{width:38px;height:38px;background:rgba(119,202,243,.14);color:var(--blue-300)}.pag-soluciones .sol-g-dedicated-box li svg{width:21px;height:21px}.pag-soluciones .sol-g-dedicated-note{border-color:rgba(255,255,255,.16)}
@media(max-width:900px){.pag-soluciones .sol-g-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.pag-soluciones .sol-g-nav a{min-height:178px}.pag-soluciones .sol-home-tipos-list li{min-height:220px}.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:120px 1fr}}
@media(max-width:680px){.pag-soluciones .hpag.con-foto{padding-block:104px 42px}.pag-soluciones .sol-g-intro{padding-top:40px}.pag-soluciones .sol-g-nav{grid-template-columns:1fr}.pag-soluciones .sol-g-nav a{min-height:0}.pag-soluciones .sol-home-tipos-list li{min-height:0}.pag-soluciones .sol-g-unit-strip .fi-cards a{grid-template-rows:156px 1fr;min-height:212px}.pag-soluciones .sol-g-unit-strip .fi-card-foto,.pag-soluciones .sol-g-unit-strip .fi-card-foto picture,.pag-soluciones .sol-g-unit-strip .fi-card-foto img{height:156px}.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:100px 1fr;min-height:178px}.pag-soluciones .sol-g-storage-grid article{grid-template-columns:1fr;grid-template-rows:218px auto;min-height:0}.pag-soluciones .sol-g-storage-grid img{height:218px}.pag-soluciones .sol-g-storage-grid article>div{padding:19px}.pag-soluciones .sol-g-dedicated{padding-block:40px}.pag-soluciones .sol-g-dedicated-box{padding:25px}.pag-soluciones .sol-g-dedicated-box p{font-size:.98rem}}

/* Escala tipográfica final de Soluciones. */
.pag-soluciones .sol-g-nav span{font-size:1.22rem}.pag-soluciones .sol-g-nav small{font-size:1rem;line-height:1.56}
.pag-soluciones .sol-g-head>p{max-width:68ch;font-size:clamp(1.05rem,1.35vw,1.16rem)}.pag-soluciones .sol-g-fleet-note{font-size:1rem!important;line-height:1.62}
.pag-soluciones .sol-home-coverage-list{gap:2px}.pag-soluciones .sol-home-coverage-list article{padding-block:18px}.pag-soluciones .sol-home-coverage-list h4{font-size:1.23rem}.pag-soluciones .sol-home-coverage-list p{font-size:1rem;line-height:1.64}
.pag-soluciones .sol-home-tipos-list li{height:252px;min-height:252px}.pag-soluciones .sol-home-tipos-list .sol-home-tipo-icon{width:50px;height:50px;margin-top:15px;margin-bottom:14px}.pag-soluciones .sol-home-tipos-list .sol-home-tipo-icon svg{width:27px;height:27px}.pag-soluciones .sol-home-tipos-list h4{font-size:1.05rem;font-weight:650;line-height:1.24}.pag-soluciones .sol-home-tipos-list p{font-size:.99rem;line-height:1.64}
.pag-soluciones .sol-g-index-head{align-items:center}.pag-soluciones .sol-g-index-head p{font-size:1.05rem;line-height:1.64}.pag-soluciones .sol-carga-card{height:218px;min-height:218px;padding:25px}.pag-soluciones .sol-carga-nombre{font-size:1.12rem;line-height:1.28}.pag-soluciones .sol-carga-desc{font-size:.98rem;line-height:1.62}.pag-soluciones .sol-carga-solucion{padding-top:20px;font-size:.69rem}
.pag-soluciones .sol-g-unit-strip .fi-cards a{grid-template-rows:178px 1fr;min-height:240px}.pag-soluciones .sol-g-unit-strip .fi-card-foto,.pag-soluciones .sol-g-unit-strip .fi-card-foto picture,.pag-soluciones .sol-g-unit-strip .fi-card-foto img{height:178px}.pag-soluciones .sol-g-unit-strip .fi-card-tx{padding:15px 16px 17px}.pag-soluciones .sol-g-unit-strip .fi-card-tx b{font-size:1.08rem}
.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:minmax(190px,.8fr) 1fr;min-height:230px}.pag-soluciones .sol-g-business article.is-eco>img{min-height:230px}.pag-soluciones .sol-g-business-symbol svg{width:40px;height:40px}.pag-soluciones .sol-g-business h4{font-size:clamp(1.32rem,2vw,1.62rem)}.pag-soluciones .sol-g-business p{font-size:1rem;line-height:1.65}
.pag-soluciones .sol-g-storage-grid h3{font-size:1.47rem}.pag-soluciones .sol-g-storage-grid p{font-size:1rem;line-height:1.64}.pag-soluciones .sol-g-storage{padding-bottom:clamp(38px,4vw,50px)}
.pag-soluciones .sol-g-dedicated-box{gap:clamp(34px,5vw,68px)}.pag-soluciones .sol-g-dedicated-box p{font-size:1.09rem;line-height:1.68}.pag-soluciones .sol-g-dedicated-box ul{gap:15px;margin-top:25px}.pag-soluciones .sol-g-dedicated-box li{font-size:1rem;line-height:1.48}.pag-soluciones .sol-g-dedicated-box li i{width:44px;height:44px}.pag-soluciones .sol-g-dedicated-box li svg{width:24px;height:24px}.pag-soluciones .sol-g-dedicated-note{margin-top:24px;padding-top:19px}
/* Cobertura: el mapa conserva todos sus elementos, pero baja ligeramente su
   escala; la lista deja de estirar sus tres filas para ocupar el alto previo. */
.pag-soluciones .sol-g-coverage{padding:clamp(18px,2.5vw,28px)}
.pag-soluciones .sol-home-coverage-grid{gap:clamp(18px,2.5vw,30px)}
.pag-soluciones .sol-home-map-visual{aspect-ratio:480/440}
.pag-soluciones .sol-home-map-legend{gap:6px 10px;padding:10px 12px 12px}
.pag-soluciones .sol-home-coverage-list{align-content:stretch;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;border-top:0}
.pag-soluciones .sol-home-coverage-list article{align-items:center;min-height:0;padding:15px 16px;border:1px solid rgba(181,224,255,.16);border-radius:12px;background:rgba(119,202,243,.075)}
.pag-soluciones .sol-home-coverage-icon{margin-top:0}
@media(max-width:900px){.pag-soluciones .sol-home-tipos-list li{height:240px;min-height:240px}.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:160px 1fr;min-height:220px}.pag-soluciones .sol-g-business article.is-eco>img{min-height:220px}}
@media(max-width:680px){
  .pag-soluciones .sol-home-coverage-list{grid-template-rows:none;gap:10px}
  .pag-soluciones .sol-home-coverage-list article{min-height:0;padding:15px 16px}
}
@media(max-width:680px){.pag-soluciones .sol-home-tipos-list li{height:260px;min-height:260px}.pag-soluciones .sol-carga-card{height:208px;min-height:208px}.pag-soluciones .sol-g-unit-strip .fi-cards a{grid-template-rows:168px 1fr;min-height:224px}.pag-soluciones .sol-g-unit-strip .fi-card-foto,.pag-soluciones .sol-g-unit-strip .fi-card-foto picture,.pag-soluciones .sol-g-unit-strip .fi-card-foto img{height:168px}.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:1fr;height:315px;min-height:315px}.pag-soluciones .sol-g-business-symbol{min-height:128px}.pag-soluciones .sol-g-business article.is-eco>img{height:160px;min-height:160px}.pag-soluciones .sol-g-storage-grid article{height:397px}.pag-soluciones .sol-g-dedicated-box{gap:25px}.pag-soluciones .sol-g-dedicated-box p{font-size:1rem}.pag-soluciones .sol-g-dedicated-box li{font-size:.98rem}}

@media(max-width:680px){
  .pag-soluciones .sol-g-special-callout{align-items:flex-start;flex-direction:column;gap:9px;padding:15px 16px}
  .pag-soluciones .sol-g-special-callout>div{align-items:flex-start;flex-direction:column;gap:4px}
}

/* Índice de cargas: variante compacta. Conserva las ocho opciones legibles
   sin el volumen visual de una cuadrícula de tarjetas promocionales. */
.pag-soluciones .sol-g-index .sol-cargas-grid{margin-top:clamp(22px,2.5vw,32px);gap:14px}
.pag-soluciones .sol-g-index .sol-carga-card{height:176px;min-height:176px;padding:18px 19px}
.pag-soluciones .sol-g-index .sol-carga-nombre{font-size:1rem;line-height:1.25}
.pag-soluciones .sol-g-index .sol-carga-desc{margin-top:9px;font-size:.87rem;line-height:1.48}
.pag-soluciones .sol-g-index .sol-carga-solucion{padding-top:14px;font-size:.63rem}
@media(max-width:1000px){.pag-soluciones .sol-g-index .sol-carga-card{height:184px;min-height:184px}}
@media(max-width:680px){.pag-soluciones .sol-g-index .sol-cargas-grid{gap:12px}.pag-soluciones .sol-g-index .sol-carga-card{height:auto;min-height:178px;padding:18px}.pag-soluciones .sol-g-index .sol-carga-nombre{font-size:1.02rem}.pag-soluciones .sol-g-index .sol-carga-desc{font-size:.9rem}}

/* Ajustes finales exclusivos de Soluciones: continuidad, carrusel y
   almacenamiento sin atribuir fotografías generales a una ubicación. */
.pag-soluciones .hpag.con-foto{padding-block:clamp(104px,10vw,142px) clamp(36px,4vw,50px)}
.pag-soluciones .sol-g-intro{padding-block:clamp(28px,3.5vw,44px) clamp(20px,3vw,34px)}
.pag-soluciones .sol-g-nav{margin-top:0}
.pag-soluciones .sol-g-transport{padding-top:clamp(20px,3vw,38px);padding-bottom:clamp(36px,4vw,54px)}
.pag-soluciones .sol-g-cargo,.pag-soluciones .sol-g-units,.pag-soluciones .sol-g-business,.pag-soluciones .sol-g-index{margin-top:clamp(32px,4vw,48px)}
.pag-soluciones .sol-g-units{padding:clamp(20px,2.5vw,28px);border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}
.pag-soluciones .sol-g-units-summary{display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,56px)}
.pag-soluciones .sol-g-units-summary h3{font-family:var(--display);font-size:clamp(1.35rem,2.2vw,1.8rem);font-weight:720;letter-spacing:-.02em;line-height:1.1;color:var(--ink-tx)}
.pag-soluciones .sol-g-units-summary p{max-width:67ch;margin-top:8px;color:var(--ink-mut);font-size:.98rem;line-height:1.6}
.pag-soluciones .sol-g-units-summary a{display:inline-flex;flex:0 0 auto;align-items:center;gap:9px;color:var(--blue);font-family:var(--display);font-size:.95rem;font-weight:700;text-decoration:none;white-space:nowrap}
.pag-soluciones .sol-g-units-summary a:hover,.pag-soluciones .sol-g-units-summary a:focus-visible{color:var(--ink-tx)}
.pag-soluciones .sol-home-map-label{font-size:clamp(.7rem,1.15vw,.88rem)}
.pag-soluciones .sol-home-map-label.is-country{font-size:clamp(.8rem,1.3vw,.98rem)}
.pag-soluciones .sol-home-map-label.is-operacion{font-size:clamp(.625rem,.9vw,.7rem)}
.pag-soluciones .sol-g-index .sol-carga-card{height:190px;min-height:190px;padding:20px}
.pag-soluciones .sol-g-index .sol-carga-desc{font-size:.92rem;line-height:1.55}
.pag-soluciones .sol-g-index-head{grid-template-columns:1fr}
.pag-soluciones .sol-g-index .sol-cargas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.pag-soluciones .sol-g-index .sol-cargas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pag-soluciones .sol-g-index .sol-cargas-grid{grid-template-columns:1fr}}
.pag-soluciones .sol-g-index .sol-carga-card{height:178px;min-height:178px}
.pag-soluciones .sol-g-index .sol-carga-solucion{padding-top:12px}
@media(max-width:1000px){.pag-soluciones .sol-g-index .sol-carga-card{height:180px;min-height:180px}}
@media(max-width:560px){.pag-soluciones .sol-g-index .sol-carga-card{height:auto;min-height:0}}
.pag-soluciones .sol-g-unit-strip .fi-viewport{padding-bottom:0;scrollbar-width:none;touch-action:pan-y}
.pag-soluciones .sol-g-unit-strip .fi-viewport::-webkit-scrollbar{display:none}
.pag-soluciones .sol-g-unit-strip .fi-viewport.is-dragging{cursor:grabbing;user-select:none}
.pag-soluciones .sol-g-unit-strip .fi-viewport.is-dragging *{user-select:none;-webkit-user-drag:none}
.pag-soluciones .sol-g-unit-strip .fi-viewport.is-dragging,.pag-soluciones .sol-g-unit-strip .fi-viewport.is-settling{scroll-snap-type:none}
@media(pointer:fine){.pag-soluciones .sol-g-unit-strip .fi-viewport{cursor:grab}}
.pag-soluciones .sol-g-unit-progress{display:block;width:96px;height:3px;margin-top:13px;overflow:hidden;border-radius:99px;background:var(--blue-100)}
.pag-soluciones .sol-g-unit-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--blue);transform:scaleX(.16);transform-origin:left;transition:transform .1s linear}
.pag-soluciones h2[id],.pag-soluciones h3[id]{scroll-margin-top:92px}
.pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{min-height:210px}
.pag-soluciones .sol-g-business article.is-visual>img{display:block;width:100%;height:100%;min-height:210px;object-fit:cover;object-position:50% 60%}
.pag-soluciones .sol-g-storage{padding-top:clamp(50px,5vw,62px);padding-bottom:clamp(38px,4vw,52px);scroll-margin-top:112px}
.pag-soluciones .sol-g-storage .sol-g-head h2{margin-top:10px;font-size:clamp(1.9rem,3.35vw,2.9rem)}
.pag-soluciones .sol-g-storage .sol-g-head>p{margin-top:14px}
.pag-soluciones .sol-g-storage-layout{--storage-video-height:clamp(600px,42vw,640px);display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:clamp(28px,3.5vw,46px);margin-top:clamp(26px,3vw,34px);align-items:start}
.pag-soluciones .sol-g-storage-media{position:relative;justify-self:center;align-self:start;width:auto;height:var(--storage-video-height);aspect-ratio:9/16;margin:0;overflow:hidden;border:0;border-radius:20px;background:#09263c}
.pag-soluciones .sol-g-storage-media::after{content:"";position:absolute;inset:auto 0 0;height:28%;pointer-events:none;background:linear-gradient(transparent,rgba(4,20,35,.5))}
.pag-soluciones .sol-g-storage-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.pag-soluciones .sol-g-storage-audio,.pag-soluciones .sol-g-storage-pause{position:absolute;z-index:2;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(5,28,47,.8);color:var(--tx);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.pag-soluciones .sol-g-storage-audio{right:14px;bottom:14px}.pag-soluciones .sol-g-storage-pause{top:14px;right:14px}.pag-soluciones .sol-g-storage-audio:hover,.pag-soluciones .sol-g-storage-pause:hover{background:var(--blue);border-color:var(--blue);transform:translateY(-1px)}.pag-soluciones .sol-g-storage-audio:focus-visible,.pag-soluciones .sol-g-storage-pause:focus-visible{outline:2px solid var(--blue-300);outline-offset:3px}.pag-soluciones .sol-g-storage-audio svg,.pag-soluciones .sol-g-storage-pause svg{width:18px;height:18px}.pag-soluciones .sol-g-storage-audio-on,.pag-soluciones .sol-g-storage-play-icon{display:none}.pag-soluciones .sol-g-storage-audio[aria-pressed="true"] .sol-g-storage-audio-on,.pag-soluciones .sol-g-storage-pause[aria-pressed="true"] .sol-g-storage-play-icon{display:block}.pag-soluciones .sol-g-storage-audio[aria-pressed="true"] .sol-g-storage-audio-off,.pag-soluciones .sol-g-storage-pause[aria-pressed="true"] .sol-g-storage-pause-icon{display:none}
.pag-soluciones .sol-g-storage-content{display:flex;height:var(--storage-video-height);min-width:0;min-height:0;flex-direction:column;justify-content:flex-start}.pag-soluciones .sol-g-storage-content .sol-g-head{margin:0 0 clamp(18px,2vw,22px)}.pag-soluciones .sol-g-storage-content .sol-g-head h2{margin-top:9px;font-size:clamp(1.85rem,2.4vw,2.28rem);line-height:1.1;text-wrap:balance}.pag-soluciones .sol-g-storage-content .sol-g-head>p{max-width:62ch;margin-top:11px;font-size:.94rem;line-height:1.56}
.pag-soluciones .sol-g-storage-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr));flex:1 1 auto;min-height:0;align-items:stretch;gap:clamp(20px,2vw,26px);margin:0}
.pag-soluciones .sol-g-storage-grid article{grid-template-columns:40% minmax(0,1fr);grid-template-rows:auto;height:auto;min-height:0;overflow:hidden;border:0;border-radius:18px;background:rgba(255,255,255,.04);box-shadow:0 10px 24px rgba(0,0,0,.1)}
.pag-soluciones .sol-g-storage-card-media{align-self:stretch;width:100%;height:100%;aspect-ratio:auto;padding:0!important;overflow:hidden;border-radius:0;background:#0a2438}
.pag-soluciones .sol-g-storage-grid .sol-g-storage-card-image{display:block;width:100%;height:100%!important;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-storage-card--foz .sol-g-storage-card-image,.pag-soluciones .sol-g-storage-card--mariano-roque-alonso .sol-g-storage-card-image{object-fit:cover}
.pag-soluciones .sol-g-storage-card--foz .sol-g-storage-card-image{object-position:50% 62%}
.pag-soluciones .sol-g-storage-card--mariano-roque-alonso .sol-g-storage-card-image{object-position:58% 54%}
.pag-soluciones .sol-g-storage-grid .sol-g-storage-card-body{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:18px 20px}
.pag-soluciones .sol-g-storage-card-label{display:block;margin-bottom:7px;color:var(--blue-300);font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.13em;line-height:1.1;text-transform:uppercase}
.pag-soluciones .sol-g-storage-grid h3{margin:0;font-size:clamp(1.12rem,1.4vw,1.25rem);line-height:1.2;text-wrap:balance}
.pag-soluciones .sol-g-storage-grid p{margin-top:9px;font-size:.92rem;line-height:1.55;color:#d0deeb}
.pag-soluciones .sol-g-storage-cta{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;margin-top:12px;padding:0;border-radius:0;background:none;color:var(--blue-300);font-family:var(--display);font-size:.92rem;font-weight:700;line-height:1.25;text-decoration:none}.pag-soluciones .sol-g-storage-cta:hover,.pag-soluciones .sol-g-storage-cta:focus-visible{background:none;color:var(--tx);text-decoration:underline}
.pag-soluciones .sol-g-dedicated{padding-block:clamp(38px,4vw,52px)}
.pag-soluciones .sol-g-dedicated-box ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.5vw,28px);margin-top:26px}
.pag-soluciones .sol-g-dedicated-box li{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:14px}
.pag-soluciones .sol-g-dedicated-box li i{width:44px;height:44px}
.pag-soluciones .sol-g-dedicated-box li h3{font-family:var(--display);font-size:1.05rem;font-weight:720;line-height:1.2;color:var(--tx)}
.pag-soluciones .sol-g-dedicated-box li p{margin-top:5px;font-size:.94rem;line-height:1.55;color:var(--tx-soft)}
.pag-soluciones .sol-g-dedicated{
  padding-block:clamp(28px,3vw,36px) clamp(30px,3.2vw,40px);
  /* Azul grisáceo propio: distingue el servicio de apoyo del bloque de
     transporte y almacenamiento sin salirse de la paleta institucional. */
  background:linear-gradient(112deg,#143c56 0%,#1a4762 100%);
}
.pag-soluciones .sol-g-dedicated-box{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:clamp(42px,6vw,88px);padding:0;border:0;border-radius:0;background:transparent}
.pag-soluciones .sol-g-dedicated-box .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue-300)}
.pag-soluciones .sol-g-dedicated-box .eyebrow::before{content:"";width:28px;height:2px;background:var(--blue-300)}
.pag-soluciones .sol-g-dedicated-box h2{max-width:400px;margin-top:14px;font-size:clamp(1.85rem,2.6vw,2.35rem);line-height:1.08;text-wrap:balance}
.pag-soluciones .sol-g-dedicated-box>div:last-child>p{max-width:56ch}
.pag-soluciones .sol-g-dedicated-box ul{gap:0;margin-top:28px}
.pag-soluciones .sol-g-dedicated-box li{min-height:96px;padding:0 0 0 clamp(18px,2.4vw,30px)}
.pag-soluciones .sol-g-dedicated-box li:first-child{padding-left:0}
.pag-soluciones .sol-g-dedicated-box li + li{border-left:1px solid rgba(181,224,255,.22)}
.pag-soluciones .sol-g-dedicated-box li i{width:50px;height:50px;background:rgba(119,202,243,.16);color:var(--blue-300)}
.pag-soluciones .sol-g-dedicated-box li svg{width:27px;height:27px}
.pag-soluciones .sol-g-dedicated-media{margin:0 0 24px;overflow:hidden;border:0;border-radius:18px;background:transparent;box-shadow:0 14px 32px rgba(3,18,31,.22)}
.pag-soluciones .sol-g-dedicated-media img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:50% 50%;filter:saturate(.96) contrast(1.03)}
.pag-soluciones .sol-g-dedicated-box>div:last-child>p{max-width:62ch}
.pag-soluciones .sol-g-dedicated-box li h3{font-size:1.08rem}
.pag-soluciones .sol-g-dedicated-box li p{font-size:.96rem;line-height:1.58}
@media(max-width:1000px){.pag-soluciones .sol-g-index .sol-carga-card{height:188px;min-height:188px}}
@media(max-width:900px){.pag-soluciones .sol-g-dedicated-box{grid-template-columns:1fr;gap:28px}}
@media(max-width:680px){
  .pag-soluciones .hpag.con-foto{padding-block:98px 36px}
  .pag-soluciones .sol-g-intro{padding-top:28px;padding-bottom:20px}
  .pag-soluciones .sol-g-units{padding:20px}
  .pag-soluciones .sol-g-units-summary{align-items:flex-start;flex-direction:column;gap:16px}
  .pag-soluciones .sol-g-units-summary p{font-size:.94rem}
  .pag-soluciones .sol-g-index .sol-carga-card{min-height:180px;height:auto;padding:18px}
  .pag-soluciones .sol-g-unit-progress{margin-top:11px}
  .pag-soluciones .sol-g-business article,.pag-soluciones .sol-g-business article.is-eco{grid-template-columns:96px minmax(0,1fr);height:auto;min-height:174px}
  .pag-soluciones .sol-g-business article.is-visual>img{width:100%;height:100%;min-height:174px;object-fit:cover;object-position:50% 60%}
  .pag-soluciones .sol-g-business article.is-visual{grid-template-columns:1fr;grid-template-rows:150px auto;min-height:0}
  .pag-soluciones .sol-g-business article.is-visual>img{height:150px;min-height:150px}
  .pag-soluciones .sol-g-business-symbol{min-height:174px}
  .pag-soluciones .sol-g-storage-layout{grid-template-columns:1fr;margin-top:22px}
  .pag-soluciones .sol-g-storage-media{justify-self:center;width:min(100%,380px);height:auto;aspect-ratio:9/16}
  .pag-soluciones .sol-g-storage-content .sol-g-head{margin-bottom:16px}
  .pag-soluciones .sol-g-storage-content .sol-g-head h2{font-size:clamp(1.7rem,7vw,2rem)}
  .pag-soluciones .sol-g-storage-grid{grid-template-rows:repeat(2,minmax(0,1fr));gap:20px}
  .pag-soluciones .sol-g-storage-grid article{grid-template-columns:40% minmax(0,1fr);grid-template-rows:auto;height:auto;min-height:0}
  .pag-soluciones .sol-g-storage-card-media{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3}
  .pag-soluciones .sol-g-storage-grid .sol-g-storage-card-image{height:auto!important;min-height:0;max-height:none;aspect-ratio:4/3}
  .pag-soluciones .sol-g-storage-grid .sol-g-storage-card-body{padding:18px}
  .pag-soluciones .sol-g-storage-grid h3{font-size:1.16rem;line-height:1.22}
  .pag-soluciones .sol-g-storage-grid p{font-size:15px}
  .pag-soluciones .sol-g-dedicated{padding-block:30px 34px}
  .pag-soluciones .sol-g-dedicated-box{grid-template-columns:1fr;gap:24px}
  .pag-soluciones .sol-g-dedicated-box h2{max-width:340px;font-size:clamp(1.65rem,7vw,2rem)}
  .pag-soluciones .sol-g-dedicated-box ul{grid-template-columns:1fr;gap:0;margin-top:24px}
  .pag-soluciones .sol-g-dedicated-box li,.pag-soluciones .sol-g-dedicated-box li:first-child{grid-template-columns:50px minmax(0,1fr);gap:14px;min-height:0;padding:18px 0}
  .pag-soluciones .sol-g-dedicated-box li:first-child{padding-top:0}
  .pag-soluciones .sol-g-dedicated-box li + li{border-top:1px solid rgba(181,224,255,.22);border-left:0}
}
@media(prefers-reduced-motion:reduce){.pag-soluciones .sol-g-unit-progress i{transition:none}}

@media(max-width:860px){
  .pag-soluciones .sol-g-storage-layout{grid-template-columns:1fr;gap:26px;align-items:start}
  .pag-soluciones .sol-g-storage-media{justify-self:center;align-self:center;width:min(100%,330px);height:auto;aspect-ratio:9/16}
  .pag-soluciones .sol-g-storage-content{height:auto}
  .pag-soluciones .sol-g-storage-grid{grid-template-rows:repeat(2,minmax(220px,1fr));flex:0 0 auto;gap:20px}
  .pag-soluciones .sol-g-storage-grid article{min-height:220px}
}
@media(max-width:680px){
  .pag-soluciones .sol-g-storage-media{width:auto;height:min(70svh,540px);max-width:100%;aspect-ratio:9/16}
  .pag-soluciones .sol-g-storage-grid{grid-template-rows:repeat(2,minmax(210px,1fr));gap:16px}
  .pag-soluciones .sol-g-storage-grid article{min-height:210px}
  .pag-soluciones .sol-g-storage-grid .sol-g-storage-card-body{padding:18px}
  .pag-soluciones .sol-g-storage-grid h3{font-size:1.16rem;line-height:1.22}
  .pag-soluciones .sol-g-storage-grid p{font-size:15px;line-height:1.52}
}

/* Recursos visuales aprobados en las tarjetas de rubro y unidades. */
.pag-soluciones .sol-g-index .sol-carga-card.has-media{height:294px;min-height:294px;padding:0;overflow:hidden}
.pag-soluciones .sol-carga-media{display:block;width:100%;height:142px;object-fit:cover;object-position:center}
.pag-soluciones .sol-carga-media--refrigerado{object-position:50% 52%}
.pag-soluciones .sol-carga-media--bebidas{object-position:50% 71%}
.pag-soluciones .sol-carga-media--electrodomesticos{object-position:50% 54%}
.pag-soluciones .sol-carga-media--industriales{object-position:50% 50%}
.pag-soluciones .sol-carga-media--granos-agro{object-position:50% 56%}
.pag-soluciones .sol-carga-card.has-media .sol-carga-nombre,.pag-soluciones .sol-carga-card.has-media .sol-carga-desc,.pag-soluciones .sol-carga-card.has-media .sol-carga-solucion{margin-inline:18px}
.pag-soluciones .sol-carga-card.has-media .sol-carga-nombre{margin-top:15px}
.pag-soluciones .sol-carga-card.has-media .sol-carga-desc{margin-top:7px;font-size:.84rem;line-height:1.42}
.pag-soluciones .sol-carga-card.has-media .sol-carga-solucion{margin-top:auto;padding:8px 0 14px}
.pag-soluciones .sol-g-units{position:relative;isolation:isolate;overflow:hidden}
.pag-soluciones .sol-g-units::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper-2) 0%,rgba(248,251,253,.96) 47%,rgba(248,251,253,.35) 100%)}
.pag-soluciones .sol-g-units-media{position:absolute;z-index:-2;inset:0 0 0 auto;width:48%;height:100%;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-units-summary{position:relative;max-width:100%}
.pag-soluciones .sol-g-business article.is-visual>img{object-position:50% 50%}
@media(max-width:680px){
  .pag-soluciones .sol-g-index .sol-carga-card.has-media{height:auto;min-height:0}
  .pag-soluciones .sol-carga-media{height:168px}
  .pag-soluciones .sol-g-units-media{width:100%;opacity:.24}
  .pag-soluciones .sol-g-units::after{background:rgba(248,251,253,.88)}
}

/* En móvil, los beneficios dedicados usan una columna fija de icono y otra
   de texto: cada frase conserva su sangría aunque ocupe más de una línea. */
@media(max-width:680px){
  .pag-soluciones .sol-g-dedicated-box ul{grid-template-columns:1fr;gap:12px}
  .pag-soluciones .sol-g-dedicated-box li{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px}
  .pag-soluciones .sol-g-dedicated-box li i{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px}
}
.home-soportes{background:var(--navy)}
.home-soportes .sec-head h2{color:var(--tx)}
.home-soportes .sec-head p{color:var(--tx-soft)}
.home-soportes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.home-soportes-grid article,.home-secundarias article{padding:clamp(20px,2.5vw,28px);border:1px solid var(--line);border-radius:var(--r-m);background:rgba(255,255,255,.045)}
.home-soportes-grid h3,.home-secundarias h3{color:var(--tx);font-size:1.1rem}
.home-soportes-grid p,.home-secundarias p{margin-top:9px;color:var(--tx-soft);font-size:.9rem;line-height:1.62}
.home-secundarias{margin-top:clamp(38px,5vw,62px);padding-top:28px;border-top:1px solid var(--line)}
.home-secundarias>div{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.home-secundarias article{background:var(--blue-100);border:1px solid var(--blue-300);border-top:3px solid var(--blue);color:var(--ink-mut)}
.home-secundarias article h3{color:var(--ink-tx)}
.home-secundarias article p{color:var(--ink-mut)}
.home-almacen{display:flex;align-items:baseline;gap:13px;margin-top:18px;padding:17px 20px;border-left:3px solid var(--blue);background:rgba(255,255,255,.045);color:var(--tx-soft)}
.home-almacen strong{font-family:var(--display);color:var(--tx);white-space:nowrap}
.home-almacen p{font-size:.87rem;line-height:1.55}
@media(max-width:900px){
  .sol-home-summary-concepts{gap:12px}
  .sol-home-summary-concepts li{grid-template-columns:44px minmax(0,1fr);gap:12px;height:188px;padding:20px 18px}
  .sol-home-summary-icon{width:44px;height:44px;border-radius:11px}
  .sol-home-summary-icon svg{width:23px;height:23px}
  .sol-home-coverage-grid{grid-template-columns:1fr;gap:24px}
  .sol-home-coverage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-left:1px solid rgba(255,255,255,.13)}
  .sol-home-coverage-list article{padding:16px;border-left:0;border-right:1px solid rgba(255,255,255,.13)}
  .home-soportes-grid{grid-template-columns:repeat(2,1fr)}
  .sol-home-tipos ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:680px){
  .sol-home--summary{padding:48px 0 26px}
  .sol-home-summary-concepts{grid-template-columns:1fr;margin-top:26px}
  .sol-home-summary-concepts li{grid-template-columns:46px minmax(0,1fr);gap:14px;height:148px;padding:20px}
  .sol-home-summary-icon{width:46px;height:46px}
  .sol-home-summary-icon svg{width:24px;height:24px}
  .sol-home-summary-icon{width:44px;height:44px}
  .sol-home-summary-actions{align-items:flex-start;flex-direction:column;gap:16px;margin-top:26px}
  .sol-home-summary-actions .btn-primary{padding-inline:17px;font-size:.9rem}
  .sol-home-coverage-list,.sol-home-tipos ul,.sol-home-units>div,.home-soportes-grid,.home-secundarias>div{grid-template-columns:1fr}
  .sol-home-coverage-list article{padding:15px 0;border-right:0}
  .sol-home-map-legend{grid-template-columns:1fr;gap:6px;padding:12px}
  .sol-home-map-label{font-size:clamp(.58rem,2.7vw,.72rem)}
  .sol-home-map-label.is-capital{display:none}
  .home-almacen{align-items:flex-start;flex-direction:column;gap:5px}
}

@media(min-width:461px) and (max-width:680px){
  .sol-home-tipos ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ============================================ NOSOTROS · propósito y valores */
.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.8vw,22px)}
.prop-card{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-l);padding:clamp(26px,3vw,40px);
  position:relative;overflow:hidden;
}
.prop-card::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--blue),transparent);
}
.prop-eti{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue-300);
}
.prop-card p{
  font-family:var(--display);font-weight:600;
  font-size:clamp(1.2rem,2.2vw,1.72rem);font-variation-settings:'wdth' 108;
  color:var(--tx);margin-top:14px;line-height:1.28;letter-spacing:-.015em;
}

.valores{margin-top:clamp(34px,4vw,54px);padding-top:30px;border-top:1px solid var(--line)}
.valores h3{
  font-family:var(--mono);font-weight:500;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mut);margin-bottom:22px;
}
.valores ul{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(12px,1.6vw,20px)}
.valores li{
  padding:20px 0 0;border-top:2px solid var(--line-2);
  transition:border-color .3s var(--ease);
}
.valores li:hover{border-top-color:var(--blue)}
.valores .n{
  display:block;font-family:var(--mono);font-size:.62rem;color:var(--mut-2);
}
.valores b{
  display:block;font-family:var(--display);font-weight:600;
  font-size:clamp(.95rem,1.4vw,1.12rem);font-variation-settings:'wdth' 106;
  color:var(--tx);margin-top:9px;
}

@media(max-width:900px){
  .prop-grid{grid-template-columns:1fr}
  .valores ul{grid-template-columns:1fr 1fr}
}

/* ================================================ SOLUCIONES · lista oficial */
.serv-lista{border-top:1px solid var(--paper-line)}
.serv-fila{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(16px,2.4vw,34px);padding:clamp(22px,2.6vw,30px) 0;
  border-bottom:1px solid var(--paper-line);
  transition:padding-left .35s var(--ease);
}
.serv-fila:hover{padding-left:8px}
.serv-n{font-family:var(--mono);font-size:.68rem;color:var(--blue)}
.serv-tx h3{
  font-family:var(--display);font-weight:700;
  font-size:clamp(1.1rem,2vw,1.5rem);font-variation-settings:'wdth' 108;
  color:var(--ink-tx);letter-spacing:-.018em;
}
.serv-tx p{color:var(--ink-mut);font-size:.94rem;margin-top:7px;max-width:62ch}
.serv-cta{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;
  font-family:var(--display);font-weight:600;font-size:.86rem;color:var(--blue);
}
.serv-cta .ar{transition:transform .3s var(--ease)}
.serv-fila:hover .serv-cta .ar{transform:translateX(4px)}

@media(max-width:680px){
  .serv-fila{grid-template-columns:auto 1fr;gap:14px}
  .serv-cta{grid-column:2;justify-self:start;margin-top:4px}
}

/* ================================================================= 404 */
.e404{position:relative;overflow:hidden;min-height:78svh;display:flex;align-items:center;
  padding-block:clamp(120px,14vw,180px) clamp(60px,8vw,100px)}
.e404-foto{position:absolute;inset:0;z-index:0}
.e404-foto img{width:100%;height:100%;object-fit:cover}
.e404-foto::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(120deg,var(--ink) 12%,rgba(6,21,36,.93) 48%,rgba(6,21,36,.6));
}
.e404-in{position:relative;z-index:2}
.e404-cod{
  display:block;font-family:var(--display);font-weight:800;
  font-size:clamp(4rem,12vw,9rem);line-height:.85;letter-spacing:-.05em;
  font-variation-settings:'wdth' 120;
  color:transparent;-webkit-text-stroke:2px rgba(124,196,240,.42);
}
.e404 h1{font-size:clamp(1.9rem,4vw,3rem);margin-top:22px;max-width:18ch}
.e404 p{color:var(--tx-soft);font-size:var(--fs-lead);margin-top:16px;max-width:48ch}

.e404-links{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;margin-top:clamp(30px,4vw,46px);max-width:920px;
}
.e404-link{
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;
  padding:20px 22px;border-radius:var(--r-m);
  background:rgba(9,28,46,.66);backdrop-filter:blur(12px);
  border:1px solid var(--line-2);
  transition:transform .35s var(--ease),border-color .3s,background-color .3s;
}
.e404-link:hover{transform:translateY(-3px);border-color:var(--blue-400);background:rgba(10,117,187,.18)}
/* El texto va envuelto: si b y span son hijos directos de la grilla,
   caen en columnas distintas en vez de apilarse. */
.e404-link .tx{display:block}
.e404-link b{
  display:block;font-family:var(--display);font-weight:600;font-size:1.02rem;
  font-variation-settings:'wdth' 108;color:var(--tx);
}
.e404-link .tx span{display:block;font-size:.83rem;color:var(--mut);margin-top:5px;line-height:1.5}
.e404-link i{font-style:normal;color:var(--blue-300);transition:transform .3s var(--ease)}
.e404-link:hover i{transform:translateX(4px)}

/* ==========================================================================
   RESUMEN vs PÁGINA
   El inicio adelanta cada tema; la página interna lo desarrolla. Estos son
   los bloques que solo existen en la versión resumida: la tira de la flota,
   la invitación del selector y el enlace de "ver más".
   ========================================================================== */

/* ------------------------------------------------ flota en el inicio
   Una unidad destacada con la foto grande y las otras cuatro en lista con
   miniatura. Antes eran cinco retratos del mismo tamaño: ninguna se leía como
   protagonista y el bloque quedaba plano. */
.flota-inicio{padding-block:clamp(40px,4.4vw,56px)}
.fi-cab{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(20px,4vw,56px);align-items:end;
  padding-bottom:clamp(24px,3vw,34px);margin-bottom:clamp(22px,2.6vw,30px);
  border-bottom:1px solid var(--line);
}
.fi-cab h2{
  font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06;
  color:var(--tx);margin-top:14px;text-wrap:balance;
}
.fi-cab p{color:var(--tx-soft);font-size:1rem;line-height:1.65;max-width:46ch}
.fi-strip{position:relative}
.fi-viewport{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--blue) transparent;padding-bottom:10px}
.flota-inicio .fi-viewport{scrollbar-width:none;padding-bottom:0}
.flota-inicio .fi-viewport::-webkit-scrollbar{display:none}
.flota-inicio .fi-viewport{touch-action:pan-y}
.flota-inicio .fi-viewport.is-dragging{cursor:grabbing;user-select:none}
.flota-inicio .fi-viewport.is-dragging *{user-select:none;-webkit-user-drag:none}
.flota-inicio .fi-viewport.is-dragging,.flota-inicio .fi-viewport.is-settling{scroll-snap-type:none}
@media(pointer:fine){.flota-inicio .fi-viewport{cursor:grab}}
.fi-cards{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.fi-cards li{flex:0 0 max(190px,calc((100% - 56px) / 5));min-width:0;scroll-snap-align:start}
.fi-cards a{display:grid;grid-template-rows:132px 1fr;min-height:222px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);text-decoration:none;transition:transform .28s var(--ease),border-color .28s var(--ease),box-shadow .28s var(--ease)}
.fi-cards a:hover,.fi-cards a:focus-visible{border-color:var(--blue-300);box-shadow:0 18px 35px -28px rgba(0,0,0,.9);transform:translateY(-3px)}
.fi-card-foto{display:block;overflow:hidden;background:var(--navy)}
.fi-card-foto picture,.fi-card-foto img{display:block;width:100%;height:100%}
.fi-card-foto img{object-fit:cover;transition:transform .5s var(--ease)}
.fi-cards a:hover .fi-card-foto img{transform:scale(1.04)}
.fi-card-tx{display:flex;min-height:0;flex-direction:column;padding:13px 14px 15px}
.fi-card-tx b{display:block;font-family:var(--display);font-size:1.02rem;line-height:1.15;color:var(--tx)}
.fi-card-tx span{display:block;margin-top:7px;font-size:.79rem;line-height:1.42;color:var(--tx-soft)}
.fi-strip-controles{display:none;position:absolute;right:0;top:-44px;z-index:1;gap:6px}
.fi-strip--six .fi-strip-controles{display:flex}
.fi-strip-controles button{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--tx);cursor:pointer}
.fi-strip-controles button:hover,.fi-strip-controles button:focus-visible{border-color:var(--blue);background:var(--blue);color:#fff}
.fi-strip-controles button:disabled{opacity:.38;cursor:default;pointer-events:none}
.fi-strip-progreso{width:104px;height:3px;margin-top:14px;overflow:hidden;border-radius:99px;background:rgba(124,196,240,.24)}
.fi-strip-progreso i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--blue-300);transform:scaleX(.16);transform-origin:left;transition:transform .08s linear}
@media(prefers-reduced-motion:reduce){
  .flota-inicio .fi-viewport{scroll-behavior:auto}
  .fi-strip-progreso i{transition:none}
}
.fi-units-cta{display:inline-flex;align-items:center;gap:9px;margin-top:20px;color:var(--blue-300);font-family:var(--display);font-size:.98rem;font-weight:700;text-decoration:none}
.fi-units-cta:hover,.fi-units-cta:focus-visible{color:var(--tx)}

/* Inicio · vista resumida del catálogo. Replica la jerarquía del Selector en
   una grilla compacta para no repetir su desarrollo completo. */
.flota-inicio .fi-cab{padding-bottom:clamp(20px,2.4vw,28px);margin-bottom:clamp(18px,2.2vw,26px)}
.flota-inicio .fi-unit-grid{width:100%}
.flota-inicio .fi-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.flota-inicio .fi-cards li{min-width:0}
.flota-inicio .fi-cards a{grid-template-rows:170px minmax(0,1fr);height:260px;border-radius:var(--r-m)}
.flota-inicio .fi-card-foto{background:var(--navy-2)}
.flota-inicio .fi-card-foto picture,.flota-inicio .fi-card-foto img{height:100%}
.flota-inicio .fi-card-tx{padding:8px 12px 10px}
.flota-inicio .fi-card-num{margin:0 0 3px!important;font:500 .62rem/1 var(--mono);letter-spacing:.14em;color:var(--blue-300)}
.flota-inicio .fi-card-tx b{font-size:1.03rem;line-height:1.2}
.flota-inicio .fi-card-tx span:not(.fi-card-num){margin-top:3px;font-size:.82rem;line-height:1.32}
.flota-inicio .fi-card-foto--sider img{object-position:50% 62%}
.flota-inicio .fi-card-foto--furgon img{object-fit:cover;object-position:50% 68%}
.flota-inicio .fi-card-foto--refrigerado img{object-position:50% 61%}
.flota-inicio .fi-card-foto--abierto img{object-position:50% 56%}
.flota-inicio .fi-card-foto--full-sider img{object-position:50% 62%}
.flota-inicio .fi-card-foto--ecologistica img{object-position:50% 69%}
.flota-inicio .fi-units-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}
.flota-inicio .fi-units-cta,.flota-inicio .fi-units-selector{margin-top:0}
.flota-inicio .fi-units-selector{display:inline-flex;align-items:center;gap:9px;color:var(--tx);font-family:var(--display);font-size:.98rem;font-weight:700;text-decoration:none}
.flota-inicio .fi-units-selector:hover,.flota-inicio .fi-units-selector:focus-visible{color:var(--blue-300)}
@media(max-width:900px){
  .flota-inicio .fi-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .flota-inicio{padding-block:38px}
  .flota-inicio .fi-cards{grid-template-columns:1fr;gap:13px}
  .flota-inicio .fi-cards a{grid-template-rows:175px minmax(0,1fr);height:268px}
  .flota-inicio .fi-card-tx{padding:9px 12px 10px}
  .flota-inicio .fi-units-actions{align-items:stretch;gap:12px;margin-top:16px}
  .flota-inicio .fi-units-cta,.flota-inicio .fi-units-selector{width:100%;justify-content:space-between}
}

.fi-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(16px,2vw,24px)}

/* unidad destacada */
.fi-dest{
  position:relative;display:block;overflow:hidden;border-radius:16px;
  aspect-ratio:16/11;text-decoration:none;background:var(--surface);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.fi-dest:hover{transform:translateY(-4px);box-shadow:0 32px 62px -34px rgba(0,0,0,.75)}
.fi-dest picture{display:block;width:100%;height:100%}
.fi-dest img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.fi-dest:hover img{transform:scale(1.05)}
.fi-dest::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,21,36,.10) 40%,rgba(6,21,36,.90));
}
.fi-dest-tx{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:clamp(20px,2.4vw,30px);
}
.fi-dest-tx i{
  display:block;font-family:var(--mono);font-style:normal;font-size:.68rem;
  letter-spacing:.14em;color:var(--blue-300);margin-bottom:8px;
}
.fi-dest-tx b{
  display:block;font-family:var(--display);font-weight:700;letter-spacing:-.015em;
  font-size:clamp(1.3rem,2.2vw,1.8rem);color:#fff;line-height:1.12;
}
.fi-dest-tx > span{display:block;margin-top:5px;font-size:.9rem;color:var(--tx-soft)}

/* las otras cuatro */
.fi-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.fi-lista li{background:var(--surface)}
.fi-lista li > a{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(12px,1.4vw,16px);padding:clamp(11px,1.3vw,14px);
  text-decoration:none;transition:background-color .3s;
}
.fi-lista li > a:hover{background:rgba(255,255,255,.045)}
.fi-mini{
  display:block;width:clamp(76px,7vw,96px);aspect-ratio:4/3;
  border-radius:9px;overflow:hidden;background:var(--navy);
}
.fi-mini picture{display:block;width:100%;height:100%}
.fi-mini img{width:100%;height:100%;object-fit:cover}
.fi-lista-tx i{
  display:block;font-family:var(--mono);font-style:normal;font-size:.62rem;
  letter-spacing:.14em;color:var(--mut);margin-bottom:3px;
}
.fi-lista-tx b{
  display:block;font-family:var(--display);font-weight:650;
  font-size:.98rem;color:var(--tx);line-height:1.2;
}
.fi-lista-tx > span{display:block;margin-top:2px;font-size:.79rem;color:var(--mut)}
.fi-lista .ar{color:var(--blue-300);transition:transform .35s var(--ease)}
.fi-lista li > a:hover .ar{transform:translateX(4px)}

/* último renglón: el enlace a la página */
.fi-todas > a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:clamp(14px,1.6vw,17px) clamp(12px,1.4vw,16px);
  font-family:var(--display);font-weight:600;font-size:.94rem;
  color:var(--blue-300);text-decoration:none;transition:background-color .3s;
}
.fi-todas > a:hover{background:rgba(0,118,185,.12)}
.fi-todas .ar{display:inline-block;transition:transform .35s var(--ease)}
.fi-todas > a:hover .ar{transform:translateX(5px)}

@media(max-width:900px){
  .fi-cab{grid-template-columns:1fr;gap:14px;align-items:start}
  .fi-grid{grid-template-columns:1fr}
  .fi-dest{aspect-ratio:16/10}
  .fi-cards li{flex-basis:220px}
  .fi-strip-controles{display:flex}
}
@media(max-width:680px){
  .flota-inicio{padding-block:42px}
  .fi-cab{padding-bottom:21px;margin-bottom:20px}
  .fi-cards{gap:12px}
  .fi-cards li{flex-basis:78%}
  .fi-cards a{grid-template-rows:138px 1fr;min-height:224px}
  .fi-strip-controles,.fi-strip--six .fi-strip-controles{display:none}
  .flota-inicio .fi-strip-controles{display:flex;top:-46px}
  .fi-strip-progreso{width:76px;margin-top:12px}
  .fi-card-tx{padding:12px 13px 14px}
}

/* --------------------------------------------------------- enlace "ver más" */
.ver-mas{
  display:flex;align-items:center;gap:20px;flex-wrap:wrap;
  margin-top:clamp(28px,4vw,44px);padding-top:clamp(22px,3vw,32px);
  border-top:1px dashed var(--paper-line);
}
.sec:not(.light) .ver-mas{border-top-color:var(--line)}
.ver-mas > span{font-size:.88rem;color:var(--ink-mut);max-width:44ch}
.sec:not(.light) .ver-mas > span{color:var(--mut)}
.ver-mas .ar{display:inline-block;transition:transform .35s var(--ease);margin-left:8px}
.ver-mas a:hover .ar{transform:translateX(5px)}

@media(max-width:620px){
  .ver-mas{gap:14px}
  .ver-mas .btn{width:100%;justify-content:center}
}

/* ------------------------------------------- detalles de flota (solo flota) */
.det-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(16px,2vw,26px);
}
.det{
  margin:0;background:var(--paper-2);
  border:1px solid var(--paper-line);border-radius:16px;overflow:hidden;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.det:hover{transform:translateY(-4px);box-shadow:0 26px 54px -34px rgba(11,32,51,.5)}
.det-pic{aspect-ratio:16/10;overflow:hidden;background:var(--paper)}
.det-pic img,.det-pic picture{width:100%;height:100%;object-fit:cover;display:block}
.det-pic img{transition:transform .9s var(--ease)}
.det:hover .det-pic img{transform:scale(1.05)}
.det figcaption{padding:clamp(18px,2vw,26px)}
.det figcaption h3{
  font-family:var(--display);font-weight:650;
  font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink-tx);
}
.det figcaption p{margin-top:8px;color:var(--ink-mut);font-size:.92rem;line-height:1.6}

/* ------------------------------------------- fichas de base (solo cobertura) */
.bases-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(16px,2vw,24px);
}
.base{
  display:flex;flex-direction:column;
  background:var(--paper-2);border:1px solid var(--paper-line);
  border-radius:16px;padding:clamp(22px,2.4vw,30px);
  transition:border-color .3s,box-shadow .5s var(--ease);
}
.base:hover{border-color:var(--blue);box-shadow:0 26px 54px -36px rgba(11,32,51,.45)}
.base header{display:flex;gap:16px;align-items:flex-start}
.base-n{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  color:var(--blue);padding-top:4px;flex:0 0 auto;
}
.base .tipo{
  display:block;font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mut);margin-bottom:5px;
}
.base h3{
  font-family:var(--display);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(1.15rem,1.9vw,1.45rem);color:var(--ink-tx);line-height:1.15;
}
.base-sub{margin-top:6px;color:var(--ink-mut);font-size:.9rem}

.base-serv{
  list-style:none;margin:18px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:7px;
}
.base-serv li{
  font-size:.76rem;color:var(--ink-mut);
  background:var(--paper);border:1px solid var(--paper-line);
  border-radius:100px;padding:5px 11px;
}

/* Cuando la base todavía no tiene dirección ni teléfono confirmados no se
   dibuja el bloque de datos, y la tarjeta quedaría con un vacío abajo. En ese
   caso los chips de servicios bajan y ocupan ese aire. */
.base:not(:has(.base-datos)) .base-serv{margin-top:auto;padding-top:20px}
.base-datos{margin-top:auto;padding-top:20px;display:grid;gap:12px}
.base-datos > div{
  display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:baseline;
  padding-top:12px;border-top:1px dashed var(--paper-line);
}
.base-datos dt{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-mut);
}
.base-datos dd{font-size:.9rem;color:var(--ink-tx);line-height:1.5}
.base-datos a{color:var(--blue);text-decoration:none}
.base-datos a:hover{text-decoration:underline}

.base-mapa{
  margin-top:16px;font-size:.85rem;color:var(--blue);
  text-decoration:none;font-weight:500;align-self:flex-start;
}
.base-mapa .ar{display:inline-block;transition:transform .3s var(--ease);margin-left:5px}
.base-mapa:hover .ar{transform:translateX(4px)}

@media(max-width:480px){
  .base-datos > div{grid-template-columns:1fr;gap:3px}
}

/* --------------------------------------- antes de cotizar (solo contacto) */
.previo-in{
  display:grid;grid-template-columns:.85fr 1.15fr;
  gap:clamp(28px,5vw,72px);align-items:start;
}
.previo-tx h2{
  font-family:var(--display);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.5rem,3vw,2.3rem);color:var(--ink-tx);
  line-height:1.15;margin:14px 0 14px;
}
.previo-tx p{color:var(--ink-mut);max-width:44ch;line-height:1.65}
.previo-link{
  display:inline-block;margin-top:22px;font-size:.88rem;
  color:var(--blue);text-decoration:none;font-weight:500;max-width:34ch;
}
.previo-link .ar{display:inline-block;transition:transform .3s var(--ease);margin-left:5px}
.previo-link:hover .ar{transform:translateX(4px)}

.previo-lista{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  background:var(--paper-line);border:1px solid var(--paper-line);
  border-radius:16px;overflow:hidden}
.previo-lista li{
  display:grid;grid-template-columns:auto 1fr;gap:18px;
  background:var(--paper-2);padding:clamp(18px,2.2vw,26px);
}
.previo-n{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  color:var(--blue);padding-top:3px;
}
.previo-lista h3{
  font-family:var(--display);font-weight:650;font-size:1.02rem;
  color:var(--ink-tx);line-height:1.2;
}
.previo-lista p{margin-top:6px;color:var(--ink-mut);font-size:.9rem;line-height:1.6}

@media(max-width:900px){
  .previo-in{grid-template-columns:1fr;gap:30px}
  .previo-tx p{max-width:none}
}

/* ==========================================================================
   SELECTOR · panel de dos columnas
   La versión de una sola columna dejaba todo el costado vacío y no se veía
   qué se había contestado antes. La columna izquierda resuelve las dos cosas.
   ========================================================================== */
.wiz{display:grid;grid-template-columns:clamp(230px,26%,300px) 1fr}

.wiz-lado{
  border-right:1px solid var(--line);
  background:rgba(255,255,255,.02);
  display:flex;flex-direction:column;
}
.wiz-lado-top{
  display:flex;flex-direction:column;gap:6px;
  padding:22px clamp(20px,2.2vw,26px) 16px;
}
.wiz-lado .wiz-bar{margin-inline:clamp(20px,2.2vw,26px);border-radius:2px;overflow:hidden}

/* mapa de pasos */
.wiz-mapa{
  list-style:none;margin:0;padding:18px clamp(14px,1.6vw,18px);
  display:grid;gap:2px;flex:1;align-content:start;
}
.wiz-mapa li{
  display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;
  padding:13px 12px;border-radius:10px;
  border:1px solid transparent;
  transition:background-color .25s,border-color .25s;
}
.wm-n{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;
  /* --mut-2 daba 3.83 sobre este fondo: no llega al mínimo AA de 4.5 */
  color:#7C93AB;padding-top:2px;transition:color .25s;
}
.wm-tx b{
  display:block;font-family:var(--body);font-weight:500;font-size:.88rem;
  color:var(--mut);line-height:1.3;transition:color .25s;
}
.wm-resp{
  display:block;font-style:normal;font-size:.78rem;color:var(--blue-300);
  margin-top:4px;
}
.wm-resp:empty{display:none}

/* paso actual */
.wiz-mapa li.on{
  background:rgba(46,155,224,.10);border-color:rgba(46,155,224,.28);
}
.wiz-mapa li.on .wm-n{color:var(--blue-300)}
.wiz-mapa li.on .wm-tx b{color:var(--tx)}

/* Pasos ya contestados: se pueden volver a tocar para corregir.
   El nombre lleva el prefijo del componente a propósito: ".hecho" a secas ya
   existe en site.css para otro bloque y le metía fondo blanco a estos ítems. */
.wiz-mapa li.wm-listo{cursor:pointer}
.wiz-mapa li.wm-listo .wm-n{color:var(--blue)}
.wiz-mapa li.wm-listo .wm-tx b{color:var(--tx-soft)}
.wiz-mapa li.wm-listo:hover{background:rgba(255,255,255,.045)}

.wiz-nota{
  padding:16px clamp(20px,2.2vw,26px) 22px;
  border-top:1px solid var(--line);
  font-size:.76rem;line-height:1.55;color:#7C93AB;
}

/* Cuatro y cinco opciones caían mal en una grilla de 3. auto-fit las acomoda
   sin dejar la última fila coja. */
.opts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

@media(max-width:900px){
  .wiz{grid-template-columns:1fr}
  .wiz-lado{border-right:0;border-bottom:1px solid var(--line)}
  /* en vertical el mapa ocupa demasiado: queda la barra y el paso actual */
  .wiz-mapa,.wiz-nota{display:none}
}

/* ------------------------------------ arranque del selector (inicio)
   Ya no es un anuncio: es la primera pregunta del asistente con sus opciones
   de verdad. Elegir una lleva a selector.php con esa respuesta tomada. */
.sel-arranque-cab{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(20px,4vw,56px);align-items:end;
  padding-bottom:clamp(26px,3.2vw,38px);
  border-bottom:1px solid var(--paper-line);
}
.sel-arranque-cab h2{
  font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06;
  color:var(--ink-tx);margin-top:14px;text-wrap:balance;
}
.sel-arranque-cab p{color:var(--ink-mut);font-size:1rem;line-height:1.65;max-width:46ch}
.sel-arranque-cab p b{color:var(--ink-tx);font-weight:600}

.sel-cargas{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(12px,1.4vw,16px);margin-top:clamp(26px,3.2vw,38px);
}
.sel-carga{
  position:relative;display:block;text-decoration:none;
  background:var(--paper-2);border:1px solid var(--paper-line);
  border-radius:14px;padding:clamp(18px,2vw,24px);
  transition:transform .4s var(--ease),border-color .3s,box-shadow .4s var(--ease);
}
.sel-carga:hover{
  transform:translateY(-4px);border-color:var(--blue);
  box-shadow:0 22px 44px -30px rgba(11,32,51,.5);
}
.sel-carga .ic{
  display:grid;place-items:center;width:38px;height:38px;border-radius:10px;
  background:rgba(0,118,185,.10);border:1px solid rgba(0,118,185,.24);
  color:var(--blue);margin-bottom:15px;
}
.sel-carga b{
  display:block;font-family:var(--display);font-weight:650;
  font-size:1.04rem;color:var(--ink-tx);line-height:1.2;
}
/* Nombre propio y no `.det`: esa clase ya la usa la ficha de flota
   (un <figure> con foto, fondo y borde) y el estilo se colaba en este texto,
   que salía metido en una caja con cara de campo de formulario deshabilitado.
   Dos componentes distintos no pueden compartir un nombre tan genérico. */
.sel-carga .sel-det{
  display:block;margin-top:6px;font-size:.84rem;
  color:var(--ink-mut);line-height:1.5;
}
.sel-carga .ar{
  position:absolute;top:clamp(18px,2vw,24px);right:clamp(18px,2vw,24px);
  color:var(--blue);opacity:0;transform:translateX(-6px);
  transition:opacity .3s,transform .35s var(--ease);
}
.sel-carga:hover .ar{opacity:1;transform:translateX(0)}

@media(max-width:900px){
  .sel-arranque-cab{grid-template-columns:1fr;gap:16px;align-items:start}
  .sel-cargas{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .sel-cargas{grid-template-columns:1fr}
  .sel-carga .ar{opacity:1;transform:none}
}

/* ------------------------------------------- fichas de base (solo cobertura) */
.bases-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(16px,2vw,24px);
}
.base{
  display:flex;flex-direction:column;
  background:var(--paper-2);border:1px solid var(--paper-line);
  border-radius:16px;padding:clamp(22px,2.4vw,30px);
  transition:border-color .3s,box-shadow .5s var(--ease);
}
.base:hover{border-color:var(--blue);box-shadow:0 26px 54px -36px rgba(11,32,51,.45)}
.base header{display:flex;gap:16px;align-items:flex-start}
.base-n{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;
  color:var(--blue);padding-top:4px;flex:0 0 auto;
}
.base .tipo{
  display:block;font-family:var(--mono);font-size:.63rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mut);margin-bottom:5px;
}
.base h3{
  font-family:var(--display);font-weight:700;letter-spacing:-.01em;
  font-size:clamp(1.15rem,1.9vw,1.45rem);color:var(--ink-tx);line-height:1.15;
}
.base-sub{margin-top:6px;color:var(--ink-mut);font-size:.9rem}

.base-serv{
  list-style:none;margin:18px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:7px;
}
.base-serv li{
  font-size:.76rem;color:var(--ink-mut);
  background:var(--paper);border:1px solid var(--paper-line);
  border-radius:100px;padding:5px 11px;
}

/* Cuando la base todavía no tiene dirección ni teléfono confirmados no se
   dibuja el bloque de datos, y la tarjeta quedaría con un vacío abajo. En ese
   caso los chips de servicios bajan y ocupan ese aire. */
.base:not(:has(.base-datos)) .base-serv{margin-top:auto;padding-top:20px}
.base-datos{margin-top:auto;padding-top:20px;display:grid;gap:12px}
.base-datos > div{
  display:grid;grid-template-columns:88px 1fr;gap:12px;align-items:baseline;
  padding-top:12px;border-top:1px dashed var(--paper-line);
}
.base-datos dt{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-mut);
}
.base-datos dd{font-size:.9rem;color:var(--ink-tx);line-height:1.5}
.base-datos a{color:var(--blue);text-decoration:none}
.base-datos a:hover{text-decoration:underline}

.base-mapa{
  margin-top:16px;font-size:.85rem;color:var(--blue);
  text-decoration:none;font-weight:500;align-self:flex-start;
}
.base-mapa .ar{display:inline-block;transition:transform .3s var(--ease);margin-left:5px}
.base-mapa:hover .ar{transform:translateX(4px)}

@media(max-width:480px){
  .base-datos > div{grid-template-columns:1fr;gap:3px}
}

/* --------------------------------------- antes de cotizar (solo contacto) */
.previo-in{
  display:grid;grid-template-columns:.85fr 1.15fr;
  gap:clamp(28px,5vw,72px);align-items:start;
}
.previo-tx h2{
  font-family:var(--display);font-weight:700;letter-spacing:-.02em;
  font-size:clamp(1.5rem,3vw,2.3rem);color:var(--ink-tx);
  line-height:1.15;margin:14px 0 14px;
}
.previo-tx p{color:var(--ink-mut);max-width:44ch;line-height:1.65}
.previo-link{
  display:inline-block;margin-top:22px;font-size:.88rem;
  color:var(--blue);text-decoration:none;font-weight:500;max-width:34ch;
}
.previo-link .ar{display:inline-block;transition:transform .3s var(--ease);margin-left:5px}
.previo-link:hover .ar{transform:translateX(4px)}

.previo-lista{list-style:none;margin:0;padding:0;display:grid;gap:1px;
  background:var(--paper-line);border:1px solid var(--paper-line);
  border-radius:16px;overflow:hidden}
.previo-lista li{
  display:grid;grid-template-columns:auto 1fr;gap:18px;
  background:var(--paper-2);padding:clamp(18px,2.2vw,26px);
}
.previo-n{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;
  color:var(--blue);padding-top:3px;
}
.previo-lista h3{
  font-family:var(--display);font-weight:650;font-size:1.02rem;
  color:var(--ink-tx);line-height:1.2;
}
.previo-lista p{margin-top:6px;color:var(--ink-mut);font-size:.9rem;line-height:1.6}

@media(max-width:900px){
  .previo-in{grid-template-columns:1fr;gap:30px}
  .previo-tx p{max-width:none}
}

/* ==========================================================================
   SELECTOR · panel de dos columnas
   La versión de una sola columna dejaba todo el costado vacío y no se veía
   qué se había contestado antes. La columna izquierda resuelve las dos cosas.
   ========================================================================== */
.wiz{display:grid;grid-template-columns:clamp(230px,26%,300px) 1fr}

.wiz-lado{
  border-right:1px solid var(--line);
  background:rgba(255,255,255,.02);
  display:flex;flex-direction:column;
}
.wiz-lado-top{
  display:flex;flex-direction:column;gap:6px;
  padding:22px clamp(20px,2.2vw,26px) 16px;
}
.wiz-lado .wiz-bar{margin-inline:clamp(20px,2.2vw,26px);border-radius:2px;overflow:hidden}

/* mapa de pasos */
.wiz-mapa{
  list-style:none;margin:0;padding:18px clamp(14px,1.6vw,18px);
  display:grid;gap:2px;flex:1;align-content:start;
}
.wiz-mapa li{
  display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;
  padding:13px 12px;border-radius:10px;
  border:1px solid transparent;
  transition:background-color .25s,border-color .25s;
}
.wm-n{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;
  /* --mut-2 daba 3.83 sobre este fondo: no llega al mínimo AA de 4.5 */
  color:#7C93AB;padding-top:2px;transition:color .25s;
}
.wm-tx b{
  display:block;font-family:var(--body);font-weight:500;font-size:.88rem;
  color:var(--mut);line-height:1.3;transition:color .25s;
}
.wm-resp{
  display:block;font-style:normal;font-size:.78rem;color:var(--blue-300);
  margin-top:4px;
}
.wm-resp:empty{display:none}

/* paso actual */
.wiz-mapa li.on{
  background:rgba(46,155,224,.10);border-color:rgba(46,155,224,.28);
}
.wiz-mapa li.on .wm-n{color:var(--blue-300)}
.wiz-mapa li.on .wm-tx b{color:var(--tx)}

/* Pasos ya contestados: se pueden volver a tocar para corregir.
   El nombre lleva el prefijo del componente a propósito: ".hecho" a secas ya
   existe en site.css para otro bloque y le metía fondo blanco a estos ítems. */
.wiz-mapa li.wm-listo{cursor:pointer}
.wiz-mapa li.wm-listo .wm-n{color:var(--blue)}
.wiz-mapa li.wm-listo .wm-tx b{color:var(--tx-soft)}
.wiz-mapa li.wm-listo:hover{background:rgba(255,255,255,.045)}

.wiz-nota{
  padding:16px clamp(20px,2.2vw,26px) 22px;
  border-top:1px solid var(--line);
  font-size:.76rem;line-height:1.55;color:#7C93AB;
}

/* Cuatro y cinco opciones caían mal en una grilla de 3. auto-fit las acomoda
   sin dejar la última fila coja. */
.opts{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

@media(max-width:900px){
  .wiz{grid-template-columns:1fr}
  .wiz-lado{border-right:0;border-bottom:1px solid var(--line)}
  /* en vertical el mapa ocupa demasiado: queda la barra y el paso actual */
  .wiz-mapa,.wiz-nota{display:none}
}

/* ------------------------------------ recorrido del selector (inicio)
   Encabezado partido en dos (título a la izquierda, bajada a la derecha) y los
   cuatro pasos en fila unidos por la línea de señalización vial, que ya es el
   motivo gráfico del sitio. La versión anterior era otra lista dentro de una

/* ------------------------------------------ encabezado partido (soluciones)
   Mismo criterio que en el selector: título a un lado, bajada y enlace al
   otro. Apilado dejaba media pantalla vacía a la derecha. */
.sol-cab{
  display:grid;grid-template-columns:1.1fr .9fr;
  gap:clamp(20px,4vw,64px);align-items:end;
  margin-bottom:clamp(28px,3.4vw,44px);
  padding-bottom:clamp(24px,3vw,36px);
  border-bottom:1px solid var(--line);
}
.sol-cab h2{
  font-family:var(--display);font-weight:800;letter-spacing:-.025em;
  font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.06;color:var(--tx);
  margin-top:14px;text-wrap:balance;
}
.sol-cab-der{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.sol-cab-der p{color:var(--tx-soft);font-size:1rem;line-height:1.65;max-width:46ch}

/* En su propia página no hay enlace y la bajada queda sola: se alinea arriba
   para que no baile respecto del título. */

@media(max-width:860px){
  .sol-cab{grid-template-columns:1fr;gap:16px;align-items:start}
}

/* ==========================================================================
   RITMO DE FONDOS
   El recorrido alterna oscuro / claro a propósito. Antes quedaban dos oscuros
   pegados dos veces (hero + soluciones, y selector + cobertura) y las secciones
   se fundían entre sí. Acá van los ajustes de color de los bloques que
   cambiaron de fondo.
   ========================================================================== */

/* --------------------------------------------- soluciones, ahora sobre claro */
.sec.light .sol-cab{border-bottom-color:var(--paper-line)}
.sec.light .sol-cab h2{color:var(--ink-tx)}
.sec.light .sol-cab-der p{color:var(--ink-mut)}

/* -------------------------------------------------- selector, ahora sobre claro
   El panel del asistente se queda oscuro: sobre el fondo claro se lee como una
   pieza aparte, que es lo que es. Solo cambia lo que está fuera del panel. */

/* ============================== COBERTURA EN SU PROPIA PÁGINA
   Ahí arriba ya está el hero, con la misma foto y el mismo texto. Repetir los
   dos dejaba la sección con una bajada duplicada y, al ocultarla, con un hueco.
   En su página la sección se queda solo con lo que aporta: la línea de
   corredores y la franja de cifras, sobre fondo sólido. */
.pag-cobertura #cobertura .cob-foto{display:none}
/* Clara: con el hero y la frontera oscuros, dejarla oscura encadenaba TRES
   bloques del mismo tono y la pagina se leia como una sola mancha. */
.pag-cobertura #cobertura{background:var(--paper)}
.pag-cobertura #cobertura h2,
.pag-cobertura #cobertura h3{color:var(--ink-tx)}
.pag-cobertura #cobertura p,
.pag-cobertura #cobertura li{color:var(--ink-mut)}
.pag-cobertura #cobertura .eyebrow{color:var(--blue)}
.pag-cobertura #cobertura .dato-n{color:var(--ink-tx)}
.pag-cobertura #cobertura .cob-in{padding-top:clamp(34px,4vw,54px)}
.pag-cobertura #cobertura .cob-corredor{margin-top:0;padding-top:0;border-top:0}

/* Enlace de cierre de Nosotros. Antes era un enlace suelto con una leyenda al
   lado, flotando bajo la sección; ahora cierra la columna de texto. */
.nos-mas{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-top:clamp(24px,3vw,34px);padding-top:clamp(20px,2.4vw,26px);
  border-top:1px solid var(--paper-line);
  text-decoration:none;
}
.nos-mas b{
  display:block;font-family:var(--display);font-weight:650;
  font-size:1.06rem;color:var(--ink-tx);transition:color .25s;
}
.nos-mas i{
  display:block;font-style:normal;margin-top:4px;
  font-size:.86rem;color:var(--ink-mut);
}
.nos-mas .ar{
  display:grid;place-items:center;flex:0 0 auto;
  width:42px;aspect-ratio:1;border-radius:50%;
  border:1px solid var(--paper-line);color:var(--blue);
  transition:transform .4s var(--ease),background-color .3s,border-color .3s,color .3s;
}
.nos-mas:hover b{color:var(--blue)}
.nos-mas:hover .ar{
  transform:translateX(5px);background:var(--blue);border-color:var(--blue);color:#fff;
}

/* ==========================================================================
   Índice inverso de mercadería (soluciones.php)
   Primero fue una lista de quince renglones con guía de puntos, como el índice
   del final de un manual: ocupaba media pantalla y se leía como un documento,
   no como una herramienta. Ahora es una rejilla de piezas compactas que se
   barre de un vistazo y cabe en un tercio del alto.

   Cada pieza lleva la mercadería arriba y la unidad debajo, en monoespaciada:
   es la misma jerarquía que el resto del sitio usa para dato técnico.
   ========================================================================== */
.idx-buscar{position:relative;max-width:440px;margin:0 0 clamp(20px,2.6vw,28px)}
.idx-buscar input{
  width:100%;padding:12px 14px;font:400 .92rem/1.2 var(--body);
  color:var(--ink-tx);background:var(--pure);
  border:1px solid var(--paper-line);border-radius:var(--r-s);
}
.idx-buscar input:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-color:transparent}
.idx-cuenta{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  font:500 .66rem/1 var(--mono);letter-spacing:.1em;color:var(--ink-mut);
  pointer-events:none;
}

.idx-lista{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));
  gap:clamp(8px,1.1vw,12px);
}
.idx-fila a{
  display:block;height:100%;text-decoration:none;
  padding:13px 15px;border-radius:var(--r-s);
  background:var(--pure);border:1px solid var(--paper-line);
  transition:border-color .25s,transform .25s var(--ease),box-shadow .25s var(--ease);
}
.idx-fila a:hover{
  border-color:rgba(0,118,185,.45);transform:translateY(-2px);
  box-shadow:0 14px 26px -20px rgba(6,21,36,.5);
}
.idx-fila a:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.idx-que{
  display:block;font-weight:500;font-size:.93rem;line-height:1.3;
  color:var(--ink-tx);
}
.idx-uni{
  display:block;margin-top:5px;
  font:500 .64rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);
}
.idx-vacio{margin-top:18px;color:var(--ink-mut);font-size:.92rem}

.sol-cargas-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.5vw,20px);margin-top:clamp(28px,4vw,48px);
}
.sol-carga-card{
  display:flex;flex-direction:column;min-height:190px;padding:22px;
  text-decoration:none;background:var(--pure);border:1px solid var(--paper-line);
  border-radius:var(--r-s);transition:border-color .25s,transform .25s var(--ease),box-shadow .25s var(--ease);
}
.sol-carga-card:hover{
  border-color:rgba(0,118,185,.45);transform:translateY(-3px);
  box-shadow:0 14px 26px -20px rgba(6,21,36,.5);
}
.sol-carga-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.sol-carga-nombre{font-weight:600;font-size:1rem;line-height:1.25;color:var(--ink-tx)}
.sol-carga-desc{margin-top:12px;color:var(--ink-mut);font-size:.88rem;line-height:1.5}
.sol-carga-solucion{
  display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;
  font:500 .64rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);
}
.sol-carga-solucion .ar{font:1rem/1 var(--body);letter-spacing:0}
@media(max-width:1000px){.sol-cargas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.sol-cargas-grid{grid-template-columns:1fr}.sol-carga-card{min-height:0}}

/* ==========================================================================
   El asistente es una isla OSCURA dentro de una sección clara
   Las reglas de `.light` pintan títulos y negritas con el color de texto para
   fondo claro (--ink-tx). Dentro del asistente el fondo es --surface, así que
   ese color quedaba con contraste 1.04: texto negro sobre azul casi negro,
   ilegible aunque el bloque se viera "bien" de lejos.
   Acá se devuelve el esquema oscuro a todo lo que vive dentro.
   ========================================================================== */
.light .wiz{color:var(--tx-soft)}
.light .wiz h1,.light .wiz h2,.light .wiz h3,.light .wiz h4,
.light .wiz b,.light .wiz strong,
.light .wiz .opt-t,.light .wiz label{color:var(--tx)}
/* Los detalles de cada opción, un escalón por debajo pero legibles. */
.light .wiz .opt small,.light .wiz .opt span,.light .wiz .hint{color:var(--tx-soft)}

/* ==========================================================================
   Servicios sobre fondo oscuro (soluciones.php)
   La página encadenaba tres secciones claras seguidas: más de tres mil píxeles
   de blanco de un tirón, que es lo que la hacía sentir plana. Este bloque
   corta ese tramo y de paso separa el "qué resolvemos" (arriba, claro) del
   "cómo se contrata" (acá, oscuro).
   ========================================================================== */
.serv-oscura{
  position:relative;background:var(--navy);color:var(--tx-soft);
  /* Un filo de marca arriba y abajo: el corte se lee como decisión y no como
     un cambio de color al azar. */
  border-block:1px solid rgba(255,255,255,.08);
}
/* La marca vial recorre el borde superior, como en el resto del sitio. */
.serv-oscura::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.serv-oscura .sec-head h2{color:var(--tx)}
.serv-oscura .sec-head p{color:var(--tx-soft)}
.serv-oscura .serv-lista{border-top-color:rgba(255,255,255,.12)}
.serv-oscura .serv-fila{border-bottom-color:rgba(255,255,255,.12)}
.serv-oscura .serv-tx h3{color:var(--tx)}
.serv-oscura .serv-tx p{color:var(--tx-soft)}
.serv-oscura .serv-n{color:var(--blue-300)}
.serv-oscura .serv-cta{color:var(--blue-300)}
/* En oscuro el realce por padding solo no se percibe: se suma un velo. */
.serv-oscura .serv-fila:hover{background:rgba(255,255,255,.03)}

/* ==========================================================================
   Los dos lados de la frontera (cobertura.php)
   Dos columnas con el cruce en el medio. El elemento central no es un adorno
   entre columnas: es el paso de un país al otro, así que lleva la marca vial
   en vertical, que es el motivo con el que el sitio dibuja las rutas.
   ========================================================================== */
.fr{background:var(--navy);color:var(--tx-soft);position:relative}
.fr .sec-head h2{color:var(--tx)}
.fr .sec-head p{color:var(--tx-soft);max-width:66ch}

.fr-cruce{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;
  gap:clamp(18px,3vw,42px);margin-top:clamp(30px,4vw,46px);
}
.fr-lado{
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-m);padding:clamp(22px,2.6vw,34px);
  display:flex;flex-direction:column;
}
.fr-pais{
  font:500 .68rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;
  color:var(--blue-300);
}
.fr-lado h3{
  font-family:var(--display);font-weight:700;font-variation-settings:'wdth' 108;
  font-size:clamp(1.15rem,1.9vw,1.5rem);color:var(--tx);margin-top:10px;
  letter-spacing:-.015em;
}
.fr-rol{font-size:.9rem;color:var(--tx-soft);margin-top:6px}

.fr-lista{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:0;flex:1}
.fr-lista li{
  display:flex;align-items:baseline;gap:13px;
  padding:12px 0;border-top:1px solid var(--line);
}
.fr-lista li:last-child{border-bottom:1px solid var(--line)}
.fr-lista i{
  font:500 .66rem/1 var(--mono);letter-spacing:.08em;color:var(--blue-300);
  font-style:normal;flex:0 0 auto;
}
.fr-lista span{font-size:.93rem;color:var(--tx)}

.fr-tel{
  margin-top:18px;align-self:flex-start;
  font:500 .8rem/1 var(--mono);letter-spacing:.06em;
  color:var(--blue-300);text-decoration:none;
}
.fr-tel:hover{color:var(--tx)}

/* El cruce: la ruta que une los dos lados. */
.fr-linea{
  position:relative;width:clamp(30px,4vw,58px);
  display:grid;place-items:center;
}
.fr-linea::before{
  content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;
  transform:translateX(-50%);opacity:.55;
  background:repeating-linear-gradient(180deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.fr-linea-t{
  position:relative;background:var(--navy);padding:9px 0;
  font:500 .6rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;
  color:var(--mut);writing-mode:vertical-rl;
}
.fr-pie{
  margin-top:clamp(22px,3vw,32px);padding-top:18px;
  border-top:1px solid var(--line);
  font-size:.9rem;color:var(--tx-soft);
}

@media(max-width:820px){
  /* Apilado, el cruce pasa a ser horizontal entre las dos tarjetas. */
  .fr-cruce{grid-template-columns:1fr;gap:0}
  .fr-linea{width:auto;height:56px}
  .fr-linea::before{
    top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;
    transform:translateY(-50%);
    background:repeating-linear-gradient(90deg,
      var(--blue-300) 0 var(--vial-trazo-fino),
      transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  }
  .fr-linea-t{writing-mode:horizontal-tb;padding:0 12px}
}

/* ==========================================================================
   El asistente en SU página: la sección entera se vuelve oscura
   En el inicio el panel oscuro sobre fondo claro funciona: es una pieza
   invitando desde dentro del recorrido. En su propia página el resultado era
   una caja flotando sola en una hoja blanca, con aire de widget pegado encima,
   y además obligaba a corregir el color de cada texto de adentro (ahí nació el
   contraste 1.04 de los títulos).

   Acá manda el panel: la sección toma su color y el panel se funde con ella.
   En el inicio NO se toca, porque dejaría dos secciones oscuras seguidas.
   ========================================================================== */
.pag-selector #selector{background:var(--paper);position:relative}
/* Filete de corte bajo la portada, que sí es oscura. */
.pag-selector #selector::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.pag-selector #selector .sec-head h2{color:var(--ink-tx)}
.pag-selector #selector .sec-head p{color:var(--ink-mut)}
/* El panel deja de ser una isla: mismo aire, sin borde que lo recorte. */
.pag-selector .wiz{
  background:var(--surface);
  border-color:rgba(255,255,255,.09);
  box-shadow:0 40px 90px -50px rgba(0,0,0,.9);
}

/* ========================================================================== 
   Configuraciones (selector.php)
   Seis piezas comparables en una grilla estable: el orden y la lectura se
   mantienen sin convertir esta sección en otro carrusel.
   ========================================================================== */
.cfg-tira{
  list-style:none;margin:clamp(28px,3.5vw,42px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);
}
.cfg-item{min-width:0}
.cfg-item a{
  display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;text-decoration:none;color:var(--ink-tx);
  background:var(--pure);border:1px solid var(--paper-line);
  border-radius:var(--r-m);overflow:hidden;height:100%;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
}
.cfg-item a:hover{
  transform:translateY(-4px);border-color:rgba(0,118,185,.4);
  box-shadow:0 22px 40px -26px rgba(6,21,36,.5);
}
.cfg-item a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cfg-foto{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--paper)}
.cfg-foto img,.cfg-foto picture{width:100%;height:100%;object-fit:cover;display:block}
.cfg-item a:hover .cfg-foto img{transform:scale(1.04)}
.cfg-foto img{transition:transform .5s var(--ease)}
.cfg-n{
  font:500 .62rem/1 var(--mono);letter-spacing:.14em;color:var(--blue);
  padding:14px 15px 0;
}
.cfg-nombre{
  font-family:var(--display);font-weight:700;font-variation-settings:'wdth' 106;
  font-size:.98rem;line-height:1.22;padding:7px 15px 0;letter-spacing:-.01em;
}
.cfg-cat{
  font-size:.78rem;color:var(--ink-mut);padding:5px 15px 16px;align-self:end;
}

@media(max-width:900px){
  .cfg-tira{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .cfg-tira{grid-template-columns:1fr;gap:14px}
  .cfg-foto{aspect-ratio:16/9}
}

/* ==========================================================================
   Tarjetas de carga del inicio: darles cuerpo
   Eran blancas sobre un fondo casi blanco, con un filo gris clarísimo: seis
   rectángulos flotando sin peso. El contenido estaba bien; lo que faltaba era
   que se leyeran como piezas y no como huecos.

   Tres cambios, ninguno decorativo: un índice en monoespaciada que las ordena
   y las ancla al lenguaje del resto del sitio, un filo de marca que aparece al
   pasar por encima, y una línea vial que las une por arriba como una ruta.
   ========================================================================== */
/* Las dos filas medían distinto (142 y 162 px) porque cada una se ajustaba a
   su tarjeta más alta: la grilla no cerraba como un rectángulo y se leía como
   un desalineo. Con filas iguales, las seis tarjetas forman un bloque. */
.sel-cargas{grid-auto-rows:1fr}
.sel-carga{
  border-color:rgba(11,32,51,.14);
  box-shadow:0 1px 0 rgba(11,32,51,.04);
  overflow:hidden;
  /* La tarjeta ocupa toda su celda y el detalle se apoya abajo, así los
     títulos de una y dos líneas no descolocan el resto. */
  display:flex;flex-direction:column;
}
/* Sin `margin-top:auto`: empujaba el detalle al fondo de la tarjeta y dejaba
   un hueco entre el título y él. Con las filas ya parejas por grilla, el
   contenido se agrupa arriba y la tarjeta se lee como un bloque. */
.sel-carga .sel-det{padding-top:2px}
/* El índice: numera las opciones y usa la monoespaciada de las fichas. */
.sel-carga::before{
  content:counter(carga, decimal-leading-zero);
  position:absolute;top:clamp(18px,2vw,24px);right:clamp(18px,2vw,24px);
  font:500 .66rem/1 var(--mono);letter-spacing:.12em;
  /* Sin opacidad: al bajarla a .55 el índice quedaba en 2.19 de contraste,
     por debajo del mínimo de 4.5, y en pantalla se leía como una mancha.
     El tono se elige directo, que además es lo que permite medirlo. */
  color:var(--ink-mut);
  transition:opacity .3s,color .3s;
}
.sel-cargas{counter-reset:carga}
.sel-carga{counter-increment:carga}
/* La flecha ocupa esa misma esquina al aparecer: el índice se aparta.
   Con :hover solo, quien navega con teclado veía los dos encimados. */
.sel-carga:hover::before,
.sel-carga:focus-visible::before{opacity:0}

/* La ruta que las cruza por arriba, en la escala fina del motivo. */
.sel-carga::after{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:repeating-linear-gradient(90deg,
    var(--blue) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  opacity:0;transition:opacity .35s var(--ease);
}
.sel-carga:hover::after,
.sel-carga:focus-visible::after{opacity:.85}

.sel-carga:hover{box-shadow:0 26px 48px -28px rgba(11,32,51,.55)}
.sel-carga:hover .ic{background:rgba(0,118,185,.18);border-color:rgba(0,118,185,.45)}
.sel-carga .ic{transition:background-color .3s,border-color .3s}

/* No hay scroll horizontal en esta cuadrícula: el envoltorio conserva solo
   la animación de entrada que ya usa el resto de la sección. */
.cfg-wrap{position:relative}

/* ==========================================================================
   El paso del asistente entra desde el lado hacia el que se avanza
   Antes los cuatro pasos aparecían con el mismo fundido y no se percibía si
   uno había avanzado o vuelto atrás. El desplazamiento es corto a propósito:
   lo suficiente para leer la dirección, no tanto como para marear a quien
   contesta cuatro preguntas seguidas.
   ========================================================================== */
.step.on{animation:pasoEntra .34s var(--ease) both}
.step.on.vuelve{animation-name:pasoVuelve}

@keyframes pasoEntra{
  from{opacity:0;transform:translateX(18px)}
  to{opacity:1;transform:none}
}
@keyframes pasoVuelve{
  from{opacity:0;transform:translateX(-18px)}
  to{opacity:1;transform:none}
}

@media(prefers-reduced-motion:reduce){
  .step.on,.step.on.vuelve{animation:none}
}

/* ==========================================================================
   La historia, en su propia sección (nosotros.php)
   Antes vivía al final del bloque de Nosotros, en 0.86rem dentro de un
   carrusel que había que empujar. De un camión en 1997 a más de 150 unidades
   es el mejor argumento de solvencia que tiene la empresa y ahí no se leía.
   ========================================================================== */
.hist{position:relative;background:var(--ink);color:var(--tx-soft)}
.hist::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.hist .sec-head h2{color:var(--tx)}
.hist .sec-head p{color:var(--tx-soft)}

/* El salto en una línea: resume de un vistazo lo que cuenta el riel. */
.hist-salto{
  display:flex;align-items:center;gap:clamp(12px,2vw,20px);
  margin:clamp(26px,3.5vw,40px) 0 clamp(30px,4vw,44px);
}
.hist-salto-a,.hist-salto-b{
  font-family:var(--display);font-weight:800;font-variation-settings:'wdth' 112;
  font-size:clamp(1.5rem,3.4vw,2.6rem);color:var(--tx);letter-spacing:-.02em;
}
.hist-salto-linea{
  flex:1 1 auto;height:2px;min-width:30px;opacity:.6;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.hist-salto-n{
  font:500 .68rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-300);white-space:nowrap;
}

/* El riel */
.hist-wrap{position:relative}
.hist-riel{
  list-style:none;margin:0;padding:0;
  display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;
  scrollbar-width:none;
  margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);
  scroll-padding-inline:var(--gut);
}
.hist-riel::-webkit-scrollbar{display:none}
.hist-hito{
  flex:0 0 clamp(230px,25vw,290px);scroll-snap-align:start;
  padding:26px clamp(18px,2vw,28px) 0 0;position:relative;
}
/* La ruta que une los hitos, con su marca en cada uno. */
.hist-hito::before{
  content:'';position:absolute;left:0;right:0;top:6px;height:2px;opacity:.45;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.hist-hito:last-child::before{background:none}
.hist-punto{
  position:absolute;left:0;top:0;width:13px;height:13px;border-radius:50%;
  background:var(--ink);border:2px solid var(--blue-300);
}
.hist-ano{
  display:block;font-family:var(--display);font-weight:800;
  font-variation-settings:'wdth' 108;font-size:clamp(1.3rem,2.2vw,1.75rem);
  color:var(--blue-300);letter-spacing:-.015em;
}
.hist-hito p{margin-top:9px;font-size:.9rem;line-height:1.62;color:var(--tx-soft);padding-right:10px}

.hist-nav{display:flex;gap:10px;margin-top:clamp(22px,3vw,32px)}
.hist-wrap::after{
  content:'';position:absolute;pointer-events:none;
  right:calc(var(--gut) * -1);top:0;bottom:0;width:70px;
  background:linear-gradient(90deg,transparent,var(--ink));
  transition:opacity .3s;
}
.hist-wrap.fin::after{opacity:0}

@media(max-width:560px){
  .hist-salto{flex-wrap:wrap;gap:10px}
  .hist-salto-linea{order:3;flex-basis:100%}
}

/* Página Nosotros: ruta de crecimiento. El carril y todos sus hitos se
   desplazan juntos; no es un carrusel de tarjetas independientes. */
.pag-nosotros .hist{padding-block:clamp(44px,4.5vw,56px)}
.pag-nosotros #nosotros .nos-txt > .eyebrow{display:inline-flex}
.pag-nosotros .hist .sec-head{margin-bottom:clamp(26px,3vw,38px)}
.pag-nosotros .hist{scroll-margin-top:112px}
.pag-nosotros #hist-t{scroll-margin-top:112px}
.pag-nosotros .hist-wrap{overflow:hidden}
.pag-nosotros .hist-wrap::after{display:none}
.pag-nosotros .hist-riel{
  display:block;overflow-x:auto;overflow-y:hidden;margin:0;padding:0;scroll-snap-type:x mandatory;scroll-padding-inline:0;
  scrollbar-width:none;touch-action:pan-y;
  outline-offset:5px;
}
.pag-nosotros .hist-riel::-webkit-scrollbar{display:none}
.pag-nosotros .hist-riel.is-dragging,.pag-nosotros .hist-riel.is-settling{scroll-snap-type:none}
.pag-nosotros .hist-riel.is-dragging{cursor:grabbing;user-select:none}
.pag-nosotros .hist-riel.is-dragging *{user-select:none;-webkit-user-drag:none}
@media(pointer:fine){.pag-nosotros .hist-riel{cursor:grab}}
.pag-nosotros .hist-lienzo{position:relative;flex:none;width:var(--timeline-width);min-width:var(--timeline-width);height:520px}
.pag-nosotros .hist-ruta{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;color:var(--blue-300)}
.pag-nosotros .hist-ruta--vertical{display:none}
.pag-nosotros .hist-ruta-borde{fill:none;stroke:var(--blue-300);stroke-width:22;stroke-linejoin:round;stroke-linecap:round;opacity:.95}
.pag-nosotros .hist-ruta-interior{fill:none;stroke:#092b46;stroke-width:18;stroke-linejoin:round;stroke-linecap:round}
.pag-nosotros .hist-ruta-eje{fill:none;stroke:rgba(175,224,255,.68);stroke-width:1.2;stroke-dasharray:7 10}
.pag-nosotros .hist-list{position:absolute;inset:0;display:flex;margin:0;padding:0 20px;box-sizing:border-box;list-style:none}
.pag-nosotros .hist-hito{flex:0 0 var(--timeline-card-width);height:520px;position:relative;padding:0;scroll-snap-align:start;text-align:left}
.pag-nosotros .hist-hito::before{display:none}
.pag-nosotros .hist-hito::after{content:'';position:absolute;left:calc(50% - .5px);width:1px;background:rgba(111,199,255,.72);z-index:0}
.pag-nosotros .hist-punto{
  position:absolute;left:calc(50% - 12px);top:calc(var(--timeline-y) - 12px);display:block;width:24px;height:24px;margin:0;
  background:var(--ink);border:2px solid var(--blue-300);outline:3px solid rgba(0,159,230,.14);box-shadow:none;
  z-index:2;
}
.pag-nosotros .hist-hito:nth-child(odd)::after{top:calc(var(--timeline-y) - 36px);height:24px}
.pag-nosotros .hist-hito:nth-child(even)::after{top:calc(var(--timeline-y) + 12px);height:24px}
.pag-nosotros .hist-hito:first-child .hist-punto{background:var(--blue-300)}
.pag-nosotros .hist-punto::after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--blue-300)}
.pag-nosotros .hist-hito:first-child .hist-punto::after{background:var(--ink)}
.pag-nosotros .hist-contenido{
  position:absolute;left:20px;right:20px;top:0;bottom:auto;height:auto;margin:0;padding:0;min-height:0;
  border:0;border-radius:0;background:transparent;
}
.pag-nosotros .hist-hito:nth-child(even) .hist-contenido{top:calc(var(--timeline-y) + 46px);bottom:auto;padding:0}
.pag-nosotros .hist-hito h3:empty{display:none}
.pag-nosotros .hist-contenido::after{display:none}
.pag-nosotros .hist-icono{display:block;width:30px;height:30px;margin-bottom:8px;color:var(--blue-300)}
.pag-nosotros .hist-icono svg{display:block;width:100%;height:100%}
.pag-nosotros .hist-ano{display:block;font-size:clamp(1.25rem,1.7vw,1.45rem);line-height:1.15;color:var(--blue-300);font-variation-settings:'wdth' 108}
.pag-nosotros .hist-hito h3{
  margin:7px 0 0;font-family:var(--display);font-size:1rem;line-height:1.3;
  font-variation-settings:'wdth' 106;color:var(--tx);
}
.pag-nosotros .hist-hito p{margin-top:9px;padding:0;font-size:.875rem;line-height:1.5;color:var(--tx-soft)}
.pag-nosotros .hist-hito--fuera .hist-contenido,.pag-nosotros .hist-hito--fuera .hist-punto,.pag-nosotros .hist-hito--fuera::after{opacity:0;pointer-events:none}
.pag-nosotros .hist-hito--provisorio{opacity:.7}
.pag-nosotros .hist-hito--provisorio .hist-punto{background:var(--ink)}
.pag-nosotros .hist-nav{display:flex;gap:6px;margin-top:12px;align-items:center}
.pag-nosotros .hist-progreso{display:block;flex:1 1 auto;max-width:150px;height:3px;overflow:hidden;border-radius:999px;background:rgba(111,199,255,.22)}
.pag-nosotros .hist-progreso i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--blue-300);transform:scaleX(.16);transform-origin:left;transition:transform .1s linear}
.pag-nosotros .hist-nav .arrow{width:30px;height:30px;font-size:.78rem}
.pag-nosotros .hist + .nosotros-video{
  --sec:clamp(34px,3vw,42px);margin-top:0;background:var(--navy);
  border-top:1px solid rgba(111,199,255,.2);
}
.pag-nosotros .nosotros-video-in{grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:clamp(28px,4vw,56px)}
.pag-nosotros .nos-video-copy{max-width:31rem}
.pag-nosotros .nos-video-copy h2{font-size:clamp(2rem,2.8vw,2.55rem)}
@media(max-width:680px){
  .pag-nosotros .hist{padding-block:46px 48px}
  .pag-nosotros .hist-wrap{overflow:visible}
  .pag-nosotros .hist-wrap::after{display:none}
  .pag-nosotros .hist-riel{overflow:visible;padding:0;clip-path:none}
  .pag-nosotros .hist-lienzo{flex:auto;min-width:0;width:100%;height:auto;min-height:0}
  .pag-nosotros .hist-ruta--horizontal{display:none}
  .pag-nosotros .hist-ruta--vertical{display:block;right:auto;left:calc(50% - 32px);width:64px;height:100%}
  .pag-nosotros .hist-list{position:relative;display:grid;grid-template-columns:1fr;inset:auto;width:100%;padding:0;box-sizing:border-box}
  .pag-nosotros .hist-hito{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);column-gap:0;width:100%;box-sizing:border-box;min-height:178px;height:auto;min-width:0;padding:0 0 26px;flex:auto;text-align:left}
  .pag-nosotros .hist-hito:last-child{padding-bottom:0}
  .pag-nosotros .hist-hito::after{display:none}
  .pag-nosotros .hist-hito .hist-punto{position:relative;grid-column:2;grid-row:1;justify-self:center;align-self:start;left:auto!important;top:auto!important;margin:8px 0 0;width:24px;height:24px}
  .pag-nosotros .hist-hito .hist-punto::after{inset:6px}
  .pag-nosotros .timeline-icon,.pag-nosotros .timeline-pin{display:none}
  .pag-nosotros .hist-contenido,.pag-nosotros .hist-hito:nth-child(even) .hist-contenido{position:relative;grid-row:1;left:auto;right:auto;top:auto;bottom:auto;align-self:start;height:auto;padding:0 8px}
  .pag-nosotros .hist-hito:nth-child(odd) .hist-contenido{grid-column:1;text-align:right}
  .pag-nosotros .hist-hito:nth-child(even) .hist-contenido{grid-column:3;text-align:left}
  .pag-nosotros .hist-hito:nth-child(odd) .hist-contenido::before,.pag-nosotros .hist-hito:nth-child(even) .hist-contenido::before{content:'';position:absolute;top:20px;width:18px;height:1px;background:rgba(111,199,255,.72)}
  .pag-nosotros .hist-hito:nth-child(odd) .hist-contenido::before{right:-18px}
  .pag-nosotros .hist-hito:nth-child(even) .hist-contenido::before{left:-18px}
  .pag-nosotros .hist-contenido::after{display:none}
  .pag-nosotros .hist-icono{display:block;width:28px;height:28px;margin-bottom:5px;color:var(--blue-300)}
  .pag-nosotros .hist-icono svg{display:block;width:100%;height:100%}
  .pag-nosotros .hist-ano{position:static;display:block;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal;border:0;font-size:clamp(1.12rem,1.55vw,1.35rem);line-height:1.15;color:var(--blue-300);font-variation-settings:'wdth' 108}
  .pag-nosotros .hist-hito p{margin-top:6px;font-size:.8rem;line-height:1.44}
  .pag-nosotros .hist-hito h3{font-size:.88rem;line-height:1.22;margin-top:5px}
  .pag-nosotros .hist-hito:nth-child(odd) .hist-icono{margin-left:auto}
  .pag-nosotros .hist-nav{display:none}
  .pag-nosotros .hist + .nosotros-video{--sec:clamp(42px,4vw,52px)}
  .pag-nosotros .nosotros-video-in{grid-template-columns:1fr}
}

/* ==========================================================================
   Propósito sobre fondo claro
   Iba en oscuro y quedaba pegado a la historia, que también lo es: tres
   secciones oscuras seguidas se leen como una sola mancha. Acá se ajusta lo
   que cambia de color; el resto de la sección ya estaba resuelto.
   ========================================================================== */
.light.proposito .prop-card{background:var(--pure);border-color:var(--paper-line)}
.light.proposito .prop-card p{color:var(--ink-tx)}
.light.proposito .prop-eti{color:var(--blue)}
.light.proposito .valores{border-top-color:var(--paper-line)}
.light.proposito .valores h3{color:var(--ink-tx)}
.light.proposito .valores li{border-color:var(--paper-line);background:var(--pure)}
.light.proposito .valores li b{color:var(--ink-tx)}
.light.proposito .valores li .n{color:var(--blue)}

/* Las flechas del riel venían de cuando la línea de tiempo estaba sobre claro:
   en la sección oscura quedaban en 1.11 de contraste, invisibles. */
.hist .arrow{
  border-color:rgba(255,255,255,.22);
  color:var(--tx);
  background:rgba(255,255,255,.04);
}
.hist .arrow:hover:not(:disabled){border-color:var(--blue-300);color:var(--blue-300)}
.hist .arrow:disabled{opacity:.3}

/* ==========================================================================
   Valores explicados
   Eran cinco palabras en una fila de cinco columnas: entraban, pero no decían
   nada. Con una frase debajo, cinco columnas dejan un renglón de tres palabras
   por línea. Pasan a dos columnas y cada valor se lee como una idea.
   ========================================================================== */
.valores-cab{margin-bottom:clamp(24px,3vw,34px);max-width:62ch}
.valores-cab h3{
  font-family:var(--display);font-weight:700;font-variation-settings:'wdth' 106;
  font-size:clamp(1.25rem,2.2vw,1.7rem);margin-top:12px;letter-spacing:-.018em;
}
.valores-cab p{margin-top:10px;font-size:.95rem;line-height:1.62}
.light.proposito .valores-cab h3{color:var(--ink-tx)}
.light.proposito .valores-cab p{color:var(--ink-mut)}

.valores ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
.valores li{
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  gap:2px clamp(12px,1.4vw,18px);
  padding:clamp(18px,2vw,24px);border-radius:var(--r-m);
  align-content:start;
}
.valores li .n{grid-row:1 / span 2;font:500 .66rem/1.5 var(--mono);letter-spacing:.1em}
.valores li b{
  font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.28;
  font-variation-settings:'wdth' 104;letter-spacing:-.01em;
}
.valores li p{margin-top:6px;font-size:.88rem;line-height:1.6;color:var(--ink-mut)}
.light.proposito .valores li p{color:var(--ink-mut)}

@media(max-width:760px){
  .valores ul{grid-template-columns:1fr}
}

/* ==========================================================================
   De quién es el camión (flota.php, bloque del medio)
   Va oscuro entre el acordeón claro y el cierre: arma el ritmo y a la vez es
   el argumento que separa a Transred de un intermediario que subcontrata.
   ========================================================================== */
.fp{position:relative;background:var(--navy);color:var(--tx-soft)}
.fp::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.fp .sec-head h2{color:var(--tx)}
.fp .sec-head p{color:var(--tx-soft)}

.fp-grid{
  list-style:none;margin:clamp(28px,3.5vw,42px) 0 0;padding:0;
  /* Columnas fijas y no auto-fit: con cuatro puntos, auto-fit abria una quinta
     pista vacia en pantalla ancha y el bloque quedaba descentrado. */
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}
@media(max-width:1000px){ .fp-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.fp-item{
  padding:clamp(20px,2.4vw,28px) clamp(18px,2vw,26px);
  border-left:1px solid var(--line);
}
.fp-item:first-child{border-left:0;padding-left:0}
@media(max-width:1000px){
  .fp-item:nth-child(odd){border-left:0;padding-left:0}
  .fp-item:nth-child(n+3){border-top:1px solid var(--line);margin-top:6px;padding-top:22px}
}
.fp-n{
  display:block;font:500 .64rem/1 var(--mono);letter-spacing:.14em;
  color:var(--blue-300);margin-bottom:14px;
}
.fp-item h3{
  font-family:var(--display);font-weight:700;font-variation-settings:'wdth' 106;
  font-size:1.02rem;line-height:1.26;color:var(--tx);letter-spacing:-.012em;
}
.fp-item p{margin-top:9px;font-size:.89rem;line-height:1.62;color:var(--tx-soft)}

@media(max-width:760px){
  .fp-item{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-right:0}
  .fp-item:first-child{border-top:0;padding-top:0}
}

/* ==========================================================================
   Preguntas frecuentes (contacto.php)
   Mismo mecanismo que el acordeón de flota: <details> nativo con la altura
   interpolada, así abre sin tirón y funciona sin JavaScript.
   ========================================================================== */
.faq-lista{border-top:1px solid var(--paper-line)}
.faq-item{
  border-bottom:1px solid var(--paper-line);
  interpolate-size:allow-keywords;
}
.faq-item summary{
  display:flex;align-items:center;gap:clamp(12px,1.6vw,20px);
  padding:clamp(16px,2vw,22px) 0;cursor:pointer;list-style:none;
  transition:padding-left .3s var(--ease);
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{padding-left:8px}
.faq-item summary:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:4px}
.faq-n{font:500 .64rem/1 var(--mono);letter-spacing:.12em;color:var(--blue);flex:0 0 auto}
.faq-p{
  flex:1 1 auto;font-family:var(--display);font-weight:650;
  font-size:clamp(.98rem,1.5vw,1.12rem);line-height:1.3;
  color:var(--ink-tx);letter-spacing:-.012em;
}
/* El más que gira a menos, igual que en flota */
.faq-mas{
  position:relative;width:26px;height:26px;border-radius:50%;flex:0 0 auto;
  border:1.5px solid var(--paper-line);
  transition:background-color .3s var(--ease),border-color .3s var(--ease);
}
.faq-mas::before,.faq-mas::after{
  content:'';position:absolute;left:50%;top:50%;background:var(--ink-mut);
  transform:translate(-50%,-50%);transition:transform .3s var(--ease),background-color .3s;
}
.faq-mas::before{width:10px;height:1.5px}
.faq-mas::after{width:1.5px;height:10px}
.faq-item[open] .faq-mas{background:var(--blue);border-color:var(--blue)}
.faq-item[open] .faq-mas::before{background:#fff}
.faq-item[open] .faq-mas::after{transform:translate(-50%,-50%) rotate(90deg);background:#fff}

.faq-item::details-content{
  block-size:0;overflow:clip;
  transition:block-size .4s var(--ease),content-visibility .4s allow-discrete;
}
.faq-item[open]::details-content{block-size:auto}
.faq-r{padding:0 0 clamp(18px,2.2vw,26px) calc(clamp(12px,1.6vw,20px) + 2.2rem)}
.faq-r p{color:var(--ink-mut);font-size:.94rem;line-height:1.65;max-width:62ch}

@media(max-width:560px){
  .faq-r{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  .faq-item::details-content{transition:none}
}

/* ==========================================================================
   El recorrido de una carga (cobertura.php)
   La página decía DÓNDE está Transred pero no QUÉ pasa con la carga. Cuatro
   pasos sobre la ruta: la marca vial los une y cada uno lleva su punto, igual
   que la línea de tiempo de Nosotros.
   ========================================================================== */
.rec-pasos{
  list-style:none;margin:clamp(30px,4vw,46px) 0 0;padding:0;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;
}
.rec-paso{position:relative;padding:30px clamp(16px,2vw,26px) 0 0}
/* La ruta que une los pasos */
.rec-paso::before{
  content:'';position:absolute;left:0;right:0;top:7px;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.rec-paso:last-child::before{background:none}
.rec-marca{
  position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;
  background:var(--paper);border:2.5px solid var(--blue);
}
.rec-n{
  display:block;font:500 .62rem/1 var(--mono);letter-spacing:.14em;
  color:var(--blue);margin-bottom:10px;
}
.rec-paso h3{
  font-family:var(--display);font-weight:700;font-variation-settings:'wdth' 106;
  font-size:1.05rem;line-height:1.25;color:var(--ink-tx);letter-spacing:-.014em;
}
.rec-paso p{margin-top:8px;font-size:.89rem;line-height:1.62;color:var(--ink-mut);padding-right:6px}
.rec-pie{
  margin-top:clamp(26px,3vw,38px);padding-top:18px;
  border-top:1px solid var(--paper-line);
  font-size:.9rem;color:var(--ink-mut);max-width:70ch;
}

@media(max-width:900px){
  .rec-pasos{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(14px,2vw,22px)}
  .rec-paso:nth-child(n+3){margin-top:26px}
  .rec-paso:nth-child(2)::before,.rec-paso:nth-child(4)::before{background:none}
}
@media(max-width:560px){
  .rec-pasos{grid-template-columns:1fr}
  .rec-paso{padding-right:0;padding-left:26px;padding-top:0;margin-top:0}
  .rec-paso:nth-child(n+2){margin-top:24px}
  /* En una columna la ruta va vertical, por el costado. */
  .rec-paso::before{
    left:6px;right:auto;top:0;bottom:-24px;width:2px;height:auto;
    background:repeating-linear-gradient(180deg,
      var(--blue) 0 var(--vial-trazo-fino),
      transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  }
  .rec-paso:last-child::before{background:none}
  .rec-marca{top:2px}
}

/* Al pasar la sección a clara, las cifras (que eran blancas) quedaron en 1.07
   de contraste. No llevan clase propia, así que la regla va por descendencia:
   se fija el color heredado de toda la sección y se recuperan los acentos. */
.pag-cobertura #cobertura{color:var(--ink-mut)}
.pag-cobertura #cobertura *{border-color:var(--paper-line)}
.pag-cobertura #cobertura b,
.pag-cobertura #cobertura strong,
.pag-cobertura #cobertura h1,
.pag-cobertura #cobertura h2,
.pag-cobertura #cobertura h3,
.pag-cobertura #cobertura h4{color:var(--ink-tx)}
.pag-cobertura #cobertura .eyebrow,
.pag-cobertura #cobertura a{color:var(--blue)}

/* Las leyendas de las cifras (.cob-cifra span) estaban pensadas para el fondo
   oscuro original. Se nombran explícitamente porque la regla por descendencia
   no les gana: tienen selector propio. */
.pag-cobertura #cobertura .cob-cifra b{color:var(--ink-tx)}
.pag-cobertura #cobertura .cob-cifra span{color:var(--ink-mut)}

/* ==========================================================================
   El asistente, más grande y con más aire (selector.php)
   En su página el asistente es LA pieza, no una invitación: se le da el ancho
   completo, más aire interno y opciones de mayor tamaño, para que se lea como
   una herramienta y no como un formulario apretado.
   ========================================================================== */
.pag-selector .wiz{
  border-radius:var(--r-l);
  box-shadow:0 50px 110px -60px rgba(0,0,0,.9);
}
.pag-selector .wiz-body{padding:clamp(30px,4vw,54px)}
.pag-selector .step h2{font-size:clamp(1.5rem,2.9vw,2.15rem)}
.pag-selector .wiz-lado{padding-block:clamp(28px,3.4vw,40px)}
.pag-selector .wiz .btn-ghost{border-color:var(--line-2);color:var(--tx)}
.pag-selector .wiz .btn-ghost:hover{border-color:var(--tx);background:rgba(255,255,255,.06)}
.pag-selector #step1 > .hint a,
.pag-selector #wres a.btn-ghost[href*="#flota"]{
  display:inline-flex;align-items:center;gap:5px;min-height:44px;
  color:var(--blue-300);font-weight:750;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:4px;white-space:nowrap;
}
.pag-selector #step1 > .hint a:hover,
.pag-selector #wres a.btn-ghost[href*="#flota"]:hover{
  color:var(--tx);text-decoration-thickness:2px
}
.pag-selector #step1 > .hint a:focus-visible,
.pag-selector #wres a.btn-ghost[href*="#flota"]:focus-visible{
  color:var(--tx);outline:2px solid var(--blue-300);outline-offset:2px;
  text-decoration-thickness:2px
}
.pag-selector .result.sin-foto .result-grid{grid-template-columns:1fr}
.pag-selector #operation-title,
.pag-selector #selector-preview{scroll-margin-top:104px}
.pag-selector .wiz .campo-sel select.fld option{
  color:var(--ink-tx);background-color:#fff
}
.pag-selector .wiz .campo-sel select.fld option:checked{
  color:var(--ink-tx);background-color:var(--blue-100)
}
.pag-selector .wiz .campo-sel select.fld option:hover,
.pag-selector .wiz .campo-sel select.fld option:focus{
  color:var(--ink-tx);background-color:#B9E2F6
}
.pag-selector .wiz .campo-sel select.fld option:disabled{
  color:#687786;background-color:#E9EEF2
}
.pag-contacto #contacto .campo-sel select.fld option{
  color:var(--ink-tx);background-color:#fff
}
.pag-contacto #contacto .campo-sel select.fld option:checked{
  color:var(--ink-tx);background-color:var(--blue-100)
}
.pag-contacto #contacto .campo-sel select.fld option:hover,
.pag-contacto #contacto .campo-sel select.fld option:focus{
  color:var(--ink-tx);background-color:#B9E2F6
}
.pag-contacto #contacto .campo-sel select.fld option:disabled{
  color:#687786;background-color:#E9EEF2
}

/* Las opciones: más cuerpo, y la ruta de la casa al pasar por encima. */
.pag-selector .opt{
  padding:clamp(20px,2.3vw,28px);
  border-radius:var(--r-m);
  position:relative;overflow:hidden;
  transition:transform .3s var(--ease),border-color .3s,background-color .3s;
}
.pag-selector .opt::after{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:0;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
  transition:opacity .3s var(--ease);
}
.pag-selector .opt:hover{transform:translateY(-3px)}
.pag-selector .opt:hover::after,
.pag-selector .opt:focus-visible::after{opacity:.9}
.pag-selector .opt.is-selected{
  border-color:var(--blue-300);background:rgba(46,155,224,.14);
  box-shadow:inset 0 0 0 1px rgba(46,155,224,.18);
}

/* ==========================================================================
   "La flota" en azul (selector.php)
   Cerraba la página en claro, igual que el asistente: dos bloques del mismo
   tono seguidos y la tira quedaba como un apéndice. En azul es el cierre de
   la página y la tira gana contraste contra las fotos.
   ========================================================================== */
.cfg{position:relative;background:var(--navy)}
.cfg::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
.cfg .sec-head h2{color:var(--tx)}
.cfg .sec-head p{color:var(--tx-soft)}
.cfg .sec-head .eyebrow{color:var(--blue-300)}
.cfg-item a{background:var(--surface);border-color:var(--line);color:var(--tx)}
.cfg-item a:hover{border-color:var(--blue-300);box-shadow:0 26px 46px -30px rgba(0,0,0,.9)}
.cfg-foto{background:var(--navy-2)}
.cfg-n{color:var(--blue-300)}
.cfg-nombre{color:var(--tx)}
.cfg-cat{color:var(--tx-soft)}
.cfg-wrap::after{background:linear-gradient(90deg,transparent,var(--navy))}

/* ==========================================================================
   Propósito y Valores, un solo bloque
   Eran dos cosas separadas por una línea: arriba Visión y Misión, abajo una
   lista con su propio título. Pero son lo mismo dicho en dos escalas: a qué
   aspira la empresa, y cómo se nota eso en la operación. Se leen de corrido.

   Visión y Misión quedan más grandes porque son la declaración; los cinco
   valores, del tamaño del resto, porque son la consecuencia.
   ========================================================================== */
.proposito .valores{margin-top:14px;padding-top:0;border-top:0}
.proposito .valores-cab{display:none}

/* Las dos piezas grandes y las cinco chicas comparten rejilla y tratamiento:
   se ven como siete piezas de un mismo sistema, no como dos bloques. */
.proposito .prop-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(14px,2vw,22px);
}
.proposito .prop-card{
  padding:clamp(24px,2.8vw,34px);border-radius:var(--r-m);
}
.proposito .prop-card p{font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.45}
.proposito .prop-eti{
  font:500 .66rem/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
}
.proposito .valores ul{margin-top:clamp(14px,2vw,22px)}

@media(max-width:760px){
  .proposito .prop-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   Las cifras de Cobertura, centradas y alineadas con la página
   Iban pegadas al borde izquierdo de cada celda, con la primera al ras: en una
   franja de tres, eso deja el conjunto descolgado del resto de la página y con
   un vacío grande a la derecha de cada número.
   Centradas dentro de su celda, la franja se lee como una unidad y coincide
   con el eje del contenido de arriba y de abajo.
   ========================================================================== */
.pag-cobertura .cob-cifras{
  border-bottom:1px solid var(--paper-line);
  margin-inline:auto;max-width:var(--wrap);
}
.pag-cobertura .cob-cifra{
  text-align:center;
  padding-block:clamp(30px,3.6vw,44px);
  /* El separador vertical va con el mismo tono que el resto de las líneas de
     la sección clara, no con el de fondo oscuro. */
  border-right-color:var(--paper-line);
}
.pag-cobertura .cob-cifra b{color:var(--ink-tx)}
.pag-cobertura .cob-cifra span{color:var(--ink-mut);margin-top:12px}
/* La primera ya no arranca al ras: si está centrada, tiene que estarlo entera. */
.pag-cobertura .cob-cifra:first-child{padding-left:clamp(20px,2.6vw,34px)}

@media(max-width:700px){
  .pag-cobertura .cob-cifras{grid-template-columns:1fr}
  .pag-cobertura .cob-cifra{border-right:0;border-bottom:1px solid var(--paper-line)}
  .pag-cobertura .cob-cifra:last-child{border-bottom:0}
}

/* ==========================================================================
   Contacto: el formulario en claro, "Antes de escribirnos" en azul
   Estaban al revés. El formulario es lo que la página viene a hacer, y sobre
   claro se lee mejor un bloque de siete campos; el bloque de antes es el
   contexto, y en azul separa la portada del formulario.
   Resultado: oscuro (portada) / azul / blanco (formulario) / blanco (FAQ).
   ========================================================================== */
.sec.light#contacto .form-card{
  background:var(--pure);border:1px solid var(--paper-line);
  box-shadow:0 26px 60px -44px rgba(11,32,51,.4);
}
.sec.light#contacto h2,
.sec.light#contacto h3{color:var(--ink-tx)}
.sec.light#contacto p,
.sec.light#contacto li{color:var(--ink-mut)}
.sec.light#contacto .eyebrow{color:var(--blue)}
/* Los campos, sobre claro: el rótulo flotante y el borde cambian de tono. */
.sec.light#contacto .fld{
  background:var(--paper);border-color:var(--paper-line);color:var(--ink-tx);
}
.sec.light#contacto .campo label{color:var(--ink-mut)}
.sec.light#contacto .campo .fld:not(:placeholder-shown) + label,
.sec.light#contacto .campo .fld:focus + label{color:var(--blue)}
.sec.light#contacto .consent{color:var(--ink-mut)}
.sec.light#contacto .aside-row{background:var(--pure);border-color:var(--paper-line)}
.sec.light#contacto .aside-row b{color:var(--ink-tx)}

/* El bloque de antes, ahora azul */
.sec.previo{position:relative;background:var(--navy);color:var(--tx-soft)}
.sec.previo::before{
  content:'';position:absolute;left:0;right:0;top:0;height:2px;opacity:.5;
  background:repeating-linear-gradient(90deg,
    var(--blue-300) 0 var(--vial-trazo-fino),
    transparent var(--vial-trazo-fino) var(--vial-paso-fino));
}
/* Solo el texto que va DIRECTO sobre el azul. Las tarjetas de la derecha son
   blancas, y con la regla general sus titulos quedaban en blanco sobre blanco. */
.sec.previo .previo-tx h2,
.sec.previo .previo-tx h3{color:var(--tx)}
.sec.previo .previo-tx p{color:var(--tx-soft)}
/* Dentro de las tarjetas manda el esquema claro. */
.sec.previo .previo-lista h3{color:var(--ink-tx)}
.sec.previo .previo-lista p{color:var(--ink-mut)}
.sec.previo .previo-lista li{background:var(--pure)}
.sec.previo .previo-lista{background:var(--paper-line);border-color:var(--paper-line)}
.sec.previo .eyebrow{color:var(--blue-300)}
.sec.previo b,.sec.previo strong{color:var(--tx)}

/* Los datos de contacto del lateral venían de cuando la sección era oscura:
   al pasarla a claro quedaron en 2.64 de contraste. Van por descendencia
   porque varios no tienen clase propia. */
/* Sin el `*`: pintaba tambien el texto del boton de WhatsApp, que quedaba
   verde sobre verde e ilegible. Los botones traen su propio color. */
.sec.light#contacto .aside,
.sec.light#contacto .aside p,
.sec.light#contacto .aside span:not(.ar),
.sec.light#contacto .aside li,
.sec.light#contacto .aside small{color:var(--ink-mut)}
.sec.light#contacto .aside .btn,
.sec.light#contacto .aside .btn *{color:#fff}
.sec.light#contacto .aside b,
.sec.light#contacto .aside strong,
.sec.light#contacto .aside h3{color:var(--ink-tx)}
.sec.light#contacto .aside a{color:var(--blue)}
.sec.light#contacto .aside-row{border-color:var(--paper-line)}
.sec.light#contacto .nota,
.sec.light#contacto .hint{color:var(--ink-mut)}

/* Los enlaces de apoyo dentro del formulario, sobre claro. */
.sec.light#contacto .fi-link,
.sec.light#contacto a:not(.btn){color:var(--blue)}
.sec.light#contacto .fi-link:hover{color:var(--ink-tx)}

/* El enlace al selector va sobre el azul: el tono claro de marca no llega al
   mínimo, se usa el más claro de la escala. */
.sec.previo .previo-link{color:var(--blue-300)}
.sec.previo .previo-link:hover{color:var(--tx)}

/* El contenedor del bloque lateral traia `border:1px solid var(--line)`, que es
   blanco translucido: pensado para fondo oscuro. Sobre claro se veia como un
   contorno sucio alrededor de la tarjeta. Antes solo se habian corregido las
   filas de adentro, no la caja. */
.sec.light#contacto .aside{border-color:var(--paper-line);background:var(--pure)}
.sec.light#contacto .aside-row{background:var(--pure);border-color:var(--paper-line)}
.sec.light#contacto .aside-row .ic{
  background:rgba(0,118,185,.09);border-color:rgba(0,118,185,.22);color:var(--blue);
}
.sec.light#contacto .aside-row span{color:var(--ink-mut)}
.sec.light#contacto .aside-row b a{
  color:inherit;text-decoration:none;
}
.sec.light#contacto .aside-row b a:hover,
.sec.light#contacto .aside-row b a:focus-visible{
  color:var(--blue);text-decoration:underline;text-underline-offset:3px;
}
.pag-contacto #contacto .aside .btn-wa{flex-direction:column;gap:4px}
.pag-contacto #contacto .aside-wa-label{display:inline-flex;align-items:center;gap:9px;color:#fff!important}
.pag-contacto #contacto .aside-whatsapp-numero{color:#fff!important;font-size:.8rem;line-height:1.25}

/* Pulido final de Contacto: ritmo parejo sin alterar la estructura. */
.pag-contacto #contacto .form-card{padding:clamp(24px,3.2vw,36px)}
.pag-contacto #contacto .form-grid{gap:10px;margin-top:22px}
.pag-contacto #contacto .row2{gap:10px}
.pag-contacto #contacto .campo .fld,
.pag-contacto #contacto .campo-sel .fld{min-height:54px}
.pag-contacto #contacto .campo-area .fld{min-height:112px}
.pag-contacto #contacto .aside-row{padding:16px 20px}
.pag-contacto #contacto .aside .btn-wa{margin:14px 20px 20px}
.pag-contacto .previo-in{gap:clamp(24px,4vw,56px)}
.pag-contacto .previo-tx h2{margin-bottom:11px}
.pag-contacto .previo-link{margin-top:17px}
.pag-contacto .previo-lista li{padding:clamp(16px,1.8vw,22px) clamp(18px,2vw,24px)}
.pag-contacto .previo-lista p{margin-top:5px;line-height:1.5}
.pag-contacto .faq-item summary{padding-block:clamp(14px,1.7vw,19px)}
.pag-contacto .faq-mas{width:24px;height:24px}
.pag-contacto .faq-r{padding-bottom:clamp(16px,2vw,22px)}

@media(min-width:861px){
  .pag-contacto #contacto .cta-grid{align-items:stretch}
  .pag-contacto #contacto .aside{height:100%}
}

@media(max-width:680px){
  .pag-contacto #contacto .form-card{padding:24px 18px}
  .pag-contacto #contacto .row2{grid-template-columns:1fr}
  .pag-contacto #contacto .aside-row{padding:15px 18px}
  .pag-contacto #contacto .aside .btn-wa{margin-inline:18px}
  .pag-contacto .previo-in{gap:24px}
  .pag-contacto .previo-lista li{padding:17px 18px}
}

/* ============================================================ COORDINACION
   Cómo se coordina una operación. Sección clara: es el "qué hacemos", y va
   antes de la flota, que pasó a ser respaldo. */
.coord-lista{
  list-style:none;margin:38px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:var(--paper-line);
  border:1px solid var(--paper-line);border-radius:18px;overflow:hidden;
}
.coord-paso{
  background:var(--pure);padding:clamp(22px,2.4vw,30px);
  display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;
}
.coord-n{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;
  color:var(--blue);padding-top:4px;
}
.coord-tx h3{
  font-family:var(--display);font-weight:650;font-size:1.05rem;
  color:var(--ink-tx);line-height:1.25;margin:0;
}
.coord-tx p{margin:8px 0 0;color:var(--ink-mut);font-size:.92rem;line-height:1.65}

/* ============================================================== ECOSISTEMA
   Sección azul. Cada tarjeta declara si la capacidad está disponible o si hoy
   está comprometida: las comprometidas NO llevan CTA, a propósito. */
.eco-grid{
  list-style:none;margin:38px 0 0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;
}
.eco-item{
  background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:16px;padding:clamp(20px,2.2vw,26px);
}
.eco-item.eco-aplicado{background:transparent;border-style:dashed}
.eco-marca{
  display:inline-block;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;
  padding:5px 9px;border-radius:999px;margin-bottom:14px;
}
.eco-marca.es-abierto{background:rgba(124,196,240,.16);color:var(--blue-300)}
.eco-marca.es-aplicado{background:rgba(255,255,255,.07);color:var(--mut)}
.eco-item h3{
  font-family:var(--display);font-weight:650;font-size:1.08rem;
  color:var(--tx);margin:0;line-height:1.25;
}
.eco-item p{margin:9px 0 0;color:var(--tx-soft);font-size:.92rem;line-height:1.65}
.eco-nota{
  margin:24px 0 0;color:var(--mut);font-size:.85rem;line-height:1.6;
  max-width:62ch;
}

/* =================================================================== RADAR
   Suscripción al boletín. Separada del formulario comercial: son dos listas
   y dos consentimientos distintos. */
.radar-in{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px);
  align-items:center;
}
.radar-tx h2{margin:10px 0 0;color:var(--tx)}
.radar-tx p{margin:12px 0 0;color:var(--tx-soft);max-width:46ch}
.radar-frec{
  display:inline-block;margin-top:16px;font-family:var(--mono);
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-300);
}
.radar-fila{display:flex;gap:10px;flex-wrap:wrap}
.radar-fila input[type=email]{
  flex:1 1 220px;min-width:0;
  background:rgba(255,255,255,.06);border:1px solid var(--line-2);
  border-radius:12px;padding:15px 17px;color:var(--tx);font-size:.95rem;
  font-family:inherit;
}
.radar-fila input[type=email]::placeholder{color:var(--mut)}
.radar-fila input[type=email]:focus-visible{
  outline:2px solid var(--blue-300);outline-offset:2px;
  border-color:transparent;background:rgba(255,255,255,.09);
}
.radar-ok{
  display:flex;gap:10px;align-items:flex-start;margin-top:16px;
  color:var(--tx-soft);font-size:.83rem;line-height:1.55;cursor:pointer;
}
.radar-ok input{margin-top:3px;flex:0 0 auto;accent-color:var(--blue-400)}
.radar-msg{
  margin:14px 0 0;font-size:.9rem;padding:12px 15px;border-radius:11px;
  background:rgba(255,255,255,.07);color:var(--tx);
}
.radar-msg.mal{background:rgba(214,86,86,.16);color:#FFC9C9}

/* La portada usa Radar como una pieza editorial: concentra la suscripción en
   una sola franja, sin alterar el formulario ni el endpoint que ya existían. */
.radar--editorial{padding-block:clamp(22px,2.8vw,32px)}
.radar--editorial .radar-in{
  grid-template-columns:minmax(0,1fr) minmax(390px,1.03fr);
  gap:clamp(24px,3vw,42px);padding:clamp(20px,2.2vw,27px);
  border:1px solid rgba(124,196,240,.24);border-radius:18px;
  background:linear-gradient(112deg,rgba(14,51,76,.94),rgba(8,33,53,.98));
}
.radar--editorial .radar-tx{position:relative;padding-left:56px}
.radar--editorial .radar-mark{
  position:absolute;top:0;left:0;display:grid;place-items:center;width:40px;height:40px;
  border:1px solid rgba(124,196,240,.42);border-radius:12px;color:var(--blue-300);
  background:rgba(0,159,227,.08);
}
.radar--editorial .radar-mark svg{width:21px;height:21px}
.radar--editorial .radar-tx .eyebrow{color:var(--blue-300)}
.radar--editorial .radar-tx h2{font-family:var(--display);font-size:clamp(1.5rem,2.2vw,1.95rem);line-height:1.12}
.radar--editorial .radar-tx p{margin-top:10px;font-size:.96rem;line-height:1.55}
.radar--editorial .radar-frec{margin-top:11px}
.radar--editorial .radar-form{align-self:center}
.radar--editorial .radar-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}
.radar--editorial .radar-fila input[type=email]{padding:13px 15px}
.radar--editorial .radar-fila .btn{min-width:0;padding-inline:19px;font-size:.9rem;white-space:nowrap}
.radar--editorial .radar-ok{margin-top:10px;font-size:.9rem;line-height:1.5;color:var(--tx)}
.radar--editorial .radar-ok input{margin-top:4px}

/* Acceso secundario al selector, bajo los dos botones del hero. */
.hero-sel{
  display:inline-block;margin-top:18px;color:var(--blue-300);
  font-size:.9rem;text-decoration:none;
  border-bottom:1px solid rgba(124,196,240,.4);padding-bottom:2px;
}
.hero-sel:hover{color:var(--tx);border-bottom-color:currentColor}

@media(max-width:820px){
  .radar-in{grid-template-columns:1fr}
  .radar--editorial .radar-in{grid-template-columns:1fr}
  .radar--editorial .radar-fila{grid-template-columns:minmax(0,1fr) auto}
  .coord-paso{padding:20px}
}
@media(max-width:520px){
  .radar--editorial{padding-block:22px}
  .radar--editorial .radar-in{gap:22px;padding:20px 18px;border-radius:15px}
  .radar--editorial .radar-tx{padding-left:0;padding-top:52px}
  .radar--editorial .radar-mark{top:0}
  .radar--editorial .radar-fila{display:grid;grid-template-columns:1fr}
  .radar--editorial .radar-fila .btn{width:100%;min-height:48px;justify-content:center}
}

/* El rótulo flotante depende de :placeholder-shown, que type=date y <select>
   no tienen: sin esto el rótulo queda encima del control nativo. */
.campo-fecha label,
.campo-sel label{
  top:9px;font-size:.7rem;letter-spacing:.06em;color:var(--ink-mut);
}
.campo-sel select.fld{
  appearance:none;padding-top:26px;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-mut) 50%),
                   linear-gradient(135deg,var(--ink-mut) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 4px),calc(100% - 15px) calc(50% + 4px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.campo-fecha input.fld{padding-top:26px}
.contacto-desde-sel{
  margin:0 0 18px;padding:12px 15px;border-radius:11px;
  background:var(--blue-100);color:#08334F;font-size:.87rem;line-height:1.55;
}

/* ================================================= VIDEO INSTITUCIONAL */
.nosotros-video{
  --sec:clamp(80px,6.5vw,96px);background:var(--ink);color:var(--tx);
  border-top:1px solid rgba(111,199,255,.12);border-bottom:1px solid rgba(111,199,255,.12);
}
.nosotros-video-in{
  display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:clamp(34px,5vw,72px);
  align-items:center;
}
.nos-video-copy{max-width:27rem}
.nos-video-copy h2{margin-top:15px;color:var(--tx);font-size:clamp(2rem,3.2vw,2.85rem)}
.nos-video-copy p{margin-top:18px;color:var(--tx-soft);font-size:1rem;line-height:1.7}
.nos-video-copy .eyebrow{color:var(--blue-300)}
.nos-video-player{
  position:relative;width:100%;max-width:760px;justify-self:end;aspect-ratio:16 / 9;
  overflow:hidden;border:1px solid rgba(181,224,255,.22);border-radius:var(--r-m);background:var(--blue-950);
  box-shadow:0 20px 44px rgba(0,0,0,.25);
}
.nos-video-player > img,
.nos-video-player > iframe{
  display:block;width:100%;height:100%;border:0;object-fit:cover;
}
.nos-video-player::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(4,28,48,.22),rgba(4,28,48,.04));
}
.nos-video-player.reproduciendo::after{display:none}
.nos-video-play{
  position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);
  width:68px;height:68px;border:1px solid rgba(255,255,255,.55);border-radius:50%;
  background:var(--blue);box-shadow:0 10px 28px rgba(0,0,0,.26);cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}
.nos-video-play:hover,.nos-video-play:focus-visible{transform:translate(-50%,-50%) scale(1.07);background:var(--blue-700)}
.nos-video-play:focus-visible{outline:3px solid var(--amber);outline-offset:4px}
.nos-video-play span{
  display:block;width:0;height:0;margin-left:4px;border-top:10px solid transparent;
  border-bottom:10px solid transparent;border-left:15px solid #fff;
}
.nos-video-youtube{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--blue-300);font-weight:650;font-size:.9rem;
}
.nos-video-youtube::after{content:'↗';font-size:1rem;line-height:1}
.nos-video-youtube:hover{text-decoration:underline}
@media(max-width:680px){
  .nosotros-video{--sec:clamp(56px,15vw,64px)}
  .nosotros-video-in{grid-template-columns:1fr;gap:28px}
  .nos-video-copy{max-width:34rem}
  .nos-video-copy h2{font-size:clamp(1.9rem,9vw,2.35rem)}
  .nos-video-copy p{font-size:.96rem;line-height:1.65}
  .nos-video-player{border-radius:14px}
  .nos-video-play{width:60px;height:60px}
}
@media(prefers-reduced-motion:reduce){
  .nos-video-play{transition:none}
}

/* ==================================================== CASOS DE ÉXITO */
.casos-exito{--sec:clamp(68px,7vw,100px)}
.casos-exito-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;
  gap:clamp(18px,2vw,24px);margin-top:clamp(30px,3.5vw,46px);align-items:stretch;
}
.caso-exito{
  display:flex;flex-direction:column;position:relative;min-height:0;height:100%;
  background:var(--pure);border:1px solid var(--paper-line);border-radius:var(--r-m);
  box-shadow:0 12px 28px rgba(8,34,55,.045);overflow:hidden;
}
.caso-exito::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--blue)}
.caso-exito-media{display:block;flex:0 0 auto;aspect-ratio:16/8.5;margin:0;min-height:0;overflow:hidden;background:var(--ink)}
.caso-exito-media picture,.caso-exito-media img{display:block;width:100%;height:100%}
.caso-exito-media img{object-fit:cover;object-position:50% 50%}
.caso-exito:first-child .caso-exito-media img{object-fit:cover;object-position:68% 52%}
.caso-exito-media--pendiente{display:grid;place-items:center;background:#0a1823;color:rgba(255,255,255,.72)}
.caso-exito-media--pendiente span{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.caso-exito-tx{display:flex;flex:1;flex-direction:column;padding:clamp(20px,2.2vw,28px);min-width:0}
.caso-exito-etiqueta{font-family:var(--display);font-size:clamp(.95rem,1.35vw,1.12rem);font-weight:650;letter-spacing:-.01em;line-height:1.3;color:var(--blue)}
.caso-exito h3{margin-top:12px;padding-top:12px;border-top:1px solid var(--paper-line);font-size:clamp(1.18rem,1.65vw,1.42rem);line-height:1.18;color:var(--ink-tx)}
.caso-exito p{margin-top:12px;color:var(--ink-mut);font-size:clamp(.92rem,1.08vw,1rem);line-height:1.6}
@media(max-width:680px){
  .casos-exito{--sec:clamp(54px,14vw,68px)}
  .casos-exito-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .caso-exito-media{aspect-ratio:16/8.5;background:#dce8f1}
  .caso-exito-tx{padding:22px}
  .caso-exito h3{margin-top:14px;padding-top:14px}
}

/* ==================================== INDUSTRIAS Y CLIENTES (OPTATIVO) */
/* El módulo no emite HTML hasta que el JSON esté autorizado y publicado. */
.indcli-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.indcli-item{padding:22px;border:1px solid var(--paper-line);border-radius:var(--r-m);background:var(--paper-2)}
.indcli-item h3{font-size:1.05rem;color:var(--ink-tx)}
.indcli-item p{margin-top:8px;color:var(--ink-mut);font-size:.92rem;line-height:1.6}
.indcli-media{display:grid;place-items:center;min-height:72px;margin-bottom:16px}
.indcli-media img{max-height:76px;object-fit:contain}

/* Marca de "capacidad aplicada" donde antes iba el CTA: la fila conserva su
   ancho y se lee por qué no hay botón. */
.serv-alcance{
  justify-self:end;align-self:center;
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mut);
  border:1px dashed var(--line-2);border-radius:999px;padding:6px 11px;
  white-space:nowrap;
}

/* ================================================================= LEGALES
   Página de texto corrido: medida de lectura acotada, jerarquía tranquila. */
.legal-cuerpo{max-width:68ch;margin:0 auto}
.legal-cuerpo h2{
  font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.6rem);
  color:var(--ink-tx);margin:44px 0 0;line-height:1.25;
}
.legal-cuerpo h2:first-child{margin-top:0}
.legal-cuerpo h3{
  font-family:var(--display);font-weight:650;font-size:1.02rem;
  color:var(--ink-tx);margin:26px 0 0;
}
.legal-cuerpo p{margin:12px 0 0;color:var(--ink-mut);line-height:1.75}
.legal-cuerpo ul{margin:14px 0 0;padding-left:20px;color:var(--ink-mut);line-height:1.75}
.legal-cuerpo li{margin-top:6px}
.legal-cuerpo a{color:var(--blue)}
.legal-aviso{
  max-width:68ch;margin:0 auto 40px;padding:16px 20px;border-radius:13px;
  background:#FFF7E6;border:1px solid #F0DCA8;color:#6B4E00;
  font-size:.9rem;line-height:1.65;
}
.legal-pendiente{
  padding:13px 16px;border-radius:11px;background:var(--paper);
  border:1px dashed var(--paper-line);font-size:.9rem;
}

/* Área táctil de los botones de idioma. Con 29px de alto pasaban el mínimo AA
   (24px) pero quedaban chicos para el pulgar. El área crece sin agrandar el
   texto ni mover el diseño. */
@media(pointer:coarse){
  .langs a{
    min-height:44px;display:inline-flex;align-items:center;
    padding-inline:14px;
  }
}

/* Radar en el pie: version breve, sin repetir el discurso de la portada. */
.foot-radar{
  display:grid;gap:12px;padding:26px 0;
  border-top:1px solid var(--line);
}
.foot-radar-tx{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.foot-radar-tx strong{
  font-family:var(--display);font-weight:600;font-size:1rem;color:var(--tx);
}
.foot-radar-tx span{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blue-300);
}
.foot-radar .radar-fila{max-width:520px}
.foot-radar .radar-ok{margin-top:0;font-size:.78rem;max-width:520px}
.foot-radar-link{
  display:inline-flex;align-items:center;gap:10px;padding:18px 0;
  border-top:1px solid var(--line);font-family:var(--display);font-weight:650;
  color:var(--tx);text-decoration:none;
}
.foot-radar-link span:last-child{color:var(--blue-300);transition:transform .25s var(--ease)}
.foot-radar-link:hover,.foot-radar-link:focus-visible{color:var(--blue-300)}
.foot-radar-link:hover span:last-child,.foot-radar-link:focus-visible span:last-child{transform:translateX(4px)}

/* Ajuste final de las tarjetas de acceso en Soluciones. */
.pag-soluciones .sol-g-nav a{min-height:0;padding:0 0 20px;overflow:hidden;border-radius:18px}
.pag-soluciones .sol-g-nav-media{display:block;width:100%;max-width:none;height:164px;margin:0 0 16px;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-nav i{margin:0 20px 11px}
.pag-soluciones .sol-g-nav span,.pag-soluciones .sol-g-nav small{margin-inline:20px}
.pag-soluciones .sol-g-nav small{display:block;overflow:visible;-webkit-line-clamp:unset}
@media(max-width:680px){.pag-soluciones .sol-g-nav a{padding-bottom:20px}.pag-soluciones .sol-g-nav-media{width:100%;height:180px;margin-left:0}}

/* Portada de Soluciones: conservar la altura estándar y encuadrar el montacargas hacia abajo. */
.pag-soluciones .hpag-foto img{object-position:50% 86%;transform:none}
@media(max-width:680px){
  .pag-soluciones .hpag-foto img{object-position:50% 86%}
}

/* Rubros: solo composición visual. El enlace existente mantiene toda la tarjeta activa. */
.pag-soluciones .sol-g-index .sol-cargas-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.pag-soluciones .sol-g-index .sol-carga-card,
.pag-soluciones .sol-g-index .sol-carga-card.has-media{
  position:relative;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  padding:0;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  background:#fff;
  border:1px solid #D5E3EF;
  border-radius:18px;
  transition:transform 200ms var(--ease),border-color 200ms var(--ease),box-shadow 200ms var(--ease);
}
.pag-soluciones .sol-g-index .sol-carga-card::after{
  position:absolute;
  z-index:3;
  inset:0;
  content:"";
}
.pag-soluciones .sol-g-index .sol-carga-card:hover{
  transform:translateY(-4px);
  border-color:rgba(11,107,191,.4);
  box-shadow:0 12px 28px rgba(10,27,46,.12);
}
.pag-soluciones .sol-g-index .sol-carga-card:focus-visible{
  outline:3px solid #0B6BBF;
  outline-offset:3px;
}
.pag-soluciones .sol-g-index .sol-carga-media-wrap{
  position:relative;
  display:block;
  flex:0 0 auto;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#dce6ee;
}
.pag-soluciones .sol-g-index .sol-carga-media-wrap::after{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  content:"";
  background:linear-gradient(to top,rgba(10,27,46,.45),rgba(10,27,46,0) 55%);
}
.pag-soluciones .sol-g-index .sol-carga-media{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.05);
  transition:transform 400ms ease,filter 400ms ease;
}
.pag-soluciones .sol-g-index .sol-carga-media--refrigerado{object-position:50% 52%}
.pag-soluciones .sol-g-index .sol-carga-media--secos-consumo{object-position:50% 50%}
.pag-soluciones .sol-g-index .sol-carga-media--bebidas{object-position:50% 43%}
.pag-soluciones .sol-g-index .sol-carga-media--electrodomesticos{object-position:50% 52%}
.pag-soluciones .sol-g-index .sol-carga-media--industriales{object-position:50% 48%;filter:saturate(.9) contrast(1.05) brightness(1.25)}
.pag-soluciones .sol-g-index .sol-carga-media--granos-agro{object-position:50% 56%}
.pag-soluciones .sol-g-index .sol-carga-card:hover .sol-carga-media{transform:scale(1.04)}
.pag-soluciones .sol-g-index .sol-carga-card-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:8px;
  min-width:0;
  padding:20px;
}
.pag-soluciones .sol-g-index .sol-carga-card.has-media .sol-carga-nombre,
.pag-soluciones .sol-g-index .sol-carga-card.has-media .sol-carga-desc,
.pag-soluciones .sol-g-index .sol-carga-card.has-media .sol-carga-solucion{
  margin:0;
}
.pag-soluciones .sol-g-index .sol-carga-nombre{
  color:#0A1B2E;
  font-size:19px;
  font-weight:700;
  line-height:1.25;
}
.pag-soluciones .sol-g-index .sol-carga-desc{
  color:#4A5B6E;
  font-size:15px;
  line-height:1.55;
}
.pag-soluciones .sol-g-index .sol-carga-solucion{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #E3EDF5;
  color:#0B6BBF;
  font:600 13px/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pag-soluciones .sol-g-index .sol-carga-solucion .ar{
  display:inline-block;
  transition:transform 200ms var(--ease);
}
.pag-soluciones .sol-g-index .sol-carga-card:hover .sol-carga-solucion .ar{transform:translateX(4px)}
@media(max-width:1023px){
  .pag-soluciones .sol-g-index .sol-cargas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:639px){
  .pag-soluciones .sol-g-index .sol-cargas-grid{grid-template-columns:1fr;gap:16px}
}
@media(prefers-reduced-motion:reduce){
  .pag-soluciones .sol-g-index .sol-carga-card,
  .pag-soluciones .sol-g-index .sol-carga-media,
  .pag-soluciones .sol-g-index .sol-carga-solucion .ar{transition:none}
  .pag-soluciones .sol-g-index .sol-carga-card:hover,
  .pag-soluciones .sol-g-index .sol-carga-card:hover .sol-carga-media,
  .pag-soluciones .sol-g-index .sol-carga-card:hover .sol-carga-solucion .ar{transform:none}
}

/* Soluciones: tarjetas de rubro compactas y bloque de unidades legible. */
.pag-soluciones .sol-g-index .sol-carga-media-wrap{aspect-ratio:3 / 1}
.pag-soluciones .sol-g-index .sol-carga-card-body{padding:16px;gap:7px}
.pag-soluciones .sol-g-index .sol-carga-solucion{padding-top:12px}

/* Prueba de lectura para refrigerados: la toma trasera necesita algo más de
   alto para reconocer simultáneamente la carrocería y el producto. */
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-media-wrap{aspect-ratio:2.35 / 1}
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-card-body{padding-block:12px;gap:6px}
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-solucion{padding-top:6px}

/* Orientación por rubro: tarjetas originales con sus imágenes de referencia. */
.pag-soluciones .sol-g-index .sol-cargas-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr)) auto;
  grid-auto-rows:1fr;
  gap:20px;
}
.pag-soluciones .sol-g-index .sol-carga-card,
.pag-soluciones .sol-g-index .sol-carga-card.has-media{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  overflow:hidden;
  border:1px solid #D5E3EF;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
}
.pag-soluciones .sol-g-index .sol-carga-card:hover{
  transform:translateY(-4px);
  border-color:rgba(11,107,191,.4);
  box-shadow:0 12px 28px rgba(10,27,46,.12);
}
.pag-soluciones .sol-g-index .sol-carga-media-wrap,
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-media-wrap{
  width:100%;
  aspect-ratio:4 / 3;
  border-radius:0;
  align-self:stretch;
  background:#DCE6EE;
}
.pag-soluciones .sol-g-index .sol-carga-media-wrap::after{display:none}
.pag-soluciones .sol-g-index .sol-carga-media{filter:none}
.pag-soluciones .sol-g-index .sol-carga-media--refrigerado{object-position:50% 52%}
.pag-soluciones .sol-g-index .sol-carga-media--secos-consumo{object-position:50% 50%}
.pag-soluciones .sol-g-index .sol-carga-media--bebidas{object-position:50% 43%}
.pag-soluciones .sol-g-index .sol-carga-media--electrodomesticos{object-position:50% 52%}
.pag-soluciones .sol-g-index .sol-carga-media--industriales{object-position:50% 48%;filter:none}
.pag-soluciones .sol-g-index .sol-carga-media--granos-agro{object-position:37% 68%}
.pag-soluciones .sol-g-index .sol-carga-card-body,
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-card-body{
  flex:1 1 auto;
  align-self:stretch;
  padding:18px;
  gap:8px;
}
.pag-soluciones .sol-g-index .sol-carga-nombre{font-size:clamp(1.12rem,1.4vw,1.25rem);line-height:1.23}
.pag-soluciones .sol-g-index .sol-carga-desc{font-size:14px;line-height:1.5}
.pag-soluciones .sol-g-index .sol-carga-solucion,
.pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-solucion{
  margin-top:auto;
  padding-top:14px;
  border-top:0;
}
.pag-soluciones .sol-g-index .sol-cargas-note{
  grid-column:1 / -1;
  margin:0;
  color:#60738a;
  font-size:.73rem;
  line-height:1.45;
}
.pag-soluciones .sol-g-index .sol-cargas-note strong{color:#425a72;font-weight:700}
.pag-soluciones .sol-g-index + .sol-g-units{margin-top:clamp(18px,2.4vw,28px)}
@media(max-width:1023px){
  .pag-soluciones .sol-g-index .sol-cargas-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr)) auto;
  }
}
@media(max-width:639px){
  .pag-soluciones .sol-g-index .sol-cargas-grid{
    grid-template-columns:1fr;
    grid-template-rows:repeat(6,minmax(0,1fr)) auto;
    gap:16px;
  }
  .pag-soluciones .sol-g-index .sol-carga-card-body,
  .pag-soluciones .sol-g-index .sol-carga-card:first-child .sol-carga-card-body{padding:18px}
  .pag-soluciones .sol-g-index .sol-carga-nombre{font-size:1.18rem}
  .pag-soluciones .sol-g-index .sol-carga-desc{font-size:14px;line-height:1.45}
  .pag-soluciones .sol-g-index .sol-cargas-note{margin-top:0;font-size:.7rem}
  .pag-soluciones .sol-g-index + .sol-g-units{margin-top:18px}
}

.pag-soluciones .sol-g-units{
  display:block;
  min-height:132px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  border:1px solid #D5E3EF;
  border-radius:18px;
  background:#0a1b2e;
}
.pag-soluciones .sol-g-units::after{display:none}
.pag-soluciones .sol-g-units-link{
  position:relative;
  display:flex;
  min-height:132px;
  align-items:center;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.pag-soluciones .sol-g-units-link::after{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgba(5,20,35,.92) 0%,rgba(5,20,35,.72) 43%,rgba(5,20,35,.3) 72%,rgba(5,20,35,.12) 100%);
}
.pag-soluciones .sol-g-units-media{
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  min-height:132px;
  object-fit:cover;
  object-position:55% 58%;
  filter:saturate(.88) contrast(1.04);
}
.pag-soluciones .sol-g-units-summary{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 24px;
}
.pag-soluciones .sol-g-units-summary h3{font-size:1.28rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.pag-soluciones .sol-g-units-summary .sol-g-units-copy{display:block;max-width:65ch;margin-top:5px;color:#f1f6fb;font-size:.9rem;line-height:1.45;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.pag-soluciones .sol-g-units-cta{flex:0 0 auto;color:#fff;font-family:var(--display);font-size:.87rem;font-weight:700}
.pag-soluciones .sol-g-units-link:hover .sol-g-units-cta span{display:inline-block;transform:translateX(4px)}
.pag-soluciones .sol-g-units-link:focus-visible{outline:3px solid var(--blue-300);outline-offset:-3px}
@media(max-width:680px){
  .pag-soluciones .sol-g-units{
    min-height:148px;
  }
  .pag-soluciones .sol-g-units-link{min-height:148px}
  .pag-soluciones .sol-g-units-media{
    width:100%;
    min-height:148px;
    height:100%;
    opacity:1;
    object-position:58% 58%;
  }
  .pag-soluciones .sol-g-units-link::after{background:linear-gradient(90deg,rgba(5,20,35,.92) 0%,rgba(5,20,35,.78) 58%,rgba(5,20,35,.48) 100%)}
  .pag-soluciones .sol-g-units-summary{
    display:block;
    padding:18px 17px;
  }
  .pag-soluciones .sol-g-units-summary h3{font-size:1.18rem}
  .pag-soluciones .sol-g-units-copy{margin-top:5px;font-size:.84rem;line-height:1.4}
  .pag-soluciones .sol-g-units-cta{display:block;margin-top:9px;font-size:.8rem}
}

/* Acceso a flota: composición aprobada, con fotografía como capa independiente. */
.pag-soluciones .sol-g-units{
  min-height:0;
  padding:0;
  overflow:visible;
  isolation:auto;
  border:0;
  border-radius:0;
  background:transparent;
}
.pag-soluciones .sol-g-units::after{display:none}
.pag-soluciones .fleet-card{
  position:relative;
  display:flex;
  align-items:center;
  height:156px;
  padding:0 30px;
  overflow:hidden;
  border-radius:14px;
  background:#0b2a44;
  color:#fff;
  text-decoration:none;
}
.pag-soluciones .fleet-card:focus-visible{outline:2px solid #5bb8ec;outline-offset:3px}
.pag-soluciones .fleet-card__photo{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  width:min(62%,680px);
  background:url("../img/flota-2.webp") 50% 53% / cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 45%);
  mask-image:linear-gradient(90deg,transparent 0,#000 45%);
}
.pag-soluciones .fleet-card__in{position:relative;z-index:2;max-width:42%}
.pag-soluciones .fleet-card h2{margin:0;color:#fff;font-family:var(--display);font-size:clamp(1.25rem,1.6vw,1.5rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;font-variation-settings:'wdth' 110}
.pag-soluciones .fleet-card p{margin:4px 0 11px;color:#d3e3f0;font-size:15px;line-height:1.45}
.pag-soluciones .fleet-card__cta{color:var(--blue-300);font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.01em;font-variation-settings:'wdth' 106}
.pag-soluciones .fleet-card__arrow{display:inline-block;width:auto;height:auto;margin-left:6px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:inherit;line-height:inherit;transition:transform .2s}
.pag-soluciones .fleet-card:hover .fleet-card__arrow{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.pag-soluciones .fleet-card__arrow{transition:none}}
@media(max-width:600px){
  .pag-soluciones .fleet-card{height:auto;min-height:176px;align-items:flex-end;padding:18px}
  .pag-soluciones .fleet-card__photo{
    inset:0;
    width:auto;
    background-position:50% 56%;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .pag-soluciones .fleet-card::before{
    position:absolute;
    z-index:1;
    inset:0;
    content:"";
    background:linear-gradient(180deg,rgba(11,42,68,0) 15%,rgba(11,42,68,.7) 58%,rgba(11,42,68,.95) 100%);
  }
  .pag-soluciones .fleet-card__in{max-width:none}
  .pag-soluciones .fleet-card h2{font-size:20px}
  .pag-soluciones .fleet-card p{margin-bottom:8px}
}

/* Unidades de negocio: misma composición ya aprobada en Inicio. */
.pag-soluciones .sol-g-business.home-business-compact{margin-top:24px}
.pag-soluciones .sol-g-business.home-business-compact>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.pag-soluciones .sol-g-business.home-business-compact article,
.pag-soluciones .sol-g-business.home-business-compact article.is-eco{
  display:block;
  min-height:0;
  height:auto;
  padding:0 0 28px;
  overflow:hidden;
  border:1px solid var(--paper-line);
  border-radius:var(--r-m);
  background:var(--paper-2);
}
.pag-soluciones .sol-g-business.home-business-compact .home-business-thumb{display:block;aspect-ratio:3/1;margin:0;overflow:hidden;border-radius:calc(var(--r-s) + 1px) calc(var(--r-s) + 1px) 0 0;background:var(--paper-3)}
.pag-soluciones .sol-g-business.home-business-compact .home-business-thumb img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.pag-soluciones .sol-g-business.home-business-compact .business-brand{width:min(calc(100% - 56px),340px);height:100px;margin:28px 28px 16px;border:1px solid var(--paper-line);border-radius:var(--r-s)}
.pag-soluciones .sol-g-business.home-business-compact .business-brand img{padding:12px}
.pag-soluciones .sol-g-business.home-business-compact .business-brand--eco img{padding:0;object-fit:cover}
.pag-soluciones .sol-g-business.home-business-compact h4{margin-inline:28px;font:700 1.2rem/1.2 var(--display);color:var(--ink-tx)}
.pag-soluciones .sol-g-business.home-business-compact p{margin:9px 28px 0;color:var(--ink-mut);font-size:.95rem;line-height:1.6}
@media(max-width:680px){
  .pag-soluciones .sol-g-business.home-business-compact>div{grid-template-columns:1fr}
}

/* Componente compartido: unidades de negocio en Inicio y Soluciones. */
@media(max-width:680px){
  .campo #op_cantidad.fld,.campo #f_cantidad.fld{min-height:78px;padding-top:40px}
  .campo #op_cantidad + label,.campo #f_cantidad + label{
    top:8px;right:17px;font-size:.7rem;line-height:1.25;transform:none;
  }
}
.sol-g-storage-media button[hidden]{display:none}
.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.unit-grid .unit-card,
.pag-soluciones .sol-g-business .unit-grid .unit-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  height:auto;
  padding:12px;
  overflow:hidden;
  border:1px solid var(--paper-line);
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
a.unit-card{transition:border-color .2s}
a.unit-card:hover{border-color:var(--blue)}
a.unit-card:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.unit-card__media{position:relative;aspect-ratio:1.88/1;overflow:hidden;border-radius:10px}
.unit-card__photo{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;object-fit:cover;transition:transform .5s}
a.unit-card:hover .unit-card__photo{transform:scale(1.03)}
.unit-card__logo{position:absolute;z-index:1;left:0;bottom:0;display:block;width:220px;max-width:72%;height:56px;min-height:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:0 9px 0 0;box-shadow:none;background:#fff}
.unit-card__logo img{display:block;width:100%;height:100%;max-width:none;min-height:0;margin:0;padding:0;border:0;border-radius:0;object-fit:contain}
.unit-card__logo--agro img{padding:6px 14px}
.unit-card__logo--eco{background:#0c76b9}
.unit-card__logo--eco img{object-fit:cover}
.unit-card__body{padding:12px 8px 6px}
.home-business-compact>h3,.pag-soluciones .sol-g-business .sol-home-section-label h3{font:700 clamp(1.85rem,2.45vw,2.2rem)/1.15 var(--display);color:var(--ink-tx)}
.unit-card__body h3,.pag-soluciones .sol-g-business .unit-card__body h3{margin:0;color:var(--ink-tx);font-family:var(--display);font-size:clamp(1.35rem,1.65vw,1.65rem);font-weight:700;letter-spacing:.02em;line-height:1.2;text-transform:uppercase}
.unit-card__body p,.pag-soluciones .sol-g-business .unit-card__body p{margin:7px 0 0;color:var(--ink-mut);font-size:16px;line-height:1.6}
@media(max-width:640px){.unit-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){a.unit-card,.unit-card__photo{transition:none}}
