@layer footer-rebuild {
 /* Desktop overscroll exposes the footer-colored page canvas on every page. */
 @media(min-width:960px) {
  html:has(.reveal-footer),
  html:has(.reveal-footer) body {background-color:#19252b!important;}
 }
 /* Reusable depth: the foreground casts its shadow onto the footer. */
 .efecto-sombra-3d {box-shadow:0 25px 50px rgba(0,0,0,.4)!important;}
 html body:has(.reveal-footer) :is(#site,.shell) {
  overflow:visible!important;transform:none!important;clip-path:none!important;
 }
 /* On phones, clip the fixed page-photo canvas to the document shell so
    native bottom bounce exposes the paper surface, never the tour image. */
 @media(max-width:959px) {
  html body:has(.reveal-footer) :is(#site,.shell) {clip-path:inset(0)!important;}
 }
 html body:has(.reveal-footer) .shell {isolation:isolate!important;background:#19252b!important;}
 /* Main is the opaque foreground; footer remains in flow, so no spacer or negative margin is needed. */
 html body main.footer-reveal-main {
  position:relative!important;z-index:1!important;
  background:var(--paper,#f5f5f7)!important;
  border-radius:0 0 40px 40px!important;margin-bottom:0!important;
  overflow:clip!important;
 }
 html body .reveal-footer {
  position:sticky!important;bottom:0!important;z-index:0!important;
  min-height:50svh!important;height:auto!important;box-sizing:border-box!important;
  padding:48px 0 22px!important;margin:0!important;
  background:#19252b!important;color:#f8fafb!important;
  font-family:Arial,Helvetica,sans-serif!important;font-size:14px!important;line-height:1.55!important;
 }
 html body .reveal-footer__wrap {width:min(1280px,calc(100% - 96px));margin-inline:auto;}
 html body .reveal-footer a {color:inherit!important;text-decoration:none!important;-webkit-text-fill-color:currentColor!important;}
 html body .reveal-footer__cta {
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  background:#fff!important;border-radius:999px!important;color:#19252b!important;
  padding:22px 28px 22px 34px;margin-bottom:38px;
 }
 html body .reveal-footer__cta h2 {
  font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(24px,2.2vw,32px)!important;
  font-weight:400!important;line-height:1.15!important;color:#19252b!important;
  -webkit-text-fill-color:#19252b!important;margin:0!important;text-align:start!important;
 }
 html body .reveal-footer__actions {display:flex;align-items:center;gap:10px;flex-shrink:0;}
 html body .reveal-footer a.reveal-footer__action {
  display:inline-flex;justify-content:center;align-items:center;gap:9px;
  min-height:46px;padding:0 18px;border-radius:999px!important;
  background:#173a4f!important;color:#fff!important;border:0!important;
  font-size:14px!important;line-height:1!important;
  transition:transform .25s ease,box-shadow .25s ease;
 }
 html body .reveal-footer a.reveal-footer__action--whatsapp {background:#167c4b!important;}
 html body .reveal-footer svg {width:21px;height:21px;flex:none;fill:none!important;stroke:currentColor!important;}
 html body .reveal-footer__grid {display:grid;grid-template-columns:1.35fr .85fr 1fr;gap:64px;}
 html body .reveal-footer__grid h3 {
  font-family:Arial,Helvetica,sans-serif!important;font-size:13px!important;font-weight:600!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0 0 14px!important;line-height:1.3!important;
 }
 html body .reveal-footer__brand {display:block;width:230px;max-width:100%;margin-bottom:14px;}
 html body .reveal-footer__brand img {display:block;width:100%;height:auto;filter:brightness(0) invert(1)!important;}
 html body .reveal-footer__contact > a:not(.reveal-footer__brand) {display:block;width:fit-content;line-height:1.8;}
 html body .reveal-footer__company {font-size:12px!important;line-height:1.55!important;color:#bac6cc!important;margin:14px 0 0!important;max-width:340px;}
 html body .reveal-footer__legal > a {display:block;margin-bottom:9px;font-size:13px;}
 html body .reveal-footer__socials {display:flex;gap:12px;margin-bottom:22px;}
 html body .reveal-footer__socials a {display:grid;place-items:center;width:36px;height:36px;border:1px solid #516068;border-radius:50%;}
 /* Keep payment assets intact rather than replacing them with text or invented logos. */
 html body .reveal-footer__payments img {display:block;width:min(100%,285px);height:auto;}
 html body .reveal-footer__copyright {margin-top:28px;padding-top:16px;text-align:center;font-size:11px;color:#bac6cc;}
 @media(hover:hover) and (pointer:fine) {
  html body .reveal-footer a.reveal-footer__action:hover {transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.22);}
  html body .reveal-footer__legal a:hover {text-decoration:underline!important;text-underline-offset:4px;}
 }
 @media(max-width:1180px) and (min-width:960px) {
  html body .reveal-footer__wrap {width:calc(100% - 64px);}
  html body .reveal-footer__grid {gap:32px;}
  html body .reveal-footer__cta {gap:16px;padding:20px 24px;}
  html body .reveal-footer a.reveal-footer__action {padding-inline:14px;}
 }
 @media(max-width:959px) {
  html body main.footer-reveal-main {border-radius:0 0 24px 24px!important;}
  html body .reveal-footer {min-height:0!important;height:auto!important;padding:26px 0 14px!important;}
  html body .reveal-footer__wrap {width:calc(100% - 36px);max-width:680px;}
  html body .reveal-footer__cta {flex-direction:column;gap:10px;padding:14px 20px;margin-bottom:20px;text-align:center;}
  html body .reveal-footer__cta h2 {font-size:20px!important;text-align:center!important;}
  html body .reveal-footer__actions {gap:12px;}
  html body .reveal-footer a.reveal-footer__action {width:42px;height:42px;min-height:42px;padding:0;}
  html body .reveal-footer__action span {display:none;}
  html body .reveal-footer__grid {grid-template-columns:1fr 1fr;gap:14px 20px;}
  html body .reveal-footer__contact {grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;align-items:center;}
  html body .reveal-footer__brand {width:160px;margin:0;grid-row:1/3;}
  html body .reveal-footer__contact > a:not(.reveal-footer__brand) {font-size:11px;line-height:1.7;overflow-wrap:anywhere;}
  html body .reveal-footer__company {grid-column:1/-1;font-size:10px!important;margin:8px 0 0!important;max-width:none;}
  html body .reveal-footer__grid h3 {font-size:11px!important;margin-bottom:9px!important;}
  html body .reveal-footer__legal {display:flex;flex-wrap:wrap;gap:6px 12px;align-content:start;}
  html body .reveal-footer__legal h3 {flex-basis:100%;margin-bottom:3px!important;}
  html body .reveal-footer__legal > a {font-size:10px;margin:0;}
  html body .reveal-footer__socials {gap:9px;margin-bottom:12px;}
  html body .reveal-footer__socials a {width:30px;height:30px;}
  html body .reveal-footer__socials svg {width:17px;height:17px;}
  html body .reveal-footer__payments img {width:100%;}
  html body .reveal-footer__copyright {font-size:9px;margin-top:14px;padding-top:0;}
 }
 @media(max-width:360px) {
  html body .reveal-footer__brand {width:142px;}
  html body .reveal-footer__cta h2 {font-size:20px!important;}
 }
 @media(prefers-reduced-motion:reduce) {
  html body .reveal-footer a.reveal-footer__action {transition:none;}
 }
}
@layer footer-rebuild {
 /* On short landscape screens, keep every footer control reachable by scrolling. */
 @media(max-height:600px) {html body .reveal-footer {position:relative!important;}}
}

@layer footer-rebuild {
 html body .reveal-footer__destinations {
  display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;
  gap:8px 20px;margin-top:22px;font-size:12px;line-height:1.5;
 }
 html body .reveal-footer__destinations > span {font-weight:600;color:#bac6cc;}
 html body .reveal-footer__destinations a:hover {text-decoration:underline!important;text-underline-offset:4px;}
 html body .reveal-footer__copyright {margin-top:14px;}
 @media(max-width:959px) {
  html body .reveal-footer__destinations {gap:5px 12px;margin-top:16px;font-size:10px;padding-inline:30px;}
  html body .reveal-footer__destinations > span {flex-basis:100%;text-align:center;font-size:11px;}
  html body .reveal-footer__copyright {margin-top:12px;}
 }
}
@layer footer-rebuild {
 @media(min-width:960px) {
  html body .reveal-footer {
   min-height:75svh!important;padding:56px 0 28px!important;
   display:flex;align-items:stretch;
  }
  html body .reveal-footer__wrap {
   display:flex;flex-direction:column;justify-content:space-between;
  }
  html body .reveal-footer__cta {margin-bottom:40px;}
  html body .reveal-footer__grid {
   grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;
   align-items:start;text-align:center;
  }
  html body .reveal-footer__brand {margin:0 auto 18px;}
  html body .reveal-footer__contact > a:not(.reveal-footer__brand) {margin-inline:auto;}
  html body .reveal-footer__company {margin:16px auto 0!important;}
  html body .reveal-footer__socials {justify-content:center;}
  html body .reveal-footer__payments img {margin-inline:auto;}
  html body .reveal-footer__destinations {margin-top:38px;}
  html body .reveal-footer__copyright {margin-top:22px;padding-top:0;}
 }
 @media(max-width:959px) {
  html body .reveal-footer {min-height:0!important;height:auto!important;padding:18px 0 10px!important;}
  html body main.footer-reveal-main {border-radius:0 0 20px 20px!important;}
  html body .reveal-footer__wrap {width:calc(100% - 28px);}
  html body .reveal-footer__cta {padding:10px 16px;margin-bottom:16px;gap:7px;}
  html body .reveal-footer__cta h2 {font-size:18px!important;line-height:1.2!important;}
  html body .reveal-footer__actions {flex-direction:row;gap:12px;}
  html body .reveal-footer a.reveal-footer__action {width:36px;height:36px;min-height:36px;padding:0;}
  html body .reveal-footer__action span {display:none;}
  html body .reveal-footer__action svg {width:18px;height:18px;}
  html body .reveal-footer__grid {gap:12px 16px;}
  html body .reveal-footer__brand {width:146px;}
  html body .reveal-footer__company {margin-top:5px!important;font-size:9px!important;line-height:1.45!important;}
  html body .reveal-footer__legal {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;}
  html body .reveal-footer__legal h3 {grid-column:1/-1;margin-bottom:0!important;}
  html body .reveal-footer__legal > a {font-size:9px;line-height:1.4;}
  html body .reveal-footer__grid h3 {margin-bottom:6px!important;font-size:10px!important;}
  html body .reveal-footer__socials {margin-bottom:8px;gap:8px;}
  html body .reveal-footer__socials a {width:26px;height:26px;}
  html body .reveal-footer__destinations {margin-top:12px;gap:4px 10px;font-size:9px;padding-inline:28px;}
  html body .reveal-footer__destinations > span {font-size:10px;}
  html body .reveal-footer__copyright {margin-top:8px;font-size:8px;}
 }
}

@layer footer-rebuild {
 html body .reveal-footer__stories {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
  width:min(900px,100%);margin:28px auto 0;
 }
 html body .reveal-footer__story {display:flex;align-items:center;gap:12px;min-width:0;text-align:start;}
 html body .reveal-footer__story img {display:block;width:80px;height:56px;flex:none;object-fit:cover;border-radius:6px;filter:none!important;}
 html body .reveal-footer__story span {font-size:12px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
 html body .reveal-footer__destinations {margin-top:20px;}
 @media(max-width:959px) {
  html body .reveal-footer__stories {gap:12px;margin-top:14px;}
  html body .reveal-footer__story {flex-direction:column;align-items:stretch;gap:5px;}
  html body .reveal-footer__story img {width:100%;height:52px;}
  html body .reveal-footer__story span {font-size:9px;line-height:1.35;-webkit-line-clamp:2;}
  html body .reveal-footer__destinations {margin-top:12px;}
 }
}

@layer footer-rebuild {
 html body .reveal-footer__desktop-contact {display:none;}
 @media(min-width:960px) {
  html body .reveal-footer {min-height:50svh!important;padding:36px 0 20px!important;}
  html body .reveal-footer__wrap {justify-content:flex-start;}
  html body .reveal-footer__cta {margin-bottom:30px;}
  html body .reveal-footer__grid {
   grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;
   text-align:right;align-items:start;
  }
  html body .reveal-footer__grid > * {min-width:0;}
  html body .reveal-footer__grid h3 {text-align:right!important;}
  html body .reveal-footer__brand {width:min(230px,100%);margin:0 0 14px auto;}
  html body .reveal-footer__contact > a:not(.reveal-footer__brand) {display:none;}
  html body .reveal-footer__company {
   max-width:none;width:100%;margin:0!important;text-align:justify!important;text-align-last:start!important;
  }
  html body .reveal-footer__destinations {
   display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;
   gap:6px;margin:0;padding:0;font-size:13px;line-height:1.5;
  }
  html body .reveal-footer__destinations h3 {margin-bottom:8px!important;}
  html body .reveal-footer__legal > a {margin-bottom:7px;}
  html body .reveal-footer__desktop-contact {display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-bottom:16px;font-size:13px;}
  html body .reveal-footer__desktop-contact a {overflow-wrap:anywhere;}
  html body .reveal-footer__socials {justify-content:flex-end;margin-bottom:16px;}
  html body .reveal-footer__payments img {margin-inline:0 0;width:100%;}
  html body .reveal-footer__stories {margin-top:26px;}
  html body .reveal-footer__copyright {margin-top:22px;padding-top:0;}
 }
 @media(max-width:959px) {
  html body .reveal-footer__contact {order:0;}
  html body .reveal-footer__legal {order:1;}
  html body .reveal-footer__social-payments {order:2;}
  html body .reveal-footer__destinations {order:3;grid-column:1/-1;margin-top:0;}
  html body .reveal-footer__destinations h3 {flex-basis:100%;text-align:center!important;margin-bottom:0!important;}
 }
}

@layer footer-rebuild {
 /* Reading links belong to the opaque foreground and scroll over the footer. */
 html body .page-ending-blogs {background:var(--paper,#f5f5f7)!important;padding:32px 36px 40px!important;}
 html body .page-ending-blogs__links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:min(1000px,100%);margin-inline:auto;}
 html body .page-ending-blogs__article {display:flex;align-items:center;gap:14px;min-width:0;text-decoration:none!important;color:#173a4f!important;}
 html body .page-ending-blogs__article img {width:88px;height:62px;object-fit:cover;border-radius:6px;flex:none;filter:none!important;}
 html body .page-ending-blogs__article span {font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.45;text-align:start;color:#173a4f!important;-webkit-text-fill-color:#173a4f!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
 html body .reveal-footer__payments--mobile {display:none;}
 html body .reveal-footer .whatsapp-mark {width:24px;height:24px;}
 @media(max-width:959px) {
  html body .page-ending-blogs {padding:20px 18px 28px!important;}
  html body .page-ending-blogs__links {gap:12px;}
  html body .page-ending-blogs__article {flex-direction:column;align-items:stretch;gap:6px;}
  html body .page-ending-blogs__article img {width:100%;height:58px;}
  html body .page-ending-blogs__article span {font-size:10px;line-height:1.4;-webkit-line-clamp:3;}
  html body .reveal-footer__social-payments .reveal-footer__payments {display:none;}
  html body .reveal-footer__payments--mobile {display:block;text-align:center;margin:14px auto 0;}
  html body .reveal-footer__payments--mobile h3 {font:600 10px/1.3 Arial,Helvetica,sans-serif!important;color:#fff!important;margin:0 0 7px!important;text-align:center!important;}
  html body .reveal-footer__payments--mobile img {width:240px;max-width:100%;height:auto;margin-inline:auto;}
  html body .reveal-footer__copyright {margin-top:10px;}
  html body .reveal-footer .whatsapp-mark {width:22px;height:22px;}
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  html body .reveal-footer {min-height:50svh!important;}
  html body .reveal-footer__brand {margin:0 auto 14px 0;}
  html body .reveal-footer__copyright {margin-top:auto;padding-top:22px;}
 }
 html body .reveal-footer img.whatsapp-mark {
  display:block;width:28px;height:28px;object-fit:contain;
  filter:none!important;border-radius:0;flex:none;
 }
 @media(max-width:959px) {
  html body .reveal-footer img.whatsapp-mark {width:27px;height:27px;}
 }
}
@layer footer-rebuild {
 /* Stronger depth at the edges of the tour-page photographic reveal. */
 html body[data-page="tour"] #more-tours::after {
  content:""!important;display:block!important;position:absolute!important;
  inset:0!important;pointer-events:none!important;z-index:0!important;
  box-shadow:inset 0 18px 24px -12px rgba(0,0,0,.64),inset 0 -16px 22px -12px rgba(0,0,0,.52)!important;
 }
 html body[data-page="tour"] #more-tours > .wrap {position:relative!important;z-index:1!important;}
 @media(max-width:959px) {
  html body[data-page="tour"] #more-tours::after {background:transparent!important;}
 }
}

@layer footer-rebuild {
 html body .reveal-footer__pages {display:flex;flex-direction:column;align-items:flex-end;gap:7px;font-size:13px;line-height:1.5;}
 html body .reveal-footer__pages h3 {margin-bottom:8px!important;}
 @media(min-width:960px) {
  html body .reveal-footer {min-height:75svh!important;padding:48px 0 28px!important;}
  html body .reveal-footer__wrap {justify-content:space-between;}
  html body .reveal-footer__cta {margin-bottom:42px;}
  html body .reveal-footer__grid {gap:40px;}
  html body .reveal-footer__destinations {
   display:flex;flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:wrap;
   gap:10px 24px;margin:36px 0 0;padding:0;font-size:13px;
  }
  html body .reveal-footer__destinations h3 {margin:0!important;}
  html body .reveal-footer__copyright {margin-top:24px;padding-top:0;}
 }
 @media(max-width:959px) {
  html body .reveal-footer__pages {order:1;grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px 12px;font-size:10px;}
  html body .reveal-footer__pages h3 {flex-basis:100%;text-align:center!important;margin-bottom:0!important;}
  html body .reveal-footer__legal {order:2;}
  html body .reveal-footer__social-payments {order:3;}
  html body .reveal-footer__destinations {margin-top:12px;}
 }
}
@layer footer-rebuild {
 /* The asset has 44 transparent pixels before the visible mark (44 / 820). */
 html body .reveal-footer__brand img {transform:translateX(-5.365854%)!important;}
}

@layer footer-rebuild {
 /* Home's tour collection uses the same depth as the tour-page reveal. */
 html body.home-page #tours::after {
  content:""!important;display:block!important;position:absolute!important;
  inset:0!important;pointer-events:none!important;z-index:0!important;
  background:transparent!important;
  box-shadow:inset 0 18px 24px -12px rgba(0,0,0,.64),inset 0 -16px 22px -12px rgba(0,0,0,.52)!important;
 }
 html body.home-page #tours > .wrap {position:relative!important;z-index:1!important;}
}

@layer footer-rebuild {
 html body .reveal-footer__company-desktop {display:inline;}
 html body .reveal-footer__company-mobile {display:none;}
 @media(min-width:960px) {
  html body .reveal-footer__company {text-align:justify!important;text-align-last:start!important;margin:0!important;width:100%;}
 }
 @media(max-width:959px) {
  html body .reveal-footer__company-desktop {display:none;}
  html body .reveal-footer__company-mobile {display:inline;}
 }
}
@layer footer-rebuild {
 @media(hover:hover) and (pointer:fine) {
  html body .reveal-footer__pages a:hover {
   text-decoration:underline!important;text-underline-offset:4px;
  }
 }
}
@layer footer-rebuild {
 /* Shorten only the photographic carousel band, preserving card and rail spacing. */
 html body.home-page #tours,
 html body[data-page="tour"] #more-tours {padding-top:40px!important;padding-bottom:48px!important;}
 @media(max-width:959px) {
  html body.home-page #tours,
  html body[data-page="tour"] #more-tours {padding-top:32px!important;padding-bottom:40px!important;}
 }
}
@layer footer-rebuild {
 @media(min-width:960px) {
  html body.home-page .home-cover .home-cover__text-panel > h1.display,
  html body.home-page .home-cover .home-cover__text-panel > h1.display :is(span,em) {
   color:#19252b!important;-webkit-text-fill-color:#19252b!important;
  }
 }
}
@layer footer-rebuild {
 @media(min-width:960px) {
  html body.home-page .home-cover .home-cover__text-panel > .eyebrow,
  html body.home-page .home-cover .home-cover__text-panel > .eyebrow :is(span,em) {
   color:#fff!important;-webkit-text-fill-color:#fff!important;
  }
  html body.home-page .home-cover .home-cover__text-panel > .subtitle,
  html body.home-page .home-cover .home-cover__text-panel > .subtitle :is(span,em) {
   color:#19252b!important;-webkit-text-fill-color:#19252b!important;
  }
 }
}
@layer footer-rebuild {
 @media(min-width:960px) {
  html body.home-page .home-cover .home-cover__text-panel > h1.display,
  html body.home-page .home-cover .home-cover__text-panel > h1.display :is(span,em) {
   font-weight:700!important;
  }
  html body.home-page .home-cover .home-cover__text-panel > h1.display {font-size:clamp(24px,2.5vw,42px)!important;}
  html[lang="ms"] body.home-page .home-cover .home-cover__text-panel > h1.display {font-size:clamp(21px,2.05vw,34px)!important;}
 }
}
@layer footer-rebuild {
 @media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  html body:is(.home-page,[data-page="tour"]) .home-travel-highlight__photo img {
   transform:scale(1)!important;
   transition:transform .7s cubic-bezier(.22,.61,.36,1)!important;
  }
  html body:is(.home-page,[data-page="tour"]) .home-travel-highlight__photo:hover img {
   transform:scale(1.045)!important;
  }
  /* Animate only the background photograph; the copy remains steady. */
  html body.home-page .home-custom-journey {overflow:hidden;}
  html body.home-page .home-custom-journey::before {
   content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
   background:inherit;background-attachment:scroll!important;
   transform:scale(1);transition:transform .9s cubic-bezier(.22,.61,.36,1);
  }
  html body.home-page .home-custom-journey:hover::before {transform:scale(1.025);}
  html body.home-page .home-custom-journey__layout {position:relative;z-index:1;}
 }
}
@layer footer-rebuild {
 /* The foreground needs a real box: display:contents discards its stacking layer. */
 html body main.footer-reveal-main {display:block!important;}
 @media(max-width:959px) {
  /* Give the carousel its own reveal canvas above the now-opaque main surface. */
  html body[data-page="tour"] #more-tours {position:relative!important;isolation:isolate!important;clip-path:inset(0)!important;}
  html body[data-page="tour"] #more-tours::before {
   content:""!important;display:block!important;position:fixed!important;
   inset:0!important;width:100%!important;height:100lvh!important;z-index:-1!important;
   pointer-events:none!important;transform:none!important;
   background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),var(--tour-page-mobile-background-photo)!important;
   background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
  }
 }
}
@layer footer-rebuild {
 /* Clip sideways overflow without creating an extra scroll container above sticky. */
 html:has(.reveal-footer):not(:has(body:is(.menu-open,.modal-open,.gallery-open))),
 html body:has(.reveal-footer):not(.menu-open):not(.modal-open):not(.gallery-open) {
  overflow-x:clip!important;overflow-y:visible!important;
 }
}
@layer footer-rebuild {
 /* Pages without tour carousels use paper behind their content, never a fixed photo. */
 html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]) :is(#site,.shell,main) {
  background-color:var(--paper,#f5f5f7)!important;
 }
 html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]) :is(.shell,main)::before {
  visibility:hidden!important;
 }
 html body:is([data-page="contact"],[data-page="agencies"]) .enquiry-section {
  background:var(--paper,#f5f5f7)!important;color:#173a4f!important;
 }
 html body:is([data-page="contact"],[data-page="agencies"]) .enquiry-section::before {visibility:hidden!important;}
 html body:is([data-page="contact"],[data-page="agencies"]) .enquiry-section :is(h1,h2,h3,p,.enquiry-method,.enquiry-method a,.enquiry-socials a) {
  color:#173a4f!important;-webkit-text-fill-color:#173a4f!important;
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  /* Four balanced columns, with company/contact grouped at the left. */
  html body .reveal-footer__grid {grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;}
  html body .reveal-footer__contact {align-self:start;text-align:left;}
  html body .reveal-footer__brand {margin:0 0 6px;width:min(230px,100%);}
  html body .reveal-footer__company {margin:0!important;}
  html body .reveal-footer__contact .reveal-footer__desktop-contact {align-items:flex-start;margin:16px 0 14px;font-size:13px;}
  html body .reveal-footer__contact h3 {text-align:left!important;}
  html body .reveal-footer__contact .reveal-footer__socials {justify-content:flex-start;margin-bottom:0;}
  html body .reveal-footer__destination-payments {text-align:right;}
  html body .reveal-footer__destination-payments .reveal-footer__destinations {flex-direction:column;align-items:flex-end;flex-wrap:nowrap;gap:7px;margin:0;font-size:13px;line-height:1.5;}
  html body .reveal-footer__destination-payments .reveal-footer__destinations h3 {margin:0 0 8px!important;}
  html body .reveal-footer__destination-payments .reveal-footer__payments {margin-top:22px;}
  html body .reveal-footer__destination-payments .reveal-footer__payments img {width:min(100%,285px);margin-left:auto;}
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  /* Compensate for the logo asset's transparent top padding (63 of 820 pixels). */
  html body .reveal-footer__contact {margin-top:-17.67px;}
  html body .reveal-footer__brand {margin-bottom:-16px;}
  html body .reveal-footer__contact .reveal-footer__desktop-contact {margin-top:8px;}
  html body .reveal-footer__copyright {font-size:20px;line-height:1.4;margin-top:auto;padding-top:24px;}
  html body .reveal-footer__payments--bottom {display:flex;justify-content:center;margin-top:12px;}
  html body .reveal-footer__payments--bottom img {width:300px;max-width:100%;margin:0;}
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  /* Balance the column block between the CTA and the compact bottom credits. */
  html body .reveal-footer__grid {margin-block:auto;}
  html body .reveal-footer__copyright {font-size:11px;line-height:1.5;margin-top:0;padding-top:24px;}
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  html body .reveal-footer__grid > :is(.reveal-footer__pages,.reveal-footer__legal,.reveal-footer__destination-payments) {padding-top:51.88px;}
 }
}

@layer footer-rebuild {
 @media(min-width:960px) {
  /* The rounded main exposes its shell: match that backing to the footer. */
  html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]) :is(#site,.shell) {
   background-color:#19252b!important;
  }
 }
}

@layer footer-rebuild {
 /* Keep the guide photo inside its carousel, never behind the footer or overscroll. */
 html body[data-page="destination"] {background:#19252b!important;}
 html body[data-page="destination"] :is(#site,.shell) {background:#19252b!important;background-color:#19252b!important;}
 html body[data-page="destination"] .shell::before {visibility:hidden!important;}
 html body[data-page="destination"] .editorial-contact-bridge {position:relative!important;background:var(--paper,#f5f5f7)!important;}
 html body[data-page="destination"] section.destination-full-tour-carousel {
  position:relative!important;isolation:isolate!important;clip-path:inset(0)!important;
  background:transparent!important;
 }
 html body[data-page="destination"] section.destination-full-tour-carousel::before {
  content:""!important;display:block!important;visibility:visible!important;
  position:fixed!important;inset:0!important;width:100%!important;height:100lvh!important;
  z-index:-1!important;pointer-events:none!important;transform:none!important;filter:none!important;
  background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),var(--immersive-guide-image)!important;
  background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
 }
 @media(max-width:959px) {
  html body[data-page="destination"] section.destination-full-tour-carousel::before {
   background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),var(--mobile-guide-image,var(--immersive-guide-image))!important;
  }
 }
}

@layer footer-rebuild {
 /* Restore the original Contact/B2B fixed photo across hero and enquiry content. */
 html body:is([data-page="contact"],[data-page="agencies"]) main.footer-reveal-main {
  background:transparent!important;isolation:isolate!important;clip-path:inset(0 round 0 0 40px 40px)!important;
 }
 html body:is([data-page="contact"],[data-page="agencies"]) main.footer-reveal-main::before {visibility:visible!important;}
 html body:is([data-page="contact"],[data-page="agencies"]) .enquiry-section {background:transparent!important;color:#fff!important;}
 html body:is([data-page="contact"],[data-page="agencies"]) .enquiry-section :is(h1,h2,h3,p,.enquiry-method,.enquiry-method a,.enquiry-socials a) {color:#fff!important;-webkit-text-fill-color:#fff!important;}
 html body:is([data-page="contact"],[data-page="agencies"]) .editorial-contact-bridge {background:var(--paper,#f5f5f7)!important;}
 html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]) :is(#site,.shell) {background-color:#19252b!important;}
}

@layer footer-rebuild {
 html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]):is([data-page="contact"],[data-page="agencies"]) :is(#site,.shell,main).footer-reveal-main {background:transparent!important;}
 html body:has(.reveal-footer):not(.home-page):not([data-page="tour"]):not([data-page="destination"]):is([data-page="contact"],[data-page="agencies"]) main.footer-reveal-main::before {visibility:visible!important;}
}

@layer footer-rebuild {
 /* One typography for the guide/contact closing strip. */
 html body main .page-ending-journey {
  position:relative;background:var(--paper,#f5f5f7)!important;padding:108px 24px 36px!important;
  text-align:center!important;
 }
 html body main .page-ending-journey h2 {
  font:700 clamp(22px,2.3vw,30px)/1.15 Georgia,serif!important;
  color:#173a4f!important;-webkit-text-fill-color:#173a4f!important;
  text-align:center!important;margin:0!important;
 }
 @media(max-width:959px) {
  html body main .page-ending-journey {padding:72px 22px 24px!important;}
 }
 html body:is([data-page="destination"],[data-page="contact"],[data-page="agencies"]) main .editorial-contact-bridge {
  background:#f5f5f7!important;color:#173a4f!important;text-align:center!important;
 }
 html body:is([data-page="destination"],[data-page="contact"],[data-page="agencies"]) main .editorial-contact-bridge h2 {
  font:700 clamp(22px,2.3vw,30px)/1.15 Georgia,serif!important;color:#173a4f!important;-webkit-text-fill-color:#173a4f!important;
  text-align:center!important;margin:0 0 8px!important;
 }
 html body:is([data-page="destination"],[data-page="contact"],[data-page="agencies"]) main .editorial-contact-bridge p {
  font:400 16.8px/1.7 Arial,Helvetica,sans-serif!important;color:#30343a!important;-webkit-text-fill-color:#30343a!important;
  text-align:center!important;text-align-last:center!important;max-width:760px!important;margin:0 auto!important;
 }
 html body:is([data-page="contact"],[data-page="agencies"]) main .editorial-contact-bridge {padding:108px 24px 36px!important;}
 @media(max-width:959px) {
  html body:is([data-page="contact"],[data-page="agencies"]) main .editorial-contact-bridge {padding:72px 22px 24px!important;}
 }
}
