/* ══════════════════════════════════════════════════════════════════════════════════════════════
   AIMA · «Hasta dónde llegamos», el viaje (27/10/2026) — va con assets/aima-alcance.js
   Bratney: «que no se note que es un vídeo sobrepuesto, que te adentre dentro de la animación de enseñar
   dónde vamos y cómo… el máximo detalle en cada cosa… con cada producto». Y luego: «más al grano… quiero
   interactivos, animación, interactivos, animación; así acaba en el mundo».

   No es una ventana encima de la página: ES la página. El mapa ocupa la pantalla entera y se queda quieto
   (sticky). Cinco paradas; en cada una, una tarjeta con los productos que llegan ahí, que se tocan. Las
   tarjetas se relevan en su sitio (la nueva aparece donde estaba la de antes) mientras la cámara viaja a la
   parada siguiente. Blanco de fondo, tinta y un solo rojo (lo que llega AIMA). Anton manda en las cifras,
   Cormorant acompaña, Montserrat en lo demás. El cuadrado imperfecto es la luz del cartel.
   ══════════════════════════════════════════════════════════════════════════════════════════════ */
#alcance{--vj-tinta:#0B0B0D;--vj-rojo:#C1272D;--vj-grafito:#3A3A3C;--vj-lejos:#BDBDC4;--vj-t2:#56565C;--vj-t3:#86868B;
  --vj-linea:rgba(11,11,13,.10);--vj-suave:#F5F5F7;--vj-facet:polygon(10% 16%,92% 0%,100% 55%,96% 92%,0% 96%);
  --vj-pack:'Anton','AIMA Anton',Impact,'Arial Narrow Bold',sans-serif;
  --vj-display:'Cormorant Garamond','AIMA Cormorant','Iowan Old Style','Times New Roman',serif;
  --vj-body:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --vj-ease:cubic-bezier(.22,1,.36,1);
  --vj-col:clamp(330px,31vw,430px);        /* la columna del texto en escritorio */
  --vj-cab:64px;                           /* la cabecera de la web, que flota encima */
  position:relative;background:#fff;color:var(--vj-tinta);font-family:var(--vj-body)}
#alcance *,#alcance *::before,#alcance *::after{box-sizing:border-box}
/* aima-movil.css deja partir cualquier palabra en el teléfono (overflow-wrap:anywhere en p, li y td): aquí no hace
   falta y estrujaba los botones letra a letra. Se parte solo lo que no cabe. */
#alcance :is(p,li,td,dd,button){overflow-wrap:break-word}
#alcance .vj-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#alcance .ic{--ic-acento:currentColor}

/* ── la escena: el lienzo a sangre, quieto mientras se baja ─────────────────────────────────────── */
.vj-escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#fff;z-index:0}
.vj-lienzo{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:pan-y;cursor:crosshair}
.vj-escena.vj-gira .vj-lienzo{cursor:grab}
.vj-escena.vj-agarra .vj-lienzo{cursor:grabbing}
/* el aire de la columna: en escritorio el texto vive a la izquierda sobre un blanco que se desvanece */
@media (min-width:900px){
  .vj-escena::after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--vj-col) + 90px);pointer-events:none;
    background:linear-gradient(90deg,#fff 0,#fff calc(100% - 150px),rgba(255,255,255,0) 100%);opacity:.94}
}

/* ── los instrumentos: escala gráfica, coordenadas, la hora de Sabadell ────────────────────────── */
.vj-hud{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:0 clamp(16px,3vw,34px) calc(16px + env(safe-area-inset-bottom));pointer-events:none;
  font:500 10.5px/1.3 var(--vj-body);letter-spacing:.06em;color:var(--vj-t2);font-variant-numeric:lining-nums tabular-nums}
@media (min-width:900px){.vj-hud{left:calc(var(--vj-col) + 40px);padding-right:calc(clamp(16px,3vw,28px) + 84px)}}
/* AMI (el botón flotante de la web, abajo a la derecha): en el móvil, mientras hay hoja, sube encima de ella */
@media (max-width:899px){
  html.vj-dentro #ami-widget{bottom:calc(var(--vj-hoja-aqui,44svh) + 10px);transition:bottom .35s cubic-bezier(.22,1,.36,1)}
  html.vj-dentro #ami-widget.ami-open{bottom:clamp(16px,3vw,28px)}
}
.vj-escala{display:grid;gap:5px}
.vj-escala-barra{position:relative;height:6px;border:1px solid var(--vj-tinta);border-top:0;transition:width .25s var(--vj-ease)}
.vj-escala-barra::before{content:"";position:absolute;left:0;top:0;width:50%;height:3px;background:var(--vj-tinta)}
.vj-escala b{font-weight:600;color:var(--vj-tinta)}
.vj-donde{display:grid;gap:3px;text-align:right}
.vj-donde b{font-weight:600;color:var(--vj-tinta)}
.vj-norte{position:absolute;z-index:3;top:calc(var(--vj-cab) + 18px);right:clamp(16px,3vw,34px);width:30px;height:44px;pointer-events:none;color:var(--vj-tinta)}
.vj-norte svg{display:block;width:100%;height:100%;overflow:visible}

/* la etiqueta del ratón (o del dedo) */
.vj-tip{position:absolute;left:0;top:0;z-index:4;max-width:260px;padding:9px 12px 10px;border-radius:10px;background:#fff;pointer-events:none;
  box-shadow:0 0 0 1px var(--vj-linea),0 12px 28px rgba(11,11,13,.14);font-size:12px;line-height:1.42;color:var(--vj-t2)}
.vj-tip[hidden]{display:none}
.vj-tip b{display:block;font-size:13px;font-weight:700;color:var(--vj-tinta)}
.vj-tip span{display:block}
.vj-tip .vj-tip-p{margin-top:3px;font-weight:600;color:var(--vj-tinta)}

/* ── el carril de las paradas (escritorio): cinco bombillas a la derecha ────────────────────────── */
.vj-carril{position:absolute;z-index:3;right:clamp(14px,2.2vw,30px);top:50%;transform:translateY(-50%);margin:0;padding:0;list-style:none;display:grid;gap:12px}
.vj-carril a{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:22px;color:var(--vj-t2);text-decoration:none;
  font:600 9.5px/1 var(--vj-body);letter-spacing:.2em;text-transform:uppercase}
.vj-carril a span{opacity:0;transform:translateX(6px);transition:opacity .3s var(--vj-ease),transform .3s var(--vj-ease)}
.vj-carril a i{flex:none;width:9px;height:8px;background:currentColor;clip-path:var(--vj-facet);opacity:.45;transition:opacity .3s,background-color .3s,transform .3s var(--vj-ease)}
.vj-carril a:hover span,.vj-carril a:focus-visible span,.vj-carril a[aria-current="true"] span{opacity:1;transform:none}
.vj-carril a[aria-current="true"]{color:var(--vj-tinta)}
.vj-carril a[aria-current="true"] i{opacity:1;background:var(--vj-rojo);transform:scale(1.25)}
.vj-carril a:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:3px}
@media (max-width:899px){.vj-carril{display:none}}

/* las pistas, en el mapa: «Desliza para alejarte» (en la primera parada, sin bajar) y, en el mundo, cómo se gira
   el globo (hasta que se gira) */
.vj-pista{position:absolute;z-index:3;left:50%;bottom:122px;display:flex;align-items:center;gap:11px;width:max-content;margin:0;padding:6px 15px 6px 7px;border-radius:999px;
  background:rgba(255,255,255,.94);box-shadow:0 0 0 1px var(--vj-linea);transform:translateX(-50%);pointer-events:none;
  font:600 10.5px/1 var(--vj-body);letter-spacing:.22em;text-transform:uppercase;color:var(--vj-t2);opacity:0;transition:opacity .45s var(--vj-ease)}
.vj-escena.vj-pista-ve .vj-pista-baja,.vj-escena.vj-pista-gira-ve .vj-pista-gira{opacity:1}
.vj-pista-gira{padding:8px 15px 8px 12px;letter-spacing:.16em}
.vj-pista-gira .ic{color:var(--vj-tinta)}
.vj-pista .vj-raton{position:relative;width:20px;height:32px;border:1.5px solid var(--vj-tinta);border-radius:11px;background:rgba(255,255,255,.85)}
.vj-pista .vj-raton::after{content:"";position:absolute;left:50%;top:7px;width:4px;height:4px;margin-left:-2px;background:var(--vj-rojo);clip-path:var(--vj-facet);animation:vj-rueda 1.8s var(--vj-ease) infinite}
@keyframes vj-rueda{0%{transform:translateY(0);opacity:0}25%{opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
@media (min-width:900px){.vj-pista{left:calc(50% + (var(--vj-col) - 36px) / 2)}}      /* el medio del hueco del mapa */
@media (max-width:899px){.vj-pista{bottom:calc(var(--vj-hoja-aqui,44svh) + 46px);font-size:9.5px}.vj-pista .vj-raton{width:17px;height:27px}}

/* ── «¿Dónde está tu negocio?»: el buscador, encima del mapa (en el móvil, una lupa que se abre) ──── */
.vj-busca{position:absolute;z-index:5;top:calc(var(--vj-cab) + 16px);left:calc(var(--vj-col) + 100px);width:min(320px,calc(100% - var(--vj-col) - 220px));margin:0}
.vj-busca-abre{display:none}
.vj-campo{position:relative}
.vj-campo > .ic{position:absolute;left:15px;top:50%;margin-top:-8.5px;color:var(--vj-t2);pointer-events:none}
.vj-busca input{width:100%;min-height:44px;padding:10px 42px 10px 42px;border:0;border-radius:999px;background:#fff;
  box-shadow:0 0 0 1px rgba(11,11,13,.16),0 10px 24px rgba(11,11,13,.08);font:500 14px/1.2 var(--vj-body);color:var(--vj-tinta);-webkit-appearance:none;appearance:none}
.vj-busca input::placeholder{color:var(--vj-t2)}
.vj-busca input:focus-visible,.vj-busca button:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:2px}
.vj-busca-x{position:absolute;right:6px;top:50%;display:none;place-items:center;width:32px;height:32px;margin-top:-16px;padding:0;border:0;border-radius:50%;background:none;color:var(--vj-t2);cursor:pointer}
.vj-busca-x:hover{background:var(--vj-suave);color:var(--vj-tinta)}
.vj-busca input:not(:placeholder-shown) ~ .vj-busca-x{display:grid}
.vj-busca [role="listbox"]{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:6;margin:0;padding:6px;list-style:none;border-radius:14px;background:#fff;
  box-shadow:0 0 0 1px var(--vj-linea),0 14px 32px rgba(11,11,13,.16);max-height:260px;overflow:auto}
.vj-busca [role="listbox"][hidden]{display:none}
.vj-busca [role="option"]{padding:9px 12px;border-radius:9px;cursor:pointer;font-size:13.5px}
.vj-busca [role="option"] small{margin-left:6px;font-size:11px;color:var(--vj-t2)}
.vj-busca [role="option"]:hover,.vj-busca [role="option"][aria-selected="true"]{background:var(--vj-suave)}
.vj-res{margin:8px 0 0;padding:10px 14px 11px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--vj-linea),0 10px 24px rgba(11,11,13,.08);
  font-size:12.5px;line-height:1.5;color:var(--vj-tinta)}
.vj-res:empty{display:none}
@media (max-width:899px){
  .vj-busca{top:calc(var(--vj-cab) + 10px);left:12px !important;width:auto}
  .vj-busca-abre{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--vj-tinta);cursor:pointer;
    box-shadow:0 0 0 1px rgba(11,11,13,.14),0 8px 18px rgba(11,11,13,.1)}
  .vj-busca-c{display:none}
  .vj-busca.vj-abierta{right:12px}
  .vj-busca.vj-abierta .vj-busca-abre{display:none}
  .vj-busca.vj-abierta .vj-busca-c{display:block}
  .vj-busca.vj-abierta .vj-busca-x{display:grid}
  .vj-busca input{font-size:16px}               /* 16 px: así el iPhone no hace zoom al escribir */
  .vj-res{font-size:12px}
}

/* ── las paradas: pasan por encima de la escena ───────────────────────────────────────────────────
   Cada parada mide su tarjeta más un tramo de scroll; la siguiente se monta encima de ella lo justo para que su
   tarjeta llegue a su sitio cuando la de antes se va (--vj-alto y --vj-solape los mide el guion). */
.vj-actos{position:relative;z-index:2;margin-top:-100vh;margin-top:-100svh;pointer-events:none}
.vj-acto{--vj-tramo:62vh;position:relative;min-height:calc(var(--vj-alto,62vh) + var(--vj-tramo))}
.vj-acto:first-child{min-height:calc(var(--vj-alto,62vh) + var(--vj-tramo) + var(--vj-arriba,0px))}
.vj-acto:last-child{--vj-tramo:96vh}
.vj-acto + .vj-acto{margin-top:calc(-1 * var(--vj-solape,0px))}
.vj-tarjeta{pointer-events:auto;position:sticky;color:var(--vj-tinta)}
@media (min-width:900px){
  #alcance{--vj-arriba:calc(var(--vj-cab) + 5vh)}
  .vj-tarjeta{top:var(--vj-arriba);width:var(--vj-col);margin-left:clamp(24px,4vw,64px);padding:8px 0 24px}
}
@media (max-width:899px){
  /* en el móvil el texto es una hoja abajo, del alto de lo que lleva, y el mapa, lo de arriba */
  .vj-acto{--vj-tramo:60svh;min-height:calc(var(--vj-alto,44svh) + var(--vj-tramo))}
  .vj-acto:first-child{min-height:calc(100svh + var(--vj-tramo))}
  .vj-acto:last-child{--vj-tramo:84svh}
  /* si en un teléfono bajo no cabe todo, la hoja se desliza por dentro, y una sombra abajo lo dice */
  .vj-tarjeta{top:calc(100svh - var(--vj-alto,44svh));height:var(--vj-alto,44svh);overflow:hidden auto;margin:0;padding:15px 18px calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid var(--vj-linea);box-shadow:0 -18px 40px rgba(255,255,255,.9);scrollbar-width:none;
    background:linear-gradient(rgba(255,255,255,0),#fff 70%) center bottom,radial-gradient(farthest-side at 50% 100%,rgba(11,11,13,.16),rgba(11,11,13,0)) center bottom #fff;
    background-repeat:no-repeat;background-size:100% 36px,100% 12px;background-attachment:local,scroll}
  .vj-tarjeta::-webkit-scrollbar{display:none}
}
/* solo se ve la tarjeta de la parada de ahora: la siguiente llega escondida y aparece en su sitio, encima de la
   de antes, que se va a la vez. Escondida con opacity (no con visibility): así el lector de pantalla las lee todas
   y el tabulador entra en ellas (al entrar, el guion lleva el viaje a esa parada) */
.vj-js .vj-acto:not(.vj-aqui) .vj-tarjeta{opacity:0;pointer-events:none}
.vj-js .vj-acto.vj-aqui .vj-tarjeta{transition:opacity .28s var(--vj-ease)}
/* si no llegan los datos del mapa (o no hay guion): fuera la escena, y las paradas una detrás de otra, como una
   página de texto */
.vj-sin .vj-escena{display:none}
.vj-sin .vj-actos{margin-top:0}
.vj-sin .vj-acto,.vj-sin .vj-acto:last-child{min-height:0;margin-top:0 !important}
.vj-sin .vj-tarjeta{position:static;height:auto;padding-top:calc(var(--vj-cab) + 24px)}
.vj-sin .vj-acto + .vj-acto .vj-tarjeta{padding-top:32px}
#alcance:not(.vj-js) .vj-detalle,#alcance:not(.vj-js) .vj-busca{display:none}
#alcance:not(.vj-js) .vj-prod button{cursor:default}
/* sin datos, las filas son texto (el guion quita los botones) */
.vj-prod .vj-fila{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;padding:7px 10px 7px 12px;font-size:12.5px;line-height:1.35}
/* entra en tres golpes, como un cartel (no un fundido), cuando su parada es la de la pantalla */
.vj-tarjeta > *{transition:opacity .45s var(--vj-ease),transform .55s var(--vj-ease)}
.vj-js .vj-acto:not(.vj-aqui) .vj-tarjeta > *{opacity:0;transform:translateY(14px)}
.vj-js .vj-acto.vj-aqui .vj-tarjeta > :nth-child(2){transition-delay:.06s}
.vj-js .vj-acto.vj-aqui .vj-tarjeta > :nth-child(3){transition-delay:.12s}
.vj-js .vj-acto.vj-aqui .vj-tarjeta > :nth-child(n+4){transition-delay:.18s}

/* «Volver a Escala» (solo si se llega desde la página de un producto, con ?p=) */
#alcance .vj-volver{margin:0 0 14px}
#alcance .vj-volver[hidden]{display:none}
#alcance .vj-volver a{display:inline-flex;align-items:center;gap:8px;min-height:32px;font:600 11px/1 var(--vj-body);letter-spacing:.16em;text-transform:uppercase;
  color:var(--vj-tinta);text-decoration:none;opacity:.62;transition:opacity .18s}
#alcance .vj-volver a:hover,#alcance .vj-volver a:focus-visible{opacity:1}
#alcance .vj-volver a:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:3px}
#alcance .vj-volver svg{width:15px;height:15px;transition:transform .18s}
#alcance .vj-volver a:hover svg{transform:translateX(-3px)}
@media (max-width:899px){#alcance .vj-volver{margin:0 0 6px}#alcance .vj-volver a{min-height:28px;font-size:10.5px}}
/* el titular de la página, en la primera parada */
#alcance .vj-h1{margin:0 0 22px;font:400 clamp(36px,3.4vw,52px)/.95 var(--vj-pack);text-transform:uppercase;letter-spacing:.012em;color:var(--vj-tinta);text-wrap:balance}
#alcance .vj-h1 em{font:italic 600 1.1em/.9 var(--vj-display);text-transform:none;letter-spacing:-.01em;color:var(--vj-rojo)}
.vj-ceja{display:flex;align-items:center;gap:9px;margin:0;font:600 10.5px/1.2 var(--vj-body);letter-spacing:.26em;text-transform:uppercase;color:var(--vj-t2)}
.vj-ceja i{flex:none;width:9px;height:8px;background:var(--vj-rojo);clip-path:var(--vj-facet)}
.vj-ceja .vj-n{font-variant-numeric:lining-nums tabular-nums;color:var(--vj-t2)}
#alcance .vj-cifra{margin:10px 0 0;font:400 clamp(56px,5.8vw,88px)/.9 var(--vj-pack);text-transform:uppercase;letter-spacing:.01em;font-variant-numeric:lining-nums tabular-nums;color:var(--vj-tinta)}
#alcance .vj-cifra.vj-larga{margin-top:16px;font-size:clamp(46px,4.6vw,70px)}      /* la tilde de la Ñ no pisa la ceja */
#alcance .vj-cifra .vj-ud{margin-left:.3em;font-size:.4em;letter-spacing:.03em}
#alcance .vj-comp{margin:8px 0 0;font:500 clamp(21px,1.8vw,26px)/1.14 var(--vj-display);color:var(--vj-tinta);text-wrap:balance}
#alcance .vj-comp em{font-style:italic;font-weight:600;color:var(--vj-rojo)}
@media (max-width:899px){
  #alcance .vj-h1{margin-bottom:12px;font-size:clamp(27px,7.6vw,34px)}
  #alcance .vj-cifra{margin-top:6px;font-size:clamp(38px,11vw,50px)}
  #alcance .vj-cifra.vj-larga{margin-top:10px;font-size:clamp(32px,9.2vw,44px)}
  #alcance .vj-comp{margin-top:4px;font-size:18px}
}

/* ── en cada parada, los productos que llegan: se tocan y se ven en el mapa ───────────────────────── */
.vj-prod{margin:16px 0 0;padding:0;list-style:none;display:grid;border-top:1px solid var(--vj-linea)}
.vj-prod li{margin:0;padding:0;border-bottom:1px solid var(--vj-linea)}
.vj-prod button{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:center;width:100%;min-height:40px;margin:0;padding:7px 10px 7px 12px;
  border:0;border-radius:0;background:none;cursor:pointer;text-align:left;font:inherit;font-size:12.5px;line-height:1.35;color:var(--vj-tinta);
  -webkit-tap-highlight-color:transparent;transition:background-color .18s,color .18s,box-shadow .18s}
.vj-prod button:hover{background:var(--vj-suave)}
.vj-prod button:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:-2px}
.vj-prod .vj-pn{font-weight:600;color:inherit}
.vj-prod .vj-pn small{display:block;margin-top:1px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--vj-t2)}
/* el estado, a la derecha; su cuadrado va pegado al principio del texto (también si el texto ocupa dos líneas) */
.vj-est{display:block;justify-self:end;text-align:right;text-wrap:balance;font-weight:500;color:inherit}
.vj-est::before{content:"";display:inline-block;width:10px;height:9px;margin-right:7px;vertical-align:-.5px;clip-path:var(--vj-facet);background:var(--vj-z,transparent)}
.vj-est.s-v{--vj-z:var(--vj-rojo)}
.vj-est.s-h{--vj-z:var(--vj-grafito)}
.vj-est.s-c{--vj-z:var(--vj-lejos)}
.vj-est.s-m::before{background:none;box-shadow:inset 0 0 0 1.4px currentColor;clip-path:none;width:9px;height:8px;opacity:.75}
/* el elegido: tinta llena, con el filo rojo */
.vj-prod button[aria-pressed="true"]{background:var(--vj-tinta);color:#fff;box-shadow:inset 3px 0 0 var(--vj-rojo)}
.vj-prod button[aria-pressed="true"] .vj-pn small{color:#B9B9BF}
.vj-prod button[aria-pressed="true"] .vj-est.s-h{--vj-z:#8A8D8F}
@media (hover:none){.vj-prod button:hover{background:none}.vj-prod button[aria-pressed="true"]:hover{background:var(--vj-tinta)}}
/* lo que se dice del elegido (o, sin elegir, cómo se elige); su hueco mide lo del más largo, para que no salte nada */
.vj-detalle{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--vj-tinta)}
.vj-detalle .vj-pide{display:inline-flex;align-items:center;gap:8px;color:var(--vj-t2)}
.vj-detalle .vj-pide::before{content:"";flex:none;width:8px;height:7px;background:var(--vj-t3);clip-path:var(--vj-facet)}
.vj-detalle b{font-weight:700}
.vj-detalle .vj-no{color:var(--vj-t2)}
.vj-detalle .vj-no b{color:var(--vj-tinta)}
#alcance .vj-detalle .vj-ir{display:inline-block;margin:0 14px 0 0;padding:4px 0;line-height:16px;font-size:12.5px;white-space:nowrap}
.vj-quita{display:inline-block;margin:0;padding:4px 0;border:0;background:none;cursor:pointer;font:600 12px/16px var(--vj-body);color:var(--vj-t2);white-space:nowrap;
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(11,11,13,.25)}
.vj-quita:hover{color:var(--vj-tinta)}
.vj-quita:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:2px}
.vj-ir{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--vj-body);color:var(--vj-tinta);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(11,11,13,.3)}
.vj-ir:hover{text-decoration-color:var(--vj-rojo)}
.vj-ir:focus-visible{outline:2px solid var(--vj-rojo);outline-offset:2px}
.vj-nota{margin:10px 0 0;font-size:12px;line-height:1.55;color:var(--vj-t2)}
.vj-nota b{font-weight:600;color:var(--vj-tinta)}
@media (hover:hover) and (pointer:fine){.vj-con-dedo{display:none}}
@media (hover:none),(pointer:coarse){.vj-con-raton{display:none}}
@media (max-width:899px){
  .vj-prod{margin-top:10px}
  .vj-prod button{min-height:32px;padding:5px 6px 5px 8px;gap:2px 10px;font-size:11.5px}
  .vj-prod .vj-pn small{display:none}
  .vj-est::before{width:8px;height:7px;margin-right:6px}
  .vj-detalle{margin-top:8px;font-size:12px;line-height:1.45}
  #alcance .vj-detalle .vj-ir{padding:6px 0;font-size:12px}
  .vj-quita{padding:6px 0}
  .vj-nota{margin-top:6px;font-size:11.5px;line-height:1.45}
}
@media (max-width:899px) and (max-height:720px){
  #alcance .vj-h1{margin-bottom:8px;font-size:clamp(24px,6.8vw,29px)}
  #alcance .vj-cifra{font-size:clamp(34px,9.6vw,42px)}
  #alcance .vj-cifra.vj-larga{margin-top:8px;font-size:clamp(30px,8.4vw,38px)}
  #alcance .vj-comp{font-size:16.5px}
  .vj-prod{margin-top:8px}
  .vj-prod button{min-height:29px;padding-top:4px;padding-bottom:4px}
  .vj-tarjeta{padding-top:12px}
}
/* las pantallas bajas del ordenador: todo un poco más prieto, para que la tarjeta quepa entera */
@media (min-width:900px) and (max-height:820px){
  #alcance{--vj-arriba:calc(var(--vj-cab) + 2vh)}
  #alcance .vj-h1{margin-bottom:14px;font-size:clamp(30px,2.8vw,42px)}
  #alcance .vj-cifra{font-size:clamp(46px,4.8vw,70px)}
  #alcance .vj-cifra.vj-larga{font-size:clamp(40px,4vw,58px)}
  .vj-prod{margin-top:12px}
  .vj-prod button{min-height:34px;padding-top:5px;padding-bottom:5px}
}

/* ── debajo del viaje: el texto de siempre (lo leen Google y AMI; también se lee a la vista) ────── */
.vj-fuentes{position:relative;z-index:2;background:#fff;border-top:1px solid var(--vj-linea);padding:clamp(40px,6vw,72px) clamp(20px,5vw,64px) clamp(36px,5vw,56px)}
.vj-fuentes-in{max-width:1180px;margin:0 auto;display:grid;gap:28px}
/* el texto arriba, a lo ancho de una columna de lectura, y la tabla debajo, entera */
.vj-fuentes-in > :first-child{max-width:820px}
.vj-fuentes h2{margin:0;font:500 clamp(30px,3.2vw,44px)/1.04 var(--vj-display);text-wrap:balance}
.vj-fuentes h2 em{font-style:italic;font-weight:600;color:var(--vj-rojo)}
.vj-fuentes p,.vj-fuentes li{font-size:13.5px;line-height:1.65;color:var(--vj-t2)}
.vj-fuentes b{color:var(--vj-tinta);font-weight:600}
.vj-fuentes ul{margin:0;padding:0 0 0 1.1em}
.vj-fuentes-in > *{min-width:0}
.vj-tabla-w{overflow-x:auto;-webkit-overflow-scrolling:touch}
.vj-tabla{width:100%;min-width:560px;border-collapse:collapse;font-size:12.5px;line-height:1.45}
.vj-tabla th,.vj-tabla td{padding:9px 10px 9px 0;border-bottom:1px solid var(--vj-linea);text-align:left;vertical-align:top}
.vj-tabla th{font:600 10px/1.3 var(--vj-body);letter-spacing:.14em;text-transform:uppercase;color:var(--vj-t2)}
.vj-tabla td:first-child{font-weight:600;color:var(--vj-tinta)}
.vj-creditos{font-size:11.5px !important;color:var(--vj-t2) !important}
.vj-creditos a{color:var(--vj-t2)}

@media (prefers-reduced-motion:reduce){
  .vj-tarjeta > *,.vj-js .vj-acto.vj-aqui .vj-tarjeta{transition:none !important}
  .vj-pista .vj-raton::after{animation:none}
  .vj-carril a span,.vj-carril a i,.vj-prod button,.vj-pista{transition:none}
}
