/* Los tokens locales beben de la marca (assets/css/marca.css). El nombre
   histórico se conserva —cada regla de esta hoja los consume— pero el VALOR
   es de Travel by Humans: --lime era el acento del diseño anterior y ahora
   es el coral ruta; --serif y --mono colapsan en la única familia de marca
   (la jerarquía la pone la escala, no otra fuente). Otra rama recoloreó esta
   misma hoja en paralelo sin tocar tipografía (mantuvo DM Sans/Mono/Lora);
   se conserva la tipografía única del manual, que es la que pidió el
   encargo, y se añade --paper-2 con el valor de niebla que ya usaba mist. */
:root {
  --ink: var(--color-brand-ink);
  --noche: var(--color-brand-night);
  --paper: var(--color-brand-cream);
  --paper-2: var(--color-brand-mist);
  --white: var(--color-white);
  --muted: var(--color-mudo);
  --line: var(--color-linea);
  --lime: var(--color-brand-coral);
  --aqua: var(--color-brand-sky);
  --coral: var(--color-brand-coral);
  --coral-oscuro: var(--color-brand-coral-oscuro);
  --orange: var(--color-brand-sand);
  --mono: var(--font-brand);
  --sans: var(--font-brand);
  --serif: var(--font-brand);
  --shell: var(--content-width);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
body, button, input { font-family: var(--sans); }
a { color: inherit; text-decoration: none; }
button { border: 0; cursor: pointer; }
.shell { width: min(var(--shell), calc(100% - 80px)); margin: 0 auto; }
.arrow { display: inline-block; font-size: 17px; line-height: .8; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(255,255,255,.14); background: rgba(0,27,53,.92); color: var(--white); backdrop-filter: blur(18px); }
.site-header--light { background: rgba(0,27,53,.92); }
.nav-shell { height: 78px; display: flex; align-items: center; gap: 48px; }
.brand { display: inline-flex; align-items: center; }
/* El logotipo lleva el nombre dentro: no se acompaña de texto, o la marca
   saldría dos veces. El nombre accesible lo pone el `alt` de la imagen. */
.brand__logo { display: block; height: 42px; width: auto; }
.brand--footer .brand__logo { height: 36px; }
.main-nav { display: flex; align-items: center; gap: 34px; margin-left: auto; color: rgba(250,247,241,.68); font-size: 13px; }
.main-nav a, .footer-links a { transition: color .2s ease; }
.main-nav a:hover, .footer-links a:hover { color: var(--lime); }
.nav-cta { display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px; border: 1px solid var(--coral); border-radius: var(--radius-small); background: var(--coral); color: var(--white); font-family: var(--mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; transition: background var(--dur-media) ease, color var(--dur-media) ease, transform var(--dur-media) ease; }
.nav-cta:hover { background: var(--coral-oscuro); border-color: var(--coral-oscuro); color: var(--white); transform: translateY(-2px); }
.nav-ctas { display: flex; align-items: center; gap: 9px; }
.nav-cta { white-space: nowrap; }
.nav-cta--ghost { border-color: rgba(250,247,241,.42); background: transparent; color: var(--white); }
.nav-cta--ghost:hover { background: var(--white); border-color: var(--white); color: var(--ink); }
.nav-only-mobile { display: none; }
.language-switch { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }
.language-switch button { min-width: 31px; height: 26px; padding: 0 7px; border-radius: 999px; background: transparent; color: rgba(255,255,255,.5); font-family: var(--mono); font-size: 8px; letter-spacing: .08em; }
.language-switch button.is-active { background: var(--white); color: var(--ink); }
.menu-toggle { display: none; background: transparent; color: var(--white); padding: 9px 0 9px 10px; }
.menu-toggle span { display: block; width: 23px; height: 1px; margin: 5px 0; background: currentColor; }

.visual-hero { position: relative; min-height: 720px; overflow: hidden; background: var(--noche); color: var(--white); }
.visual-hero__image, .visual-hero__image img, .visual-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.visual-hero__image img { object-fit: cover; object-position: center 44%; filter: saturate(.78); }
.visual-hero__veil { background: linear-gradient(90deg, rgba(0,27,53,.98) 0%, rgba(0,27,53,.89) 33%, rgba(0,27,53,.15) 73%), linear-gradient(0deg, rgba(0,27,53,.7), transparent 55%); }
.visual-hero__inner { position: relative; z-index: 1; min-height: 720px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .56fr); align-items: center; }
.visual-hero__copy { padding: 88px 0 72px; }
.eyebrow, .section-kicker, .signal-kicker { color: var(--lime); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 29px; }.eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,59,47,.16); }.eyebrow > span:last-child { color: rgba(250,247,241,.4); }
.visual-hero h1, h2, h3, p { margin-top: 0; }.visual-hero h1 { max-width: 900px; margin-bottom: 25px; font-family: var(--serif); font-size: clamp(38px, 4.6vw, 68px); font-weight: 500; letter-spacing: -.05em; line-height: .92; }.visual-hero h1 em { color: var(--lime); font-style: normal; }.visual-hero__copy > p { max-width: 600px; margin-bottom: 34px; color: rgba(250,247,241,.82); font-size: clamp(17px, 1.55vw, 21px); line-height: 1.5; }
.hero-search { display: flex; align-items: center; gap: 0; width: min(100%, 560px); height: 62px; padding: 0 0 0 20px; border: 1px solid rgba(255,255,255,.3); background: rgba(0,27,53,.58); backdrop-filter: blur(12px); }.search-icon { margin-right: 12px; color: var(--lime); font-size: 27px; line-height: 1; transform: translateY(-2px); }.hero-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--white); font-size: 13px; }.hero-search input::placeholder { color: rgba(250,247,241,.47); }.search-shortcut { margin-right: 14px; color: rgba(250,247,241,.42); font-family: var(--mono); font-size: 9px; }.hero-search__submit { flex: none; align-self: stretch; padding: 0 26px; border: 0; background: var(--lime); color: var(--white); font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: background .18s ease, color .18s ease; }.hero-search__submit:hover { background: var(--white); color: var(--noche, #001b35); }.hero-search__submit:focus-visible { outline: 2px solid var(--white); outline-offset: -4px; }.hero-search input[type=search]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; }.hero-trending { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 14px; color: rgba(250,247,241,.42); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }.hero-trending button { padding: 0; background: transparent; color: var(--lime); font-family: inherit; font-size: inherit; text-decoration: underline; text-underline-offset: 3px; }.hero-trending button:hover { color: var(--white); }
.hero-actions { display: flex; align-items: center; gap: 22px; margin-bottom: 29px; }.button { display: inline-flex; align-items: center; gap: 18px; min-height: 48px; padding: 0 18px 0 22px; border-radius: var(--radius-small); background: var(--coral); color: var(--white); font-family: var(--mono); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; transition: background var(--dur-media) ease, color var(--dur-media) ease, transform var(--dur-media) ease; }.button:hover { background: var(--coral-oscuro); transform: translateY(-2px); }
/* Variante clara sobre fondo oscuro. Se cualifica con .text-link para ganar a la
   regla base .text-link (misma especificidad, declarada más abajo): sin esto el
   enlace del hero hereda color:var(--ink) y queda negro sobre negro. */
.text-link.text-link--light { margin-top: 0; color: rgba(250,247,241,.68); }.text-link.text-link--light:hover { color: var(--lime); }
.visual-hero__aside { position: relative; height: 100%; padding: 39px 0 39px 34px; border-left: 1px solid rgba(250,247,241,.2); }.hero-coordinate { display: flex; justify-content: space-between; color: rgba(250,247,241,.65); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; }.hero-coordinate span { color: var(--lime); }.hero-feature { position: absolute; right: 0; bottom: 87px; width: min(100%, 280px); padding: 23px 22px; border: 1px solid rgba(250,247,241,.38); background: rgba(0,27,53,.5); backdrop-filter: blur(12px); }.hero-feature__label, .hero-feature__caption { display: block; color: var(--lime); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.hero-feature strong { display: block; margin: 15px 0 10px; font-family: var(--serif); font-size: 38px; font-weight: 500; letter-spacing: -.06em; line-height: .9; }.hero-feature strong i { color: var(--white); font-style: normal; }.hero-feature__caption { color: rgba(250,247,241,.6); text-transform: none; letter-spacing: 0; }.hero-feature a { display: flex; align-items: center; justify-content: space-between; margin-top: 25px; padding-top: 14px; border-top: 1px solid rgba(250,247,241,.24); color: var(--white); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.hero-feature a .arrow { color: var(--lime); }.hero-vertical { position: absolute; right: -20px; bottom: 38px; color: rgba(250,247,241,.48); font-family: var(--mono); font-size: 8px; letter-spacing: .12em; transform: rotate(90deg); transform-origin: right bottom; }

/* Fondo oscuro con texto crema, decisión de otra rama (raíl oscuro): sobre
   fondo claro el raíl competía en el mismo registro que las tarjetas de
   alrededor. Usa --noche (no --ink: ese token es el de texto sobre claro en
   este sistema) y el mismo tinte de blanco-crema que el resto del héroe. */
.creator-rail { background: var(--noche); color: var(--white); }.creator-rail__inner { min-height: 94px; display: grid; grid-template-columns: 1.1fr 2.2fr 1fr; align-items: center; gap: 24px; }.creator-rail__label { display: flex; flex-direction: column; gap: 5px; padding-left: 14px; border-left: 1px solid rgba(250,247,241,.3); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }.creator-rail__label small { color: rgba(250,247,241,.53); font-family: var(--sans); font-size: 11px; text-transform: none; letter-spacing: 0; }.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 4px rgba(255,59,47,.14); }.creator-rail__label .live-dot { margin-bottom: -1px; }.creator-rail__people { display: flex; align-items: center; gap: 18px; }.creator-mini { display: flex; align-items: center; gap: 9px; padding: 0; background: transparent; color: var(--white); text-align: left; }.creator-mini:hover strong { text-decoration: underline; text-underline-offset: 3px; }.creator-mini__image { flex: 0 0 37px; display: grid; place-items: center; width: 37px; height: 37px; aspect-ratio: 1; overflow: hidden; border: 2px solid rgba(250,247,241,.4); border-radius: 50%; }.creator-mini__image--lime { border-color: var(--aqua); }.creator-mini__image--coral { border-color: var(--coral); }.creator-mini__image--aqua { border-color: #9CC1DC; }.creator-mini__image--orange { border-color: var(--orange); }.creator-mini__image img { width: 100%; height: 100%; object-fit: cover; }.creator-mini strong, .creator-mini small { display: block; }.creator-mini strong { font-family: var(--serif); font-size: 14px; font-weight: 600; letter-spacing: -.03em; }.creator-mini small { margin-top: 2px; color: rgba(250,247,241,.58); font-family: var(--mono); font-size: 8px; text-transform: uppercase; }.creator-mini em { align-self: flex-start; margin: -2px 0 0 -4px; color: var(--coral); font-size: 12px; font-style: normal; }.creator-rail__current { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-left: 17px; border-left: 1px solid rgba(250,247,241,.3); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }.creator-rail__current span { color: rgba(250,247,241,.52); }.creator-rail__current strong { font-family: var(--serif); font-size: 16px; font-weight: 500; text-transform: none; letter-spacing: -.03em; }.creator-rail__current .arrow { color: var(--coral); }

.category-pills { display: flex; align-items: center; gap: 8px; overflow-x: auto; scrollbar-width: none; flex-wrap: wrap; margin: 0 0 18px; }.category-pills::-webkit-scrollbar { display: none; }.category-pill { display: inline-flex; align-items: center; gap: 7px; padding: 10px 16px; border: 1px solid rgba(0,27,53,.15); border-radius: 999px; background: var(--white); color: var(--ink); font-size: 12px; white-space: nowrap; transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease; }.category-pill span { font-size: 16px; line-height: 1; }.category-pill:hover { border-color: var(--ink); transform: translateY(-1px); }.category-pill--active { border-color: var(--ink); background: var(--ink); color: var(--white); }

/* Reutiliza .section-heading y .destination-showcase tal cual (mismas
   tarjetas que "Explorar"); solo hace falta el ritmo vertical de la
   sección. */
.recommended-section { padding-top: 104px; padding-bottom: 56px; }
.intent-section { padding-top: 122px; padding-bottom: 126px; }.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 45px; }.section-heading h2, .explore-toolbar h2, .authors-section h2, .editorial-copy h2, .newsletter-card h2 { margin: 14px 0 0; font-family: var(--serif); font-size: clamp(50px, 6vw, 82px); font-weight: 500; letter-spacing: -.075em; line-height: .87; }.section-heading h2 em, .authors-section h2 em { color: var(--coral); font-style: normal; }.section-heading p { max-width: 325px; margin: 0 0 5px; color: var(--muted); font-size: 13px; line-height: 1.65; }.section-heading--visual { align-items: flex-end; }.intent-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; }.intent-card { position: relative; min-height: 268px; overflow: hidden; padding: 21px; color: var(--white); text-align: left; background: var(--noche); }.intent-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); transition: transform .45s ease; }.intent-card:hover img, .intent-card--active img { transform: scale(1.08); }.intent-card__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,27,53,.88), rgba(0,27,53,.08) 70%); }.intent-card__icon { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(250,247,241,.55); border-radius: 50%; color: var(--lime); font-size: 27px; }.intent-card__copy { position: absolute; z-index: 1; left: 21px; right: 21px; bottom: 20px; }.intent-card__copy strong, .intent-card__copy small { display: block; }.intent-card__copy strong { font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: -.05em; }.intent-card__copy small { max-width: 135px; margin-top: 7px; color: rgba(250,247,241,.65); font-size: 10px; line-height: 1.35; }.intent-card__check { position: absolute; z-index: 2; right: 17px; top: 18px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--coral); color: var(--white); font-family: var(--mono); font-size: 12px; }.intent-card--active { outline: 3px solid var(--lime); outline-offset: -3px; }

.time-section { padding: 117px 0 125px; background: var(--noche); color: var(--white); }.section-heading--dark .section-kicker { color: var(--lime); }.section-heading--dark h2 { color: var(--white); }.section-heading--dark h2 em { color: var(--lime); font-style: normal; }.section-heading--dark p { color: rgba(250,247,241,.51); }.time-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(250,247,241,.23); border-bottom: 1px solid rgba(250,247,241,.23); }.time-card { position: relative; min-height: 170px; display: flex; flex-direction: column; align-items: flex-start; padding: 22px; background: transparent; color: var(--white); text-align: left; transition: background .25s ease; }.time-card + .time-card { border-left: 1px solid rgba(250,247,241,.23); }.time-card:hover, .time-card--active { background: #0A3157; }.time-card__number { color: var(--coral); font-family: var(--mono); font-size: 21px; }.time-card__copy { margin-top: auto; }.time-card__copy strong, .time-card__copy small { display: block; }.time-card__copy strong { font-family: var(--serif); font-size: 23px; font-weight: 500; letter-spacing: -.05em; }.time-card__copy small { margin-top: 5px; color: rgba(250,247,241,.48); font-size: 10px; }.time-card > .arrow { position: absolute; top: 21px; right: 21px; color: var(--lime); }

.region-section { padding: 110px 0 115px; background: var(--noche); color: var(--white); }.region-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 34px; }.region-heading h2 { margin: 14px 0 0; font-family: var(--serif); font-size: clamp(43px, 5vw, 70px); font-weight: 500; letter-spacing: -.07em; line-height: .9; }.region-heading p { color: rgba(250,247,241,.58); font-size: 13px; }.region-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }.region-card { position: relative; min-height: 130px; display: flex; flex-direction: column; align-items: flex-start; padding: 20px; border: 1px solid rgba(250,247,241,.2); border-radius: 14px; background: #0A2C4E; color: var(--white); text-align: left; transition: background .25s ease, border-color .25s ease, transform .25s ease; }.region-card:hover, .region-card--active { border-color: var(--lime); background: #12406E; transform: translateY(-3px); }.region-card__icon { font-size: 25px; line-height: 1; }.region-card__index { position: absolute; top: 22px; right: 20px; color: rgba(250,247,241,.42); font-family: var(--mono); font-size: 9px; }.region-card strong { margin-top: 18px; font-family: var(--serif); font-size: 19px; font-weight: 500; }.region-card small { margin-top: 5px; color: rgba(250,247,241,.55); font-size: 10px; }.region-card .arrow { position: absolute; right: 20px; bottom: 17px; color: var(--coral); }

.explore-section { padding: 112px 0 126px; background: var(--paper-2); }.explore-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 29px; }.explore-toolbar h2 { font-size: clamp(43px, 5vw, 70px); }.heading-dot { color: var(--coral); }.explore-count { display: flex; align-items: center; gap: 11px; margin-bottom: 9px; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }.explore-count strong { color: var(--coral); font-family: var(--serif); font-size: 31px; font-weight: 500; letter-spacing: -.06em; }.active-filters { min-height: 22px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 27px; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }.active-filters button { padding: 7px 10px; background: var(--white); color: var(--ink); font-family: inherit; font-size: inherit; }.active-filters .clear-filter { background: transparent; color: var(--coral); text-decoration: underline; text-underline-offset: 3px; }.destination-showcase { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }.destination-card { display: block; overflow: hidden; background: var(--white); transition: transform .25s ease, box-shadow .25s ease; }.destination-card:hover { transform: translateY(-5px); box-shadow: 0 20px 35px rgba(0,27,53,.13); }.destination-card--featured { grid-column: span 2; }.destination-card__image { position: relative; height: 270px; overflow: hidden; background: #e8ecef; }.destination-card--featured .destination-card__image { height: 432px; }.destination-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }.destination-card:hover .destination-card__image img { transform: scale(1.05); }.destination-card__veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,27,53,.72), transparent 62%); }.destination-card__tag { position: absolute; top: 17px; left: 18px; right: 18px; display: flex; justify-content: space-between; color: var(--lime); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }.destination-card__arrow { position: absolute; right: 18px; bottom: 17px; display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid rgba(250,247,241,.5); border-radius: 50%; color: var(--white); }.destination-card__stamp { position: absolute; left: 18px; bottom: 20px; color: rgba(250,247,241,.73); font-family: var(--mono); font-size: 8px; letter-spacing: .1em; }.destination-card__stamp span { color: var(--lime); }.destination-card__body { padding: 18px 18px 17px; }.destination-card__meta { display: flex; justify-content: space-between; gap: 12px; color: var(--coral); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.destination-card h3 { margin: 13px 0 18px; font-family: var(--serif); font-size: 27px; font-weight: 500; letter-spacing: -.055em; line-height: 1.04; }
/* El subtítulo va dentro del titular, a su mismo cuerpo: es la segunda mitad
   de la misma frase, no un renglón menor. El interlineado sube un punto
   respecto al titular solo porque ahora hay varias líneas seguidas. */
.destination-card__sub { color: var(--ink); }.destination-card p { margin-bottom: 20px; color: var(--muted); font-size: 11px; }.destination-card__footer { display: flex; justify-content: space-between; gap: 8px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }.destination-card__footer span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.destination-card__read { color: var(--ink); }.empty-state { grid-column: 1 / -1; padding: 68px 20px; text-align: center; }.empty-state > span { color: var(--coral); font-size: 26px; }.empty-state h3 { margin: 17px 0 8px; font-family: var(--serif); font-size: 31px; font-weight: 500; }.empty-state p { color: var(--muted); font-size: 13px; }.empty-state button { margin-top: 15px; padding: 12px 16px; background: var(--ink); color: var(--white); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
/* Firma del editor sobre la imagen destacada de cada guía. Ocupa el sitio del
   antiguo sello de marca; convive con la flecha de la esquina inferior derecha. */
.destination-card__byline { position: absolute; z-index: 1; left: 18px; bottom: 15px; display: flex; align-items: center; gap: 9px; max-width: calc(100% - 68px); }
.destination-card__byline img { flex: 0 0 auto; width: 34px; height: 34px; border: 2px solid var(--lime); border-radius: 50%; object-fit: cover; background: var(--paper-2); }
.destination-card__byline strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.destination-card__byline strong { color: var(--white); font-family: var(--serif); font-size: 14px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; }
.destination-card--featured .destination-card__byline { bottom: 18px; }
.destination-card--featured .destination-card__byline img { width: 46px; height: 46px; }
.destination-card--featured .destination-card__byline strong { font-size: 19px; }
@media (max-width: 430px) { .destination-card__byline img { width: 30px; height: 30px; }.destination-card__byline strong { font-size: 13px; } }

.explore-side { display: flex; align-items: flex-end; gap: 24px; }
.budget-filter { display: flex; flex-direction: column; gap: 7px; color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.budget-filter select { min-width: 190px; height: 42px; padding: 0 34px 0 13px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 11px; }

.authors-section { padding-top: 126px; padding-bottom: 138px; }.author-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }.author-card { position: relative; display: flex; flex-direction: column; overflow: hidden; background: var(--white); }.author-card__image { position: relative; height: 270px; overflow: hidden; background: var(--paper-2); }.author-card__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75); transition: transform .4s ease; }.author-card:hover .author-card__image img { transform: scale(1.05); }.author-card__image span { position: absolute; right: 17px; top: 16px; color: var(--white); font-family: var(--mono); font-size: 9px; }.author-card__body { display: flex; flex-direction: column; padding: 18px 18px 22px; }.author-card__body strong { font-family: var(--serif); font-size: 25px; font-weight: 500; letter-spacing: -.05em; }.author-card__body span { margin-top: 5px; color: var(--coral); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.author-card__body small { margin-top: 15px; color: var(--muted); font-size: 10px; }.author-card > .arrow { position: absolute; right: 18px; bottom: 18px; color: var(--ink); }.author-card--lime { border-top: 5px solid var(--lime); }.author-card--coral { border-top: 5px solid var(--coral); }.author-card--aqua { border-top: 5px solid var(--aqua); }.author-card--orange { border-top: 5px solid var(--orange); }

.editorial-section { display: grid; grid-template-columns: 1fr 1fr; gap: 88px; align-items: center; padding-bottom: 138px; }.editorial-image { position: relative; height: 580px; overflow: hidden; }.editorial-image img { width: 100%; height: 100%; object-fit: cover; }.editorial-image span { position: absolute; left: 20px; top: 19px; color: var(--white); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.editorial-copy { max-width: 520px; }.editorial-copy h2 { margin: 18px 0 23px; font-size: clamp(43px, 5vw, 70px); }.editorial-copy > p { max-width: 410px; color: var(--muted); font-size: 14px; line-height: 1.7; }.text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 14px; color: var(--ink); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.text-link:hover { color: var(--coral); }.editorial-next { display: flex; flex-direction: column; gap: 8px; max-width: 330px; margin-top: 54px; padding-top: 15px; border-top: 1px solid var(--line); }.editorial-next span { color: var(--muted); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }.editorial-next strong { font-family: var(--serif); font-size: 19px; font-weight: 500; }.editorial-next .arrow { color: var(--coral); }

.newsletter-section { padding-bottom: 126px; }.newsletter-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; padding: 69px 72px 61px; background: var(--coral); color: var(--ink); }.newsletter-card .section-kicker { color: rgba(0,27,53,.56); }.newsletter-card h2 { margin-top: 18px; font-size: clamp(48px, 5.5vw, 78px); }.newsletter-card h2 em { color: var(--white); font-style: normal; }.newsletter-form-wrap { align-self: center; padding-top: 13px; }.newsletter-form-wrap > p { max-width: 400px; margin-bottom: 23px; color: rgba(0,27,53,.68); font-size: 13px; line-height: 1.58; }.newsletter-form-wrap form { display: flex; max-width: 470px; border-bottom: 1px solid rgba(0,27,53,.56); }.newsletter-form-wrap input { flex: 1; min-width: 0; padding: 13px 0; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 13px; }.newsletter-form-wrap input::placeholder { color: rgba(0,27,53,.5); }.newsletter-form-wrap button { display: inline-flex; align-items: center; gap: 15px; padding: 0 0 0 15px; background: transparent; color: var(--ink); font-family: var(--mono); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.newsletter-form-wrap small { display: block; margin-top: 13px; color: rgba(0,27,53,.48); font-family: var(--mono); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }.success-message { display: flex; align-items: center; gap: 13px; }.success-message > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--lime); }.success-message strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }.success-message p { margin: 3px 0 0; color: rgba(0,27,53,.58); font-size: 12px; }

/* El pie vive ahora en assets/css/footer-comun.css (pie-global), compartido con que-incluyen y las páginas institucionales. */

@media (max-width: 1100px) { .shell { width: min(var(--shell), calc(100% - 48px)); }.intent-grid { grid-template-columns: repeat(3, 1fr); }.intent-card:nth-child(4), .intent-card:nth-child(5) { min-height: 220px; }.destination-showcase { grid-template-columns: repeat(3, minmax(0,1fr)); }.destination-card--featured { grid-column: span 2; }.author-grid { grid-template-columns: repeat(2, 1fr); }.creator-rail__inner { grid-template-columns: .8fr 2fr; }.creator-rail__current { display: none; } }
@media (max-width: 760px) { .shell { width: calc(100% - 36px); }.nav-shell { height: 68px; gap: 0; }.brand-wordmark { font-size: 16px; }.main-nav { position: absolute; top: 68px; left: 0; right: 0; display: none; flex-direction: column; align-items: flex-start; gap: 0; padding: 12px 18px 18px; background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.15); }.main-nav--open { display: flex; }.main-nav a { width: 100%; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.1); }.nav-ctas { display: none; }.nav-only-mobile { display: block; }.menu-toggle { display: block; margin-left: auto; }.visual-hero, .visual-hero__inner { min-height: 750px; }.visual-hero__veil { background: linear-gradient(0deg, rgba(0,27,53,.97) 5%, rgba(0,27,53,.2) 80%), linear-gradient(90deg, rgba(0,27,53,.6), transparent); }.visual-hero__inner { display: flex; flex-direction: column; align-items: stretch; }.visual-hero__copy { padding: 87px 0 30px; }.visual-hero h1 { font-size: clamp(34px, 7.2vw, 52px); }.visual-hero__copy > p { max-width: 100%; font-size: 16px; }.visual-hero__aside { display: block; height: 270px; margin-left: 28px; padding: 0 0 20px 18px; border-left: 1px solid rgba(255,255,255,.35); }.hero-coordinate { position: absolute; top: 0; left: 18px; right: 0; }.hero-feature { right: 0; bottom: 18px; width: min(100%, 300px); padding: 18px; }.hero-feature strong { font-size: 31px; }.hero-vertical { display: none; }.creator-rail__inner { display: block; min-height: 0; padding: 22px 0 18px; }.creator-rail__label { margin-bottom: 17px; padding-left: 0; border-left: 0; }.creator-rail__people { gap: 16px; overflow-x: auto; padding-bottom: 4px; }.creator-mini { flex: 0 0 auto; }.creator-mini > span:last-of-type { display: none; }.creator-rail__current { display: flex; justify-content: flex-start; margin-top: 17px; padding: 13px 0 0; border-top: 1px solid rgba(0,27,53,.27); border-left: 0; }.intent-section, .explore-section, .authors-section { padding-top: 83px; padding-bottom: 87px; }.section-heading { display: block; margin-bottom: 30px; }.section-heading p { margin-top: 24px; }.intent-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }.intent-card { min-height: 220px; padding: 15px; }.intent-card:nth-child(5) { grid-column: span 2; min-height: 160px; }.intent-card__copy { left: 15px; right: 15px; bottom: 15px; }.intent-card__copy strong { font-size: 21px; }.intent-card__copy small { font-size: 9px; }.time-section { padding: 82px 0 87px; }.time-grid { grid-template-columns: 1fr 1fr; }.time-card { min-height: 153px; padding: 16px; }.time-card:nth-child(even) { border-left: 1px solid rgba(255,255,255,.23); }.time-card:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.23); }.time-card__copy strong { font-size: 21px; }.explore-toolbar { display: block; }.explore-count { margin-top: 22px; }.active-filters { margin-top: 19px; }.destination-showcase { grid-template-columns: 1fr 1fr; gap: 10px; }.destination-card--featured { grid-column: span 2; }.destination-card__image, .destination-card--featured .destination-card__image { height: 230px; }.destination-card--featured .destination-card__image { height: 360px; }.destination-card__body { padding: 15px; }.destination-card h3 { font-size: 22px; }.destination-card p { min-height: 30px; line-height: 1.35; }.destination-card__footer span:first-child { max-width: 105px; }.author-grid { grid-template-columns: 1fr 1fr; gap: 10px; }.author-card__image { height: 205px; }.author-card__body { padding: 14px 14px 19px; }.author-card__body strong { font-size: 21px; }.author-card__body span { font-size: 7px; }.editorial-section { display: flex; flex-direction: column; gap: 42px; padding-bottom: 87px; }.editorial-image { width: 100%; height: 450px; }.editorial-copy { width: 100%; }.newsletter-section { padding-bottom: 83px; }.newsletter-card { display: block; padding: 44px 24px 41px; }.newsletter-form-wrap { padding-top: 42px; }}
@media (max-width: 430px) { .visual-hero h1 { font-size: 34px; }.hero-search { height: 56px; }.hero-search input { font-size: 11px; }.search-shortcut { display: none; }.hero-search__submit { padding: 0 16px; }.intent-grid, .destination-showcase { grid-template-columns: 1fr; }.intent-card:nth-child(5), .destination-card--featured { grid-column: auto; }.intent-card, .intent-card:nth-child(5) { min-height: 210px; }.destination-card--featured .destination-card__image { height: 350px; }.author-grid { grid-template-columns: 1fr; }.author-card__image { height: 250px; }.section-heading h2, .explore-toolbar h2, .authors-section h2, .editorial-copy h2, .newsletter-card h2 { font-size: 50px; } }

/* Entre 760 y 1080 la barra lleva dos botones y aún no hay menú hamburguesa:
   se aprieta lo justo para que ninguno de los dos se parta en varias líneas. */
@media (min-width: 761px) and (max-width: 1080px) {
  .main-nav { gap: 20px; font-size: 12px; }
  .nav-ctas { gap: 6px; }
  .nav-cta { padding: 10px 11px; letter-spacing: .04em; }
  .nav-cta .arrow { display: none; }
}
@media (min-width: 761px) and (max-width: 900px) { .language-switch { display: none; } }

@media (max-width: 1100px) { .region-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .hero-actions { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }.category-pills { margin-right: -18px; padding-right: 18px; }.region-section { padding: 82px 0 87px; }.region-heading { display: block; margin-bottom: 28px; }.region-heading p { margin-top: 20px; }.region-grid { grid-template-columns: 1fr 1fr; gap: 9px; }.region-card { min-height: 155px; padding: 16px; }.region-card strong { font-size: 17px; }.region-card small { font-size: 9px; line-height: 1.3; }.region-card__index { top: 17px; right: 16px; }.region-card .arrow { right: 16px; bottom: 14px; } }

@media (max-width: 760px) {
  .language-switch { margin-left: auto; margin-right: 12px; }
  .menu-toggle { margin-left: 0; }
  .explore-side { align-items: flex-start; justify-content: space-between; margin-top: 22px; }
  .explore-count { margin-top: 0; }
  .budget-filter select { min-width: 168px; }
}

@media (max-width: 430px) {
  .language-switch { display: none; }
  .explore-side { flex-direction: column; gap: 14px; }
  .budget-filter, .budget-filter select { width: 100%; }
}

/* Rediseño comercial 2026 */
.visual-hero h1,.section-heading h2,.explore-toolbar h2,.guide-value-heading h2,.authors-section h2,.editorial-copy h2,.newsletter-card h2,.region-heading h2{letter-spacing:-.035em;line-height:.96}
.explore-section{padding:92px 0 102px}.destination-showcase{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.destination-card{height:100%;display:flex;flex-direction:column}.destination-card__body{flex:1;display:flex;flex-direction:column}.destination-card__footer{margin-top:auto}
.guide-value-section{padding:115px 0 120px;background:var(--paper)}.guide-value-heading{display:grid;grid-template-columns:1.25fr .55fr;gap:80px;align-items:end}.guide-value-heading h2{margin:18px 0 0;font-family:var(--serif);font-size:clamp(53px,6vw,86px);font-weight:500}.guide-value-heading h2 em{color:var(--coral);font-style:normal}.guide-value-price{padding:28px;border:1px solid var(--line);background:var(--white)}.guide-value-price>span{color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}.guide-value-price>strong{display:block;margin:8px 0 12px;color:var(--coral);font-family:var(--serif);font-size:76px;font-weight:500;line-height:.9}.guide-value-price sup{font-family:var(--sans);font-size:26px}.guide-value-price p{color:var(--muted);font-size:12px;line-height:1.6}
/* Los dos CTA del bloque comercial. El principal lleva a la página larga
   (/que-incluyen-las-guias); el secundario devuelve al catálogo. */
.guide-value-intro>p{max-width:520px;margin:22px 0 0;color:var(--muted);font-size:14px;line-height:1.65}
.guide-value-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:14px 26px;margin-top:28px}
.guide-value-ctas .text-link{margin-top:0}
.comparison-wrap{margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.comparison-wrap>summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:29px 0;cursor:pointer;list-style:none}.comparison-wrap>summary::-webkit-details-marker{display:none}.comparison-wrap>summary>span:first-child{display:flex;flex-direction:column;gap:9px}.comparison-wrap>summary small{color:var(--coral);font-family:var(--mono);font-size:9px;text-transform:uppercase}.comparison-wrap>summary strong{font-family:var(--serif);font-size:clamp(27px,3vw,43px);font-weight:500}.comparison-toggle{display:inline-flex;align-items:center;gap:15px;font-family:var(--mono);font-size:9px;text-transform:uppercase}.comparison-toggle b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:18px;font-weight:400;transition:transform .25s}.comparison-wrap[open] .comparison-toggle b{transform:rotate(45deg)}.comparison-content{padding:7px 0 32px}.comparison-table{border-top:1px solid var(--line);border-left:1px solid var(--line)}.comparison-row{display:grid;grid-template-columns:.72fr 1fr 1fr 1.15fr}.comparison-row>div{min-height:90px;display:flex;flex-direction:column;justify-content:center;padding:17px 19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(250,247,241,.6);font-size:12px}.comparison-row>div:first-child{color:var(--muted);font-family:var(--mono);font-size:9px;text-transform:uppercase}.comparison-row strong{font-family:var(--serif);font-size:21px;font-weight:500}.comparison-row small{margin-top:5px;color:var(--muted);font-size:9px}.comparison-row--head>div{min-height:72px;background:var(--ink);color:rgba(255,255,255,.7)}.comparison-row .comparison-best{background:#ffefee;color:var(--ink)}.comparison-row--head .comparison-best{background:var(--lime)}.comparison-row--head .comparison-best span{display:inline-flex;width:max-content;margin-bottom:6px;padding:4px 7px;background:var(--coral);color:white;font-size:7px}.comparison-mobile-note{display:none}
.seasonal-inline{margin-top:90px;padding-top:72px;border-top:1px solid var(--line)}.seasonal-inline__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:32px}.seasonal-inline__heading h3{max-width:700px;margin:15px 0 0;font-family:var(--serif);font-size:clamp(38px,4.6vw,62px);font-weight:500;line-height:.98}.seasonal-inline__heading h3 em{color:var(--coral);font-style:normal}.seasonal-inline__heading p{max-width:365px;margin:0;color:var(--muted);font-size:13px;line-height:1.65}.seasonal-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.seasonal-feature{position:relative;min-height:540px;overflow:hidden;color:var(--white)}.seasonal-feature>img,.seasonal-feature__veil{position:absolute;inset:0;width:100%;height:100%}.seasonal-feature>img{object-fit:cover}.seasonal-feature__veil{background:linear-gradient(90deg,rgba(0,27,53,.96),rgba(0,27,53,.58) 62%,rgba(0,27,53,.12)),linear-gradient(0deg,rgba(0,27,53,.85),transparent 60%)}.seasonal-feature--christmas .seasonal-feature__veil{background:linear-gradient(90deg,rgba(30,12,15,.96),rgba(45,18,22,.58) 62%,rgba(20,10,12,.12)),linear-gradient(0deg,rgba(28,10,13,.88),transparent 60%)}.seasonal-feature__index{position:absolute;z-index:2;top:24px;right:24px;color:rgba(255,255,255,.65);font-family:var(--mono);font-size:8px;text-transform:uppercase}.seasonal-feature__copy{position:relative;z-index:2;width:90%;padding:62px 35px 105px}.seasonal-feature__kicker{color:var(--lime);font-family:var(--mono);font-size:8px;text-transform:uppercase}.seasonal-feature--christmas .seasonal-feature__kicker{color:#efb36a}.seasonal-feature h3{margin:22px 0;font-family:var(--serif);font-size:clamp(48px,5vw,70px);font-weight:500;line-height:.88}.seasonal-feature h3 em{color:var(--lime);font-style:normal}.seasonal-feature--christmas h3 em{color:#efb36a}.seasonal-feature__copy p{max-width:390px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.6}.seasonal-tags{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 24px}.seasonal-tags span{padding:7px 9px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-family:var(--mono);font-size:7px;text-transform:uppercase}.seasonal-button{display:inline-flex;align-items:center;gap:16px;min-height:45px;padding:0 17px;background:var(--lime);color:var(--ink);font-family:var(--mono);font-size:8px;text-transform:uppercase}.seasonal-feature--christmas .seasonal-button{background:#efb36a}.seasonal-feature__details{position:absolute;z-index:2;left:35px;right:25px;bottom:24px;padding-top:17px;border-top:1px solid rgba(255,255,255,.28)}.seasonal-feature__details strong{font-family:var(--serif);font-size:18px;font-weight:500}
.region-heading{display:block;margin-bottom:35px}.region-heading h2{margin:0}.region-card{min-height:205px;overflow:hidden;justify-content:flex-end;border-radius:0;background-position:center;background-size:cover}.region-card::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(0,27,53,.96),rgba(0,27,53,.38) 68%,rgba(0,27,53,.12))}.region-card>*{position:relative;z-index:1}.region-card__icon{position:absolute;top:19px;left:19px}.region-card strong{margin-top:0;font-size:21px}.region-card small{color:rgba(255,255,255,.72)}.region-card:nth-child(1){background-image:url("https://images.unsplash.com/photo-1533104816931-20fa691ff6ca?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(2){background-image:url("https://images.unsplash.com/photo-1509356843151-3e7d96241e11?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(3){background-image:url("https://images.unsplash.com/photo-1493976040374-85c8e12f0c0e?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(4){background-image:url("https://images.unsplash.com/photo-1483729558449-99ef09a8c325?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(5){background-image:url("https://images.unsplash.com/photo-1489493585363-d69421e0edd3?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(6){background-image:url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(7){background-image:url("https://images.unsplash.com/photo-1523482580672-f109ba8cb9be?auto=format&fit=crop&w=900&q=82")}.region-card:nth-child(8){background-image:url("https://images.unsplash.com/photo-1516550893923-42d28e5677af?auto=format&fit=crop&w=900&q=82")}
@media(max-width:1100px){.destination-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-value-heading{grid-template-columns:1fr .5fr;gap:40px}.comparison-content{overflow-x:auto}.comparison-table{min-width:900px}}
@media(max-width:760px){.guide-value-section{padding:82px 0}.guide-value-heading{grid-template-columns:1fr;gap:34px}.comparison-wrap>summary{align-items:flex-start;flex-direction:column}.seasonal-inline{margin-top:64px;padding-top:54px}.seasonal-inline__heading{display:block}.seasonal-inline__heading p{margin-top:20px}.seasonal-stack{grid-template-columns:1fr}.seasonal-feature{min-height:570px}.region-card{min-height:190px}}
@media(max-width:430px){.destination-showcase,.region-grid{grid-template-columns:1fr}}


/* Consentimiento de la newsletter. Estaba escrito como `style="..."` en el
   propio <label>; se trae aquí para que la CSP pueda prescindir de
   'unsafe-inline' en style-src (requisito 12). */
.nl-consent {
  display: flex; gap: 8px; align-items: flex-start;
  margin-top: 12px; font-size: .78rem; line-height: 1.45; cursor: pointer;
}
.nl-consent input[type="checkbox"] { margin-top: 2px; flex: 0 0 auto; }

/* Ver más destinos — el catálogo pasó de 62 fichas a más de 600 y la rejilla se
   pinta por tandas (assets/js/pages/index.js, PAGINA). El botón solo existe
   mientras queden destinos por enseñar. */
.explore-more { display: flex; justify-content: center; margin-top: 34px; }
.explore-more:empty { display: none; margin-top: 0; }
.explore-more__btn {
  display: inline-flex; align-items: center; gap: 12px;
  padding: 16px 30px; border: 1px solid var(--ink); background: transparent; color: var(--ink);
  font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .08em;
  cursor: pointer; transition: background .2s ease, color .2s ease;
}
.explore-more__btn:hover { background: var(--ink); color: var(--white); }
.explore-more__btn small { color: var(--coral); font-size: 9px; letter-spacing: .06em; }
.explore-more__btn:hover small { color: var(--lime); }

/* ═══════════════ Titulares en la sans de marca ═══════════════
   El diseño anterior componía el display en una serifa (Lora) con tracking
   -.075em y línea .83 — medidas de ESA fuente. Con la sans de marca en bold,
   ese apretado corta ascendentes y pega palabras: se relaja aquí, en un solo
   sitio, en vez de reescribir cada regla. */
.visual-hero h1,
.section-heading h2, .explore-toolbar h2, .authors-section h2,
.editorial-copy h2, .newsletter-card h2, .region-heading h2 {
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: .97;
}
.hero-feature strong, .intent-card__copy strong, .time-card__copy strong,
.region-card strong, .creator-mini strong, .creator-rail__current strong {
  font-weight: 700;
  letter-spacing: -.02em;
}
/* Las etiquetas editoriales (el papel que hacía la mono) suben al mínimo
   legible del manual y ganan peso para sostener el tracking abierto. */
.eyebrow, .section-kicker, .signal-kicker { font-size: 11px; font-weight: 600; }

/* ══════════ Tarjeta de guía: duración y destacados ══════════
   El rediseño de las tarjetas del catálogo. Dos cosas nuevas y una que se
   va: la DURACIÓN real sube a la esquina de la imagen (donde antes había
   una etiqueta genérica que no decía nada), el bloque de DESTACADOS baja al
   cuerpo con la cifra grande, y la línea de metadatos de debajo desaparece
   porque repetía la región y la colección que ya se leen sobre la foto. */

/* La duración, a la derecha de la región. Va en coral y con más cuerpo que
   el resto del rótulo: es el dato que más se busca de un vistazo. Lleva su
   propia sombra porque cae sobre la parte clara de la foto, donde el velo
   inferior no llega — sin ella, en una imagen a contraluz se perdía. */
.destination-card__dias {
  color: var(--coral);
  font-weight: 600;
  letter-spacing: .08em;
  text-shadow: 0 1px 6px rgba(0,27,53,.55);
}
.destination-card__tag > span:first-child { text-shadow: 0 1px 6px rgba(0,27,53,.45); }

.destination-card__highlights {
  margin: 0 0 16px;
  padding: 13px 0 0;
  border-top: 1px solid var(--line);
}
/* La cifra grande: «86 puntos de interés». */
.destination-card__poi { margin: 0 0 9px; color: var(--ink); font-size: 11px; }
.destination-card__poi b {
  margin-right: 5px;
  color: var(--coral);
  font-family: var(--serif);
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -.05em;
  vertical-align: -2px;
}
.destination-card__highlights ul {
  display: grid;
  gap: 5px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.destination-card__highlights li {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.destination-card__highlights li b {
  flex: 0 0 auto;
  min-width: 20px;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 600;
}
/* Dos líneas como máximo por destacado (§13): un rótulo largo se corta en
   vez de empujar la tarjeta y descuadrar la rejilla. */
.destination-card__highlights li span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* La destacada es más ancha: sus microdestacados caben en dos columnas. */
.destination-card--featured .destination-card__highlights ul { grid-template-columns: 1fr 1fr; }

@media (max-width: 760px) {
  /* En móvil la tarjeta es estrecha: una sola columna de destacados y la
     cifra grande algo más contenida, para que no se coma el titular. */
  .destination-card--featured .destination-card__highlights ul { grid-template-columns: 1fr; }
  .destination-card__poi b { font-size: 22px; }
  .destination-card__highlights { margin-bottom: 14px; }
}

/* ── «Menos listas. Más criterio.» ─────────────────────────────────────────
   Sustituye al muro de ocho beneficios + pestañas + cifras de ahorro que
   ocupaba media portada. Viene del paquete de diseño (sección `promise`),
   traducido a los tokens de esta hoja: --noche, --lime (el coral) y la
   serifa de los titulares, en vez de los colores sueltos del paquete.

   La rejilla de principios usa `gap:1px` sobre un fondo claro para dibujar
   las separaciones con el propio hueco, sin bordes que se dupliquen en las
   esquinas. */
.promesa { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(40px, 6vw, 100px);
  padding: clamp(64px, 8vw, 100px) clamp(22px, 8vw, 130px); position: relative; overflow: hidden;
  background: var(--noche); color: var(--white); }
/* El círculo coral del diseño, recortado por el overflow de la sección. */
.promesa::after { content: ''; position: absolute; width: 240px; height: 240px; border-radius: 50%;
  background: var(--lime); right: -145px; bottom: -90px; }
.promesa__intro { position: relative; z-index: 1; }
.promesa__rotulo { margin: 0 0 25px; color: var(--lime); font-family: var(--mono); font-size: 11px;
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
/* La columna de la izquierda mide ~.72fr, mucho menos que en el diseño de
   origen: con su clamp de 74px el titular rompía en CUATRO líneas («Menos /
   listas. / Más / criterio.») en vez de dos. */
.promesa h2 { margin: 0; font-family: var(--serif); font-size: clamp(32px, 3.5vw, 54px);
  font-weight: 500; line-height: 1.02; letter-spacing: -.04em; }
.promesa h2 em { font-style: normal; color: var(--lime); }
.promesa__lede { max-width: 350px; margin: 26px 0 0; color: rgba(250,247,241,.72); font-size: 15px; line-height: 1.55; }
.promesa__enlace { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px;
  padding-bottom: 9px; border-bottom: 1px solid var(--lime); color: var(--white);
  font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; text-decoration: none; }
.promesa__enlace:hover { color: var(--lime); }

.principios { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: rgba(255,255,255,.18); }
.principios article { background: var(--noche); padding: 18px 26px 30px; }
.principios span { color: var(--lime); font-family: var(--mono); font-size: 12px; font-weight: 700; }
/* Los tres títulos son preguntas cortas y tienen que caber en una línea:
   «¿Por qué / ir?» partido en dos se lee como dos preguntas distintas. */
.principios h3 { margin: 68px 0 14px; font-family: var(--serif); font-size: clamp(20px, 1.75vw, 25px);
  font-weight: 500; line-height: 1.1; text-wrap: balance; }
.principios p { margin: 0; color: rgba(250,247,241,.72); font-size: 14px; line-height: 1.55; }

@media (max-width: 1000px) { .promesa { grid-template-columns: 1fr; gap: 46px; } }
@media (max-width: 680px) {
  .principios { grid-template-columns: 1fr; }
  .principios h3 { margin-top: 28px; }
  .promesa__lede { max-width: 100%; }
}

/* ── Guía a medida: el destacado del configurador (/guia-medida). ──
   Banda editorial en azul noche, serif y una sola llamada coral. Mismos
   tokens locales que el resto de la hoja. */
.medida-section { padding: 0 0 122px; }
.medida-card { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: var(--noche); color: var(--white); }
.medida-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 64px 60px 58px; }
.medida-kicker { color: var(--coral); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .14em; }
.medida-copy h2 { margin: 20px 0 0; font-family: var(--serif); font-size: clamp(40px, 4.6vw, 64px); font-weight: 500; letter-spacing: -.045em; line-height: .96; }
.medida-copy h2 em { color: var(--coral); font-style: italic; }
.medida-copy > p { max-width: 430px; margin: 22px 0 0; color: rgba(250,247,241,.68); font-size: 14px; line-height: 1.65; }
.medida-puntos { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.medida-puntos li { padding: 8px 14px; border: 1px solid rgba(250,247,241,.3); border-radius: 999px; font-size: 11px; letter-spacing: .04em; }
.medida-cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 34px; min-height: 52px; padding: 0 26px; background: var(--coral); color: var(--white); font-size: 14px; font-weight: 600; transition: background .2s ease; }
.medida-cta:hover { background: var(--coral-oscuro); }
.medida-visual { position: relative; min-height: 420px; }
.medida-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.medida-visual__velo { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,27,53,.55), transparent 45%); }
.medida-visual__pie { position: absolute; left: 26px; right: 26px; bottom: 22px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.35); font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; color: rgba(250,247,241,.85); }
@media (max-width: 900px) {
  .medida-section { padding-bottom: 87px; }
  .medida-card { grid-template-columns: 1fr; }
  .medida-copy { padding: 44px 26px 42px; }
  .medida-visual { min-height: 300px; }
}
/* El enlace del menú al configurador, destacado en coral sobre el azul. */
.main-nav .nav-medida { color: var(--coral); font-weight: 600; }
