/* ==========================================================================
   ADR Transport 2026 — Secciones de contenido
   ========================================================================== */

/* ---------------------------------------------------------------- dividido texto + foto */
.dividido { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: center; }
.dividido--invertido > :first-child { order: 2; }
@media (max-width: 960px) { .dividido { grid-template-columns: minmax(0, 1fr); } .dividido--invertido > :first-child { order: 0; } }
.dividido__texto > p { color: var(--texto-c2); font-size: 1.06rem; }
.tono-oscuro .dividido__texto > p, .tono-grafito .dividido__texto > p { color: var(--texto-o2); }

.foto-marco {
  position: relative;
  border-radius: var(--r-xl);
  overflow: clip;
  aspect-ratio: 4 / 3.3;
  background: var(--niebla);
  box-shadow: 0 50px 90px -50px rgba(17,17,20,.55);
}
.foto-marco img { position: absolute; inset: -9% 0; width: 100%; height: 118%; max-width: none; object-fit: cover; transform: translateY(var(--parallax, 0px)); }
.foto-marco--ancha { aspect-ratio: 16 / 10; }
.foto-marco__pie {
  position: absolute; left: 1rem; top: 1rem; z-index: 1;
  padding: .4em .85em; border-radius: var(--r-full);
  background: rgba(10,10,12,.72); color: #fff; font-size: var(--t-xs); font-weight: 600;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.foto-envoltorio { position: relative; }
.foto-envoltorio::before {
  content: ''; position: absolute; z-index: 0;
  right: -1.4rem; top: -1.4rem; width: 55%; height: 60%;
  border-radius: var(--r-xl);
  background: var(--perforado-oscuro), var(--rojo);
  opacity: .95;
}
.foto-envoltorio .foto-marco { z-index: 1; }
.sello {
  position: absolute; z-index: 2; left: -1.25rem; bottom: 2rem;
  display: flex; align-items: center; gap: .9rem;
  padding: 1rem 1.3rem;
  background: var(--negro); color: #fff;
  border-radius: var(--r-lg);
  box-shadow: var(--sombra);
  animation: flota 6s ease-in-out infinite;
}
.sello__num { font-family: var(--f-display); font-stretch: 125%; font-weight: 900; font-size: 2.8rem; line-height: 1; color: var(--rojo-luz); }
.sello__txt { font-size: var(--t-sm); line-height: 1.3; font-weight: 500; max-width: 9rem; }
@keyframes flota { 50% { transform: translateY(-10px); } }
@media (max-width: 600px) { .sello { left: .75rem; bottom: .75rem; } .foto-envoltorio::before { right: -.6rem; top: -.6rem; } }
@media (prefers-reduced-motion: reduce) { .sello { animation: none; } }

.puntos-clave { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; margin: var(--e-6) 0; }
@media (max-width: 560px) { .puntos-clave { grid-template-columns: minmax(0, 1fr); } }
.punto-clave { display: flex; gap: .9rem; }
.punto-clave__icono { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--rojo); color: #fff; }
.punto-clave__icono svg { width: 24px; height: 24px; }
.punto-clave h3 { font-size: 1.08rem; margin-bottom: .25rem; }
.punto-clave p { margin: 0; font-size: .95rem; color: var(--texto-c2); }
.tono-oscuro .punto-clave p, .tono-grafito .punto-clave p { color: var(--texto-o2); }

/* ---------------------------------------------------------------- cifras */
.cifras { position: relative; overflow: clip; isolation: isolate; }
.cifras::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--perforado-oscuro); -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%, #000 60%, transparent); mask-image: linear-gradient(90deg, transparent, #000 40%, #000 60%, transparent); }
.cifras__rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 900px) { .cifras__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; } }
.cifra { padding-inline: clamp(.75rem, .5rem + 1.5vw, 2rem); border-left: 1px solid rgba(255,255,255,.25); }
.cifra:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 900px) { .cifra:nth-child(odd) { border-left: 0; padding-left: 0; } }
.cifra__valor {
  display: block;
  font-family: var(--f-display); font-stretch: 125%; font-weight: 900;
  font-size: clamp(3rem, 1.8rem + 4.5vw, 6rem); line-height: .9; letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
  margin-bottom: .6rem;
}
.cifra__etiqueta { display: block; font-size: var(--t-sm); line-height: 1.45; color: #F6D9D9; max-width: 14rem; }
.tono-oscuro .cifra { border-color: var(--linea-o); }
.tono-oscuro .cifra__valor { color: #fff; }
.tono-oscuro .cifra__etiqueta { color: var(--texto-o2); }

/* ---------------------------------------------------------------- premio Carrier of the Year */
.premio { position: relative; overflow: clip; isolation: isolate; }
.premio__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
@media (max-width: 960px) { .premio__rejilla { grid-template-columns: minmax(0, 1fr); } }
.premio__insignia {
  display: inline-flex; align-items: center; gap: 1rem;
  padding: .8rem 1.2rem .8rem .8rem; margin-bottom: var(--e-6);
  border: 1px solid var(--linea-o); border-radius: var(--r-full);
  background: rgba(255,255,255,.04);
}
.premio__insignia svg { width: 46px; height: 46px; padding: 10px; border-radius: 50%; background: linear-gradient(135deg, #F5C451, #B8860B); color: #1A1204; }
.premio__insignia span { font-family: var(--f-display); font-stretch: 112%; font-weight: 700; line-height: 1.2; }
.premio__insignia small { display: block; color: var(--texto-o2); font-family: var(--f-texto); font-weight: 500; font-size: var(--t-xs); }
.premio__mega {
  display: block;
  font-family: var(--f-display); font-stretch: 112%; font-weight: 900;
  font-size: clamp(3.4rem, 1.2rem + 6.4vw, 8rem); line-height: .86; letter-spacing: -.045em;
  font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #fff 30%, rgba(255,255,255,.25));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  margin-bottom: .4rem;
}
.premio__mega-txt { font-family: var(--f-display); font-stretch: 112%; font-size: var(--t-lg); font-weight: 700; color: var(--rojo-luz); margin-bottom: var(--e-5); }
.premio p { color: var(--texto-o2); font-size: 1.06rem; }
.premio__escena { position: relative; min-height: clamp(18rem, 32vw, 30rem); }
.premio__escena::before {
  content: ''; position: absolute; left: -10%; right: -30%; bottom: 12%; height: 45%;
  background: radial-gradient(60% 50% at 50% 100%, rgba(224,20,27,.5), transparent 70%);
  filter: blur(10px);
}
/* Carretera: líneas que corren hacia la izquierda */
.premio__camino {
  position: absolute; left: 6%; right: -40%; bottom: 13%; height: 3px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.55) 0 60px, transparent 60px 120px);
  animation: camino 1.1s linear infinite;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 25%, #000 75%, transparent);
}
@keyframes camino { to { background-position: -120px 0; } }
.premio__camion {
  position: absolute; right: -14%; bottom: 10%;
  width: 110%; max-width: none;
  filter: drop-shadow(0 40px 40px rgba(0,0,0,.6));
}
html:not(.sin-js) .premio__camion { transform: translateX(55%); opacity: 0; transition: transform 1.8s var(--curva), opacity .8s; }
html:not(.sin-js) .premio__escena.es-visible .premio__camion { transform: none; opacity: 1; }
.premio__escena.es-visible .premio__camion { animation: vibra 3.2s ease-in-out 1.8s infinite; }
@keyframes vibra { 50% { translate: 0 -2px; } }
@media (prefers-reduced-motion: reduce) { .premio__camino, .premio__escena.es-visible .premio__camion { animation: none; } }
.premio__rotulo { position: absolute; left: 0; top: 0; font-size: var(--t-xs); color: var(--texto-o2); letter-spacing: .08em; text-transform: uppercase; }

/* ---------------------------------------------------------------- ruta Tijuana ⇄ San Diego */
.ruta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
@media (max-width: 960px) { .ruta { grid-template-columns: minmax(0, 1fr); } }
.ruta__mapa {
  position: relative;
  border-radius: var(--r-xl);
  background: var(--negro);
  overflow: clip;
  aspect-ratio: 4 / 3;
  isolation: isolate;
}
.ruta__mapa::before { content: ''; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 38px 38px; }
.ruta__mapa svg { width: 100%; height: 100%; }
.ruta__frontera { stroke: rgba(255,255,255,.4); stroke-width: 2; stroke-dasharray: 8 8; fill: none; }
.ruta__costa { stroke: rgba(255,255,255,.14); stroke-width: 2; fill: none; }
.ruta__linea { stroke: var(--rojo-vivo); stroke-width: 4; fill: none; stroke-linecap: round; stroke-dasharray: 620; stroke-dashoffset: 620; }
.ruta__mapa.es-visible .ruta__linea { stroke-dashoffset: 0; transition: stroke-dashoffset 2.4s var(--curva) .3s; }
.ruta__brillo { stroke: rgba(255,90,82,.35); stroke-width: 14; fill: none; stroke-linecap: round; filter: blur(6px); opacity: 0; }
.ruta__mapa.es-visible .ruta__brillo { opacity: 1; transition: opacity 1s 2s; }
.ruta__nodo { fill: var(--rojo-vivo); }
.ruta__halo { fill: rgba(224,20,27,.25); transform-box: fill-box; transform-origin: center; animation: halo 2.4s ease-out infinite; }
@keyframes halo { from { transform: scale(.6); opacity: 1; } to { transform: scale(2.4); opacity: 0; } }
.ruta__texto { fill: #fff; font-family: var(--f-display); font-stretch: 112%; font-weight: 800; font-size: 20px; }
.ruta__sub { fill: #B8B8C2; font-family: var(--f-texto); font-size: 14px; }
.ruta__pais { fill: rgba(255,255,255,.28); font-family: var(--f-display); font-stretch: 125%; font-weight: 900; font-size: 34px; letter-spacing: .05em; }
.ruta__camion { fill: #fff; }
.ruta__viajero { offset-path: path('M150 452 C 210 400, 260 330, 330 250 S 470 170, 540 140'); offset-rotate: auto; animation: viaja 6s var(--curva) infinite 2.6s; opacity: 0; }
@keyframes viaja { 0% { offset-distance: 0%; opacity: 0; } 8% { opacity: 1; } 88% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .ruta__halo, .ruta__viajero { animation: none; } .ruta__linea { stroke-dashoffset: 0; } }

.oficinas { display: grid; gap: 1rem; }
.oficina {
  display: grid; grid-template-columns: auto 1fr; gap: 1rem;
  padding: 1.4rem;
  border: 1px solid var(--linea-c); border-radius: var(--r-lg);
  background: var(--blanco);
  transition: border-color .3s, transform .4s var(--curva);
}
.oficina:hover { border-color: var(--rojo); transform: translateX(6px); }
.oficina__bandera {
  display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px;
  background: var(--negro); color: #fff;
  font-family: var(--f-display); font-stretch: 125%; font-weight: 900; font-size: .95rem;
}
.oficina h3 { font-size: 1.1rem; margin-bottom: .2rem; }
.oficina p { margin: 0 0 .5rem; color: var(--texto-c2); font-size: .96rem; }

/* ---------------------------------------------------------------- pasos */
.pasos { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; counter-reset: paso; }
.pasos::before { content: ''; position: absolute; left: 0; right: 0; top: 27px; height: 2px; background: var(--linea-o); }
.pasos::after {
  content: ''; position: absolute; left: 0; right: 0; top: 27px; height: 2px;
  background: linear-gradient(90deg, var(--rojo), var(--rojo-vivo));
  transform: scaleX(var(--avance-pasos, 0)); transform-origin: left;
  transition: transform .2s linear;
}
.paso { position: relative; z-index: 1; counter-increment: paso; }
.paso__num {
  display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 1.25rem;
  border-radius: 50%; background: var(--grafito); border: 2px solid var(--acero);
  font-family: var(--f-display); font-stretch: 125%; font-weight: 900; color: #fff;
  transition: background-color .5s, border-color .5s, transform .5s var(--curva-resorte);
}
.paso__num::before { content: counter(paso, decimal-leading-zero); }
.paso.esta-encendido .paso__num { background: var(--rojo); border-color: var(--rojo-vivo); transform: scale(1.08); }
.paso h3 { font-size: 1.15rem; margin-bottom: .4rem; }
.paso p { font-size: .95rem; color: var(--texto-o2); margin: 0; }
@media (max-width: 960px) {
  .pasos { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
  .pasos::before, .pasos::after { left: 27px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .pasos::after { transform: scaleY(var(--avance-pasos, 0)); transform-origin: top; }
  .paso { display: grid; grid-template-columns: 56px 1fr; column-gap: 1.25rem; }
  .paso__num { margin: 0; grid-row: span 2; }
}

/* ---------------------------------------------------------------- filas de servicio (hub) */
.fila-servicio { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.fila-servicio + .fila-servicio { margin-top: clamp(4rem, 3rem + 4vw, 7rem); }
.fila-servicio:nth-child(even) > :first-child { order: 2; }
@media (max-width: 960px) { .fila-servicio { grid-template-columns: minmax(0, 1fr); } .fila-servicio:nth-child(even) > :first-child { order: 0; } }
.fila-servicio__num { font-family: var(--f-display); font-stretch: 125%; font-weight: 900; font-size: 5rem; line-height: .8; color: transparent; -webkit-text-stroke: 1.5px var(--rojo); margin-bottom: var(--e-4); display: block; }
.fila-servicio h2 { font-size: var(--t-xl); }
.fila-servicio p { color: var(--texto-c2); }

/* ---------------------------------------------------------------- servicio individual */
.detalle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
@media (max-width: 1000px) { .detalle { grid-template-columns: minmax(0, 1fr); } }
.detalle__texto > p { font-size: 1.1rem; color: var(--texto-c2); }
.detalle__texto > p:first-of-type::first-letter { font-family: var(--f-display); font-stretch: 125%; font-weight: 900; float: left; font-size: 4.2em; line-height: .8; margin: .08em .12em 0 0; color: var(--rojo); }
.lateral { position: sticky; top: calc(var(--cabecera-alto) + 1.5rem); display: grid; gap: 1rem; }
.lateral__caja { padding: 1.75rem; border-radius: var(--r-xl); background: var(--negro); color: #fff; overflow: clip; position: relative; isolation: isolate; }
.lateral__caja::before { content: ''; position: absolute; inset: auto -30% -40% auto; width: 80%; height: 80%; z-index: -1; background: radial-gradient(circle, rgba(224,20,27,.45), transparent 65%); }
.lateral__caja h2, .lateral__caja h3 { font-size: 1.35rem; color: #fff; }
.lateral__caja p { color: var(--texto-o2); font-size: .95rem; }
.lateral__caja .btn { width: 100%; margin-top: .5rem; }
.lateral__tel { display: flex; align-items: center; gap: .6rem; margin-top: 1rem; color: #fff; text-decoration: none; font-family: var(--f-display); font-stretch: 112%; font-weight: 800; font-size: 1.2rem; }
.lateral__tel svg { width: 20px; color: var(--rojo-luz); }
.lateral__ideal { padding: 1.5rem; border: 1px solid var(--linea-c); border-radius: var(--r-xl); }
.lateral__ideal h3 { font-size: 1rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1rem; }

/* ---------------------------------------------------------------- misión y valores */
.mision {
  position: relative;
  font-family: var(--f-display); font-stretch: 112%; font-weight: 700;
  font-size: clamp(1.6rem, 1.1rem + 2.2vw, 3rem); line-height: 1.18; letter-spacing: -.02em;
  max-width: 62rem;
}
.mision .palabra-scroll { opacity: .22; transition: opacity .35s; }
.mision .palabra-scroll.encendida { opacity: 1; }
.mision__comilla { display: block; font-size: 6rem; line-height: .6; color: var(--rojo-vivo); height: 3rem; }

/* ---------------------------------------------------------------- blog */
.tarjeta-blog {
  display: flex; flex-direction: column;
  background: var(--blanco);
  border-radius: var(--r-xl);
  overflow: clip;
  border: 1px solid var(--linea-c);
  text-decoration: none; color: inherit;
  transition: transform .5s var(--curva), box-shadow .5s var(--curva);
  height: 100%;
}
.tarjeta-blog:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -34px rgba(17,17,20,.4); }
.tarjeta-blog__foto { aspect-ratio: 16 / 9; overflow: clip; background: var(--niebla); }
.tarjeta-blog__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva); }
.tarjeta-blog:hover .tarjeta-blog__foto img { transform: scale(1.07); }
.tarjeta-blog__cuerpo { display: flex; flex-direction: column; flex: 1; padding: 1.5rem 1.6rem 1.7rem; }
.tarjeta-blog__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-bottom: .8rem; font-size: var(--t-xs); color: var(--texto-c2); }
.tarjeta-blog h3 { font-size: 1.22rem; line-height: 1.25; margin-bottom: .6rem; }
.tarjeta-blog p { color: var(--texto-c2); font-size: .96rem; }
.tarjeta-blog .enlace-flecha { margin-top: auto; }

.blog-destacado { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); border-radius: var(--r-xl); overflow: clip; background: var(--negro); color: #fff; text-decoration: none; margin-bottom: clamp(2rem, 1.5rem + 2vw, 3.5rem); }
@media (max-width: 900px) { .blog-destacado { grid-template-columns: minmax(0, 1fr); } }
.blog-destacado__foto { min-height: 22rem; position: relative; overflow: clip; }
.blog-destacado__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--curva); }
.blog-destacado:hover .blog-destacado__foto img { transform: scale(1.06); }
.blog-destacado__cuerpo { padding: clamp(1.75rem, 1rem + 3vw, 3.5rem); display: flex; flex-direction: column; justify-content: center; }
.blog-destacado h2 { font-size: var(--t-xl); color: #fff; }
.blog-destacado p { color: var(--texto-o2); }

/* ---------------------------------------------------------------- artículo */
.articulo { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
@media (max-width: 1040px) { .articulo { grid-template-columns: minmax(0, 1fr); } }
.prosa { font-size: 1.1rem; line-height: 1.8; color: #26262C; max-width: 46rem; }
.prosa > * + * { margin-top: 1.1em; }
.prosa p { margin-bottom: 0; }
.prosa h2 { font-size: var(--t-xl); margin: 2.2em 0 .6em; scroll-margin-top: calc(var(--cabecera-alto) + 1rem); }
.prosa h3 { font-size: var(--t-lg); margin: 1.8em 0 .5em; }
.prosa a { color: var(--rojo); text-decoration-thickness: 1.5px; text-underline-offset: .15em; }
.prosa ul, .prosa ol { padding-left: 1.3em; }
.prosa li + li { margin-top: .45em; }
.prosa li::marker { color: var(--rojo); font-weight: 700; }
.prosa strong { color: var(--tinta); }
.prosa blockquote {
  margin: 2em 0; padding: 1.4rem 1.6rem;
  border-left: 4px solid var(--rojo);
  background: var(--hueso); border-radius: 0 var(--r-lg) var(--r-lg) 0;
  font-size: 1.02rem;
}
.prosa blockquote p { margin: 0; }
.tabla-envoltorio { overflow-x: auto; border: 1px solid var(--linea-c); border-radius: var(--r-lg); }
.prosa table { width: 100%; border-collapse: collapse; font-size: .96rem; min-width: 520px; }
.prosa th, .prosa td { padding: .8rem 1rem; text-align: left; border-bottom: 1px solid var(--linea-c); }
.prosa th { background: var(--negro); color: #fff; font-family: var(--f-display); font-stretch: 108%; font-weight: 700; }
.prosa tr:last-child td { border-bottom: 0; }
.prosa tbody tr:nth-child(even) { background: var(--hueso); }
.indice { padding: 1.5rem; border: 1px solid var(--linea-c); border-radius: var(--r-xl); }
.indice h2 { font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1rem; }
.indice ol { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; counter-reset: ind; }
.indice li { counter-increment: ind; display: grid; grid-template-columns: 1.8rem 1fr; font-size: .92rem; line-height: 1.4; }
.indice li::before { content: counter(ind, decimal-leading-zero); color: var(--rojo); font-weight: 700; font-variant-numeric: tabular-nums; }
.indice a { color: var(--texto-c2); text-decoration: none; }
.indice a:hover, .indice a.esta-activo { color: var(--tinta); }
.autor { display: flex; gap: 1rem; align-items: center; margin-top: 3rem; padding: 1.5rem; border-radius: var(--r-xl); background: var(--hueso); }
.autor img { width: 64px; height: 64px; border-radius: 50%; object-fit: contain; background: var(--negro); padding: 10px; flex: none; }
.autor p { margin: 0; font-size: .95rem; color: var(--texto-c2); }
.autor strong { display: block; color: var(--tinta); }

/* ---------------------------------------------------------------- contacto */
.contacto { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: start; }
@media (max-width: 1000px) { .contacto { grid-template-columns: minmax(0, 1fr); } }
.contacto__datos { display: grid; gap: 1rem; }
.dato-contacto { display: flex; gap: 1rem; padding: 1.35rem; border-radius: var(--r-lg); background: var(--carbon); border: 1px solid var(--linea-o); color: #fff; text-decoration: none; transition: border-color .3s, transform .4s var(--curva); }
a.dato-contacto:hover { border-color: var(--rojo-vivo); transform: translateY(-3px); }
.dato-contacto__icono { flex: none; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--rojo); }
.dato-contacto__icono svg { width: 22px; height: 22px; }
.dato-contacto small { display: block; color: var(--texto-o2); font-size: var(--t-xs); letter-spacing: .06em; text-transform: uppercase; margin-bottom: .15rem; }
.dato-contacto strong { display: block; font-family: var(--f-display); font-stretch: 108%; font-size: 1.1rem; font-weight: 700; line-height: 1.3; }
.dato-contacto span { color: var(--texto-o2); font-size: .92rem; }

/* ---------------------------------------------------------------- llamada final */
.llamada { position: relative; overflow: clip; isolation: isolate; }
.llamada__fondo { position: absolute; inset: -10% 0; z-index: -2; }
.llamada__fondo img { width: 100%; height: 100%; object-fit: cover; transform: translateY(var(--parallax, 0px)); opacity: .45; }
.llamada::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(10,10,12,.97) 20%, rgba(10,10,12,.7) 60%, rgba(160,0,0,.55)); }
.llamada__rejilla { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
@media (max-width: 1000px) { .llamada__rejilla { grid-template-columns: minmax(0, 1fr); } }
.llamada h2 { font-size: var(--t-2xl); }
.llamada__lista { list-style: none; margin: var(--e-6) 0; padding: 0; display: grid; gap: .8rem; }
.llamada__lista li { display: flex; align-items: center; gap: .8rem; color: #E4E4EA; }
.llamada__lista svg { width: 22px; height: 22px; color: var(--rojo-luz); flex: none; }
.llamada__contactos { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.llamada__contactos a { color: #fff; text-decoration: none; }
.llamada__contactos small { display: block; color: var(--texto-o2); font-size: var(--t-xs); }
.llamada__contactos strong { font-family: var(--f-display); font-stretch: 112%; font-size: 1.15rem; }

/* ---------------------------------------------------------------- aviso y páginas de texto */
.legal { max-width: 50rem; }
.legal h2 { font-size: var(--t-lg); margin-top: 2.2em; }

/* ---------------------------------------------------------------- gracias */
.gracias__icono { width: 96px; height: 96px; margin: 0 auto var(--e-6); border-radius: 50%; display: grid; place-items: center; background: var(--rojo); box-shadow: var(--sombra-roja); color: #fff; animation: pop .8s var(--curva-resorte) both; }
.gracias__icono svg { width: 46px; height: 46px; }
@keyframes pop { from { transform: scale(0); } }

.llamada .caja-form h2, .contacto .caja-form h2 { font-size: var(--t-xl); }
.detalle__texto h2 { font-size: var(--t-xl); margin-bottom: var(--e-5); }
.dato-contacto > div { min-width: 0; }
.dato-contacto strong, .dato-contacto span { overflow-wrap: anywhere; }
