/* Shared finish across home, hotel catalogs and tours. */
body { position:relative; }
.site-coastline { position:absolute; inset:0 0 auto; width:100%; max-width:100%; z-index:2; overflow:hidden; pointer-events:none; color:var(--white); opacity:var(--refine-contour-opacity); }
.site-coastline path { fill:none; stroke:currentColor; stroke-width:1; animation:coastline-breathe 24s ease-in-out infinite alternate; transform-origin:center; }
.site-coastline.is-paused path { animation-play-state:paused; }
@keyframes coastline-breathe { from { transform:translateX(-5px); } to { transform:translateX(5px); } }
.travel-catalog .collection,.travel-home .featured-tours,.travel-tours .tour-collection { background-image:none; }
.travel-catalog .collection::before,.travel-home .featured-tours::before,.travel-tours .tour-collection::before { content:none; }
:is(.travel-home,.travel-catalog,.travel-tours) :is(.section-heading,.people-heading,.moments-heading,.collection-heading,.tour-collection-heading) { display:flex; flex-direction:column; align-items:flex-start; text-align:left; gap:var(--feedback-heading-gap); }
:is(.section-heading,.people-heading,.moments-heading,.collection-heading,.tour-collection-heading) > :is(p,div) { margin:0; }
:is(.section-heading,.people-heading,.moments-heading,.collection-heading,.tour-collection-heading) :is(h2,h3) { margin-bottom:0; }
.travel-catalog .collection-heading > p { margin:0; max-width:48ch; }
.collection-heading > p br { display:none; }
.travel-home .featured-tours .section-heading { padding-right:0; }
.travel-home .featured-tours .all-tours-link { position:static; margin:6px 0 0; align-self:flex-start; }
.travel-home .approach-intro { text-align:left; max-width:48ch; }
.travel-home .approach-intro p { margin:0; }
.travel-home .journey-invite { align-items:flex-start; text-align:left; }
.travel-home .journey-caption { margin-inline:0; }
.travel-catalog .empty-state,.travel-tours .tour-empty { text-align:left; }
:is(.travel-home,.travel-catalog,.travel-tours) :is(.button,.tour-button,.explore-hotels,.destination-action,.scene-cta,.card-more,.tour-card-action) { border-radius:var(--refine-button-radius); min-height:var(--refine-button-height); padding-inline:var(--refine-button-padding); font-family:var(--catalog-reading); font-weight:600; letter-spacing:0; transition:background-color var(--refine-motion),box-shadow var(--refine-motion); }
.travel-home .scene-cta { min-width:172px; justify-content:center; box-shadow:0 3px 12px rgb(0 30 38 / .10); }
.travel-home .scene-tabs button[aria-selected=true] { background:rgb(221 255 247 / .22); color:var(--white); border:1px solid var(--white); box-shadow:0 0 0 2px rgb(255 255 255 / .3); }
.travel-home .all-tours-link,.travel-tours .tour-home { border:0; border-radius:0; min-height:44px; padding:10px 0; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; text-decoration-color:var(--refine-rule); }
.tour-card-action { border-color:var(--catalog-rule); background:var(--brand-turquoise); color:var(--white); }
.navigation-link { justify-content:flex-start; }
.reel-arrows svg { width:24px; height:24px; stroke-width:1.5; }
.reel-arrows { border:0; padding:0; gap:10px; }
.travel-home .reel-arrows button { background:transparent; color:var(--white); border:1px solid var(--refine-rule); box-shadow:none; }
.travel-home .guest-names ul { grid-template-columns:repeat(4,minmax(0,1fr)); }
.travel-home .guest-names li[hidden] { display:none!important; }
.travel-home .guest-profile { flex-direction:column; align-items:flex-start; box-shadow:none; }
.guest-profile-toggle { display:flex; align-items:center; justify-content:center; gap:18px; margin:24px auto 0; min-height:48px; padding:10px 20px; background:none; border:0; color:var(--white); font:500 14px/1.5 var(--catalog-reading); cursor:pointer; }
.guest-profile-toggle svg { width:24px; height:16px; fill:none; stroke:currentColor; stroke-width:1.25; transition:transform var(--refine-motion); }
.guest-profile-toggle[aria-expanded=true] svg { transform:rotate(180deg); }
.guest-names { scroll-margin-top:24px; }
.journal-photo[data-full] { cursor:zoom-in; }
:is(a,button):focus-visible { outline:2px solid currentColor; outline-offset:5px; }

/* Paired catalog actions share one size and silhouette on both islands. */
.travel-catalog .country-bottom > :is(.explore-hotels,.country-tours) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:var(--catalog-cta-height);
  padding:14px var(--refine-button-padding);
  border:0;
  border-radius:var(--refine-button-radius);
  font:600 15px/1.5 var(--catalog-reading);
  text-decoration:none;
  text-shadow:none;
  white-space:nowrap;
  box-shadow:none;
  transition:background-color var(--refine-motion);
}
.travel-catalog .country-bottom > .country-tours {
  background:var(--catalog-cta-secondary);
  color:var(--white);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
@media(hover:hover) {
  .travel-catalog .country-bottom > .country-tours:hover { background:var(--catalog-cta-secondary-hover); }
}
@media(max-width:600px) {
  .travel-catalog .country-bottom { align-items:stretch; }
  .travel-catalog .country-bottom > :is(.explore-hotels,.country-tours) { min-height:56px; width:100%; }
}
@media(hover:hover) {
  .travel-home .reel-arrows button:not([aria-disabled=true]):hover { background:rgb(255 255 255 / .12); }
  .all-tours-link:hover,.tour-home:hover { text-decoration-color:currentColor; }
  .guest-profile-toggle:hover svg { transform:translateY(3px); }
  .guest-profile-toggle[aria-expanded=true]:hover svg { transform:rotate(180deg) translateY(3px); }
}
@media(max-width:1000px) { .travel-home .guest-names ul { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .travel-home .featured-tours .scene-cta { min-height:50px; padding-inline:24px; font-size:15px; } }
@media(prefers-reduced-motion:reduce) { .site-coastline path { animation:none; } .guest-profile-toggle svg { transition:none; } }

/* 22 September: align the visible letters, not only their layout boxes.
   Relative offsets preserve wrapping, card widths and control hit areas. */
:is(.travel-home,.travel-catalog,.travel-tours) :is(
  .hero-copy h2,.directions-title h2,.section-heading h2,.people-heading h2,
  .moments-heading h3,.destination-caption strong,.scene-copy h3,
  .founder-heading h2,.journey-invite h2,.country-heading h1,
  .collection-heading h2,.tour-opening h1,.tour-collection-heading h2,
  .tour-hotel-links h2,.hotel-card h3,.tour-card h3,.hotel-intro h2,.tour-detail-body h2
) { position:relative; left:var(--polish-title-bearing); }
:is(.travel-home,.travel-catalog,.travel-tours) :is(
  .hero-copy > p,.destination-subtitle,.section-heading > p,.approach-intro > p,
  .people-heading > p,.moments-heading > p,.direction-country,.destination-description,
  .scene-country,.scene-tour-facts,.founder-role,.journey-caption,
  .collection-heading > p,.country-heading > p,.tour-opening-copy > p,
  .tour-collection-heading > p,.tour-hotel-links p,
  .story-caption > strong,.story-caption > span,.journal-entry figcaption > strong,
  .journal-entry figcaption > span
) { position:relative; left:var(--polish-copy-bearing); }
.travel-home .founder-heading #founder-title { left:-.078125em; }
.travel-home :is(.hero-copy h2,.hero-copy > p,.founder-role) { left:-.046875em; }
.travel-home .people-heading h2 { left:-.078125em; }
.travel-home :is(.moments-heading p,.story-caption > span) { left:-.078125em; }
.travel-home #scene-stay h3 { left:-.03125em; }
.travel-home #scene-islands h3 { left:-.046875em; }
.travel-home #scene-sea .scene-tour-facts { left:-.109375em; }
.travel-home #scene-islands .scene-tour-facts { left:-.03125em; }
.travel-home .hero-copy h2 { margin-bottom:var(--polish-hero-gap); }
.travel-home .journal-lead figcaption { gap:var(--polish-caption-gap); }
.travel-home .journal-lead figcaption > span { color:var(--polish-caption-muted); }

/* Keep the two-line wordmark together, centred beside the existing emblem. */
.travel-home .header .brand { display:flex; align-items:center; gap:var(--space-1); }
.travel-home .header .brand .brand-wordmark { display:flex; flex-direction:column; gap:var(--polish-brand-gap); font:inherit; letter-spacing:inherit; line-height:1; }
.travel-home .header .brand .brand-wordmark small { display:block; font:500 .625rem/1 var(--sans); letter-spacing:.25em; }
:is(.catalog-brand,.tour-brand,.navigation-brand) { align-items:center; }
:is(.catalog-brand,.tour-brand,.navigation-brand) > span { display:flex; flex-direction:column; justify-content:center; gap:var(--polish-brand-gap); line-height:1; }
:is(.catalog-brand,.tour-brand,.navigation-brand) small { margin-top:0; line-height:1; }

/* All twelve captions: calibrated against the shipped Tenor Sans and Manrope
   outlines. This selector also wins over the shared optical alignment rule. */
.destination-seychelles { --direction-country-offset:-0.030em; --direction-title-offset:-0.037em; --direction-description-offset:-0.070em; }
.destination-maldives { --direction-country-offset:-0.070em; --direction-title-offset:-0.120em; --direction-description-offset:-0.030em; }
.destination-japan { --direction-country-offset:-0.040em; --direction-title-offset:-0.009em; --direction-description-offset:-0.010em; }
.destination-mauritius { --direction-country-offset:-0.070em; --direction-title-offset:-0.120em; --direction-description-offset:-0.070em; }
.destination-egypt { --direction-country-offset:-0.070em; --direction-title-offset:-0.120em; --direction-description-offset:-0.070em; }
.destination-china { --direction-country-offset:-0.070em; --direction-title-offset:-0.049em; --direction-description-offset:-0.070em; }
.destination-turkiye { --direction-country-offset:-0.010em; --direction-title-offset:-0.020em; --direction-description-offset:-0.070em; }
.destination-uae { --direction-country-offset:-0.030em; --direction-title-offset:-0.080em; --direction-description-offset:-0.036em; }
.destination-europe { --direction-country-offset:-0.070em; --direction-title-offset:-0.120em; --direction-description-offset:-0.070em; }
.destination-thailand { --direction-country-offset:-0.010em; --direction-title-offset:-0.020em; --direction-description-offset:-0.070em; }
.destination-zanzibar { --direction-country-offset:-0.035em; --direction-title-offset:-0.029em; --direction-description-offset:-0.070em; }
.destination-vietnam { --direction-country-offset:-0.070em; --direction-title-offset:-0.029em; --direction-description-offset:-0.070em; }
.travel-home .destinations-reel .destination-caption > .direction-country { position:relative; left:var(--direction-country-offset); text-align:left; }
.travel-home .destinations-reel .destination-caption > .destination-description { position:relative; left:var(--direction-description-offset); text-align:left; }
.travel-home .destinations-reel .destination-caption > strong { position:relative; left:var(--direction-title-offset); text-align:left; }
