/* TRADEL homepage 2026: an open editorial canvas, not a nested page-shell card.
   Only pages containing .td-home--editorial receive these shell overrides.
   Header remains a separate element ready for a later transparent treatment. */
.content-wrapper:has(.td-home--editorial) {
  max-width: none;
  width: 100%;
  height: auto;
  min-height: 0;
  margin-top: 74px;
  padding: 0;
  background: #fcfaf4;
  box-shadow: none;
  overflow-x: clip;
  overflow-y: visible;
}
.td-home--editorial { position: relative; background: #fcfaf4; }
.td-home--editorial .td-hero--editorial {
  position: relative;
  isolation: isolate;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(44px, 4.3vw, 70px) clamp(27px, 5vw, 86px) 0;
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(ellipse at 66% 43%, rgba(244,209,153,.27), transparent 51%),
    radial-gradient(ellipse at 6% 91%, rgba(220,216,183,.25), transparent 38%),
    #fcfaf4;
  box-shadow: none;
  color: #11291d;
  text-align: left;
  overflow: visible;
  z-index: 10;
}
.td-hero--editorial .td-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1310px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  align-items: start;
  gap: clamp(8px, 1.7vw, 25px);
}
.td-hero--editorial .td-hero__text { min-width: 0; padding: 0 0 12px; }
.td-hero--editorial .td-hero__eyebrow {
  display: block;
  margin: 0 0 22px;
  color: #98631f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .31em;
  line-height: 1.4;
  text-transform: uppercase;
}
.td-hero--editorial .td-hero__title {
  max-width: 630px;
  margin: 0 0 22px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(48px, 4.3vw, 75px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.048em;
  color: #10281c;
  text-wrap: normal;
}
.td-hero--editorial .td-hero__title em {
  position: relative;
  color: inherit;
  font-style: normal;
}
.td-hero--editorial .td-hero__title em::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin-top: 13px;
  background: #c38b3a;
  border-radius: 100%;
  transform: rotate(-4deg);
}
/* Short, concrete positioning line, not an extra marketing paragraph. */
.td-hero--editorial .td-hero__positioning {
  margin: 0 0 8px;
  max-width: 48ch;
  font: 700 clamp(15px, 1.15vw, 17px)/1.35 'Source Sans 3', system-ui, sans-serif;
  color: #215139;
}
.td-hero--editorial .td-hero__subtitle {
  max-width: 48ch;
  margin: 0 0 18px;
  font-size: clamp(16px, 1.3vw, 18px);
  font-weight: 400;
  line-height: 1.52;
  color: #485a50;
}
.td-hero--editorial .td-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.td-hero--editorial .td-btn {
  min-height: 52px;
  padding: 12px 23px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 17px;
  font-size: 15px;
  font-weight: 700;
  transition: transform .15s ease, background-color .15s ease;
  text-decoration: none;
}
.td-hero--editorial .td-btn:hover { transform: translateY(-1px); }
.td-hero--editorial .td-btn--gold {
  color: white;
  border: 1px solid #173e2a;
  background: #153e2c;
  box-shadow: 0 12px 28px rgba(22,66,43,.13);
}
.td-hero--editorial .td-btn--gold:hover { color:white; background:#246044; }
.td-hero--editorial .td-btn--ghost-dark {
  color: #143c29;
  border: 1.5px solid #be8c43;
  background: rgba(255,255,255,.55);
}
.td-hero--editorial .td-btn--ghost-dark:hover { background:#fff9ed; }
.td-hero--editorial .td-hero__note {
  margin: 16px 0 0;
  color: #67786c;
  font-size: 12px;
  line-height: 1.5;
}
.td-hero--editorial .td-hero__note a { color: #346147; }
.td-hero--editorial .td-notify-wrap { align-items: flex-start; }
.td-hero--editorial .td-hero__visual {
  position: relative;
  display: block;
  width: 100%;
  height: clamp(485px, 41vw, 652px);
  min-width: 0;
  z-index: 1;
  overflow: visible;
}
/* Scene v1 is a real alpha-matted coastal illustration. Keep all destination
   cards and route as separate HTML/SVG layers, so alternate scenery can be
   compared without rewriting the hero or introducing more GPU masking. */
.td-hero--editorial .td-hero__scenery {
  position: absolute;
  inset: -3% -14% -8% -10%;
  overflow: visible;
  border: 0;
  border-radius: 0;
  transform: none;
  -webkit-mask-image: none;
  mask-image: none;
  pointer-events: none;
}
.td-hero--editorial .td-hero__scenery-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transform: none;
  filter: none;
}
.td-hero--editorial .td-hero__scenery-warmth { display: none; }
/* All overlays share the existing responsive hero coordinate space.
   Static SVG/CSS only: no animation frames, timers, DOM writes or blur filters. */
.td-hero--editorial .td-hero__route-layer,
.td-hero--editorial .td-hero__flight-path-layer,
.td-hero--editorial .td-hero__pin-layer,
.td-hero--editorial .td-hero__vehicle-layer,
.td-hero--editorial .td-hero__card-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.td-hero--editorial .td-hero__scenery { z-index: 0; }
.td-hero--editorial .td-hero__route-layer { z-index: 1; }
.td-hero--editorial .td-hero__flight-path-layer { z-index: 2; }
.td-hero--editorial .td-hero__pin-layer { z-index: 3; }
.td-hero--editorial .td-hero__vehicle-layer { z-index: 4; }
.td-hero--editorial .td-hero__card-layer { z-index: 5; }
.td-hero--editorial .td-hero__route-layer svg,
.td-hero--editorial .td-hero__flight-path-layer svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.td-hero--editorial .td-hero__route-shadow {
  stroke: rgba(90, 58, 30, .25);
  stroke-width: 11;
}
.td-hero--editorial .td-hero__route-base {
  stroke: #fffaf1;
  stroke-width: 7.5;
}
.td-hero--editorial .td-hero__route-dashes {
  stroke: #b67932;
  stroke-width: 2.7;
  stroke-dasharray: 8 11;
}
.td-hero--editorial .td-hero__flight-path-outline {
  stroke: rgba(255, 250, 241, .92);
  stroke-width: 3.8;
}
.td-hero--editorial .td-hero__flight-path-dashes {
  stroke: #b67932;
  stroke-width: 1.9;
  stroke-dasharray: 5 10;
}
.td-hero--editorial .td-hero__map-pin {
  position: absolute;
  display: block;
  width: 32px;
  height: 42px;
  transform: translate(-50%, -94%);
}
.td-hero--editorial .td-hero__map-pin svg { width: 100%; height: 100%; display: block; }
.td-hero--editorial .td-hero__map-pin path {
  fill: #b68139;
  stroke: #fffaf1;
  stroke-width: 1.8;
  stroke-linejoin: round;
}
.td-hero--editorial .td-hero__map-pin circle { fill: #fffaf1; }
.td-hero--editorial .td-hero__map-pin--via-one { left: 75.916%; top: 71.82%; }
.td-hero--editorial .td-hero__map-pin--via-two { left: 71.307%; top: 43.50%; }
.td-hero--editorial .td-hero__map-pin--via-three { left: 46.520%; top: 33.62%; }
/* Separate transparent aircraft overlay, independent of the dashed flight path. */
.td-hero--editorial .td-hero__vehicle-icon {
  position: absolute;
  top: 7.8%;
  left: 44%;
  display: block;
  width: 138px;
  height: auto;
  transform: translateY(-20px) rotate(-7deg);
  pointer-events: none;
}
@media (max-width: 540px) {
  .td-hero--editorial .td-hero__map-pin { width: 22px; height: 29px; }
  .td-hero--editorial .td-hero__vehicle-icon { width: 82px; height: auto; }
}
.td-hero--editorial .td-hero__destination {
  position:absolute;
  z-index:2;
  display:block;
  width:clamp(188px, 17.2vw, 242px);
  padding:7px 7px 4px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:17px;
  color:#183d2c;
  background:#fffaf1;
  box-shadow:0 15px 38px rgba(46,46,30,.17);
  font-family:"Source Sans 3",system-ui,sans-serif;
}
.td-hero--editorial .td-hero__destination img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 5 / 3;
  border-radius:11px;
  object-fit:cover;
}
.td-hero--editorial .td-hero__destination>div {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
  padding:5px 4px 2px;
}
.td-hero--editorial .td-hero__destination-pin { color:#B98130; width:17px; height:17px; flex:0 0 17px; }
.td-hero--editorial .td-hero__destination-arrow { margin-left:auto; color:#617562; font-size:16px; }
.td-hero--editorial .td-hero__destination--patagonia { top:1%; left:0; transform:rotate(-8deg); }
.td-hero--editorial .td-hero__destination--philippines { top:8%; right:-5%; transform:rotate(6deg); }
.td-hero--editorial .td-hero__destination--australia { bottom:-2%; right:16%; transform:rotate(5deg); }
.td-hero--editorial .td-hero__destination-copy { display:flex;flex:1;min-width:0;flex-direction:column;gap:0;line-height:1.12; }
.td-hero--editorial .td-hero__destination-copy strong { font-size:13px; white-space:nowrap; }
.td-hero--editorial .td-hero__destination-copy small { color:#6c776f;font-size:10px;font-weight:500;margin-top:3px;white-space:nowrap; }

.td-hero--editorial .td-hero__visual-script {
  position:absolute;
  right:-12%;
  top:51%;
  z-index:6;
  color:#fff8e8;
  font-family:"Caveat",cursive;
  font-size:clamp(17px,2.1vw,31px);
  font-weight:600;
  line-height:1.03;
  transform:rotate(-8deg);
  text-shadow:0 1px 2px rgba(24,43,31,.90), 0 2px 8px rgba(20,37,29,.64);
}
.td-hero--editorial .td-hero__doodles {
  position:absolute;
  inset: 10px 21px 16px;
  overflow:visible;
  pointer-events:none;
  z-index:0;
}
.td-hero--editorial .td-doodle {
  position:absolute;
  width:40px;
  height:40px;
  color:#3d6850;
  fill:none;
  opacity:.62;
}
.td-hero--editorial .td-doodle--plane {left:1.4%;top:11%;width:40px;transform:rotate(-27deg)}
.td-hero--editorial .td-doodle--mountains {left:0.6%;top:43%;width:64px;height:64px;transform:rotate(-7deg)}
.td-hero--editorial .td-doodle--camera {left:1.5%;top:64%;width:29px;transform:rotate(14deg)}
.td-hero--editorial .td-doodle--compass {left:1.5%;bottom:11%;width:55px;height:55px;transform:rotate(-14deg)}
.td-hero--editorial .td-doodle--van {right:1.3%;top:21%;width:54px;height:42px;transform:rotate(9deg)}
.td-hero--editorial .td-doodle--backpack {right:1.8%;top:37%;width:34px;height:34px;transform:rotate(10deg)}
.td-hero--editorial .td-doodle--bike {right:1.4%;bottom:8%;width:44px;transform:rotate(17deg)}
/* Route-name marginalia. One static decorative system reused at the hero,
   journey, story and final CTA; never part of the reading or click hierarchy. */
.td-home--editorial .td-route-notes {
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}
.td-home--editorial .td-route-note {
  position: absolute;
  display: block;
  width: max-content;
  white-space: nowrap;
  font: 700 13px/1 "Source Sans 3", system-ui, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #657568;
  opacity: .33;
  transform-origin: center center;
}
.td-home--editorial .td-route-note--vertical { writing-mode: vertical-rl; text-orientation: mixed; }

/* Hero: only the outer margins, clear of the headline and destination cards. */
.td-home--editorial .td-route-note--panamericana { left: 5.6%; top: 23%; font-size: 16px; opacity: .43; transform: rotate(179deg); }
.td-home--editorial .td-route-note--silk { right: 4.8%; top: 18%; font-size: 13.5px; transform: rotate(-65deg); }
.td-home--editorial .td-route-note--route66 { left: 3.8%; top: 67%; font-size: 12.5px; opacity: .28; transform: rotate(65deg); }
.td-home--editorial .td-route-note--carretera { right: 17%; top: auto; bottom: 0%; font-size: 14px; opacity: .29; transform: rotate(-1deg); }

/* Body: three near the steps, two around the story, one in the CTA margin.
   Positioning is local to each existing section, not the document height. */
.td-home--editorial .td-route-note--siberian { left: -115px; top: 10%; font-size: 15px; opacity: .38; transform: rotate(178deg); }
.td-home--editorial .td-route-note--cape { right: -104px; top: 35%; font-size: 13.5px; transform: rotate(-63deg); }
.td-home--editorial .td-route-note--hippie { left: -103px; top: 75%; font-size: 12px; opacity: .30; transform: rotate(69deg); }
.td-home--editorial .td-story { position: relative; }
.td-home--editorial .td-route-note--pacific { right: -101px; top: 15%; font-size: 13px; opacity: .36; transform: rotate(-177deg); }
.td-home--editorial .td-route-note--balkan { left: -102px; bottom: 2%; font-size: 12px; opacity: .28; transform: rotate(-61deg); }
.td-home--editorial .td-route-note--outback { right: 3.6%; top: 22%; font-size: 13.5px; opacity: .28; transform: rotate(4deg); }

/* Between laptop and wide desktop sizes, protect the headline by keeping
   the four hero notes tight to the outer page edges. */
@media (min-width: 1200px) and (max-width: 1530px) {
  .td-home--editorial .td-route-note--panamericana { left: 1.2%; }
  .td-home--editorial .td-route-note--route66 { left: 1.5%; }
  .td-home--editorial .td-route-note--silk { right: 1.6%; }
  .td-home--editorial .td-route-note--carretera { right: 17%; }
}

/* Below laptop widths, the text margins are needed by real content. */
@media (max-width: 1199px) {
  .td-home--editorial .td-route-notes { display: none; }
}

/* The original category strip and functional map retain their own components. */
.td-home--editorial .td-cats {margin-top:28px;}
.td-home--editorial .welcome-map-section {max-width:1200px;margin:28px auto 0;}
@media (max-width:1120px) {
  .td-hero--editorial .td-hero__inner {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
  .td-hero--editorial .td-hero__title {font-size:clamp(43px,5vw,59px)}
  .td-hero--editorial .td-hero__visual {height:480px}
  .td-hero--editorial .td-hero__visual-script {right:-3%}
}
@media (max-width:900px) {
  .td-home--editorial .td-hero--editorial {padding:35px 28px 32px}
  .td-hero--editorial .td-hero__inner {grid-template-columns:1fr;gap:0}
  .td-hero--editorial .td-hero__text {padding:0 0 18px}
  .td-hero--editorial .td-hero__title {max-width:640px;font-size:clamp(45px,7vw,62px)}
  .td-hero--editorial .td-hero__visual {height:400px;max-width:680px;margin:auto}
  .td-hero--editorial .td-hero__destination--philippines {right:2%}
  .td-hero--editorial .td-hero__visual-script {right:2%}
  .td-hero--editorial .td-hero__search {margin:4px auto 0}
  .td-hero--editorial .td-doodle {opacity:.22}
}
@media (max-width:540px) {
  .td-home--editorial .td-hero--editorial {padding:28px 17px 25px}
  .td-hero--editorial .td-hero__eyebrow {font-size:10px;letter-spacing:.20em;margin-bottom:18px}
  .td-hero--editorial .td-hero__title {font-size:clamp(41px,10.5vw,49px);line-height:1.12;margin-bottom:18px}
  .td-hero--editorial .td-hero__title em::after {margin-top:9px}
  .td-hero--editorial .td-hero__subtitle {font-size:15px;line-height:1.55;margin-bottom:23px}
  .td-hero--editorial .td-btn {min-height:47px;padding:10px 12px;font-size:13px}
  .td-hero--editorial .td-hero__note {font-size:11px;line-height:1.4}
  .td-hero--editorial .td-hero__visual {height:280px;width:100%}
  .td-hero--editorial .td-hero__scenery {inset:4% -8% 0 0}
  .td-hero--editorial .td-hero__destination {width:111px;padding:4px;border-radius:12px}
  .td-hero--editorial .td-hero__destination img {height:auto;aspect-ratio:5/3;border-radius:8px}
  .td-hero--editorial .td-hero__destination>div {font-size:11px;padding:3px 2px}
  .td-hero--editorial .td-hero__destination-copy strong {font-size:10px}
  .td-hero--editorial .td-hero__destination-copy small {display:none}
  .td-hero--editorial .td-hero__destination--patagonia {left:2%}
  .td-hero--editorial .td-hero__destination--philippines {top:7%;right:0}
  .td-hero--editorial .td-hero__destination--australia {right:21%}
  .td-hero--editorial .td-hero__visual-script {font-size:17px;right:0;top:52%}
  .td-hero--editorial .td-hero__search {margin:17px auto 0}
  .td-hero--editorial .td-hero__search .welcome-search {width:100%}
  .td-hero--editorial .td-hero__footline {padding-left:0;text-align:center}
  .td-hero--editorial .td-doodle {display:none}
}

/* Header mobile layout is taller than desktop; avoid a blank 90px band after it. */
@media (max-width:900px) {
  .content-wrapper:has(.td-home--editorial) { margin-top: 18px; }
}
/* Short laptop screens: keep the working search visible without scrolling. */
@media (min-width:901px) and (max-height:810px) {
  .td-home--editorial .td-hero--editorial {padding-top:38px;padding-bottom:23px}
  .td-hero--editorial .td-hero__visual {height:clamp(380px,35vw,485px)}
  .td-hero--editorial .td-hero__search {margin-top:-8px}
}
/* On phones the action and search must come before the decorative collage. */
@media (max-width:540px) {
  .td-home--editorial .td-hero--editorial {display:flex;flex-direction:column}
  .td-hero--editorial .td-hero__inner {display:contents}
  .td-hero--editorial .td-hero__text {order:0}
  .td-hero--editorial .td-hero__search {order:1;margin:12px auto 0;width:100%}
  .td-hero--editorial .td-hero__visual {order:2;margin:18px auto 0}
  .td-hero--editorial .td-hero__footline {order:3}
}

@media (max-width:540px) {
  .td-hero--editorial .td-hero__search .welcome-search__input {font-size:13px}
}


/* Reference composition: cream paper wave behind glass, chips and truthful
   summary metrics. These are semantic HTML elements, not pixels in a screenshot. */
.td-home--editorial .td-hero__lower {
  position: relative;
  z-index: 10;
  max-width: 100%;
  margin: -40px calc(-1 * clamp(27px, 5vw, 86px)) 0;
  width: 100vw;
  max-width: none;
  padding: 5px clamp(27px, 5vw, 86px) 28px;
  isolation: isolate;
}
.td-hero__wave {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 205px;
  pointer-events: none;
  fill: #fffaf4;
}
.td-hero--editorial .td-hero__search {
  position: relative;
  z-index: 25;
  width: min(752px, calc(100vw - 80px));
  max-width: none;
  margin: 23px 0 0;
}
.td-hero--editorial .td-hero__search .welcome-search {
  position: relative;
  top: auto;
  left: auto;
  width: 100%;
  transform: none;
}
.td-hero--editorial .td-hero__search .welcome-search__form {
  background: linear-gradient(100deg, rgba(255,255,255,.77), rgba(255,255,255,.70) 45%, rgba(231,242,233,.76));
  -webkit-backdrop-filter: blur(3px) saturate(110%);
  backdrop-filter: blur(3px) saturate(110%);
}
.td-hero__popular {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
  max-width: 752px;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12px;
  color: #555f55;
  position: relative;
  z-index: 2;
}
.td-hero__popular > span {font-weight: 700; margin-right: 1px;}
.td-hero__popular button {
  border: 1px solid rgba(127,107,80,.23);
  background: rgba(255,253,247,.64);
  border-radius: 999px;
  min-height: 28px;
  padding: 4px 12px;
  font: inherit;
  color: #5f5c52;
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease;
}
.td-hero__popular button:hover,
.td-hero__popular button:focus-visible {
  border-color: #c99a3d;
  background: #fff;
  color: #173e29;
}
.td-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: clamp(30px, 4.3vw, 72px);
  justify-content: center;
  align-items: center;
  margin: 69px auto 0;
  padding: 0 10px 4px;
  position: relative;
  z-index: 2;
  color: #14271b;
}
.td-hero__metric { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.td-hero__metric svg {
  display: block;
  width: 30px;
  height: 30px;
  fill: none;
  color: #B77D2F;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.td-hero__metric span { display: grid; gap: 1px; }
.td-hero__metric strong {font: 600 26px/1.1 'Playfair Display', Georgia, serif; letter-spacing: -.02em;}
.td-hero__metric small {font: 400 13px/1.3 'Source Sans 3', sans-serif;color:#5b655e;}
/* The decorative lower SVGs must paint ABOVE the opaque paper wave.
   The doodle layer has pointer-events:none and therefore never blocks UI. */
.td-hero--editorial .td-hero__doodles {z-index: 3;}
.td-hero__edge-words {
  position: absolute;
  right: 2.8%;
  top: 65%;
  width: 120px;
  text-align: center;
  transform: rotate(8deg);
  font: 700 10px/1.5 'Source Sans 3', sans-serif;
  letter-spacing: .17em;
  color: rgba(44,82,57,.74);
}
.td-hero__edge-words span { color: #B77D2F; }
.td-hero__signpost {
  position: absolute;
  right: 8%;
  bottom: 6%;
  display: grid;
  gap: 2px;
  transform: rotate(-6deg);
}
.td-hero__signpost span {
  padding: 3px 12px;
  display: block;
  border: 1px solid #52715d;
  color: #1c5137;
  background: rgba(255,251,240,.75);
  border-radius: 3px;
  font: 700 10px/1.25 'Source Sans 3',sans-serif;
  letter-spacing: .08em;
}
.td-hero--editorial .td-doodle--sun {right:1%;top:3%;width:58px;height:58px;color:#B48136;opacity:.7}
.td-hero--editorial .td-doodle--palm {left:1%;top:27%;width:59px;height:59px}
.td-hero--editorial .td-doodle--stove {right:4.1%;bottom:15%;width:36px;height:36px;transform:rotate(-4deg)}
.td-hero--editorial .td-doodle--waves {right:1%;top:57%;width:72px;height:44px}
.td-hero--editorial .td-doodle--route {left:0.2%;top:15%;width:76px;height:200px;opacity:.34;color:#a87537}
/* Homepage-only header treatment; no change to account controls or other pages. */
@media (min-width: 1450px) {
  body:has(.td-home--editorial) .main-header {
    background: rgba(252,250,244,.97);
    border: 0;
    box-shadow: none;
    min-height: 73px;
  }
  body:has(.td-home--editorial) .main-header .header-top {
    display: flex;
    justify-content: space-between;
    width: 100%;
    min-height: 73px;
    padding: 0 clamp(38px,5.8vw,90px);
  }
  body:has(.td-home--editorial) .main-header .header-top .center {
    position: absolute;
    left: calc(50% - 337px);
    top: 24px;
    gap: 20px;
  }
  body:has(.td-home--editorial) .main-header .header-top .right {
    margin-left: auto;
    flex: 0 0 auto;
  }
  body:has(.td-home--editorial) .main-header .header-top .center a {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
  }
  body:has(.td-home--editorial) .main-header .header-sub {
    position: absolute;
    top: 25px;
    left: calc(50% - 39px);
    width: auto;
    padding: 0;
    min-height: 0;
    border: 0;
  }
  body:has(.td-home--editorial) .main-header .sub-links-scroll {
    width: auto;
    padding: 0;
    gap: clamp(9px,1vw,15px);
  }
  body:has(.td-home--editorial) .main-header .header-sub a {
    font-size: 12.5px;
    white-space: nowrap;
  }
  body:has(.td-home--editorial) .main-header .home-text {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 800;
    font-size: 27px;
    letter-spacing: .15em;
    color: #14291d;
  }
  body:has(.td-home--editorial) .content-wrapper { margin-top: 73px; }
}
@media (max-width: 1120px) {
  .td-home--editorial .td-hero__lower {margin-top: -28px}
  .td-hero__stats {gap:clamp(16px,2.6vw,40px)}
}
@media (max-width: 900px) {
  .td-home--editorial .td-hero__lower {margin: -18px -28px 0;padding: 15px 28px 25px;width:100vw}
  .td-hero--editorial .td-hero__search {margin:0 auto;width:min(800px,100%)}
  .td-hero__popular {margin-left:0;justify-content:center}
  .td-hero__stats {margin-top: 65px; grid-template-columns:repeat(4,max-content);gap:18px}
  .td-hero__metric {gap:7px}
  .td-hero__metric strong {font-size:21px}
  .td-hero__metric svg {width:24px;height:24px}
  .td-hero__metric small {font-size:12px}
  .td-hero__edge-words,.td-hero__signpost {display:none}
}
@media (max-width: 540px) {
  .td-home--editorial .td-hero--editorial {padding:28px 17px 0}
  .td-home--editorial .td-hero__lower {
    order:1;
    width:calc(100% + 34px);
    margin: 0 -17px;
    padding:16px 17px 22px;
  }
  .td-hero--editorial .td-hero__inner {display:contents}
  .td-hero--editorial .td-hero__text {order:0}
  .td-hero--editorial .td-hero__visual {order:2;margin:18px auto 0}
  .td-hero--editorial .td-hero__lower {order:1}
  .td-hero--editorial .td-hero__search {margin:0 auto;width:100%}
  .td-hero__popular {justify-content:flex-start;margin:12px 0 0;gap:6px}
  .td-hero__popular button {padding:3px 9px;min-height:25px;font-size:11px}
  .td-hero__stats {grid-template-columns:repeat(2,1fr);gap:20px 10px;margin-top:44px;padding:0 12px 12px}
  .td-hero__metric strong {font-size:21px}
  .td-hero__wave {height:170px}
}


/* English line rhythm follows the editorial reference on desktop only.
   Other locale strings continue to wrap naturally. */
@media (min-width: 901px) {
  .td-hero--editorial .td-hero__line { display: block; }
}
@media (max-width: 900px) {
  .td-hero--editorial .td-hero__line { display: inline; }
}


@media (max-width: 1350px) and (min-width: 901px) {
  .td-hero--editorial .td-hero__destination { width:clamp(170px,16vw,206px); }
  .td-hero--editorial .td-hero__positioning {font-size:15px}
}
@media (max-width: 900px) {
  .td-hero--editorial .td-hero__positioning {font-size:15px}
}

/* The content (including the second chip row) remains above the decorative
   paper wave. Transparent coastal scene already fades out naturally. */
.td-home--editorial .td-hero__lower { z-index: 1; }

/* Do not let edge pictograms overlap headings at narrower desktop widths. */
@media (min-width: 901px) and (max-width: 1500px) {
  .td-hero--editorial .td-doodle--plane { left:0; width:25px; height:25px; }
  .td-hero--editorial .td-doodle--palm { left:0; width:31px; height:31px; }
  .td-hero--editorial .td-doodle--mountains { left:0; width:34px; height:34px; }
  .td-hero--editorial .td-doodle--camera { left:0; width:24px; height:24px; }
  .td-hero--editorial .td-doodle--compass { left:0; width:33px; height:33px; }
}


/* Homepage-only transparent navigation. Grid placement (rather than fixed
   left offsets) keeps every desktop link group in its own measured track. */
@media (min-width: 1360px) {
  body:has(.td-home--editorial) {
    background: #fcfaf4;
  }
  body:has(.td-home--editorial) .main-header {
    display: grid;
    grid-template-columns: clamp(134px, 10vw, 158px) max-content minmax(0, 1fr) max-content;
    align-items: center;
    column-gap: clamp(12px, 1.2vw, 22px);
    min-height: 73px;
    height: 73px;
    padding: 0 clamp(28px, 4vw, 64px);
    box-sizing: border-box;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  body:has(.td-home--editorial) .main-header .header-top {
    display: contents;
  }
  body:has(.td-home--editorial) .main-header .header-top .left {
    grid-row: 1;
    grid-column: 1;
    min-width: 0;
    justify-content: flex-start;
  }
  body:has(.td-home--editorial) .main-header .header-top .center {
    grid-row: 1;
    grid-column: 2;
    position: static;
    top: auto;
    left: auto;
    width: auto;
    min-width: 0;
    margin: 0;
    gap: clamp(13px, 1.1vw, 20px);
    justify-content: flex-start;
    white-space: nowrap;
  }
  body:has(.td-home--editorial) .main-header .header-top .center .divider { display: none; }
  body:has(.td-home--editorial) .main-header .header-top .center a {
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
  }
  body:has(.td-home--editorial) .main-header .header-top .center a:nth-of-type(-n+2) {
    font-size: 21px;
    font-weight: 800;
  }
  body:has(.td-home--editorial) .main-header .header-top .right {
    grid-row: 1;
    grid-column: 4;
    justify-self: end;
    margin: 0;
    gap: 7px;
    min-width: 0;
  }
  body:has(.td-home--editorial) .main-header .header-sub {
    grid-row: 1;
    grid-column: 3;
    display: flex;
    position: static;
    top: auto;
    left: auto;
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    justify-content: center;
    overflow: visible;
  }
  body:has(.td-home--editorial) .main-header .sub-links-scroll {
    display: flex;
    width: auto;
    min-width: 0;
    gap: clamp(7px, .65vw, 11px);
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    padding: 0;
  }
  body:has(.td-home--editorial) .main-header .header-sub a {
    white-space: nowrap;
    font-size: 13px;
    font-weight: 600;
  }
  body:has(.td-home--editorial) .main-header .home-text {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 25px;
    font-weight: 800;
    letter-spacing: .13em;
    color: #14291d;
  }
  body:has(.td-home--editorial) .content-wrapper { margin-top: 73px; }
}
@media (min-width: 1025px) and (max-width: 1359px) {
  body:has(.td-home--editorial) { background: #fcfaf4; }
  body:has(.td-home--editorial) .main-header {
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  body:has(.td-home--editorial) .main-header .header-top .center a:nth-of-type(-n+2) {
    font-size: 20px;
    font-weight: 800;
  }
}
@media (min-width: 901px) and (max-width: 1499px) {
  .td-hero--editorial .td-hero__visual-script { right:-9%; }
}
@media (max-width: 900px) {
  .td-hero--editorial .td-hero__visual-script { right:2%; }
}
/* On phones show every category with a compact, evenly spaced two-column
   layout; remove the map's original 40px inset and its 365px forced height. */
@media (max-width: 540px) {
  .td-home--editorial .td-cats {
    width: 100%;
    margin: 24px auto 0;
    padding: 0 18px;
  }
  .td-home--editorial .td-cats__label { margin-bottom: 12px; }
  .td-home--editorial .td-cats__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .td-home--editorial .td-cats__item {
    display: inline-flex;
    min-width: 0;
    min-height: 40px;
    border-radius: 13px;
    padding: 8px 10px;
    gap: 7px;
    font-size: 12px;
    line-height: 1.25;
  }
  .td-home--editorial .td-cats__item img {
    display: block;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
  }
  .td-home--editorial .td-cats__item--more {
    grid-column: span 2;
    justify-content: center;
  }
  .td-home--editorial .welcome-map-section {
    max-width: 100%;
    min-height: 0;
    margin: 24px auto 0;
    padding: 0 18px;
  }
  .td-home--editorial .td-journey {
    margin: 24px auto 0;
  }
}


/* Keep the longer Spanish/French handwritten copy to the outer right edge.
   Moderate font size on smaller desktops to prevent spill/clipping. */
@media (min-width: 1501px) {
  .td-hero--editorial .td-hero__visual-script { right: -19%; }
}
@media (min-width: 1121px) and (max-width: 1500px) {
  .td-hero--editorial .td-hero__visual-script {
    right: -9%;
    font-size: clamp(21px, 1.9vw, 27px);
  }
}
@media (min-width: 901px) and (max-width: 1120px) {
  .td-hero--editorial .td-hero__visual-script {
    right: -3.5%;
    font-size: clamp(18px, 1.9vw, 22px);
  }
}

/* Final map CTA: layered paper panel matching the editorial hero. */
.td-home--editorial .td-final {
  position:relative;isolation:isolate;box-sizing:border-box;
  width:calc(100% - 48px);max-width:1152px;
  margin:96px auto 52px;padding:76px 32px 70px;
  border:1px solid rgba(67,102,75,.28);border-radius:30px;
  background:radial-gradient(ellipse at 90% 4%,rgba(207,159,81,.20),transparent 42%),
    radial-gradient(ellipse at 0% 100%,rgba(64,113,79,.13),transparent 44%),#f5edda;
  box-shadow:0 19px 44px rgba(24,52,35,.10),inset 0 1px rgba(255,255,255,.9);
}
.td-home--editorial .td-final::before,
.td-home--editorial .td-final::after {content:none;}
.td-home--editorial .td-final__solid-border {
  position:absolute;inset:-15px -16px -15px -16px;
  width:calc(100% + 32px);height:calc(100% + 30px);
  pointer-events:none;fill:none;stroke:rgba(170,119,55,.42);
  stroke-width:3;stroke-linecap:round;stroke-linejoin:round;z-index:0;
}
.td-home--editorial .td-final__route-border {
  position:absolute;inset:-15px -16px -15px -16px;
  width:calc(100% + 32px);height:calc(100% + 30px);
  overflow:visible;pointer-events:none;fill:none;
  stroke:rgba(53,99,68,.62);stroke-width:3.3;
  stroke-dasharray:11 9;stroke-linecap:round;stroke-linejoin:round;
  z-index:0;
}
.td-home--editorial .td-final__title {font-family:var(--td-font-display);font-size:clamp(30px,3.7vw,48px);line-height:1.12;letter-spacing:-.035em;max-width:18ch;margin:0 auto 16px;}
.td-home--editorial .td-final__sub {max-width:52ch;margin:0 auto 29px;line-height:1.6;color:#536457;}
.td-home--editorial .td-final .td-btn--gold {position:relative;z-index:1;box-shadow:0 6px 18px rgba(130,88,31,.16);}
.td-home--editorial .td-final__links {gap:30px;margin-top:26px;}
.td-home--editorial .td-final__links a {color:#315e42;text-underline-offset:5px;}
@media(max-width:640px){
 .td-home--editorial .td-final{width:calc(100% - 38px);margin:75px auto 44px;padding:58px 22px 55px;}
 .td-home--editorial .td-final__solid-border{inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);}
 .td-home--editorial .td-final__route-border{inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);}
 .td-home--editorial .td-final__links{gap:12px 22px;}
}

/* Readable homepage desktop navigation without modifying site-wide headers. */
@media (min-width: 1360px) {
  body:has(.td-home--editorial) .main-header .header-sub a img[src*="play-travel-videos.svg"] { width: 19px; height: 19px; max-width: none; }
}

/* Quiet, crawlable links to fresh public offers without affecting the hero. */
.td-home--editorial .td-recent-offers {
  box-sizing:border-box;
  width:calc(100% - 48px);max-width:1120px;
  margin:64px auto 0;
  padding:0 12px;
  color:#1d402d;
  font-family:"Source Sans 3",system-ui,sans-serif;
}
.td-home--editorial .td-recent-offers__heading {
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:8px 20px;margin-bottom:16px;
}
.td-home--editorial .td-recent-offers__heading h2 {
  margin:0;font:700 clamp(19px,2vw,25px)/1.25 "Bricolage Grotesque",system-ui,sans-serif;
}
.td-home--editorial .td-recent-offers__heading>a {
  color:#315e42;font-size:14px;text-decoration:underline;text-underline-offset:4px;
}
.td-home--editorial .td-recent-offers__links {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px;
}
.td-home--editorial .td-recent-offers__links a {
  display:flex;align-items:center;min-height:42px;padding:8px 12px;
  border:1px solid rgba(53,99,68,.16);border-radius:10px;
  background:rgba(245,237,218,.54);color:#27503a;
  font-size:14px;line-height:1.3;text-decoration:none;
}
.td-home--editorial .td-recent-offers__links a:hover {border-color:#c38b3a;background:#f5edda;}
@media(max-width:700px){
  .td-home--editorial .td-recent-offers{width:calc(100% - 32px);margin-top:42px;padding:0 3px;}
  .td-home--editorial .td-recent-offers__links{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .td-home--editorial .td-recent-offers__links a{font-size:12px;min-height:44px;padding:8px 10px;}
}
