/* Route pages (AJT): map engine tokens mapped to the AJT theme (ajt-theme.css). */
.ajt-route-page {
  --bg: var(--ajt-cream);
  --navy: var(--ajt-dark-1);
  --white: #fff;
  --yellow: #FFE9A8;
  --cta: var(--ajt-brand);
  --orange: var(--ajt-brand);
  --water: var(--ajt-water);
  --sand: var(--ajt-cream);
  --font-display: var(--ajt-font);
  --header-h: var(--ajt-header-h);
}

.route__map { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 640; border-radius: 20px; box-shadow: 0 6px 24px rgba(12, 59, 46, .2); background: #cfe6c8; }
.route__land { fill: #cfe6c8; }
.route__bank { fill: none; stroke: #b7d6b0; stroke-width: 150; stroke-linecap: round; stroke-linejoin: round; }
.route__water { fill: none; stroke: #7cc4e6; stroke-width: 112; stroke-linecap: round; stroke-linejoin: round; }
.route__shine { fill: none; stroke: #b3e1f4; stroke-width: 96; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 2 26; opacity: .8; }
.route__region { font: 700 22px var(--font-display); letter-spacing: .16em; fill: #86a77f; }
.route__track { fill: none; stroke: #0C3B2E; stroke-opacity: .35; stroke-width: 4; stroke-dasharray: 3 10; stroke-linecap: round; stroke-linejoin: round; }
.route__done { fill: none; stroke: #F29A1F; stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; stroke-dashoffset: 0; }
.route__leader { stroke: #0C3B2E; stroke-opacity: .45; stroke-width: 2; stroke-dasharray: 2 5; }
.route__pin-ring { fill: #fff; stroke: #0C3B2E; stroke-width: 3; }
.route__pin-text { font: 800 22px var(--font-display); fill: #0C3B2E; text-anchor: middle; dominant-baseline: central; }
.route__pin-text--big { font-size: 24px; }
.route__pin-num { fill: #F29A1F; stroke: #fff; stroke-width: 2; }
.route__pin-label { --pin-label-size: 21px; font: 800 var(--pin-label-size) var(--font-display); fill: #0C3B2E; paint-order: stroke; stroke: #fff; stroke-width: 6px; stroke-linejoin: round; }
.route__hull { fill: #F29A1F; stroke: #fff; stroke-width: 2.5; stroke-linejoin: round; }
.route__canopy { fill: #fff; stroke: #0C3B2E; stroke-width: 2; }
.route__wake { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: round; }
.route__boat { filter: drop-shadow(0 3px 3px rgba(12, 59, 46, .35)); }
.route__note { margin: .5rem 0 0; font-size: .82rem; color: #6b6663; text-align: center; }
.route__pin { transition: transform .3s ease; }
.js-route .route__pin .route__pin-ring { transition: fill .3s ease, stroke-width .3s ease; }
.js-route .route__pin.is-active .route__pin-ring { fill: #fdf0c4; stroke: #F29A1F; stroke-width: 5; }
.js-route .route__pin .route__pin-label { opacity: .0; transition: opacity .3s ease; }
.js-route .route__pin.is-active .route__pin-label, .js-route .route__pin--name .route__pin-label { opacity: 1; }

/* Pines: círculo numerado en mapas pequeños; ícono 3D con insignia en mapas grandes */
/* (los íconos reemplazan a los círculos solo cuando route.js ya cargó el arte: clase .is-art en el SVG) */
.route__pin-art { display: none; }
.route__pin-art image { filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .45)); }
/* Safari nocturno (docs/61): sobre la selva de noche los íconos oscuros se perdían; halo cálido como de linterna. */
.route__map--night .route__pin-art image { filter: drop-shadow(0 0 5px rgba(255, 226, 170, .85)) drop-shadow(0 0 14px rgba(255, 214, 150, .45)) drop-shadow(0 4px 4px rgba(0, 0, 0, .45)); }
.route__map--art.route__map--night .route__boat { filter: drop-shadow(0 0 8px rgba(255, 220, 160, .8)) drop-shadow(0 4px 4px rgba(0, 0, 0, .55)); }
.route__bank-label { font: 800 26px var(--font-display); letter-spacing: .14em; fill: #fff; stroke: rgba(12, 59, 46, .75); stroke-width: 5px; paint-order: stroke; stroke-linejoin: round; }
.route__pole { stroke: #4a3a2a; stroke-width: 3; stroke-linecap: round; }
.route__flag-edge { fill: none; stroke: rgba(0, 0, 0, .35); stroke-width: 1.5; }
.route__flags { filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .45)); }
.route__boat-body { transition: transform .25s ease; }
@media (max-width: 899px) { .route__bank-label { display: none; } }
@media (min-width: 900px) {
  .route__map--art.is-art .route__pin-art { display: inline; }
  .route__map--art.is-art .route__pin-basic { display: none; }
  .js-route .route__pin.is-active .route__pin-art { transform: translateY(-6px); }
}
/* En la portada el mapa es grande también en celular (335 px): íconos desde 520 px */
@media (min-width: 520px) and (max-width: 899px) {
  .cruise__map .route__map--art.is-art .route__pin-art { display: inline; }
  .cruise__map .route__map--art.is-art .route__pin-basic { display: none; }
}

/* Mapa con arte propio de fondo (3D/ilustración): línea blanca con sombra y etiquetas con halo para leerse sobre selva oscura */
.route__map--art { background: #1b3b2a; }
.route__map--art .route__track { stroke: #fff; stroke-opacity: .92; stroke-width: 5; stroke-dasharray: 2 11; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .7)); }
.route__map--art .route__done { stroke: #F29A1F; stroke-width: 8; filter: drop-shadow(0 0 4px rgba(252, 108, 0, .8)) drop-shadow(0 1px 2px rgba(0, 0, 0, .6)); }
.route__map--art .route__leader { stroke: #fff; stroke-opacity: .85; }
.route__map--art .route__pin-ring { filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .55)); }
.route__map--art .route__boat { filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .55)); }

/* La escena: fondo a pantalla completa que cambia en cada parada, con el mapa y el bote en un recuadro */
.route-intro { background: var(--bg); padding: 2.4rem 1.25rem 1.6rem; text-align: center; }
.route-intro .band__title { margin-bottom: 1rem; }
.route-intro .band__intro { margin: 0 auto; }
/* Tours por temporada (docs/72): «¿En qué temporada viajas?» pequeño, como el bloque de la portada. Dos tarjetas (aguas altas y
   verano) lado a lado también en celular; la foto se funde hacia el color de la tarjeta (sin corte recto). La elegida lleva borde
   naranja y «✓ Viendo este itinerario»; con JavaScript solo se ve el itinerario elegido (sin JavaScript se ven todos). */
.season-pick { background: var(--bg); padding: 2.4rem 1rem .4rem; text-align: center; }
.season-pick .band__title { margin-bottom: 1rem; }
.season-pick .band__intro { margin: 0 auto 1.2rem; }
.season-pick__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; max-width: 760px; margin: 0 auto; }
.season-pick__card {
  position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 22px;
  text-decoration: none; text-align: left; border: 3px solid transparent;
  box-shadow: 0 6px 18px rgba(0, 40, 70, .12); transition: transform .2s ease, border-color .2s ease, opacity .2s ease;
}
.season-pick__card--water { background-color: var(--water); background-image: url("../img/patterns/waves-light.svg"); color: var(--navy); }
.season-pick__card--sand { background-color: var(--sand); background-image: url("../img/patterns/diamonds.svg"); color: var(--navy); }
.season-pick__image {
  display: block; width: 100%; height: 96px; object-fit: cover;
  -webkit-mask-image: linear-gradient(to bottom, #000 45%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 45%, transparent 100%);
}
.season-pick__body { display: flex; flex-direction: column; gap: .2rem; padding: .7rem .85rem .9rem; position: relative; } /* text under the photo, never over it */
.season-pick__name { font: 800 1.25rem/1.1 var(--font-display); }
.season-pick__when { font-size: .85rem; font-weight: 600; line-height: 1.3; }
.season-pick__cta { margin-top: .5rem; font: 800 .8rem/1.2 var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.season-pick__cta .arrow { width: 14px; height: 14px; vertical-align: -2px; }
.season-pick__card:hover { transform: translateY(-2px); }
.season-pick__card:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; }
.season-pick__card.is-selected { --select-ring: 0 0 0 3px var(--orange), 0 10px 26px rgba(0, 40, 70, .28); border-color: var(--orange); box-shadow: var(--select-ring); }
.season-pick__card:not(.is-selected) .season-pick__on,
.season-pick__card.is-selected .season-pick__see { display: none; }
.season-pick__card:not(.is-selected) { border-color: rgba(15, 81, 50, .22); } /* the card not picked stays fully readable */
.season-pick__sub { margin: 1.6rem auto .8rem; font: 800 1.15rem/1.2 var(--font-display); color: var(--navy); }
.season-pick__between { margin-top: 1.4rem; }
.season-pick__wa { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; color: var(--orange); }
.season-pick__skip { margin-top: .4rem; }
.js .season-plan:not(.is-selected) { display: none; }
.season-plan__pending { background: var(--bg); padding: 2rem 1.25rem 3rem; text-align: center; }
.season-plan__pending p { max-width: 34rem; margin: 0 auto 1.2rem; line-height: 1.55; }
@media (min-width: 760px) {
  .season-pick__grid { gap: 1.2rem; }
  .season-pick__image { height: 140px; }
  .season-pick__body { padding: 0 1.4rem 1.2rem; }
  .season-pick__name { font-size: 1.6rem; }
  .season-pick__when { font-size: .95rem; }
}
/* Plan de 2 días (docs/69): varios mapas en UNA escena continua. Solo se ve el mapa de la actividad activa (fundido suave) y,
   arriba de él, el letrero con el día y la actividad («Día 1 · Actividad en la mañana»). Sin JS se ve el primero. */
.story--multi .story__minimap { opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s linear .45s; }
.story--multi .story__minimap.is-active { opacity: 1; visibility: visible; transition: opacity .45s ease, visibility 0s; }
.story__label {
  margin: 0; padding: .55rem 1rem; background: var(--navy); color: var(--yellow); text-align: center;
  font: 800 clamp(1.05rem, 3.6vw, 1.5rem)/1.2 var(--font-display); letter-spacing: .06em; text-transform: uppercase;
}
/* Nombre de la actividad, debajo del letrero del día (pedido del dueño: que se sepa qué están haciendo). */
.story__activity {
  margin: 0; padding: .5rem 1rem; background: var(--cta); color: var(--white); text-align: center;
  font: 800 clamp(1rem, 3.4vw, 1.35rem)/1.2 var(--font-display);
}
.story__activity[hidden] { display: none; }
/* Tours por días (docs/69): cada tarjeta ocupa 40 % de pantalla (token --stop-h; antes 60 %) de scroll, no 100 % (pedido del dueño: «la gente se aburre»). */
.story--multi .stop { --stop-h: 40svh; min-height: 40vh; min-height: var(--stop-h); }
/* Fichas deslizables dentro de una tarjeta (docs/69). */
.stop__fichas { display: flex; gap: .7rem; margin: .8rem -.4rem 0; padding: 0 .4rem .4rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.stop__ficha { flex: 0 0 86%; scroll-snap-align: start; padding: .8rem .9rem; border-radius: 14px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .2); }
.stop__ficha-n { margin: 0 0 .2rem; font: 700 .75rem var(--font-display); color: var(--yellow); }
.stop__ficha-title { margin: 0 0 .35rem; font: 800 1.05rem/1.2 var(--font-display); color: var(--white); }
.stop__ficha-text { margin: 0; font-size: .95rem; line-height: 1.45; }
.stop__fichas-hint { margin: .3rem 0 0; font-size: .8rem; opacity: .8; }
@media (max-width: 899px) {
  .stop__card:has(.stop__fichas) { padding: .9rem 1rem 1rem; }
  .stop__card:has(.stop__fichas) .stop__title { font-size: 1.35rem; margin-bottom: .3rem; }
  .stop__card:has(.stop__fichas) .stop__text { font-size: .95rem; line-height: 1.45; }
  .stop__fichas { margin-top: .6rem; }
  .stop__ficha { padding: .6rem .75rem; }
  .stop__ficha-title { font-size: .98rem; }
  .stop__ficha-text { font-size: .88rem; line-height: 1.4; }
}
/* Leyenda bajo cada mapa del plan de 2 días: más visible que la nota normal («mapa interactivo e ilustrativo», docs/69). */
.story--multi .route__note { padding: .35rem .7rem; font-size: .82rem; font-weight: 600; color: var(--navy); line-height: 1.35; }
/* Mapas de caminata sin arte propio: copas de árboles, laguna y un caminante en vez del bote. */
.route__trees circle { fill: #9fcb95; opacity: .55; }
.route__pond { fill: #7cc4e6; stroke: #b3e1f4; stroke-width: 6; }
.route__walker-ring { fill: #F29A1F; stroke: #fff; stroke-width: 3; }
.route__walker { fill: #fff; stroke: #fff; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.story { position: relative; background: var(--bg); color: var(--white); } /* crema: así ningún pixel oscuro asoma bajo el degradado final */
.story__stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; z-index: 0; }
.story__scenes, .scene { position: absolute; inset: 0; }
.scene {
  opacity: 0;
  background: linear-gradient(135deg, #0C3B2E 0%, #12804A 100%);
  transition: opacity .9s ease;
}
.scene::after { content: ""; position: absolute; inset: 0; background: url("../img/patterns/waves-light.svg"); opacity: .5; }
.scene__img { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.scene__img--blur { filter: blur(26px) brightness(.72); transform: scale(1.18); }
.scene__img--main { object-fit: contain; }
.scene--f-top .scene__img { object-position: 50% 15%; }
.scene--f-center .scene__img { object-position: 50% 50%; }
.scene--f-bottom .scene__img { object-position: 50% 85%; }
.scene--f-left .scene__img { object-position: 30% 50%; }   /* sujeto a la izquierda (p. ej. el mono): que no se corte en el celular */
.scene--f-right .scene__img { object-position: 65% 50%; }
.story:not(.js-route) .scene:first-child, .scene.is-active { opacity: 1; }
/* Bordes suaves (gusto del dueño): la escena nace y termina en degradado hacia el crema de la página, nunca en corte recto.
   z-index 1: queda encima del fondo (escenas, z 0) y debajo de las tarjetas (z 2). */
.story::before, .story::after { content: ""; position: absolute; left: 0; right: 0; z-index: 1; pointer-events: none; }
.story::before { top: 0; height: min(24vh, 200px); background: linear-gradient(180deg, var(--bg) 0%, rgba(250, 247, 242, 0) 100%); }
.story::after {
  bottom: -1px; height: min(36vh, 340px);
  background: linear-gradient(0deg, var(--bg) 0%, rgba(250, 247, 242, .88) 16%, rgba(250, 247, 242, .45) 48%, rgba(250, 247, 242, 0) 100%);
}
.story__shade {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(12, 59, 46, .55) 0%, rgba(12, 59, 46, 0) 28%),
    linear-gradient(0deg, rgba(12, 59, 46, .88) 0%, rgba(12, 59, 46, .35) 45%, rgba(12, 59, 46, 0) 75%);
}
.story__minimap {
  position: absolute; z-index: 3;
  top: calc(var(--header-h) + .75rem); left: 1rem; right: 1rem;   /* debajo del menú fijo (docs/72) */
  width: auto; max-width: 760px; margin: 0 auto;   /* celular y tableta: casi todo el ancho, centrado */
  border-radius: 16px; overflow: hidden;
  border: 3px solid rgba(255, 255, 255, .9);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .4);
  background: #cfe6c8;
}
.story__minimap .route__map { border-radius: 0; box-shadow: none; }
.story__minimap .route__note { margin: 0; padding: .2rem .5rem; background: rgba(255, 255, 255, .9); font-size: .75rem; }
.story__steps { position: relative; z-index: 2; list-style: none; margin: 0; padding: 0; margin-top: -100vh; margin-top: -100svh; }
/* «Saltar el itinerario» durante el recorrido (docs/76): alto 0 + sticky = no ocupa espacio y se queda abajo solo mientras dura la escena. */
.story__skip { position: sticky; top: calc(100vh - var(--ajt-tap, 44px) - var(--fixed-stack, 10px)); top: calc(100svh - var(--ajt-tap, 44px) - var(--fixed-stack, 10px)); height: 0; z-index: 4; display: flex; justify-content: flex-start; padding: 0 1rem; }
.story__skip a { display: inline-flex; align-items: center; gap: .35rem; height: var(--ajt-tap, 44px); padding: 0 1rem; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--navy);
  font: 700 .85rem var(--font-display); text-decoration: none; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
.story__skip a:hover, .story__skip a:focus-visible { background: var(--white); }
.story--multi:has(.story__skip) .stop { padding-bottom: 4rem; } /* celular: la tarjeta termina encima de la pastilla, no debajo */
@media (min-width: 900px) { .story__skip { padding: 0 2rem; } .story--multi:has(.story__skip) .stop { padding-bottom: 0; } }
.stop { min-height: 100vh; min-height: 100svh; display: flex; align-items: flex-end; padding: 0 1rem 2rem; }
.stop__card {
  width: 100%; max-width: 34rem;
  padding: 1.2rem 1.3rem 1.3rem;
  background: rgba(12, 59, 46, .78);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .18);
}
.stop__head { display: flex; align-items: center; gap: .7rem; margin-bottom: .5rem; }
.stop__num { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--cta); color: var(--white); font: 800 1.15rem var(--font-display); }
.stop__time { font: 700 .95rem var(--font-display); color: var(--yellow); }
.stop__title { margin: 0 0 .45rem; font: 800 clamp(1.5rem, 5vw, 2.1rem)/1.15 var(--font-display); color: var(--white); }
.stop__text { margin: 0; font-size: 1.08rem; line-height: 1.55; }
.stop__text + .stop__text { margin-top: .6rem; }
.stop__figure { margin: 1rem 0 0; }
.stop__figure img { display: block; width: 100%; height: auto; border-radius: 12px; }
.js-route .stop__card { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1); }
.js-route .stop.is-active .stop__card { opacity: 1; transform: none; }
@media (min-width: 900px) {
  .stop { align-items: center; padding: 0 2rem 0 clamp(1.5rem, 4vw, 4rem); }
  .stop__card { padding: 1.6rem 1.8rem 1.7rem; }
}
/* Pantallas grandes: el mapa es protagonista (≈ 55 % del ancho, hasta 1000 px), a la derecha y centrado; la tarjeta con el texto, a la izquierda.
   Para cambiar su tamaño basta tocar el 42rem (más grande = número menor). */
@media (min-width: 1200px) {
  .story__minimap { top: calc(50% + var(--header-h) / 2); left: auto; right: 2rem; margin: 0; max-width: none; width: clamp(560px, calc(100vw - 42rem), 1000px); transform: translateY(-50%); }
}
/* Con el mapa grande siempre se ven los íconos 3D; los nombres solo en pantallas grandes (en celular el nombre ya está en la tarjeta) */
.story__minimap .route__map--art.is-art .route__pin-art { display: inline; }
.story__minimap .route__map--art.is-art .route__pin-basic { display: none; }
/* Celular (<900 px): etiqueta legible (~12 px en pantalla) y solo la del pin activo. */
@media (max-width: 899px) {
  .route__pin-label { --pin-label-size: 36px; }
  .js-route .route__pin:not(.is-active) .route__pin-label { opacity: 0; }
}
@media (prefers-reduced-motion: no-preference) {
  .scene .scene__img:not(.scene__img--blur) { transform: scale(1); transition: transform 9s ease-out; }
  .scene.is-active .scene__img:not(.scene__img--blur) { transform: scale(1.05); }
}

/* Bloque grande de la portada */
.band--cruise {
  --band: var(--navy);
  background-image: url("../img/patterns/waves-light.svg");
  color: var(--white);
}
.cruise { max-width: 1180px; margin: 0 auto; display: grid; gap: 1.6rem; align-items: center; }
.cruise__map .route__map { aspect-ratio: 1000 / 640; box-shadow: 0 10px 32px rgba(12, 59, 46, .35); }
.cruise__kicker { margin: 0 0 .5rem; font: 700 .85rem var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--yellow); }
.cruise__title { margin: 0 0 .8rem; font: 800 clamp(1.7rem, 6vw, 2.6rem)/1.1 var(--font-display); }
.cruise__text { margin: 0 0 1rem; font-size: 1.12rem; font-weight: 500; line-height: 1.5; }
.cruise__list { margin: 0 0 1.4rem; padding: 0; list-style: none; display: grid; gap: .5rem; }
.cruise__list li { position: relative; padding-left: 1.6rem; font-weight: 600; line-height: 1.35; }
.cruise__list li::before { content: ""; position: absolute; left: 0; top: .45em; width: .75rem; height: .75rem; border-radius: 50%; background: var(--yellow); }
.cruise__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.route-teaser .route__pin .route__pin-label { opacity: 1; font-size: 24px; }
@media (min-width: 900px) {
  .cruise { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 3rem; }
  .cruise__title { font-size: clamp(2rem, 3.4vw, 2.8rem); }
}
@media (max-width: 899px) { .route-teaser .route__pin .route__pin-label { display: none; } }
/* Con íconos 3D los nombres se enciman en el mapa pequeño de la portada: ahí van solo los íconos (los nombres están en la lista de al lado) */
.route-teaser .route__map--art .route__pin-label { display: none; }

/* ---------- Mapa del crucero incrustado en artículos (docs/57) ---------- */
.cruise-embed { margin: 1.8rem 0; padding: 1rem; border-radius: 22px; background: var(--navy); color: #fff; display: grid; gap: 1.1rem; box-shadow: 0 8px 28px rgba(12, 59, 46, .3); }
.cruise-embed .cruise__map .route__map { aspect-ratio: 1000 / 640; box-shadow: 0 6px 20px rgba(0, 0, 0, .35); }
.cruise-embed .cruise__kicker { margin: 0 0 .3rem; }
.content .cruise-embed__title { margin: 0 0 .5rem; font: 800 clamp(1.3rem, 4.5vw, 1.8rem)/1.15 var(--font-display); color: #fff; }
.content--guide .cruise-embed p { margin: 0 0 .8rem; color: #fff; }
.cruise-embed__text { font-size: 1.02rem; line-height: 1.55; }
.cruise-embed__stops { margin: 0 0 1rem; padding-left: 1.3rem; display: grid; gap: .3rem; font-weight: 600; line-height: 1.35; }
.cruise-embed__stops li::marker { color: var(--yellow); font-weight: 800; }
@media (min-width: 760px) { .cruise-embed { padding: 1.4rem; } }
.ajt-route-page .story--multi { padding-bottom: 4rem; } /* room for the sticky "Skip" pill at the end of the story */
