@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/DMSerifDisplay-Regular.ttf") format("truetype");}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/DMSerifDisplay-Italic.ttf") format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/Manrope-400.ttf") format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/Manrope-500.ttf") format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/Manrope-600.ttf") format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/Manrope-700.ttf") format("truetype");}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/Manrope-800.ttf") format("truetype");}

/**
 * Estilo «Cuaderno de ruta»: marfil táctil, tinta azul, Coral Sobremesa y estructura editorial.
 * La navegación se mantiene fija sin contenedores transformados u overflow que invaliden sticky.
 */

:root {
  --ink: #133451;
  --ink-deep: #0b2238;
  --coral: #f35e4d;
  --coral-dark: #dc4536;
  --paper: #fffaf0;
  --warm: #f4eddf;
  --olive: #7c8562;
  --sand: #d7bc88;
  --muted-ink: #607383;
  --line: rgba(19, 52, 81, 0.16);
  --background: var(--paper);
  --foreground: var(--ink-deep);
  --border: var(--line);
  --primary: var(--ink);
  --primary-foreground: var(--paper);
  --radius: 0.6rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink-deep); font-family: "Manrope", Arial, sans-serif; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
main { overflow: visible; }

.shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.section-space { padding-block: 118px; }
.section-space--short { padding-block: 58px; }
.display-font, h1, h2, h3 { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; letter-spacing: -0.035em; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--coral-dark); font-size: 11px; font-weight: 800; letter-spacing: .14em; line-height: 1; text-transform: uppercase; }
.eyebrow span { width: 18px; height: 1px; display: inline-block; background: currentColor; }
.eyebrow--light { color: #ffd4cb; }
.stamp { display: inline-flex; align-items: center; width: max-content; border: 1px solid rgba(255,255,255,.5); color: #fff; padding: 6px 9px 5px; font-size: 9px; line-height: 1; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; transform: rotate(-2deg); }
.stamp--coral { background: var(--coral); color: #fff; border-color: var(--coral); }
.stamp--ink { color: var(--ink); border-color: var(--ink); }
.stamp--paper { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 47px; padding: 0 18px; font-size: 12px; font-weight: 800; letter-spacing: .02em; border: 1px solid transparent; transition: transform 160ms cubic-bezier(.23,1,.32,1), background-color 160ms, color 160ms; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: scale(.97); }
.button--coral { background: var(--coral); color: #fff; }
.button--coral:hover { background: var(--coral-dark); }
.button--ink { background: var(--ink); color: #fff; }
.button--paper { background: var(--paper); color: var(--ink); }
.button--ghost-light { border-color: rgba(255,255,255,.5); color: #fff; }
.text-arrow, .small-link { display: inline-flex; align-items: center; gap: 6px; color: var(--ink); font-size: 12px; font-weight: 800; }
.text-arrow:hover, .small-link:hover { color: var(--coral-dark); }

/* Header */
.sale-strip { background: var(--coral); color: #fff; min-height: 34px; position: relative; z-index: 45; }
.sale-strip__inner { min-height: 34px; display: flex; align-items: center; gap: 9px; font-size: 10px; line-height: 1.2; }
.sale-strip__label { border-right: 1px solid rgba(255,255,255,.45); padding-right: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; white-space: nowrap; }
.sale-strip__copy { opacity: .95; flex: 1; }
.sale-strip__link { font-weight: 800; display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.sticky-nav { position: sticky; top: 0; z-index: 40; background: rgba(255,250,240,.95); border-bottom: 1px solid rgba(19,52,81,.12); backdrop-filter: blur(15px); }
.nav-row { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand-mark { color: var(--ink); display: inline-flex; align-items: center; gap: 10.5px; font-family: "DM Serif Display", Georgia, serif; font-size: 40.5px; line-height: 1; letter-spacing: -.06em; white-space: nowrap; }
.brand-mark img { display: block; width: 45px; height: 45px; object-fit: contain; }
.brand-dot { color: var(--coral); }
.brand-mark--inverse { color: var(--paper); }
.desktop-nav { display: flex; align-items: center; gap: 24px; margin-left: auto; }
.desktop-nav a { color: var(--ink); font-size: 12px; font-weight: 700; position: relative; padding-block: 8px; }
.desktop-nav a::after { content: ""; position: absolute; bottom: 3px; left: 0; width: 0; height: 2px; background: var(--coral); transition: width 180ms; }
.desktop-nav a:hover::after, .desktop-nav .is-active::after { width: 100%; }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.icon-link { display: grid; place-items: center; width: 36px; height: 36px; color: var(--ink); border: 1px solid var(--line); }
.plan-button { display: inline-flex; align-items: center; gap: 7px; padding: 10px 12px; background: var(--ink); color: #fff; font-size: 11px; font-weight: 800; }
.mobile-menu-button { display: none; padding: 7px; color: var(--ink); border: 0; background: transparent; }
.mobile-nav { display: none; }

/* Footer */
.site-footer { background: var(--ink-deep); color: rgba(255,250,240,.82); padding-top: 72px; }
.footer-top { display: grid; grid-template-columns: 1.4fr .75fr .9fr 1fr; gap: 46px; padding-bottom: 62px; }
.footer-brand-col p { max-width: 278px; margin: 18px 0 18px; font-size: 13px; line-height: 1.75; }
.footer-contact { display: inline-flex; align-items: center; gap: 8px; color: #ffd4cb; font-size: 12px; font-weight: 800; }
.footer-top > div:not(.footer-brand-col):not(.footer-stamp) { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; font-size: 12px; }
.footer-top a:hover { color: #fff; }
.footer-kicker { margin-bottom: 6px; color: #ffd4cb; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; font-weight: 800; }
.footer-stamp { align-self: start; border: 1px solid rgba(255,250,240,.22); padding: 20px; transform: rotate(2deg); display: flex; flex-direction: column; gap: 7px; color: #ffd4cb; }
.footer-stamp strong { color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: 21px; font-weight: 400; }
.footer-stamp span { font-size: 11px; color: rgba(255,250,240,.7); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; border-top: 1px solid rgba(255,250,240,.14); font-size: 10px; color: rgba(255,250,240,.55); }
.footer-bottom div { display: flex; gap: 12px; }

/* Home */
.hero-home { min-height: 700px; color: var(--ink); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; }
.hero-home__image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-home__wash { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,250,240,.96) 0%, rgba(255,250,240,.88) 30%, rgba(255,250,240,.30) 61%, rgba(19,52,81,.05) 100%); }
.hero-home__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .95fr) minmax(280px, .35fr); align-items: center; gap: 56px; min-height: 570px; padding-top: 60px; }
.hero-copy { max-width: 670px; }
.hero-copy h1 { margin: 15px 0 19px; font-size: clamp(61px, 8vw, 114px); line-height: .87; }
.hero-copy h1 em, h1 em, h2 em { color: var(--coral); font-style: italic; }
.hero-copy p { max-width: 462px; margin: 0; font-size: 16px; line-height: 1.75; color: #38536a; }
.hero-copy__actions { display: flex; gap: 21px; align-items: center; margin-top: 31px; }
.hero-note { align-self: center; justify-self: end; display: grid; grid-template-columns: 75px 1fr; position: relative; width: min(338px, 100%); min-height: 190px; padding: 25px; color: #fff; background: var(--ink); box-shadow: 14px 14px 0 rgba(243,94,77,.9); }
.hero-note .stamp { position: absolute; top: -10px; right: 16px; }
.hero-note__number { grid-row: span 2; margin: 0; color: #ffd4cb; font-family: "DM Serif Display", Georgia, serif; font-size: 72px; line-height: .8; }
.hero-note strong { display: block; max-width: 166px; font-family: "DM Serif Display", Georgia, serif; font-size: 23px; line-height: 1.05; font-weight: 400; }
.hero-note p { margin: 10px 0 0; font-size: 11px; line-height: 1.6; color: rgba(255,250,240,.75); }
.hero-note a { align-self: end; justify-self: end; display: grid; place-items: center; width: 34px; height: 34px; color: var(--ink); background: var(--paper); }
.hero-ticker { position: relative; z-index: 1; min-height: 61px; display: flex; gap: 0; align-items: stretch; border-top: 1px solid rgba(19,52,81,.2); }
.hero-ticker span { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; border-right: 1px solid rgba(19,52,81,.2); color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.hero-ticker span:first-child { border-left: 1px solid rgba(19,52,81,.2); }
.intro-band { min-height: 187px; display: flex; align-items: center; justify-content: space-between; gap: 40px; border-bottom: 1px solid var(--line); }
.intro-band__statement { display: flex; align-items: center; gap: 19px; max-width: 800px; }
.route-pip { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 100%; color: var(--coral-dark); border: 1px solid var(--coral); font-size: 11px; font-weight: 800; }
.intro-band p { margin: 0; color: var(--ink); font-family: "DM Serif Display", Georgia, serif; font-size: 28px; line-height: 1.27; letter-spacing: -.03em; }
.section-heading h2 { margin: 13px 0 0; color: var(--ink); font-size: clamp(42px, 4.2vw, 64px); line-height: .94; }
.section-heading--split { display: grid; grid-template-columns: 1.1fr .72fr; align-items: end; gap: 80px; margin-bottom: 43px; }
.section-heading--split > p { max-width: 360px; margin: 0 0 3px; color: var(--muted-ink); font-size: 14px; line-height: 1.8; }
.route-feature-card { min-height: 435px; display: grid; grid-template-columns: 1.05fr .95fr; background: var(--warm); }
.route-feature-card > img { width: 100%; height: 100%; object-fit: cover; }
.route-feature-card__content { padding: 50px 50px 42px; display: flex; flex-direction: column; align-items: flex-start; }
.route-meta, .route-card__meta, .experience-card__meta { display: flex; justify-content: space-between; width: 100%; color: #5b7385; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.route-meta span:last-child { display: inline-flex; align-items: center; gap: 4px; }
.route-feature-card h3 { max-width: 395px; margin: 30px 0 14px; font-size: 44px; line-height: .97; color: var(--ink); }
.route-feature-card p { max-width: 390px; margin: 0; color: #506778; font-size: 13px; line-height: 1.75; }
.route-stops { margin: 23px 0 auto; display: flex; gap: 15px; color: var(--ink); font-size: 10px; font-weight: 800; }
.route-stops span { display: inline-flex; align-items: center; gap: 5px; }
.route-stops i { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--coral); color: #fff; font-style: normal; font-size: 9px; }
.destinations-section { padding: 94px 0 108px; background: var(--ink); color: #fff; }
.section-heading--line { display: flex; align-items: end; justify-content: space-between; margin-bottom: 44px; }
.section-heading--line h2 { color: #fff; }
.destination-grid { display: grid; grid-template-columns: 1fr 1fr .66fr; gap: 18px; min-height: 452px; }
.destination-card { min-height: 452px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; color: #fff; }
.destination-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.23,1,.32,1); }
.destination-card:hover img { transform: scale(1.05); }
.destination-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,34,56,.12), rgba(8,34,56,.78)); }
.destination-card__head, .destination-card > div:last-child { position: relative; z-index: 1; }
.destination-card__head { display: flex; justify-content: space-between; align-items: flex-start; }
.destination-card > div:last-child > span { color: #ffd4cb; font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .12em; }
.destination-card h3 { margin: 7px 0 7px; font-size: 48px; line-height: .9; }
.destination-card p { max-width: 230px; margin: 0; font-size: 12px; line-height: 1.5; }
.destination-list-card { display: flex; flex-direction: column; justify-content: space-between; padding: 22px; background: #244f70; color: #fff; }
.destination-list-card h3 { margin: 34px 0; font-size: 28px; line-height: 1.05; }
.destination-list-card ul { margin: 0; padding: 0; list-style: none; }
.destination-list-card li { display: flex; align-items: center; justify-content: space-between; padding: 13px 0; border-top: 1px solid rgba(255,255,255,.25); font-size: 12px; font-weight: 800; }
.agenda-home { display: grid; grid-template-columns: .75fr 1.25fr; gap: 56px; }
.agenda-home__intro { display: flex; flex-direction: column; align-items: flex-start; }
.agenda-home__intro h2 { margin: 13px 0 20px; color: var(--ink); font-size: clamp(42px, 4vw, 58px); line-height: .94; }
.agenda-home__intro p { max-width: 310px; margin: 0 0 26px; color: var(--muted-ink); font-size: 13px; line-height: 1.75; }
.agenda-home__intro .text-arrow { margin-top: auto; }
.event-ribbon { align-self: end; min-height: 214px; display: grid; grid-template-columns: 120px minmax(0,1fr) 135px 55px; background: var(--warm); border-top: 3px solid var(--coral); }
.event-date { display: flex; flex-direction: column; justify-content: center; align-items: center; border-right: 1px solid var(--line); }
.event-date span { font-family: "DM Serif Display", Georgia, serif; font-size: 60px; line-height: .8; color: var(--coral); }
.event-date small { margin-top: 10px; color: var(--ink); font-weight: 800; letter-spacing: .1em; font-size: 10px; }
.event-main { padding: 31px 28px; }
.event-tag { color: var(--coral-dark); font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; }
.event-main h3 { margin: 12px 0 8px; color: var(--ink); font-size: 32px; line-height: 1; }
.event-main p { max-width: 340px; margin: 0; color: #5d7281; font-size: 12px; line-height: 1.65; }
.event-data { display: flex; flex-direction: column; justify-content: center; gap: 9px; padding: 22px; border-left: 1px solid var(--line); color: var(--ink); font-size: 11px; font-weight: 800; }
.event-arrow { display: grid; place-items: center; align-self: stretch; border-left: 1px solid var(--line); color: var(--ink); transition: background .2s; }
.event-arrow:hover { background: var(--coral); color: #fff; }
.practical-section { padding: 94px 0; background: #315a77; color: #fff; }
.practical-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 84px; }
.practical-copy h2 { margin: 15px 0 20px; font-size: clamp(43px,4vw,60px); line-height: .91; }
.practical-copy p { max-width: 300px; margin: 0 0 29px; color: rgba(255,250,240,.75); font-size: 13px; line-height: 1.75; }
.guides-stack { display: flex; flex-direction: column; border-top: 1px solid rgba(255,255,255,.35); }
.guide-row { display: grid; grid-template-columns: 52px 1fr 28px; gap: 19px; align-items: center; padding: 21px 0; color: #fff; border-bottom: 1px solid rgba(255,255,255,.35); transition: padding-left .2s; }
.guide-row:hover { padding-left: 10px; }
.guide-row__number { color: #ffd4cb; font-family: "DM Serif Display", Georgia, serif; font-size: 37px; }
.guide-row__tag { color: #ffd4cb; font-size: 10px; text-transform: uppercase; font-weight: 800; letter-spacing: .11em; }
.guide-row h3 { margin: 5px 0; font-size: 27px; line-height: 1; }
.guide-row p { max-width: 545px; margin: 0; font-size: 11px; color: rgba(255,250,240,.7); line-height: 1.6; }
.local-callout { display: grid; grid-template-columns: 140px 1.1fr .8fr; align-items: center; gap: 45px; }
.local-callout__stamp { display: grid; place-items: center; width: 108px; height: 108px; border: 2px solid var(--coral); color: var(--coral-dark); font-family: "DM Serif Display", Georgia, serif; font-size: 25px; line-height: .85; text-align: center; transform: rotate(-8deg); }
.local-callout h2 { margin: 12px 0 0; color: var(--ink); font-size: 44px; line-height: .98; }
.local-callout p { margin: 0; color: var(--muted-ink); font-size: 13px; line-height: 1.75; }
.local-callout .small-link { grid-column: 3; }

/* Standard page headers and components */
.page-hero { position: relative; min-height: 360px; padding: 84px 0 72px; overflow: hidden; background: var(--warm); }
.page-hero::after { content: ""; position: absolute; right: -60px; top: -105px; width: 430px; height: 430px; border: 1px solid rgba(19,52,81,.17); border-radius: 50%; box-shadow: 0 0 0 30px rgba(19,52,81,.045), 0 0 0 62px rgba(19,52,81,.035); }
.page-hero__inner { position: relative; z-index: 1; max-width: 980px; }
.page-hero h1 { max-width: 850px; margin: 15px 0; color: var(--ink); font-size: clamp(54px, 7vw, 96px); line-height: .9; }
.page-hero p { max-width: 610px; margin: 0; color: #506979; font-size: 15px; line-height: 1.75; }
.page-hero__route { position: absolute; z-index: 0; right: max(8vw, 70px); bottom: 46px; display: flex; align-items: center; gap: 8px; transform: rotate(-15deg); }
.page-hero__route span, .page-hero__route b { width: 13px; height: 13px; border: 2px solid var(--coral); border-radius: 50%; }
.page-hero__route i { width: 190px; border-top: 2px dashed var(--coral); }
.filter-label { display: flex; align-items: center; gap: 8px; margin-bottom: 15px; color: var(--ink); font-size: 12px; font-weight: 800; }
.filter-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-pills button { padding: 9px 12px; border: 1px solid var(--line); background: transparent; color: var(--ink); font-size: 11px; font-weight: 800; }
.filter-pills button:hover, .filter-pills .selected { background: var(--ink); color: #fff; border-color: var(--ink); }

/* Destinations */
.destination-showcase__grid { display: grid; grid-template-columns: repeat(4, 1fr); min-height: 466px; }
.city-panel { position: relative; overflow: hidden; padding: 19px; color: #fff; min-height: 466px; display: flex; flex-direction: column; justify-content: space-between; }
.city-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
.city-panel:hover img { transform: scale(1.06); }
.city-panel__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,34,56,.12), rgba(8,34,56,.82)); }
.city-panel--light { color: var(--ink); }
.city-panel--light .city-panel__shade { background: linear-gradient(180deg, rgba(255,250,240,.13), rgba(255,250,240,.83)); }
.city-panel__top, .city-panel__bottom { position: relative; z-index: 1; }
.city-panel__top { display: flex; justify-content: space-between; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.city-panel__time { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.city-panel h3 { margin: 10px 0 7px; font-size: 43px; line-height: .9; }
.city-panel p { margin: 0 0 21px; font-size: 12px; line-height: 1.5; }
.city-panel a { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; }
.region-notes { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; }
.region-notes h2 { margin: 13px 0 0; color: var(--ink); font-size: 53px; line-height: .94; }
.region-notes__list { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.region-notes__list a { display: grid; grid-template-columns: 38px 1fr 22px; gap: 13px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); }
.region-notes__list > a > span { color: var(--coral-dark); font-size: 12px; font-weight: 800; }
.region-notes h3 { margin: 0 0 6px; color: var(--ink); font-size: 24px; }
.region-notes p { margin: 0; color: var(--muted-ink); font-size: 12px; line-height: 1.55; }
.destination-cta { padding: 70px 0; background: var(--coral); color: #fff; }
.destination-cta h2 { margin: 16px 0 28px; font-size: clamp(45px, 5vw, 68px); line-height: .9; }
.destination-cta h2 em { color: var(--ink); }

/* Routes */
.route-tools { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-block: 28px; border-bottom: 1px solid var(--line); }
.route-tools > div:first-child { display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 0 9px; }
.route-tools strong { color: var(--ink); font-size: 12px; }
.route-tools span { grid-column: 2; color: var(--muted-ink); font-size: 10px; }
.routes-list__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.route-card { background: var(--warm); }
.route-card__image { height: 232px; position: relative; overflow: hidden; }
.route-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.route-card:hover img { transform: scale(1.05); }
.route-card__image .stamp { position: absolute; top: 15px; left: 15px; }
.route-card__body { padding: 25px; }
.route-card h3 { min-height: 62px; margin: 20px 0 11px; color: var(--ink); font-size: 30px; line-height: 1; }
.route-card__body > p { min-height: 58px; margin: 0; color: var(--muted-ink); font-size: 12px; line-height: 1.65; }
.route-line { display: flex; align-items: center; gap: 7px; margin: 23px 0; color: var(--ink); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.route-line i { height: 1px; flex: 1; border-top: 1px dashed var(--coral); }
.route-card a { display: inline-flex; align-items: center; gap: 7px; color: var(--ink); font-size: 11px; font-weight: 800; }
.rail-note { display: grid; grid-template-columns: 50px 1fr auto; align-items: center; gap: 16px; padding: 42px 0; color: var(--ink); border-top: 1px solid var(--line); }
.rail-note h2 { margin: 10px 0 0; font-size: 32px; line-height: 1; }

/* Agenda */
.agenda-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding-block: 28px; border-bottom: 1px solid var(--line); }
.agenda-month { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; white-space: nowrap; }
.agenda-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.agenda-card { min-height: 284px; display: grid; grid-template-columns: 110px 1fr; color: var(--ink); }
.agenda-card--coral { background: #ffdbd5; }.agenda-card--ink { background: #dbe6ea; }.agenda-card--olive { background: #e3e3d2; }.agenda-card--sand { background: #f3e5c9; }
.agenda-card__date { display: flex; flex-direction: column; align-items: center; justify-content: center; border-right: 1px solid rgba(19,52,81,.18); }
.agenda-card__date span { color: var(--coral-dark); font-family: "DM Serif Display", Georgia, serif; font-size: 63px; line-height: .85; }.agenda-card__date small { margin-top: 9px; font-size: 10px; letter-spacing: .12em; font-weight: 800; }
.agenda-card__content { display: flex; flex-direction: column; padding: 28px; }
.agenda-card__content > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.agenda-card__kind { color: var(--coral-dark); text-transform: uppercase; font-size: 9px; letter-spacing: .1em; font-weight: 800; }.agenda-card__city { display: inline-flex; align-items: center; gap: 3px; font-size: 10px; font-weight: 800; }
.agenda-card h2 { margin: 25px 0 9px; font-size: 31px; line-height: .98; }.agenda-card p { margin: 0; color: #536a7a; font-size: 12px; line-height: 1.65; }
.agenda-card__footer { margin-top: auto; display: flex; justify-content: space-between; padding-top: 20px; color: var(--ink); font-size: 10px; font-weight: 800; }.agenda-card__footer a { display: inline-flex; align-items: center; gap: 5px; }
.agenda-subscribe { display: grid; grid-template-columns: 1fr .8fr; gap: 70px; align-items: center; padding: 60px; background: var(--ink); color: #fff; margin-bottom: 112px; }.agenda-subscribe h2 { margin: 13px 0 12px; font-size: 46px; line-height: .95; }.agenda-subscribe h2 em { color: #ffd4cb; }.agenda-subscribe p { max-width: 410px; margin: 0; color: rgba(255,250,240,.72); font-size: 13px; line-height: 1.7; }.agenda-subscribe form label { display: block; margin-bottom: 7px; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.agenda-subscribe form > div { display: flex; }.agenda-subscribe input { min-width: 0; flex: 1; padding: 13px; border: 0; background: #fff; color: var(--ink); font-size: 12px; }.agenda-subscribe button { border: 0; display: inline-flex; align-items: center; gap: 7px; background: var(--coral); color: #fff; padding: 0 15px; font-size: 11px; font-weight: 800; }.agenda-subscribe small { display: block; margin-top: 10px; color: rgba(255,250,240,.55); font-size: 9px; line-height: 1.5; }

/* Guide */
.practical-index { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }.practical-index__intro h2 { margin: 13px 0; color: var(--ink); font-size: 50px; line-height: .92; }.practical-index__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }.practical-card { min-height: 255px; position: relative; padding: 23px; background: var(--paper); color: var(--ink); display: flex; flex-direction: column; align-items: flex-start; }.practical-card:hover { background: var(--warm); }.practical-card > div { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-bottom: auto; }.practical-card__count { color: #aec0c7; font-family: "DM Serif Display", Georgia, serif; font-size: 30px; }.practical-card h3 { margin: 19px 0 7px; font-size: 27px; line-height: 1; }.practical-card p { max-width: 210px; margin: 0; color: var(--muted-ink); font-size: 11px; line-height: 1.6; }.practical-card__arrow { position: absolute; right: 19px; bottom: 20px; color: var(--coral); }
.guide-pledge { padding: 76px 0; background: var(--olive); color: #fff; }.guide-pledge__grid { display: grid; grid-template-columns: 160px 1.1fr .8fr; align-items: center; gap: 45px; }.guide-pledge__sign { display: grid; place-items: center; width: 115px; height: 115px; color: var(--ink); background: var(--paper); font-family: "DM Serif Display", Georgia, serif; font-size: 29px; line-height: .8; text-align: center; transform: rotate(-6deg); }.guide-pledge h2 { margin: 15px 0 0; font-size: 53px; line-height: .9; }.guide-pledge h2 em { color: #ffd4cb; }.guide-pledge p { margin: 0; color: rgba(255,250,240,.83); font-size: 13px; line-height: 1.8; }
.faq-strip { display: grid; grid-template-columns: .76fr 1.24fr; gap: 70px; padding-block: 112px; }.faq-strip h2 { margin: 13px 0; color: var(--ink); font-size: 48px; line-height: .93; }.faq-items { border-top: 1px solid var(--line); }.faq-items details { padding: 21px 0; border-bottom: 1px solid var(--line); }.faq-items summary { display: flex; justify-content: space-between; gap: 15px; color: var(--ink); cursor: pointer; list-style: none; font-size: 13px; font-weight: 800; }.faq-items summary span { color: var(--coral); font-size: 19px; }.faq-items p { max-width: 570px; margin: 13px 24px 0 0; color: var(--muted-ink); font-size: 12px; line-height: 1.7; }

/* Experiences */
.experience-intro { display: grid; grid-template-columns: 1.15fr 1fr 1fr 1fr; gap: 27px; padding-block: 32px; border-bottom: 1px solid var(--line); }.experience-intro__rule { display: flex; flex-direction: column; gap: 12px; color: var(--coral-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.experience-intro__rule i { display: block; width: 100%; border-top: 2px solid var(--coral); }.experience-intro > div:not(.experience-intro__rule) { display: grid; grid-template-columns: 26px 1fr; gap: 6px 8px; color: var(--ink); }.experience-intro > div strong { font-size: 11px; }.experience-intro > div p { grid-column: 2; margin: 0; color: var(--muted-ink); font-size: 10px; line-height: 1.6; }
.experiences-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.experience-card { background: var(--warm); }.experience-card__image { position: relative; height: 250px; overflow: hidden; }.experience-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.experience-card:hover img { transform: scale(1.05); }.experience-card__image .stamp { position: absolute; left: 15px; top: 15px; }.experience-card__body { padding: 24px; }.experience-card h2 { min-height: 64px; margin: 22px 0 10px; color: var(--ink); font-size: 29px; line-height: 1; }.experience-card__body > p { min-height: 55px; margin: 0; color: var(--muted-ink); font-size: 12px; line-height: 1.65; }.experience-card__footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 24px; padding-top: 17px; border-top: 1px solid var(--line); color: #5b7385; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }.experience-card__footer a { color: var(--ink); display: inline-flex; align-items: center; gap: 5px; }
.partner-note { padding: 66px 0; background: var(--coral); color: #fff; }.partner-note__grid { display: grid; grid-template-columns: 1fr .75fr auto; align-items: end; gap: 55px; }.partner-note h2 { margin: 15px 0 0; font-size: 51px; line-height: .93; }.partner-note p { margin: 0; color: rgba(255,255,255,.86); font-size: 13px; line-height: 1.75; }

/* Route detail */
.route-detail__hero { min-height: 580px; position: relative; color: #fff; overflow: hidden; }.route-detail__hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }.route-detail__wash { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,34,56,.93) 0%, rgba(8,34,56,.75) 37%, rgba(8,34,56,.27) 77%); }.route-detail__hero-content { position: relative; z-index: 1; padding-top: 51px; }.back-link { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 70px; font-size: 11px; font-weight: 800; }.back-link--ink { color: var(--ink); margin-bottom: 35px; }.route-detail__hero h1 { margin: 16px 0 25px; font-size: clamp(59px, 7vw, 96px); line-height: .88; }.route-detail__hero h1 em { color: #ffd4cb; }.route-detail__hero-meta { display: flex; flex-wrap: wrap; gap: 24px; font-size: 11px; font-weight: 800; }.route-detail__hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.route-detail__intro { display: grid; grid-template-columns: 1fr 1.05fr .65fr; gap: 42px; padding-block: 79px; border-bottom: 1px solid var(--line); }.route-detail__intro h2 { max-width: 400px; margin: 17px 0 0; color: var(--ink); font-size: 45px; line-height: .94; }.route-detail__intro > p { margin: 0; padding-top: 20px; color: var(--muted-ink); font-size: 14px; line-height: 1.8; }.route-detail__intro aside { align-self: start; border-left: 2px solid var(--coral); padding: 1px 0 1px 17px; }.route-detail__intro aside span { display: block; color: var(--coral-dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.route-detail__intro aside strong { display: block; margin-top: 8px; color: var(--ink); font-size: 12px; line-height: 1.7; }
.itinerary-section { display: grid; grid-template-columns: .45fr 1.55fr; gap: 60px; padding-block: 98px; }.itinerary-section__label p { color: var(--muted-ink); font-size: 12px; line-height: 1.6; }.itinerary-days { border-top: 1px solid var(--line); }.itinerary-day { display: grid; grid-template-columns: 66px 1.1fr .9fr; gap: 31px; padding: 31px 0; border-bottom: 1px solid var(--line); }.itinerary-day__count { display: flex; flex-direction: column; gap: 8px; color: var(--coral-dark); font-family: "DM Serif Display", Georgia, serif; font-size: 36px; }.itinerary-day__count i { width: 1px; flex: 1; min-height: 35px; margin-left: 14px; background: var(--coral); }.itinerary-day__copy > div { display: flex; justify-content: space-between; gap: 10px; color: var(--coral-dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.itinerary-day__zone { color: var(--muted-ink); }.itinerary-day h3 { margin: 16px 0 10px; color: var(--ink); font-size: 32px; line-height: .98; }.itinerary-day p { margin: 0; color: var(--muted-ink); font-size: 12px; line-height: 1.7; }.itinerary-day ul { margin: 0; padding: 0; list-style: none; align-self: center; }.itinerary-day li { position: relative; padding: 9px 0 9px 16px; border-bottom: 1px dashed var(--line); color: var(--ink); font-size: 11px; font-weight: 800; }.itinerary-day li::before { content: ""; position: absolute; left: 0; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: var(--coral); }
.route-detail__tips { padding: 67px 0; background: var(--olive); color: #fff; }.route-detail__tips .shell { display: grid; grid-template-columns: 1fr .8fr auto; align-items: end; gap: 60px; }.route-detail__tips h2 { margin: 14px 0 0; font-size: 49px; line-height: .93; }.route-detail__tips p { margin: 0; color: rgba(255,250,240,.82); font-size: 13px; line-height: 1.8; }.route-detail__next { display: grid; grid-template-columns: 46px 1fr auto; gap: 12px; align-items: center; padding-block: 67px; color: var(--ink); }.route-detail__next h2 { margin: 9px 0 0; font-size: 31px; line-height: 1; }

/* Article */
.article-page__head { max-width: 1040px; padding-block: 73px 63px; }.article-page__head h1 { margin: 15px 0 20px; color: var(--ink); font-size: clamp(52px,6.6vw,85px); line-height: .91; }.article-page__lead { max-width: 690px; margin: 0; color: var(--muted-ink); font-size: 16px; line-height: 1.75; }.article-page__facts { display: flex; gap: 19px; flex-wrap: wrap; margin-top: 33px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink); font-size: 10px; font-weight: 800; }.article-page__facts span { display: inline-flex; align-items: center; gap: 5px; }.article-page__layout { max-width: 1040px; display: grid; grid-template-columns: .38fr 1.1fr; gap: 70px; padding-bottom: 95px; }.article-toc { align-self: start; position: sticky; top: 112px; display: flex; flex-direction: column; gap: 12px; padding-left: 13px; border-left: 1px solid var(--coral); }.article-toc span { margin-bottom: 4px; color: var(--coral-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }.article-toc a { color: var(--muted-ink); font-size: 11px; font-weight: 700; }.article-content { max-width: 680px; }.article-content p { color: #536a7a; font-size: 15px; line-height: 1.85; }.article-content .article-intro { color: var(--ink); font-family: "DM Serif Display", Georgia, serif; font-size: 28px; line-height: 1.35; }.article-content section { margin-top: 55px; }.article-number { color: var(--coral-dark); font-size: 11px; letter-spacing: .11em; font-weight: 800; }.article-content h2 { margin: 11px 0 13px; color: var(--ink); font-size: 43px; line-height: .96; }.article-check { display: flex; gap: 11px; align-items: flex-start; margin-top: 25px; padding: 18px; background: var(--warm); color: var(--ink); font-size: 12px; line-height: 1.65; font-weight: 700; }.article-check svg { flex: 0 0 auto; color: var(--coral-dark); }.transport-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 25px; }.transport-cards > div { padding: 21px; border: 1px solid var(--line); color: var(--ink); }.transport-cards h3 { margin: 15px 0 5px; font-size: 25px; }.transport-cards p { margin: 0; font-size: 12px; }.article-end { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 55px 0; border-top: 1px solid var(--line); }.article-end h2 { margin: 13px 0 0; color: var(--ink); font-size: 46px; line-height: .94; }

/* Project sale */
.sale-hero { position: relative; overflow: hidden; padding: 94px 0 87px; background: var(--ink); color: #fff; }.sale-hero__grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,250,240,.33) 1px, transparent 1px), linear-gradient(90deg, rgba(255,250,240,.33) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to right, black, transparent); }.sale-hero__content { position: relative; z-index: 1; }.sale-hero h1 { margin: 16px 0 5px; color: #ffd4cb; font-size: clamp(72px,10vw,140px); line-height: .8; }.sale-hero h2 { max-width: 810px; margin: 23px 0 20px; font-size: clamp(36px,4.5vw,65px); line-height: .93; }.sale-hero h2 em { color: var(--coral); }.sale-hero p { max-width: 610px; margin: 0; color: rgba(255,250,240,.76); font-size: 15px; line-height: 1.8; }.sale-hero__actions { display: flex; gap: 11px; margin-top: 32px; }.sale-hero__stamp { position: absolute; top: 70px; right: 6%; display: flex; flex-direction: column; gap: 10px; width: 145px; height: 145px; justify-content: center; align-items: center; border: 1px solid rgba(255,250,240,.5); color: #ffd4cb; text-align: center; font-size: 10px; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; transform: rotate(9deg); }.sale-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; padding-block: 100px; }.sale-intro h2 { max-width: 390px; margin: 13px 0; color: var(--ink); font-size: 53px; line-height: .94; }.sale-intro p { margin: 0 0 17px; color: var(--muted-ink); font-size: 14px; line-height: 1.85; }.sale-intro p strong { color: var(--ink); }.sale-reasons { padding: 90px 0; background: var(--warm); }.sale-reasons .section-heading h2 { color: var(--ink); }.sale-reasons .section-heading p { color: var(--muted-ink); }.sale-reasons__grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }.sale-reasons__grid article { min-height: 275px; padding: 26px 28px 28px; border-right: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; color: var(--ink); }.sale-reasons__grid article:first-child { border-left: 1px solid var(--line); }.sale-reasons__grid .stamp { margin: 21px 0 auto; }.sale-reasons__grid h3 { margin: 20px 0 8px; font-size: 28px; line-height: 1; }.sale-reasons__grid p { margin: 0; color: var(--muted-ink); font-size: 12px; line-height: 1.7; }.sale-includes { display: grid; grid-template-columns: 1fr .84fr; gap: 86px; align-items: center; padding-block: 110px; }.sale-includes__visual { min-height: 475px; position: relative; }.sale-includes__visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }.sale-includes__visual-note { position: absolute; right: -26px; bottom: 32px; padding: 20px; width: 188px; background: var(--coral); color: #fff; transform: rotate(-3deg); }.sale-includes__visual-note span { display: block; margin-bottom: 23px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }.sale-includes__visual-note strong { font-family: "DM Serif Display", Georgia, serif; font-size: 27px; line-height: .92; font-weight: 400; }.sale-includes h2 { margin: 13px 0 23px; color: var(--ink); font-size: 58px; line-height: .9; }.sale-includes ul { margin: 0 0 28px; padding: 0; list-style: none; }.sale-includes li { display: flex; gap: 9px; padding: 9px 0; color: var(--muted-ink); font-size: 12px; line-height: 1.55; border-bottom: 1px solid var(--line); }.sale-includes li svg { flex: 0 0 auto; margin-top: 1px; color: var(--coral-dark); width: 17px; }.sale-revenue { padding: 94px 0; background: #305b78; color: #fff; }.sale-revenue .shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }.sale-revenue h2 { margin: 14px 0 20px; font-size: 55px; line-height: .91; }.sale-revenue > .shell > div > p { max-width: 340px; margin: 0; color: rgba(255,250,240,.76); font-size: 13px; line-height: 1.8; }.sale-revenue__list { border-top: 1px solid rgba(255,255,255,.3); }.sale-revenue__list article { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.3); }.sale-revenue__list article > span { color: #ffd4cb; font-family: "DM Serif Display", Georgia, serif; font-size: 27px; }.sale-revenue__list h3 { margin: 0 0 5px; font-size: 25px; line-height: 1; }.sale-revenue__list p { margin: 0; color: rgba(255,250,240,.75); font-size: 11px; line-height: 1.65; }.sale-contact { padding: 92px 0; background: var(--coral); color: #fff; }.sale-contact__inner { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 80px; }.sale-contact h2 { margin: 15px 0 0; font-size: clamp(51px,5vw,70px); line-height: .88; }.sale-contact h2 em { color: var(--ink); }.sale-contact__inner > div:last-child { padding-bottom: 5px; }.sale-contact p { max-width: 400px; margin: 0 0 24px; color: rgba(255,255,255,.85); font-size: 14px; line-height: 1.75; }.sale-contact__email { display: flex; justify-content: space-between; align-items: center; max-width: 430px; padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,.6); color: #fff; font-family: "DM Serif Display", Georgia, serif; font-size: 34px; }.sale-contact__inner > div:last-child > span { display: block; margin-top: 14px; color: rgba(255,255,255,.75); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }

@media (max-width: 900px) {
  .shell { width: min(100% - 38px, 720px); }.desktop-nav, .nav-actions .icon-link, .nav-actions .plan-button { display: none; }.mobile-menu-button { display: block; }.mobile-nav { display: flex; flex-direction: column; padding: 12px 0 20px; border-top: 1px solid var(--line); }.mobile-nav a { display: flex; align-items: center; justify-content: space-between; padding: 13px 0; color: var(--ink); font-family: "DM Serif Display", Georgia, serif; font-size: 26px; border-bottom: 1px solid var(--line); animation: nav-enter 190ms cubic-bezier(.23,1,.32,1) both; animation-delay: calc(var(--i) * 40ms); }.mobile-nav .mobile-sale { color: var(--coral-dark); font-family: "Manrope", sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.footer-top { grid-template-columns: 1.2fr .8fr; }.footer-stamp { display: none; }.hero-home { min-height: 660px; }.hero-home__grid { grid-template-columns: 1fr; gap: 20px; min-height: 0; padding: 68px 0 35px; }.hero-note { justify-self: start; width: 320px; }.hero-ticker { overflow-x: auto; }.hero-ticker span { flex: 0 0 172px; }.section-heading--split { gap: 35px; }.route-feature-card { grid-template-columns: 1fr .9fr; }.route-feature-card__content { padding: 34px; }.destination-grid { grid-template-columns: 1fr 1fr; }.destination-list-card { grid-column: span 2; min-height: 230px; }.destination-list-card h3 { max-width: 410px; margin: 25px 0; }.destination-list-card ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 17px; }.destination-list-card li { border-bottom: 1px solid rgba(255,255,255,.25); }.agenda-home, .practical-grid { grid-template-columns: 1fr; }.agenda-home__intro { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }.agenda-home__intro .text-arrow { margin-top: 0; }.local-callout { grid-template-columns: 110px 1fr; }.local-callout > p { grid-column: 2; }.local-callout .small-link { grid-column: 2; }.destination-showcase__grid { grid-template-columns: 1fr 1fr; }.region-notes, .practical-index, .faq-strip { grid-template-columns: 1fr; gap: 38px; }.route-tools, .agenda-toolbar { align-items: flex-start; flex-direction: column; }.routes-list__grid, .experiences-grid { grid-template-columns: 1fr 1fr; }.route-card--2, .experience-card:last-child { grid-column: span 2; }.route-card--2 .route-card__image, .experience-card:last-child .experience-card__image { height: 300px; }.agenda-subscribe { grid-template-columns: 1fr; gap: 36px; padding: 45px; }.experience-intro { grid-template-columns: 1fr 1fr; }.experience-intro__rule { grid-column: span 2; }.partner-note__grid { grid-template-columns: 1fr 1fr; }.partner-note__grid .button { justify-self: start; }.route-detail__intro { grid-template-columns: 1fr 1fr; }.route-detail__intro aside { grid-column: span 2; max-width: 440px; }.itinerary-section { grid-template-columns: 1fr; gap: 25px; }.route-detail__tips .shell { grid-template-columns: 1fr 1fr; }.route-detail__tips .button { grid-column: span 2; justify-self: start; }.article-page__layout { grid-template-columns: .34fr 1fr; gap: 35px; }.sale-hero__stamp { right: 4%; }.sale-intro, .sale-revenue .shell { gap: 50px; }.sale-includes { gap: 55px; }.sale-reasons__grid { grid-template-columns: 1fr 1fr; }.sale-reasons__grid article:last-child { grid-column: span 2; border-left: 1px solid var(--line); }.sale-contact__inner { gap: 40px; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 30px, 520px); }.section-space { padding-block: 76px; }.section-space--short { padding-block: 38px; }.sale-strip { min-height: 42px; }.sale-strip__inner { min-height: 42px; gap: 6px; font-size: 9px; }.sale-strip__copy { display: none; }.sale-strip__label { flex: 1; }.nav-row { min-height: 62px; }.brand-mark { font-size: 24px; }.brand-mark img { width: 27px; height: 27px; }.footer-top { grid-template-columns: 1fr 1fr; gap: 35px 20px; }.footer-brand-col { grid-column: span 2; }.footer-bottom span:nth-child(2) { display: none; }.hero-home { min-height: 645px; }.hero-home__image { object-position: 65% center; }.hero-home__wash { background: linear-gradient(90deg, rgba(255,250,240,.98) 0%, rgba(255,250,240,.9) 57%, rgba(255,250,240,.36) 100%); }.hero-home__grid { padding-top: 50px; }.hero-copy h1 { font-size: 59px; }.hero-copy p { font-size: 14px; }.hero-copy__actions { align-items: flex-start; flex-direction: column; gap: 17px; }.hero-note { width: 295px; min-height: 166px; padding: 20px; box-shadow: 9px 9px 0 rgba(243,94,77,.9); }.hero-note strong { font-size: 20px; }.hero-note__number { font-size: 60px; }.hero-ticker span { flex-basis: 158px; }.intro-band { align-items: flex-start; flex-direction: column; padding-block: 37px; gap: 20px; }.intro-band p { font-size: 25px; }.section-heading--split, .section-heading--line { display: block; }.section-heading--split > p { margin-top: 20px; }.section-heading--line .button { margin-top: 25px; }.section-heading h2 { font-size: 44px; }.route-feature-card { grid-template-columns: 1fr; }.route-feature-card > img { height: 255px; }.route-feature-card__content { min-height: 375px; padding: 28px 22px; }.route-feature-card h3 { font-size: 38px; }.destination-grid { grid-template-columns: 1fr; }.destination-card { min-height: 390px; }.destination-list-card { grid-column: auto; min-height: 274px; }.destination-list-card ul { grid-template-columns: 1fr; gap: 0; }.agenda-home__intro { display: block; }.agenda-home__intro p { margin-top: 21px; }.event-ribbon { grid-template-columns: 75px 1fr 45px; }.event-date { border: 0; }.event-date span { font-size: 46px; }.event-main { padding: 25px 16px; }.event-main h3 { font-size: 28px; }.event-data { display: none; }.practical-section { padding: 68px 0; }.guides-stack { margin-top: 10px; }.guide-row { grid-template-columns: 42px 1fr 20px; gap: 10px; }.guide-row h3 { font-size: 22px; }.guide-row__number { font-size: 30px; }.local-callout { grid-template-columns: 1fr; gap: 22px; }.local-callout > p, .local-callout .small-link { grid-column: auto; }.local-callout__stamp { width: 86px; height: 86px; font-size: 20px; }.local-callout h2 { font-size: 38px; }.page-hero { min-height: 310px; padding: 61px 0 48px; }.page-hero h1 { font-size: 53px; }.page-hero p { font-size: 13px; }.page-hero__route { right: -75px; bottom: 28px; }.destination-showcase__grid, .routes-list__grid, .agenda-grid, .practical-index__grid, .experiences-grid { grid-template-columns: 1fr; }.city-panel { min-height: 360px; }.route-card--2, .experience-card:last-child { grid-column: auto; }.route-card--2 .route-card__image, .experience-card:last-child .experience-card__image { height: 232px; }.region-notes h2, .practical-index__intro h2, .faq-strip h2 { font-size: 42px; }.region-notes__list a { grid-template-columns: 26px 1fr 19px; }.route-tools > div:first-child { width: 100%; }.agenda-toolbar .filter-pills, .route-tools .filter-pills { flex-wrap: nowrap; overflow-x: auto; width: calc(100vw - 30px); padding-bottom: 4px; }.agenda-toolbar .filter-pills button, .route-tools .filter-pills button { white-space: nowrap; }.agenda-card { grid-template-columns: 77px 1fr; min-height: 254px; }.agenda-card__content { padding: 22px 17px; }.agenda-card h2 { font-size: 28px; margin-top: 18px; }.agenda-subscribe { margin-bottom: 76px; padding: 33px 23px; }.agenda-subscribe h2 { font-size: 38px; }.agenda-subscribe form > div { flex-direction: column; }.agenda-subscribe input, .agenda-subscribe button { min-height: 46px; }.experience-intro { grid-template-columns: 1fr; gap: 18px; }.experience-intro__rule { grid-column: auto; }.partner-note__grid { grid-template-columns: 1fr; gap: 28px; }.partner-note h2 { font-size: 43px; }.route-detail__hero { min-height: 500px; }.route-detail__hero-content { padding-top: 30px; }.route-detail__hero .back-link { margin-bottom: 55px; }.route-detail__hero h1 { font-size: 57px; }.route-detail__intro { grid-template-columns: 1fr; gap: 24px; padding-block: 56px; }.route-detail__intro aside { grid-column: auto; }.itinerary-day { grid-template-columns: 41px 1fr; gap: 14px; }.itinerary-day ul { grid-column: 2; }.itinerary-day h3 { font-size: 29px; }.route-detail__tips .shell { grid-template-columns: 1fr; gap: 24px; }.route-detail__tips .button { grid-column: auto; }.route-detail__tips h2 { font-size: 42px; }.route-detail__next { grid-template-columns: 37px 1fr; }.route-detail__next .text-arrow { grid-column: span 2; margin-top: 18px; }.article-page__head { padding-block: 50px 40px; }.article-page__head h1 { font-size: 48px; }.article-page__lead { font-size: 14px; }.article-page__layout { grid-template-columns: 1fr; gap: 28px; padding-bottom: 66px; }.article-toc { position: relative; top: auto; }.article-content .article-intro { font-size: 25px; }.article-content h2 { font-size: 38px; }.transport-cards { grid-template-columns: 1fr; }.article-end { align-items: flex-start; flex-direction: column; padding-block: 45px; }.article-end h2 { font-size: 39px; }.sale-hero { padding: 65px 0 58px; }.sale-hero__stamp { display: none; }.sale-hero h1 { font-size: 76px; }.sale-hero h2 { font-size: 37px; }.sale-hero p { font-size: 13px; }.sale-hero__actions { flex-direction: column; align-items: flex-start; }.sale-intro, .sale-includes, .sale-revenue .shell, .sale-contact__inner { grid-template-columns: 1fr; gap: 35px; }.sale-intro { padding-block: 70px; }.sale-intro h2, .sale-includes h2, .sale-revenue h2 { font-size: 44px; }.sale-reasons { padding: 67px 0; }.sale-reasons__grid { grid-template-columns: 1fr; }.sale-reasons__grid article, .sale-reasons__grid article:last-child { min-height: 230px; border-left: 1px solid var(--line); }.sale-includes { padding-block: 76px; }.sale-includes__visual { min-height: 345px; }.sale-includes__visual-note { right: -7px; bottom: 20px; width: 160px; }.sale-revenue { padding: 70px 0; }.sale-contact { padding: 70px 0; }.sale-contact h2 { font-size: 52px; }.sale-contact__email { font-size: 25px; }
}

@keyframes nav-enter { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; } }

/* Identidad prioritaria: el dominio ocupa el espacio libre de cabecera con una escala de marca del 150 %. */
@media (max-width: 900px) {
  .brand-mark { gap: 9px; font-size: 36px; }
  .brand-mark img { width: 40.5px; height: 40.5px; }
}


/* Comportamiento estático: el menú móvil se activa con JavaScript vanilla. */
main:focus{outline:none}.mobile-nav{display:none}@media (max-width:900px){.sticky-nav.is-menu-open .mobile-nav{display:flex}.sticky-nav.is-menu-open .mobile-menu-button{color:var(--coral-dark)}}
/* Página 404 estática: reproducción local del estado de error existente. */
.static-404{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-family:"Manrope",Arial,sans-serif}.static-404__card{width:100%;max-width:32rem;padding:3rem 1.5rem;background:rgba(255,255,255,.8);border-radius:.75rem;box-shadow:0 10px 28px rgba(15,23,42,.14);text-align:center}.static-404__icon{display:grid;place-items:center;width:4rem;height:4rem;margin:0 auto 1.5rem;border-radius:50%;background:#fee2e2;color:#ef4444}.static-404__icon svg{width:4rem;height:4rem}.static-404 h1{margin:0;color:#0f172a;font-family:"Manrope",Arial,sans-serif;font-size:2.25rem;font-weight:700;letter-spacing:0}.static-404 h2{margin:.5rem 0 1rem;color:#334155;font-family:"Manrope",Arial,sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:0}.static-404 p{margin:0 0 2rem;color:#475569;font-size:1rem;line-height:1.6}.static-404 a{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:.5rem;background:#2563eb;color:#fff;font-size:.875rem;font-weight:700;box-shadow:0 4px 10px rgba(37,99,235,.25)}.static-404 a:hover{background:#1d4ed8}
