/* AIRPORTCABO public visual system — August 2026.
   One self-contained stylesheet. No imports from the archived design. */

/* AIRPORTCABO editorial presentation layer — staging only. */
@font-face{
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/cormorant-garamond-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face{
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/cormorant-garamond-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../../fonts/manrope-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("../../fonts/manrope-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/newsreader-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/newsreader-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/newsreader-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 500 700;
  font-display: swap;
  src: url("../../fonts/newsreader-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: "Newsreader Wordmark";
  font-style: normal;
  font-weight: 500 700;
  font-display: block;
  src: url("../../fonts/newsreader-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --color-navy-950: #08263D;
  --color-navy-900: #0D304A;
  --color-navy-800: #173F59;
  --color-ivory-50: #FBF7F0;
  --color-ivory-100: #F6EFE5;
  --color-sand-200: #E8D9C7;
  --color-sand-300: #D8C1A6;
  --color-terracotta-500: #C45F3C;
  --color-terracotta-600: #A94A2F;
  --color-sage-500: #7C8D7C;
  --color-sage-700: #536759;
  --color-ink: #172433;
  --color-muted: #6B716F;
  --color-border: rgba(23, 36, 51, 0.14);
  --ac-serif: "Newsreader", Georgia, serif;
  --ac-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ac-radius-sm: 14px;
  --ac-radius-md: 22px;
  --ac-radius-lg: 34px;
  --ac-shadow-soft: 0 24px 70px rgba(8, 38, 61, 0.11);
  --ac-shadow-card: 0 14px 44px rgba(8, 38, 61, 0.09);
}

html{ scroll-behavior: smooth; scroll-padding-top: 118px; }
body.ac-editorial-home{
  margin: 0;
  overflow-x: clip;
  background: var(--color-ivory-50);
  color: var(--color-ink);
  font-family: var(--ac-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
@media (max-width: 899px){
  html,
  body.ac-editorial-home{ touch-action: pan-x pan-y; }
}
body.ac-nav-open{ position: fixed; inset-inline: 0; width: 100%; overflow: hidden; overscroll-behavior: none; }
.ac-shell{ width: min(100% - 40px, 1440px); margin-inline: auto; }
.ac-section{ padding: 92px 0; }
.ac-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-terracotta-600);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ac-eyebrow::before{ content: ""; width: 28px; height: 1px; background: currentColor; }
.ac-btn{
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 23px;
  border-radius: 999px;
  font-family: var(--ac-sans);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.ac-btn:hover{ transform: translateY(-2px); }
.ac-btn--primary{ background: var(--color-terracotta-500); color: #fff; box-shadow: 0 12px 28px rgba(196, 95, 60, .24); }
.ac-btn--primary:hover{ background: var(--color-terracotta-600); color: #fff; }
.ac-btn--text{ padding-inline: 3px; color: var(--color-navy-950); }
.ac-btn__play{ display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-terracotta-500); font-size: 9px; }
.ac-hero__stories-link{
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(189,84,53,.28);
  border-radius: 3px;
  background: rgba(255,253,249,.56);
  color: var(--color-navy-950);
  box-shadow: 2px 2px 0 rgba(11,48,71,.08);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .01em;
  text-decoration: none;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}
.ac-hero__stories-link > span:last-child{
  color: var(--color-terracotta-600);
  font-size: 16px;
  transition: transform .2s ease;
}
.ac-hero__stories-link:hover{ border-color: rgba(189,84,53,.58); background: rgba(255,253,249,.88); color: var(--color-terracotta-600); transform: translateY(-1px); }
.ac-hero__stories-link:hover > span:last-child{ transform: translateY(3px); }
@media (min-width: 640px){
  .ac-editorial-home .ac-hero__actions{
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
  .ac-editorial-home .ac-hero__stories-link{ margin-left: 2px; }
}
.ac-editorial-home :where(a, button, input, select, textarea):focus-visible,
.ac-header :where(a, button):focus-visible,
.ac-footer :where(a, button):focus-visible{
  outline: 3px solid rgba(196, 95, 60, .42);
  outline-offset: 3px;
}
[data-reveal]{ opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
[data-reveal].is-visible{ opacity: 1; transform: translateY(0); }

/* Header */
.ac-header{ position: sticky; top: 0; z-index: 1000; color: var(--color-navy-950); font-family: var(--ac-sans); }
.ac-utility{ display: none; background: var(--color-navy-950); color: rgba(255,255,255,.82); }
.ac-utility__inner{ min-height: 36px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; font-size: 10px; font-weight: 700; letter-spacing: .06em; }
.ac-utility__left a{ display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; }
.ac-utility__left svg{ width: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.ac-utility__positioning{ color: rgba(255,255,255,.72); letter-spacing: .15em; text-transform: uppercase; }
.ac-utility__right{ display: flex; justify-content: flex-end; align-items: center; gap: 16px; text-transform: uppercase; }
.ac-locale{ display: grid; min-width: 30px; height: 22px; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }
.ac-nav-shell{ background: rgba(251,247,240,.96); border-bottom: 1px solid rgba(23,36,51,.09); box-shadow: 0 4px 18px rgba(8,38,61,.03); backdrop-filter: blur(14px); transition: background .25s ease, box-shadow .25s ease; }
.ac-header.is-scrolled .ac-nav-shell{ background: rgba(251,247,240,.985); box-shadow: 0 12px 34px rgba(8,38,61,.09); }
.ac-nav-shell__inner{ min-height: 72px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; }
.ac-wordmark{ display: inline-flex; width: fit-content; min-height: 44px; align-items: center; gap: 10px; color: var(--color-navy-950); text-decoration: none; }
.ac-wordmark__mark{ display: grid; width: 42px; height: 34px; place-items: center; }
.ac-wordmark__mark svg{ width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.25; }
.ac-wordmark__copy{ display: flex; flex-direction: column; line-height: 1; }
.ac-wordmark__copy strong{ font-size: 15px; letter-spacing: .085em; }
.ac-wordmark__copy small{ margin-top: 5px; color: var(--color-muted); font-family: var(--ac-serif); font-size: 10px; letter-spacing: .06em; }
.ac-wordmark__copy small span{ color: var(--color-terracotta-600); font-family: var(--ac-serif); font-style: italic; }
.ac-desktop-nav{ display: none; }
.ac-header-actions{ display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.ac-header-book{ display: inline-flex; min-height: 44px; align-items: center; gap: 10px; padding: 0 17px; border-radius: 999px; background: var(--color-terracotta-500); color: #fff; font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.ac-menu-toggle{ position: relative; flex: 0 0 46px; width: 46px; height: 46px; padding: 0; border: 1px solid var(--color-border); border-radius: 10px; background: rgba(255,253,249,.58); color: var(--color-navy-950); cursor: pointer; touch-action: manipulation; }
.ac-menu-toggle span{ position: absolute; top: 50%; left: 50%; width: 18px; height: 1.5px; background: currentColor; transform: translate(-50%,-50%); transition: transform .25s ease; }
.ac-menu-toggle span:first-child{ transform: translate(-50%,calc(-50% - 4px)); }
.ac-menu-toggle span:last-child{ transform: translate(-50%,calc(-50% + 4px)); }
.ac-menu-toggle[aria-expanded="true"] span:first-child{ transform: translate(-50%,-50%) rotate(45deg); }
.ac-menu-toggle[aria-expanded="true"] span:last-child{ transform: translate(-50%,-50%) rotate(-45deg); }
.ac-mobile-menu{ position: fixed; inset: 0; z-index: 1100; min-height: 100%; height: 100dvh; visibility: hidden; pointer-events: none; transition: visibility 0s linear .34s; }
.ac-mobile-menu__backdrop{ position: absolute; inset: 0; background: rgba(8,38,61,.55); opacity: 0; transition: opacity .28s ease; }
.ac-mobile-menu__panel{ position: absolute; top: 0; right: 0; display: flex; width: min(92vw, 400px); height: 100dvh; max-height: 100dvh; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; flex-direction: column; padding: max(18px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) 20px; background: var(--color-ivory-50); box-shadow: -24px 0 60px rgba(8,38,61,.18); transform: translateX(100%); transition: transform .34s cubic-bezier(.2,.7,.2,1); -webkit-overflow-scrolling: touch; }
.ac-mobile-menu.is-open{ visibility: visible; pointer-events: auto; transition-delay: 0s; }
.ac-mobile-menu.is-open .ac-mobile-menu__backdrop{ opacity: 1; }
.ac-mobile-menu.is-open .ac-mobile-menu__panel{ transform: translateX(0); }
.ac-mobile-menu__top{ display: flex; flex: 0 0 auto; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--color-border); color: var(--color-muted); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ac-mobile-menu__top button{ display: grid; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; place-items: center; border: 1px solid var(--color-border); border-radius: 10px; background: rgba(255,253,249,.6); color: var(--color-navy-950); font-size: 28px; line-height: 1; cursor: pointer; touch-action: manipulation; }
.ac-mobile-menu nav{ display: grid; flex: 0 0 auto; padding: 10px 0 20px; }
.ac-mobile-menu nav a{ display: grid; min-width: 0; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; min-height: 58px; border-bottom: 1px solid var(--color-border); color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(25px,7vw,29px); line-height: 1.05; text-decoration: none; }
.ac-mobile-menu nav a span{ color: var(--color-terracotta-500); font-family: var(--ac-sans); font-size: 9px; letter-spacing: .12em; }
.ac-mobile-menu nav a b{ font-family: var(--ac-sans); font-size: 16px; font-weight: 400; }
.ac-mobile-menu nav a[aria-current="page"]{ color: var(--color-terracotta-600); }
.ac-mobile-menu nav a[aria-current="page"] b{ transform: translateX(2px); }
.ac-mobile-menu__footer{ flex: 0 0 auto; margin-top: auto; padding: 18px; border-radius: var(--ac-radius-md); background: var(--color-navy-950); color: #fff; }
.ac-mobile-menu__footer p{ margin: 0 0 12px; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.6; }
.ac-mobile-menu__footer a{ color: #fff; font-size: 15px; font-weight: 800; text-decoration: none; }
.ac-mobile-menu__actions{ display: grid; grid-template-columns: minmax(0,1fr) minmax(94px,.52fr); gap: 9px; }
.ac-mobile-menu__contact{ display: flex; min-width: 0; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 7px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(255,255,255,.07); transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.ac-mobile-menu__contact:hover{ border-color: rgba(255,255,255,.28); background: rgba(255,255,255,.12); }
.ac-mobile-menu__contact:active{ transform: translateY(1px); }
.ac-mobile-menu__contact b{ margin-left: auto; font-size: 13px; font-weight: 500; }
.ac-mobile-menu__whatsapp{ display: block; flex: 0 0 30px; width: 30px; height: 30px; }
.ac-mobile-menu__whatsapp svg{ display: block; width: 100%; height: 100%; }
.ac-mobile-menu__contact--call svg{ width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }

/* Hero */
.ac-hero{ position: relative; overflow: hidden; padding: 56px 0 118px; background: var(--color-ivory-100); }
.ac-hero::before{ content: ""; position: absolute; top: 0; left: 0; width: 46%; height: 100%; background: radial-gradient(circle at 0 0, rgba(216,193,166,.32), transparent 58%); pointer-events: none; }
.ac-hero__grid{ position: relative; z-index: 1; display: grid; gap: 36px; }
.ac-hero__copy{ align-self: center; }
.ac-hero h1{ max-width: 760px; margin: 18px 0 22px; color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(48px, 12vw, 74px); font-weight: 600; letter-spacing: -.035em; line-height: .96; }
.ac-hero h1 em{ color: var(--color-terracotta-500); font-weight: 500; }
.ac-hero__intro{ max-width: 620px; margin: 0; color: #53605f; font-size: 16px; line-height: 1.75; }
.ac-hero__actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 29px; }
.ac-hero__trust{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin-top: 30px; }
.ac-trust-source{ display: flex; min-width: 0; align-items: center; gap: 11px; padding: 12px; border: 1px solid rgba(23,36,51,.1); border-radius: 15px; background: rgba(251,247,240,.64); }
.ac-trust-source[href]{ color: inherit; cursor: pointer; text-decoration: none; transition: opacity .2s ease, transform .2s ease; }
.ac-trust-source[href]:hover{ opacity: .82; transform: translateY(-1px); }
.ac-trust-source__logo{ display: grid; flex: 0 0 104px; width: 104px; height: 40px; place-items: center; padding: 0; border-radius: 4px; background: transparent; box-shadow: none; }
.ac-trust-source__logo img{ display: block; width: auto; max-width: 100%; height: 22px; object-fit: contain; }
.ac-trust-source div{ display: flex; min-width: 0; flex-direction: column; line-height: 1.25; }
.ac-trust-source strong{ color: var(--color-navy-950); font-size: 12px; }
.ac-trust-source__rating{ display: flex; width: fit-content; min-width: 0; align-items: center; gap: 6px; padding: 4px 7px; border: 1px solid rgba(8,38,61,.1); border-radius: 999px; background: rgba(255,255,255,.55); white-space: nowrap; }
.ac-trust-source__stars{ display: inline-flex; align-items: center; gap: 1px; font-size: 13px; letter-spacing: 0; line-height: 1; }
.ac-trust-source__stars i{ display: inline-block; font-style: normal; transform-origin: center 72%; animation: ac-rating-wave 5.2s cubic-bezier(.22,.8,.3,1) infinite; will-change: transform, filter; }
.ac-trust-source__stars i:nth-child(2){ animation-delay: .09s; }
.ac-trust-source__stars i:nth-child(3){ animation-delay: .18s; }
.ac-trust-source__stars i:nth-child(4){ animation-delay: .27s; }
.ac-trust-source__stars i:nth-child(5){ animation-delay: .36s; }
.ac-trust-source__rating b{ color: var(--color-navy-950); font-size: 10px; font-weight: 800; }
.ac-trust-source__rating--google .ac-trust-source__stars{ color: #fbbc04; }
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars{ gap: 3px; color: #00aa6c; }
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars i{
  width: 11px;
  height: 11px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: currentColor;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
  font-size: 0;
  animation-delay: .55s;
}
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars i:nth-child(2){ animation-delay: .64s; }
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars i:nth-child(3){ animation-delay: .73s; }
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars i:nth-child(4){ animation-delay: .82s; }
.ac-trust-source__rating--tripadvisor .ac-trust-source__stars i:nth-child(5){ animation-delay: .91s; }
@keyframes ac-rating-wave{
  0%, 13%, 100%{ transform: translateY(0) scale(1) rotate(0); filter: drop-shadow(0 0 0 transparent); }
  4%{ transform: translateY(-1.5px) scale(1.2) rotate(-3deg); filter: drop-shadow(0 1px 2px currentColor) brightness(1.1); }
  8%{ transform: translateY(0) scale(1.03) rotate(0); filter: drop-shadow(0 0 0 transparent); }
}
.ac-trust-source small{ margin-top: 4px; overflow: hidden; color: var(--color-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.ac-hero__media{ position: relative; min-height: 380px; margin: 0; overflow: hidden; border-radius: 34px 34px 12px 34px; box-shadow: var(--ac-shadow-soft); }
.ac-hero__media::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 57%, rgba(8,38,61,.38)); pointer-events: none; }
.ac-hero__media > img{ width: 100%; height: 100%; min-height: 380px; object-fit: cover; object-position: 58% center; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.ac-hero__media:hover > img{ transform: scale(1.025); }
.ac-hero__media figcaption{ position: absolute; right: 18px; bottom: 18px; left: 18px; z-index: 2; display: flex; align-items: center; gap: 11px; color: #fff; }
.ac-hero__media figcaption > span:last-child{ display: flex; flex-direction: column; line-height: 1.25; }
.ac-hero__media figcaption strong{ font-size: 12px; }
.ac-hero__media figcaption small{ margin-top: 3px; color: rgba(255,255,255,.72); font-size: 10px; }
.ac-hero__pin{ display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(8,38,61,.36); backdrop-filter: blur(8px); }
.ac-hero__pin svg{ width: 19px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.ac-hero__coastline{ position: absolute; right: 0; bottom: 12px; width: min(56vw,760px); color: rgba(124,141,124,.2); }
.ac-hero__coastline svg{ display: block; width: 100%; height: 90px; fill: none; stroke: currentColor; stroke-width: 1.2; }

/* Benefits */
.ac-benefits{ background: var(--color-ivory-100); border-block: 1px solid rgba(23,36,51,.08); }
.ac-benefits__grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.ac-benefit{ display: flex; min-width: 0; align-items: flex-start; gap: 12px; padding: 24px 10px; border-bottom: 1px solid rgba(23,36,51,.09); }
.ac-benefit:nth-child(odd){ border-right: 1px solid rgba(23,36,51,.09); }
.ac-benefit:last-child{ grid-column: 1 / -1; border-bottom: 0; border-right: 0; }
.ac-benefit__icon{ display: grid; flex: 0 0 38px; height: 38px; place-items: center; border-radius: 50%; background: rgba(196,95,60,.1); color: var(--color-terracotta-600); }
.ac-benefit__icon svg{ width: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.ac-benefit h2{ margin: 0; color: var(--color-navy-950); font-family: var(--ac-sans); font-size: 12px; font-weight: 800; line-height: 1.3; }
.ac-benefit p{ margin: 5px 0 0; color: var(--color-muted); font-size: 10px; line-height: 1.55; }

/* Shared section heading */
.ac-section-heading{ display: grid; gap: 22px; margin-bottom: 38px; }
.ac-section-heading h2,
.ac-story h2,
.ac-final-cta h2{ margin: 14px 0 0; color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(43px,9vw,70px); font-weight: 600; letter-spacing: -.035em; line-height: .96; }
.ac-section-heading h2 em,
.ac-story h2 em,
.ac-final-cta h2 em{ color: var(--color-terracotta-500); font-weight: 500; }
.ac-section-heading > p{ max-width: 560px; margin: 0; color: var(--color-muted); font-size: 14px; line-height: 1.75; }

/* Story */
.ac-story{ background: var(--color-ivory-50); }
.ac-story__grid{ display: grid; gap: 28px; }
.ac-story__copy > p{ max-width: 540px; margin: 24px 0 0; color: var(--color-muted); font-size: 15px; line-height: 1.8; }
.ac-story__copy > p + p{ margin-top: 13px; }
.ac-signature{ display: flex; flex-direction: column; margin-top: 29px; }
.ac-signature > span{ color: var(--color-terracotta-600); font-family: var(--ac-serif); font-size: 34px; font-style: italic; line-height: 1; transform: rotate(-3deg); transform-origin: left; }
.ac-signature small{ margin-top: 9px; color: var(--color-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ac-story__photo{ position: relative; min-height: 490px; margin: 0; overflow: hidden; border-radius: 100px 22px 100px 22px; box-shadow: var(--ac-shadow-card); }
.ac-story__photo img{ width: 100%; height: 100%; min-height: 490px; object-fit: cover; object-position: center; filter: saturate(.85) contrast(1.04) brightness(.95); transition: transform .8s ease; }
.ac-story__photo:hover img{ transform: scale(1.03); }
.ac-story__photo::after{ content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(180deg,transparent,rgba(8,38,61,.5)); }
.ac-story__photo figcaption{ position: absolute; right: 20px; bottom: 18px; left: 20px; z-index: 2; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.ac-story__photo figcaption span{ color: var(--color-sand-300); }
.ac-story__stamp{ position: absolute; top: 22px; right: 19px; z-index: 2; display: grid; width: 86px; height: 86px; grid-template-rows: 1fr auto 1fr; place-items: center; overflow: hidden; padding: 11px 9px; border: 1px solid rgba(255,255,255,.62); border-radius: 50%; background: rgba(8,38,61,.18); color: #fff; text-align: center; backdrop-filter: blur(8px); transform: rotate(7deg); }
.ac-story__stamp span{ display: block; width: 100%; font-size: 7px; font-weight: 800; letter-spacing: .075em; line-height: 1; white-space: nowrap; }
.ac-story__stamp span:first-child{ align-self: end; margin-bottom: 4px; }
.ac-story__stamp span:last-child{ align-self: start; margin-top: 4px; font-size: 6.5px; letter-spacing: .045em; }
.ac-story__stamp b{ font-family: var(--ac-serif); font-size: 21px; line-height: .8; }
.ac-story__facts{ overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--ac-radius-md); background: #fffdfa; color: var(--color-ink); box-shadow: none; }
.ac-story__facts-head{ padding: 21px 23px; border-bottom: 1px solid var(--color-border); }
.ac-story__facts-head > span{ color: var(--color-navy-950); font-size: 12px; font-weight: 800; }
.ac-story__facts ul{ margin: 0; padding: 5px 23px 18px; list-style: none; }
.ac-story__facts li{ display: block; padding: 17px 0; border-bottom: 1px solid var(--color-border); }
.ac-story__facts li:last-child{ border-bottom: 0; }
.ac-story__facts li div{ display: flex; flex-direction: column; }
.ac-story__facts strong{ color: var(--color-navy-950); font-family: var(--ac-sans); font-size: 13px; font-weight: 800; line-height: 1.35; }
.ac-story__facts small{ margin-top: 5px; color: var(--color-muted); font-size: 10px; line-height: 1.55; }

/* Destinations */
.ac-destinations{ overflow: hidden; background: var(--color-ivory-100); }
.ac-destination-gallery{ min-width: 0; }
.ac-destination-track,
.ac-fleet-track{ display: grid; grid-auto-flow: column; grid-auto-columns: min(82vw, 360px); gap: 16px; overflow-x: auto; margin-right: -20px; padding: 2px 20px 24px 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ac-destination-track::-webkit-scrollbar,
.ac-fleet-track::-webkit-scrollbar{ display: none; }
.ac-destination-card{ min-width: 0; scroll-snap-align: start; }
.ac-destination-card > a{ position: relative; display: block; aspect-ratio: 4 / 5; min-height: 320px; overflow: hidden; border-radius: 26px; color: #fff; text-decoration: none; box-shadow: var(--ac-shadow-card); }
.ac-destination-card img{ display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.88) contrast(1.08) brightness(.9); transform: scale(1.045); transition: transform 1.15s cubic-bezier(.2,.7,.2,1),filter 1.15s ease; }
.ac-destination-card__shade{ position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg,rgba(8,38,61,.28) 0%,rgba(8,38,61,.06) 35%,rgba(8,38,61,.14) 56%,rgba(8,38,61,.94) 100%); }
.ac-destination-card__zone{ position: absolute; z-index: 2; top: 18px; left: 18px; padding: 6px 10px; border: 1px solid rgba(255,255,255,.52); border-radius: 999px; background: rgba(8,38,61,.52); color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 1px 2px rgba(0,0,0,.3); backdrop-filter: blur(8px); }
.ac-destination-card__body{ position: absolute; z-index: 2; right: 20px; bottom: 21px; left: 20px; display: flex; flex-direction: column; }
.ac-destination-card__body strong{ color: #fff; font-family: var(--ac-serif); font-size: 29px; font-weight: 600; line-height: 1.02; text-shadow: 0 2px 8px rgba(0,0,0,.34); }
.ac-destination-card__body small{ margin-top: 7px; color: rgba(255,255,255,.9); font-size: 11px; font-weight: 650; text-shadow: 0 1px 4px rgba(0,0,0,.32); }
.ac-destination-card__arrow{ position: absolute; z-index: 2; right: 18px; top: 18px; display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--color-terracotta-500); font-size: 16px; transform: translate(-4px,4px); opacity: 0; transition: opacity .2s ease, transform .2s ease; }
.ac-destination-card > a::before{ content: ""; position: absolute; z-index: 2; inset: -45%; pointer-events: none; background: linear-gradient(112deg,transparent 43%,rgba(255,255,255,.2) 49%,rgba(255,255,255,.06) 53%,transparent 59%); opacity: 0; transform: translateX(-48%); }
.ac-destination-card__body::before{ content: ""; width: 42px; height: 2px; margin-bottom: 12px; background: var(--color-terracotta-500); transform: scaleX(0); transform-origin: left; transition: transform .7s .32s cubic-bezier(.2,.7,.2,1); }
.ac-destination-card__zone,
.ac-destination-card__body strong,
.ac-destination-card__body small{ opacity: 0; transform: translateY(9px); transition: opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.ac-destination-card__body strong{ transition-delay: .15s; }
.ac-destination-card__body small{ transition-delay: .23s; }
.ac-destination-card.is-visible img{ filter: saturate(1.04) contrast(1.04) brightness(.96); transform: scale(1); }
.ac-destination-card.is-visible > a::before{ animation: ac-destination-sheen 1.15s .38s ease-out both; }
.ac-destination-card.is-visible .ac-destination-card__body::before{ transform: scaleX(1); }
.ac-destination-card.is-visible .ac-destination-card__zone,
.ac-destination-card.is-visible .ac-destination-card__body strong,
.ac-destination-card.is-visible .ac-destination-card__body small{ opacity: 1; transform: translateY(0); }
.ac-destination-card.is-visible:hover img,
.ac-destination-card.is-visible a:focus-visible img{ filter: saturate(1.1) contrast(1.04) brightness(.98); transform: scale(1.035); }
.ac-destination-card.is-visible a:active img{ transform: scale(1.018); }
.ac-destination-card:hover .ac-destination-card__arrow,
.ac-destination-card a:focus-visible .ac-destination-card__arrow{ opacity: 1; transform: translate(0,0); }
.page-destinations .ac-destination-gallery{ margin-bottom: clamp(34px,5vw,66px); }
.page-destinations .mini-grid{ margin-top: 0; }
.page-destinations .mini-card{ min-height: 190px; }
.page-destinations .mini-card p{ max-width: 44ch; }

@keyframes ac-destination-sheen{
  0%{ opacity: 0; transform: translateX(-48%); }
  24%{ opacity: .72; }
  100%{ opacity: 0; transform: translateX(48%); }
}

/* Fleet */
.ac-fleet{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 4%,rgba(189,84,53,.14),transparent 28rem),
    radial-gradient(circle at 4% 92%,rgba(216,193,166,.08),transparent 32rem),
    var(--color-navy-950);
  color: #fff;
}
.ac-fleet::before{
  content: "";
  position: absolute;
  top: 0;
  right: max(20px,4vw);
  left: max(20px,4vw);
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(216,193,166,.45),transparent);
}
.ac-section-heading--light h2{ color: #fff; }
.ac-section-heading--light > p{ color: rgba(255,255,255,.58); }
.ac-section-heading--light .ac-eyebrow{ color: var(--color-sand-300); }
.ac-fleet__intro{ display: grid; gap: 25px; margin-bottom: 36px; }
.ac-fleet .ac-section-heading{ display: block; min-width: 0; margin: 0; }
.ac-fleet .ac-section-heading h2{ max-width: 780px; color: #fff; }
.ac-fleet .ac-section-heading > p{ max-width: 650px; margin-top: 20px; color: rgba(255,255,255,.67); }
.ac-fleet-note{
  position: relative;
  display: grid;
  min-width: 0;
  gap: 9px;
  padding: 24px 0 22px 27px;
  border-block: 1px solid rgba(255,255,255,.17);
  border-left: 2px solid var(--color-terracotta-500);
}
.ac-fleet-note::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 64px;
  height: 1px;
  background: var(--color-sand-300);
}
.ac-fleet-note > span{ color: var(--color-sand-300); font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.ac-fleet-note > span i{ margin-inline: 7px; color: var(--color-terracotta-500); font-style: normal; }
.ac-fleet-note > strong{ color: #fff; font-family: var(--ac-serif); font-size: clamp(26px,2.3vw,34px); font-weight: 500; letter-spacing: -.02em; line-height: 1.02; }
.ac-fleet-note > strong em{ color: var(--color-terracotta-500); font-weight: 400; }
.ac-fleet-note > small{ color: rgba(255,255,255,.56); font-size: 9px; line-height: 1.4; }
.ac-fleet-track{
  display: grid;
  grid-auto-flow: initial;
  grid-auto-columns: initial;
  grid-template-columns: minmax(0,1fr);
  gap: clamp(16px,2vw,24px);
  overflow: visible;
  margin: 0;
  padding: 0;
  scroll-snap-type: none;
}
.ac-fleet-card{
  display: flex;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(216,193,166,.28);
  border-radius: 6px;
  background: linear-gradient(180deg,#fffdf9 0%,#fbf4ea 100%);
  color: var(--color-ink);
  box-shadow: 0 18px 42px rgba(1,16,27,.16);
  scroll-snap-align: none;
  transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.ac-fleet-card__media{ position: relative; aspect-ratio: 8 / 5; min-height: 0; overflow: hidden; background: #e7ded2; }
.ac-fleet-card__media::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(8,38,61,.18),transparent 46%,rgba(8,38,61,.22)); pointer-events: none; }
.ac-fleet-card__media img{ display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.04) brightness(.98); transition: transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease; }
.ac-fleet-card__media-top{ position: absolute; z-index: 1; top: 14px; right: 14px; left: 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ac-fleet-card__media-top > span{ padding: 6px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 3px; background: rgba(8,38,61,.76); color: #fff; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; backdrop-filter: blur(8px); }
.ac-fleet-card__media-top > small{ color: rgba(255,255,255,.9); font-family: var(--ac-serif); font-size: 18px; font-style: italic; text-shadow: 0 1px 8px rgba(8,38,61,.6); }
.ac-fleet-card__body{ display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; padding: 24px; }
.ac-fleet-card__title{ display: grid; min-width: 0; gap: 11px; }
.ac-fleet-card__title::before{ content: ""; width: 34px; height: 2px; background: var(--color-terracotta-500); }
.ac-fleet-card h3{ margin: 0; color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(30px,2.35vw,37px); font-weight: 550; letter-spacing: -.025em; line-height: .98; }
.ac-fleet-card__body > p{ max-width: 42ch; min-height: 0; margin: 15px 0 20px; color: #56656b; font-size: 12px; line-height: 1.6; }
.ac-fleet-card__meta{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: auto; padding: 15px 0; border-block: 1px solid rgba(11,48,71,.14); }
.ac-fleet-card__meta span{ display: flex; min-width: 0; align-items: center; gap: 8px; color: #43565e; font-size: 10px; font-weight: 650; line-height: 1.4; }
.ac-fleet-card__meta svg{ flex: 0 0 18px; width: 18px; fill: none; stroke: var(--color-terracotta-600); stroke-width: 1.45; }
.ac-fleet-card__body > a{ display: flex; min-height: 45px; align-items: center; justify-content: space-between; margin-top: 11px; color: var(--color-navy-950); font-size: 10px; font-weight: 800; letter-spacing: .015em; text-decoration: none; }
.ac-fleet-card__body > a span{ color: var(--color-terracotta-500); font-size: 17px; transition: transform .2s ease; }
.ac-fleet-assist{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 25px;
  padding: 22px 0 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.ac-fleet-assist > div{ display: grid; min-width: 0; gap: 4px; }
.ac-fleet-assist > div span{ color: var(--color-sand-300); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ac-fleet-assist > div strong{ max-width: 680px; color: rgba(255,255,255,.82); font-size: 12px; font-weight: 600; line-height: 1.5; }
.ac-fleet-assist .ac-btn{ flex: 0 0 auto; min-height: 48px; box-shadow: none; }
@media (hover:hover){
  .ac-fleet-card:hover{ border-color: rgba(216,193,166,.48); box-shadow: 0 22px 50px rgba(1,16,27,.24); transform: translateY(-4px); }
  .ac-fleet-card:hover .ac-fleet-card__media img{ filter: saturate(1) contrast(1.02); transform: scale(1.035); }
  .ac-fleet-card__body > a:hover span{ transform: translateX(3px); }
}
@media (max-width:639px){
  .ac-fleet__intro{ margin-bottom: 27px; }
  .ac-fleet .ac-section-heading > p{ margin-top: 17px; font-size: 13px; }
  .ac-fleet-note{ padding: 20px 0 19px 20px; }
  .ac-fleet-note > strong{ font-size: 29px; }
  .ac-fleet-card__media{ aspect-ratio: 4 / 3; }
  .ac-fleet-card__body{ padding: 21px; }
  .ac-fleet-card h3{ font-size: 30px; }
  .ac-fleet-card__body > p{ margin-block: 14px 18px; font-size: 11.5px; }
  .ac-fleet-card__meta{ gap: 8px; }
  .ac-fleet-assist{ align-items: stretch; flex-direction: column; gap: 16px; }
  .ac-fleet-assist .ac-btn{ width: 100%; }
}

/* Reviews */
.ac-reviews{
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(189,84,53,.09), transparent 22rem),
    var(--color-ivory-50);
}
.ac-reviews::before{
  content: "“";
  position: absolute;
  top: 32px;
  right: max(3vw, 26px);
  color: rgba(8,38,61,.045);
  font-family: var(--ac-serif);
  font-size: clamp(150px, 21vw, 310px);
  line-height: .75;
  pointer-events: none;
}
.ac-review-stage{
  position: relative;
  display: grid;
  gap: clamp(24px, 3vw, 38px);
}
.ac-review-grid{ display: grid; min-width: 0; gap: 16px; }
.ac-reviews .ac-review-card{
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: clamp(23px, 3vw, 32px);
  border: 1px solid rgba(8,38,61,.13);
  border-radius: 10px 3px 10px 3px;
  background: rgba(255,253,249,.91);
  box-shadow: 0 14px 38px rgba(8,38,61,.055);
  transition: transform .28s var(--ac-motion-ease), border-color .2s ease, box-shadow .28s ease;
}
.ac-reviews .ac-review-card::before{
  content: "";
  position: absolute;
  top: -1px;
  left: 30px;
  width: 54px;
  height: 3px;
  background: var(--color-terracotta-500);
}
.ac-review-card__head{ display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 12px; align-items: center; }
.ac-review-card__avatar{ display: grid; width: 46px; height: 46px; overflow: hidden; place-items: center; border-radius: 50%; background: #e8dfd2; color: var(--color-navy-950); font-family: var(--ac-serif); font-size: 19px; }
.ac-review-card__avatar img{ width: 100%; height: 100%; object-fit: cover; }
.ac-review-card__traveler{ display: grid; min-width: 0; gap: 2px; }
.ac-review-card__traveler strong,
.ac-review-card__traveler small{ overflow-wrap: anywhere; }
.ac-review-card__traveler strong{ color: var(--color-navy-950); font-size: 12px; }
.ac-review-card__traveler small{ color: var(--color-muted); font-size: 10px; }
.ac-review-card__source{ display: inline-flex; align-items: center; gap: 5px; color: #167447; font-size: 9px; font-weight: 800; white-space: nowrap; }
.ac-review-card__source i{ display: grid; width: 17px; height: 17px; place-items: center; border-radius: 50%; background: #e4f3e9; font-size: 10px; font-style: normal; }
.ac-review-card__stars{ margin-top: 25px; color: var(--color-terracotta-500); font-size: 12px; letter-spacing: .12em; }
.ac-review-card h3{ margin: 10px 0 0; color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(24px, 3vw, 34px); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; overflow-wrap: anywhere; }
.ac-review-card blockquote{ margin: 17px 0 25px; color: #42515c; font-family: var(--ac-sans); font-size: 12px; line-height: 1.75; overflow-wrap: anywhere; }
.ac-review-card footer{ display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(8,38,61,.1); }
.ac-review-card footer > span{ color: var(--color-muted); font-size: 10px; }
.ac-review-card footer a{ color: var(--color-navy-950); font-size: 10px; font-weight: 800; text-decoration: none; }
.ac-review-card footer a:hover{ color: var(--color-terracotta-500); }
.ac-review-card--featured{ background: #fffdfa; }
.ac-review-card--featured blockquote{ color: var(--color-navy-950); font-family: var(--ac-serif); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.45; }
.ac-review-empty{ padding: 34px; border: 1px solid var(--color-border); background: rgba(255,253,249,.75); }
.ac-review-empty strong{ font-family: var(--ac-serif); font-size: 28px; }
.ac-review-empty p{ color: var(--color-muted); }
.ac-review-empty a{ color: var(--color-terracotta-500); font-weight: 800; }
.ac-review-actions{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
.ac-review-more{
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 20px;
  border: 1px solid var(--color-navy-950);
  border-radius: 5px 2px 5px 2px;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.ac-review-more{ background: var(--color-navy-950); color: #fff; box-shadow: 4px 4px 0 rgba(189,84,53,.2); }
.ac-review-more i{ font-size: 17px; font-style: normal; font-weight: 400; line-height: 1; }
.ac-review-more:hover{ transform: translateY(-2px); }
.ac-review-more:disabled{ cursor: wait; opacity: .68; transform: none; }
.ac-review-stage.is-review-loading .ac-review-more i{ animation: ac-review-spin .8s linear infinite; }
@keyframes ac-review-spin{ to{ transform: rotate(1turn); } }

@media (hover: hover) and (pointer: fine){
  .ac-reviews .ac-review-card:hover{ transform: translateY(-4px); border-color: rgba(189,84,53,.42); box-shadow: 0 22px 48px rgba(8,38,61,.09); }
}

@media (min-width: 640px){
  .ac-reviews .ac-review-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ac-reviews .ac-review-card--featured{ grid-column: 1 / -1; }
}

@media (min-width: 1080px){
  .ac-reviews .ac-review-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ac-reviews .ac-review-card--featured{ grid-column: auto; }
}

@media (max-width: 639px){
  .ac-review-card__source{ grid-column: 2; justify-self: start; }
  .ac-review-card footer{ align-items: flex-start; flex-direction: column; gap: 8px; }
  .ac-review-more{ width: 100%; }
}

@media (prefers-reduced-motion: reduce){
  .ac-review-stage.is-review-loading .ac-review-more i{ animation: none; }
}

/* Final CTA */
.ac-final-cta{ position: relative; min-height: 560px; overflow: hidden; }
.ac-final-cta > img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ac-final-cta__overlay{ position: absolute; inset: 0; background: linear-gradient(90deg,rgba(8,38,61,.9),rgba(8,38,61,.66) 55%,rgba(8,38,61,.25)); }
.ac-final-cta__content{ position: relative; z-index: 1; display: flex; min-height: 560px; align-items: flex-start; justify-content: center; flex-direction: column; padding-block: 80px; }
.ac-final-cta .ac-eyebrow{ color: var(--color-sand-300); }
.ac-final-cta h2{ color: #fff; }
.ac-final-cta p{ max-width: 510px; margin: 24px 0 29px; color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.75; }

/* Footer */
.ac-footer{ padding: 64px 0 24px; background: #061f32; color: #fff; font-family: var(--ac-sans); }
.ac-wordmark--footer{ color: #fff; }
.ac-wordmark--footer .ac-wordmark__copy small{ color: var(--color-sand-300); font-family: var(--ac-sans); font-size: 10px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; }
.ac-footer__lead > p{ max-width: 390px; margin: 22px 0 0; color: rgba(255,255,255,.56); font-size: 13px; line-height: 1.7; }
.ac-footer__signature{ margin-top: 22px; color: rgba(255,255,255,.54); font-size: 10px; }
.ac-footer__signature span{ margin-left: 4px; color: var(--color-sand-300); font-family: var(--ac-serif); font-size: 22px; font-style: italic; }
.ac-footer__columns{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px 20px; margin-top: 46px; padding-top: 38px; border-top: 1px solid rgba(255,255,255,.1); }
.ac-footer__columns > div{ display: flex; flex-direction: column; align-items: flex-start; }
.ac-footer__columns h2{ margin: 0 0 16px; color: var(--color-sand-300); font-family: var(--ac-sans); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ac-footer__columns a{ display: inline-flex; min-height: 40px; align-items: center; color: rgba(255,255,255,.76); font-size: 11px; text-decoration: none; transition: color .2s ease; }
.ac-footer__columns a:hover{ color: #fff; }
.ac-footer__contact{ grid-column: 1 / -1; }
.ac-footer__contact p,
.ac-footer__contact > span{ margin: 0 0 8px; color: rgba(255,255,255,.5); font-size: 10px; }
.ac-footer__bottom{ display: grid; gap: 14px; margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.46); font-size: 10px; }
.ac-footer__bottom > div{ display: flex; gap: 15px; }
.ac-footer__bottom > a{ display: inline-flex; min-height: 40px; align-items: center; color: rgba(255,255,255,.62); text-decoration: none; }
.ac-footer__placeholder{ cursor: not-allowed; }

/* Mobile-specific booking and layout */
@media (max-width: 639px){
  .ac-shell{ width: min(100% - 38px, 1440px); }
  .ac-section{ padding: 72px 0; }
  .ac-header-book{ padding: 0 14px; font-size: 11px; }
  .ac-hero__actions{ align-items: stretch; flex-direction: column; }
  .ac-hero__actions .ac-btn{ width: 100%; }
  .ac-hero__stories-link{ align-self: center; margin-top: 2px; }
  .ac-hero__trust{ grid-template-columns: 1fr; }
  .ac-hero__media{ min-height: 330px; border-radius: 26px 26px 8px 26px; }
  .ac-hero__media > img{ min-height: 330px; object-position: 60% center; }
  .ac-benefit{ padding-inline: 10px; }
  .ac-story__photo{ min-height: 440px; border-radius: 72px 18px 72px 18px; }
  .ac-story__photo img{ min-height: 440px; }
  .ac-destination-track{ grid-auto-flow: initial; grid-auto-columns: initial; grid-template-columns: minmax(0,1fr); gap: 18px; overflow: visible; margin-right: 0; padding: 0; scroll-snap-type: none; }
  .ac-destination-card{ width: 100%; scroll-snap-align: none; }
  .ac-destination-card__shade{ background: linear-gradient(180deg,rgba(8,38,61,.38) 0%,rgba(8,38,61,.04) 34%,rgba(8,38,61,.22) 55%,rgba(8,38,61,.98) 100%); }
  .ac-destination-card__body{ right: 0; bottom: 0; left: 0; padding: 76px 18px 20px; background: linear-gradient(180deg,transparent 0%,rgba(8,38,61,.72) 58%,rgba(8,38,61,.96) 100%); }
  .ac-destination-card__body strong{ font-size: 27px; }
  .ac-destination-card__body small{ font-size: 12px; }
  .ac-review-summary{ grid-template-columns: 1fr; }
  .ac-review-summary > div{ display: grid; grid-template-columns: 1fr auto; align-items: center; text-align: left; border-right: 0; border-bottom: 1px solid var(--color-border); }
  .ac-review-summary > div:last-child{ border-bottom: 0; }
  .ac-review-summary strong{ grid-row: 1 / 3; grid-column: 2; margin: 0; font-size: 31px; }
  .ac-final-cta__overlay{ background: linear-gradient(90deg,rgba(8,38,61,.9),rgba(8,38,61,.65)); }
  .ac-footer__columns{ grid-template-columns: 1fr 1fr; }
}

@media (min-width: 640px){
  .ac-shell{ width: min(100% - 64px,1440px); }
  .ac-nav-shell__inner{ min-height: 78px; }
  .ac-wordmark__copy strong{ font-size: 17px; }
  .ac-wordmark__copy small{ font-size: 11px; }
  .ac-hero{ padding-top: 76px; }
  .ac-hero__media{ min-height: 520px; }
  .ac-hero__media > img{ min-height: 520px; }
  .ac-benefits__grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ac-benefit{ padding: 25px 18px; border-right: 1px solid rgba(23,36,51,.09); }
  .ac-benefit:nth-child(3n){ border-right: 0; }
  .ac-benefit:nth-last-child(-n+2){ border-bottom: 0; }
  .ac-benefit:last-child{ grid-column: auto; }
  .ac-section-heading{ grid-template-columns: minmax(0,1.2fr) minmax(280px,.7fr); align-items: end; }
  .ac-story__grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ac-story__copy{ align-self: center; }
  .ac-story__facts{ grid-column: 1 / -1; }
  .ac-story__facts ul{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 26px; }
  .ac-destination-track{ grid-auto-columns: min(47vw,380px); margin-right: -32px; padding-right: 32px; }
  .ac-fleet-track{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ac-review-grid{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ac-footer__columns{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ac-footer__contact{ grid-column: auto; }
  .ac-footer__bottom{ grid-template-columns: 1fr auto auto; align-items: center; }
}

@media (min-width: 1024px){
  html{ scroll-padding-top: 124px; }
  .ac-utility{ display: block; }
  .ac-nav-shell__inner{ min-height: 82px; grid-template-columns: minmax(210px,1fr) auto minmax(210px,1fr); }
  .ac-desktop-nav{ display: flex; align-items: center; justify-content: center; gap: clamp(20px,2.4vw,38px); }
  .ac-desktop-nav a{ position: relative; min-height: 44px; display: inline-flex; align-items: center; color: var(--color-ink); font-size: 11px; font-weight: 700; text-decoration: none; }
  .ac-desktop-nav a::after{ content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 1px; background: var(--color-terracotta-500); transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
  .ac-desktop-nav a:hover::after{ transform: scaleX(1); transform-origin: left; }
  .ac-desktop-nav a[aria-current="page"]{ color: var(--color-terracotta-600); }
  .ac-desktop-nav a[aria-current="page"]::after{ transform: scaleX(1); }
  .ac-menu-toggle{ display: none; }
  .ac-header-book{ min-height: 46px; padding-inline: 22px; }
  .ac-hero{ min-height: 690px; padding: 84px 0 150px; }
  .ac-hero__grid{ grid-template-columns: minmax(330px,.84fr) minmax(0,1.25fr); align-items: center; gap: clamp(50px,5vw,95px); }
  .ac-hero h1{ font-size: clamp(70px,6.6vw,102px); }
  .ac-hero__intro{ font-size: 16px; }
  .ac-hero__trust{ max-width: 470px; }
  .ac-hero__media{ min-height: 550px; border-radius: 50% 24px 50% 24px / 18% 24px 18% 24px; }
  .ac-hero__media > img{ min-height: 550px; object-position: 58% center; }
  .ac-benefits__grid{ grid-template-columns: repeat(5,minmax(0,1fr)); }
  .ac-benefit,
  .ac-benefit:nth-child(3n),
  .ac-benefit:nth-last-child(-n+2){ border-right: 1px solid rgba(23,36,51,.09); border-bottom: 0; }
  .ac-benefit:last-child{ border-right: 0; }
  .ac-story__grid{ grid-template-columns: minmax(0,.84fr) minmax(350px,.92fr) minmax(300px,.72fr); align-items: stretch; gap: clamp(24px,3vw,48px); }
  .ac-story__facts{ grid-column: auto; }
  .ac-story__facts ul{ display: block; }
  .ac-destination-track{ grid-auto-flow: initial; grid-auto-columns: initial; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 20px; overflow: visible; margin-right: 0; padding-right: 0; }
  .ac-destination-card{ grid-column: span 2; }
  .ac-destination-track--count-5 .ac-destination-card:nth-child(n+4){ grid-column: span 3; }
  .ac-destination-card > a{ height: clamp(300px,27vw,390px); min-height: 0; aspect-ratio: auto; }
  .ac-fleet__intro{ grid-template-columns: minmax(0,1.28fr) minmax(310px,.72fr); gap: clamp(40px,6vw,88px); align-items: end; }
  .ac-fleet-track{ grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ac-footer{ padding-top: 78px; }
  .ac-footer > .ac-shell{ display: grid; grid-template-columns: minmax(280px,.8fr) minmax(600px,1.5fr); gap: 80px; }
  .ac-footer__columns{ margin-top: 0; padding-top: 0; border-top: 0; }
  .ac-footer__bottom{ grid-column: 1 / -1; }
}

@media (min-width: 1024px) and (max-width: 1199px){
  .ac-desktop-nav{ gap: 14px; }
  .ac-desktop-nav a{ font-size: 11px; }
}

@media (max-width: 480px){
  .ac-mobile-menu__backdrop{ display: none; }
  .ac-mobile-menu__panel{ width: 100%; }
}

@media (min-width: 1440px){
  .ac-hero__grid{ grid-template-columns: 520px minmax(0,1fr); }
  .ac-benefit{ padding-inline: 26px; }
  .ac-destination-card > a{ height: clamp(350px,27vw,390px); }
  .ac-fleet-track{ grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
  *, *::before, *::after{ scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  [data-reveal]{ opacity: 1; transform: none; }
}

/* Editorial composition refinements. */
@media (min-width: 1024px){
  .ac-editorial-home .ac-hero__grid{ grid-template-rows: auto auto; column-gap: clamp(50px,5vw,95px); row-gap: 24px; }
  .ac-editorial-home .ac-hero__copy{ grid-column: 1; grid-row: 1; align-self: end; }
  .ac-editorial-home .ac-hero__media{ grid-column: 2; grid-row: 1 / 3; }
  .ac-editorial-home .ac-hero__trust{ grid-column: 1; grid-row: 2; align-self: start; max-width: 470px; margin-top: 0; }
}
@media (max-width: 639px){
  body.ac-editorial-home.has-mobile-booking-cta{ padding-bottom: 0 !important; }
  .ac-editorial-home .mobile-booking-cta{ display: none !important; }
  .ac-editorial-home .ac-hero{ padding: 48px 0 106px; }
  .ac-editorial-home .ac-hero__grid{ gap: 25px; }
  .ac-editorial-home .ac-hero h1{ margin: 16px 0 20px; font-size: clamp(48px,14vw,58px); }
  .ac-editorial-home .ac-hero__intro{ line-height: 1.7; }
  .ac-editorial-home .ac-hero__actions{ gap: 12px; margin-top: 25px; }
  .ac-editorial-home .ac-hero__media{ min-height: 350px; margin-top: 2px; }
  .ac-editorial-home .ac-hero__media > img{ min-height: 350px; }
  .ac-editorial-home .ac-hero__trust{ grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 0; }
  .ac-editorial-home .ac-trust-source{ min-width: 0; align-items: flex-start; flex-direction: column; gap: 8px; padding: 10px; }
  .ac-editorial-home .ac-trust-source__logo{ flex-basis: auto; width: 100%; height: 36px; justify-items: start; }
  .ac-editorial-home .ac-trust-source strong{ font-size: 11px; }
  .ac-editorial-home .ac-trust-source small{ overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
  .ac-editorial-home .act-live-chat__launcher{ right: 14px !important; bottom: 14px !important; width: 52px !important; min-width: 52px !important; height: 52px !important; padding: 6px !important; border-radius: 50% !important; }
  .ac-editorial-home .act-live-chat__launcher-copy{ display: none !important; }
  .ac-editorial-home .act-live-chat__launcher-icon{ width: 40px; min-width: 40px; height: 40px; }
}

/* Keep the complete header usable on compact 320 px devices. */
@media (max-width: 359px){
  .ac-nav-shell__inner{ gap: 8px; }
  .ac-wordmark{ gap: 8px; }
  .ac-wordmark__mark{ width: 34px; }
  .ac-wordmark__copy strong{ font-size: 13px; }
  .ac-wordmark__copy small{ display: none; }
  .ac-header-actions{ gap: 6px; }
  .ac-header-book{ min-height: 40px; padding-inline: 11px; font-size: 10px; }
  .ac-header-book span{ display: none; }
  .ac-menu-toggle{ flex-basis: 44px; width: 44px; height: 44px; }
}


/* --------------------------------------------------------------------------
   Quiet editorial revision
   -------------------------------------------------------------------------- */

:root{
  --ac-paper: #f8f4ed;
  --ac-white: #fffdf9;
  --ac-ink: #18222a;
  --ac-navy: #102f43;
  --ac-muted: #68716f;
  --ac-line: rgba(24, 34, 42, .16);
  --ac-clay: #b95638;
  --ac-clay-dark: #963f29;
  --ac-green: #526b5c;
  --ac-serif: "Newsreader", Georgia, serif;
  --ac-sans: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ac-radius-sm: 4px;
  --ac-radius-md: 8px;
  --ac-radius-lg: 12px;
  --ac-shadow-soft: 0 24px 60px rgba(16, 47, 67, .10);
  --ac-shadow-card: 0 10px 34px rgba(16, 47, 67, .08);
}

*,
*::before,
*::after{ box-sizing: border-box; }

html{
  min-width: 320px;
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
  scroll-padding-top: 112px;
}

body:not(.cabo-admin-ui){
  margin: 0;
  overflow-x: clip;
  background: var(--ac-paper);
  color: var(--ac-ink);
  font-family: var(--ac-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

body:not(.cabo-admin-ui) :where(button, input, select, textarea){ font: inherit; }
body:not(.cabo-admin-ui) :where(img, svg, video){ max-width: 100%; }
body:not(.cabo-admin-ui) img{ display: block; }
body:not(.cabo-admin-ui) a{ color: inherit; }
body:not(.cabo-admin-ui) :where(a, button, input, select, textarea):focus-visible{
  outline: 2px solid var(--ac-clay);
  outline-offset: 3px;
}

.container,
.ac-shell{
  width: min(calc(100% - 40px), 1280px);
  margin-inline: auto;
}

.section{ padding: clamp(64px, 8vw, 112px) 0; }
.section + .section{ border-top: 1px solid rgba(24, 34, 42, .07); }
.sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.is-hidden,
[hidden]{ display: none !important; }

body:not(.cabo-admin-ui) h1,
body:not(.cabo-admin-ui) h2,
body:not(.cabo-admin-ui) h3{
  color: var(--ac-navy);
  font-family: var(--ac-serif);
  font-weight: 500;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body:not(.cabo-admin-ui) p{ text-wrap: pretty; }

.section-title{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 36px;
}
.section-title h2{
  max-width: 820px;
  margin: 0;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1;
}
.section-title p{
  max-width: 660px;
  margin: 14px 0 0;
  color: var(--ac-muted);
}
.section-kicker,
.book-hero__eyebrow,
.tour-hero__eyebrow,
.review-hero__eyebrow{
  display: block;
  margin-bottom: 14px;
  color: var(--ac-clay-dark);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .02em;
}

.btn,
.ac-btn,
.ac-header-book,
.mobile-booking-cta__button{
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-family: var(--ac-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.btn:hover,
.ac-btn:hover,
.ac-header-book:hover{ transform: translateY(-1px); }
.btn--primary:not(.ac-transfer-search),
.ac-btn--primary,
.ac-header-book,
.mobile-booking-cta__button{
  background: var(--ac-clay);
  border-color: var(--ac-clay);
  color: #fff;
  box-shadow: none;
}
.btn--primary:not(.ac-transfer-search):hover,
.ac-btn--primary:hover,
.ac-header-book:hover,
.mobile-booking-cta__button:hover{
  background: var(--ac-clay-dark);
  border-color: var(--ac-clay-dark);
  color: #fff;
}
body:not(.cabo-admin-ui) .btn--primary,
body:not(.cabo-admin-ui) .ac-btn--primary,
body:not(.cabo-admin-ui) .ac-header-book,
body:not(.cabo-admin-ui) .mobile-booking-cta__button{ color: #fff; }
.btn--outline,
.ac-btn--text{
  background: transparent;
  border-color: rgba(16, 47, 67, .36);
  color: var(--ac-navy);
}
.btn--outline:hover,
.ac-btn--text:hover{ border-color: var(--ac-navy); background: rgba(16, 47, 67, .04); }
.btn--subtle{ min-height: 44px; background: transparent; color: var(--ac-muted); }
.link-secondary{ color: var(--ac-clay-dark); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 5px; }

.card{
  border: 1px solid var(--ac-line);
  border-radius: var(--ac-radius-md);
  background: var(--ac-white);
  box-shadow: none;
}
.card-inner{ padding: clamp(24px, 4vw, 42px); }
.help{ color: var(--ac-muted); font-size: 13px; line-height: 1.6; }
.form-alert{
  margin-bottom: 18px;
  padding: 13px 15px;
  border-left: 3px solid var(--ac-clay);
  background: #f6e9e3;
  color: #6e2f20;
}

.field{ position: relative; min-width: 0; }
.field > label,
.datetime-control > label{
  display: block;
  margin-bottom: 8px;
  color: var(--ac-ink);
  font-size: 13px;
  font-weight: 700;
}
.field :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea),
.datetime-control :where(input, select){
  width: 100%;
  min-height: 50px;
  padding: 11px 13px;
  border: 1px solid rgba(24, 34, 42, .25);
  border-radius: 3px;
  background: #fff;
  color: var(--ac-ink);
}
.field textarea{ resize: vertical; }
.field :where(input, select, textarea):focus{
  border-color: var(--ac-navy);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(16, 47, 67, .08);
}
.inline-error{ display: none; margin-top: 7px; color: #9c3528; font-size: 12px; }
.field.has-error .inline-error,
.is-invalid + .inline-error{ display: block; }
.row{ display: grid; gap: 18px; }
.row--two{ grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Header: clear hierarchy, no floating pills. */
.skip-link{
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 10px 14px;
  background: #fff;
  color: var(--ac-navy);
  transform: translateY(-160%);
}
.skip-link:focus{ transform: none; }
.ac-header{ color: var(--ac-navy); }
.ac-nav-shell{
  background: rgba(248, 244, 237, .96);
  border-bottom-color: rgba(24, 34, 42, .12);
  box-shadow: none;
}
.ac-header.is-scrolled .ac-nav-shell{ background: rgba(248, 244, 237, .985); box-shadow: 0 8px 24px rgba(16, 47, 67, .06); }
.ac-nav-shell__inner{ min-height: 76px; }
.ac-wordmark__copy strong{ letter-spacing: .055em; }
.ac-wordmark__copy small{ font-family: var(--ac-sans); font-style: normal; letter-spacing: 0; }
.ac-header-book{ min-height: 42px; padding-inline: 17px; }
.ac-menu-toggle{ border-radius: 10px; }
.ac-mobile-menu__panel{ background: var(--ac-paper); }
.ac-mobile-menu__top{ letter-spacing: .02em; text-transform: none; }
.ac-mobile-menu__top button{ border-radius: 10px; }
.ac-mobile-menu nav a{ font-size: 30px; }
.ac-mobile-menu__footer{ border-radius: 4px; background: var(--ac-navy); }

/* Home: image-led, warm and lightly structured. */
body.ac-editorial-home{ background: var(--ac-paper); color: var(--ac-ink); font-family: var(--ac-sans); }
[data-reveal]{ opacity: 1; transform: none; transition: none; }
.ac-section{ padding: clamp(72px, 8vw, 118px) 0; }
.ac-eyebrow{
  gap: 9px;
  color: var(--ac-clay-dark);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: none;
}
.ac-eyebrow::before{ width: 22px; background: currentColor; }
.ac-hero{ padding: clamp(52px, 6vw, 84px) 0 116px; background: #efe7dc; }
.ac-hero::before{ opacity: .45; }
.ac-hero h1{
  margin-top: 20px;
  color: var(--ac-navy);
  font-size: clamp(54px, 7.5vw, 102px);
  font-weight: 500;
  line-height: .92;
}
.ac-hero h1 em,
.ac-section-heading h2 em,
.ac-story h2 em,
.ac-final-cta h2 em{ color: var(--ac-clay); font-weight: 400; }
.ac-hero__intro{ max-width: 570px; color: #59635f; font-size: 17px; }
.ac-hero__media{
  min-height: 520px;
  border-radius: 4px;
  box-shadow: var(--ac-shadow-soft);
}
.ac-hero__media > img{ min-height: 520px; }
.ac-hero__media figcaption{ padding-top: 12px; border-top: 1px solid rgba(255,255,255,.38); }
.ac-hero__pin,
.ac-trust-source__logo,
.ac-benefit__icon{ border-radius: 3px; }
.ac-hero__trust{ display: flex; flex-wrap: wrap; gap: 20px; }
.ac-trust-source{ padding: 0; border: 0; border-radius: 0; background: transparent; }
.ac-trust-source__logo{ box-shadow: none; }
.ac-benefits{ background: var(--ac-paper); }
.ac-benefit{ padding-block: 28px; }
.ac-benefit__icon{ background: transparent; }
.ac-benefit h2{ font-family: var(--ac-sans); font-size: 13px; }
.ac-section-heading h2,
.ac-story h2,
.ac-final-cta h2{ font-size: clamp(46px, 6vw, 78px); font-weight: 500; }
.ac-story__photo{ border-radius: 4px; box-shadow: var(--ac-shadow-card); }
.ac-story__facts{
  border-width: 1px 0;
  border-radius: 0;
  background: transparent;
}
.ac-story__facts-head,
.ac-story__facts ul{ padding-inline: 0; }
.ac-signature small,
.ac-story__photo figcaption{ letter-spacing: .03em; text-transform: none; }
.ac-destination-card > a,
.ac-fleet-card,
.ac-review-card{ border-radius: 4px; box-shadow: none; }
.ac-destination-card__zone{ border-radius: 2px; letter-spacing: .02em; text-transform: none; }
.ac-destination-card__arrow{ border-radius: 3px; }
.ac-fleet{
  background:
    radial-gradient(circle at 88% 4%,rgba(189,84,53,.14),transparent 28rem),
    radial-gradient(circle at 4% 92%,rgba(216,193,166,.08),transparent 32rem),
    var(--ac-navy);
}
.ac-fleet-card{ border: 1px solid rgba(255,255,255,.16); }
.ac-review-card{ border-color: var(--ac-line); background: transparent; }
.ac-final-cta__content{ max-width: 720px; }
.ac-final-cta .ac-eyebrow{
  color: #fff;
  font-weight: 750;
  text-shadow: 0 1px 4px rgba(0,0,0,.38);
}

/* Shared interior-page hero. */
.hero{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(42px, 6vw, 80px) 0;
  border-bottom: 1px solid rgba(11,48,71,.1);
  background:
    radial-gradient(circle at 10% 8%, rgba(255,253,249,.72), transparent 32rem),
    linear-gradient(120deg, #f4eadf 0%, #eadfce 58%, #e3d3c0 100%);
}
.hero::before{
  content: "";
  position: absolute;
  z-index: -1;
  top: -34%;
  right: -8%;
  width: min(46vw, 660px);
  aspect-ratio: 1;
  border: 1px solid rgba(189,84,53,.13);
  border-radius: 50%;
  pointer-events: none;
}
.hero__card{
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  min-height: 520px;
  align-items: stretch;
  gap: clamp(30px, 5vw, 72px);
  border: 0;
  background: transparent;
}
.hero__copy{
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 5vw, 68px) 0;
}
.hero__copy h1{
  max-width: 13ch;
  margin: 0;
  font-size: clamp(48px, 6vw, 82px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: .94;
  text-wrap: balance;
}
.hero__copy > p{
  max-width: 54ch;
  margin: 20px 0 0;
  color: var(--ac-muted);
  font-size: 16px;
  line-height: 1.72;
}
.hero__cta{ display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 26px; }
.hero__media{
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 520px;
  overflow: hidden;
  border-radius: 4px 38px 4px 4px;
  background-color: #d9d1c5;
  background-image: var(--hero-image-desktop, none);
  background-size: cover;
  background-position: center;
}
.hero__media::before{
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,38,61,.02), rgba(8,38,61,.13));
  pointer-events: none;
}
.trust-row{ display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 24px; }
.trust-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ac-muted);
  font-size: 13px;
}
.trust-dot{ width: 5px; height: 5px; border-radius: 50%; background: var(--ac-clay); }
.book-hero__assurance{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--ac-line);
}
.book-hero__assurance span{ padding: 19px 20px; border-right: 1px solid var(--ac-line); color: var(--ac-muted); font-size: 13px; }
.book-hero__assurance span:last-child{ border-right: 0; }
.book-hero__assurance strong{ margin-right: 9px; color: var(--ac-clay-dark); font-family: var(--ac-serif); font-size: 18px; font-weight: 500; }

.mini-grid,
.proof-grid,
.steps-grid,
.included-grid,
.route-grid,
.faq-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--ac-line);
}
.mini-card,
.proof-card,
.step-card,
.included-card,
.route-card{
  min-width: 0;
  padding: 28px 24px;
  border: 0;
  border-right: 1px solid var(--ac-line);
  border-bottom: 1px solid var(--ac-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
}
.mini-grid > :nth-child(3n),
.proof-grid > :nth-child(3n),
.steps-grid > :nth-child(3n),
.route-grid > :nth-child(3n){ border-right: 0; }
.mini-card h3,
.proof-card h3,
.step-card h3,
.route-card h3{ margin: 8px 0; font-size: 27px; line-height: 1.08; }
.mini-card p,
.proof-card p,
.step-card p,
.route-card p{ margin: 10px 0 0; color: var(--ac-muted); font-size: 14px; }
.mini-ico,
.step-card__num,
.route-card__tag{ color: var(--ac-clay-dark); font-size: 12px; font-weight: 700; }
.contact-layout{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: start; }
.contact-panel{ padding: 16px 0; }
.contact-card{ padding: clamp(12px, 3vw, 40px) 0; }
.contact-card__eyebrow,
.contact-meta__label{ color: var(--ac-clay-dark); font-size: 12px; font-weight: 700; }
.contact-card h3{ margin: 12px 0; font-size: clamp(34px, 4vw, 54px); line-height: 1; }
.contact-card > p{ color: var(--ac-muted); }
.contact-highlights{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 24px;
  border-block: 1px solid var(--ac-line);
}
.contact-highlight{ display: grid; gap: 3px; padding: 14px 14px 14px 0; }
.contact-highlight + .contact-highlight{ padding-left: 14px; border-left: 1px solid var(--ac-line); }
.contact-highlight__title{ color: var(--ac-navy); font-size: 12px; font-weight: 700; }
.contact-highlight__text{ color: var(--ac-muted); font-size: 11px; line-height: 1.45; }
.contact-meta{ display: grid; gap: 18px; margin-top: 30px; padding-block: 22px; border-block: 1px solid var(--ac-line); }
.contact-meta__value{ margin-top: 5px; word-break: break-word; }
.contact-cta{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.contact-form__inner{ display: grid; gap: 18px; }
.page-contact .contact-actions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 24px;
}
.page-contact .contact-actions--success{ margin-top: 18px; }
.page-contact .contact-actions--form{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 2px;
}
.page-contact .contact-action{
  min-width: 0;
  min-height: 52px;
  border-radius: 10px;
  padding-inline: 18px;
  white-space: nowrap;
}
.page-contact .contact-action__arrow{
  display: inline-block;
  font-size: 17px;
  line-height: 1;
  transition: transform .18s ease;
}
.page-contact .contact-action:hover .contact-action__arrow,
.page-contact .contact-action:focus-visible .contact-action__arrow{ transform: translateX(3px); }
.page-contact .contact-action--whatsapp{
  border-color: rgba(18,107,57,.3);
  background: #f2faf5;
  color: #126b39;
}
.page-contact .contact-action--whatsapp:hover{
  border-color: rgba(18,107,57,.52);
  background: #e8f6ed;
  color: #0c562d;
}
.page-contact .contact-action__mark{
  display: block;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  transition: transform .18s ease;
}
.page-contact .contact-action__mark svg{
  display: block;
  width: 100%;
  height: 100%;
}
.page-contact .contact-action--whatsapp:hover .contact-action__mark,
.page-contact .contact-action--whatsapp:focus-visible .contact-action__mark{
  transform: scale(1.06);
}
.page-contact .contact-submit:disabled{ opacity: .76; cursor: wait; transform: none; }
.page-contact .contact-submit.is-loading .contact-action__arrow{
  width: 15px;
  height: 15px;
  border: 2px solid rgba(255,255,255,.42);
  border-top-color: #fff;
  border-radius: 50%;
  font-size: 0;
  animation: contact-button-spin .7s linear infinite;
}
@keyframes contact-button-spin{ to{ transform: rotate(1turn); } }
.page-contact .contact-note{
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ac-muted);
  font-size: 12px;
}
.page-contact .contact-note::before{ content: "✓"; color: var(--ac-clay-dark); font-weight: 800; }
.page-contact .contact-alt{ margin-top: -4px; color: var(--ac-muted); font-size: 12px; text-align: center; }
.page-contact .contact-meta__value a{ color: var(--ac-navy); font-weight: 700; text-decoration-color: rgba(16,47,67,.28); text-underline-offset: 4px; }
.page-contact .field.invalid :where(input, textarea),
.page-contact .field.has-error :where(input, textarea){ border-color: #9c3528; background: #fff8f5; }
.page-contact .field.invalid .inline-error,
.page-contact .field.has-error .inline-error{ display: block; }

@media (max-width: 640px){
  .page-contact .contact-actions,
  .page-contact .contact-actions--form,
  .page-contact .contact-cta{ display: grid; grid-template-columns: minmax(0, 1fr); }
  .page-contact .contact-action{ width: 100%; }
}

@media (prefers-reduced-motion: reduce){
  .page-contact .contact-action__arrow{ transition: none; }
  .page-contact .contact-submit.is-loading .contact-action__arrow{ animation-duration: 1.2s; }
}

/* Reviews widget: reading first, chrome second. */
.act-reviews-widget{ margin-top: 30px; }
.act-reviews-widget__bar{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 24px;
  align-items: center;
  padding: 20px 0;
  border-block: 1px solid var(--ac-line);
}
.act-reviews-widget__identity{ display: flex; align-items: center; gap: 14px; }
.act-reviews-widget__logo{ width: 132px; height: auto; }
.act-reviews-widget__identity small,
.act-reviews-widget__summary small{ color: var(--ac-muted); }
.act-reviews-widget__summary{ display: flex; align-items: center; gap: 12px; }
.act-reviews-widget__summary > strong{ font-family: var(--ac-serif); font-size: 36px; font-weight: 500; }
.act-reviews-widget__summary > span{ display: grid; }
.act-reviews-widget__stars,
.act-review-card__stars{ color: #af7e26; letter-spacing: .08em; }
.act-reviews-widget__viewport{ overflow-x: auto; padding: 28px 0 18px; scrollbar-width: thin; }
.act-reviews-widget__track{ display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, 1fr); gap: 0; }
.act-review-card{
  min-width: 0;
  padding: 26px;
  border-right: 1px solid var(--ac-line);
  color: inherit;
  text-decoration: none;
}
.act-review-card:first-child{ border-left: 1px solid var(--ac-line); }
.act-review-card__head{ display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; }
.act-review-card__avatar{ display: grid; width: 42px; height: 42px; overflow: hidden; place-items: center; border-radius: 50%; background: #e8dfd2; }
.act-review-card__avatar img{ width: 100%; height: 100%; object-fit: cover; }
.act-review-card__author{ display: grid; }
.act-review-card__author small,
.act-review-card__date{ color: var(--ac-muted); font-size: 12px; }
.act-review-card__verified{ color: var(--ac-green); font-size: 11px; }
.act-review-card h3{ margin: 14px 0 8px; font-size: 26px; }
.act-review-card__quote{ color: var(--ac-muted); }
.act-review-card__date{ display: flex; justify-content: space-between; gap: 12px; }
.act-review-card__more{ color: var(--ac-clay-dark); }
.act-reviews-widget__nav{ display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.act-reviews-widget__progress{ flex: 1; height: 1px; background: var(--ac-line); }
.act-reviews-widget__progress span{ display: block; width: 20%; height: 100%; background: var(--ac-clay); }
.act-reviews-widget__arrows{ display: flex; gap: 8px; }
.act-reviews-widget__arrows button{ min-height: 40px; padding: 0 13px; border: 1px solid var(--ac-line); border-radius: 2px; background: transparent; }
.guest-reviews__intro{ max-width: 780px; }
.guest-reviews__eyebrow{ color: var(--ac-clay-dark); font-size: 13px; font-weight: 700; }
.guest-reviews__heading h2{ margin: 8px 0 0; font-size: clamp(38px, 5vw, 62px); }
.guest-reviews__heading p{ color: var(--ac-muted); }
.guest-reviews__actions{ margin-top: 30px; }
.guest-reviews__themes{
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 28px;
  border-block: 1px solid var(--ac-line);
}
.guest-reviews__themes span{ padding: 14px 20px 14px 0; color: var(--ac-muted); font-size: 13px; }
.guest-reviews__themes span + span{ padding-left: 20px; border-left: 1px solid var(--ac-line); }

/* Reservation flow presentation moved to reservation-flow.css. */
/* Tours and route details share the same document-like language. */
.route-detail-hero,
.tour-detail-hero,
.private-tours-showcase,
.tour-booking-section{ padding: clamp(56px, 8vw, 104px) 0; }
.route-detail-hero__card,
.tour-detail-hero__card,
.tour-detail-overview__grid,
.route-detail-arrival__grid,
.tour-review__grid,
.tour-booking-layout{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; align-items: center; }
.route-detail-hero__media,
.tour-detail-hero__media,
.tour-selected-detail__media,
.private-tour-card__media{ min-height: 430px; border-radius: 4px; background-size: cover; background-position: center; overflow: hidden; }
.route-detail-breadcrumb,
.tour-detail-breadcrumb{ margin-bottom: 18px; color: var(--ac-muted); font-size: 12px; }
.route-detail-highlight-grid,
.tour-detail-highlights,
.private-tours-grid,
.tour-choice-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.route-detail-highlight-grid > *,
.tour-detail-highlights > *,
.tour-choice-card,
.private-tour-card{ padding: 20px; border: 1px solid var(--ac-line); border-radius: 4px; background: var(--ac-white); }
.private-tour-card__media{ min-height: 250px; margin: -20px -20px 20px; }
.private-tour-card__body h3,
.tour-choice-card h3{ font-size: 28px; }
.private-tour-card__list,
.tour-selected-detail__list{ padding-left: 18px; color: var(--ac-muted); }
.tour-booking-panel,
.tour-payment-panel{
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid var(--ac-line);
  border-radius: 6px;
  background: var(--ac-white);
}
.tour-wizard-progress{ margin-bottom: 28px; }
.tour-wizard-progress__track{ height: 3px; background: rgba(24,34,42,.12); }
.tour-wizard-progress__track span{ display: block; height: 100%; background: var(--ac-clay); }
.tour-wizard-step{ display: none; }
.tour-wizard-step.is-active{ display: block; }
.tour-booking-fields,
.tour-booking-row,
.tour-payment-summary__grid,
.tour-wizard-contact,
.tour-selected-detail{ display: grid; gap: 16px; }
.tour-booking-row{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tour-wizard-actions{ display: flex; justify-content: space-between; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--ac-line); }

/* Fleet catalog: practical information with editorial spacing. */
.fleet-hero{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr);
  gap: clamp(34px, 6vw, 90px);
  align-items: end;
  width: 100%;
  overflow: hidden;
  padding: clamp(30px, 5vw, 64px);
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 4px 34px 4px 4px;
  background:
    radial-gradient(circle at 100% 0, rgba(189,84,53,.12), transparent 20rem),
    linear-gradient(125deg, #f4eadf, #eadfce);
  box-shadow: var(--ac-character-shadow);
}
.fleet-hero::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(42%, 360px);
  height: 2px;
  background: var(--ac-clay);
}
.fleet-kicker{ color: var(--ac-clay-dark); font-size: 13px; font-weight: 700; }
.fleet-hero h1{ margin: 8px 0 12px; font-size: clamp(58px, 8vw, 108px); line-height: .9; }
.fleet-lede{ max-width: 760px; color: var(--ac-ink); font-size: 19px; }
.fleet-hero__copy > p:not(.fleet-lede){ max-width: 760px; color: var(--ac-muted); }
.fleet-pills{ display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 24px; }
.fleet-pills span{ position: relative; padding-left: 12px; color: var(--ac-muted); font-size: 13px; }
.fleet-pills span::before{ content: ""; position: absolute; top: .75em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--ac-clay); }
.fleet-hero__aside{ padding: 24px 0; border-block: 1px solid var(--ac-line); }
.fleet-hero__aside > span{ color: var(--ac-clay-dark); font-size: 12px; font-weight: 700; }
.fleet-hero__aside > strong{ display: block; margin-top: 7px; font-family: var(--ac-serif); font-size: 30px; font-weight: 500; }
.fleet-hero__aside p{ margin-bottom: 0; color: var(--ac-muted); font-size: 13px; }
.veh-cards{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 44px; }
.veh-card{ min-width: 0; overflow: hidden; border: 1px solid var(--ac-line); border-radius: 5px; background: var(--ac-white); }
.veh-card__media{ min-height: 310px; background-color: #ddd5c9; }
.veh-card__content{ padding: clamp(22px, 3vw, 34px); }
.veh-card__content h3{ margin: 8px 0; font-size: clamp(32px, 3vw, 44px); line-height: 1; }
.page-fleet__short{ color: var(--ac-ink); }
.page-fleet__facts{ color: var(--ac-clay-dark); font-size: 13px; font-weight: 700; }
.expect-list{ margin: 20px 0 0; padding: 18px 0 0 18px; border-top: 1px solid var(--ac-line); color: var(--ac-muted); font-size: 13px; }
.expect-list li + li{ margin-top: 8px; }
.fleet-rates{ margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--ac-line); }
.fleet-rates__heading{ display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.fleet-rates__heading span{ color: var(--ac-clay-dark); font-size: 11px; font-weight: 700; }
.fleet-rates__heading h4{ margin: 3px 0 0; color: var(--ac-navy); font-family: var(--ac-serif); font-size: 25px; font-weight: 500; }
.fleet-rates__currency{ color: var(--ac-muted) !important; }
.fleet-rates__table-wrap{ overflow-x: auto; margin-top: 14px; }
.fleet-rates__table{ width: 100%; border-collapse: collapse; font-size: 12px; }
.fleet-rates__table th,
.fleet-rates__table td{ padding: 11px 8px; border-bottom: 1px solid rgba(24,34,42,.1); text-align: right; }
.fleet-rates__table th:first-child,
.fleet-rates__table td:first-child{ padding-left: 0; text-align: left; }
.fleet-rates__table thead th{ color: var(--ac-muted); font-weight: 600; }
.fleet-rates__empty{ color: var(--ac-muted); font-size: 13px; }
.page-fleet__actions{ margin-top: 22px; }

/* Reservation review presentation moved to reservation-flow.css. */
/* Footer and persistent support. */
.ac-footer{ padding: clamp(64px, 8vw, 96px) 0 30px; background: var(--ac-navy); color: #fff; }
.ac-footer__lead > p,
.ac-footer__contact p,
.ac-footer__contact span{ color: rgba(255,255,255,.64); }
.ac-footer .ac-footer__columns h2{ color: #d8e1e5; font-family: var(--ac-sans); font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.ac-footer__columns a{ color: #fff; }
.ac-footer__bottom{ border-top-color: rgba(255,255,255,.15); color: rgba(255,255,255,.58); }
.ac-wordmark--footer{ color: #fff; }
.mobile-booking-cta{
  position: fixed;
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom));
  left: 12px;
  z-index: 900;
  display: none;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 9px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 5px;
  background: var(--ac-navy);
  color: #fff;
  box-shadow: 0 16px 44px rgba(16,47,67,.24);
}
.mobile-booking-cta__copy{ display: grid; padding-left: 8px; }
.mobile-booking-cta__copy span{ color: rgba(255,255,255,.58); font-size: 10px; }
.mobile-booking-cta__copy strong{ font-size: 12px; }
.mobile-booking-cta__button{ min-height: 44px; padding-inline: 14px; font-size: 12px; }
.act-live-chat{ position: fixed; right: 18px; bottom: 18px; z-index: 920; font-family: var(--ac-sans); }
.act-live-chat__launcher{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 4px;
  background: var(--ac-navy);
  color: #fff;
  box-shadow: 0 12px 34px rgba(16,47,67,.2);
}
.act-live-chat__launcher-icon{ width: 25px; }
.act-live-chat__launcher-copy{ display: grid; text-align: left; }
.act-live-chat__launcher-copy small{ color: rgba(255,255,255,.6); }
.act-live-chat__panel{
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(390px, calc(100vw - 24px));
  max-height: min(680px, calc(100vh - 24px));
  overflow: hidden;
  border: 1px solid var(--ac-line);
  border-radius: 6px;
  background: var(--ac-white);
  box-shadow: 0 24px 70px rgba(16,47,67,.22);
}
.act-live-chat__header{ display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px; background: var(--ac-navy); color: #fff; }
.act-live-chat__brand{ display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 3px; }
.act-live-chat__heading{ display: grid; }
.act-live-chat__heading span{ color: rgba(255,255,255,.62); font-size: 11px; }
.act-live-chat__close{ border: 0; background: transparent; color: #fff; font-size: 20px; }
.act-live-chat__welcome,
.act-live-chat__conversation{ padding: 20px; }
.act-live-chat__eyebrow{ color: var(--ac-clay-dark); font-size: 11px; font-weight: 700; }
.act-live-chat__welcome h2{ margin: 6px 0; font-size: 32px; }
.act-live-chat__welcome p{ color: var(--ac-muted); font-size: 13px; }
.act-live-chat__start-form{ display: grid; gap: 13px; }
.act-live-chat__start-form label{ display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.act-live-chat__start-form :where(input, textarea),
.act-live-chat__compose textarea{ width: 100%; padding: 11px; border: 1px solid var(--ac-line); border-radius: 3px; }
.act-live-chat__send-start{ min-height: 46px; border: 0; border-radius: 3px; background: var(--ac-clay); color: #fff; font-weight: 700; }
.act-live-chat__website{ display: none !important; }
.act-live-chat__messages{ max-height: 390px; overflow-y: auto; }
.act-live-chat__compose{ display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.act-live-chat__compose button{ width: 46px; border: 0; border-radius: 3px; background: var(--ac-clay); color: #fff; }
.act-live-chat__launcher{ width: 52px; justify-content: center; padding-inline: 12px; }
.act-live-chat__launcher-copy{ display: none; }

@media (min-width: 1040px){
  .ac-utility{ display: block; }
  .ac-desktop-nav{ display: flex; align-items: center; gap: clamp(20px, 2.4vw, 38px); }
  .ac-desktop-nav a{ position: relative; color: var(--ac-navy); font-size: 13px; font-weight: 650; text-decoration: none; }
  .ac-desktop-nav a::after{ content: ""; position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: var(--ac-clay); transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
  .ac-desktop-nav a:hover::after{ transform: scaleX(1); }
  .ac-menu-toggle{ display: none; }
  .ac-nav-shell__inner{ grid-template-columns: 1fr auto 1fr; }
}

@media (max-width: 1023px){
  .ac-header{
    transition: transform .3s cubic-bezier(.22, 1, .36, 1), opacity .2s ease;
    will-change: transform, opacity;
  }
  .ac-header.is-menu-open{
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    will-change: auto;
  }
  .ac-header.is-scroll-hidden{
    transform: translate3d(0, -100%, 0);
    opacity: 0;
    pointer-events: none;
  }
  .hero__card,
  .route-detail-hero__card,
  .tour-detail-hero__card,
  .tour-detail-overview__grid,
  .route-detail-arrival__grid,
  .tour-review__grid,
  .tour-booking-layout{ grid-template-columns: 1fr; }
  .hero__card{ gap: 22px; }
  .hero__copy{ padding: 24px 0 12px; }
  .hero__media{ min-height: 420px; }
  .act-live-chat{ bottom: 84px; }
  .fleet-hero,
  .veh-cards{ grid-template-columns: 1fr; }
}

@media (max-width: 760px){
  .container,
.ac-shell{ width: min(calc(100% - 28px), 1280px); }
  .section{ padding: 62px 0; }
  .ac-section{ padding: 68px 0; }
  .ac-nav-shell__inner{ min-height: 68px; }
  .ac-wordmark__mark{ width: 35px; }
  .ac-wordmark__copy strong{ font-size: 13px; }
  .ac-wordmark__copy small{ font-size: 9px; }
  .ac-header-book{ display: none; }
  .ac-hero{ padding-top: 42px; }
  .ac-hero h1{ font-size: clamp(52px, 15vw, 72px); }
  .ac-hero__media,
  .ac-hero__media > img{ min-height: 400px; }
  .ac-hero__trust{ gap: 16px; }
  .ac-trust-source{ flex: 1 1 150px; }
  .ac-benefits__grid{ grid-template-columns: 1fr; }
  .ac-benefit,
  .ac-benefit:nth-child(odd),
  .ac-benefit:last-child{ grid-column: auto; border-right: 0; }
  .ac-story__photo,
  .ac-story__photo img{ min-height: 430px; }
  .hero{ padding: 28px 0 44px; }
  .hero__card{ min-height: 0; }
  .hero__copy{ padding: 16px 0 12px; }
  .hero__copy h1{ max-width: 14ch; font-size: clamp(42px, 12.5vw, 58px); line-height: .96; }
  .hero__copy > p{ margin-top: 16px; font-size: 14px; line-height: 1.65; }
  .hero__cta{ margin-top: 22px; }
  .hero__media{ min-height: clamp(310px, 90vw, 390px); border-radius: 3px 24px 3px 3px; background-image: var(--hero-image-mobile, var(--hero-image-desktop, none)); }
  .fleet-hero{ padding: 24px 20px; border-radius: 3px 24px 3px 3px; }
  .book-hero__assurance{ grid-template-columns: 1fr; }
  .book-hero__assurance span{ border-right: 0; border-bottom: 1px solid var(--ac-line); }
  .section-title{ display: grid; }
  .section-title h2{ font-size: 42px; }
  .mini-grid,
  .proof-grid,
  .steps-grid,
  .included-grid,
  .route-grid,
  .faq-grid,
  .route-detail-highlight-grid,
  .tour-detail-highlights,
  .private-tours-grid,
  .tour-choice-grid{ grid-template-columns: 1fr; }
  .mini-card,
  .proof-card,
  .step-card,
  .included-card,
  .route-card{ border-right: 0; padding-inline: 0; }
  .contact-layout,
  .row--two,
  .tour-booking-row{ grid-template-columns: 1fr; }
  .contact-highlights{ grid-template-columns: 1fr; }
  .contact-highlight{ padding: 12px 0; }
  .contact-highlight + .contact-highlight{ padding-left: 0; border-top: 1px solid var(--ac-line); border-left: 0; }
  .act-reviews-widget__bar{ grid-template-columns: 1fr; }
  .act-reviews-widget__write{ width: 100%; }
  .act-reviews-widget__track{ grid-auto-columns: minmax(285px, 88vw); }
  .act-review-card__verified{ display: none; }
  .guest-reviews__themes{ display: grid; }
  .guest-reviews__themes span{ padding: 12px 0; }
  .guest-reviews__themes span + span{ padding-left: 0; border-top: 1px solid var(--ac-line); border-left: 0; }
  .veh-card__media{ min-height: 250px; }
  .mobile-booking-cta{ display: grid; }
  .act-live-chat{ right: 12px; bottom: 92px; }
  .act-live-chat__launcher{ width: 50px; padding: 11px; }
  body.has-mobile-booking-cta{ padding-bottom: 86px; }
}

@media (max-width: 390px){
  .container,
.ac-shell{ width: min(calc(100% - 22px), 1280px); }
  .ac-wordmark__copy small{ display: none; }
  .ac-hero__actions,
  .hero__cta{ display: grid; }
  .ac-hero__actions .ac-btn,
  .hero__cta .btn{ width: 100%; }
  .mobile-booking-cta__copy span{ display: none; }
}

/* --------------------------------------------------------------------------
   Motion and contrast pass
   -------------------------------------------------------------------------- */

:root{
  --ac-muted: #5d6765;
  --color-muted: #5d6765;
  --ac-control-border: rgba(16, 47, 67, .5);
  --ac-motion-ease: cubic-bezier(.22, .68, .22, 1);
}

body:not(.cabo-admin-ui) ::placeholder{
  color: var(--ac-muted);
  opacity: 1;
}

body:not(.cabo-admin-ui) :where(a, button, input, select, textarea):focus-visible{
  outline-color: var(--ac-clay-dark);
  outline-width: 3px;
}

.btn--outline,
.ac-btn--text,
.ac-menu-toggle,
.ac-mobile-menu__top button,
.act-reviews-widget__arrows button{
  border-color: var(--ac-control-border);
}

.field :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea),
.datetime-control :where(input, select),
.act-live-chat__start-form :where(input, textarea),
.act-live-chat__compose textarea{
  border-color: var(--ac-control-border);
}

@keyframes ac-enter-up{
  from { opacity: 0; transform: translate3d(0, 18px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes ac-enter-image{
  from { opacity: 0; transform: scale(.985); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes ac-chat-enter{
  from { opacity: 0; transform: translate3d(0, 10px, 0) scale(.985); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

/* The home already exposes reveal hooks through its IntersectionObserver. */
body.ac-editorial-home [data-reveal]{
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition: opacity .72s ease, transform .78s var(--ac-motion-ease);
  will-change: opacity, transform;
}

body.ac-editorial-home [data-reveal].is-visible{
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

.ac-benefits__grid > [data-reveal]:nth-child(2),
.ac-destination-track > [data-reveal]:nth-child(2),
.ac-fleet-track > [data-reveal]:nth-child(2),
.ac-review-track > [data-reveal]:nth-child(2){ transition-delay: 55ms; }
.ac-benefits__grid > [data-reveal]:nth-child(3),
.ac-destination-track > [data-reveal]:nth-child(3),
.ac-fleet-track > [data-reveal]:nth-child(3),
.ac-review-track > [data-reveal]:nth-child(3){ transition-delay: 110ms; }
.ac-benefits__grid > [data-reveal]:nth-child(4),
.ac-destination-track > [data-reveal]:nth-child(4),
.ac-fleet-track > [data-reveal]:nth-child(4){ transition-delay: 165ms; }
.ac-benefits__grid > [data-reveal]:nth-child(5),
.ac-destination-track > [data-reveal]:nth-child(5){ transition-delay: 220ms; }

/* A calm first impression on interior pages. */
.hero__copy,
.fleet-hero__copy,
.contact-panel,
.route-detail-hero__copy,
.tour-detail-hero__copy{
  animation: ac-enter-up .68s var(--ac-motion-ease) both;
}

.hero__media,
.fleet-hero__aside,
.contact-card,
.route-detail-hero__media,
.tour-detail-hero__media{
  animation: ac-enter-image .82s .08s var(--ac-motion-ease) both;
}

.veh-card,
.private-tour-card,
.tour-choice-card,
.act-review-card{
  transition: transform .28s var(--ac-motion-ease), border-color .22s ease, box-shadow .28s ease;
}

@media (hover: hover) and (pointer: fine){
  .veh-card:hover,
  .private-tour-card:hover,
  .tour-choice-card:hover,
  .act-review-card:hover{
    transform: translateY(-3px);
    border-color: rgba(16, 47, 67, .3);
    box-shadow: 0 16px 38px rgba(16, 47, 67, .08);
  }
}

/* --------------------------------------------------------------------------
   Shared premium motion and detail-page finishing
   -------------------------------------------------------------------------- */

:root{
  --ac-motion-premium: cubic-bezier(.2, .72, .22, 1);
  --ac-motion-soft: cubic-bezier(.25, .7, .25, 1);
}

/* Keep the skip link available to keyboard users without exposing it after
   programmatic focus or full-page screenshot capture. */
.skip-link{
  opacity: 0;
  pointer-events: none;
  transform: translateY(calc(-100% - 18px));
  transition: opacity .14s ease, transform .18s ease;
}
.skip-link:focus{ opacity: 0; pointer-events: none; transform: translateY(calc(-100% - 18px)); }
.skip-link:focus-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Route and tour detail heroes use the same finished image treatment. */
.route-detail-breadcrumb,
.tour-detail-breadcrumb{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding-top: 18px;
}
.route-detail-breadcrumb a,
.tour-detail-breadcrumb a{ color: var(--ac-navy); text-decoration-color: rgba(16, 47, 67, .35); text-underline-offset: 3px; }
.hero__eyebrow{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 9px;
  margin-bottom: 14px;
  color: var(--ac-clay-dark);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .035em;
}
.hero__eyebrow::before{
  content: "";
  width: 30px;
  height: 2px;
  background: var(--ac-clay);
}
.route-detail-hero__media,
.tour-detail-hero__media{ position: relative; isolation: isolate; }
.route-detail-hero__media > img,
.tour-detail-hero__media > img{
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  transition: transform 1s var(--ac-motion-premium);
}
.route-detail-hero__media::after,
.tour-detail-hero__media::after{
  content: "";
  position: absolute;
  z-index: 1;
  inset: 48% 0 0;
  background: linear-gradient(180deg, transparent, rgba(8, 38, 61, .76));
  pointer-events: none;
}
.hero__mediaLabel{
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  color: #fff;
}
.hero__mediaLabel > div:first-child{ display: grid; gap: 4px; min-width: 0; }
.hero__mediaLabel strong{ color: #fff; font-family: var(--ac-serif); font-size: 24px; font-weight: 500; line-height: 1.05; }
.hero__mediaLabel span{ color: rgba(255, 255, 255, .76); font-size: 11px; }
.hero__mediaLabel .badge{
  flex: 0 0 auto;
  padding: 7px 9px;
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 2px;
  background: rgba(8, 38, 61, .36);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  backdrop-filter: blur(8px);
}
.hero-highlights{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-block: 1px solid var(--ac-line);
}
.hero-highlight{
  display: grid;
  gap: 5px;
  padding: 15px 14px;
  border-right: 1px solid var(--ac-line);
}
.hero-highlight:first-child{ padding-left: 0; }
.hero-highlight:last-child{ padding-right: 0; border-right: 0; }
.hero-highlight strong{ color: var(--ac-navy); font-size: 12px; line-height: 1.25; }
.hero-highlight span{ color: var(--ac-muted); font-size: 10px; line-height: 1.45; }
.hero__after{
  margin-top: 18px;
  color: var(--ac-muted);
  font-size: 12px;
  line-height: 1.55;
}
.booking-intro__copy h2{ margin: 9px 0 14px; font-size: clamp(36px, 4vw, 54px); line-height: 1; }
.booking-intro__copy p{ color: var(--ac-muted); }
.booking-intro__points{ display: grid; gap: 0; }
.booking-intro__point{ padding: 16px 0; border-bottom: 1px solid var(--ac-line); color: var(--ac-navy); font-size: 13px; }

@media (hover: hover) and (pointer: fine){
  .route-detail-hero__media:hover > img,
  .tour-detail-hero__media:hover > img{ transform: scale(1.018); }
  .btn [aria-hidden="true"]{ display: inline-block; transition: transform .2s var(--ac-motion-premium); }
  .btn:hover [aria-hidden="true"]{ transform: translateX(3px); }
}

/* JavaScript adds ac-motion-ready only after it has collected the targets, so
   content remains visible if scripting is unavailable. */
html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) .ac-motion-item{
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity .64s var(--ac-motion-soft) var(--ac-motion-delay, 0ms),
    transform .72s var(--ac-motion-premium) var(--ac-motion-delay, 0ms);
  will-change: opacity, transform;
}
html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) .ac-motion-item[data-ac-motion="media"]{
  transform: scale(.987);
  transform-origin: center;
}
html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) .ac-motion-item.is-inview{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}

/* The observer replaces the older one-off hero keyframes. */
html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) :where(
  .hero__copy,
  .fleet-hero__copy,
  .contact-panel,
  .route-detail-hero__copy,
  .tour-detail-hero__copy,
  .hero__media,
  .fleet-hero__aside,
  .contact-card,
  .route-detail-hero__media,
  .tour-detail-hero__media
){ animation: none; }

@media (max-width: 760px){
  .route-detail-breadcrumb,
  .tour-detail-breadcrumb{ padding-top: 13px; font-size: 11px; }
  .route-detail-hero__media > img,
  .tour-detail-hero__media > img{ min-height: 340px; }
  .hero__mediaLabel{ padding: 17px; }
  .hero__mediaLabel strong{ font-size: 20px; }
  .hero__mediaLabel .badge{ font-size: 10px; }
  .hero-highlights{ grid-template-columns: 1fr; }
  .hero-highlight,
  .hero-highlight:first-child,
  .hero-highlight:last-child{ padding: 13px 0; border-right: 0; border-bottom: 1px solid var(--ac-line); }
  .hero-highlight:last-child{ border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce){
  .route-detail-hero__media > img,
  .tour-detail-hero__media > img,
  .btn [aria-hidden="true"]{ transition: none; }
  html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) .ac-motion-item,
  html.ac-motion-ready body.page-home-theme:not(.ac-editorial-home) .ac-motion-item.is-inview{
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.tour-wizard-progress__track span{
  transition: transform .48s var(--ac-motion-ease), width .48s var(--ac-motion-ease);
}

.tour-wizard-step.is-active{ animation: ac-enter-up .42s var(--ac-motion-ease) both; }
.act-live-chat__panel:not([hidden]){ animation: ac-chat-enter .28s var(--ac-motion-ease) both; transform-origin: right bottom; }

/* Reservation desktop rules moved to reservation-flow.css. */
@media (prefers-reduced-motion: reduce){
  body.ac-editorial-home [data-reveal],
  body.ac-editorial-home [data-reveal].is-visible{
    opacity: 1;
    transform: none;
    transition: none;
  }

  .hero__copy,
  .fleet-hero__copy,
  .contact-panel,
  .route-detail-hero__copy,
  .tour-detail-hero__copy,
  .hero__media,
  .fleet-hero__aside,
  .contact-card,
  .route-detail-hero__media,
  .tour-detail-hero__media,
  .tour-wizard-step.is-active,
  .act-live-chat__panel:not([hidden]){
    animation: none;
  }

  .tour-wizard-progress__track span{
    transition: none;
  }
}


/* ==========================================================================
   Consolidated reservation flow
   Source preserved in reservation-flow.css; this is the active public copy.
   ========================================================================== */

/* AIRPORTCABO reservation flow — 2026 rebuild
   One isolated presentation layer for booking, review, payment and confirmation. */

:root{
  --rf-paper: #f7f1e8;
  --rf-surface: #fffdf9;
  --rf-surface-soft: #eee2d3;
  --rf-ink: #17242c;
  --rf-navy: #0b3047;
  --rf-navy-deep: #08263a;
  --rf-muted: #5b6768;
  --rf-line: rgba(11, 48, 71, .14);
  --rf-line-strong: rgba(11, 48, 71, .22);
  --rf-accent: #bd5435;
  --rf-accent-dark: #913a25;
  --rf-sand: #d8c2a7;
  --rf-success: #3f6651;
  --rf-error: #963526;
  --rf-focus: rgba(189, 84, 53, .38);
  --rf-shadow: 0 18px 48px rgba(8, 38, 58, .07), 0 3px 10px rgba(8, 38, 58, .025);
  --rf-serif: var(--ac-serif, Georgia, "Times New Roman", serif);
  --rf-sans: var(--ac-sans, Inter, Arial, sans-serif);
  --rf-radius: 8px;
  --rf-ease: cubic-bezier(.22, .68, .22, 1);
}

/* Shared reservation primitives */
#booking.acw,
body.page-review main,
body.page-thank main{
  color: var(--rf-ink);
  font-family: var(--rf-sans);
  line-height: 1.55;
}

#booking.acw *, #booking.acw *::before, #booking.acw *::after,
body.page-review main *, body.page-review main *::before, body.page-review main *::after,
body.page-thank main *, body.page-thank main *::before, body.page-thank main *::after{ box-sizing: border-box; }

#booking.acw :where(button, input, select, textarea),
body.page-review main :where(button, input, select, textarea),
body.page-thank main :where(button, input, select, textarea){ font: inherit; }

#booking.acw :where(button, a, input, select, textarea):focus-visible,
body.page-review main :where(button, a, input, select, textarea):focus-visible,
body.page-thank main :where(button, a, input, select, textarea):focus-visible{
  outline: 3px solid var(--rf-focus);
  outline-offset: 3px;
}

#booking.acw .btn,
body.page-review main .btn,
body.page-thank main .btn{
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--rf-navy);
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform .18s var(--rf-ease), background-color .18s ease, border-color .18s ease, color .18s ease;
}

#booking.acw .btn--primary,
body.page-review main .btn--primary,
body.page-thank main .btn--primary{ border-color: var(--rf-accent); background: var(--rf-accent); color: #fff; }
#booking.acw .btn--outline,
body.page-review main .btn--outline,
body.page-thank main .btn--outline{ border-color: var(--rf-line-strong); background: var(--rf-surface); color: var(--rf-navy); }
#booking.acw .btn--subtle,
body.page-review main .btn--subtle,
body.page-thank main .btn--subtle{ min-height: 42px; padding-inline: 10px; color: var(--rf-muted); text-decoration: underline; text-underline-offset: 4px; }

@media (hover: hover) and (pointer: fine){
  #booking.acw .btn:hover,
  body.page-review main .btn:hover,
  body.page-thank main .btn:hover{ transform: translateY(-1px); }
  #booking.acw .btn--primary:hover,
  body.page-review main .btn--primary:hover,
  body.page-thank main .btn--primary:hover{ border-color: var(--rf-accent-dark); background: var(--rf-accent-dark); }
  #booking.acw .btn--outline:hover,
  body.page-review main .btn--outline:hover,
  body.page-thank main .btn--outline:hover{ border-color: var(--rf-navy); background: #f4f0e9; }
}

#booking.acw .btn:disabled,
body.page-review main .btn:disabled,
body.page-thank main .btn:disabled{ opacity: .52; cursor: not-allowed; transform: none; }

#booking.acw .help,
body.page-review main .help,
body.page-thank main .help{ color: var(--rf-muted); font-size: 12px; line-height: 1.55; }

#booking.acw .form-alert,
body.page-review main .form-alert,
body.page-thank main .form-alert{
  margin: 0 0 22px;
  padding: 13px 15px;
  border: 1px solid rgba(150, 53, 38, .42);
  border-radius: 4px;
  background: #fff5f1;
  color: var(--rf-error);
  font-size: 13px;
}
#booking.acw .is-hidden,
body.page-review main .is-hidden,
body.page-thank main .is-hidden{ display: none !important; }

/* Booking wizard */
.ac-booking-overlap{ position: relative; z-index: 5; margin-top: -68px; }
.ac-booking-overlap[data-reveal],
.ac-booking-overlap[data-reveal].is-visible{
  transform: none !important;
  will-change: auto !important;
}
#availability.section{ padding: clamp(54px, 7vw, 88px) 0; border: 0; background: var(--rf-paper); }
.ac-booking-overlap #availability.section{ padding-top: 28px; background: transparent; }
#availability > .container{ width: min(calc(100% - 44px), 1240px); }

#booking.acw .acw-shell{
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(340px, 29vw, 382px);
  gap: clamp(24px, 2.4vw, 34px);
  align-items: start;
}
#booking.acw .acw-shell:has(.acw-panel[data-step="1"].is-active){ grid-template-columns: minmax(0, 1fr); }
#booking.acw .acw-main{
  min-width: 0;
  padding: 30px;
  border: 1px solid var(--rf-line);
  border-radius: 16px;
  background: var(--rf-surface);
  box-shadow: var(--rf-shadow);
}
#booking.acw .acw-summary-card{ min-width: 0; }
#booking.acw .acw-body{ padding: 0; }

#booking.acw .acw-progress{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 10px;
  padding: 10px 14px;
  border: 1px solid var(--rf-line);
  border-radius: 4px;
  background: var(--rf-surface-soft);
}
#booking.acw .steps-progress__track{ position: relative; height: 3px; overflow: hidden; background: #d7d0c6; }
#booking.acw .steps-progress__fill{
  position: absolute;
  inset: 0 auto 0 0;
  width: 33.333%;
  background: var(--rf-accent);
  transform-origin: left;
  transition: width .3s var(--rf-ease), transform .3s var(--rf-ease);
}
#booking.acw .steps-progress__text{ color: var(--rf-muted); font-size: 12px; font-weight: 750; white-space: nowrap; }

#booking.acw .acw-steps{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 0 34px;
  border-bottom: 1px solid var(--rf-line);
}
#booking.acw .wstep{
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 55px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px 13px;
  border: 0;
  background: transparent;
  color: var(--rf-muted);
  font-size: 12px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}
#booking.acw .wstep::after{ content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: transparent; }
#booking.acw .wstep__num{
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid var(--rf-line-strong);
  border-radius: 50%;
  font-size: 11px;
}
#booking.acw .wstep.is-active{ color: var(--rf-navy); }
#booking.acw .wstep.is-active::after{ background: var(--rf-accent); }
#booking.acw .wstep.is-active .wstep__num{ border-color: var(--rf-accent); background: var(--rf-accent); color: #fff; }

#booking.acw .acw-scene{ display: none; }
#booking.acw .booking-assurance{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 22px;
  margin: -12px 0 26px;
  padding: 12px 0;
  border-bottom: 1px solid var(--rf-line);
  color: var(--rf-muted);
  font-size: 11px;
  font-weight: 700;
}
#booking.acw .booking-assurance span{ display: inline-flex; align-items: center; gap: 7px; }
#booking.acw .booking-assurance span::before{ content: "\2713"; color: var(--rf-success); font-size: 11px; font-weight: 900; }
#booking.acw .acw-form{ position: relative; min-width: 0; }
#booking.acw .acw-panel{ display: none; min-width: 0; }
#booking.acw .acw-panel.is-active{ display: block; }
#booking.acw .wtitle{
  margin: 0;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: clamp(42px, 4.4vw, 62px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .98;
}
#booking.acw .wsub{ max-width: 760px; margin: 14px 0 34px; color: var(--rf-muted); font-size: 14px; }
#booking.acw .acw-panel[data-step="1"] .wsub{ margin-bottom: 20px; }

#booking.acw .acw-route{
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
}
#booking.acw .ac-route-group{
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#booking.acw .ac-route-group::before{ display: none; }
#booking.acw .ac-route-group__heading{
  display: block;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--rf-line);
}
#booking.acw .ac-route-group__heading > span{ display: none; }
#booking.acw .ac-route-group__heading h4{
  margin: 0;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: clamp(28px, 2.5vw, 34px);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1;
}
#booking.acw .ac-route-group__heading p{
  max-width: 680px;
  margin: 7px 0 0;
  color: var(--rf-muted);
  font-size: 12px;
  line-height: 1.55;
}
#booking.acw .ac-route-group__eyebrow{
  display: block;
  margin: 0 0 4px;
  color: var(--rf-accent-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}
#booking.acw .ac-route-group__grid,
#booking.acw .ac-route-row{
  display: grid;
  min-width: 0;
}
#booking.acw .ac-route-group__grid--journey{ gap: 20px; }
#booking.acw .ac-route-row{ gap: 20px; align-items: start; }
#booking.acw .ac-route-row--primary{
  --ac-primary-control-height: 52px;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: end;
}
#booking.acw .ac-route-primary-left{
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  min-width: 0;
  align-items: end;
  gap: 20px;
}
#booking.acw .ac-route-primary-left > *{ min-width: 0; }
#booking.acw .ac-route-row--destination{
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  align-items: start;
  padding-top: 18px;
  border-top: 1px solid var(--rf-line);
}
#booking.acw .ac-route-row__title{
  grid-column: 1 / -1;
  margin-bottom: -10px;
  color: var(--rf-navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
#booking.acw .ac-booking-card,
#booking.acw .ac-booking-card > .field,
#booking.acw .ac-booking-card .datetime-control{
  min-width: 0;
  max-width: 100%;
}
#booking.acw .ac-booking-card{
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
#booking.acw .ac-route-group--schedule{
  padding-top: 20px;
  border-top: 1px solid var(--rf-line);
  background: transparent;
}
#booking.acw .ac-schedule-heading{ margin-bottom: 16px; }
#booking.acw .ac-schedule-heading h4{
  margin: 0;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: clamp(23px, 1.8vw, 27px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1;
}
#booking.acw .ac-schedule-heading p{
  max-width: 620px;
  margin: 5px 0 0;
  color: var(--rf-muted);
  font-size: 12px;
  line-height: 1.5;
}
#booking.acw .ac-route-group__grid--schedule{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  align-items: start;
}
#booking.acw .ac-booking-card--return{
  grid-column: 1 / -1;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#booking.acw .ac-booking-card--return .wgrid--nested{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: start;
  width: 100%;
}
#booking.acw .ac-booking-card--return .wcard{ min-width: 0; }
#booking.acw .return-schedule__date,
#booking.acw .return-schedule__time{ min-width: 0; background: transparent; }
#booking.acw #return_block[style*="display: block"]{ animation: ac-schedule-reveal .24s var(--rf-ease) both; }
@keyframes ac-schedule-reveal{
  from{ opacity: 0; transform: translateY(-6px); }
  to{ opacity: 1; transform: translateY(0); }
}
#booking.acw .acw-route > .wactions{ min-width: 0; }

#booking.acw .field{ position: relative; display: grid; min-width: 0; max-width: 100%; gap: 8px; }
#booking.acw .field > label,
body.page-review main .field > label,
body.page-thank main .field > label,
body.page-thank main .thank-dinner-field > label{
  color: var(--rf-ink);
  font-size: 12px;
  font-weight: 750;
}
#booking.acw .field > label,
#booking.acw .datetime-control > label{
  min-height: 16px;
  margin: 0;
  line-height: 1.3;
}
#booking.acw #airportRow .field > label{ margin-bottom: 8px; }
#booking.acw .field :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea),
body.page-review main .field :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea),
body.page-thank main :where(.field, .thank-dinner-field) :where(input:not([type="radio"]):not([type="checkbox"]), select, textarea){
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  padding: 10px 14px;
  box-sizing: border-box;
  border: 1px solid rgba(11, 48, 71, .22);
  border-radius: 10px;
  background: var(--rf-surface);
  color: var(--rf-ink);
}
#booking.acw .field textarea,
body.page-review main .field textarea,
body.page-thank main .thank-dinner-field textarea{ min-height: 112px; resize: vertical; }
#booking.acw .airport-select-control{ min-width: 0; }
#booking.acw #airportRow select{ font-size: 14px; font-weight: 650; }
#booking.acw .airport-select-display{ display: none; }
#booking.acw .field.invalid :where(input, select, textarea),
body.page-review main .field.invalid :where(input, select, textarea){ border-color: var(--rf-error); background: #fff7f4; }
#booking.acw .inline-error,
body.page-review main .inline-error{ display: none; color: var(--rf-error); font-size: 11px; font-weight: 700; }
#booking.acw .field.invalid .inline-error,
body.page-review main .field.invalid .inline-error{ display: block; }

#booking.acw .toggle{ display: grid; min-width: 0; height: var(--ac-primary-control-height, 52px); box-sizing: border-box; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid var(--rf-line-strong); border-radius: 10px; background: rgba(238, 226, 211, .38); }
#booking.acw .toggle label{ position: relative; display: grid; min-width: 0; height: 100%; min-height: 0; box-sizing: border-box; place-items: center; padding: 7px; color: rgba(91, 103, 104, .88); font-size: 12px; font-weight: 700; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
#booking.acw .toggle label + label{ border-left: 1px solid var(--rf-line); }
#booking.acw .toggle input{ position: absolute; opacity: 0; pointer-events: none; }
#booking.acw .toggle label:not(:has(input:checked)){ background: rgba(255, 253, 249, .34); }
#booking.acw .toggle label:has(input:checked){ background: var(--rf-navy); color: #fff; }

#booking.acw .datetime-field,
#booking.acw .datetime-control{ min-width: 0; max-width: 100%; }
#booking.acw .datetime-control{ position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
#booking.acw .datetime-control > :where(input[type="date"], input[type="time"]){
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-inline-size: 0;
  inline-size: 100%;
}
#booking.acw .datetime-display{ display: none; }
#booking.acw .qty-stepper,
body.page-review main .qty-stepper{
  display: grid;
  grid-template-columns: 44px minmax(44px, 1fr) 44px;
  overflow: hidden;
  border: 1px solid var(--rf-line-strong);
  border-radius: 3px;
  background: var(--rf-surface);
}
#booking.acw .qty-stepper__btn,
body.page-review main .qty-stepper__btn{ min-height: 48px; border: 0; background: transparent; color: var(--rf-navy); font-size: 20px; cursor: pointer; }
#booking.acw .qty-stepper input,
body.page-review main .qty-stepper input{ min-width: 0; border-width: 0 1px !important; border-color: var(--rf-line) !important; border-radius: 0 !important; text-align: center; }

#booking.acw .ac-booking-card--passengers .qty-stepper{
  grid-template-columns: 44px minmax(70px, 1fr) 44px;
  width: min(160px, 100%);
  height: var(--ac-primary-control-height, 52px);
  max-width: 160px;
  box-sizing: border-box;
  border-color: var(--rf-line-strong);
  border-radius: 10px;
  background: var(--rf-surface);
}
#booking.acw .ac-booking-card--passengers .qty-stepper__btn{
  height: 100%;
  min-height: 0;
  color: var(--rf-navy);
  font-size: 18px;
  font-weight: 700;
  transition: background-color .18s ease, color .18s ease;
}
#booking.acw .ac-booking-card--passengers .qty-stepper__btn:hover,
#booking.acw .ac-booking-card--passengers .qty-stepper__btn:focus-visible{
  background: rgba(11, 48, 71, .06);
  color: var(--rf-accent-dark);
}
#booking.acw .ac-booking-card--passengers .qty-stepper input{
  height: 100%;
  min-height: 0;
  padding: 0 4px;
  background: var(--rf-surface);
  font-size: 16px;
  font-weight: 750;
}
#booking.acw .ac-booking-card--service select{
  height: var(--ac-primary-control-height, 52px);
  min-height: var(--ac-primary-control-height, 52px);
}

#booking.acw .search-results{
  position: absolute;
  z-index: 80;
  top: calc(100% + 10px);
  right: 0;
  left: 0;
  display: none;
  max-height: min(390px, 60vh);
  overflow-y: auto;
  padding: 8px;
  border: 1px solid var(--rf-line-strong);
  border-radius: 10px;
  background: var(--rf-surface);
  box-shadow: 0 22px 52px rgba(13,48,69,.18), 0 3px 9px rgba(13,48,69,.08);
  scrollbar-color: var(--rf-line-strong) transparent;
  scrollbar-width: thin;
}
#booking.acw #field_hotel_search > label{
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--rf-navy);
  line-height: 1.3;
}
#booking.acw #field_hotel_search > label::after{
  content: "Los Cabos catalog";
  flex: 0 0 auto;
  color: rgba(91, 103, 104, .72);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
#booking.acw #hotel_search{
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  padding: 10px 40px 10px 44px;
  box-sizing: border-box;
  border-color: var(--rf-line-strong);
  border-radius: 10px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B7482E' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='5.75'/%3E%3Cpath d='m15 15 4.25 4.25'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 16px 50%;
  background-size: 19px;
  color: var(--rf-navy);
  font-size: 15px;
  font-weight: 650;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
#booking.acw #hotel_search::-webkit-search-cancel-button{ display: none; }
#booking.acw #hotel_search::placeholder{ color: #697779; font-weight: 500; opacity: 1; }
#booking.acw #field_hotel_search:not(.has-selection):focus-within #hotel_search{
  border-color: var(--rf-accent);
  background-color: #fffefa;
  box-shadow: none;
  outline: 3px solid var(--rf-focus);
  outline-offset: 2px;
}
#booking.acw .hotel-search__help{
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: -4px;
  color: #5c6b6d;
}
#booking.acw .hotel-search__help::before{
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #e7efe9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233F6651' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.25 8 2.2 2.2 5.3-5.3'/%3E%3C/svg%3E") center / 12px no-repeat;
}
#booking.acw #field_hotel_search.has-selection #hotel_search,
#booking.acw #field_hotel_search.has-selection .hotel-search__help,
#booking.acw #field_hotel_search.has-selection .inline-error{ display: none !important; }
#booking.acw #field_hotel_search.has-selection #hotel_selected{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 68px;
  gap: 14px;
  padding: 10px 13px 10px 16px;
  border: 1px solid var(--rf-line-strong);
  border-left: 5px solid var(--rf-accent);
  border-radius: 10px;
  background: linear-gradient(105deg, #f4ede3 0%, #fffdf9 72%);
  box-shadow: none;
}
#booking.acw #field_hotel_search.has-selection #hotel_selected > div::before{
  content: "Selected hotel";
  margin-bottom: 3px;
  color: var(--rf-accent-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#booking.acw #field_hotel_search.has-selection #hotel_selected_name{
  display: block;
  overflow: visible;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}
#booking.acw #field_hotel_search.has-selection #hotel_selected_zone{ margin-top: 4px; color: #586769; font-size: 11px; }
#booking.acw #field_hotel_search.has-selection #hotel_clear_btn{
  align-self: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--rf-line-strong);
  border-radius: 4px;
  background: var(--rf-surface);
  color: var(--rf-navy);
  box-shadow: none;
  font-weight: 800;
  text-decoration: none;
}
#booking.acw .search-results.is-open{ display: block; }
#booking.acw .search-results[aria-busy="true"]{ cursor: progress; }
#booking.acw .search-item{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  width: 100%;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: var(--rf-ink);
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}
#booking.acw .search-item + .search-item{ margin-top: 3px; }
#booking.acw .search-item__top{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
}
#booking.acw .search-item__top strong{ min-width: 0; color: var(--rf-navy); font-size: 13px; font-weight: 800; overflow-wrap: anywhere; line-height: 1.35; }
#booking.acw .search-item__badge{
  display: inline-flex;
  min-height: 22px;
  align-items: center;
  padding: 3px 7px;
  border: 1px solid rgba(159,112,31,.3);
  border-radius: 999px;
  background: #f7eedc;
  color: #725016;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}
#booking.acw .search-item__meta{ display: block; min-width: 0; color: var(--rf-muted); font-size: 10px; overflow-wrap: anywhere; }
#booking.acw .search-mark{ padding: 0 .1em; border-radius: 2px; background: #f4dfab; color: inherit; }
#booking.acw .search-item:hover,
#booking.acw .search-item[aria-selected="true"]{ border-color: #d9cbb9; background: #f5efe6; }
#booking.acw .search-group-label{
  margin: 5px 8px 7px;
  color: #697779;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
#booking.acw .search-group-label:not(:first-child){ margin-top: 14px; }
#booking.acw .hotel-empty{
  margin: 2px;
  padding: 18px;
  border: 1px dashed #c9c0b3;
  border-radius: 5px;
  background: #faf7f1;
  color: #596769;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
}
#booking.acw .hotel-empty strong{ color: var(--rf-navy); }
#booking.acw .search-foot{
  position: sticky;
  z-index: 2;
  bottom: -8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 14px;
  margin: 8px -1px -1px;
  padding: 11px 12px;
  border-top: 1px solid var(--rf-line);
  background: rgba(255,253,249,.97);
  color: var(--rf-muted);
  font-size: 10px;
  backdrop-filter: blur(8px);
}
#booking.acw .search-foot__status{ min-width: 0; color: var(--rf-navy); font-weight: 800; }
#booking.acw .search-foot__meta{ white-space: nowrap; text-align: right; }
#booking.acw .search-foot__help{
  grid-column: 1 / -1;
  padding-top: 7px;
  border-top: 1px solid var(--rf-line);
  color: var(--rf-accent-dark);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
#booking.acw .search-foot__help:hover{ color: var(--rf-navy); text-decoration: underline; text-underline-offset: 3px; }
#booking.acw .selected-pill{ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--rf-line); }
#booking.acw .selected-pill div{ display: grid; min-width: 0; }
#booking.acw .selected-pill strong{ overflow-wrap: anywhere; font-size: 13px; }
#booking.acw .selected-pill span{ color: var(--rf-muted); font-size: 11px; }
#booking.acw .selected-pill button{ min-height: 38px; border: 0; background: transparent; color: var(--rf-accent-dark); font-size: 12px; font-weight: 750; text-decoration: underline; cursor: pointer; }
.hotel-picker__mobile-head{ display: none; }

#booking.acw .acw-panel[data-step="2"] > .wtitle{
  max-width: 680px;
}
#booking.acw .acw-panel[data-step="2"] > .wtitle::before{
  content: none;
}
#booking.acw .acw-panel[data-step="2"] > .wsub{
  max-width: 650px;
  margin: 12px 0 24px;
  padding: 0;
  border: 0;
}
#booking.acw .veh-grid{ display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; }
#booking.acw .veh{
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: clamp(280px, 46%, 300px) minmax(0, 1fr);
  min-height: 168px;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--rf-line);
  border-radius: 5px;
  background: #fff;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
#booking.acw .veh > input{
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
#booking.acw .veh > input:focus-visible{ outline: none; }
#booking.acw .veh:has(> input:focus-visible){ outline: 2px solid var(--rf-accent); outline-offset: 3px; }
#booking.acw .veh__media{
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 168px;
  aspect-ratio: auto;
  overflow: hidden;
  border-right: 1px solid var(--rf-line);
  background-color: #e3ded6;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
#booking.acw .veh__media::after{
  content: none;
}
#booking.acw .veh__check{
  display: none;
}
#booking.acw .veh__check::after{ content: none; }
#booking.acw .veh__body{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 24px;
  align-content: center;
  align-items: center;
  padding: 22px 24px;
}
#booking.acw .veh__name{
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.02;
}
#booking.acw .veh__meta{
  grid-column: 1;
  min-width: 0;
  min-height: 0;
  overflow-wrap: anywhere;
  max-width: 430px;
  color: var(--rf-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}
#booking.acw .veh__meta::before{
  content: none;
}
#booking.acw .veh__hint{
  display: grid;
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-items: end;
  min-width: 98px;
  padding: 0;
  border: 0;
  color: var(--rf-navy);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  text-align: right;
}
#booking.acw .veh__hint::before{
  content: "Total";
  margin-bottom: 5px;
  color: var(--rf-muted);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
#booking.acw .veh__price-line{ max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
#booking.acw .vehOriginalPrice{ margin-right: 4px; color: var(--rf-muted); font-size: 10px; font-weight: 500; text-decoration: line-through; }
#booking.acw .vehPromo{ margin-top: 5px; color: var(--rf-success); font-size: 9px; font-weight: 800; text-transform: uppercase; }
#booking.acw .veh__body::after{
  content: none;
  display: none;
}
#booking.acw .veh__selected{
  position: absolute;
  z-index: 3;
  top: 12px;
  left: 12px;
  display: none;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 3px;
  background: var(--rf-navy);
  color: #fff;
  box-shadow: none;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
  pointer-events: none;
}
#booking.acw .veh:has(input:checked){ z-index: 1; border-color: var(--rf-accent); background: #fffdf9; box-shadow: inset 4px 0 0 var(--rf-accent), 0 10px 26px rgba(13,48,69,.09); }
#booking.acw .veh input:checked ~ .veh__body .veh__selected{ display: inline-flex; }
#booking.acw .veh.is-disabled{ display: none; }
@media (hover: hover) and (pointer: fine){
  #booking.acw .veh:not(.is-disabled):not(:has(input:checked)):hover{ border-color: #9faeb3; box-shadow: 0 8px 22px rgba(13,48,69,.07); }
  #booking.acw .veh:has(input:checked):hover{ border-color: var(--rf-accent); box-shadow: inset 4px 0 0 var(--rf-accent), 0 10px 26px rgba(13,48,69,.09); }
}

#booking.acw #pricingHintWrap{ margin: -9px 0 18px; }
#booking.acw #pricingHintWrap .wcard{ padding: 11px 13px; border: 1px solid var(--rf-line); border-radius: 3px; background: #f8f5ef; }
#booking.acw #pricingHint{ color: var(--rf-muted); font-weight: 650; }
#booking.acw .acw-vehicle-status{ margin-top: 14px; }
#booking.acw .acw-panel[data-step="2"] > .wactions{
  display: flex;
  grid-template-columns: none;
  gap: 12px;
  margin-top: 24px;
  padding: 20px 0 0;
  border-top: 1px solid var(--rf-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#booking.acw .acw-panel[data-step="2"] > .wactions .btn--outline{ border-color: var(--rf-line-strong); background: var(--rf-surface); color: var(--rf-navy); }
#booking.acw .acw-panel[data-step="2"] > .wactions .btn--primary{ min-width: 260px; }
#booking.acw .roundtrip-upsell{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(175px, 210px);
  gap: 0;
  align-items: stretch;
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid var(--rf-line-strong);
  border-radius: 5px;
  background: #fff;
  box-shadow: none;
}
#booking.acw .roundtrip-upsell.is-motion-pop{ animation: none !important; }
#booking.acw .roundtrip-upsell__copy{ min-width: 0; padding: 20px 22px; }
#booking.acw .roundtrip-upsell__eyebrow,
#booking.acw .contact-details__label{ color: var(--rf-accent-dark); font-size: 11px; font-weight: 800; }
#booking.acw .roundtrip-upsell__eyebrow{ font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
#booking.acw .roundtrip-upsell__title{ margin: 5px 0 0; color: var(--rf-navy); font-family: var(--rf-serif); font-size: 24px; font-weight: 500; line-height: 1.08; }
#booking.acw .roundtrip-upsell__text{ max-width: 590px; margin: 6px 0 0; color: var(--rf-muted); font-size: 11.5px; line-height: 1.5; }
#booking.acw .roundtrip-upsell__pricing{ display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--rf-line); }
#booking.acw .roundtrip-upsell__price{ display: grid; gap: 2px; color: var(--rf-muted); font-size: 11px; }
#booking.acw .roundtrip-upsell__price + .roundtrip-upsell__price{ padding-left: 24px; border-left: 1px solid var(--rf-line); }
#booking.acw .roundtrip-upsell__price span{ font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
#booking.acw .roundtrip-upsell__price del{ color: var(--rf-muted); font-size: 15px; }
#booking.acw .roundtrip-upsell__price strong{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 20px; font-weight: 600; line-height: 1.1; }
#booking.acw .roundtrip-upsell__meta{ display: grid; align-content: center; justify-items: stretch; gap: 11px; padding: 20px; border-left: 1px solid var(--rf-line); background: #f5efe6; }
#booking.acw .roundtrip-upsell__discount{ padding: 8px 10px; border: 1px solid rgba(63,102,81,.26); border-radius: 3px; background: #edf4ef; color: var(--rf-success); font-size: 11px; text-align: center; }
#booking.acw .roundtrip-upsell__meta .btn{ width: 100%; min-width: 0; padding-inline: 12px; }
#booking.acw .roundtrip-upsell.is-applied{ border-color: rgba(63,102,81,.38); }
#booking.acw .roundtrip-upsell.is-applied .roundtrip-upsell__meta{ background: #edf4ef; }

#booking.acw .contact-details{ display: grid; gap: 26px; }
#booking.acw .contact-details__group + .contact-details__group{ padding-top: 24px; border-top: 1px solid var(--rf-line); }
#booking.acw .contact-details__heading{ display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
#booking.acw .contact-details__heading p{ margin: 0 0 10px; color: var(--rf-muted); font-size: 12px; }
#booking.acw .contact-methods{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
#booking.acw .contact-method{ position: relative; }
#booking.acw .contact-method__tag{ position: absolute; top: 0; right: 0; color: var(--rf-muted); font-size: 10px; }

#booking.acw .wactions,
#booking.acw .cta{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 30px; }
#booking.acw .acw-route > .wactions{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  margin-top: 0;
  padding: 11px 14px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 10px;
  background: var(--rf-navy);
  box-shadow: none;
}
#booking.acw .acw-route > .wactions > span{ display: grid; min-width: 0; gap: 2px; }
#booking.acw .acw-route > .wactions > span small{ color: #d6b177; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
#booking.acw .acw-route > .wactions > span strong{ color: #fff; font-family: var(--rf-serif); font-size: 14.5px; font-weight: 500; line-height: 1.2; }
#booking.acw .ac-transfer-search{
  min-width: 252px;
  min-height: 48px;
  padding-inline: 16px;
  border-radius: 10px;
  box-shadow: none;
}
#booking.acw .ac-transfer-search:focus-visible{
  outline-color: var(--rf-focus);
  outline-offset: 3px;
}
#booking.acw .ac-transfer-search:active{
  border-color: var(--rf-accent-dark);
  background: var(--rf-accent-dark);
  box-shadow: none;
  transform: translateY(0);
}
#booking.acw .cta{ align-items: flex-start; flex-direction: column; padding-top: 26px; border-top: 1px solid var(--rf-line); }
#booking.acw .acw-contact-actions{ width: 100%; margin-top: 0; }
#booking.acw .cta #submitBtn{ min-width: 230px; }
#booking.acw .confidence{ max-width: 600px; color: var(--rf-muted); font-size: 12px; }

#booking.acw .acw-summary{ position: relative; align-self: stretch; min-width: 0; }
#booking.acw .acw-shell:has(.acw-panel[data-step="1"].is-active) .acw-summary{ display: none; }
#booking.acw .acw-summary-card{
  position: sticky;
  top: 112px;
  padding: clamp(28px, 2.5vw, 34px);
  border: 1px solid var(--rf-line-strong);
  border-radius: 7px;
  background: #fffdfa;
  box-shadow: 0 20px 48px rgba(13,48,69,.1);
}
#booking.acw .acw-summary-card > .card-inner{ padding: 0; }
#booking.acw .price__head{ padding-bottom: 21px; border-bottom: 1px solid var(--rf-line-strong); }
#booking.acw .price__eyebrow{ display: block; margin-bottom: 5px; color: var(--rf-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
#booking.acw .price__head h3{ margin: 0; color: var(--rf-navy); font-family: var(--rf-serif); font-size: 34px; font-weight: 500; line-height: 1.05; }
#booking.acw .badge{ display: none; }
#booking.acw .estimate{ display: grid; }
#booking.acw .estimate__line{ display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 16px; align-items: start; padding: 13px 0; border-bottom: 1px solid #ddd6cc; color: var(--rf-muted); font-size: 12px; line-height: 1.45; }
#booking.acw .estimate__line strong{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-ink); font-size: 12px; line-height: 1.45; text-align: right; }
#booking.acw .estimate__line--promotion,
#booking.acw .estimate__line--promotion strong,
#booking.acw .estimate__line--discount.is-savings,
#booking.acw .estimate__line--discount.is-savings strong{ color: var(--rf-success); }
#booking.acw .estimate__line--original strong{ color: var(--rf-muted); text-decoration: line-through; }
#booking.acw .estimate__line--total{ display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 17px -10px 0; padding: 18px 16px; border: 1px solid var(--rf-line-strong); border-radius: 4px; background: #f2ece3; color: var(--rf-navy); font-size: 13px; font-weight: 800; }
#booking.acw .estimate__total{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 34px; font-weight: 600; line-height: 1; }
#booking.acw .price__note{ min-height: 0; margin-top: 14px; padding: 12px 14px; border-left: 3px solid var(--rf-accent); background: #f8f3ec; color: var(--rf-muted); font-size: 11px; line-height: 1.55; }
#booking.acw .price__note:empty{ display: none; }
#booking.acw .price-trust{ margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--rf-line-strong); }
#booking.acw .price-trust__text{ margin: 0 0 14px; color: var(--rf-muted); font-size: 12px; line-height: 1.5; }
#booking.acw .price-trust__actions .btn{ width: 100%; min-height: 46px; }

@keyframes rf-panel-in{ from{ opacity: .7; transform: translateY(7px); } to{ opacity: 1; transform: none; } }
#booking.acw .is-motion-reveal{ animation: rf-panel-in .28s var(--rf-ease) both; animation-delay: var(--wiz-item-delay, 0ms); }
#booking.acw .is-motion-pop,
#booking.acw .is-motion-emphasis{ animation: rf-panel-in .18s ease both; }
#booking.acw .acw-panel[data-step="2"] .is-motion-reveal,
#booking.acw .acw-panel[data-step="2"] .veh.is-motion-reveal,
#booking.acw .acw-panel[data-step="2"] .veh-grid.is-motion-reveal{ animation: none !important; }
#booking.acw .acw-form.is-transitioning{ transition: height .28s var(--rf-ease); }
#booking.acw .acw-form.is-animating .acw-panel.is-entering,
#booking.acw .acw-form.is-animating .acw-panel.is-exiting{ display: block; }
#booking.acw .acw-form.is-animating .acw-panel.is-entering{ position: absolute; inset: 0; opacity: 0; transform: translateY(7px); }
#booking.acw .acw-form.is-animating.is-transitioning .acw-panel.is-entering{ opacity: 1; transform: none; transition: opacity .2s ease var(--wizard-enter-delay, 70ms), transform .22s var(--rf-ease) var(--wizard-enter-delay, 70ms); }
#booking.acw .acw-form.is-animating.is-transitioning .acw-panel.is-exiting{ opacity: 0; transform: translateY(-4px); transition: opacity .16s ease, transform .16s ease; }

/* Review and confirmation shell */
body.page-review main.section,
body.page-thank main.section{ padding: 54px 0 88px; background: var(--rf-paper); }
body.page-review main > .container,
body.page-thank main > .container{ width: min(calc(100% - 44px), 1180px); }
body.page-review main .card,
body.page-thank main .card,
body.page-thank main .thank-hero__left{ min-width: 0; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); background: var(--rf-surface); box-shadow: none; }
body.page-review main .card-inner,
body.page-thank main .card-inner{ padding: 26px; }
body.page-review main :where(h1, h2, h3),
body.page-thank main :where(h1, h2, h3){ color: var(--rf-navy); font-family: var(--rf-serif); font-weight: 500; }
body.page-review main :where(p, h1, h2, h3),
body.page-thank main :where(p, h1, h2, h3){ overflow-wrap: anywhere; }

.review-shell{ display: grid; gap: 22px; }
.review-intro{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) 340px;
  gap: 42px;
  align-items: center;
  padding: clamp(26px, 3vw, 38px);
  border: 1px solid var(--rf-line);
  border-top: 4px solid var(--rf-accent);
  border-radius: 7px;
  background: #fffdfa;
  box-shadow: 0 14px 38px rgba(13,48,69,.07);
}
.review-intro__eyebrow,
.review-summary__eyebrow,
.review-detail-group__title,
.thank-itinerary__eyebrow,
.thank-leg__label,
.summary-divider,
.thank-support__eyebrow,
.meeting-box__eyebrow,
.meeting-point-card__eyebrow,
.thank-receipt__eyebrow,
.thank-upsell__eyebrow{ color: var(--rf-accent-dark); font-size: 11px; font-weight: 800; }
.review-intro__eyebrow{ font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.review-intro h1{ max-width: 760px; margin: 8px 0 12px; font-size: clamp(46px, 4.5vw, 62px); letter-spacing: -.035em; line-height: .98; }
.review-intro__lead{ max-width: 620px; margin: 0; color: var(--rf-muted); font-size: 14px; line-height: 1.55; }
.review-intro__alert{ margin-top: 18px; padding: 10px 12px; border-left: 3px solid var(--rf-success); background: #f0f5f1; color: #375a47; font-size: 11px; font-weight: 700; }
.review-intro__side{ padding: 18px; border: 1px solid var(--rf-line); border-radius: 4px; background: #f6f1e9; }
.review-intro__meta{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--rf-line); }
.review-intro__pill{ display: grid; min-width: 0; gap: 3px; padding: 0; border: 0; background: transparent; }
.review-intro__pill span{ color: var(--rf-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.review-intro__pill strong{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-navy); font-size: 11px; }
.checkout-progress{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.checkout-progress li{ position: relative; display: grid; gap: 6px; justify-items: center; min-width: 0; color: var(--rf-muted); text-align: center; }
.checkout-progress li:not(:last-child)::after{ content: ""; position: absolute; z-index: 0; top: 14px; left: calc(50% + 18px); width: calc(100% - 36px); height: 1px; background: var(--rf-line); }
.checkout-progress li.is-done:not(:last-child)::after{ background: var(--rf-success); }
.checkout-progress li > span{ position: relative; z-index: 1; display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid var(--rf-line-strong); border-radius: 50%; background: var(--rf-paper); font-size: 10px; font-weight: 800; }
.checkout-progress li > strong{ min-width: 0; font-size: 10px; font-weight: 750; overflow-wrap: anywhere; }
.checkout-progress li.is-current{ color: var(--rf-navy); }
.checkout-progress li.is-current > span{ border-color: var(--rf-accent); background: var(--rf-accent); color: #fff; }
.checkout-progress li.is-done{ color: var(--rf-success); }
.checkout-progress li.is-done > span{ border-color: var(--rf-success); background: var(--rf-success); color: #fff; }
.checkout-progress--thank{ max-width: 500px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--rf-line); }

.reservation-timer{ display: flex; gap: 16px; align-items: center; padding: 15px 0; border-block: 1px solid var(--rf-line); }
.reservation-timer__dial{ display: grid; flex: 0 0 62px; width: 62px; height: 62px; place-items: center; border: 1px solid var(--rf-accent); border-radius: 50%; color: var(--rf-accent-dark); }
.reservation-timer__dial span{ font-size: 18px; }
.reservation-timer__dial small{ margin-top: -17px; font-size: 9px; }
.reservation-timer__copy{ display: grid; gap: 3px; min-width: 0; }
.reservation-timer__eyebrow{ color: var(--rf-accent-dark); font-size: 10px; font-weight: 800; }
.reservation-timer__copy p{ margin: 4px 0 0; color: var(--rf-muted); font-size: 12px; }

.review-grid{ display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 22px; align-items: start; }
.review-col{ display: grid; gap: 20px; min-width: 0; }
.review-col--edit #reviewExtras{ order: -1; }
.review-col--summary{ position: sticky; top: 112px; }
.review-card{ border-color: var(--rf-line-strong) !important; border-radius: 6px !important; background: #fff !important; box-shadow: 0 10px 28px rgba(13,48,69,.055) !important; }
.review-card .card-inner{ padding: 30px; }
.review-card .thank-title{ margin: 0; font-size: clamp(29px, 3vw, 36px); letter-spacing: -.025em; line-height: 1.05; }
.review-card .thank-title + .help{ max-width: 590px; margin-top: 7px; }
.review-detail-group{ margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--rf-line); }
.review-detail-group__title{ margin-bottom: 13px; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
body.page-review main .row{ display: grid; gap: 16px; }
body.page-review main .row--two{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.review-card .field{ min-width: 0; }
.review-card .field > label{ color: var(--rf-navy); font-size: 10px; }
.review-card .field :where(input, select){ min-height: 48px; border-color: #b8c0c1; background: #fffdfa; }
.review-card .field :where(input, select):focus{ border-color: var(--rf-accent); box-shadow: 0 0 0 3px rgba(183,72,46,.1); outline: 0; }
.review-card .field > .help{ margin-top: 5px; font-size: 10px; }
.review-roundtrip-btn{ margin-top: 9px; }
.review-summary{ margin: 0; padding: 26px; border: 1px solid var(--rf-line-strong); border-radius: 6px; background: #fffdfa; box-shadow: 0 16px 38px rgba(13,48,69,.085); }
.review-summary__head{ padding: 0 0 18px; border-top: 0; border-bottom: 1px solid var(--rf-line-strong); }
.review-summary__head .review-card__tag{ display: none; }
.review-summary__title{ margin: 4px 0; font-size: 31px; letter-spacing: -.025em; }
.review-summary__lead{ max-width: 330px; margin: 6px 0 0; color: var(--rf-muted); font-size: 10.5px; line-height: 1.5; }
.review-summary .summary-divider{ padding-top: 16px; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.review-summary .summary-item{ grid-template-columns: minmax(105px, .8fr) minmax(0, 1.2fr); gap: 12px; padding: 10px 0; font-size: 11px; }
.review-summary .summary-item--total{ margin: 15px -10px 0; padding: 15px 12px; border: 1px solid var(--rf-line-strong); border-radius: 3px; background: #f1e9de; }
.review-summary .summary-item--total strong{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 23px; line-height: 1; }
.review-summary .review-cta{ margin-top: 18px !important; }
.review-summary .review-cta .btn{ width: 100%; }
.extra-table{ display: grid; margin-top: 18px; border-top: 1px solid var(--rf-line); }
.extra-row{ display: grid; grid-template-columns: minmax(0, 1fr) 92px 154px; gap: 14px; align-items: center; min-width: 0; padding: 11px 0; border-bottom: 1px solid var(--rf-line); }
.extra-head{ padding-block: 8px; color: var(--rf-muted); font-size: 8px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.extra-head > :nth-child(2),
.extra-head > :nth-child(3){ text-align: center; }
.extra-row > [data-label="Price"]{ color: var(--rf-navy); font-size: 11px; font-weight: 750; text-align: center; }
.extra-item{ display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 12px; align-items: center; min-width: 0; padding: 0; border: 0; }
.extra-item__thumb{ box-sizing: border-box; width: 68px; height: 68px; padding: 4px; overflow: hidden; border: 1px solid var(--rf-line); border-radius: 6px; background: #fff; }
.extra-item__thumb img{ width: 100%; height: 100%; object-fit: contain; object-position: center; }
.extra-item__label{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-navy); font-size: 11px; font-weight: 700; }
.extra-item__label strong{ display: block; }
.extra-qty{ min-width: 0; min-height: 44px; border: 0; background: transparent; }
body.page-review main .qty-stepper--compact{
  grid-template-columns: 36px minmax(38px, 1fr) 36px;
  max-width: 124px;
  margin-left: auto;
}
body.page-review main .qty-stepper--compact .qty-stepper__btn{ min-height: 38px; font-size: 17px; }
body.page-review main .qty-stepper--compact input{
  min-height: 38px;
  padding: 0 4px;
  background: #fffdfa;
  color: var(--rf-navy);
  font-size: 13px;
  font-weight: 800;
  appearance: textfield;
  cursor: default;
}
body.page-review main .qty-stepper--compact input::-webkit-inner-spin-button,
body.page-review main .qty-stepper--compact input::-webkit-outer-spin-button{ margin: 0; appearance: none; }
.review-cta{ display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid var(--rf-line); }

.summary-list{ margin-top: 18px; border-top: 1px solid var(--rf-line); }
.review-col--summary .review-summary{ margin-top: 0; border-top: 1px solid var(--rf-line-strong); }
.summary-divider{ padding: 17px 0 7px; border-bottom: 1px solid var(--rf-line); }
.summary-item{ display: grid; grid-template-columns: minmax(108px, .82fr) minmax(0, 1.18fr); gap: 14px; padding: 11px 0; border-bottom: 1px solid #ded8cf; font-size: 12px; }
.summary-item span{ color: var(--rf-muted); }
.summary-item strong{ min-width: 0; overflow-wrap: anywhere; text-align: right; }
.summary-item--note strong{ white-space: normal; }
.summary-item--total{ color: var(--rf-navy); font-size: 14px; }

/* Thank-you, payment and concierge extensions */
.thank-layout{ display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(400px, .8fr); gap: 24px; align-items: start; }
.thank-layout__main,
.thank-layout__sidebar{ display: grid; gap: 20px; min-width: 0; }
.thank-layout__sidebar{ position: sticky; top: 112px; }
.thank-layout--payment-pending .thank-layout__sidebar .thank-card--payment{ order: -2; }
.thank-layout--payment-pending .thank-layout__sidebar .thank-hero__right{ order: -1; }
.thank-hero__left{ padding: 38px; }
.thank-hero__header,
.thank-card__head,
.receipt-head,
.thank-itinerary__head,
.thank-upsell__head{ display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.thank-hero__badge,
.thank-hero__status,
.thank-card__tag,
.thank-ref,
.confirm-pill{
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--rf-line);
  border-radius: 3px;
  color: var(--rf-muted);
  font-size: 10px;
  font-weight: 750;
}
.thank-hero__status.is-paid,
.thank-hero__status.is-cash,
.thank-state.is-paid,
.thank-state.is-cash{ border-color: rgba(63,102,81,.45); color: var(--rf-success); }
.thank-hero__status.is-cancelled,
.thank-state.is-cancelled{ border-color: rgba(150,53,38,.42); color: var(--rf-error); }
.thank-hero__left > h1{ max-width: 660px; margin: 25px 0 14px; font-size: clamp(48px, 4.4vw, 61px); line-height: 1; }
.thank-lead{ max-width: 640px; margin: 0; color: var(--rf-muted); font-size: 16px; }
.thank-meta{ display: flex; gap: 12px; align-items: baseline; margin-top: 21px; padding-top: 17px; border-top: 1px solid var(--rf-line); }
.thank-meta__label{ color: var(--rf-accent-dark); font-size: 11px; font-weight: 800; }
.thank-meta__value{ font-size: 17px; }
.thank-kpis{ display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 23px; border-block: 1px solid var(--rf-line); }
.thank-kpi{ min-width: 0; padding: 15px 13px; border-right: 1px solid var(--rf-line); }
.thank-kpi:last-child{ border-right: 0; }
.thank-kpi span{ display: block; margin-bottom: 4px; color: var(--rf-muted); font-size: 11px; }
.thank-kpi strong{ display: block; overflow-wrap: anywhere; font-size: 13px; }
.thank-itinerary{ margin-top: 24px; padding-top: 23px; border-top: 1px solid var(--rf-line); }
.thank-itinerary__title{ margin: 4px 0 0; font-size: clamp(28px, 3vw, 38px); line-height: 1.05; }
.thank-itinerary__lead{ max-width: 310px; margin: 0; color: var(--rf-muted); font-size: 12px; }
.thank-itinerary__grid,
.thank-next-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 20px; border-top: 1px solid var(--rf-line); }
.thank-itinerary__grid:has(> .thank-leg:only-child){ grid-template-columns: 1fr; }
.thank-leg,
.thank-next-step{ min-width: 0; padding: 18px 16px; border-right: 1px solid var(--rf-line); border-bottom: 1px solid var(--rf-line); }
.thank-itinerary__grid > .thank-leg:only-child{ border-right: 0; }
.thank-leg:nth-child(2n), .thank-next-step:nth-child(2n){ border-right: 0; }
.thank-leg__route{ display: block; margin-top: 5px; overflow-wrap: anywhere; font-family: var(--rf-serif); font-size: 21px; font-weight: 500; }
.thank-leg__meta{ display: block; margin-top: 7px; color: var(--rf-muted); font-size: 11px; }
.thank-actions,
.payment-actions,
.thank-receipt__actions,
.thank-support__actions,
.thank-dinner-actions,
.thank-tour-inline__actions,
.thank-tour-inline__payment-actions{ display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.confirm-pill{ margin-top: 18px; overflow-wrap: anywhere; }

.thank-card{ overflow: hidden; }
.thank-card.is-attention{ border-color: rgba(183,72,46,.62); box-shadow: 0 16px 42px rgba(13,48,69,.1); }
.thank-card.is-attention::before{ content: ""; display: block; height: 4px; background: var(--rf-accent); }
.thank-card.is-complete{ border-color: rgba(63,102,81,.45); }
.thank-card__lead{ margin: 11px 0 0; }
.thank-ref{ display: grid; }
.thank-ref__label{ color: var(--rf-muted); font-size: 9px; }
.thank-ref__value{ color: var(--rf-navy); font-size: 11px; }
.thank-state,
.thank-cash-note,
.summary-readonly-note,
.thank-receipt__pending{
  margin-top: 16px;
  padding: 13px 0;
  border-block: 1px solid var(--rf-line);
  color: var(--rf-muted);
  font-size: 12px;
}
.thank-state strong, .thank-state span{ display: block; }
.thank-state strong{ color: var(--rf-navy); }
.payment-unavailable{ margin: 18px 0 0; padding: 12px 14px; border: 1px solid rgba(183,72,46,.38); background: #fff6f2; color: var(--rf-ink); font-size: 12px; }
.thank-card--payment.is-attention{ background: linear-gradient(180deg, #fff 0%, #fffdfa 100%); }
.thank-card--payment.is-attention::before{ background: linear-gradient(90deg, var(--rf-accent), #d99a71); }
.thank-card--payment .thank-state.is-pending{
  padding: 14px;
  border: 1px solid rgba(183,72,46,.24);
  border-radius: 4px;
  background: #fff8f4;
}
.thank-card--payment .thank-state.is-pending strong{ margin-bottom: 3px; }
.thank-card--payment .thank-payment-summary{
  margin-top: 18px;
  padding: 0 14px 12px;
  border: 1px solid var(--rf-line);
  border-radius: 4px;
  background: #f8f4ed;
}
.thank-card--payment .thank-payment-summary .summary-divider{ padding-top: 14px; }
.thank-card--payment .thank-payment-summary .summary-item--total{
  margin: 10px -5px 0;
  padding: 13px 8px;
  border: 1px solid var(--rf-line-strong);
  border-radius: 3px;
  background: #fff;
}
.payment-choice-grid{ display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
.payment-choice-grid--single{ grid-template-columns: minmax(0, 1fr); }
.payment-choice-card{
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 18px;
  border: 1px solid var(--rf-line-strong);
  border-radius: 6px;
  background: #fff;
}
.payment-choice-card--online{ border-color: rgba(183,72,46,.42); box-shadow: 0 12px 28px rgba(13,48,69,.07); }
.payment-choice-card--cash{ background: #faf7f1; }
.payment-choice-card__head{ display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 11px; align-items: center; }
.payment-choice-card__number{
  display: grid;
  grid-row: 1 / span 2;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--rf-line-strong);
  border-radius: 50%;
  color: var(--rf-accent-dark);
  font-size: 10px;
  font-weight: 800;
}
.payment-choice-card--online .payment-choice-card__number{ border-color: var(--rf-accent); background: var(--rf-accent); color: #fff; }
.payment-choice-card__eyebrow{ display: block; color: var(--rf-accent-dark); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.payment-choice-card h3{ margin: 2px 0 0; color: var(--rf-navy); font-family: var(--rf-serif); font-size: 22px; font-weight: 500; line-height: 1.05; }
.payment-choice-card__badge{
  grid-column: 2;
  justify-self: start;
  margin-top: 4px;
  padding: 4px 7px;
  border-radius: 999px;
  background: #f5e1d7;
  color: var(--rf-accent-dark);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.payment-choice-card__badge--neutral{ background: #ece8df; color: var(--rf-muted); }
.payment-choice-card > p{ margin: 14px 0; color: var(--rf-muted); font-size: 11px; line-height: 1.55; }
.payment-choice-card__amount{ display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; padding: 12px 0; border-block: 1px solid var(--rf-line); }
.payment-choice-card__amount span{ color: var(--rf-muted); font-size: 9px; font-weight: 750; }
.payment-choice-card__amount strong{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 22px; font-weight: 500; line-height: 1; text-align: right; }
.payment-choice-card__amount small{ font-family: var(--rf-sans); font-size: 8px; font-weight: 800; }
.payment-choice-card .thank-paypal{ margin-top: 14px; }
.payment-choice-card #paypal-button-container{ min-height: 44px; }
.payment-choice-card .payment-actions__cash{ width: 100%; min-height: 48px; margin-top: 14px; }
.payment-actions--secondary{ justify-content: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rf-line); }
.payment-actions--secondary .btn{ min-height: 38px; color: var(--rf-muted); font-size: 10px; }
.payment-actions__status{ min-height: 18px; margin-top: 8px; text-align: center; }
.thank-cash-note strong{ display: block; margin-top: 4px; color: var(--rf-navy); }
.thank-cash-note p{ margin-bottom: 0; }
.thank-support,
.meeting-box{ margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--rf-line); }
.thank-support{ display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.thank-support__copy > strong{ display: block; margin-top: 5px; color: var(--rf-navy); font-family: var(--rf-serif); font-size: 23px; font-weight: 500; }
.thank-support__copy p{ margin: 6px 0 0; color: var(--rf-muted); font-size: 12px; }
.meeting-box__head{ display: flex; justify-content: space-between; gap: 18px; }
.meeting-box__head h3{ margin: 4px 0 0; font-size: 27px; }
.meeting-box__lead{ max-width: 310px; margin: 0; color: var(--rf-muted); font-size: 12px; }
.meeting-point-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 19px; }
.meeting-point-card{ min-width: 0; overflow: hidden; border: 1px solid var(--rf-line); border-radius: 4px; }
.meeting-point-card__image{ min-height: 170px; background: var(--rf-surface-soft); }
.meeting-point-card__image img{ width: 100%; height: 100%; min-height: 170px; object-fit: cover; }
.meeting-point-card__body{ padding: 15px; }
.meeting-point-card__body strong{ display: block; margin-top: 4px; }
.meeting-point-card__body p,
.meeting-identification{ color: var(--rf-muted); font-size: 11px; }

.thank-receipt__head{ display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.thank-receipt__mark{ display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--rf-line); border-radius: 3px; }
.thank-receipt__status{ color: var(--rf-muted); font-size: 10px; }
.thank-receipt__amount{ display: flex; justify-content: space-between; gap: 16px; align-items: end; margin-top: 18px; padding-block: 16px; border-block: 1px solid var(--rf-line); }
.thank-receipt__amount strong{ font-family: var(--rf-serif); font-size: 28px; font-weight: 500; }
.thank-receipt__meta{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 14px; }
.thank-receipt__meta div{ display: grid; min-width: 0; }
.thank-receipt__meta span{ color: var(--rf-muted); font-size: 10px; }
.thank-receipt__includes,
.thank-receipt__feedback{ color: var(--rf-muted); font-size: 11px; }

/* Optional post-booking experiences. */
.thank-card--dinner{ margin-top: 22px; }
.thank-dinner-form,
.thank-tour-inline__form{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.thank-dinner-field,
.thank-tour-inline__field{ grid-column: span 4; display: grid; min-width: 0; gap: 6px; }
.thank-dinner-note,
.thank-tour-inline__fields,
.thank-tour-inline__payment,
.thank-dinner-actions,
.thank-dinner-status{ grid-column: 1 / -1; }
.thank-dinner-request-summary,
.thank-dinner-payment,
.thank-tour-inline__quote,
.thank-tour-inline__complete{ grid-column: 1 / -1; padding: 16px; border: 1px solid var(--rf-line); background: #f3ede4; }
.thank-dinner-payment__grid,
.thank-dinner-payment-methods{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }

/* Thank-you private tours — an editorial extension of the confirmed trip. */
.thank-tour-promo{
  min-width: 0;
  margin-top: 22px;
  padding: 30px;
  border: 1px solid var(--rf-line-strong);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(13,48,69,.07);
}
.thank-tour-promo__head{
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(220px,.58fr);
  gap: 28px;
  align-items: end;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--rf-line-strong);
}
.thank-tour-promo .thank-upsell__head{ display: block; min-width: 0; }
.thank-tour-promo .thank-upsell__eyebrow,
.thank-tour-card__eyebrow{
  display: block;
  color: var(--rf-accent-dark);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.35;
  text-transform: uppercase;
}
.thank-tour-promo .thank-upsell__head h2{
  max-width: 520px;
  margin: 7px 0 9px;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: clamp(34px,3.3vw,43px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1;
}
.thank-tour-promo .thank-upsell__head p{
  max-width: 590px;
  margin: 0;
  color: var(--rf-muted);
  font-size: 11.5px;
  line-height: 1.65;
}
.thank-tour-promo__promise{
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 11px;
  min-width: 0;
  padding: 15px 0 15px 17px;
  border-left: 2px solid var(--rf-accent);
}
.thank-tour-promo__promise-mark,
.thank-tour-inline__complete-mark{
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #edf3ee;
  color: var(--rf-success);
  font-size: 12px;
  font-weight: 900;
}
.thank-tour-promo__promise strong,
.thank-tour-promo__promise small{ display: block; }
.thank-tour-promo__promise strong{ color: var(--rf-navy); font-size: 10.5px; line-height: 1.35; }
.thank-tour-promo__promise small{ margin-top: 4px; color: var(--rf-muted); font-size: 9.5px; line-height: 1.5; }
.thank-tour-promo__grid{ display: grid; grid-template-columns: minmax(0,1fr); gap: 15px; margin-top: 22px; }
.thank-tour-card{
  display: grid;
  grid-template-columns: minmax(235px,.82fr) minmax(0,1.18fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--rf-line);
  border-radius: 6px;
  background: var(--rf-surface);
  transition: border-color .2s ease, transform .2s ease;
}
.thank-tour-card.is-added{ border-color: rgba(63,102,81,.45); }
.thank-tour-card__image{ position: relative; min-width: 0; min-height: 272px; overflow: hidden; background: var(--rf-surface-soft); }
.thank-tour-card__image::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(8,38,58,.03) 42%,rgba(8,38,58,.38) 100%);
  pointer-events: none;
}
.thank-tour-card__image picture{ position: absolute; inset: 0; display: block; }
.thank-tour-card__image img{ position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .45s ease; }
.thank-tour-card__duration,
.thank-tour-card__added-badge{
  position: absolute;
  z-index: 1;
  top: 14px;
  left: 14px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 3px;
  background: rgba(8,38,58,.78);
  color: #fff;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}
.thank-tour-card__added-badge{ right: 14px; left: auto; background: rgba(63,102,81,.9); }
.thank-tour-card__body{ display: flex; min-width: 0; flex-direction: column; padding: 23px 24px 21px; }
.thank-tour-card__body h3{
  margin: 7px 0 8px;
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: clamp(25px,2.3vw,31px);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.02;
}
.thank-tour-card__body > p{ margin: 0; color: var(--rf-muted); font-size: 10.5px; line-height: 1.6; }
.thank-tour-card__detail{
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 10px;
  align-items: baseline;
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid var(--rf-line);
}
.thank-tour-card__detail span{ color: var(--rf-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.thank-tour-card__detail strong{ min-width: 0; color: var(--rf-navy); font-size: 9.5px; text-align: right; }
.thank-tour-card__offer{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 15px;
  align-items: end;
  margin-top: auto;
  padding-top: 17px;
}
.thank-tour-card__price{ display: grid; min-width: 0; color: var(--rf-navy); }
.thank-tour-card__price > span,
.thank-tour-card__price > small{ color: var(--rf-muted); font-size: 8px; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.thank-tour-card__price > strong{ font-family: var(--rf-serif); font-size: 20px; font-weight: 600; line-height: 1.05; }
.thank-tour-card__price > strong small{ font-family: var(--rf-sans); font-size: 8px; font-weight: 800; letter-spacing: .05em; }
.thank-tour-card__cta{
  display: inline-flex;
  min-width: 0;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 10px 15px;
  border: 1px solid var(--rf-accent);
  border-radius: 5px;
  background: var(--rf-accent);
  color: #fff;
  font: 800 9px/1.2 var(--rf-sans);
  letter-spacing: .035em;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.thank-tour-card__cta > span:last-child{ font-size: 15px; line-height: 1; transition: transform .18s ease; }
.thank-tour-card__cta:focus-visible,
.thank-tour-inline :where(button,input,a):focus-visible,
.thank-tour-promo__concierge:focus-visible{ outline: 3px solid rgba(189,84,53,.24); outline-offset: 3px; }
.thank-tour-card__saved{
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(63,102,81,.3);
  border-radius: 4px;
  background: #f3f7f3;
}
.thank-tour-card__saved[hidden]{ display: none !important; }
.thank-tour-card__saved-head{ display: flex; gap: 7px; align-items: center; color: var(--rf-success); font-size: 10px; }
.thank-tour-card__saved-grid{ display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px 12px; margin-top: 11px; }
.thank-tour-card__saved-grid div{ display: grid; min-width: 0; gap: 2px; }
.thank-tour-card__saved-grid span{ color: var(--rf-muted); font-size: 8px; text-transform: uppercase; }
.thank-tour-card__saved-grid strong{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-navy); font-size: 9px; }
.thank-tour-card__saved-payment{ margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(63,102,81,.22); color: var(--rf-success); font-size: 9px; font-weight: 800; }
.thank-tour-promo__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 21px;
  padding-top: 18px;
  border-top: 1px solid var(--rf-line-strong);
  color: var(--rf-muted);
  font-size: 10px;
}
.thank-tour-promo__concierge{ color: var(--rf-navy); font-size: 10px; font-weight: 800; text-decoration: none; }
.thank-tour-promo__concierge span{ display: inline-block; margin-left: 5px; color: var(--rf-accent); transition: transform .18s ease; }

/* Inline tour reservation keeps the same behavior with a clearer hierarchy. */
.thank-tour-inline{
  position: relative;
  min-width: 0;
  margin-top: 22px;
  padding: 24px;
  border: 1px solid var(--rf-line-strong);
  border-left: 3px solid var(--rf-accent);
  border-radius: 6px;
  background: #faf7f1;
}
.thank-tour-inline__close{
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--rf-line);
  border-radius: 50%;
  background: #fff;
  color: var(--rf-navy);
  font-size: 22px;
  cursor: pointer;
}
.thank-tour-inline__intro{ min-width: 0; padding-right: 48px; }
.thank-tour-inline__intro h3{ margin: 6px 0; color: var(--rf-navy); font-size: 29px; font-weight: 500; line-height: 1.05; }
.thank-tour-inline__intro p{ max-width: 620px; margin: 0; color: var(--rf-muted); font-size: 10.5px; line-height: 1.6; }
.thank-tour-inline__form{ margin-top: 18px; }
.thank-tour-inline__known{ grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--rf-line); border-radius: 4px; background: var(--rf-line); }
.thank-tour-inline__known div{ display: grid; min-width: 0; gap: 3px; padding: 12px 14px; background: #fff; }
.thank-tour-inline__known span{ color: var(--rf-muted); font-size: 8px; letter-spacing: .07em; text-transform: uppercase; }
.thank-tour-inline__known strong{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-navy); font-size: 10px; }
.thank-tour-inline__fields{ grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.thank-tour-inline__field{ grid-column: auto; gap: 7px; }
.thank-tour-inline__field > span,
.thank-tour-inline__field label{ color: var(--rf-navy); font-size: 9px; font-weight: 800; }
.thank-tour-inline__stepper{ display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; min-width: 0; min-height: 48px; overflow: hidden; border: 1px solid var(--rf-line-strong); border-radius: 5px; background: #fff; }
.thank-tour-inline__stepper button{ min-height: 46px; border: 0; background: transparent; color: var(--rf-navy); font-size: 18px; cursor: pointer; }
.thank-tour-inline__stepper input{ width: 100%; min-width: 0; min-height: 46px; padding: 0 5px; border-width: 0 1px; border-style: solid; border-color: var(--rf-line); border-radius: 0; background: transparent; color: var(--rf-navy); font-weight: 800; text-align: center; appearance: textfield; }
.thank-tour-inline__stepper input::-webkit-inner-spin-button,
.thank-tour-inline__stepper input::-webkit-outer-spin-button{ margin: 0; appearance: none; }
.thank-tour-inline__quote{ display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 16px; align-items: center; padding: 15px 0; border-width: 1px 0; background: transparent; }
.thank-tour-inline__quote > span{ color: var(--rf-muted); font-size: 9px; text-transform: uppercase; }
.thank-tour-inline__quote > strong{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 23px; font-weight: 600; text-align: right; }
.thank-tour-inline__quote > small{ grid-column: 1 / -1; color: var(--rf-muted); font-size: 8.5px; }
.thank-tour-inline__payment,
.thank-tour-inline__complete{ min-width: 0; padding: 20px; border: 1px solid var(--rf-line); border-radius: 5px; background: #fff; }
.thank-tour-inline__payment-head{ display: flex; gap: 12px; align-items: flex-start; }
.thank-tour-inline__payment-head h3,
.thank-tour-inline__complete h3{ margin: 4px 0; color: var(--rf-navy); font-size: 26px; font-weight: 500; }
.thank-tour-inline__payment-head p,
.thank-tour-inline__complete p{ margin: 4px 0 0; color: var(--rf-muted); font-size: 10px; }
.thank-tour-inline__payment-summary,
.thank-tour-inline__complete-summary{ display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 16px; overflow: hidden; border: 1px solid var(--rf-line); background: var(--rf-line); }
.thank-tour-inline__payment-summary div,
.thank-tour-inline__complete-summary div{ display: grid; min-width: 0; gap: 3px; padding: 12px; background: #faf7f1; }
.thank-tour-inline__payment-summary span,
.thank-tour-inline__complete-summary span{ color: var(--rf-muted); font-size: 8px; text-transform: uppercase; }
.thank-tour-inline__payment-summary strong,
.thank-tour-inline__complete-summary strong{ min-width: 0; overflow-wrap: anywhere; color: var(--rf-navy); font-size: 9.5px; }
.thank-tour-inline__complete-reference{ display: block; margin-top: 12px; color: var(--rf-accent-dark); font-size: 10px; }
.thank-tour-inline__complete-pickup{ grid-column: span 2; }
.thank-tour-inline__cancel{ border: 0; background: transparent; color: var(--rf-muted); box-shadow: none; }
.thank-tour-inline__error,
.thank-tour-inline__cancel-status{ min-height: 0; color: var(--rf-error); font-size: 10px; }
.thank-tour-inline[hidden],
.thank-dinner-form[hidden],
.thank-dinner-saved[hidden]{ display: none !important; }

@media (hover:hover){
  .thank-tour-card:hover{ border-color: var(--rf-line-strong); transform: translateY(-2px); }
  .thank-tour-card:hover .thank-tour-card__image img{ transform: scale(1.025); }
  .thank-tour-card__cta:hover{ border-color: var(--rf-accent-dark); background: var(--rf-accent-dark); }
  .thank-tour-card__cta:hover > span:last-child,
  .thank-tour-promo__concierge:hover span{ transform: translateX(3px); }
}
.thank-tour-card__cta:active{ transform: translateY(1px); }

@media (max-width:767px){
  .thank-tour-promo{ margin-top: 18px; padding: 21px; }
  .thank-tour-promo__head{ grid-template-columns: minmax(0,1fr); gap: 18px; padding-bottom: 20px; }
  .thank-tour-promo .thank-upsell__head h2{ max-width: 330px; font-size: clamp(34px,10.5vw,42px); }
  .thank-tour-promo .thank-upsell__head p{ font-size: 11px; }
  .thank-tour-promo__promise{ padding-block: 11px; }
  .thank-tour-promo__grid{ gap: 14px; margin-top: 18px; }
  .thank-tour-card{ grid-template-columns: minmax(0,1fr); }
  .thank-tour-card__image{ min-height: 235px; aspect-ratio: 4 / 3; }
  .thank-tour-card__image img{ min-height: 0; }
  .thank-tour-card__body{ padding: 20px; }
  .thank-tour-card__body h3{ font-size: 28px; }
  .thank-tour-card__offer{ grid-template-columns: minmax(0,1fr); gap: 13px; margin-top: 3px; }
  .thank-tour-card__cta{ width: 100%; min-height: 48px; justify-content: space-between; }
  .thank-tour-card__saved-grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .thank-tour-promo__footer{ align-items: flex-start; flex-direction: column; gap: 7px; }
  .thank-tour-inline{ margin-top: 18px; padding: 20px; }
  .thank-tour-inline__intro{ padding-right: 42px; }
  .thank-tour-inline__intro h3{ font-size: 27px; }
  .thank-tour-inline__known,
  .thank-tour-inline__fields,
  .thank-tour-inline__payment-summary,
  .thank-tour-inline__complete-summary{ grid-template-columns: minmax(0,1fr); }
  .thank-tour-inline__complete-pickup{ grid-column: auto; }
  .thank-tour-inline__quote{ grid-template-columns: minmax(0,1fr); }
  .thank-tour-inline__quote > strong{ text-align: left; }
  .thank-tour-inline__quote > small{ grid-column: 1; }
  .thank-tour-inline__actions,
  .thank-tour-inline__payment-actions,
  .thank-tour-inline__complete-actions{ display: grid; grid-template-columns: minmax(0,1fr); }
  .thank-tour-inline__actions .btn,
  .thank-tour-inline__payment-actions .btn,
  .thank-tour-inline__complete-actions .btn{ width: 100%; }
}

/* Tablet */
@media (max-width: 1179px){
  #booking.acw .veh-grid{ grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1023px){
  #booking.acw .acw-shell{ grid-template-columns: 1fr; gap: 32px; }
  #booking.acw .acw-summary{ position: static; align-self: auto; }
  #booking.acw .acw-summary-card{ position: static; top: auto; }
  #booking.acw .acw-summary-card{ padding: 24px; border: 1px solid var(--rf-line); }
  #booking.acw .acw-summary-card > .card-inner{ display: block; }
  .review-intro,
  .review-grid,
  .thank-layout{ grid-template-columns: 1fr; }
  .review-col--summary,
  .thank-layout__sidebar{ position: static; }
  .thank-layout__sidebar{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .thank-layout__sidebar > :first-child{ grid-column: 1 / -1; }
  .thank-layout--payment-pending .thank-layout__main,
  .thank-layout--payment-pending .thank-layout__sidebar{ display: contents; }
  .thank-layout--payment-pending .thank-hero__left{ order: 1; }
  .thank-layout--payment-pending .thank-card--payment{ order: 2; }
  .thank-layout--payment-pending .thank-hero__right{ order: 3; }
  .thank-layout--payment-pending .thank-card--next{ order: 4; }
  .thank-layout--payment-pending .thank-card--receipt{ order: 5; }
}

@media (max-width: 1100px){
  #booking.acw .airport-select-control{
    position: relative;
    min-height: 52px;
  }
  #booking.acw .airport-select-control select{
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 52px;
    opacity: 0;
    cursor: pointer;
  }
  #booking.acw .airport-select-display{
    display: flex;
    min-height: 52px;
    align-items: center;
    padding: 8px 44px 8px 14px;
    border: 1px solid var(--rf-line-strong);
    border-radius: 10px;
    background: var(--rf-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E") calc(100% - 14px) 50% / 18px no-repeat;
    color: var(--rf-ink);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: anywhere;
    white-space: normal;
    pointer-events: none;
  }
  #booking.acw .airport-select-control select:focus-visible + .airport-select-display{
    outline: 3px solid var(--rf-focus);
    outline-offset: 3px;
  }
}

@media (max-width: 899px){
  #booking.acw,
  #booking.acw :where(button, input, select, textarea, label, [role="button"]){
    touch-action: manipulation;
  }
  #booking.acw .ac-booking-card--service,
  #booking.acw .ac-booking-card--service .field{
    min-width: 0;
    width: 100%;
  }
  #booking.acw #service_type{
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 10px 46px 10px 14px;
    border-color: var(--rf-line-strong);
    border-radius: 10px;
    appearance: none;
    -webkit-appearance: none;
    background-color: var(--rf-surface);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 14px) 50%;
    background-size: 18px;
    color: var(--rf-navy);
    font-size: 16px;
    font-weight: 650;
    line-height: 1.3;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: border-color .18s ease, background-color .18s ease;
  }
  #booking.acw #service_type:active{
    border-color: rgba(11, 48, 71, .42);
    background-color: #fff;
  }
  #booking.acw .field.invalid #service_type{
    border-color: var(--rf-error);
    background-color: #fff7f4;
  }
  #booking.acw .acw-main{ padding: 24px; }
  #booking.acw .ac-route-row--primary,
  #booking.acw .ac-route-row--destination,
  #booking.acw .ac-route-group__grid--schedule,
  #booking.acw .ac-booking-card--return .wgrid--nested{
    grid-template-columns: minmax(0, 1fr);
  }
  #booking.acw .ac-route-primary-left{
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  #booking.acw .ac-route-row,
  #booking.acw .ac-route-group__grid--schedule,
  #booking.acw .ac-booking-card--return .wgrid--nested{ gap: 18px; }
  #booking.acw .ac-route-row--destination{ padding-top: 18px; }
  #booking.acw .ac-booking-card,
  #booking.acw .ac-booking-card--passengers{ width: 100%; }
  #booking.acw .ac-booking-card--passengers .qty-stepper{ width: min(160px, 100%); }
}

@media (min-width: 768px) and (max-width: 1023px){
  .payment-choice-grid:not(.payment-choice-grid--single){ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Mobile */
@media (max-width: 767px){
  .ac-booking-overlap{ margin-top: -32px; }
  #availability.section{ padding: 44px 0 60px; }
  .ac-booking-overlap #availability.section{ padding-top: 20px; }
  #availability > .container,
  body.page-review main > .container,
  body.page-thank main > .container{ width: min(calc(100% - 24px), 1180px); }
  #booking.acw .acw-progress{ gap: 11px; }
  #booking.acw .acw-main{ padding: 18px; border-radius: 16px; }
  #booking.acw .booking-assurance{ gap: 7px 15px; margin-bottom: 24px; padding-block: 12px; font-size: 10px; }
  .payment-unavailable{ padding-right: 58px; }
  #booking.acw .acw-steps{ margin-bottom: 28px; }
  #booking.acw .wstep{ min-height: 56px; gap: 7px; padding-inline: 5px; font-size: 10.5px; line-height: 1.25; }
  #booking.acw .wstep__num{ flex-basis: 24px; width: 24px; height: 24px; }
  #booking.acw .wtitle{ font-size: clamp(36px, 11vw, 46px); }
  #booking.acw .wsub{ margin-bottom: 26px; font-size: 13px; }
  #booking.acw .acw-route{ gap: 20px; }
  #booking.acw .ac-route-group__heading{ margin-bottom: 20px; padding-bottom: 16px; }
  #booking.acw .ac-route-group__heading h4{ font-size: 28px; }
  #booking.acw .ac-route-group__heading p,
  #booking.acw .ac-schedule-heading p{ font-size: 11px; }
  #booking.acw .ac-route-group__grid--journey,
  #booking.acw .ac-route-primary-left,
  #booking.acw .ac-route-row,
  #booking.acw .ac-route-group__grid--schedule,
  #booking.acw .ac-booking-card--return .wgrid--nested{ gap: 16px; }
  #booking.acw .ac-route-row--destination{ padding-top: 18px; }
  #booking.acw .ac-route-group--schedule{ padding-top: 20px; }
  #booking.acw .ac-schedule-heading{ margin-bottom: 15px; }
  #booking.acw .ac-schedule-heading h4{ font-size: 24px; }
  #booking.acw .acw-route > .wactions{ grid-template-columns: minmax(0, 1fr); gap: 9px; padding: 12px; }
  #booking.acw .acw-route > .wactions > span{ display: grid; }
  #booking.acw .ac-transfer-search{ width: 100%; min-width: 0; }
  #booking.acw .veh-grid{ grid-template-columns: 1fr; gap: 13px; }
  #booking.acw .veh{ grid-template-columns: minmax(124px, 40%) minmax(0, 1fr); min-height: 0; align-items: stretch; }
  #booking.acw .veh__media{ width: 100%; height: 100%; min-height: 0; aspect-ratio: 4 / 5; border-right: 1px solid var(--rf-line); border-bottom: 0; background-size: cover !important; }
  #booking.acw .veh[data-veh="suburban"] .veh__media{ background-image: url("../../../uploads/vehicles/suburban-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .veh[data-veh="escalade-navigator"] .veh__media{ background-image: url("../../../uploads/vehicles/escalade-navigator-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .veh[data-veh="suburban2"] .veh__media{ background-image: url("../../../uploads/vehicles/suburban2-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .veh[data-veh="mini-van"] .veh__media{ background-image: url("../../../uploads/vehicles/mini-van-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .veh[data-veh="van"] .veh__media{ background-image: url("../../../uploads/vehicles/van-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .veh[data-veh="max-van"] .veh__media{ background-image: url("../../../uploads/vehicles/max-van-wizard-mobile-20260802-v3.webp") !important; }
  #booking.acw .acw-panel[data-step="2"] > .wtitle{ font-size: clamp(34px, 9.5vw, 42px); line-height: 1; }
  #booking.acw .acw-panel[data-step="2"] > .wsub{ max-width: 32ch; margin: 10px 0 22px; font-size: 12.5px; line-height: 1.5; }
  #booking.acw .veh__body{ grid-template-columns: minmax(0, 1fr); gap: 6px; align-content: center; padding: 14px 15px; }
  #booking.acw .veh__name{ font-size: 20px; letter-spacing: -.018em; line-height: 1.08; }
  #booking.acw .veh__meta{ grid-column: 1; min-height: 0; color: var(--rf-muted); font-size: 10.5px; font-weight: 650; line-height: 1.4; }
  #booking.acw .veh__hint{ grid-column: 1; grid-row: auto; justify-items: start; width: 100%; min-width: 0; margin-top: 4px; padding: 8px 0 0; border: 0; border-top: 1px solid rgba(13,48,69,.12); font-size: 17px; line-height: 1.1; text-align: left; }
  #booking.acw .veh__hint::before{ content: "Trip total"; margin-bottom: 3px; font-size: 8.5px; letter-spacing: .08em; }
  #booking.acw .veh__price-line{ display: flex; flex-wrap: wrap; gap: 3px 5px; align-items: baseline; }
  #booking.acw .vehOriginalPrice{ margin-right: 0; font-size: 9.5px; }
  #booking.acw .vehPromo{ margin-top: 3px; font-size: 8px; letter-spacing: .06em; line-height: 1.2; }
  #booking.acw .veh__selected{ top: 8px; left: 8px; min-height: 27px; padding-inline: 8px; font-size: 7.5px; }
  #booking.acw .acw-panel[data-step="2"] > .wactions{ display: grid; grid-template-columns: minmax(84px, .65fr) minmax(0, 1.35fr); padding: 16px 0 0; }
  #booking.acw .acw-panel[data-step="2"] > .wactions .btn--primary{ justify-self: stretch; min-width: 0; padding-inline: 10px; }
  #booking.acw .roundtrip-upsell{ grid-template-columns: 1fr; gap: 0; padding: 0; }
  #booking.acw .roundtrip-upsell__copy{ padding: 17px; }
  #booking.acw .roundtrip-upsell__pricing{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  #booking.acw .roundtrip-upsell__price + .roundtrip-upsell__price{ padding-left: 14px; }
  #booking.acw .roundtrip-upsell__meta{ justify-items: stretch; padding: 15px 17px 17px; border-top: 1px solid var(--rf-line); border-left: 0; }
  #booking.acw .contact-details__heading{ display: block; }
  #booking.acw .contact-methods{ grid-template-columns: 1fr; }
  #booking.acw .wactions .btn{ flex: 1 1 0; }
  #booking.acw .acw-contact-actions{ display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
  #booking.acw .cta #submitBtn{ width: 100%; min-width: 0; }

  #booking.acw .datetime-control > label{ grid-column: 1; grid-row: 1; }
  #booking.acw .datetime-control > :where(input[type="date"], input[type="time"]){
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: 100%;
    min-height: 52px;
    padding: 0;
    opacity: 0;
    cursor: pointer;
  }
  #booking.acw .datetime-display{
    display: flex;
    z-index: 1;
    grid-column: 1;
    grid-row: 2;
    min-width: 0;
    min-height: 52px;
    align-items: center;
    padding: 11px 44px 11px 13px;
    border: 1px solid var(--rf-line-strong);
    border-radius: 10px;
    background: var(--rf-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.25' y='4.5' width='13.5' height='12' rx='1.5'/%3E%3Cpath d='M6.5 2.75v3.5m7-3.5v3.5M3.25 8h13.5'/%3E%3C/svg%3E") calc(100% - 14px) 50% / 18px no-repeat;
    color: var(--rf-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal;
    pointer-events: none;
  }
  #booking.acw :is(#field_pickup_time, #field_return_time) .datetime-display{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M10 6v4.25l2.75 1.75'/%3E%3C/svg%3E");
  }
  #booking.acw .datetime-control > :where(input[type="date"], input[type="time"]):focus-visible + .datetime-display{
    outline: 3px solid var(--rf-focus);
    outline-offset: 3px;
  }

  body.hotel-picker-open{ overflow: hidden !important; }
  #booking.acw #hotel_search{
    font-size: 16px;
    touch-action: manipulation;
  }
  #booking.acw #field_hotel_search.has-selection #hotel_selected{
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
  }
  #booking.acw #field_hotel_search.has-selection #hotel_clear_btn{
    align-self: start;
    justify-self: start;
  }
  #booking.acw .field.search.is-mobile-picker{ position: fixed; z-index: 5000; inset: 0; display: flex; width: 100vw; max-width: none; min-height: 100vh; height: 100dvh; overflow: hidden; overscroll-behavior: contain; flex-direction: column; padding: max(15px, env(safe-area-inset-top)) 15px max(15px, env(safe-area-inset-bottom)); background: var(--rf-paper); }
  #booking.acw .field.search.is-mobile-picker > label{ display: none; }
  #booking.acw .field.search.is-mobile-picker .hotel-picker__mobile-head{ display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; padding-bottom: 13px; border-bottom: 1px solid var(--rf-line); }
  #booking.acw .hotel-picker__mobile-head div{ display: grid; }
  #booking.acw .hotel-picker__mobile-head span{ color: var(--rf-accent-dark); font-size: 10px; font-weight: 800; }
  #booking.acw .hotel-picker__mobile-head strong{ color: var(--rf-navy); font-family: var(--rf-serif); font-size: 24px; font-weight: 500; }
  #booking.acw .hotel-picker__close{ display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border: 1px solid var(--rf-line-strong); border-radius: 10px; background: transparent; color: var(--rf-navy); font-size: 24px; }
  #booking.acw .field.search.is-mobile-picker #hotel_search{ flex: 0 0 auto; font-size: 16px; scroll-margin: 0; }
  #booking.acw .field.search.is-mobile-picker .search-results{ position: static; display: block; flex: 1 1 auto; max-height: none; margin-top: 11px; border: 0; border-top: 1px solid var(--rf-line); box-shadow: none; }
  #booking.acw .field.search.is-mobile-picker .help{ flex: 0 0 auto; }

  body.page-review main.section,
  body.page-thank main.section{ padding: 42px 0 72px; }
  .review-intro{ gap: 24px; }
  .review-intro h1{ font-size: clamp(40px, 12vw, 52px); }
  .review-intro__meta{ grid-template-columns: 1fr 1fr; }
  .review-intro{ padding: 21px; }
  .review-intro__side{ padding: 15px; }
  .review-card .card-inner,
  body.page-review main .card-inner,
  body.page-thank main .card-inner,
  .thank-hero__left{ padding: 20px; }
  body.page-review main .row--two,
  .thank-layout__sidebar,
  .thank-kpis,
  .thank-itinerary__grid,
  .thank-next-grid,
  .meeting-point-grid,
  .thank-dinner-payment__grid,
  .thank-dinner-payment-methods,
  .thank-tour-promo__grid,
  .thank-tour-card__saved-grid,
  .thank-tour-inline__fields{ grid-template-columns: 1fr; }
  .thank-layout__sidebar > :first-child{ grid-column: auto; }
  .thank-hero__header,
  .thank-card__head,
  .receipt-head,
  .thank-itinerary__head,
  .thank-support,
  .meeting-box__head,
  .thank-upsell__head{ align-items: flex-start; flex-direction: column; }
  .thank-hero__left > h1{ font-size: clamp(40px, 12vw, 50px); }
  .thank-kpi{ border-right: 0; border-bottom: 1px solid var(--rf-line); }
  .thank-leg,
  .thank-next-step{ border-right: 0; }
  .summary-item{ grid-template-columns: 1fr; gap: 4px; }
  .summary-item strong{ text-align: left; }
  .review-summary{ padding: 20px; }
  .review-summary .summary-item{ grid-template-columns: 1fr; gap: 4px; }
  .review-summary .summary-item strong{ text-align: left; }
  .review-summary .summary-item--total{ grid-template-columns: auto minmax(0, 1fr); align-items: baseline; }
  .review-summary .summary-item--total strong{ text-align: right; }
  .thank-receipt__head{ grid-template-columns: auto 1fr; }
  .thank-receipt__status{ grid-column: 1 / -1; }
  .payment-choice-card{ padding: 16px; }
  .payment-choice-card h3{ font-size: 21px; }
  .thank-dinner-form,
  .thank-tour-inline__form{ grid-template-columns: 1fr; }
  .thank-dinner-field,
  .thank-tour-inline__field,
  .thank-dinner-note,
  .thank-tour-inline__fields,
  .thank-tour-inline__payment,
  .thank-dinner-actions,
  .thank-dinner-status,
  .thank-dinner-request-summary,
  .thank-dinner-payment,
  .thank-tour-inline__quote,
  .thank-tour-inline__complete{ grid-column: 1; }
  .extra-head{ display: none; }
  .extra-row{ grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; padding: 13px 0; }
  .extra-row > :first-child{ grid-column: 1 / -1; }
  .extra-row > [data-label]{ display: grid; gap: 3px; justify-items: start; text-align: left; }
  .extra-row > [data-label]::before{ content: attr(data-label); color: var(--rf-muted); font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .extra-row > [data-label="Qty"]{ justify-self: end; }
  .extra-item{ grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .extra-item__thumb{ width: 76px; height: 76px; }
  .extra-item .extra-qty{ grid-column: 2; }
}

@media (max-width: 390px){
  #availability > .container,
  body.page-review main > .container,
  body.page-thank main > .container{ width: min(calc(100% - 22px), 1180px); }
  #booking.acw .wstep > span:last-child{ max-width: 62px; }
  #booking.acw .veh{ grid-template-columns: minmax(112px, 40%) minmax(0, 1fr); }
  #booking.acw .veh__media{ width: 100%; }
  .review-intro__meta{ grid-template-columns: 1fr; }
  .thank-actions,
  .payment-actions,
  .thank-receipt__actions{ display: grid; }
  .thank-actions .btn,
  .payment-actions .btn,
  .thank-receipt__actions .btn{ width: 100%; }
}

@media (prefers-reduced-motion: reduce){
  #booking.acw *, #booking.acw *::before, #booking.acw *::after,
  body.page-review main *, body.page-review main *::before, body.page-review main *::after,
  body.page-thank main *, body.page-thank main *::before, body.page-thank main *::after{
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* ========================================================================== 
   AIRPORTCABO character layer
   One visual voice across the complete public experience.
   ========================================================================== */

:root{
  --ac-paper: #f7f1e8;
  --ac-white: #fffdf9;
  --ac-ink: #17242c;
  --ac-navy: #0b3047;
  --ac-navy-deep: #08263a;
  --ac-clay: #bd5435;
  --ac-clay-dark: #913a25;
  --ac-sand: #d8c2a7;
  --ac-sand-soft: #eee2d3;
  --ac-line: rgba(11, 48, 71, .17);
  --ac-line-strong: rgba(11, 48, 71, .36);
  --ac-character-shadow: 0 22px 52px rgba(8, 38, 58, .09);
  --rf-paper: var(--ac-paper);
  --rf-surface: var(--ac-white);
  --rf-surface-soft: var(--ac-sand-soft);
  --rf-ink: var(--ac-ink);
  --rf-navy: var(--ac-navy);
  --rf-accent: var(--ac-clay);
  --rf-accent-dark: var(--ac-clay-dark);
  --rf-line: rgba(11, 48, 71, .18);
  --rf-line-strong: rgba(11, 48, 71, .42);
}

body:not(.cabo-admin-ui){
  background-color: var(--ac-paper);
  background-image:
    radial-gradient(circle at 8% 4%, rgba(189, 84, 53, .055), transparent 26rem),
    radial-gradient(circle at 94% 16%, rgba(11, 48, 71, .045), transparent 30rem);
  background-attachment: fixed;
}

body:not(.cabo-admin-ui) main{ position: relative; }
body:not(.cabo-admin-ui) ::selection{ background: rgba(189, 84, 53, .22); color: var(--ac-navy-deep); }

/* A recognizable header: quiet, architectural and clearly branded. */
.ac-utility{ background: var(--ac-navy-deep); }
.ac-nav-shell{
  border-bottom: 1px solid var(--ac-line);
  background: rgba(247, 241, 232, .965);
  backdrop-filter: blur(16px) saturate(115%);
}
.ac-wordmark{ position: relative; }
.ac-wordmark::after{
  content: "";
  position: absolute;
  right: -14px;
  bottom: 3px;
  width: 5px;
  height: 5px;
  background: var(--ac-clay);
  transform: rotate(45deg);
}
.ac-desktop-nav a{ letter-spacing: .01em; }
.ac-header-book{ box-shadow: 5px 5px 0 rgba(11, 48, 71, .12); }
.ac-header-book:hover{ box-shadow: 2px 2px 0 rgba(11, 48, 71, .14); }

/* Editorial titles share a short terracotta signature instead of generic badges. */
.section-title > div:first-child,
.ac-section-heading,
.guest-reviews__heading,
.booking-intro__copy{ position: relative; }
.section-title > div:first-child::before,
.ac-section-heading::before,
.guest-reviews__heading::before,
.booking-intro__copy::before{
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin-bottom: 18px;
  background: var(--ac-clay);
}
.section-title h2,
.ac-section-heading h2,
.guest-reviews__heading h2{ letter-spacing: -.04em; }
.section-kicker,
.book-hero__eyebrow,
.tour-hero__eyebrow,
.review-hero__eyebrow,
.hero__eyebrow{
  color: var(--ac-clay-dark);
  font-weight: 750;
  letter-spacing: .035em;
}

/* Interior and home heroes use one asymmetric Cabo editorial frame. */
.hero{ position: relative; }
.ac-hero{
  position: relative;
  background:
    linear-gradient(112deg, rgba(255,255,255,.18), transparent 44%),
    #eadfce;
}
.hero::after,
.ac-hero::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(34vw, 440px);
  height: 1px;
  background: var(--ac-clay);
  opacity: .7;
}
.hero__copy h1,
.ac-hero h1,
.fleet-hero h1{ color: var(--ac-navy-deep); letter-spacing: -.045em; }
.hero__media,
.ac-hero__media,
.route-detail-hero__media,
.tour-detail-hero__media{
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 4px 34px 4px 4px;
  box-shadow: var(--ac-character-shadow);
}
.book-hero__assurance{
  border-color: var(--ac-line-strong);
  background: rgba(255,253,249,.66);
  box-shadow: 0 14px 38px rgba(8,38,58,.05);
}
.book-hero__assurance strong{ color: var(--ac-clay-dark); font-family: var(--ac-serif); font-size: 18px; }

/* Cards feel crafted rather than generated from one generic component. */
.card,
.mini-card,
.proof-card,
.step-card,
.included-card,
.route-card,
.veh-card,
.private-tour-card,
.tour-choice-card,
.act-review-card{
  border-color: var(--ac-line);
  border-radius: 10px 3px 10px 3px;
  background: rgba(255,253,249,.92);
}
.mini-card,
.proof-card,
.step-card,
.included-card{ position: relative; }
.mini-card::before,
.proof-card::before,
.step-card::before,
.included-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 2px;
  background: var(--ac-clay);
}
.route-card,
.veh-card,
.private-tour-card{ box-shadow: 0 12px 32px rgba(8,38,58,.055); }
.veh-card__media,
.private-tour-card__media{ border-radius: 9px 2px 0 0; }

.btn--primary:not(.ac-transfer-search),
.ac-btn--primary,
.ac-header-book,
.mobile-booking-cta__button{
  box-shadow: 4px 4px 0 rgba(11,48,71,.14);
}
.btn--primary:not(.ac-transfer-search):hover,
.ac-btn--primary:hover,
.mobile-booking-cta__button:hover{ box-shadow: 2px 2px 0 rgba(11,48,71,.16); }
.btn--outline{ background: rgba(255,253,249,.55); }

/* The wizard carries the same visual signature with one calm primary surface. */
#booking.acw .acw-main{
  position: relative;
  overflow: visible;
  border-color: var(--rf-line);
  border-radius: 16px;
  box-shadow: var(--rf-shadow);
}
#booking.acw .acw-main::before{
  display: none;
}
#booking.acw .acw-progress{
  border-left: 1px solid var(--rf-line);
  background: var(--rf-surface-soft);
}
#booking.acw .wstep__num{
  color: var(--rf-accent-dark);
  font-family: var(--rf-serif);
  font-size: 16px;
  font-weight: 700;
}
#booking.acw .wstep.is-active .wstep__num{ background: var(--rf-navy); color: #fff; }
#booking.acw .wtitle{ position: relative; letter-spacing: -.035em; }
#booking.acw .wtitle::after{
  display: none;
}
#booking.acw .wcard{
  border-color: var(--rf-line);
  border-radius: 8px 2px 8px 2px;
  background: #fffdf9;
}
#booking.acw .acw-panel[data-step="1"] .wcard{
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#booking.acw .veh{
  border-radius: 10px 3px 10px 3px;
  background: #fffdf9;
}
#booking.acw .veh__media{ border-bottom: 1px solid var(--rf-line); }
#booking.acw .veh:has(input:checked){
  background: #fff9f2;
  box-shadow: 0 0 0 2px rgba(189,84,53,.22), 0 18px 38px rgba(8,38,58,.13);
}
#booking.acw .acw-summary-card{
  overflow: hidden;
  border-color: var(--rf-line-strong);
  border-radius: 12px 3px 12px 3px;
  background: #fffdf9;
  box-shadow: var(--ac-character-shadow);
}
#booking.acw .acw-summary-card::before{
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 82px;
  height: 5px;
  background: var(--rf-accent);
}
#booking.acw .estimate__line--total{
  border-color: rgba(11,48,71,.42);
  background: linear-gradient(135deg, #efe4d5, #f7f1e8);
}

/* Review, payment and confirmation remain part of the same journey. */
body.page-review main .review-intro,
body.page-thank main .thank-hero__left,
body.page-thank main .thank-card{
  border-radius: 12px 3px 12px 3px;
}
body.page-review main .review-intro{ border-top: 4px solid var(--rf-accent); }
body.page-thank main .thank-hero__left{ border-top: 4px solid var(--rf-accent); }
.checkout-progress li.is-current > strong,
.checkout-progress li.is-complete > strong{ color: var(--rf-navy); }
.confirm-pill{ border-left: 3px solid var(--rf-accent); }

.ac-footer{
  position: relative;
  background:
    radial-gradient(circle at 82% 8%, rgba(189,84,53,.18), transparent 24rem),
    var(--ac-navy-deep);
}
.ac-footer::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(38vw, 520px);
  height: 4px;
  background: var(--ac-clay);
}

@media (max-width: 760px){
  body:not(.cabo-admin-ui){ background-attachment: scroll; }
  .ac-wordmark::after{ display: none; }
  .hero__media,
  .ac-hero__media,
  .route-detail-hero__media,
  .tour-detail-hero__media{ border-radius: 3px 22px 3px 3px; }
  #booking.acw .acw-summary-card::before{ width: 62px; }
}

/* Home conversion flow: price first, proof next, objections last. */
.ac-editorial-home .ac-hero h1{
  max-width: 720px;
  font-size: clamp(48px, 5.8vw, 82px);
  line-height: .94;
}
.ac-editorial-home .ac-hero__intro{ max-width: 610px; }
.ac-editorial-home .ac-benefits{ border-bottom-color: var(--ac-line-strong); }

.ac-home-proof{
  background: #f3eadf;
  border-block: 1px solid var(--ac-line);
}
.ac-home-proof__grid{
  display: grid;
  grid-template-columns: minmax(0,.82fr) minmax(360px,1.18fr);
  align-items: center;
  gap: clamp(42px,6vw,92px);
}
.ac-home-proof__summary h2,
.ac-home-faq__intro h2{
  margin: 15px 0 0;
  color: var(--ac-navy);
  font-family: var(--ac-serif);
  font-size: clamp(44px,5.4vw,72px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .96;
}
.ac-home-proof__summary h2 em,
.ac-home-faq__intro h2 em{ color: var(--ac-clay); font-weight: 400; }
.ac-home-proof__rating{
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
  padding: 9px 12px;
  border: 1px solid rgba(8,38,61,.12);
  border-radius: 4px;
  background: rgba(255,253,249,.76);
}
.ac-home-proof__rating img{ width: 118px; height: auto; }
.ac-tripadvisor-bubbles{ display: inline-flex; align-items: center; gap: 3px; }
.ac-tripadvisor-bubbles i{ display: block; width: 12px; height: 12px; border: 1px solid #00aa6c; border-radius: 50%; background: #00aa6c; box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.ac-home-proof__score{ display: inline-flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.ac-home-proof__score strong{ color: var(--ac-navy); font-size: 12px; }
.ac-home-proof__score small{ color: var(--ac-muted); font-size: 10px; }
.ac-home-proof__summary > a,
.ac-home-faq__intro > a{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 22px;
  color: var(--ac-navy);
  font-size: 13px;
  font-weight: 750;
  text-decoration: none;
}
.ac-home-proof__quote{
  position: relative;
  margin: 0;
  padding: clamp(28px,4vw,48px);
  border: 1px solid var(--ac-line-strong);
  border-radius: 12px 3px 12px 3px;
  background: rgba(255,253,249,.92);
  box-shadow: 0 18px 46px rgba(8,38,58,.07);
}
.ac-home-proof__quote::before{
  content: "“";
  position: absolute;
  top: 8px;
  right: 25px;
  color: rgba(189,84,53,.14);
  font-family: var(--ac-serif);
  font-size: 92px;
  line-height: 1;
}
.ac-home-proof__quote-bubbles i{ width: 14px; height: 14px; }
.ac-home-proof__quote > p{ position: relative; display: -webkit-box; overflow: hidden; margin: 20px 0 26px; color: var(--ac-navy); font-family: var(--ac-serif); font-size: clamp(24px,2.6vw,34px); line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.ac-home-proof__quote footer{ display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-top: 18px; border-top: 1px solid var(--ac-line); }
.ac-home-proof__traveler{ display: flex; min-width: 0; align-items: center; gap: 11px; }
.ac-home-proof__avatar{ display: grid; flex: 0 0 46px; width: 46px; height: 46px; overflow: hidden; place-items: center; border: 1px solid rgba(8,38,61,.12); border-radius: 50%; background: #e8dfd2; color: var(--ac-navy); font-family: var(--ac-serif); font-size: 18px; }
.ac-home-proof__avatar img{ width: 100%; height: 100%; object-fit: cover; }
.ac-home-proof__quote footer strong{ color: var(--ac-navy); font-size: 12px; }
.ac-home-proof__quote footer a,
.ac-home-proof__quote--empty > a{ color: var(--ac-clay-dark); font-size: 11px; font-weight: 750; text-decoration: none; }
.ac-home-proof__quote--empty > strong{ color: var(--ac-navy); font-family: var(--ac-serif); font-size: 30px; font-weight: 500; }

.ac-how{ background: var(--ac-paper); }
.ac-home-steps{ margin-top: 44px; border-color: var(--ac-line-strong); }
.ac-how .step-card{ padding: 34px 28px; border-color: var(--ac-line); background: rgba(255,253,249,.66); }
.ac-how .step-card h3{ color: var(--ac-navy); font-family: var(--ac-serif); font-size: 31px; font-weight: 500; }
.ac-how .step-card p{ line-height: 1.65; }
.ac-how__action{ display: flex; align-items: center; gap: 18px; margin-top: 30px; }
.ac-how__action > span{ color: var(--ac-muted); font-size: 12px; }

.ac-home-faq{ background: #efe7dc; border-top: 1px solid var(--ac-line); }
.ac-home-faq__layout{ display: grid; grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr); align-items: start; gap: clamp(42px,7vw,104px); }
.ac-home-faq__intro{ position: sticky; top: 108px; }
.ac-home-faq__intro > p{ max-width: 410px; margin: 22px 0 0; color: var(--ac-muted); font-size: 14px; line-height: 1.7; }
.ac-home-faq__list{ border-top: 1px solid var(--ac-line-strong); }
.ac-home-faq__list details{ border-bottom: 1px solid var(--ac-line-strong); }
.ac-home-faq__list summary{
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
  color: var(--ac-navy);
  font-family: var(--ac-serif);
  font-size: clamp(21px,2vw,27px);
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  list-style: none;
}
.ac-home-faq__list summary::-webkit-details-marker{ display: none; }
.ac-home-faq__list summary span{ display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border: 1px solid var(--ac-line-strong); border-radius: 50%; color: var(--ac-clay-dark); font-family: var(--ac-sans); font-size: 18px; transition: transform .2s ease; }
.ac-home-faq__list details[open] summary span{ transform: rotate(45deg); }
.ac-home-faq__list details > p{ max-width: 680px; margin: -2px 52px 22px 0; color: var(--ac-muted); font-size: 14px; line-height: 1.75; }
.ac-editorial-home .ac-story{ background: #fffdf9; }

@media (min-width: 1024px){
  .ac-editorial-home .ac-benefits__grid{ grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (min-width: 640px) and (max-width: 1023px){
  .ac-editorial-home .ac-benefits__grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ac-home-proof__grid{ grid-template-columns: 1fr; }
  .ac-home-faq__layout{ grid-template-columns: 1fr; }
  .ac-home-faq__intro{ position: static; }
}

@media (max-width: 760px){
  .ac-editorial-home .ac-hero{ padding: 34px 0 64px; }
  .ac-editorial-home .ac-hero__grid{ gap: 21px; }
  .ac-editorial-home .ac-hero h1{ margin-top: 15px; font-size: clamp(43px,12.6vw,57px); line-height: .96; }
  .ac-editorial-home .ac-hero__intro{ font-size: 15px; line-height: 1.65; }
  .ac-editorial-home .ac-hero__media{ display: none; }
  .ac-editorial-home .ac-hero__trust{ margin-top: 5px; }
  .ac-editorial-home .ac-booking-overlap{ margin-top: -28px; }
  .ac-editorial-home .ac-benefits__grid{ grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ac-editorial-home .ac-benefit{ align-items: flex-start; flex-direction: column; gap: 9px; padding: 20px 9px; }
  .ac-editorial-home .ac-benefit:nth-child(odd){ border-right: 1px solid var(--ac-line); }
  .ac-home-proof__grid,
  .ac-home-faq__layout{ grid-template-columns: 1fr; gap: 34px; }
  .ac-home-proof__summary h2,
  .ac-home-faq__intro h2{ font-size: clamp(40px,12vw,52px); }
  .ac-home-proof__rating{ flex-wrap: wrap; }
  .ac-home-proof__rating .ac-tripadvisor-bubbles{ margin-left: 2px; }
  .ac-home-proof__quote{ padding: 27px 21px; }
  .ac-home-proof__quote > p{ font-size: 25px; }
  .ac-home-proof__quote footer{ align-items: flex-start; flex-direction: column; }
  .ac-how .step-card{ padding: 26px 18px; }
  .ac-how__action{ align-items: stretch; flex-direction: column; }
  .ac-how__action .ac-btn{ width: 100%; }
  .ac-home-faq__intro{ position: static; }
  .ac-home-faq__list summary{ min-height: 70px; font-size: 21px; }
  .ac-home-faq__list details > p{ margin-right: 0; }
}

.ac-btn__whatsapp{
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow: 0 7px 18px rgba(37,211,102,.24);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ac-btn__whatsapp svg{ display: block; width: 18px; height: 18px; fill: currentColor; }
.ac-btn--text:hover .ac-btn__whatsapp,
.ac-btn--text:focus-visible .ac-btn__whatsapp{ transform: scale(1.07); box-shadow: 0 9px 22px rgba(37,211,102,.32); }

/* Review transfer details — calm hierarchy with a guided editing rhythm. */
#reviewTransferDetails{
  position: relative;
  overflow: hidden;
}
#reviewTransferDetails::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--rf-accent) 0 88px, var(--rf-navy) 88px 100%);
}
#reviewTransferDetails .card-inner{
  padding-top: 34px;
}
.review-details__head{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 22px;
}
.review-details__eyebrow{
  display: block;
  margin: 0 0 7px;
  color: var(--rf-accent-dark);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
}
#reviewTransferDetails .review-details__head .thank-title{
  font-size: clamp(32px,3.2vw,40px);
}
#reviewTransferDetails .review-details__head .help{
  max-width: 520px;
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.5;
}
.review-details__autosave{
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  margin-top: 4px;
  padding: 8px 10px;
  border: 1px solid rgba(54,101,75,.22);
  border-radius: 999px;
  background: #f0f5f1;
  color: #365f49;
  font-size: 9px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.review-details__autosave > span{
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--rf-success);
  box-shadow: 0 0 0 3px rgba(54,101,75,.1);
}
.review-details__autosave strong{ font-weight: 800; }

#reviewTransferDetails .review-detail-group{
  display: grid;
  grid-template-columns: 116px minmax(0,1fr);
  column-gap: 23px;
  row-gap: 14px;
  margin-top: 0;
  padding: 22px 0;
  border-top: 1px solid var(--rf-line);
}
#reviewTransferDetails .review-detail-group__title{
  display: grid;
  align-self: start;
  gap: 8px;
  margin: 0;
  letter-spacing: 0;
  text-transform: none;
}
#reviewTransferDetails .review-detail-group__title > span{
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid var(--rf-line-strong);
  border-radius: 7px 2px 7px 2px;
  background: #f6f1e9;
  color: var(--rf-accent-dark);
  font-family: var(--rf-serif);
  font-size: 11px;
  font-weight: 600;
}
#reviewTransferDetails .review-detail-group__title > strong{
  max-width: 108px;
  color: var(--rf-navy);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1.35;
  text-transform: uppercase;
}
#reviewTransferDetails .review-detail-group > .row{
  grid-column: 2;
}
#reviewTransferDetails .review-detail-group > .row + .row{
  margin-top: 2px;
}
#reviewTransferDetails .field > label{
  margin-bottom: 7px;
  letter-spacing: .025em;
}
#reviewTransferDetails .field :where(input,select){
  border-radius: 5px 2px 5px 2px;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
#reviewTransferDetails .field:focus-within > label{
  color: var(--rf-accent-dark);
}
.review-details__footer{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 24px;
  padding: 16px 18px;
  border: 1px solid var(--rf-line);
  border-radius: 6px 2px 6px 2px;
  background: #f6f1e9;
}
.review-details__footer-copy{
  display: grid;
  min-width: 0;
  gap: 3px;
}
.review-details__footer-copy strong{
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: 18px;
  font-weight: 500;
}
.review-details__footer-copy span{
  color: var(--rf-muted);
  font-size: 9.5px;
  line-height: 1.45;
}
.review-details__footer #saveEditsBtn{
  flex: 0 0 auto;
  min-height: 42px;
}
.review-details__status{
  min-height: 15px;
  margin: 8px 2px 0;
  color: var(--rf-muted);
  font-size: 10px;
  font-weight: 700;
}

@media (max-width:767px){
  #reviewTransferDetails .card-inner{
    padding-top: 27px;
  }
  .review-details__head{
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
    padding-bottom: 18px;
  }
  #reviewTransferDetails .review-details__head .thank-title{
    font-size: 32px;
  }
  .review-details__autosave{
    margin-top: 0;
  }
  #reviewTransferDetails .review-detail-group{
    grid-template-columns: 1fr;
    row-gap: 13px;
    padding: 19px 0;
  }
  #reviewTransferDetails .review-detail-group__title{
    display: flex;
    align-items: center;
    gap: 10px;
  }
  #reviewTransferDetails .review-detail-group__title > span{
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
  }
  #reviewTransferDetails .review-detail-group__title > strong{
    max-width: none;
    font-size: 9.5px;
  }
  #reviewTransferDetails .review-detail-group > .row{
    grid-column: 1;
  }
  #reviewTransferDetails .review-detail-group > .row.row--two{
    grid-template-columns: minmax(0,1fr);
  }
  #reviewTransferDetails .review-detail-group > .row,
  #reviewTransferDetails .review-detail-group .field{
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  #reviewTransferDetails :where(input[type="date"],input[type="time"]){
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    padding-right: 11px;
    overflow: hidden;
    font-size: 16px;
  }
  #reviewTransferDetails :where(input[type="date"],input[type="time"])::-webkit-date-and-time-value{
    min-width: 0;
    text-align: left;
  }
  #reviewTransferDetails :where(input[type="date"],input[type="time"])::-webkit-datetime-edit{
    min-width: 0;
    overflow: hidden;
    padding: 0;
  }
  .review-details__footer{
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    margin-top: 20px;
    padding: 15px;
  }
  .review-details__footer #saveEditsBtn{
    width: 100%;
  }
}

/* Native review date/time controls can exceed their grid track on mobile. */
.review-datetime-control{
  min-width: 0;
  max-width: 100%;
}
.review-datetime-display{ display: none; }

@media (max-width:767px){
  #reviewTransferDetails .review-datetime-control{
    position: relative;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    border-radius: 5px 2px 5px 2px;
  }
  #reviewTransferDetails .review-datetime-control > :where(input[type="date"],input[type="time"]){
    position: relative;
    z-index: 2;
    grid-column: 1;
    grid-row: 1;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px;
    margin: 0;
    padding: 0 !important;
    border: 0;
    opacity: 0;
    cursor: pointer;
  }
  #reviewTransferDetails .review-datetime-display{
    display: flex;
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 52px;
    align-items: center;
    padding: 11px 43px 11px 13px;
    overflow: hidden;
    border: 1px solid #b8c0c1;
    border-radius: 5px 2px 5px 2px;
    background: #fffdfa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.25' y='4.5' width='13.5' height='12' rx='1.5'/%3E%3Cpath d='M6.5 2.75v3.5m7-3.5v3.5M3.25 8h13.5'/%3E%3C/svg%3E") calc(100% - 14px) 50% / 18px no-repeat;
    color: var(--rf-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
  }
  #reviewTransferDetails .review-datetime-control--time .review-datetime-display{
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='M10 6v4.25l2.75 1.75'/%3E%3C/svg%3E");
  }
  #reviewTransferDetails .review-datetime-control > :where(input[type="date"],input[type="time"]):focus-visible + .review-datetime-display{
    border-color: var(--rf-accent);
    box-shadow: 0 0 0 3px rgba(183,72,46,.1);
  }
  #reviewTransferDetails .field.invalid .review-datetime-display{
    border-color: var(--rf-error);
    background-color: #fff7f4;
  }
}

/* Booking summary — a compact travel dossier with a stronger brand voice. */
.review-col--summary .review-summary{
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(13,48,69,.28);
  border-radius: 11px 3px 11px 3px;
  background: #fffdfa;
  box-shadow: 0 22px 52px rgba(13,48,69,.12);
}
.review-col--summary .review-summary::before{
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 88px;
  height: 4px;
  background: var(--rf-accent);
}
.review-summary__head{
  position: relative;
  padding: 25px 24px 21px;
  border: 0;
  background:
    radial-gradient(circle at 92% 4%, rgba(255,255,255,.1), transparent 32%),
    linear-gradient(145deg, var(--rf-navy), #123e56);
}
.review-summary__identity{
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 13px;
  align-items: center;
}
.review-summary__mark{
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 9px 2px 9px 2px;
  background: rgba(255,255,255,.08);
  color: #f1a287;
}
.review-summary__mark svg{
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.review-summary .review-summary__eyebrow{
  color: #efad96;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.review-summary .review-summary__title{
  margin: 4px 0 0;
  color: #fffdf9;
  font-family: var(--rf-serif);
  font-size: 30px;
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1;
}
.review-summary .review-summary__lead{
  max-width: 280px;
  margin: 14px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 10px;
  line-height: 1.5;
}
.review-summary__sync{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 13px;
  color: rgba(255,255,255,.8);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.review-summary__sync > span{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #79c79b;
  box-shadow: 0 0 0 3px rgba(121,199,155,.13);
}
.review-summary .summary-divider{
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 24px;
  padding: 17px 0 8px;
  border-bottom: 1px solid var(--rf-line-strong);
  color: var(--rf-navy);
  letter-spacing: 0;
  text-transform: none;
}
.review-summary .summary-divider > span{
  display: grid;
  width: 23px;
  height: 23px;
  place-items: center;
  border: 1px solid var(--rf-line-strong);
  border-radius: 6px 2px 6px 2px;
  background: #f5eee5;
  color: var(--rf-accent-dark);
  font-family: var(--rf-serif);
  font-size: 9px;
  font-weight: 600;
}
.review-summary .summary-divider > strong{
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.review-summary .summary-item{
  grid-template-columns: minmax(96px,.78fr) minmax(0,1.22fr);
  gap: 12px;
  margin: 0 24px;
  padding: 9px 0;
  border-color: var(--rf-line);
  font-size: 10.5px;
}
.review-summary .summary-item > span{
  color: var(--rf-muted);
  font-size: 9.5px;
}
.review-summary .summary-item > strong{
  color: var(--rf-navy);
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.4;
}
.review-summary .summary-item--reference strong{
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  letter-spacing: .035em;
}
.review-summary .summary-item--status strong{
  color: var(--rf-success);
}
.review-summary .summary-item--total{
  grid-template-columns: auto minmax(0,1fr);
  align-items: end;
  gap: 16px;
  margin: 18px 16px 0;
  padding: 17px 16px;
  border: 0;
  border-radius: 8px 2px 8px 2px;
  background: linear-gradient(145deg, var(--rf-navy), #15455f);
  color: #fff;
  box-shadow: 0 12px 25px rgba(13,48,69,.16);
}
.review-summary .summary-item--total > span{
  display: grid;
  gap: 3px;
  color: #fff;
  font-family: var(--rf-serif);
  font-size: 18px;
  line-height: 1;
}
.review-summary .summary-item--total small{
  color: #efad96;
  font-family: var(--rf-sans);
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.review-summary .summary-item--total > strong{
  color: #fffdf9;
  font-family: var(--rf-serif);
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
  text-align: right;
}
.review-summary .review-cta{
  gap: 8px;
  margin: 18px 22px 0 !important;
  padding-top: 0;
  border: 0;
}
.review-summary .review-cta .btn--primary{
  min-height: 50px;
  box-shadow: 4px 4px 0 rgba(13,48,69,.13);
}
.review-summary .review-cta .btn--outline{
  min-height: 36px;
  border-color: transparent;
  background: transparent;
  color: var(--rf-muted);
  font-size: 9px;
  text-decoration: underline;
  box-shadow: none;
}
.review-summary__assurance{
  display: grid;
  grid-template-columns: 23px minmax(0,1fr);
  gap: 9px;
  align-items: center;
  margin: 12px 22px 0;
  padding: 12px 0 18px;
  border-top: 1px solid var(--rf-line);
  color: var(--rf-muted);
  font-size: 8.5px;
  line-height: 1.45;
}
.review-summary__assurance svg{
  width: 20px;
  height: 20px;
  fill: none;
  stroke: var(--rf-accent-dark);
  stroke-width: 1.5;
}
.review-summary__assurance strong{
  display: block;
  color: var(--rf-navy);
  font-size: 9px;
}
.review-summary #reviewStatusSummary{
  min-height: 14px;
  margin: -8px 22px 14px;
  font-size: 9px;
}

@media (max-width:767px){
  .review-summary__head{
    padding: 23px 20px 19px;
  }
  .review-summary .summary-divider,
  .review-summary .summary-item{
    margin-inline: 20px;
  }
  .review-summary .summary-item{
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .review-summary .summary-item > strong{
    text-align: left;
  }
  .review-summary .summary-item--total{
    grid-template-columns: auto minmax(0,1fr);
    margin-inline: 13px;
  }
  .review-summary .summary-item--total > strong{
    font-size: 24px;
    text-align: right;
  }
}

/* Booking summary — restrained editorial treatment. */
.review-col--summary .review-summary{
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--rf-line-strong);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(13,48,69,.075);
}
.review-col--summary .review-summary::before{
  width: 68px;
  height: 3px;
  background: var(--rf-accent);
}
.review-summary__head{
  padding: 27px 26px 22px;
  border-bottom: 1px solid var(--rf-line-strong);
  background: #fff;
}
.review-summary .review-summary__eyebrow{
  color: var(--rf-accent-dark);
  font-size: 8.5px;
  letter-spacing: .12em;
}
.review-summary .review-summary__title{
  margin: 7px 0 0;
  color: var(--rf-navy);
  font-size: 32px;
  line-height: 1.02;
}
.review-summary .review-summary__lead{
  max-width: 300px;
  margin: 10px 0 0;
  color: var(--rf-muted);
  font-size: 10px;
  line-height: 1.55;
}
.review-summary .summary-divider{
  display: block;
  margin: 0 26px;
  padding: 19px 0 7px;
  border-bottom: 1px solid var(--rf-line-strong);
  color: var(--rf-accent-dark);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}
.review-summary .summary-item{
  grid-template-columns: minmax(96px,.78fr) minmax(0,1.22fr);
  margin: 0 26px;
  padding: 9px 0;
  font-size: 10.5px;
}
.review-summary .summary-item > span{
  color: var(--rf-muted);
  font-size: 9.5px;
}
.review-summary .summary-item > strong{
  color: var(--rf-navy);
  font-size: 10.5px;
  font-weight: 750;
}
.review-summary .summary-item--total{
  grid-template-columns: auto minmax(0,1fr);
  align-items: baseline;
  margin: 18px 26px 0;
  padding: 16px 0 14px;
  border: 0;
  border-top: 2px solid var(--rf-navy);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.review-summary .summary-item--total > span{
  display: block;
  color: var(--rf-navy);
  font-family: var(--rf-sans);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.review-summary .summary-item--total > strong{
  color: var(--rf-navy);
  font-family: var(--rf-serif);
  font-size: 26px;
  font-weight: 500;
  text-align: right;
}
.review-summary .review-cta{
  margin: 12px 26px 0 !important;
}
.review-summary .review-cta .btn--primary{
  min-height: 48px;
  box-shadow: none;
}
.review-summary .review-cta .btn--outline{
  min-height: 34px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.review-summary #reviewStatusSummary{
  min-height: 15px;
  margin: 7px 26px 16px;
}

@media (max-width:767px){
  .review-summary__head{
    padding: 24px 20px 19px;
  }
  .review-summary .summary-divider,
  .review-summary .summary-item,
  .review-summary .summary-item--total{
    margin-inline: 20px;
  }
  .review-summary .summary-item{
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .review-summary .summary-item > strong{
    text-align: left;
  }
  .review-summary .summary-item--total{
    grid-template-columns: auto minmax(0,1fr);
  }
  .review-summary .summary-item--total > strong{
    font-size: 25px;
    text-align: right;
  }
  .review-summary .review-cta,
  .review-summary #reviewStatusSummary{
    margin-inline: 20px !important;
  }
}

/* Thank-you — restrained confirmation and payment hierarchy. */
body.page-thank main.section{
  background: var(--rf-paper);
}
body.page-thank main .thank-layout{
  gap: 26px;
}
body.page-thank main .thank-hero__left,
body.page-thank main .thank-card,
body.page-thank main .receipt-card{
  border: 1px solid var(--rf-line-strong);
  border-radius: 7px !important;
  background: #fff;
  box-shadow: 0 14px 34px rgba(13,48,69,.07);
}
body.page-thank main .thank-hero__left{
  position: relative;
  overflow: hidden;
  padding: 38px;
  border-top: 1px solid var(--rf-line-strong);
}
body.page-thank main .thank-hero__left::before,
body.page-thank main .receipt-card::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 68px;
  height: 3px;
  background: var(--rf-accent);
}
body.page-thank main .thank-hero__header{
  align-items: center;
}
body.page-thank main .thank-hero__badge,
body.page-thank main .thank-hero__status,
body.page-thank main .thank-card__tag{
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.page-thank main .thank-hero__badge{
  color: var(--rf-accent-dark);
}
body.page-thank main .thank-hero__status{
  gap: 7px;
  color: var(--rf-muted);
  letter-spacing: .04em;
}
body.page-thank main .thank-hero__status::before{
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 12%, transparent);
}
body.page-thank main .thank-hero__left > h1{
  margin: 25px 0 13px;
  font-size: clamp(46px,4.25vw,58px);
  letter-spacing: -.035em;
  line-height: .98;
}
body.page-thank main .thank-lead{
  max-width: 610px;
  color: var(--rf-muted);
  font-size: 14px;
  line-height: 1.65;
}
body.page-thank main .checkout-progress--thank{
  margin-top: 25px;
  padding-top: 20px;
}
body.page-thank main .thank-meta{
  margin-top: 20px;
  padding-top: 15px;
}
body.page-thank main .thank-meta__label{
  font-size: 9px;
  letter-spacing: .09em;
  text-transform: uppercase;
}
body.page-thank main .thank-meta__value{
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: 14px;
  letter-spacing: .035em;
}
body.page-thank main .thank-kpis{
  margin-top: 20px;
  border: 1px solid var(--rf-line);
  background: #faf7f1;
}
body.page-thank main .thank-kpi{
  padding: 15px;
}
body.page-thank main .thank-kpi span{
  font-size: 9px;
}
body.page-thank main .thank-kpi strong{
  color: var(--rf-navy);
  font-size: 11px;
  line-height: 1.45;
}
body.page-thank main .thank-itinerary{
  margin-top: 26px;
  padding-top: 0;
  border-top: 0;
}
body.page-thank main .thank-itinerary__head{
  padding-bottom: 17px;
  border-bottom: 1px solid var(--rf-line-strong);
}
body.page-thank main .thank-itinerary__eyebrow,
body.page-thank main .thank-support__eyebrow,
body.page-thank main .meeting-box__eyebrow{
  font-size: 8.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.page-thank main .thank-itinerary__title{
  margin-top: 6px;
  font-size: clamp(27px,2.8vw,35px);
}
body.page-thank main .thank-itinerary__grid{
  margin-top: 0;
  border-top: 0;
}
body.page-thank main .thank-leg{
  padding: 18px 0;
  border-right: 0;
  border-bottom: 1px solid var(--rf-line);
}
body.page-thank main .thank-leg + .thank-leg{
  padding-left: 18px;
  border-left: 1px solid var(--rf-line);
}
body.page-thank main .thank-leg__label{
  font-size: 8.5px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-thank main .thank-leg__route{
  font-size: 20px;
}
body.page-thank main .confirm-pill{
  display: block;
  margin-top: 18px;
  padding: 12px 0;
  border: 0;
  border-block: 1px solid var(--rf-line);
  border-radius: 0;
  background: transparent;
  color: var(--rf-muted);
  font-size: 10px;
}
body.page-thank main .thank-card{
  overflow: hidden;
}
body.page-thank main .thank-card.is-attention::before{
  height: 3px;
  background: var(--rf-accent);
}
body.page-thank main .thank-card .card-inner,
body.page-thank main .receipt-card .card-inner{
  padding: 27px;
}
body.page-thank main .thank-card__head,
body.page-thank main .receipt-head{
  align-items: baseline;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--rf-line-strong);
}
body.page-thank main .thank-card__head .thank-title,
body.page-thank main .receipt-head .thank-title{
  margin: 0;
  font-size: 29px;
  letter-spacing: -.025em;
  line-height: 1.05;
}
body.page-thank main .thank-card__tag{
  color: var(--rf-accent-dark);
  text-align: right;
}
body.page-thank main .thank-card__lead{
  margin-top: 14px;
  font-size: 10.5px;
  line-height: 1.6;
}
body.page-thank main .receipt-card{
  position: relative;
  overflow: hidden;
}
body.page-thank main .thank-ref{
  padding: 0;
  border: 0;
  background: transparent;
}
body.page-thank main .thank-ref__label{
  font-size: 8px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.page-thank main .thank-ref__value{
  margin-top: 3px;
  font-size: 10px;
}
body.page-thank main .summary-list--receipt{
  margin-top: 0;
  border-top: 0;
}
body.page-thank main .summary-list--receipt .summary-divider,
body.page-thank main .thank-payment-summary .summary-divider{
  padding: 18px 0 7px;
  color: var(--rf-accent-dark);
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.page-thank main .summary-list--receipt .summary-item,
body.page-thank main .thank-payment-summary .summary-item{
  padding: 9px 0;
  font-size: 10.5px;
}
body.page-thank main .summary-list--receipt .summary-item span,
body.page-thank main .thank-payment-summary .summary-item span{
  font-size: 9.5px;
}
body.page-thank main .summary-list--receipt .summary-item strong,
body.page-thank main .thank-payment-summary .summary-item strong{
  color: var(--rf-navy);
  font-size: 10.5px;
}
body.page-thank main .thank-state,
body.page-thank main .thank-cash-note,
body.page-thank main .thank-receipt__pending{
  border-radius: 0;
  background: transparent;
}
body.page-thank main .thank-card--payment .thank-state.is-pending{
  padding: 14px 0;
  border: 0;
  border-block: 1px solid var(--rf-line);
  border-radius: 0;
  background: transparent;
}
body.page-thank main .thank-card--payment .thank-payment-summary{
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.page-thank main .thank-card--payment .thank-payment-summary .summary-item--total{
  margin: 12px 0 0;
  padding: 14px 0 12px;
  border: 0;
  border-top: 2px solid var(--rf-navy);
  border-radius: 0;
  background: transparent;
}
body.page-thank main .thank-card--payment .thank-payment-summary .summary-item--total strong{
  font-family: var(--rf-serif);
  font-size: 24px;
  font-weight: 500;
}
body.page-thank main .payment-choice-grid{
  gap: 12px;
}
body.page-thank main .payment-choice-card{
  padding: 18px;
  border-radius: 5px;
  box-shadow: none;
}
body.page-thank main .payment-choice-card--online{
  border-left: 3px solid var(--rf-accent);
}
body.page-thank main .payment-choice-card--cash{
  border-left: 3px solid var(--rf-navy);
  background: #faf7f1;
}
body.page-thank main .payment-choice-card__head{
  grid-template-columns: minmax(0,1fr);
  gap: 3px;
}
body.page-thank main .payment-choice-card__number{
  display: none;
}
body.page-thank main .payment-choice-card__badge{
  grid-column: 1;
  margin-top: 6px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rf-accent-dark);
}
body.page-thank main .payment-choice-card__badge--neutral{
  color: var(--rf-muted);
}
body.page-thank main .thank-next-grid{
  margin-top: 20px;
  border-top-color: var(--rf-line-strong);
}
body.page-thank main .thank-next-step{
  padding: 18px 16px;
  background: transparent;
}

@media (max-width:767px){
  body.page-thank main .thank-hero__left,
  body.page-thank main .thank-card .card-inner,
  body.page-thank main .receipt-card .card-inner{
    padding: 21px;
  }
  body.page-thank main .thank-hero__header{
    align-items: flex-start;
    gap: 9px;
  }
  body.page-thank main .thank-hero__left > h1{
    margin-top: 21px;
    font-size: clamp(40px,11.7vw,49px);
  }
  body.page-thank main .thank-kpis{
    grid-template-columns: 1fr;
  }
  body.page-thank main .thank-kpi{
    border-right: 0;
  }
  body.page-thank main .thank-leg + .thank-leg{
    padding-left: 0;
    border-left: 0;
  }
  body.page-thank main .thank-card__head,
  body.page-thank main .receipt-head{
    align-items: flex-start;
  }
  body.page-thank main .thank-card__tag{
    text-align: left;
  }
}

/* Warm editorial typography across the reservation journey. */
.ac-editorial-home :where(h1,h2,h3),
#booking.acw :where(.wtitle,.ac-route-group__heading h4,.veh__name,.price__head h3),
body.page-review main :where(h1,h2,h3),
body.page-thank main :where(h1,h2,h3){
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}
#booking.acw .wtitle,
.review-intro h1,
body.page-thank main .thank-hero__left > h1{
  letter-spacing: -.025em;
}

/* The header uses the brand image selected in Home Content when available. */
.ac-wordmark--image{
  min-height: 44px;
  gap: 9px;
}
.ac-wordmark--image::after{ display: none; }
.ac-wordmark--image .ac-wordmark__copy{
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 0;
  line-height: normal;
}
.ac-wordmark__logo{
  display: block;
  width: auto;
  height: 34px;
  max-width: 80px;
  object-fit: contain;
  object-position: left center;
}
.ac-wordmark--image .ac-wordmark__copy strong{
  display: block;
  min-height: 22px;
  color: var(--color-navy-950);
  font-family: "Newsreader Wordmark", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.08;
}
.ac-wordmark--footer.ac-wordmark--image .ac-wordmark__copy strong{
  color: #fff;
}
.ac-wordmark--footer .ac-wordmark__logo{
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.16));
}
.ac-mobile-menu nav a.ac-nav-link--featured{
  margin-block: 0;
  padding-inline: 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
  border-radius: 0;
  background: transparent;
  color: var(--color-navy-950);
  font-weight: 600;
}
.ac-mobile-menu nav a.ac-nav-link--featured b{ color: var(--color-terracotta-600); }
@media (min-width:1024px){
  .ac-desktop-nav a.ac-nav-link--featured{
    min-height: 44px;
    gap: 6px;
    padding-inline: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--color-ink);
    font-weight: 800;
    transition: color .2s ease;
  }
  .ac-desktop-nav a.ac-nav-link--featured::before{
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--color-terracotta-500);
  }
  .ac-desktop-nav a.ac-nav-link--featured::after{ display: none; }
  .ac-desktop-nav a.ac-nav-link--featured:hover{
    background: transparent;
    color: var(--color-terracotta-600);
  }
}
.ac-wordmark__copy .ac-wordmark__service{
  display: block;
  margin-top: 5px;
  color: var(--color-muted);
  font-family: var(--ac-sans);
  font-size: 8px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .075em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ac-wordmark__copy .ac-wordmark__location{
  display: block;
  margin-top: 3px;
  color: var(--color-terracotta-600);
  font-family: var(--ac-serif);
  font-size: 9px;
  font-style: italic;
  letter-spacing: .02em;
  line-height: 1.2;
}
.ac-footer__signature{
  color: var(--color-sand-300);
  font-family: var(--ac-serif);
  font-size: 19px;
  font-style: italic;
}
@media (max-width:767px){
  .ac-wordmark__logo{
    height: 29px;
    max-width: 62px;
  }
  .ac-wordmark--image .ac-wordmark__copy strong{ min-height: 20px; font-size: 18px; letter-spacing: -.012em; line-height: 1.08; }
  .ac-wordmark--image .ac-wordmark__copy .ac-wordmark__service{ display: block; margin-top: 4px; font-size: 7px; line-height: 1.2; }
  .ac-wordmark--image .ac-wordmark__copy .ac-wordmark__location{ display: block; margin-top: 2px; font-size: 8px; line-height: 1.2; }
}

/* Mobile hero video supplied through Home Content. */
.ac-hero__mobile-background,
.ac-hero__mobile-intro,
.ac-hero-mobile-proof{
  display: none;
}
@media (max-width:767px){
  .ac-editorial-home .ac-hero.ac-hero--mobile-video{
    isolation: isolate;
    min-height: 0;
    padding: 0;
    background: var(--ac-navy-deep);
  }
  .ac-hero--mobile-video::before{
    inset: 0;
    z-index: 1;
    width: auto;
    height: auto;
    background:
      linear-gradient(
        180deg,
        transparent 0%,
        transparent 40%,
        rgba(8, 38, 58, .55) 67%,
        rgba(8, 38, 58, .94) 100%
      ),
      linear-gradient(rgba(8, 38, 58, .25), rgba(8, 38, 58, .25));
    opacity: 1;
  }
  .ac-hero--mobile-video .ac-hero__mobile-background{
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    overflow: hidden;
    pointer-events: none;
  }
  .ac-hero--mobile-video .ac-hero__mobile-background > :where(img,video){
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    object-fit: cover;
    object-position: var(--ac-hero-video-position, 50% 50%);
    transform: scale(var(--ac-hero-video-scale, 1));
    transform-origin: center;
  }
  .ac-hero--mobile-video .ac-hero__mobile-background > video{
    opacity: 0;
    transition: opacity .45s ease;
  }
  .ac-hero--mobile-video .ac-hero__mobile-background > video.is-playing{
    opacity: 1;
  }
  .ac-hero--mobile-video .ac-hero__grid{
    z-index: 2;
    min-height: calc(100vh - 68px);
    min-height: calc(100svh - 68px);
    align-content: end;
    gap: 0;
    padding: clamp(255px, 38svh, 350px) 0 56px;
  }
  .ac-hero--mobile-video .ac-hero__copy{
    max-width: 520px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    translate: 0 -20%;
  }
  .ac-hero--mobile-video .ac-eyebrow{
    color: rgba(255, 255, 255, .92);
    text-shadow: 0 2px 12px rgba(8, 38, 58, .75);
  }
  .ac-editorial-home .ac-hero.ac-hero--mobile-video h1{
    margin-top: 16px;
    color: #fff;
    font-size: clamp(48px, 14vw, 58px);
    text-shadow: 0 3px 18px rgba(8, 38, 58, .72);
  }
  .ac-hero--mobile-video h1 em{
    color: var(--color-sand-200);
  }
  .ac-hero--mobile-video .ac-hero__intro{
    display: none;
  }
  .ac-hero--mobile-video .ac-hero__mobile-intro{
    display: block;
    max-width: 330px;
    margin: 18px 0 0;
    color: rgba(255, 255, 255, .9);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    text-shadow: 0 2px 12px rgba(8, 38, 58, .8);
  }
  .ac-hero--mobile-video .ac-hero__actions{
    display: grid;
    gap: 12px;
    margin-top: 22px;
  }
  .ac-hero--mobile-video .ac-hero__actions .ac-btn{
    width: 100%;
  }
  .ac-hero--mobile-video .ac-btn--text,
  .ac-hero--mobile-video .ac-hero__media,
  .ac-hero--mobile-video .ac-hero__grid > .ac-hero__trust,
  .ac-hero--mobile-video .ac-hero__coastline{
    display: none;
  }
  .ac-hero--mobile-video .ac-hero__stories-link{
    justify-self: center;
    border-color: rgba(255,255,255,.7);
    background: rgba(8,38,61,.58);
    color: #fff !important;
    opacity: 1;
    text-shadow: 0 2px 10px rgba(8,38,58,.55);
  }
  .ac-hero--mobile-video .ac-hero__stories-link > span:last-child{ color: #ffc0a6 !important; }
  .ac-hero-mobile-proof{
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: 3;
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .ac-hero-mobile-proof .ac-hero__trust{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 4px 16px 4px 4px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 12px 30px rgba(8, 38, 58, .18);
    backdrop-filter: blur(12px) saturate(115%);
  }
  .ac-hero-mobile-proof .ac-trust-source{
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    min-width: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  .ac-hero-mobile-proof .ac-trust-source + .ac-trust-source{
    border-left: 1px solid rgba(8, 38, 58, .12);
  }
  .ac-hero-mobile-proof .ac-trust-source__logo{
    width: auto;
    height: 20px;
    justify-content: start;
  }
  .ac-hero-mobile-proof .ac-trust-source__logo img{
    max-width: none;
    height: auto;
  }
  .ac-hero-mobile-proof .ac-trust-source__logo--google img{
    width: 55px;
  }
  .ac-hero-mobile-proof .ac-trust-source__logo--tripadvisor img{
    width: 76px;
  }
  .ac-hero-mobile-proof .ac-trust-source__rating{
    gap: 4px;
    padding: 3px 6px;
    background: rgba(247, 241, 232, .58);
  }
  .ac-hero-mobile-proof .ac-trust-source__stars{
    font-size: 11px;
    letter-spacing: .8px;
  }
  .ac-hero-mobile-proof .ac-trust-source__rating--tripadvisor .ac-trust-source__stars i{
    width: 10px;
    height: 10px;
  }
  .ac-hero-mobile-proof .ac-trust-source small{
    display: block;
    margin-top: 1px;
    color: #5b6870;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.2;
  }
}

/* Final arrival CTA: keep its active background image and refine only the content layer. */
.ac-final-cta__overlay{
  background: linear-gradient(90deg,rgba(8,38,61,.84) 0%,rgba(8,38,61,.58) 58%,rgba(8,38,61,.18) 100%);
}
.ac-final-cta__content{
  max-width: 760px;
  padding-block: clamp(72px,8vw,104px);
}
.ac-final-cta .ac-eyebrow{
  color: #f7f1e8;
  font-weight: 750;
}
.ac-final-cta .ac-eyebrow::before{ background: #bd5435; }
body.ac-editorial-home .ac-final-cta h2{
  max-width: 720px;
  margin-top: 16px;
  color: #f7f1e8;
  letter-spacing: -.035em;
  line-height: .96;
  text-shadow: 0 2px 16px rgba(8,38,61,.26);
}
body.ac-editorial-home .ac-final-cta h2 em{ color: #bd5435; }
.ac-final-cta p{
  max-width: 590px;
  margin: 21px 0 0;
  color: rgba(247,241,232,.9);
  font-size: 15px;
  line-height: 1.7;
  text-shadow: 0 1px 10px rgba(8,38,61,.24);
}
.ac-final-cta__service-line{
  margin: 18px 0 24px;
  color: rgba(247,241,232,.84);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .015em;
  line-height: 1.5;
}
.ac-final-cta .ac-btn--primary{
  background: #bd5435;
  box-shadow: 0 10px 24px rgba(8,38,61,.2);
}
.ac-final-cta .ac-btn--primary:hover{ background: #913a25; }
@media (max-width:639px){
  .ac-final-cta__overlay{
    background: linear-gradient(90deg,rgba(8,38,61,.86),rgba(8,38,61,.68));
  }
  .ac-final-cta__content{ padding-block: 68px; }
  body.ac-editorial-home .ac-final-cta h2{
    margin-top: 13px;
    font-size: clamp(42px,12vw,54px);
  }
  .ac-final-cta p{
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.65;
  }
  .ac-final-cta__service-line{
    margin: 16px 0 22px;
    font-size: 11px;
  }
  .ac-final-cta .ac-btn--primary{ width: 100%; }
}

/* Mobile reservation actions: keep every available decision visible and tappable. */
@media (max-width: 767px){
  #booking.acw .acw-panel[data-step="2"] > .wactions,
  body.page-thank main :is(
    .thank-actions,
    .payment-actions,
    .thank-receipt__actions,
    .thank-support__actions,
    .thank-dinner-actions,
    .thank-tour-inline__actions,
    .thank-tour-inline__payment-actions,
    .thank-tour-inline__complete-actions
  ){
    display: grid;
    width: auto;
    max-width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  #booking.acw .acw-panel[data-step="2"] > .wactions .btn,
  body.page-thank main :is(
    .thank-actions,
    .payment-actions,
    .thank-receipt__actions,
    .thank-support__actions,
    .thank-dinner-actions,
    .thank-tour-inline__actions,
    .thank-tour-inline__payment-actions,
    .thank-tour-inline__complete-actions
  ) .btn{
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    padding-block: 10px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  #booking.acw #submitBtn :is(.btnText, .btnLoader){
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #booking.acw #submitBtn{
    min-height: 48px;
    padding: 0 19px;
    line-height: 1.2;
    box-shadow: none;
  }

  body.page-thank main :is(
    .thank-paypal,
    #paypal-button-container,
    .thank-tour-inline__paypal
  ){
    width: 100%;
    min-width: 0;
  }
}

/* Review mobile selects: reserve space for the arrow and contain long labels. */
@media (max-width: 767px){
  #reviewTransferDetails .field select{
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 10px 46px 10px 14px;
    overflow: hidden;
    border: 1px solid #b8c0c1;
    border-radius: 5px 2px 5px 2px;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fffdfa;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23152f3f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: calc(100% - 14px) 50%;
    background-size: 18px;
    color: var(--rf-ink);
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
  }
  #reviewTransferDetails .field select:focus{
    border-color: var(--rf-accent);
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(183,72,46,.1);
    outline: 0;
  }
}

/* Thank-you: give the confirmed state a clear editorial signature. */
body.site-airport-cabo.page-thank main .thank-hero__badge.is-confirmed{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  min-height:42px;
  height:auto;
  padding:7px 16px 7px 8px;
  overflow:hidden;
  border:1px solid rgba(196,95,60,.3);
  border-color:color-mix(in srgb,var(--rf-accent) 36%,var(--rf-line));
  border-radius:999px;
  background:linear-gradient(135deg,#fffaf6,#f7ebe2);
  box-shadow:0 10px 22px rgba(13,48,69,.09),inset 0 1px 0 #fff;
  color:var(--rf-navy);
  font-size:11px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.105em;
}
body.site-airport-cabo.page-thank main .thank-hero__badge.is-confirmed::before{
  content:"✓";
  position:relative;
  z-index:1;
  display:grid;
  flex:0 0 28px;
  width:28px;
  height:28px;
  place-items:center;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:var(--rf-accent);
  box-shadow:0 5px 12px rgba(139,57,36,.2);
  color:#fff;
  font-size:15px;
  line-height:1;
}
body.site-airport-cabo.page-thank main .thank-hero__badge.is-confirmed::after{
  content:"";
  position:absolute;
  z-index:0;
  top:-31px;
  right:-18px;
  width:96px;
  height:96px;
  border-radius:50%;
  background:rgba(196,95,60,.08);
  pointer-events:none;
}
body.site-airport-cabo.page-thank main .thank-hero__badge.is-confirmed > span{
  position:relative;
  z-index:1;
  min-width:0;
  overflow-wrap:anywhere;
}
body.site-airport-cabo.page-thank main .thank-hero__header .thank-hero__status{
  margin-left:0;
}
@media (max-width:560px){
  body.site-airport-cabo.page-thank main .thank-hero__header{
    align-items:stretch;
  }
  body.site-airport-cabo.page-thank main .thank-hero__badge.is-confirmed{
    width:100%;
    min-height:46px;
    padding-right:14px;
  }
  body.site-airport-cabo.page-thank main .thank-hero__status{
    width:max-content;
    max-width:100%;
  }
}

/* Dining transportation: one alignment axis and one control system. */
body.page-thank main .thank-card--dinner .thank-card__head--dinner{
  display:block;
  width:100%;
  margin:0;
  padding-bottom:17px;
  text-align:left;
}
body.page-thank main .thank-card--dinner .thank-card__heading{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  min-width:0;
  margin:0;
  gap:9px;
  text-align:left;
}
body.page-thank main .thank-card--dinner .thank-card__tag{
  display:block;
  align-self:flex-start;
  margin:0;
  text-align:left;
}
body.page-thank main .thank-card--dinner .thank-title{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 !important;
  padding:0;
  text-align:left;
  text-wrap:wrap;
}
body.page-thank main .thank-card--dinner .thank-card__lead{
  width:100%;
  max-width:76ch;
  margin:14px 0 0;
  padding:0;
  text-align:left;
}
body.page-thank main #dinnerTransportForm{
  --dinner-control-height:56px;
  grid-template-columns:minmax(0,1.18fr) repeat(2,minmax(0,.91fr));
  gap:14px 12px;
  align-items:end;
  width:100%;
}
body.page-thank main #dinnerTransportForm .thank-dinner-field{
  grid-column:auto;
  display:grid;
  min-width:0;
  gap:8px;
  align-content:end;
}
body.page-thank main #dinnerTransportForm .datetime-control{
  display:grid;
  min-width:0;
  gap:8px;
}
body.page-thank main #dinnerTransportForm > .thank-dinner-field:not(.datetime-field),
body.page-thank main #dinnerTransportForm .datetime-control{
  grid-template-rows:17px var(--dinner-control-height);
}
body.page-thank main #dinnerTransportForm :is(.thank-dinner-field > label,.datetime-control > label){
  min-height:16px;
  margin:0;
  color:var(--rf-ink);
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
body.page-thank main #dinnerTransportForm .thank-dinner-control{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  height:var(--dinner-control-height) !important;
  min-height:var(--dinner-control-height) !important;
  max-height:var(--dinner-control-height) !important;
  block-size:var(--dinner-control-height) !important;
  min-block-size:var(--dinner-control-height) !important;
  max-block-size:var(--dinner-control-height) !important;
  box-sizing:border-box;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid #aeb9bd;
  border-radius:4px;
  background-color:#fffdfa;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88);
  color:var(--rf-ink);
  font-size:13px;
  font-weight:650;
  line-height:normal;
}
body.page-thank main #dinnerTransportForm .thank-dinner-control > :is(select,input[type="date"],input[type="time"]){
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  block-size:100% !important;
  min-block-size:0 !important;
  max-block-size:none !important;
  box-sizing:border-box;
  margin:0;
  padding:0 14px;
  border:0 !important;
  border-radius:0 !important;
  background-color:transparent;
  box-shadow:none !important;
  color:var(--rf-ink);
  font-size:13px;
  font-weight:650;
  line-height:normal;
  outline:0;
}
body.page-thank main #dinnerTransportForm select{
  padding-right:46px;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%230d3045' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 7.5 4.5 4.5 4.5-4.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:calc(100% - 14px) 50%;
  background-size:18px;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
body.page-thank main #dinnerTransportForm .thank-dinner-control:focus-within{
  border-color:var(--rf-accent);
  background-color:#fff;
  box-shadow:0 0 0 3px rgba(183,72,46,.11);
  outline:0;
}
body.page-thank main #dinnerTransportForm :is(input[type="date"],input[type="time"])::-webkit-date-and-time-value{
  min-height:0;
  padding:0;
  text-align:left;
}
body.page-thank main #dinnerTransportForm :is(input[type="date"],input[type="time"])::-webkit-datetime-edit{
  display:block;
  min-height:0;
  padding:0;
}
body.page-thank main #dinnerTransportForm .datetime-display{
  display:none !important;
}
body.page-thank main #dinnerTransportForm > button[type="submit"]{
  grid-column:1 / -1;
  justify-self:start;
  width:auto;
  min-width:190px;
  min-height:48px;
  margin-top:2px;
  padding-inline:22px;
  white-space:nowrap;
}
@media (max-width:560px){
  body.page-thank main .thank-card--dinner .thank-card__head--dinner{
    padding-bottom:14px;
  }
  body.page-thank main .thank-card--dinner .thank-card__heading{
    gap:7px;
  }
  body.page-thank main .thank-card--dinner .thank-title{
    font-size:clamp(25px,7.2vw,27px);
    line-height:1.07;
    text-wrap:wrap;
  }
  body.page-thank main #dinnerTransportForm{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  body.page-thank main #dinnerTransportForm .thank-dinner-field,
  body.page-thank main #dinnerTransportForm > button[type="submit"]{
    grid-column:1;
  }
  body.page-thank main #dinnerTransportForm > button[type="submit"]{
    justify-self:stretch;
    width:100%;
    min-width:0;
  }
}

/* Thank-you notes: one readable system for delivery, flight and guest details. */
body.site-airport-cabo.page-thank main .confirm-pill{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  padding:12px 14px;
  border:1px solid var(--rf-line);
  border-left:3px solid var(--rf-accent);
  border-radius:0 5px 5px 0;
  background:linear-gradient(90deg,#fff8f3,#fffdf9);
  color:var(--rf-muted);
  font-size:11px;
  line-height:1.5;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
body.site-airport-cabo.page-thank main .confirm-pill::before{
  content:"✓";
  display:grid;
  flex:0 0 24px;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:var(--rf-accent);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
}
body.site-airport-cabo.page-thank main .confirm-pill > span{
  min-width:0;
  overflow-wrap:anywhere;
}
body.site-airport-cabo.page-thank main .confirm-pill strong{
  color:var(--rf-navy);
  overflow-wrap:anywhere;
}
body.site-airport-cabo.page-thank main .thank-flight-note{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:9px 0 0;
  padding:11px 14px;
  border:1px solid var(--rf-line);
  border-radius:5px;
  background:#f8f5ef;
  color:var(--rf-muted);
  font-size:11px;
  line-height:1.55;
}
body.site-airport-cabo.page-thank main .thank-flight-note::before{
  content:"i";
  display:grid;
  width:20px;
  height:20px;
  margin-top:1px;
  place-items:center;
  border:1px solid rgba(13,48,69,.22);
  border-radius:50%;
  color:var(--rf-navy);
  font-family:var(--rf-serif);
  font-size:13px;
  font-style:italic;
  font-weight:700;
  line-height:1;
}
body.site-airport-cabo.page-thank main .summary-divider--notes{
  margin-top:5px;
  padding-bottom:5px;
  border-bottom:0;
}
body.site-airport-cabo.page-thank main .thank-reservation-notes{
  display:grid;
  gap:9px;
  padding:7px 0 4px;
}
body.site-airport-cabo.page-thank main .thank-reservation-note{
  position:relative;
  min-width:0;
  padding:12px 13px 13px 15px;
  border:1px solid var(--rf-line);
  border-left:3px solid var(--rf-accent);
  border-radius:0 4px 4px 0;
  background:linear-gradient(100deg,#fff8f3,#fffdf9 62%);
}
body.site-airport-cabo.page-thank main .thank-reservation-note > span{
  display:block;
  margin-bottom:6px;
  color:var(--rf-accent-dark);
  font-size:8px;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.3;
  text-transform:uppercase;
}
body.site-airport-cabo.page-thank main .thank-reservation-note > p{
  margin:0;
  color:var(--rf-navy);
  font-size:11px;
  font-weight:650;
  line-height:1.58;
  overflow-wrap:anywhere;
}
@media (max-width:560px){
  body.site-airport-cabo.page-thank main .confirm-pill{
    align-items:flex-start;
    padding:12px;
  }
  body.site-airport-cabo.page-thank main .thank-reservation-note{
    padding:12px;
  }
}
