
/* Site layer for every page with the public header: mobile header and menu, glass
   buttons, small-copy type, iOS form fixes and the Account app entry. Scoped to
   html.bw-site (set by site-head.js); legacy Guest pages are excluded. */

/* Jost (SIL Open Font License, /motion/fonts/OFL.txt) for small labels and spaced capitals. */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url('/motion/fonts/jost-latin.woff2') format('woff2'); }
html.bw-site .eyebrow, html.bw-site .hero-kicker, html.bw-site .hero-bottom span, html.bw-site .bw-privileges thead th { font-family: 'Jost', 'DM Sans', sans-serif !important; font-weight: 500 !important; }

/* ---------- Header and menu (phones and small tablets) ---------- */
html.bw-site .bw-wordmark-rest { font: inherit; letter-spacing: inherit; color: inherit; }
@media (max-width: 900px) {
  /* language.css pins this with !important per width; the compact header is 64px. */
  html.bw-site.bw-site:not(.guest-booking) { --public-header-height: 64px !important; }
  html.bw-site header.membership-nav { display: flex !important; align-items: center !important; justify-content: center !important; flex-wrap: nowrap !important; height: 64px !important; min-height: 64px !important; padding: 0 16px !important; }
  html.bw-site header.membership-nav .brand-lockup { position: relative; z-index: 2; display: flex !important; align-items: center; gap: 10px; margin: 0 auto !important; }
  html.bw-site header.membership-nav .brand-mark, html.bw-site header.membership-nav .logo { width: 28px !important; height: 28px !important; }
  html.bw-site header.membership-nav .wordmark { font-size: 15px !important; letter-spacing: 3px !important; white-space: nowrap; }
  html.bw-site .bw-wordmark-rest { display: none; }

  /* Icon only (the word stays for screen readers and translation), legible over photos. */
  .bw-menu-button { position: absolute; z-index: 3; right: 6px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; color: #fff; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .bw-menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .bw-menu-icon { position: relative; width: 22px; height: 10px; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); }
  .bw-menu-icon i { position: absolute; left: 0; width: 100%; height: 1.5px; border-radius: 1px; background: currentColor; transition: transform .45s cubic-bezier(.16, 1, .3, 1), top .45s cubic-bezier(.16, 1, .3, 1); }
  .bw-menu-icon i:first-child { top: 0; }
  .bw-menu-icon i:last-child { top: 8.5px; }
  .bw-menu-open .bw-menu-icon i:first-child { top: 4.25px; transform: rotate(45deg); }
  .bw-menu-open .bw-menu-icon i:last-child { top: 4.25px; transform: rotate(-45deg); }

  /* The header's blur would trap the fixed panel inside the header: off while it shows. */
  html.bw-menu-active header.membership-nav { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  html.bw-menu-open { overflow: hidden; }

  html.bw-site header.membership-nav nav { position: fixed !important; inset: 0 !important; z-index: 1; display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; margin: 0 !important; padding: 104px 28px max(28px, env(safe-area-inset-bottom)) !important; background: #080808 !important; opacity: 0 !important; visibility: hidden !important; transition: opacity .35s ease, visibility 0s linear .35s; overflow-y: auto; }
  html.bw-menu-open header.membership-nav nav { opacity: 1 !important; visibility: visible !important; transition: opacity .35s ease; }

  /* Links drop in one by one; on closing they leave together, quickly. */
  /* On Account the link sits in .nav-account-menu with the sign-out button: same rows. */
  html.bw-site header.membership-nav nav > .nav-account-menu { display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important; opacity: 0; transform: translateY(-14px); transition: opacity .2s ease, transform .2s ease; }
  html.bw-site header.membership-nav nav > a:not(.bw-menu-cta), html.bw-site header.membership-nav nav > .nav-account-menu > a, html.bw-site header.membership-nav nav > .nav-account-menu > .nav-signout:not([hidden]) { display: block !important; width: 100% !important; min-height: 0 !important; box-sizing: border-box !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 13px 0 !important; border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .09) !important; color: #fff !important; font: 500 22px/1.2 'Manrope', sans-serif !important; letter-spacing: -.01em !important; text-align: left !important; opacity: 0; transform: translateY(-14px); transition: opacity .2s ease, transform .2s ease; }
  /* The current page: a small dot after the word (replaces the site's full-width underline). */
  html.bw-site header.membership-nav nav a[aria-current="page"]::after { content: '' !important; position: static !important; display: inline-block !important; width: 5px !important; height: 5px !important; margin: 0 0 0 10px !important; border-radius: 50% !important; background: currentColor !important; transform: none !important; opacity: 1 !important; vertical-align: middle !important; }
  /* Inside the Account wrapper the wrapper itself animates; its contents just show. */
  html.bw-site header.membership-nav nav > .nav-account-menu > * { opacity: 1 !important; transform: none !important; transition: none !important; }
  html.bw-menu-open header.membership-nav nav > * { opacity: 1 !important; transform: none !important; transition: opacity .5s cubic-bezier(.16, 1, .3, 1) calc(var(--i, 0) * 60ms + 90ms), transform .65s cubic-bezier(.16, 1, .3, 1) calc(var(--i, 0) * 60ms + 90ms) !important; }

  /* The site's language switcher is replaced in the panel by a row of choices. */
  html.bw-site header.membership-nav nav .language-control { display: none !important; }
  .bw-menu-lang { display: flex; gap: 8px; margin: auto 0 16px; padding-top: 28px; opacity: 0; transform: translateY(-14px); transition: opacity .2s ease, transform .2s ease; }
  html.bw-site.bw-site:not(#a):not(#b) .bw-menu-lang button { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 0 !important; padding: 10px 0 !important; border: 1px solid rgba(255, 255, 255, .22) !important; border-radius: 999px !important; background: none !important; background-image: none !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; color: rgba(255, 255, 255, .7) !important; font: 500 13px/1 'DM Sans', sans-serif !important; cursor: pointer; }
  html.bw-site.bw-site:not(#a):not(#b) .bw-menu-lang button[aria-pressed="true"] { border-color: #fff !important; color: #fff !important; }

  .bw-menu-cta { display: block; text-align: center; opacity: 0; transform: translateY(-14px); }
}
@media (min-width: 901px) {
  .bw-menu-button, .bw-menu-cta, .bw-menu-lang { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  html.bw-site header.membership-nav nav, html.bw-site header.membership-nav nav > * { transition: none !important; }
}

/* The scrollbar's space is always reserved (classic scrollbars), so the header and its nav sit
   in the same place on short pages (no scrollbar) and long ones: no 15 px jump between pages. */
html.bw-site { scrollbar-gutter: stable; }

/* ---------- Glass buttons (phones), after Apple's Liquid Glass ----------
   Tagged by site-head.js. Light buttons stay the clear call to action (bright crystal,
   dark text); dark/outline ones become clear glass. Reservation steps and the terms
   panel keep their plain style (owner decision in Codex's glass release). The repeated
   class and :not(#id) outrank the site's own glass rule (ID-level, !important). */
@media (max-width: 900px) {
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass { position: relative; overflow: hidden; isolation: isolate; border-radius: 999px !important; -webkit-backdrop-filter: blur(12px) saturate(160%) !important; backdrop-filter: blur(12px) saturate(160%) !important; transition: transform .25s cubic-bezier(.16, 1, .3, 1), box-shadow .25s ease !important; }
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass::before { content: ''; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .55), rgba(255, 255, 255, 0) 60%); }
  /* The light glass is 88% white: its backdrop blur was invisible but recomputed on every
     frame while the hero moves under it (iPhone). */
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass-light { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: rgba(255, 255, 255, .88) !important; background-image: none !important; color: #0e0e0e !important; border: 1px solid rgba(255, 255, 255, .9) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 -1px 1px rgba(0, 0, 0, .12), 0 10px 28px -8px rgba(0, 0, 0, .55) !important; }
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass-dark { background: rgba(255, 255, 255, .09) !important; background-image: none !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, .28) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -1px 1px rgba(255, 255, 255, .06), 0 10px 28px -10px rgba(0, 0, 0, .6) !important; }
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass-dark::before { background: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .22), rgba(255, 255, 255, 0) 60%); }
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-glass:active { transform: scale(.97); }
  /* The menu button is a bare icon: none of the site's glass button styling. */
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-menu-button { background: none !important; background-image: none !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; border: 0 !important; border-radius: 0 !important; }
  /* The menu's reservation button arrives last, with the links. */
  html.bw-site.bw-site.bw-site:not(#a):not(#b) .bw-menu-cta.bw-glass { transition: opacity .2s ease, transform .2s ease !important; }
  html.bw-site.bw-site.bw-site.bw-menu-open:not(#a):not(#b) .bw-menu-cta.bw-glass { transition: opacity .5s cubic-bezier(.16, 1, .3, 1) calc(var(--i, 0) * 60ms + 90ms), transform .65s cubic-bezier(.16, 1, .3, 1) calc(var(--i, 0) * 60ms + 90ms) !important; }
}

/* ---------- Homepage first screen on phones ----------
   The photograph fills the screen as it opens (iPhone, iPhone Pro and Pro Max sizes);
   the copy sits in the lower part and the promise strip starts below the fold. */
@media (max-width: 900px) {
  /* Safari on iPhone draws the page under its floating toolbar, about 60px past the
     large viewport: the photograph covers that too, so the next section never peeks
     through. The copy and the bottom row stay within the visible (small) viewport. */
  html.bw-site main > .hero { --bw-hero-h: calc(100lvh + 64px); --bw-hidden: calc(var(--bw-hero-h) - 100svh); min-height: calc(100vh + 64px) !important; min-height: var(--bw-hero-h) !important; display: flex !important; flex-direction: column !important; box-sizing: border-box !important; padding-bottom: calc(78px + var(--bw-hidden)) !important; }
  html.bw-site main > .hero .hero-bottom { bottom: calc(25px + var(--bw-hidden)) !important; }
  html.bw-site main > .hero .hero-content { margin-top: auto !important; }
  /* Owner request: "Airport · Executive · Private" above "Greater Boston, Massachusetts". */
  html.bw-site .hero-bottom { flex-direction: column-reverse !important; align-items: flex-start !important; justify-content: flex-end !important; gap: 8px !important; }
  html.bw-site .hero-bottom span { white-space: nowrap; font-size: 9.5px !important; letter-spacing: .12em !important; text-align: left !important; }
  html.bw-site .hero-bottom span:last-child { max-width: none !important; }
}

/* ---------- Small copy: spaced capitals (owner choice "C") ---------- */
html.bw-site:not(.guest-booking) main > .hero .hero-copy,
html.bw-site:not(.guest-booking) #coverage > h2 + p { font-family: 'Jost', 'DM Sans', sans-serif !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .14em !important; text-transform: uppercase; line-height: 1.95 !important; font-style: normal !important; color: rgba(255, 255, 255, .74) !important; }
@media (min-width: 901px) {
  html.bw-site:not(.guest-booking) main > .hero .hero-copy, html.bw-site:not(.guest-booking) #coverage > h2 + p { font-size: 13.5px !important; }
}

/* ---------- iOS date and time fields ----------
   Safari on iPhone gives native date/time inputs an intrinsic width (they overflowed the
   reservation card) and shows them empty: keep them inside their box and add the icon. */
@supports (-webkit-touch-callout: none) {
  html.bw-site input[type="date"], html.bw-site input[type="time"] { -webkit-appearance: none !important; appearance: none !important; display: block !important; min-width: 0 !important; max-width: 100% !important; width: 100% !important; box-sizing: border-box !important; text-align: left !important; background-repeat: no-repeat !important; background-position: right 16px center !important; background-size: 18px 18px !important; padding-right: 46px !important; }
  html.bw-site input[type="date"] { background-image: url('/motion/icons/calendar.svg') !important; }
  html.bw-site input[type="time"] { background-image: url('/motion/icons/clock.svg') !important; }
  html.bw-site input[type="date"]::-webkit-date-and-time-value, html.bw-site input[type="time"]::-webkit-date-and-time-value { text-align: left; min-height: 1.3em; }
}

/* ---------- Account: the app entry ----------
   Desktop: under "Continue as a guest", inside the sign-in card. Phones: centred below
   the page content. The original entry stays for signed-in visitors. */
html.bw-site .bw-app-in-panel { display: none; }
@media (min-width: 901px) {
  html.bw-site .signin-panel .bw-app-in-panel { display: flex !important; flex-direction: column; align-items: center; gap: 12px; margin: 22px 0 0 !important; padding: 22px 0 0 !important; border: 0 !important; border-top: 1px solid rgba(255, 255, 255, .12) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: rgba(255, 255, 255, .78) !important; font: 500 12px/1 'DM Sans', sans-serif !important; letter-spacing: .14em !important; text-transform: uppercase; text-decoration: none !important; }
  html.bw-site .noir-account:has(#signin:not([hidden])) .account-support .client-app-entry:not(.bw-app-in-panel) { display: none !important; }
}
@media (max-width: 900px) {
  html.bw-site .account-support { display: flex !important; flex-direction: column; align-items: center; text-align: center; }
  html.bw-site .account-support .client-app-entry { justify-content: center !important; margin-inline: auto !important; }
}
/* Use the approved font bytes for header text from its first visible frame. A
   swap-font fallback changes each label's advance width and moves the whole nav.
   Separate face names restrict native font-loading block to the affected header
   and first-screen headlines instead of changing every text face on the site. */
@font-face{font-family:'Blackwater Header Sans';src:url('/motion/fonts/DMSans-variable.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:block}
@font-face{font-family:'Blackwater Header Wordmark';src:url('/motion/fonts/Manrope-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:block}
html.bw-site header.membership-nav nav,html.bw-site header.membership-nav nav a,html.bw-site header.membership-nav .language-control summary{font-family:'Blackwater Header Sans',sans-serif!important}
html.bw-site header.membership-nav .wordmark{font-family:'Blackwater Header Wordmark',sans-serif!important}
/* The same metric swap also moved the first-paint hero and app-dialog headlines.
   Keep their approved Manrope glyphs/metrics; their Georgia italics remain intact. */
html.bw-site .hero-line,html.bw-site #app-promotion-title{font-family:'Blackwater Header Wordmark',sans-serif!important}
html.bw-site .signin-intro h1,html.bw-site #signin-title,html.bw-site footer .wordmark{font-family:'Blackwater Header Wordmark',sans-serif!important}
@media(max-width:900px){html.bw-site header.membership-nav nav>a:not(.bw-menu-cta),html.bw-site header.membership-nav nav>.nav-account-menu>a{font-family:'Blackwater Header Wordmark',sans-serif!important}}

/* Cross-document page transition. Normal links, history and direct
   URLs are untouched: browsers without support simply navigate as today.
   /membership/ does not opt in, so its approved welcome screen is unchanged. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  header.membership-nav { view-transition-name: bw-header; }
  ::view-transition-group(bw-header) { animation: none; }
  /* Desktop: the header is not cross-faded. Two header snapshots blended over each other
     showed the nav twice whenever they differed (a page with a scrollbar and one without
     place the nav 15 px apart; the current-page mark moves). The new header shows at once.
     Phones keep the fade: there the header snapshot includes the open full-screen menu. */
  @media (min-width: 901px) {
    ::view-transition-old(bw-header) { animation: none; opacity: 0; }
    ::view-transition-new(bw-header) { animation: none; }
  }
  /* Short and opacity-only: the page cannot be clicked while a transition runs, so it
     must end quickly (it was ~0.7 s with a filter and a clip, both repainting). */
  ::view-transition-old(root) { animation: bw-page-out .14s cubic-bezier(.4, 0, 1, 1) both; }
  ::view-transition-new(root) { animation: bw-page-in .26s cubic-bezier(.16, 1, .3, 1) both; }
  @keyframes bw-page-out { to { opacity: 0; } }
  @keyframes bw-page-in { from { opacity: 0; } }
}

/* Blackwater homepage motion — presentation helpers only.
   Every rule is scoped to html.bw-motion, which motion-boot.js sets only when
   motion is allowed. Without it the page renders exactly as production. */

/* Line masks used by the headline reveals. Padding keeps descenders and the
   Georgia italic overhang inside the mask; negative margins cancel the space.
   The hero's lines and photo wrapper are in the HTML (build time), so they exist at the
   first paint and are never moved by script (moving an element restarts its animation). */
.bw-line{display:block}
.bw-art-wrap{position:absolute;inset:0;overflow:hidden}
.bw-motion .bw-line{display:block;overflow:hidden;padding:0 .12em .14em 0;margin:0 -.12em -.14em 0}
.bw-motion .bw-line-inner{display:block}
.bw-motion .bw-line em{display:inline-block}

/* The GSAP entrance replaces production's CSS hero keyframes (same resting values). */
.bw-motion .hero-art,.bw-motion .hero-bottom,.bw-motion .hero-content>*{animation:none}

/* Hero entrance: the approved GSAP timeline, re-expressed in CSS so it starts with the first
   paint (it used to wait hidden for the GSAP download, which the site serves with no-store
   on every visit). Same delays, durations and easings (expo.out = .19,1,.22,1; power2.out =
   .25,.46,.45,.94; power3.out = .215,.61,.355,1; expo.inOut = .87,0,.13,1). fill-mode
   backwards: once finished, scroll animations own these properties. Scrolling or tabbing
   early plays the rest within 0.35 s (motion.js), as before.
   Fades start at 1% opacity, not 0: compositor opacity animations from 0 are only counted
   as painted (LCP) when they end, although the text is on screen from the first frame. */
@keyframes bw-art{from{transform:scale(1.07)}to{transform:scale(1.015)}}
@keyframes bw-intro-veil{from{opacity:.55}to{opacity:0}}
@keyframes bw-line-up{from{transform:translate3d(0,108%,0)}}
@keyframes bw-em-in{from{transform:translate3d(18px,0,0)}}
@keyframes bw-fade{from{opacity:.01}}
@keyframes bw-kicker{from{opacity:.01;letter-spacing:.42em}}
@keyframes bw-fade-left{from{opacity:.01;transform:translate3d(-16px,0,0)}}
@keyframes bw-clip-in{from{clip-path:inset(0 100% 0 0)}}
html.bw-motion .hero .hero-art{animation:bw-art 2.4s cubic-bezier(.25,.46,.45,.94) both} /* rests at 1.015, as production */
html.bw-motion .hero .bw-art-wrap::after{content:"";position:absolute;inset:0;background:#0b0b0b;opacity:0;pointer-events:none;animation:bw-intro-veil 1.6s cubic-bezier(.25,.46,.45,.94)}
html.bw-motion .hero .hero-kicker{animation:bw-kicker 1.4s cubic-bezier(.215,.61,.355,1) .15s backwards}
/* Animated tracking wrapped the mobile eyebrow onto two lines, then collapsed
   it to one (16px), moving the bottom-aligned hero copy. Fade at final metrics. */
@media(max-width:900px){html.bw-motion .hero .hero-kicker{animation-name:bw-fade}}
html.bw-motion .hero .hero-line .bw-line-inner{animation:bw-line-up 1.25s cubic-bezier(.19,1,.22,1) .25s backwards}
html.bw-motion .hero .hero-line .bw-line:nth-child(2) .bw-line-inner{animation-delay:.37s}
html.bw-motion .hero .hero-line em{animation:bw-em-in 1.6s cubic-bezier(.19,1,.22,1) .42s backwards}
html.bw-motion .hero .hero-copy{animation:bw-fade 1.1s cubic-bezier(.25,.46,.45,.94) .6s backwards}
html.bw-motion .hero .actions .button{animation:bw-clip-in 1.1s cubic-bezier(.87,0,.13,1) .7s backwards}
html.bw-motion .hero .actions .button:nth-child(2){animation-delay:.8s}
html.bw-motion .hero .hero-bottom{animation:bw-fade 1.2s cubic-bezier(.25,.46,.45,.94) 1s backwards}
html.bw-motion .promise span{animation:bw-fade-left 1.1s cubic-bezier(.215,.61,.355,1) 1.05s backwards}
html.bw-motion .promise span:nth-child(2){animation-delay:1.14s}
html.bw-motion .promise span:nth-child(3){animation-delay:1.23s}

/* Sequence 1 — the hero stays behind while the page rises over it. */
.bw-motion main{background:#fff}
/* Production main uses overflow:hidden, which disables sticky. clip trims the
   same overflow without creating a scroll container. */
.bw-motion.bw-sticky main{overflow:clip}
.bw-motion .hero{z-index:0}
.bw-motion .bw-stage-hero>.hero{position:sticky}
.bw-motion .bw-art-wrap{transform-origin:62% 55%;will-change:transform}
.bw-motion .bw-veil{position:absolute;inset:0;background:#0b0b0b;opacity:0;pointer-events:none}
.bw-motion .promise,.bw-motion main>section:not(.hero),.bw-motion footer{position:relative;z-index:1}

/* Sequence 2 — services. Each card gets a hairline "leg" along its lower edge. */
.bw-motion .service{position:relative}
.bw-motion .bw-leg{position:absolute;left:-1px;right:-1px;bottom:-1px;height:1px;background:#111;transform:scaleX(0);transform-origin:left center;pointer-events:none}
.bw-motion .bw-stage-services{position:relative;z-index:1;background:#fff}
.bw-motion .bw-stage-services>#services{position:sticky}

/* Sequence 3 — membership aperture and the experience route line. */
.bw-motion .experience-details{position:relative}
.bw-motion .bw-route{position:absolute;left:10px;width:1px;background:#8a8a8a;transform:scaleY(0);transform-origin:top center;pointer-events:none}
.bw-motion .experience-details .experience-icon{position:relative;z-index:1;background:var(--bw-experience-bg,#f4f4f4);box-shadow:0 0 0 6px var(--bw-experience-bg,#f4f4f4)}

/* A quiet hover refinement for the service links: an underline draws in. */
.bw-motion .service .text-link{width:fit-content;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s cubic-bezier(.16,1,.3,1)}
/* The underline follows the text; touch screens get it on focus only (no sticky hover). */
@media (hover:hover){.bw-motion .service:hover .text-link{background-size:100% 1px}}
.bw-motion .service:focus-visible .text-link{background-size:100% 1px}

/* The site styles the hero through main>.hero (header offset in reservation/chrome.css,
   hero copy in language/language.css). The non-Journey layout wraps the hero in a sticky stage, so
   the same rules are carried over to the wrapped hero. */
html.bw-motion:not(.guest-booking) main>.bw-stage-hero>.hero{padding-top:calc(var(--public-header-height) + 42px)}
html.bw-motion:not(.guest-booking) main>.bw-stage-hero>.hero .hero-copy{font-family:'DM Sans',sans-serif!important;font-size:clamp(16px,1.25vw,20px)!important;font-weight:400!important;line-height:1.65!important;letter-spacing:0!important;font-style:normal!important;max-width:540px}
@media(max-width:600px){html.bw-motion:not(.guest-booking) main>.bw-stage-hero>.hero{padding-top:calc(var(--public-header-height) + 28px)}}

/* Journey variant — bolder redesign of the hero, services and coverage: Services
   becomes a held stage inside the car (rear-seat photograph) where the three
   services are points joined by drawn cables. Scoped to html.bw-motion.bw-journey;
   without it nothing applies. */

.bw-journey.bw-motion main{background:#0b0b0b}
/* The page's own background shows in the iOS bounce past the top and the footer: match the footer. */
html.bw-journey.bw-motion,.bw-journey.bw-motion body{background:#111}

/* ---------- Hero: full height, shrinks into a framed window on scroll ---------- */
@media (min-width:900px){
  .bw-journey.bw-motion .hero{min-height:calc(100svh - 92px)}
  .bw-journey.bw-motion .hero-content{max-width:min(1100px,88vw)}
  .bw-journey.bw-motion .hero h1 .hero-line{font-size:clamp(56px,6.2vw,96px);line-height:1.02}
}
.bw-journey.bw-motion .hero{transform-origin:50% 100%;will-change:transform}

/* ---------- The connected stage (services) ---------- */
.bw-journey.bw-motion #services{position:relative;background:#0b0b0b;color:#fff;padding:0;overflow:visible}
.bw-journey.bw-motion .bw-drive-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.bw-journey.bw-motion .bw-drive-band{position:absolute;inset:0;overflow:hidden;background:#0b0b0b}
/* Photo, cables and points move together as one camera frame. */
.bw-journey.bw-motion .bw-cine-frame{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.bw-journey.bw-motion .bw-cine-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:grayscale(1) contrast(1.08) brightness(.9)}
.bw-journey.bw-motion .bw-cine-shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,rgba(8,8,8,0) 35%,rgba(8,8,8,.75) 100%),linear-gradient(0deg,rgba(8,8,8,.7) 0%,rgba(8,8,8,0) 35%)}
.bw-journey.bw-motion .bw-cine-dim{position:absolute;inset:0;background:#080808}
.bw-journey.bw-motion .bw-cables{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bw-journey.bw-motion .bw-cables path{fill:none;stroke-linecap:round}
.bw-journey.bw-motion .bw-cables .is-live{stroke:rgba(255,255,255,.9);stroke-width:1.4;filter:drop-shadow(0 0 2px rgba(0,0,0,.95))}
/* The night drive is a bright picture (road and city lights): set it back so the route reads. */
.bw-journey.bw-motion .is-drive .bw-cine-photo{filter:grayscale(1) contrast(1.1) brightness(.6)}
.bw-journey.bw-motion .bw-cables .bw-pulse{fill:#fff;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 14px rgba(255,255,255,.7))}
.bw-journey.bw-motion .bw-node{position:absolute;left:0;top:0;width:0;height:0}
.bw-journey.bw-motion .bw-node i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 0 5px rgba(255,255,255,.16),0 0 18px rgba(255,255,255,.55)}
.bw-journey.bw-motion .bw-node i::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(255,255,255,.45);animation:bw-node-breathe 2.8s ease-in-out infinite}
@keyframes bw-node-breathe{0%,100%{transform:scale(.7);opacity:.2}50%{transform:scale(1.15);opacity:.7}}
.bw-journey.bw-motion .bw-node b{position:absolute;left:16px;top:-7px;white-space:nowrap;font:600 10px/1.4 'DM Sans',sans-serif;letter-spacing:2.4px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.bw-journey.bw-motion .bw-node.is-left b{left:auto;right:16px}
.bw-journey.bw-motion .bw-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bw-journey.bw-motion .bw-leaders line{stroke:rgba(255,255,255,.55);stroke-width:1}

.bw-journey.bw-motion .bw-drive-track{position:absolute;inset:0;pointer-events:none}
.bw-journey.bw-motion #services .section-heading{display:block;position:absolute;left:6vw;bottom:13vh;width:min(760px,60vw);margin:0}
.bw-journey.bw-motion #services .section-heading .eyebrow{color:#a0a0a0}
.bw-journey.bw-motion #services .section-heading h2{color:#fff;font-size:clamp(46px,5.6vw,88px);line-height:1.02;letter-spacing:-.03em;margin:0 0 26px}
.bw-journey.bw-motion #services .section-heading>p{color:#b8b8b8;font-size:17px;margin:0}
.bw-journey.bw-motion #services .section-heading br{display:none}
/* Each service is a glass card that sits beside its point in the photograph. */
.bw-journey.bw-motion #services .service{position:absolute;left:0;top:0;width:min(380px,30vw);margin:0;padding:28px 30px 26px;pointer-events:auto;
  background:rgba(12,12,12,.58);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border:1px solid rgba(255,255,255,.14);border-radius:18px;color:#fff;transition:none;overflow:visible}
.bw-journey.bw-motion #services .service:hover{transform:none;border-color:rgba(255,255,255,.3)}
.bw-journey.bw-motion #services .service-number{display:block;color:#a8a8a8;letter-spacing:2.6px}
.bw-journey.bw-motion #services .service h3{color:#fff;font-size:clamp(26px,2.2vw,34px);line-height:1.1;letter-spacing:-.015em;margin:14px 0 14px}
.bw-journey.bw-motion #services .service p{color:#cfcfcf;min-height:0;font-size:15px;line-height:1.7;margin:0}
.bw-journey.bw-motion #services .service .text-link{color:#fff;border:0;margin-top:16px}

/* ---------- The app ---------- */
.bw-journey.bw-motion .bw-app{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:6%;align-items:center;background:#ececec;color:#141414;overflow:hidden;padding-top:120px;padding-bottom:150px}
.bw-journey.bw-motion .bw-app .eyebrow{color:#6d6d6d}
.bw-journey.bw-motion .bw-app h2{font-size:clamp(42px,4.6vw,72px);line-height:1.04;letter-spacing:-.03em;margin:0 0 26px}
.bw-journey.bw-motion .bw-app h2 em{font-family:Georgia,serif;font-weight:400}
.bw-journey.bw-motion .bw-app-lead{font-size:18px;color:#3d3d3d;margin:0 0 30px}
.bw-journey.bw-motion .bw-app-list{list-style:none;margin:0 0 36px;padding:0;border-top:1px solid #d2d2d2}
.bw-journey.bw-motion .bw-app-list li{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #d2d2d2;font-size:15px}
.bw-journey.bw-motion .bw-app-list strong{font-weight:600}
.bw-journey.bw-motion .bw-app-list span{color:#6a6a6a;text-align:right}
.bw-journey.bw-motion .bw-app-store img{display:block;height:48px;width:auto}
.bw-journey.bw-motion .bw-app-devices{position:relative;perspective:1600px;min-height:560px}
.bw-journey.bw-motion .bw-browser{position:absolute;right:0;top:0;width:100%;border-radius:16px;overflow:hidden;background:#151515;border:1px solid #2a2a2a;box-shadow:0 50px 90px -30px rgba(0,0,0,.45),0 20px 40px -20px rgba(0,0,0,.3);transform-origin:50% 100%;will-change:transform}
.bw-journey.bw-motion .bw-browser-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#1d1d1d;border-bottom:1px solid #2a2a2a}
.bw-journey.bw-motion .bw-browser-bar i{width:9px;height:9px;border-radius:50%;background:#3a3a3a}
.bw-journey.bw-motion .bw-browser-bar span{margin:0 auto;padding:3px 18px;border-radius:7px;background:#262626;color:#9a9a9a;font:500 11px/1.4 'DM Sans',sans-serif;letter-spacing:.3px}
.bw-journey.bw-motion .bw-browser-view{position:relative;aspect-ratio:16/10;overflow:hidden}
.bw-journey.bw-motion .bw-browser-view img{display:block;width:100%;height:auto}
/* The phone overlaps the browser's right side (the hero photograph), never the headline. */
.bw-journey.bw-motion .bw-phone{position:absolute;right:-6%;bottom:-40px;width:min(250px,30%);aspect-ratio:9/19.5;border-radius:42px;padding:9px;background:#0a0a0a;box-shadow:0 0 0 1px #2d2d2d,0 50px 80px -24px rgba(0,0,0,.55);will-change:transform}
.bw-journey.bw-motion .bw-phone-island{position:absolute;left:50%;top:17px;width:30%;height:20px;margin-left:-15%;border-radius:12px;background:#000;z-index:1}
.bw-journey.bw-motion .bw-phone-screen{width:100%;height:100%;border-radius:34px;overflow:hidden;background:#f3f3f3}
.bw-journey.bw-motion .bw-phone-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
@media (max-width:899.98px){
  .bw-journey.bw-motion .bw-app{grid-template-columns:1fr;gap:56px;padding-top:72px;padding-bottom:96px}
  .bw-journey.bw-motion .bw-app-devices{min-height:0;padding-bottom:40px}
  .bw-journey.bw-motion .bw-browser{position:relative}
  .bw-journey.bw-motion .bw-phone{left:auto;right:4%;bottom:-10px;width:38%}
  .bw-journey.bw-motion .bw-app-list li{flex-direction:column;gap:4px}
  .bw-journey.bw-motion .bw-app-list span{text-align:left}
}

/* ---------- Coverage: destinations on the move ---------- */
.bw-journey.bw-motion .coverage .places{display:block;width:100vw;max-width:none;margin:56px 0 0 calc(50% - 50vw);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.bw-journey.bw-motion .bw-lane{display:flex;width:max-content;gap:0;white-space:nowrap;will-change:transform}
.bw-journey.bw-motion .bw-lane span{display:inline-flex;align-items:center;border:0;background:none;padding:0;margin:0;font:600 clamp(30px,4.6vw,68px)/1.25 Manrope,sans-serif;letter-spacing:-.02em;color:#fff}
.bw-journey.bw-motion .bw-lane span::after{content:'';display:inline-block;width:.18em;height:.18em;margin:0 .7em;border-radius:50%;background:#555}
/* Same type as the first lane, set back in a softer grey. */
.bw-journey.bw-motion .bw-lane.is-muted span{color:#7c7c7c}

/* ---------- Phones: the photograph and its cables stay in a band above the stops ---------- */
@media (max-width:899.98px){
  .bw-journey.bw-motion #services{padding:0 6% 72px}
  .bw-journey.bw-motion .bw-drive-sticky{position:static;height:auto;overflow:visible}
  .bw-journey.bw-motion .bw-drive-band{position:sticky;top:0;height:46svh;margin:0 -6.4% 8px;z-index:2}
  .bw-journey.bw-motion .bw-cine-shade{background:linear-gradient(0deg,#0b0b0b 0%,rgba(11,11,11,0) 38%)}
  .bw-journey.bw-motion .bw-leaders{display:none}
  .bw-journey.bw-motion .bw-drive-track{position:static}
  .bw-journey.bw-motion #services .section-heading,
  .bw-journey.bw-motion #services .service{position:static;width:auto}
  .bw-journey.bw-motion #services .section-heading{margin:28px 0 48px}
  .bw-journey.bw-motion #services .section-heading h2{font-size:clamp(40px,11vw,56px)}
  .bw-journey.bw-motion #services .service{margin:0 0 28px;padding:24px 22px;background:#121212;-webkit-backdrop-filter:none;backdrop-filter:none}
  .bw-journey.bw-motion #services .service h3{font-size:clamp(28px,8vw,36px)}
}
/* Native history owns the scroll position. Chrome's automatic scroll anchoring
   otherwise compensates for the cinematic stage being assembled, moving a restored
   position by the stage's added height. Scope this to the animated homepage. */
.bw-journey.bw-motion main{overflow-anchor:none}

/* Only the approved build-9 guest welcome. No inherited global theme.
   While any dialog is open, all original app presentation is restored. */
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation {
  background: #0B0B0D !important;
  border-color: #353538 !important;
  box-shadow: none !important;
}
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation > .reservation-heading h2 {
  color: #FFFFFF !important;
}
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation > .reservation-heading p:last-child,
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation > .native-guest-note {
  color: #B8B8BE !important;
}
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation > .mobile-booking-launch {
  background: #FFFFFF !important;
  color: #0B0B0D !important;
  border-color: #FFFFFF !important;
  box-shadow: none !important;
}
html[data-bw-guest-welcome="v1"].guest-booking:not(:has(dialog[open])) #reservation > .native-guest-note i {
  background: #B8B8BE;
}


:root{--navy:#151515;--ink:#212121;--gold:#bcbcbc;--cream:#f5f5f5;--muted:#6e6e6e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #7b7b7b;outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;background:var(--navy);color:white;border-bottom:1px solid #ffffff20}.wordmark{font:600 23px/1.1 'Manrope',sans-serif;letter-spacing:3px}.wordmark span{display:block;font:500 10px/2.5 'DM Sans',sans-serif;letter-spacing:5px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--gold)}.header-cta{font-size:14px;border:1px solid #868686;padding:12px 20px}.header-cta span{margin-left:20px}.hero{min-height:710px;position:relative;background:#151515;color:white;overflow:hidden}.hero-art{position:absolute;inset:0;background:linear-gradient(90deg,#111111eb 0%,#11111199 40%,#11111110 76%),linear-gradient(0deg,#111111bb,transparent 40%),url('/hero.jpg') center/cover no-repeat}.hero-content{position:relative;padding:83px 6% 110px;max-width:850px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.3px;margin:0 0 25px;color:#7b7b7b}.hero .eyebrow{color:var(--gold)}h1{font:500 clamp(44px,5.2vw,76px)/1.09 'Manrope',sans-serif;letter-spacing:-3px;margin:0 0 27px}h1 em{font:italic 1.07em/1.1 Georgia,serif;color:#c8c8c8;letter-spacing:-2px}.hero-copy{font-size:17px;line-height:1.8;color:#d7d7d7}.actions{display:flex;gap:30px;align-items:center;margin-top:30px}.button{display:flex;justify-content:space-between;align-items:center;gap:45px;padding:16px 24px;border:none;font-weight:600;cursor:pointer;font-size:15px}.gold{background:var(--gold);color:#1e1e1e}.gold:hover{background:#cdcdcd}.phone{font-size:15px;border-bottom:1px solid #ababab;padding:8px 0}.hero-bottom{position:absolute;bottom:25px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#c9c9c9}.promise{display:flex;justify-content:space-around;padding:23px 6%;background:#212121;color:#e0e0e0;font-size:13px}.promise span::before{content:'✓';color:var(--gold);margin-right:12px}.section{padding:100px 6%;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.section-heading p:last-child{color:var(--muted);font-size:15px}h2{font:500 clamp(32px,3.3vw,48px)/1.2 'Manrope',sans-serif;letter-spacing:-1.7px;margin:0 0 20px}h3{font:600 21px/1.3 'Manrope',sans-serif;margin:0 0 15px;letter-spacing:-.5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{padding:32px;border:1px solid #dbdbdb;background:#fcfcfc;transition:transform .2s,border-color .2s}.service:hover{transform:translateY(-5px);border-color:#949494}.service-number{font-size:11px;letter-spacing:1.8px;color:#7f7f7f}.service-symbol{font:40px/1 Georgia;color:#797979;margin:37px 0 27px}.service p{font-size:15px;color:var(--muted);min-height:100px}.text-link{display:inline-block;font-size:14px;font-weight:600;padding-top:12px}.experience{background:#ececec;display:grid;grid-template-columns:1fr 1fr;gap:13%}.experience p{max-width:500px;color:var(--muted)}.experience .intro{font-size:20px;color:var(--ink)}.experience-details>div{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid #d0d0d0}.experience-details>div:first-child{padding-top:0}.experience-details>div>span{font-size:12px;color:#797979;padding-top:4px}.experience-details p{font-size:15px;margin:0}.coverage{text-align:center;background:var(--navy);color:#ffffff}.coverage .eyebrow{color:var(--gold)}.coverage p:not(.eyebrow){color:#bababa}.places{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px auto 0;max-width:920px}.places span{border:1px solid #ffffff29;padding:9px 17px;font-size:13px}.quote{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;background:#fcfcfc}.quote-intro>p{color:var(--muted);max-width:330px}.contact{margin-top:55px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact>span{font-size:11px;letter-spacing:2px;color:var(--muted)}.contact>a:first-of-type{font-size:24px}.contact .email{font-size:14px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:600}input,select,textarea{display:block;width:100%;border:1px solid #d3d3d3;border-radius:0;padding:12px;background:#ffffff;color:var(--ink);margin-top:7px;font-size:15px;min-height:48px}input:focus,select:focus,textarea:focus{outline:2px solid #959595;outline-offset:1px}.optional{font-size:12px;color:var(--muted);font-weight:400;margin-left:8px}form>.button{width:100%;margin-top:25px}.form-note{font-size:12px;color:var(--muted);line-height:1.7}#form-status{font-size:14px}#copy{padding:10px;background:white;border:1px solid var(--ink);cursor:pointer}footer{padding:45px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;background:#101010;color:white}footer p{color:#a9a9a9;font-size:13px}footer small{font-size:11px}footer>a:last-child{font-size:13px;color:var(--gold)}.mobile-bar{display:none}@media(min-width:1600px){header,.section,footer{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:850px){header{height:84px}nav{display:none}.wordmark{font-size:19px}.wordmark span{font-size:9px}.hero{min-height:660px}.hero-content{padding-top:75px}.hero-art{background-position:65% center}.service-grid{gap:12px}.service{padding:23px}.service p{min-height:150px}.section{padding:70px 6%}.section-heading{display:block}.experience,.quote{gap:7%}h2{font-size:35px}footer{flex-wrap:wrap}}@media(max-width:600px){header{height:80px;padding:0 5%}.header-cta{font-size:12px;padding:10px}.header-cta span{display:none}.wordmark{font-size:17px;letter-spacing:2px}.wordmark span{letter-spacing:3px;font-size:8px}.hero{min-height:665px}.hero-art{background-image:linear-gradient(90deg,#111111e8,#11111185),linear-gradient(0deg,#11111199,transparent),url('/hero.jpg');background-position:62% center}.hero-content{padding:65px 6% 100px}h1{font-size:48px;letter-spacing:-2px}.hero .eyebrow{font-size:10px;letter-spacing:1.6px}.hero-copy{font-size:15px}.hero-copy br{display:none}.actions{gap:20px;flex-wrap:wrap}.hero-bottom{font-size:9px;letter-spacing:1px;gap:15px}.hero-bottom span:last-child{max-width:100px;text-align:right}.promise{gap:13px;flex-direction:column;padding:20px 6%;font-size:12px}.section{padding:60px 6%}.service-grid,.experience,.quote{grid-template-columns:1fr}.service{padding:27px}.service-symbol{margin:20px 0}.service p{min-height:0}.service .text-link{margin-top:6px}.section-heading{margin-bottom:30px}.section-heading br{display:none}.experience-details{margin-top:25px}.coverage p br{display:none}.places{gap:8px}.places span{font-size:12px;padding:8px 12px}.quote{gap:35px}.contact{margin-top:25px}.form-grid{gap:16px}label{font-size:12px}input,select,textarea{font-size:16px}footer{padding-bottom:100px;align-items:flex-start;flex-direction:column}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--navy);color:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 15px #00000022}.mobile-bar a{padding:16px 20px;text-align:center;font-size:13px;flex:1;border-right:1px solid #ffffff25}.mobile-bar a:last-child{flex:2;background:var(--gold);color:var(--navy)} }@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.ride-extras{border-top:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;margin-top:24px}.ride-extras summary{cursor:pointer;padding:16px 0;font-size:14px;font-weight:500}.ride-extras summary span{color:#6e6e6e;font-size:12px;margin-left:8px}.ride-extras .form-grid{padding:5px 0 20px}.quote label{font-size:14px}.quote .form-note{font-size:13px}

/* Refined entry-point typography and reservation action. */
.header-cta{display:inline-flex;align-items:center;gap:20px;padding:9px 10px 9px 21px;border:1px solid #bcbcbc4d;border-radius:999px;background:#bcbcbc0a;color:#dbdbdb;font-size:13px;font-weight:500;letter-spacing:.2px;transition:background .2s,border-color .2s}
.header-cta span{display:grid;place-items:center;width:31px;height:31px;margin:0;border-radius:50%;background:#bcbcbc;color:#1e1e1e;font-size:17px}
.header-cta:hover{background:#bcbcbc1c;border-color:#bcbcbc}
.hero-copy{font-family:'Manrope',sans-serif;font-size:17px;font-weight:400;line-height:1.95;letter-spacing:.15px;color:#cfcfcf;max-width:560px}
@media(max-width:600px){.header-cta{font-size:12px;padding:9px 14px;gap:0}.header-cta span{display:none}.hero-copy{font-size:15px;line-height:1.85;max-width:330px}}

/* Editorial refinement: quieter copy, stronger rhythm, and usable mobile navigation. */
header{height:92px}
nav{gap:32px}nav a{position:relative;padding:10px 0}nav a::after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--gold);transition:width .2s}nav a:hover::after{width:100%}
.hero-content{padding-top:90px;padding-bottom:115px}
.hero-copy{font-size:17px;line-height:1.9;color:#dbdbdb;max-width:470px;margin-top:29px}
.actions{margin-top:32px}.actions .button{padding:17px 26px;min-width:250px;border-radius:3px;transition:background .2s,transform .2s}.actions .button:hover{transform:translateY(-2px)}
.hero-art{background-image:linear-gradient(90deg,#111111ee 0%,#111111a3 35%,#11111115 72%),linear-gradient(0deg,#111111bf,transparent 45%),url('/hero.jpg')}
.promise{justify-content:space-between;padding-top:24px;padding-bottom:24px;letter-spacing:.2px;border-bottom:1px solid #ffffff12}
.section-heading{margin-bottom:48px}.section-heading h2{max-width:650px}.section-heading>p{max-width:310px}
.service-grid{gap:0;border-top:1px solid #d2d2d2;border-bottom:1px solid #d2d2d2}
.service{background:transparent;border:0;border-right:1px solid #d2d2d2;padding:34px 32px 32px}.service:last-child{border-right:0}.service:hover{transform:none;background:#ffffff}.service-number{display:block;margin-bottom:40px;color:#717171}.service h3{font-size:24px;line-height:1.3}.service p{min-height:112px;max-width:330px}.service .text-link{border-top:1px solid #dfdfdf;display:block;margin-top:28px;padding-top:20px;color:#363636}
.experience{background:#efefef}.experience .text-link{border-bottom:1px solid #a6a6a6;padding-bottom:6px}.experience-details h3{font-size:19px}.experience-details>div{padding:27px 0}
.coverage{padding-top:80px;padding-bottom:80px}.coverage h2{font-size:clamp(36px,4vw,56px)}.places span{border:0;border-bottom:1px solid #ffffff35;padding:9px 14px}
.quote{padding-top:90px;padding-bottom:90px}.quote-intro h2{font-size:clamp(38px,4vw,56px)}input,select,textarea{border-radius:3px;transition:border-color .2s}.quote form>.button{border-radius:3px}.contact{padding-top:26px;border-top:1px solid #dedede;margin-top:36px}.form-note{max-width:530px}
@media(max-width:850px){nav{display:flex;gap:18px;font-size:13px}.service{padding:28px 22px}.service h3{font-size:21px}.service p{min-height:145px}}
@media(max-width:600px){header{height:auto;min-height:111px;display:flex;flex-direction:column;align-items:flex-start;padding:18px 6% 10px;gap:9px}.wordmark{font-size:19px}nav{display:flex;width:100%;justify-content:space-between;gap:12px;font-size:12px}nav a{padding:7px 0}.hero{min-height:625px}.hero-content{padding-top:55px;padding-bottom:90px}.hero-copy{font-size:15px;line-height:1.9;max-width:320px}.hero-copy br{display:initial}.hero-art{background-image:linear-gradient(90deg,#111111ed,#11111185),linear-gradient(0deg,#111111a0,transparent),url('/hero.jpg')}.hero .eyebrow{font-size:10px;letter-spacing:1.3px}.actions .button{min-width:235px}.promise{padding:22px 6%;gap:10px}.service-grid{border:0}.service{border:0;border-top:1px solid #d2d2d2;padding:27px 0;background:transparent}.service:last-child{border-bottom:1px solid #d2d2d2}.service:hover{background:transparent}.service-number{margin-bottom:20px}.service p{min-height:0;max-width:none}.service .text-link{border:0;margin-top:12px;padding-top:0}.service h3{font-size:24px}.section-heading{margin-bottom:28px}.coverage,.quote{padding-top:60px;padding-bottom:60px}.contact{margin-top:25px;padding-top:22px}.mobile-bar a{font-size:14px}.mobile-bar a:last-child{font-size:13px}}

.service{display:flex;flex-direction:column}.service .text-link{margin-top:auto}.service p{margin-bottom:28px}@media(max-width:600px){.service .text-link{margin-top:8px}.service p{margin-bottom:12px}}

.chauffeur-picker{border:0;border-top:1px solid #dbdbdb;margin:26px 0 0;padding:23px 0 0}.chauffeur-picker legend{font:600 16px/1.3 'Manrope',sans-serif;padding:0}.chauffeur-picker legend span{font:400 12px/1.3 'DM Sans',sans-serif;color:var(--muted);margin-left:7px}.chauffeur-picker>p{color:var(--muted);font-size:13px;margin:7px 0 17px}.chauffeur-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chauffeur-card{position:relative;display:grid;grid-template-columns:36px 1fr;column-gap:10px;align-items:center;border:1px solid #d6d6d6;background:#ffffff;padding:11px;cursor:pointer;transition:border-color .18s,background .18s}.chauffeur-card:hover{border-color:#949494}.chauffeur-card:has(input:checked){border-color:#949494;background:#fcfcfc}.chauffeur-card input{position:absolute;opacity:0;pointer-events:none}.chauffeur-initials{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#232323;color:#c4c4c4;font:600 12px/1 'Manrope',sans-serif;letter-spacing:.3px}.chauffeur-name{font-size:14px;font-weight:600;line-height:1.25}.chauffeur-vehicle{font-size:11px;color:var(--muted);line-height:1.35;margin-top:2px}.chauffeur-card:focus-within{outline:2px solid #959595;outline-offset:2px}@media(max-width:600px){.chauffeur-grid{grid-template-columns:1fr}.chauffeur-picker{margin-top:22px}.chauffeur-card{padding:12px}.chauffeur-picker>p{font-size:12px}}

/* Reservation flow */
.quote{display:block;padding-top:115px;padding-bottom:115px;background:#f0f0f0}.reservation-heading{max-width:1120px;margin:0 auto 48px}.reservation-heading h2{margin:0;max-width:760px}.reservation-heading h2 em{font-size:.98em;white-space:nowrap}.reservation-heading>p{margin:22px 0 0;max-width:620px;font-size:17px;line-height:1.75}.reservation-contact{margin:28px 0 0;align-items:flex-start;gap:8px}.reservation-contact>span{font-size:10px}.reservation-contact>div{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:15px}.reservation-contact a{font-size:13px!important;border-bottom:1px solid #b6b6b6;padding-bottom:2px}.reservation-contact .email{overflow-wrap:normal}.quote form{max-width:1120px;margin:0 auto;background:#ffffff;border:1px solid #dfdfdf;box-shadow:0 18px 42px #1d1d1d0b;padding:38px 42px 34px}.reservation-step{padding-bottom:33px}.step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:24px}.step-heading>span,.step-number{display:grid;place-items:center;flex:0 0 auto;width:31px;height:31px;border-radius:50%;background:var(--navy);color:var(--gold);font:600 11px/1 'Manrope',sans-serif;letter-spacing:.7px}.step-heading h3{margin:0 0 2px;font-size:18px}.step-heading p{margin:0;color:var(--muted);font-size:13px}.quote .form-grid{gap:18px 20px}.quote label{font-size:12px;letter-spacing:.15px}.quote input,.quote select,.quote textarea{border-color:#dbdbdb;background:#fefefe}.chauffeur-picker{margin:0;padding:31px 0;border-top:1px solid #dfdfdf}.chauffeur-picker legend{display:flex;align-items:center;gap:13px;font:inherit;padding:0}.chauffeur-picker legend .step-copy{display:flex;flex-direction:column;gap:2px;margin:0}.chauffeur-picker legend strong{font:600 18px/1.3 'Manrope',sans-serif}.chauffeur-picker legend small{font:400 12px/1.4 'DM Sans',sans-serif;color:var(--muted)}.chauffeur-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;max-height:285px;overflow-y:auto;overscroll-behavior:contain;padding:0 10px 0 0;scrollbar-color:#949494 #f0f0f0;scrollbar-width:thin}.chauffeur-grid::-webkit-scrollbar{width:8px}.chauffeur-grid::-webkit-scrollbar-track{background:#f0f0f0}.chauffeur-grid::-webkit-scrollbar-thumb{background:#949494;border-radius:9px}.chauffeur-card{grid-template-columns:47px 1fr;min-height:73px;column-gap:12px;padding:12px;border-color:#e0e0e0}.chauffeur-card:has(input:checked){border-color:#949494;background:#fafafa;box-shadow:inset 3px 0 #a2a2a2}.chauffeur-initials{width:47px;height:47px;background:#232323;font-size:12px}.chauffeur-photo{grid-row:span 2;width:47px;height:47px;border-radius:50%;object-fit:cover;object-position:center 24%;border:1px solid #bcbcbc}.chauffeur-details{display:flex;flex-direction:column;justify-content:center;min-width:0}.chauffeur-name{font-size:14px}.chauffeur-vehicle{font-size:11px}.ride-extras{margin-top:0}.quote form>.button{margin-top:28px}.quote .form-note{margin:12px 0 0}@media(max-width:850px){.quote form{padding:30px}}@media(max-width:600px){.quote{padding-top:65px;padding-bottom:65px}.reservation-heading{margin-bottom:30px}.reservation-heading h2 em{white-space:normal}.reservation-heading>p{margin-top:18px;font-size:15px}.reservation-contact{align-items:flex-start;margin-top:24px;padding-top:18px;border-top:1px solid #dadada}.reservation-contact>div{justify-content:flex-start;gap:12px 16px}.quote form{padding:25px 18px 24px}.reservation-step{padding-bottom:26px}.step-heading{margin-bottom:20px}.step-heading h3{font-size:17px}.chauffeur-picker{padding:26px 0}.chauffeur-grid{grid-template-columns:1fr;gap:9px;margin-top:20px}.chauffeur-card{min-height:68px}.chauffeur-photo,.chauffeur-initials{width:44px;height:44px}.chauffeur-picker legend strong{font-size:17px}.quote form>.button{margin-top:23px}}
.address-widget{display:block;width:100%;margin-top:7px}.address-widget gmp-place-autocomplete{display:block;width:100%;min-height:48px;color:var(--ink);color-scheme:light}.address-widget gmp-place-autocomplete:focus-within{outline:2px solid #959595;outline-offset:1px}
.address-manual-toggle{display:block;margin:8px 0 0;padding:0;border:0;background:transparent;color:#6a6a6a;font-size:12px;text-decoration:underline;cursor:pointer}.address-fallback{display:none}.manual-address-open .address-fallback{display:block}.manual-address-open .address-manual-toggle{display:none}
.brand-lockup{display:flex;align-items:center;gap:7px}.brand-mark{width:39px;height:39px;object-fit:contain}.brand-lockup .wordmark{font-size:19px;letter-spacing:2.6px}.brand-lockup .wordmark span{font-size:8px;letter-spacing:4px;line-height:2.3}@media(max-width:600px){.brand-mark{width:34px;height:34px}.brand-lockup .wordmark{font-size:17px}.brand-lockup .wordmark span{font-size:7px;letter-spacing:3px}}


/* Motion system */
.hero-art{will-change:transform;animation:hero-image-in 1.4s cubic-bezier(.2,.7,.2,1) both}.hero-content>*{opacity:1}.hero-ready>*{animation:hero-copy-in .8s cubic-bezier(.16,1,.3,1) both}.hero-ready .eyebrow{animation-delay:.18s}.hero-ready h1{animation-delay:.32s}.hero-ready .hero-copy{animation-delay:.48s}.hero-ready .actions{animation-delay:.64s}.hero-bottom{animation:hero-bottom-in .9s .75s cubic-bezier(.16,1,.3,1) both}.promise span{transition-delay:var(--reveal-delay,0ms)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}.reveal-service{transform:translateY(34px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.service{position:relative;overflow:hidden}.service::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1)}.service:hover::before{transform:scaleX(1)}.button span{display:inline-block;transition:transform .25s cubic-bezier(.16,1,.3,1)}.button:hover span{transform:translate(3px,-3px)}.places span{transition:color .2s,border-color .2s,transform .2s}.places span:hover{color:var(--gold);border-color:var(--gold);transform:translateY(-2px)}@keyframes hero-image-in{from{opacity:.35;transform:scale(1.08)}to{opacity:1;transform:scale(1.035)}}@keyframes hero-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-bottom-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.reveal{transform:translateY(18px)}.hero-art{animation-duration:1s}}@media(prefers-reduced-motion:reduce){.hero-art,.hero-content>*,.hero-bottom{animation:none!important}.hero-content>*{opacity:1;transform:none}.reveal{opacity:1;transform:none;transition:none}.service::before{display:none}}

/* Final visual pass: one restrained system across every section. */
main{overflow:hidden}.section{position:relative}.section+.section{border-top:1px solid #e2e2e2}.experience,.coverage{border-top:0!important}.eyebrow{margin-bottom:18px;font-size:11px;letter-spacing:2.1px}.section-heading{margin-bottom:42px}.section-heading>p{margin-bottom:3px}.service-grid{border-color:#dadada}.service{padding-top:31px;padding-bottom:30px}.service-number{margin-bottom:31px}.service p{line-height:1.7}.experience{padding-top:92px;padding-bottom:92px}.coverage{padding-top:88px;padding-bottom:88px}.coverage>p:not(.eyebrow){max-width:680px;margin-left:auto;margin-right:auto;line-height:1.8}.places{margin-top:30px;max-width:1020px}.places span{font-size:12px;letter-spacing:.1px}.quote{padding-top:96px;padding-bottom:100px}.reservation-heading{margin-bottom:40px}.quote form{box-shadow:0 14px 32px #1d1d1d08}.form-grid{gap:18px}.chauffeur-card{transition:border-color .2s,background .2s,box-shadow .2s}.hero-art{animation-duration:1.15s}@keyframes hero-image-in{from{opacity:.52;transform:scale(1.045)}to{opacity:1;transform:scale(1.015)}}.reveal{transform:translateY(18px);transition-duration:.62s}.reveal-service{transform:translateY(22px)}.service::before{height:2px;transition-duration:.32s}@media(max-width:600px){.section+.section{border-top:1px solid #e2e2e2}.eyebrow{margin-bottom:15px}.experience,.coverage,.quote{padding-top:64px;padding-bottom:64px}.reservation-heading{margin-bottom:29px}.places{margin-top:25px}.reveal{transform:translateY(14px)}}

/* Tighter section rhythm. */
.section{padding-top:82px;padding-bottom:82px}.experience{padding-top:78px;padding-bottom:78px}.coverage{padding-top:74px;padding-bottom:74px}.quote{padding-top:80px;padding-bottom:84px}.reservation-heading{margin-bottom:34px}@media(max-width:600px){.section,.experience,.coverage,.quote{padding-top:52px;padding-bottom:52px}.quote form{margin-top:0}}


/* Secure hosted payment link */
.payment{text-align:center;background:#f8f8f8}.payment h2{font-size:clamp(36px,4vw,54px)}.payment>p:not(.eyebrow){max-width:570px;margin:0 auto 28px;color:var(--muted);line-height:1.75}.payment .button{width:fit-content;margin:0 auto}@media(max-width:600px){.payment{padding-top:58px;padding-bottom:58px}.payment>p:not(.eyebrow){font-size:15px}.payment .button{width:100%}}
.hero-payment{border:1px solid #ffffff;background:#ffffff;color:#111111}.hero-payment span{color:inherit}.hero-payment:hover{border-color:#ececec;background:#ececec;color:#111111}

/* Header brand lockup */
header{height:96px;border-bottom-color:#bcbcbc30}header nav{gap:30px;font-size:12px;letter-spacing:.25px}header nav a{color:#dbdbdb}header nav a:hover{color:#c4c4c4}.brand-lockup{gap:12px}.brand-emblem{display:grid;place-items:center;width:46px;height:46px;border:1px solid #bcbcbc66;border-radius:50%;background:#ffffff05}.brand-mark{width:35px;height:35px}.brand-lockup .wordmark{font:600 18px/1 'Manrope',sans-serif;letter-spacing:2.4px}.brand-lockup .wordmark span{font:500 8px/2.2 'DM Sans',sans-serif;letter-spacing:4px;color:#cecece}.brand-lockup .wordmark small{display:block;margin-top:5px;color:#bcbcbc;font:500 8px/1.2 'DM Sans',sans-serif;letter-spacing:1.35px;white-space:nowrap}@media(max-width:600px){header{min-height:118px;padding-top:15px}.brand-emblem{width:40px;height:40px}.brand-mark{width:30px;height:30px}.brand-lockup{gap:10px}.brand-lockup .wordmark{font-size:17px}.brand-lockup .wordmark span{font-size:7px;letter-spacing:3.4px}.brand-lockup .wordmark small{font-size:6px;letter-spacing:1px}}
.brand-lockup .wordmark{font-size:15px;letter-spacing:1.35px;white-space:nowrap}@media(max-width:600px){.brand-lockup .wordmark{font-size:12px;letter-spacing:.85px}}
.brand-emblem{width:39px;height:45px;border:0;border-radius:0;background:transparent}.brand-mark{width:39px;height:39px}@media(max-width:600px){.brand-emblem{width:34px;height:40px}.brand-mark{width:34px;height:34px}}

/* Driver photo lightbox */
.chauffeur-photo{cursor:zoom-in;object-position:center 18%}.driver-modal{position:fixed;z-index:100;inset:0;display:grid;place-content:center;gap:17px;padding:28px;background:#101010f0;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.driver-modal[aria-hidden="false"]{opacity:1;visibility:visible}.driver-modal img{display:block;width:min(320px,72vw);aspect-ratio:1;max-height:none;object-fit:cover;object-position:center 18%;border:3px solid #bcbcbc;border-radius:50%;box-shadow:0 20px 60px #00000088}.driver-modal p{margin:0;text-align:center;color:#ffffff;font:500 17px 'Manrope',sans-serif}.driver-modal-close{position:absolute;top:18px;right:22px;width:42px;height:42px;border:1px solid #ffffff55;background:transparent;color:#ffffff;font-size:31px;line-height:1;cursor:pointer}.modal-open{overflow:hidden}

/* Reservation delivery choice */
.delivery-modal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:22px;background:#101010e8;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.delivery-modal[aria-hidden="false"]{opacity:1;visibility:visible}.delivery-card{position:relative;width:min(500px,100%);padding:42px;background:#f8f8f8;color:var(--ink);box-shadow:0 24px 70px #00000088}.delivery-card .eyebrow{margin-bottom:14px}.delivery-card h2{margin:0 0 12px;font-size:34px;line-height:1.08}.delivery-card>p:not(.eyebrow){margin:0 0 26px;color:var(--muted);line-height:1.65}.delivery-card .button{display:flex;width:100%;justify-content:space-between;margin-top:10px}.delivery-card .outline{border:1px solid var(--ink);background:transparent;color:var(--ink)}.delivery-card #copy{width:100%;margin-top:14px;padding:12px;border:1px solid #c6c6c6;background:transparent;color:var(--ink);font:600 12px 'Manrope',sans-serif;cursor:pointer}.delivery-modal-close{position:absolute;top:12px;right:15px;width:38px;height:38px;border:0;background:transparent;color:var(--ink);font-size:28px;line-height:1;cursor:pointer}@media(max-width:600px){.delivery-card{padding:35px 24px 26px}.delivery-card h2{font-size:29px}}

/* Compact six-item navigation for phone widths. */
@media(max-width:600px){header nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;font-size:9px;letter-spacing:0}header nav a{min-width:0;white-space:nowrap;text-align:center}}

/* Mobile navigation and contact access */
.footer-contact{display:flex;flex-direction:column;gap:3px}.footer-contact p{margin:0 0 5px}.footer-contact a{font-size:13px;color:#e3e3e3}.footer-contact small{margin-top:8px;color:#a9a9a9}@media(max-width:600px){header{min-height:150px!important}header nav{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2px;font-size:11px!important}header nav a{padding:7px 2px!important}.mobile-bar a{padding:15px 8px!important;font-size:11px!important}.mobile-bar a:last-child{flex:1.25}.footer-contact a{font-size:14px}}

/* Refined mobile navigation and quick actions */
@media(max-width:600px){
  header{min-height:118px!important}
  header nav{grid-template-columns:repeat(4,minmax(0,1fr));font-size:11px!important}
  .hero .hero-payment{display:none}
  .mobile-bar a:last-child{flex:1.35;background:var(--gold);color:var(--navy)}
}

.address-widget[hidden]{display:none!important}.address-help{display:block;color:#6e6e6e;font-size:12px;font-weight:400;margin-top:8px;line-height:1.5}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#reservation-protection{margin-top:20px;max-width:100%;min-height:0}.reservation-receipt{margin-top:24px;padding:28px;border:1px solid #bcbcbc;background:#f0f0f0}.reservation-receipt[hidden]{display:none}.reservation-receipt .eyebrow{margin-bottom:10px}.reservation-receipt p{font-size:14px}.reservation-receipt small{color:#6e6e6e}#form-status{overflow-wrap:anywhere}

.address-widget{position:relative}.address-results{position:absolute;left:0;right:0;top:100%;z-index:8;background:#ffffff;box-shadow:0 10px 28px #15151523;border:1px solid #d8d8d8;border-radius:8px;overflow:hidden}.address-results[hidden]{display:none}.address-results button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #efefef;border-radius:0;background:white;color:#212121;padding:13px 15px;font-size:14px;line-height:1.45;min-height:48px}.address-results button:hover,.address-results button[aria-selected=true]{background:#ececec}.address-attribution{font-family:Arial,sans-serif;font-size:12px;font-weight:400;font-style:normal;letter-spacing:normal;color:#5e5e5e;white-space:nowrap;text-align:right;padding:10px 12px}.address-widget input{margin:0}

.form-note a{text-decoration:underline;text-underline-offset:3px}
/* Journey details and consistent portrait cards. */
.stop-editor{margin:-2px 0 2px}.stop-editor>small{display:block;font-size:11px;color:#7d7d7d;line-height:1.5;margin-top:8px}.stop-row{display:flex;gap:12px;align-items:flex-start;margin:0 0 20px}.stop-row>label{flex:1;min-width:0}.remove-stop{background:none;border:0;color:#646464;font:inherit;font-size:11px;padding:10px 0;margin-top:25px;cursor:pointer;min-height:44px}.add-stop{background:#ededed;border:1px solid #dadada;border-radius:6px;color:#505050;padding:11px 16px;font:inherit;font-size:12px;cursor:pointer;min-height:44px}.add-stop:disabled{opacity:.55;cursor:default}.optional-label{font-weight:400;color:#8d8d8d;font-size:10px;margin-left:5px}.extras-note{margin:0;color:#7d7d7d;font-size:11px;line-height:1.5}.portrait-note{display:block;font-size:9px;color:#7e7e7e;line-height:1.4;margin-top:3px}.chauffeur-grid .chauffeur-card{min-height:96px;grid-template-columns:56px minmax(0,1fr);gap:12px}.chauffeur-grid .chauffeur-photo{width:56px;height:70px;border-radius:7px;object-fit:cover;object-position:50% 35%;cursor:default;grid-row:auto;background:white}.chauffeur-grid .chauffeur-details{min-width:0}.chauffeur-grid .chauffeur-initials{width:56px;height:70px;border-radius:7px}.chauffeur-grid .chauffeur-name{font-size:13px}.chauffeur-grid .chauffeur-vehicle{font-size:10px}@media(max-width:600px){.stop-row{gap:8px}.chauffeur-grid .chauffeur-card{gap:10px}.quick-messages textarea{font-size:16px}}

/* Reservation refinement: a clear sequence with a compact chauffeur list. */
#reservation{padding-top:76px;padding-bottom:76px;background:#f3f3f3}
#reservation .reservation-heading{max-width:780px;margin:0 auto 32px}
#reservation .reservation-heading h2{font-size:clamp(36px,4vw,50px);line-height:1.12;margin-bottom:16px;letter-spacing:-1.2px}
#reservation .reservation-heading>p:last-child{max-width:570px;font-size:15px;line-height:1.7;color:#6e6e6e}
#reservation-form{max-width:780px;padding:32px 36px;background:#ffffff;border:1px solid #e2e2e2;border-radius:16px;box-shadow:0 8px 40px #22222206}
#reservation-form .reservation-step{padding:0 0 26px;margin:0}
#reservation-form .contact-step{padding-top:26px;border-top:1px solid #ebebeb}
#reservation-form .step-heading{gap:12px;margin-bottom:20px;align-items:center}
#reservation-form .step-heading>span,#reservation-form .step-number{width:28px;height:28px;min-width:28px;background:#f0f0f0;color:#6e6e6e;font-size:10px;border:0}
#reservation-form h3,#reservation-form .step-copy strong{font-family:inherit;font-size:17px;font-weight:600;letter-spacing:-.25px;color:#272727}
#reservation-form .form-grid{gap:16px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
#reservation-form .form-grid>label{min-width:0}
#reservation-form label{font-size:12px;letter-spacing:.05px;color:#4d4d4d}
#reservation-form input:not([type=radio]):not([type=hidden]),#reservation-form select,#reservation-form textarea{border:1px solid #e3e3e3;background:#fbfbfb;border-radius:8px;min-height:48px;padding:13px 14px;box-shadow:none;color:#292929}
#reservation-form input:focus,#reservation-form select:focus,#reservation-form textarea:focus{outline:2px solid #9e9e9e;outline-offset:2px;background:#ffffff}
#reservation-form .address-manual-toggle{font-size:10px;min-height:26px;margin:2px 0 -7px;padding:4px 0}
#reservation-form .stop-editor{display:flex;flex-wrap:wrap;gap:0 12px;align-items:center;margin:-8px 0 -4px}
#reservation-form #journey-stops{flex-basis:100%}
#reservation-form .stop-editor>small{display:inline;margin:0;font-size:10px;color:#808080}
#reservation-form .add-stop{min-height:36px;padding:8px 10px;background:none;border:0;color:#5e5e5e;font-size:11px}
#reservation-form .stop-row{margin:0 0 14px}
#reservation-form .ride-extras{border:0;border-top:1px solid #ededed;margin:22px 0 0;padding:0;background:transparent}
#reservation-form .ride-extras summary{padding:17px 0 0;min-height:40px;font-size:13px;color:#4a4a4a;font-weight:500}
#reservation-form .ride-extras summary span{font-size:10px;color:#8b8b8b;font-weight:400}
#reservation-form .ride-extras[open] .form-grid{padding:20px 0 0;margin:0}
#reservation-form .ride-extras textarea{min-height:92px}
#reservation-form .chauffeur-picker{border:0;border-top:1px solid #ebebeb;padding:25px 0 0;margin:0;min-width:0}
#reservation-form .chauffeur-picker legend{padding:0;margin:0;float:left;width:100%;gap:12px;align-items:center}
#reservation-form .step-copy small{font-size:11px;line-height:1.5;margin-top:5px;color:#7e7e7e}
#reservation-form .chauffeur-grid{clear:both;position:relative;top:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:186px;overflow:auto;scrollbar-gutter:stable;margin:0;padding:18px 6px 2px 0;overscroll-behavior:contain;scrollbar-color:#bababa #f5f5f5}
#reservation-form .chauffeur-grid .chauffeur-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;padding:10px 26px 10px 10px;min-height:76px;border:1px solid #e7e7e7;border-radius:9px;background:#ffffff;box-shadow:none;transition:background .15s,border-color .15s}
#reservation-form .chauffeur-grid .chauffeur-card:hover{background:#f8f8f8;border-color:#c6c6c6}
#reservation-form .chauffeur-grid .chauffeur-card:has(input:checked){background:#f2f2f2;border-color:#9d9d9d;box-shadow:none}
#reservation-form .chauffeur-grid .chauffeur-card:has(input:checked)::after{content:'✓';position:absolute;right:9px;top:11px;font-size:12px;font-weight:600;color:#757575}
#reservation-form .chauffeur-grid .chauffeur-card:has(input:focus-visible){outline:2px solid #757575;outline-offset:2px}
#reservation-form .chauffeur-grid .chauffeur-photo,#reservation-form .chauffeur-grid .chauffeur-initials{width:48px;height:48px;min-width:48px;border-radius:50%;object-fit:cover;object-position:50% 32%;background:#f0f0f0;border:0}
#reservation-form .chauffeur-photo[src*='kubilay-original']{object-position:50% 29%}
#reservation-form .chauffeur-initials{display:grid;place-items:center;color:#7e7e7e;font-size:12px}
#reservation-form .chauffeur-grid .chauffeur-name{font-size:12px;font-weight:600;line-height:1.3}
#reservation-form .chauffeur-grid .chauffeur-vehicle{font-size:10px;line-height:1.4;margin-top:4px;color:#7e7e7e}
#reservation-form .portrait-note{font-size:9px;color:#8a8a8a;margin-top:2px;line-height:1.3}
#reservation-form .chauffeur-selection{font-size:11px;color:#808080;margin:12px 0 0;line-height:1.5}
#reservation-form .chauffeur-selection strong{font-weight:500;color:#5e5e5e}
#reservation-form>.button{width:100%;justify-content:space-between;border-radius:8px;background:#222222;color:#ffffff;min-height:52px;margin-top:24px;letter-spacing:.05px;font-size:13px}
#reservation-form>.button:hover{background:#383838}
#reservation-form>.form-note{max-width:560px;font-size:11px;line-height:1.7;margin:14px auto 0;text-align:center;color:#828282}
#reservation-form>#form-status{margin-bottom:0}
@media(max-width:600px){
 #reservation{padding-top:52px;padding-bottom:52px}
 #reservation .reservation-heading{margin-bottom:26px}
 #reservation .reservation-heading h2{font-size:36px}
 #reservation .reservation-heading>p:last-child{font-size:14px}
 #reservation-form{padding:24px 18px;border-radius:12px}
 #reservation-form .form-grid{gap:15px 12px}
 #reservation-form .form-grid>label:not(.full){grid-column:auto}
 #reservation-form .form-grid>label:has(input[type=date]),#reservation-form .form-grid>label:has(input[type=time]){grid-column:1/-1}
 #reservation-form .add-stop{min-height:44px}
 #reservation-form .contact-step .form-grid>label{grid-column:1/-1}
 #reservation-form input:not([type=radio]):not([type=hidden]),#reservation-form select,#reservation-form textarea{font-size:16px;min-width:0;width:100%;padding:12px 10px}
 #reservation-form .chauffeur-grid{grid-template-columns:1fr;max-height:182px;padding-top:16px}
 #reservation-form .chauffeur-grid .chauffeur-card{min-height:70px;padding:9px 28px 9px 10px}
 #reservation-form .chauffeur-grid .chauffeur-name{font-size:13px}
 #reservation-form .chauffeur-grid .chauffeur-vehicle{font-size:11px}
 #reservation-form .ride-extras summary{min-height:44px}
}
@media(prefers-reduced-motion:reduce){#reservation-form .chauffeur-card{transition:none}}
/* Successful requests receive a clear, dismissible confirmation. */
.reservation-confirmation{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid #e4e4e4;border-radius:24px;background:#fcfcfc;color:var(--ink);box-shadow:0 24px 90px #10101040;overflow:auto;overscroll-behavior:contain}
.reservation-confirmation::backdrop{background:#10101088;backdrop-filter:blur(5px)}
.confirmation-card{padding:34px 30px 28px;text-align:center}
.confirmation-check{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 22px;border-radius:50%;background:var(--navy);color:var(--gold);font-size:26px}
.confirmation-card .eyebrow{margin:0 0 10px;font-size:10px;letter-spacing:2px}
.confirmation-card h2{font-size:32px;letter-spacing:-1px;margin:0 0 14px}
.confirmation-card #reservation-confirmation-message{font-size:16px;line-height:1.65;margin:0 0 16px}
.confirmation-card #reservation-confirmation-note{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 14px}
.confirmation-card small{display:block;color:var(--muted);font-size:11px;letter-spacing:.5px}
.confirmation-card button{display:block;width:100%;min-height:48px;margin-top:24px;border:0;border-radius:10px;background:var(--navy);color:#ffffff;font-weight:600;cursor:pointer}
body:has(.reservation-confirmation[open]){overflow:hidden}
@media(max-width:360px){.confirmation-card{padding:28px 22px 22px}.confirmation-card h2{font-size:28px}}
/* A clear account entry point, separate from the guest reservation form. */
#reservation .reservation-account-link{max-width:780px;margin:0 auto 20px;padding:25px 28px;display:flex;align-items:center;justify-content:space-between;gap:26px;background:#222222;border:1px solid #3e3e3e;border-radius:14px;color:#ffffff;box-shadow:0 10px 28px #2222220c}
.account-invitation{display:flex;align-items:center;gap:19px;min-width:0}.account-invitation-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border:1px solid #a8a8a866;border-radius:50%;color:#c1c1c1}.account-invitation-icon svg{width:24px;height:24px}
#reservation .account-invitation-title{margin:0 0 6px;color:#ffffff;font-size:23px;line-height:1.25;font-family:Georgia,serif}
#reservation #customer-access-copy{margin:0;color:#e6e6e6;font-size:13px;line-height:1.6;max-width:410px}.account-invitation-note{display:block;margin-top:8px;font-size:11px;color:#c7c7c7}
#reservation #customer-access{display:inline-flex;align-items:center;justify-content:center;gap:25px;flex-shrink:0;min-height:48px;padding:13px 22px;border:1px solid #bfbfbf;border-radius:8px;background:#bfbfbf;color:#222222;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .2s}
#reservation #customer-access:hover{background:#d2d2d2}#reservation #customer-access:focus-visible{outline:3px solid #ffffff;outline-offset:4px}
@media(max-width:600px){#reservation .reservation-account-link{padding:22px 20px;gap:18px;flex-direction:column;align-items:stretch;border-radius:12px;margin-bottom:16px}.account-invitation{align-items:flex-start;gap:13px}.account-invitation-icon{width:36px;height:36px;flex-basis:36px}.account-invitation-icon svg{width:21px;height:21px}#reservation .account-invitation-title{font-size:23px}#reservation #customer-access-copy{font-size:14px}#reservation #customer-access{width:100%;justify-content:space-between;font-size:15px;min-height:50px}}
@media(prefers-reduced-motion:reduce){#reservation #customer-access{transition:none}}

header nav .nav-account{color:#c8c8c8}header nav .nav-account:hover{color:#ffffff}
/* Shared review and saved chauffeur controls. */
.journey-review{width:min(560px,calc(100% - 28px));max-height:90dvh;padding:30px;border:1px solid #e2e2e2;border-radius:18px;background:#fcfcfc;color:#242424;overflow:auto}.journey-review::backdrop{background:#11111199;backdrop-filter:blur(4px)}.journey-review h2{font-size:28px;letter-spacing:-1px}.journey-review .eyebrow{font-size:10px;margin-bottom:10px}.journey-review dl{display:grid;grid-template-columns:120px 1fr;gap:12px 18px;font-size:13px;margin:25px 0}.journey-review dt{color:#7d7d7d}.journey-review dd{margin:0;overflow-wrap:anywhere}.review-actions{display:flex;gap:10px;margin-top:22px}.review-actions button{flex:1;border:1px solid #d7d7d7;border-radius:8px;min-height:48px;padding:10px;background:white;color:#242424;cursor:pointer}.review-actions [data-send]{background:#222222;color:white;border-color:#222222}body:has(.journey-review[open]){overflow:hidden}
#reservation-form .chauffeur-grid[hidden]{display:none!important}.preferred-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e2e2;border-radius:10px;background:#f7f7f7;padding:12px 14px;margin-top:16px}.preferred-summary>div{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500}.preferred-summary button{background:transparent;border:0;color:#5c5c5c;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px;font-size:13px;cursor:pointer}.preferred-avatar{display:block;overflow:hidden;width:44px;height:44px;border-radius:50%;flex-shrink:0}#reservation-form .preferred-avatar img{width:44px;height:44px;min-width:44px;object-fit:cover}
@media(max-width:600px){.journey-review{padding:24px 20px}.journey-review dl{grid-template-columns:95px 1fr;gap:12px}.journey-review h2{font-size:25px}}


/* Approved monochrome identity, September 2026. */
:root{--navy:#111;--ink:#171717;--gold:#dedede;--cream:#fff;--muted:#626262}
body{background:#fff}header{background:#111;border-bottom:1px solid #ffffff20}header nav a{color:#e9e9e9}header nav a:hover{color:#fff}.hero{background:#111}.hero-art{filter:grayscale(1);background-image:linear-gradient(90deg,#080808ed 0%,#08080899 42%,#0808080d 78%),linear-gradient(0deg,#080808aa,transparent 45%),url('/hero.jpg');background-image:linear-gradient(90deg,#080808ed 0%,#08080899 42%,#0808080d 78%),linear-gradient(0deg,#080808aa,transparent 45%),image-set(url('/media/hero.webp') type('image/webp'),url('/hero.jpg') type('image/jpeg'))}.hero .eyebrow{color:#d0d0d0}h1 em{color:#fff}.hero-copy{color:#dedede}.hero .gold{background:#fff;color:#111;border:1px solid #fff}.hero .gold:hover{background:#e9e9e9}.hero .hero-payment{background:transparent;color:#fff;border:1px solid #ffffff80}.hero .hero-payment:hover{background:#ffffff12;color:white}.promise{background:#1b1b1b;color:#ddd}.promise span::before{color:#fff}.eyebrow{color:#676767}.service,.services{background:#fff}.service:hover{border-color:#333}.experience{background:#f4f4f4}.coverage{background:#111}.coverage .eyebrow{color:#ccc}.coverage p:not(.eyebrow){color:#c6c6c6}#reservation{background:#f5f5f5}#reservation .reservation-heading h2 em{color:#444}#reservation #customer-access{background:#fff;border-color:#ccc;color:#171717}.login-dot{background:#222}.gold{background:#171717;color:white}.gold:hover{background:#333}#reservation-form{box-shadow:0 12px 40px #00000006}.chauffeur-card:has(input:checked),.pj-card:has(input:checked){background:#f1f1f1!important;border-color:#222!important;box-shadow:inset 0 0 0 1px #222!important}.personal-journey{background:#f7f7f7}.pj-icon,.pj-optional,.pj-check{color:#444}.payment,.partners-section{background:#fff}footer{background:#111}.mobile-bar{background:#171717}.mobile-bar a:last-child{background:#fff!important;color:#111!important}input:focus,select:focus,textarea:focus{outline-color:#333}a:focus-visible,button:focus-visible{outline-color:#777}
@media(max-width:600px){.hero-art{background-position:62% center}.hero .gold{width:100%}}

/* Approved visual refinement. */
html{scroll-padding-top:0}
#reservation{scroll-margin-top:0;padding-top:48px;padding-bottom:64px;outline:none}
#reservation .reservation-heading{margin-bottom:22px}
#reservation .reservation-heading h2{font-size:clamp(32px,3.2vw,44px);line-height:1.18;letter-spacing:-1.3px}
#reservation .reservation-heading h2 em{font-family:Georgia,serif;font-weight:400;color:#717171}
#reservation .reservation-heading .eyebrow{margin-bottom:14px;font-size:10px}
#reservation .reservation-heading>p:last-child{font-size:14px;margin-bottom:0}
#reservation .reservation-account-link{display:block;background:transparent;border:0;box-shadow:none;padding:0;margin:0 auto 18px;max-width:780px;border-radius:0}
#reservation #customer-access{display:inline-flex;gap:10px;background:#ebebeb;border:1px solid #dcdcdc;color:#454545;padding:9px 14px;min-height:42px;border-radius:8px;font-size:12px;font-weight:400;width:auto;justify-content:center}
#reservation #customer-access strong{font-weight:600}#reservation #customer-access:hover{background:#e1e1e1}#reservation #customer-access:focus-visible{outline:2px solid #717171;outline-offset:3px}
.login-dot{width:6px;height:6px;background:#787878;border-radius:50%}
#reservation-form{box-shadow:0 10px 35px #22222204;border-color:#e4e4e4}
#reservation-form .chauffeur-grid{max-height:226px;overscroll-behavior:contain;scrollbar-width:thin}
#reservation-form .chauffeur-photo{cursor:default}
.platform-experience{padding:36px 6%;text-align:center;background:#ededed;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}
.platform-experience p{font-size:9px;letter-spacing:2px;color:#7d7d7d;margin:0 0 20px}
.platform-experience>div{display:flex;align-items:center;justify-content:center;gap:60px;color:#4e4e4e;font:500 26px/1.2 'Manrope',sans-serif}
.platform-experience small{display:block;margin:20px auto 0;max-width:570px;font-size:11px;line-height:1.6;color:#7e7e7e}
@media(max-width:600px){header nav{font-size:13px!important;gap:10px}header nav a{min-height:44px;display:flex;align-items:center;justify-content:center}#reservation{padding-top:30px;padding-bottom:38px}#reservation .reservation-heading h2{font-size:32px}#reservation #customer-access{min-height:44px}.platform-experience{padding:28px 6%}.platform-experience>div{gap:30px;font-size:23px}}
.kubilay-closeup{display:block;width:48px;height:48px;min-width:48px;border-radius:50%;overflow:hidden}#reservation-form .kubilay-closeup .chauffeur-photo{transform:scale(1.5);transform-origin:50% 35%;border-radius:0}

.partners-section{background:#f7f7f7;padding:40px 6%}.partners-section>p{text-transform:uppercase;letter-spacing:2.4px;font-size:10px;margin-bottom:30px}.partners-section .partner-logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;max-width:1080px;margin:auto}.partner-logo{height:72px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.partner-logo img{width:100%;max-width:130px;height:56px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.partner-blacklane img{filter:brightness(0);height:30px}.partner-uber img,.partner-lyft img{max-width:70px;height:38px}.partner-four-seasons img{height:68px;max-width:147px}.partner-ritz img{position:absolute;width:164px;max-width:none;height:164px;top:-43px;object-fit:contain;clip-path:inset(30% 9% 29%)}.partner-millennium img{max-width:150px;height:56px}@media(max-width:800px){.partners-section .partner-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px}}@media(max-width:480px){.partners-section{padding:32px 7%}.partners-section .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}.partner-logo{height:70px}}
.partner-four-seasons img{filter:brightness(0)}.partner-uber img{height:70px;max-width:100px}.partner-lyft img{height:50px;max-width:90px}
.partners-section .partner-logos{grid-template-columns:repeat(4,minmax(0,1fr));max-width:880px;row-gap:28px}.partner-sheraton img{position:absolute;width:170px;max-width:none;height:170px;top:-48px;clip-path:inset(32% 15% 31%)}.partner-hilton img{height:65px;max-width:115px}.nav-account-menu{display:inline-flex;align-items:center;gap:15px}.customer-account-page header .nav-signout{font:inherit;font-size:12px;color:inherit;background:transparent;border:0;border-left:1px solid #ffffff38;padding:0 0 0 15px;min-height:44px;cursor:pointer}.nav-signout[hidden]{display:none!important}.nav-signout:hover{text-decoration:underline}.nav-signout:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:600px){.nav-account-menu{position:relative}.customer-account-page header .nav-signout{position:absolute;top:34px;right:0;white-space:nowrap;border:0;padding:0;min-height:32px;font-size:11px}.customer-account-page header:has(.nav-signout:not([hidden])){padding-bottom:30px}}@media(max-width:480px){.partners-section .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}}
@media(max-width:600px){.customer-account-page header:has(.nav-signout:not([hidden])){height:auto;min-height:150px!important;padding-bottom:35px}.nav-account-menu{justify-content:center}.customer-account-page header .nav-signout{right:auto;left:50%;transform:translateX(-50%);font-size:12px;min-height:38px}}

.personal-journey{width:100%;grid-column:1/-1;border:1px solid #dfdfdf;border-radius:12px;background:#f8f8f8;margin:22px 0;padding:0;color:#252525}.personal-journey>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;cursor:pointer;list-style:none}.personal-journey>summary::-webkit-details-marker{display:none}.personal-journey summary strong{display:block;font-size:17px;font-weight:500;letter-spacing:-.3px}.personal-journey summary small{display:block;font-size:13px;color:#656565;margin-top:4px}.pj-optional{font-size:12px;white-space:nowrap;color:#656565}.pj-content{padding:0 20px 20px}.pj-content fieldset{border:0;padding:0;margin:0 0 18px}.pj-content legend{font-size:12px;color:#676767;margin-bottom:10px}.pj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.pj-grid.pj-two{grid-template-columns:repeat(2,minmax(0,1fr))}.pj-grid .pj-card{position:relative;display:flex;align-items:center;gap:10px;margin:0;padding:15px 12px;min-height:85px;border:1px solid #dcdcdc;background:#ffffff;border-radius:9px;cursor:pointer;font-weight:400}.pj-card input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.pj-card:has(input:checked){border-color:#666666;background:#eeeeee;box-shadow:inset 0 0 0 1px #666666}.pj-card:has(input:focus-visible){outline:3px solid #8c8c8c;outline-offset:3px}.pj-icon{font:24px/1 Georgia;color:#666666;flex:none}.pj-card strong{display:block;font-size:13px;font-weight:600;line-height:1.4}.pj-card small{display:block;font-size:11px;line-height:1.5;color:#656565;margin:4px 0 0}.pj-check{display:none;position:absolute;right:6px;top:3px;font-size:11px;color:#4c4c4c}.pj-card:has(input:checked) .pj-check{display:block}.pj-note{font-size:12px!important;line-height:1.7;color:#656565;margin:5px 0 0}@media(max-width:650px){.personal-journey>summary{padding:17px}.personal-journey summary strong{font-size:16px}.personal-journey summary small{font-size:12px}.pj-content{padding:0 15px 17px}.pj-grid,.pj-grid.pj-two{grid-template-columns:1fr}.pj-grid .pj-card{min-height:68px;padding:13px 15px}.pj-card strong{font-size:15px}.pj-card small{font-size:12px}.pj-icon{width:28px;text-align:center}}
/* SEO foundation: the hero kicker lives inside the h1 but keeps the eyebrow's look and stagger. */
.hero h1 .hero-kicker{display:block;font-family:'DM Sans',sans-serif;font-style:normal;line-height:1.6;text-transform:uppercase}.hero h1 .hero-line{display:block}.hero-ready h1{animation:none}.hero-ready h1 .hero-kicker{animation:hero-copy-in .8s cubic-bezier(.16,1,.3,1) .18s both}.hero-ready h1 .hero-line{animation:hero-copy-in .8s cubic-bezier(.16,1,.3,1) .32s both}@media(prefers-reduced-motion:reduce){.hero h1 .hero-kicker,.hero h1 .hero-line{animation:none!important}}


.guest-booking main> :not(#reservation),.guest-booking footer,.guest-booking .mobile-bar,.guest-booking header nav,.guest-booking .reservation-account-link{display:none!important}
.guest-booking #reservation{margin-top:0;padding-top:32px;scroll-margin-top:100px}
.guest-booking .reveal{opacity:1!important;transform:none!important}
.guest-booking .guest-return{color:inherit;font-size:13px;text-decoration:none;white-space:nowrap}
@media(max-width:600px){.guest-booking #reservation{padding-top:24px}.guest-booking .reservation-heading h2{font-size:30px}.guest-booking header{gap:12px}.guest-booking .guest-return{font-size:12px}}

/* Homepage Contact and owner-requested compact footer; no header/booking changes. */
.inline-contact .contact-direct a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.inline-contact .contact-direct a::before{content:"";width:16px;height:16px;background:currentColor;mask:var(--contact-icon) center/contain no-repeat;-webkit-mask:var(--contact-icon) center/contain no-repeat}
.inline-contact .contact-direct a[href^="tel:"]{--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.5 15.5 0 006.6 6.6l2.2-2.2a1 1 0 011-.24c1.1.36 2.3.55 3.6.55a1 1 0 011 1V20a1 1 0 01-1 1C10.6 21 3 13.4 3 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.3.2 2.5.55 3.6a1 1 0 01-.25 1z'/%3E%3C/svg%3E")}
.inline-contact .contact-direct a[href^="mailto:"]{--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 2v.5l7 5 7-5V7l-7 5zm0 3v7h14v-7l-7 5z'/%3E%3C/svg%3E")}
footer#site-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 6%;text-align:center}
#site-footer .wordmark{margin:0;font-size:14px;white-space:normal}
#site-footer>small{display:block;font-size:11px;color:#aaa}
.inline-contact{background:#f5f5f5;padding:56px 6%;scroll-margin-top:24px;outline:none;color:#171717;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;align-items:start}
.inline-contact [hidden]{display:none!important}
.inline-contact-heading{min-width:0;margin:0;padding-top:24px}
.inline-contact-heading>p:not(.eyebrow){color:#737373;font-size:14px}
.inline-contact .inline-contact-heading h2{font-size:clamp(32px,3.4vw,48px);line-height:1.14;letter-spacing:-1.6px;margin:18px 0 22px}
.inline-contact .inline-contact-heading h2 em{font:italic 1.08em/1.1 Georgia,serif;color:#666;letter-spacing:-1px}
.inline-contact .contact-topics{list-style:none;padding:0;margin:32px 0 0}
.inline-contact .contact-topics li{display:flex;gap:24px;border-top:1px solid #dedede;padding:18px 0}
.inline-contact .contact-topics li:last-child{border-bottom:1px solid #dedede}
.inline-contact .contact-topics li>span{font-size:12px;color:#737373;padding-top:2px}
.inline-contact .contact-topics strong{display:block;font-size:15px;font-weight:500}
.inline-contact .contact-topics small{display:block;font-size:13px;margin-top:4px}
.inline-contact .contact-direct{display:flex;gap:20px;margin-top:16px;font-size:12px;color:#737373}
.inline-contact-heading>p:not(.eyebrow){max-width:380px;line-height:1.8}
.inline-contact .contact-methods{display:grid;margin-top:28px}
.inline-contact .contact-methods a{display:block;border-top:1px solid #dedede;padding:18px 0;text-decoration:none;min-height:44px}
.inline-contact .contact-methods a:last-child{border-bottom:1px solid #dedede}
.inline-contact .contact-methods span{display:block;font-size:10px;font-weight:600;letter-spacing:1.5px;color:#737373;margin-bottom:7px}
.inline-contact .contact-methods strong{font-size:clamp(15px,1.4vw,20px);font-weight:500;overflow-wrap:anywhere;line-height:1.5}
.inline-contact .contact-methods a:hover strong{text-decoration:underline;text-underline-offset:4px}
.inline-contact .message-card{min-width:0;width:100%;margin:0;background:#fff;border:1px solid #e3e3e3;border-radius:18px;padding:30px;box-shadow:0 18px 55px #1d1d1d06}
.inline-contact h2{font-family:'Manrope',sans-serif;font-weight:500;font-size:28px;line-height:1.3;letter-spacing:-1px;margin:0 0 8px}
.inline-contact .card-heading>p{font-size:14px;color:#737373;margin:0 0 16px}
.inline-contact label{display:block;font-size:12px;font-weight:500;margin:12px 0 5px;color:#171717}
.inline-contact label span{font-weight:400;color:#737373}
.inline-contact input,.inline-contact select,.inline-contact textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;border:1px solid #dedede;border-radius:7px;background:#fff;color:#171717;padding:10px 12px;font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.4}
.inline-contact select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,#333 50%),linear-gradient(135deg,#333 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.inline-contact textarea{min-height:90px;resize:vertical}
.inline-contact .pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.inline-contact .phone-field{display:flex;border:1px solid #dedede;border-radius:7px}
.inline-contact .phone-field select{width:94px;flex-shrink:0;border:0;border-right:1px solid #dedede}
.inline-contact .phone-field input{border:0}
.inline-contact .message-hints{display:flex;justify-content:space-between;gap:16px;margin-top:6px}
.inline-contact small,.inline-contact .privacy{font-size:11px;color:#737373;line-height:1.5}
.inline-contact .message-hints small:first-child{max-width:400px}
.inline-contact .field-error{font-size:12px;color:#9c2720;margin:4px 0 0}
.inline-contact .field-error:empty,.inline-contact .status:empty{display:none}
.inline-contact [aria-invalid=true]{border-color:#a12e25}
.inline-contact .button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #111;border-radius:7px;background:#111;color:#fff;font:500 14px/1.4 'DM Sans',sans-serif;cursor:pointer}
.inline-contact .send{width:100%;margin-top:14px}
.inline-contact .privacy{margin:12px 0 0}
.inline-contact .privacy a{text-decoration:underline}
.inline-contact .status{background:#fff4f2;color:#8e241d;border-left:2px solid #a12e25;padding:10px;font-size:13px}
.inline-contact button:disabled{opacity:.65;cursor:wait}
.inline-contact .reservation-direction{padding:16px 0}
.inline-contact .reservation-direction h3{font-family:'Manrope',sans-serif;font-size:24px}
.inline-contact .reservation-direction small{display:block;margin-top:12px}
.inline-contact .trap,.inline-contact .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.inline-contact a:focus-visible,.inline-contact input:focus-visible,.inline-contact select:focus-visible,.inline-contact textarea:focus-visible,.inline-contact button:focus-visible{outline:2px solid #666;outline-offset:3px}
@media(max-width:900px){.inline-contact{display:block;padding:32px 5%}.inline-contact-heading{padding:0;margin-bottom:26px}.inline-contact .inline-contact-heading h2{font-size:32px;margin:14px 0}.inline-contact .contact-topics{margin-top:22px}.inline-contact .contact-topics li{padding:13px 0}}
@media(max-width:720px){.inline-contact{padding:28px 4%}.inline-contact .message-card{padding:18px}.inline-contact .pair{gap:10px}.inline-contact input,.inline-contact select,.inline-contact textarea{min-height:44px}.inline-contact .message-hints{gap:8px}.inline-contact .message-hints small:first-child{max-width:220px}.inline-contact h2{font-size:24px}}
@media(max-width:359px){.inline-contact .pair{grid-template-columns:1fr}}
html.guest-booking .inline-contact{display:none}

/* Ultrawide presentation only. Standard desktop/tablet/mobile rules stay intact. */
@media (min-width: 1921px) {
  html:not(.guest-booking) body {
    --website-content-width: 1600px;
    --website-gutter: max(6%, calc((100% - var(--website-content-width)) / 2));
  }
  html:not(.guest-booking) body > header,
  html:not(.guest-booking) main > .section,
  html:not(.guest-booking) main > .promise,
  html:not(.guest-booking) main > .partners-section,
  html:not(.guest-booking) main > .inline-contact,
  html:not(.guest-booking) footer#site-footer {
    padding-inline: var(--website-gutter);
  }
  html:not(.guest-booking) .hero-content {
    margin-inline: auto;
    max-width: var(--website-content-width);
    padding-inline: 0;
  }
  html:not(.guest-booking) .hero-content h1 {
    max-width: 660px;
  }
  html:not(.guest-booking) .hero-bottom {
    inset-inline: var(--website-gutter);
  }
  html:not(.guest-booking) .hero-art {
    /* Keep the SUV at its desktop scale; extend the dark background to the edges. */
    background-size: 1920px 100%, 1920px 100%, 1920px auto;
    background-position: center, center, center;
    background-repeat: no-repeat;
    background-color: #111;
    /* Blend the photo into the full-bleed hero instead of exposing image edges. */
    mask-image: linear-gradient(90deg,
      transparent calc((100% - 1920px) / 2),
      #000 calc((100% - 1600px) / 2),
      #000 calc((100% + 1600px) / 2),
      transparent calc((100% + 1920px) / 2));
  }
  html:not(.guest-booking) main > .experience {
    column-gap: 120px;
  }
  html:not(.guest-booking) main > .inline-contact {
    column-gap: 120px;
  }
}

.app-promotion-dialog{width:min(740px,90vw);max-height:90dvh;overflow:auto;margin:auto;padding:42px 42px 24px;border:1px solid #ffffff30;border-radius:22px;background:linear-gradient(130deg,#151617,#080a0c);color:#fff;box-shadow:0 24px 100px #0008}
.app-promotion-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
.app-promotion-close{position:absolute;right:14px;top:12px;width:44px;height:44px;background:none;border:0;color:#aaa;font-size:28px;cursor:pointer}
.app-promotion-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.app-promotion-eyebrow{font-size:11px;letter-spacing:2px;color:#bbb;margin:0 0 18px}
.app-promotion-copy h2{font:500 42px/1.08 'Manrope',sans-serif;letter-spacing:-1.5px;margin:0 0 20px}
.app-promotion-copy h2 em{font-family:Georgia,serif;font-weight:400}
.app-promotion-copy>p:not(.app-promotion-eyebrow){font-size:14px;line-height:1.6;color:#bbb}
.app-promotion-copy ul{list-style:none;padding:0;margin:24px 0}
.app-promotion-copy li{display:flex;align-items:center;gap:14px;margin:17px 0}
.app-promotion-copy li>span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#ffffff10;font-size:16px}
.app-promotion-copy strong{display:block;font-size:14px;font-weight:500}
.app-promotion-copy small{display:block;font-size:12px;color:#aaa;margin-top:3px}
.app-promotion-store{display:inline-flex;min-height:50px}.app-promotion-store img{display:block}
.app-promotion-phone{width:220px;height:440px;padding:7px;border:2px solid #555;border-radius:37px;background:#050505;box-shadow:10px 10px 20px #0008;transform:rotate(3deg)}
.app-promotion-phone-screen{height:100%;border-radius:29px;background:linear-gradient(#080808e0,#08080833,#080808d9),url("/media/hero.webp") 65% center/cover;filter:grayscale(1);display:flex;align-items:center;flex-direction:column;padding:58px 8px 25px;text-align:center}
.app-promotion-phone-screen strong{margin-top:12px;font-size:18px;letter-spacing:2px}.app-promotion-phone-screen small{font-size:7px;letter-spacing:2px}.app-promotion-phone-screen p{margin-top:auto;font-size:13px;line-height:1.4}
.app-promotion-continue{display:block;width:100%;margin-top:28px;padding:14px;border:0;border-top:1px solid #ffffff18;background:none;color:#bbb;font:14px 'DM Sans',sans-serif;cursor:pointer;min-height:44px}
.app-promotion-dialog a:focus-visible,.app-promotion-dialog button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-height:650px){.app-promotion-dialog{padding:24px 36px 12px}.app-promotion-phone{height:360px;width:190px}.app-promotion-copy h2{font-size:34px}.app-promotion-copy ul{margin:12px 0}.app-promotion-copy li{margin:10px 0}.app-promotion-continue{margin-top:14px}}
@media(max-width:900px){
 .app-promotion-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:100%;margin:0;max-height:60dvh;padding:26px 20px max(10px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}
 .app-promotion-dialog::before{content:'';position:absolute;top:8px;left:calc(50% - 20px);width:40px;height:4px;border-radius:3px;background:#ffffff30}
 .app-promotion-dialog::backdrop{background:#0005;backdrop-filter:none}
 .app-promotion-layout{grid-template-columns:minmax(0,1fr) 105px;gap:14px}
 .app-promotion-close{top:7px;right:7px}
 .app-promotion-eyebrow{font-size:9px;letter-spacing:1.4px;margin:0 0 10px}
 .app-promotion-copy h2{font-size:27px;letter-spacing:-.8px;margin:0 0 10px}
 .app-promotion-copy>p:not(.app-promotion-eyebrow){display:none}
 .app-promotion-copy ul{margin:12px 0}.app-promotion-copy li{gap:8px;margin:8px 0}
 .app-promotion-copy li>span{width:22px;height:22px;font-size:11px}.app-promotion-copy strong{font-size:11px}.app-promotion-copy small{font-size:10px}
 .app-promotion-phone{width:105px;height:225px;border-radius:20px;padding:4px;transform:rotate(3deg)}
 .app-promotion-phone-screen{border-radius:14px;padding:25px 3px 12px}.app-promotion-phone-screen img{width:22px;height:22px}
 .app-promotion-phone-screen strong{font-size:9px;letter-spacing:1px;margin-top:7px}.app-promotion-phone-screen small{font-size:4px;letter-spacing:.8px}.app-promotion-phone-screen p{font-size:9px}
 .app-promotion-store{min-height:44px}.app-promotion-store img{width:120px;height:40px;align-self:center}
 .app-promotion-continue{font-size:12px;margin-top:12px;padding:10px}
}

/* Additive membership presentation. Existing page content and booking controls are untouched. */
html:not(.guest-booking) .membership-nav nav a[aria-current=page]::after{width:100%}
html:not(.guest-booking) .membership-nav nav{gap:clamp(16px,2vw,30px)}
.membership-skip{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:#111;padding:12px}
.membership-skip:focus{top:12px}
.membership-teaser{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8%;background:#111;color:#fff;padding-top:64px;padding-bottom:64px}
.membership-teaser .eyebrow{color:#ccc;font-size:11px}
.membership-teaser h2{font-size:clamp(32px,3.3vw,48px);line-height:1.15;max-width:650px}
.membership-teaser h2 em{font-family:Georgia,serif;font-weight:400}
.membership-teaser-copy>p:not(.eyebrow){color:#ccc;max-width:510px;font-size:15px;line-height:1.8;margin:24px 0}
.membership-teaser .button{width:fit-content;margin-top:26px}
.membership-highlights{list-style:none;padding:6px 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-content:center}
.membership-highlights li{display:flex;gap:16px;align-items:flex-start;min-width:0}
.membership-highlights svg{flex-shrink:0}
.membership-highlights strong{display:block;font-size:14px;font-weight:500}
.membership-highlights span{display:block;color:#bfbfbf;font-size:12px;margin-top:6px}
.membership-light,.membership-dark{justify-content:center;min-height:48px;border-radius:7px;padding:13px 22px;font:500 14px/1.4 'DM Sans',sans-serif;gap:10px;text-align:center}
.membership-light{background:#fff;color:#111;border:1px solid #fff}
.membership-light:hover{background:#e9e9e9}
.membership-dark{background:#111;color:#fff;border:1px solid #111}
.membership-dark:hover{background:#333}
.membership-discovery{max-width:780px;margin:0 auto 22px;font-size:13px;color:#555;text-align:center}
.membership-discovery a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0}
.membership-page .section{padding-top:72px;padding-bottom:72px}
.membership-page .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:20px}
.membership-page h2{font-size:clamp(30px,3.1vw,44px)}
.membership-page .section-heading{gap:48px}
.membership-page .section-heading>p{font-size:13px;max-width:300px;line-height:1.8}
.membership-page .section-heading>p strong{font-weight:500;color:#333}
.membership-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:470px;background:#111;color:#fff}
.membership-hero>div{position:relative;z-index:1;min-width:0;width:48%;max-width:590px}
.membership-hero h1{font-size:clamp(40px,4.5vw,64px);letter-spacing:-2.2px;line-height:1.12;margin-bottom:24px}
.membership-hero h1 em{color:inherit}
.membership-hero>div>p:not(.eyebrow){max-width:400px;font-size:15px;line-height:1.8;color:#eee}
.membership-hero .eyebrow{color:#ddd}
.membership-hero img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:70% 60%;filter:grayscale(1) brightness(.6)}
.membership-hero .text-link{color:#fff;font-weight:500;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.membership-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.membership-card{display:flex;flex-direction:column;border:1px solid #dedede;border-radius:10px;padding:28px 24px;min-width:0;background:#fff}
.membership-card-signature{border-color:#555}
.membership-card h3{font:600 14px/1.4 'DM Sans',sans-serif;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 14px}
.membership-price{display:flex;gap:8px;align-items:baseline;margin:0 0 24px;color:#111}
.membership-price strong{font:500 48px/1.1 'Manrope',sans-serif;letter-spacing:-1.5px}
.membership-price span{font-size:13px}
.membership-card-description{font-size:14px;line-height:1.7;color:#626262;max-width:260px;margin:0 0 22px;min-height:48px}
.membership-card ul{list-style:none;border-top:1px solid #e5e5e5;margin:0 0 26px;padding:22px 0 0;font-size:13px;line-height:1.7;color:#555}
.membership-card li{position:relative;padding-left:23px;margin-bottom:14px}
.membership-card li::before{content:'✓';position:absolute;left:0;top:2px;color:#222;font-size:11px}
.membership-card .button{margin-top:auto;font-size:12px;padding:13px 10px;width:100%}
.membership-tier-note{font-size:12px;color:#626262;line-height:1.8;margin:20px 0 0}
.membership-tier-note a,.membership-privacy a{text-decoration:underline;text-underline-offset:3px}
.membership-page .membership-benefits{padding-top:16px}
.membership-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px}
.membership-benefit-grid>div{padding:0 26px;border-left:1px solid #dedede}
.membership-benefit-grid>div:first-child{padding-left:0;border-left:0}
.membership-benefit-grid svg{margin-bottom:20px}
.membership-benefit-grid h3{font:500 15px/1.4 'DM Sans',sans-serif;letter-spacing:0;margin-bottom:8px}
.membership-benefit-grid p{font-size:13px;line-height:1.8;color:#626262;max-width:260px;margin:0}
.membership-terms,.membership-request{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;background:#f5f5f5}
.membership-terms>div>p:not(.eyebrow),.membership-request>div>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#626262;max-width:400px}
.membership-policy-note,.membership-request-note{border-top:1px solid #d9d9d9;padding-top:22px;margin-top:28px}
.membership-accordions details{border-top:1px solid #d4d4d4}
.membership-accordions details:last-child{border-bottom:1px solid #d4d4d4}
.membership-accordions summary{cursor:pointer;padding:22px 26px 22px 0;font-size:15px;font-weight:500;min-height:48px}
.membership-accordions summary:focus-visible{outline:2px solid #666;outline-offset:4px}
.membership-accordions ul{padding-left:20px;margin:0 0 26px;font-size:14px;color:#555;line-height:1.8}
.membership-accordions li{margin-bottom:12px}
.membership-page .membership-request{background:#fff}
.membership-form-card{background:#fff;border:1px solid #e3e3e3;border-radius:18px;padding:30px;min-width:0}
.membership-form-card h3{font:500 26px/1.3 'Manrope',sans-serif;letter-spacing:-.8px}
.membership-form-card label{font-size:12px;font-weight:500;margin:18px 0 5px}
.membership-form-card label span{color:#626262;font-weight:400}
.membership-form-card input,.membership-form-card select,.membership-form-card textarea{border:1px solid #dedede;border-radius:7px;padding:10px 12px;min-height:46px;background:#fff;color:#171717;font:400 16px/1.4 'DM Sans',sans-serif;width:100%;min-width:0;margin-top:0}
.membership-form-card textarea{resize:vertical}
.membership-form-card [aria-invalid=true]{border:2px solid #333}
.membership-form-card .button{margin-top:22px;width:100%}
.membership-form-card button:disabled{opacity:.6;cursor:wait}
.membership-form-card [hidden]{display:none!important}
.membership-error{font-size:12px;color:#333;margin:5px 0}
.membership-error:empty{display:none}
#membership-status:not(:empty){padding:12px;background:#f5f5f5;border-left:2px solid #333;margin-top:16px}
.membership-privacy,.membership-preview-note{font-size:12px;line-height:1.7;color:#626262}
.membership-preview-note{border:1px dashed #aaa;padding:12px;background:#f8f8f8}
.membership-trap{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#membership-success{scroll-margin-top:25px}
#membership-success>p{font-size:14px;line-height:1.8;color:#555}
#membership-success #membership-reference{font-size:11px;letter-spacing:1px}
@media(min-width:1921px){.membership-teaser,.membership-page .section{padding-left:calc((100% - 1600px)/2);padding-right:calc((100% - 1600px)/2)}}
/* Keep the existing exposed-link navigation, with room for the sixth item. */
@media(min-width:601px) and (max-width:1050px){html:not(.guest-booking) header.membership-nav{height:118px;flex-wrap:wrap;align-content:center;gap:4px;padding-top:8px;padding-bottom:8px}html:not(.guest-booking) .membership-nav nav{width:100%;justify-content:space-between;gap:12px}html:not(.guest-booking) .membership-nav nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:900px){.membership-teaser{gap:6%}.membership-highlights{grid-template-columns:1fr;gap:22px}.membership-cards{gap:12px}.membership-card{padding:22px 16px}.membership-card-description{min-height:72px}.membership-terms,.membership-request{gap:5%}.membership-form-card{padding:22px}}
@media(max-width:700px){.membership-cards{grid-template-columns:1fr;gap:20px}.membership-card{padding:26px 24px}.membership-card-description{min-height:0;max-width:none}.membership-card ul{font-size:14px}.membership-card .button{font-size:14px}.membership-hero{min-height:570px;align-items:flex-start}.membership-hero>div{width:100%;max-width:430px}.membership-hero img{object-position:67% center;filter:grayscale(1) brightness(.45)}.membership-page .section{padding-top:48px;padding-bottom:48px}.membership-page .section-heading{display:block;margin-bottom:26px}.membership-page .section-heading>p{max-width:none}.membership-terms,.membership-request{grid-template-columns:1fr;gap:32px}.membership-benefit-grid{grid-template-columns:1fr 1fr;gap:28px 0}.membership-benefit-grid>div{padding:0 20px}.membership-benefit-grid>div:nth-child(odd){padding-left:0;border-left:0}.membership-page .membership-benefits{padding-top:0}.membership-teaser{grid-template-columns:1fr;gap:34px;padding-top:48px;padding-bottom:48px}.membership-highlights{grid-template-columns:1fr 1fr;gap:24px}.membership-highlights li{flex-direction:column;gap:12px}.membership-teaser .button{width:100%}.membership-discovery{font-size:12px}}
@media(max-width:600px){html:not(.guest-booking) header.membership-nav{height:auto}html:not(.guest-booking) header.membership-nav nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}.membership-hero h1{font-size:42px;letter-spacing:-1.8px}.membership-page footer#site-footer{padding-bottom:24px}}
@media(max-width:359px){html:not(.guest-booking) .membership-nav .brand-lockup .wordmark{font-size:10px;letter-spacing:.6px}html:not(.guest-booking) .membership-nav .brand-lockup{gap:8px}.membership-hero h1{font-size:36px}.membership-card{padding:24px 18px}.membership-form-card{padding:20px 16px}.membership-highlights strong{font-size:13px}.membership-page h2{font-size:30px}}

.guest-booking .membership-discovery{display:none}

/* Assistance disclosure stays within its card at every viewport width. */
.membership-info{display:inline}
.membership-info-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 0 0 4px;padding:0;border:1px solid #999;border-radius:50%;background:#fff;color:#333;font:600 11px/1 Georgia,serif;vertical-align:middle;cursor:pointer}
.membership-info-button:focus-visible{outline:2px solid #111;outline-offset:3px}
.membership-info-box{position:absolute;z-index:5;top:100%;left:0;right:0;padding:12px;background:#fff;border:1px solid #555;border-radius:7px;font:400 12px/1.5 'DM Sans',sans-serif;color:#444;text-align:left}
.membership-info-box[hidden]{display:none}
.membership-info-box strong,.membership-info-box>span{display:block;margin-bottom:8px}
.membership-info-box strong{color:#111;font-weight:600}
.membership-info-box a{text-decoration:underline;text-underline-offset:3px}

header .language-control{position:relative;flex:none;color:#fff;font:inherit;margin:0;padding:0;border:0;z-index:40}
header .language-control summary{display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;min-height:44px;white-space:nowrap;font:inherit;padding:0;background:none;border:0;color:inherit}
header .language-control summary::-webkit-details-marker{display:none}
header .language-control summary::after{content:none}
header .language-control summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
header .language-current{font-size:10px;opacity:.7;letter-spacing:.5px}
header .language-options{position:absolute;right:0;top:100%;display:grid;min-width:150px;padding:6px;background:#141414;border:1px solid #555;border-radius:4px}
header .language-options button{font:400 15px/1.5 'DM Sans',sans-serif;text-align:left;background:none;color:#fff;border:0;border-radius:2px;padding:10px 14px;min-height:44px;cursor:pointer}
header .language-options button:hover,header .language-options button[aria-pressed=true]{background:#333}
header .language-control :focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:600px){header .language-control summary{font-size:13px}header .language-control{justify-self:end}}

/* Public glass controls: native portals and Stripe-hosted fields are untouched. */
html:not(.guest-booking) body{
 --bw-glass:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04) 48%,rgba(255,255,255,.09));
 --bw-glass-edge:rgba(255,255,255,.32);
}
html:not(.guest-booking) :is(header.membership-nav,.site-header) nav{column-gap:14px!important;justify-content:flex-end!important}
html:not(.guest-booking) :is(header.membership-nav,.site-header) nav a,
html:not(.guest-booking) header .language-control summary{
 padding:9px 13px!important;border:1px solid var(--bw-glass-edge)!important;border-radius:24px!important;
 background:var(--bw-glass)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 14px rgba(0,0,0,.12);
 backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;box-sizing:border-box;
}
html:not(.guest-booking) :is(a.button,.membership-button,.membership-dark,.membership-outline,.portal-button,button:not(.language-options button),summary:not(header summary),.contact-method,.tip-option):not(#reservation *):not(.membership-terms *){
 border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.1),0 5px 18px rgba(0,0,0,.1);
 background-image:var(--bw-glass)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
 transition:box-shadow .2s ease,border-color .2s ease;
}
html:not(.guest-booking) main>.hero .hero-copy{font-family:'DM Sans',sans-serif!important;font-size:clamp(16px,1.25vw,20px)!important;font-weight:400!important;line-height:1.65!important;letter-spacing:0!important;font-style:normal!important;max-width:540px}
header .language-options{background:rgba(22,22,22,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:16px;border-color:var(--bw-glass-edge);box-shadow:inset 0 1px rgba(255,255,255,.15),0 12px 32px #0004}
header .language-options button{border-radius:10px}
html:not(.guest-booking) :is(a.button,button,summary,nav a):focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(hover:hover){html:not(.guest-booking) :is(a.button,button,summary,nav a):not(#reservation *):not(.membership-terms *):hover{box-shadow:inset 0 1px 0 #ffffff70,0 6px 20px #0003}}
@media(max-width:1249px) and (min-width:601px){
 html:not(.guest-booking){--public-header-height:144px!important}
 html:not(.guest-booking) header.membership-nav{flex-wrap:wrap;align-content:center;gap:8px}
 html:not(.guest-booking) header.membership-nav nav{flex:0 0 100%;justify-content:space-between}
}
@media(max-width:600px){
 html:not(.guest-booking){--public-header-height:246px!important}
 html:not(.guest-booking) :is(header.membership-nav,.site-header) nav{gap:7px 8px!important}
 html:not(.guest-booking) :is(header.membership-nav,.site-header) nav a,html:not(.guest-booking) header .language-control summary{padding:7px 8px!important;font-size:12px!important;min-height:40px}
 html:not(.guest-booking) header .language-control summary{gap:4px}
}
@media(prefers-reduced-motion:reduce){html:not(.guest-booking) :is(a.button,button,summary,nav a){transition:none!important}}
@media(prefers-reduced-transparency:reduce){html:not(.guest-booking) :is(header nav a,header summary){background:#222!important;color:#fff!important;backdrop-filter:none}}
@media(min-width:601px) and (max-width:1000px){
 html:not(.guest-booking){--public-header-height:194px!important}
 html:not(.guest-booking) header.membership-nav nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px!important;text-align:center}
 html:not(.guest-booking) header.membership-nav nav a{justify-content:center}
 html:not(.guest-booking) header.membership-nav nav .language-control{justify-self:end}
}

@media(min-width:1250px){
 html:not(.guest-booking){--public-header-height:92px!important}
 html:not(.guest-booking) header.membership-nav{flex-wrap:nowrap!important;gap:20px}
 html:not(.guest-booking) header.membership-nav nav{flex:0 1 auto!important;width:auto!important;font-size:14px!important}
 html:not(.guest-booking) header.membership-nav .wordmark{font-size:16px}
}

/* Plain navigation retains the approved spacing; glass elsewhere is unchanged. */
html:not(.guest-booking) :is(header.membership-nav,.site-header) nav a,
html:not(.guest-booking) header .language-control summary,
html:not(.guest-booking) :is(header.membership-nav,.site-header) nav a:hover,
html:not(.guest-booking) header .language-control summary:hover{
 background:transparent!important;border-color:transparent!important;border-radius:0!important;
 box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}

/* One public Website header; does not load in native /client/ or legacy Guest. */
@font-face{font-family:'DM Sans';src:url('/motion/fonts/DMSans-variable.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Manrope';src:url('/motion/fonts/Manrope-variable.woff2') format('woff2');font-weight:400 800;font-display:swap}
html:not(.guest-booking) header.membership-nav{height:92px;padding:0 max(6%,calc((100% - 1400px)/2));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px}
html:not(.guest-booking) header.membership-nav nav{display:flex;align-items:center;gap:30px;margin:0;font:400 12px/1.6 'DM Sans',sans-serif}
html:not(.guest-booking) header.membership-nav nav a{margin:0;padding:10px 0;font:inherit;white-space:nowrap;flex:none}
html:not(.guest-booking) header.membership-nav .wordmark{font:600 15px/1 'Manrope',sans-serif;letter-spacing:1px}
@media(max-width:1050px){
 html:not(.guest-booking) header.membership-nav{height:auto;min-height:118px;flex-wrap:wrap;align-content:center;gap:4px;padding:12px 6%}
 html:not(.guest-booking) header.membership-nav nav{width:100%;justify-content:space-between;gap:12px}
 html:not(.guest-booking) header.membership-nav nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:600px){
 html:not(.guest-booking) header.membership-nav{justify-content:center;padding:18px 6% 10px;gap:10px}
 html:not(.guest-booking) header.membership-nav nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;text-align:center}
 html:not(.guest-booking) header.membership-nav nav a{justify-content:center}
 html:not(.guest-booking) header.membership-nav .wordmark{font-size:10px;letter-spacing:.6px}
}

html:not(.guest-booking) header.membership-nav .nav-account-menu{margin:0;padding:0}
.customer-account-page .signin-benefits strong{margin-left:0}

@media(max-width:600px){html:not(.guest-booking) header.membership-nav .nav-account-menu{justify-content:center}html:not(.guest-booking) header.membership-nav .nav-account-menu>a{width:100%}}

/* Shared public overlay header. Native/legacy Guest navigation is excluded. */
html:not(.guest-booking){--public-header-height:92px}
html:not(.guest-booking) header.membership-nav{position:relative;z-index:30;height:var(--public-header-height);min-height:var(--public-header-height);margin-bottom:calc(-1 * var(--public-header-height));background:rgba(12,12,12,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.16);color:#fff}
html:not(.guest-booking) header.membership-nav .wordmark{font-size:18px;letter-spacing:.8px}
html:not(.guest-booking) header.membership-nav nav{font-size:16px;gap:26px}
html:not(.guest-booking) header.membership-nav nav a{color:#fff}
html:not(.guest-booking) header.membership-nav .logo{width:34px;height:34px}
html:not(.guest-booking) main>.hero{padding-top:calc(var(--public-header-height) + 42px)}
html:not(.guest-booking) .membership-page .membership-hero{padding-top:calc(var(--public-header-height) + 52px)}
html:not(.guest-booking) [data-reservation-page] .reservation-scene-copy{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-contact .inline-contact{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-account:has(#signin:not([hidden])) .account-main{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-account>.noir-scene{top:0}
html:not(.guest-booking) .portal-main .portal-container{padding-top:calc(var(--public-header-height) + 40px)}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav{margin-bottom:0;background:#111}
@media(max-width:1150px){html:not(.guest-booking) header.membership-nav nav{font-size:14px;gap:16px}html:not(.guest-booking) header.membership-nav .wordmark{font-size:16px}}
@media(max-width:1050px){html:not(.guest-booking){--public-header-height:128px}}
@media(max-width:600px){html:not(.guest-booking){--public-header-height:174px}html:not(.guest-booking) header.membership-nav .wordmark{font-size:12px}html:not(.guest-booking) header.membership-nav nav{font-size:14px}html:not(.guest-booking) main>.hero{padding-top:calc(var(--public-header-height) + 28px)}html:not(.guest-booking) .membership-page .membership-hero{padding-top:calc(var(--public-header-height) + 32px)}html:not(.guest-booking) [data-reservation-page] .reservation-scene-copy{padding-top:calc(var(--public-header-height) + 36px)}}
@media(max-width:1050px){html:not(.guest-booking) header.membership-nav{flex-direction:row;flex-wrap:wrap}html:not(.guest-booking) header.membership-nav nav{flex:0 0 100%;min-width:0}}
@media(max-width:600px){html:not(.guest-booking) header.membership-nav nav{gap:0 10px}html:not(.guest-booking) header.membership-nav .brand-lockup{max-width:100%}html:not(.guest-booking) header.membership-nav .wordmark{font-size:11px}}

/* Edge-aligned transparent public header, with room for the language control. */
html:not(.guest-booking) header.membership-nav{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;padding-inline:clamp(20px,2.7vw,52px);width:100%;max-width:none}
html:not(.guest-booking) header.membership-nav nav{margin-left:auto;gap:clamp(14px,1.7vw,30px)}
@media(max-width:1150px){html:not(.guest-booking){--public-header-height:128px}html:not(.guest-booking) header.membership-nav{flex-wrap:wrap;align-content:center;gap:6px}html:not(.guest-booking) header.membership-nav nav{flex:0 0 100%;justify-content:space-between}}
@media(max-width:600px){html:not(.guest-booking){--public-header-height:210px}html:not(.guest-booking) header.membership-nav{padding-inline:16px}html:not(.guest-booking) header.membership-nav nav{gap:0 8px}html:not(.guest-booking) header.membership-nav nav .language-control{grid-column:3;justify-self:end}}

html:not(.guest-booking) .public-legal-page header.membership-nav{margin-bottom:0;background:transparent;color:#111}
html:not(.guest-booking) .public-legal-page header.membership-nav :is(a,.wordmark,.language-control){color:#111}
html:not(.guest-booking) .public-legal-page header.membership-nav .language-options button{color:#fff}
.public-legal-page{background:#f5f5f5;color:#111}.public-legal-page main{width:calc(100% - 40px)}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav{background:transparent;backdrop-filter:none}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav :is(a,.wordmark,.language-control){color:#111}
/* The mobile address sheet owns the viewport while searching. */
@media(max-width:700px){
 html:not(.guest-booking) body[data-reservation-page]:has(.address-widget.address-searching) header.membership-nav{visibility:hidden;pointer-events:none}
}

.membership-entrance{position:fixed;inset:0;z-index:10000;background:#080808;color:#eee;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;pointer-events:none;opacity:1}
.membership-entrance img{object-fit:contain;margin-bottom:28px;animation:membership-identity .7s ease-out both}
.membership-entrance p{font:400 12px/1.9 'DM Sans',sans-serif;letter-spacing:3px;margin:0 0 14px}
.membership-entrance small{font-size:13px;color:#aaa}
.entrance-line{width:180px;height:1px;background:#333;margin:28px auto;overflow:hidden}
.entrance-line::after{content:'';display:block;height:100%;background:#eee;transform-origin:left;animation:membership-line 3s ease-out both}
.membership-entrance.is-ready{animation:membership-reveal 700ms ease-in-out both}
@keyframes membership-identity{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes membership-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes membership-reveal{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.membership-entrance{display:none;animation:none}.membership-entrance *{animation:none}}

/* Dedicated public page only: the original mobile dialog and /client/ are untouched. */
[data-reservation-page] #reservation{padding:0 0 48px;background:#f5f5f5;display:block}
[data-reservation-page] .reservation-scene{height:370px;position:relative;isolation:isolate;overflow:hidden;background:#111;color:#fff}
[data-reservation-page] .reservation-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 57%;filter:grayscale(1) brightness(.55);z-index:-1}
[data-reservation-page] .reservation-scene-copy{max-width:1080px;margin:auto;padding:54px 0 75px}
[data-reservation-page] .reservation-scene .eyebrow{color:#eee;font-size:10px;letter-spacing:2px;margin:0 0 16px}
[data-reservation-page] .reservation-scene h1{font-size:clamp(40px,4vw,56px);line-height:1.1;letter-spacing:-2px;margin:0 0 18px}
[data-reservation-page] .reservation-scene h1 em{color:inherit}
[data-reservation-page] .reservation-scene-copy>p:last-child{font-size:15px;max-width:450px;margin:0;color:#eee}
[data-reservation-page] .reservation-sheet{position:relative;max-width:1080px;margin:-52px auto 0;background:#fff;border:1px solid #dedede;border-radius:16px;padding:30px 32px;z-index:1}
[data-reservation-page] #reservation .reservation-account-link{position:absolute;right:32px;top:28px;max-width:none;margin:0;padding:0;z-index:2}
[data-reservation-page] #reservation #customer-access{border:0;background:none;box-shadow:none;padding:4px 0;min-height:32px;width:auto;font-size:12px;color:#666}
[data-reservation-page] #reservation #customer-access strong{text-decoration:underline;text-underline-offset:3px;font-weight:400}
[data-reservation-page] #reservation #reservation-form{max-width:none;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
[data-reservation-page] #reservation .step-heading{margin-bottom:20px}
[data-reservation-page] #reservation .journey-step>.step-heading{padding-right:220px}
[data-reservation-page] #reservation .form-grid{gap:18px 24px}
[data-reservation-page] #reservation .journey-step>.form-grid>label.full{grid-column:auto}
[data-reservation-page] #reservation .journey-step>.form-grid>label:nth-of-type(1){grid-column:1;grid-row:1}
[data-reservation-page] #reservation .journey-step>.form-grid>label:nth-of-type(2){grid-column:2;grid-row:1}
[data-reservation-page] #reservation .stop-editor{grid-row:2;grid-column:1/-1}
[data-reservation-page] #reservation .contact-step .form-grid>label.full{grid-column:1/-1}
[data-reservation-page] #reservation .contact-step{margin-top:24px;padding-top:24px}
[data-reservation-page] #reservation .passenger-selector{margin-top:0;margin-bottom:18px}
[data-reservation-page] #reservation .chauffeur-picker{margin-top:24px;padding-top:24px}
[data-reservation-page] #reservation #reservation-form .chauffeur-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:none;overflow:visible;padding:0;background:none;mask-image:none}
[data-reservation-page] #reservation #reservation-form .chauffeur-grid[hidden]{display:none!important}
[data-reservation-page] #reservation #reservation-form .chauffeur-card{min-height:76px;padding:12px 25px 12px 12px;border-radius:7px;gap:10px;box-shadow:none;background:#fff}
[data-reservation-page] #reservation #reservation-form .chauffeur-card:has(input:checked){border-color:#111;background:#f8f8f8}
[data-reservation-page] #reservation #reservation-form .chauffeur-photo,[data-reservation-page] #reservation #reservation-form .chauffeur-initials{width:38px;height:38px;min-width:38px}
[data-reservation-page] #reservation #reservation-form>.button{background:#111;color:#fff;justify-content:center;width:100%;margin-top:20px}
[data-reservation-page] .reservation-help{max-width:1080px;margin:0 auto;padding:0 0 48px;display:flex;align-items:center;justify-content:space-between;gap:40px}
[data-reservation-page] .reservation-help .eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:8px}
[data-reservation-page] .reservation-help h2{font-size:30px;margin-bottom:10px}
[data-reservation-page] .reservation-help h2 em{font-family:Georgia,serif;font-weight:400}
[data-reservation-page] .reservation-help p:last-child{font-size:13px;color:#666;max-width:420px;margin:0}
[data-reservation-page] .reservation-help>.button{min-width:220px}
@media(max-width:1200px){[data-reservation-page] .reservation-scene-copy{margin:0 6%}[data-reservation-page] .reservation-sheet,[data-reservation-page] .reservation-help{margin-left:6%;margin-right:6%}}
@media(max-width:900px){[data-reservation-page] #reservation #reservation-form .chauffeur-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-reservation-page] .reservation-help{gap:24px}}
@media(max-width:700px){
 [data-reservation-page] .reservation-scene{height:300px}
 [data-reservation-page] .reservation-scene>img{object-position:66% 55%;filter:grayscale(1) brightness(.45)}
 [data-reservation-page] .reservation-scene-copy{padding-top:34px}
 [data-reservation-page] .reservation-scene h1{font-size:38px}
 [data-reservation-page] .reservation-scene-copy>p:last-child{font-size:14px;max-width:290px}
 [data-reservation-page] .reservation-sheet{margin-top:-32px;padding:22px 20px}
 [data-reservation-page] #reservation .reservation-account-link{position:static;margin:0 0 16px}
 [data-reservation-page] #reservation .mobile-booking-launch{margin:0;width:100%}
 [data-reservation-page] .reservation-help{display:block;padding-bottom:32px}
 [data-reservation-page] .reservation-help>.button{margin-top:20px}
 [data-reservation-page] .reservation-help h2{font-size:28px}
}
@media(min-width:701px){
 [data-reservation-page] #reservation .contact-step{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}
 [data-reservation-page] #reservation .contact-step>.step-heading{grid-column:1/-1;margin-bottom:0}
 [data-reservation-page] #reservation .contact-step>.form-grid{display:contents}
 [data-reservation-page] #reservation .contact-step .passenger-selector{grid-column:1;grid-row:2;min-width:0;margin:0}
 [data-reservation-page] #reservation .contact-step .form-grid>label.full{grid-column:2;grid-row:2}
 [data-reservation-page] #reservation .contact-step .form-grid>label{align-self:start}
}
/* Three-step presentation; the same controls and handler remain mounted. */
[data-reservation-page] .reservation-sheet{max-width:1000px;padding-top:70px}
[data-reservation-page] #reservation .reservation-account-link{top:18px}
[data-reservation-page] .reservation-progress{list-style:none;display:flex;gap:24px;margin:0 0 28px;padding:0 0 18px;border-bottom:1px solid #e5e5e5;scroll-margin-top:24px;font-size:12px;color:#777}
[data-reservation-page] .reservation-progress li+li::before{content:'→';margin-right:24px;color:#999}
[data-reservation-page] .reservation-progress [aria-current=step]{color:#111;font-weight:600}
[data-reservation-page] .reservation-panel[hidden],[data-reservation-page] #reservation-form [hidden]{display:none!important}
[data-reservation-page] .reservation-panel>h2{font-size:25px;letter-spacing:-.6px;margin:0 0 22px;line-height:1.25;outline:none}
[data-reservation-page] #reservation .reservation-panel .step-heading{display:none}
[data-reservation-page] #reservation .reservation-panel .contact-step{border:0;margin:0;padding:0 0 12px}
[data-reservation-page] #reservation .reservation-panel .personal-journey{margin-top:12px}
[data-reservation-page] .reservation-step-actions{display:flex;gap:16px;margin-top:24px}
[data-reservation-page] .reservation-step-actions>.button{flex:1;min-height:48px;justify-content:center;border-radius:7px;background:#111;color:#fff;font-size:14px;gap:12px}
[data-reservation-page] .reservation-step-actions>.reservation-back{flex:0 0 110px;background:#fff;color:#111;border:1px solid #ccc}
[data-reservation-page] .reservation-step-actions button:disabled{opacity:.55;cursor:wait}
[data-reservation-page] .reservation-step-error{font-size:13px;margin:10px 0;color:#333}
[data-reservation-page] .reservation-step-error:empty{display:none}
[data-reservation-page] .reservation-review{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;margin:0;padding:0 0 18px}
[data-reservation-page] .reservation-review>div{min-width:0}
[data-reservation-page] .reservation-review dt{font-size:11px;color:#777}
[data-reservation-page] .reservation-review dd{font-size:14px;line-height:1.5;margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-line}
[data-reservation-page] .reservation-review-edits{display:flex;gap:24px;margin-bottom:22px}
[data-reservation-page] .reservation-review-edits button{background:none;border:0;text-decoration:underline;text-underline-offset:3px;font-size:12px;padding:8px 0;cursor:pointer;color:#555}
[data-reservation-page] .reservation-chauffeur-choice{border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:0 0 20px}
[data-reservation-page] .reservation-chauffeur-choice>summary{padding:18px 0;cursor:pointer;font-size:13px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
[data-reservation-page] .reservation-chauffeur-choice>summary strong{font-weight:500}
[data-reservation-page] .reservation-chauffeur-choice>summary span:last-child{margin-left:auto;text-decoration:underline;text-underline-offset:3px;font-size:12px}
[data-reservation-page] #reservation .reservation-chauffeur-choice .chauffeur-picker{border:0;margin:0;padding:0 0 16px}
[data-reservation-page] #reservation .reservation-chauffeur-choice .chauffeur-picker legend{display:none}
[data-reservation-page] .reservation-final-terms .form-note{max-width:none;font-size:11px;text-align:center}
@media(max-width:700px){
 [data-reservation-page] .reservation-sheet{padding:56px 18px 22px}
 [data-reservation-page] #reservation .reservation-account-link{position:absolute;top:14px;left:18px;right:auto}
 [data-reservation-page] .reservation-progress{gap:10px;font-size:10px;margin-bottom:22px;justify-content:space-between}
 [data-reservation-page] .reservation-progress li{flex:1;line-height:1.5}
 [data-reservation-page] .reservation-progress li+li::before{content:none}
 [data-reservation-page] .reservation-panel>h2{font-size:23px}
 [data-reservation-page] #reservation .journey-step>.form-grid{grid-template-columns:1fr;gap:16px}
 [data-reservation-page] #reservation .journey-step>.form-grid>label,[data-reservation-page] #reservation .journey-step>.form-grid>label.full,[data-reservation-page] #reservation .stop-editor{grid-column:1!important;grid-row:auto!important}
 [data-reservation-page] #reservation .contact-step .form-grid{grid-template-columns:1fr}
 [data-reservation-page] #reservation .contact-step .form-grid>label{grid-column:1!important}
 [data-reservation-page] .reservation-review{grid-template-columns:1fr;gap:12px}
 [data-reservation-page] .reservation-review-edits{gap:16px}
 [data-reservation-page] .reservation-step-actions>.reservation-back{flex-basis:80px}
 [data-reservation-page] #reservation #reservation-form .chauffeur-grid{grid-template-columns:1fr}
 [data-reservation-page] .reservation-chauffeur-choice>summary span:last-child{margin-left:0;width:100%}
}
@media(min-width:701px){
 [data-reservation-page] #reservation .reservation-panel .contact-step .passenger-selector,
 [data-reservation-page] #reservation .reservation-panel .contact-step .form-grid>label.full{grid-row:1}
}
[data-reservation-page] .reservation-panel>label{margin-top:20px}
/* Approved cinematic presentation. Scoped to the dedicated public page. */
[data-reservation-page] #reservation{position:relative;isolation:isolate;min-height:calc(100vh - 70px);padding-bottom:64px;background:#080808;color:#f5f5f5}
[data-reservation-page] .reservation-scene{position:static;isolation:auto;overflow:visible;height:auto;background:none}
[data-reservation-page] .reservation-scene>img{height:760px;max-height:none;object-position:65% 100%;filter:grayscale(1) brightness(.48);z-index:-1}
[data-reservation-page] .reservation-scene-copy{width:88%;max-width:1440px;margin:0 auto;padding:64px 0 42px}
[data-reservation-page] .reservation-scene h1{font-size:clamp(40px,4vw,60px);max-width:650px}
[data-reservation-page] .reservation-shell{width:88%;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid #393939;border-radius:7px;background:rgba(8,8,8,.89);position:relative}
[data-reservation-page] .reservation-sheet{min-width:0;max-width:none;margin:0;padding:64px 34px 32px;border:0;border-radius:0;background:none}
[data-reservation-page] #reservation #customer-access{color:#bbb}
[data-reservation-page] .reservation-progress{color:#aaa;border-color:#333;gap:18px;justify-content:space-between;font-size:11px}
[data-reservation-page] .reservation-progress li+li::before{content:none}
[data-reservation-page] .reservation-progress [aria-current=step]{color:#fff}
[data-reservation-page] .reservation-panel>h2{color:#fff;font-weight:500}
[data-reservation-page] #reservation-form{color-scheme:dark;color:#eee}
[data-reservation-page] #reservation-form :is(input:not([type=radio]):not([type=checkbox]),select,textarea){background:#0b0b0b;color:#f3f3f3;border-color:#3b3b3b;box-shadow:none}
[data-reservation-page] #reservation-form :is(input,textarea)::placeholder{color:#a5a5a5;opacity:1}
[data-reservation-page] #reservation-form :is(input[type=radio],input[type=checkbox]){accent-color:#fff}
[data-reservation-page] #reservation-form :is(label,legend){color:#eee}
[data-reservation-page] #reservation-form :is(.form-note,.field-hint,.optional,.address-manual-toggle,.address-attribution,.passenger-help){color:#bcbcbc}
[data-reservation-page] #reservation-form :is(a,.text-button){color:#ddd}
[data-reservation-page] #reservation-form :is(.journey-details,.personal-journey,.passenger-selector,.passenger-options,.address-widget,.address-results){background:transparent;border-color:#333;color:#eee}
[data-reservation-page] #reservation-form .address-results{background:#111}
[data-reservation-page] #reservation-form .address-results [role=option]{color:#eee;background:#111;border-color:#333}
[data-reservation-page] #reservation-form .address-results [role=option]:is(:hover,[aria-selected=true]){background:#333}
[data-reservation-page] #reservation-form :is(summary,.stop-actions button,.stop-remove){color:#ddd}
[data-reservation-page] #reservation-form .reservation-step-actions>.button{background:#f5f5f5;color:#111;border:1px solid #eee}
[data-reservation-page] #reservation-form .reservation-step-actions>.reservation-back{background:transparent;color:#eee;border-color:#555}
[data-reservation-page] #reservation-form :focus-visible{outline:2px solid #eee;outline-offset:3px}
[data-reservation-page] .reservation-step-error{color:#eee}
[data-reservation-page] .reservation-review dt{color:#bcbcbc}
[data-reservation-page] .reservation-review-edits button{color:#ddd}
[data-reservation-page] .reservation-chauffeur-choice{border-color:#333}
[data-reservation-page] #reservation #reservation-form .chauffeur-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-reservation-page] #reservation #reservation-form .chauffeur-card{background:#101010;border-color:#444;color:#eee}
[data-reservation-page] #reservation #reservation-form .chauffeur-card:has(input:checked){background:#202020;border-color:#eee}
[data-reservation-page] #reservation #reservation-form .chauffeur-card :is(small,.chauffeur-model){color:#bbb}
@media(max-width:1100px){
 [data-reservation-page] .reservation-shell{grid-template-columns:minmax(0,1fr) 250px}
 [data-reservation-page] .reservation-sheet{padding-left:24px;padding-right:24px}
}
@media(max-width:900px){
 [data-reservation-page] .reservation-shell{grid-template-columns:1fr}
}
@media(max-width:700px){
 [data-reservation-page] #reservation{padding-bottom:32px}
 [data-reservation-page] .reservation-scene>img{height:720px;object-position:66% 45%;filter:grayscale(1) brightness(.40)}
 [data-reservation-page] .reservation-scene-copy{padding:36px 0 32px}
 [data-reservation-page] .reservation-scene h1{font-size:38px}
 [data-reservation-page] .reservation-shell{width:92%}
 [data-reservation-page] .reservation-sheet{padding:56px 18px 24px}
 [data-reservation-page] .reservation-progress{gap:8px;font-size:10px}
 [data-reservation-page] #reservation #reservation-form .chauffeur-grid{grid-template-columns:1fr}
}

[data-reservation-page] #reservation-form .reservation-step{padding-bottom:0}
[data-reservation-page] #reservation-form .ride-extras{border-color:#333}
[data-reservation-page] #reservation-form :is(.add-stop,.remove-stop,.address-help,.pj-optional,.pj-note,.pj-card small,.personal-journey summary small,.pj-icon,.pj-check){color:#bcbcbc}
[data-reservation-page] #reservation-form .pj-card{background:#111;border-color:#444}
[data-reservation-page] #reservation-form .pj-card:has(input:checked){background:#242424;border-color:#ddd;box-shadow:none}
[data-reservation-page] #reservation-form .chauffeur-card:has(input:checked)::after{color:#eee}

/* Connected steps and contact assistance requested for the local review. */
[data-reservation-page] .reservation-shell{display:block;max-width:1100px}
[data-reservation-page] .reservation-sheet{padding:64px 36px 30px}
[data-reservation-page] .reservation-scene-copy{max-width:1100px}
[data-reservation-page] .reservation-progress{gap:16px}
[data-reservation-page] .reservation-progress li{display:flex;align-items:center;gap:16px;flex:1;min-width:0}
[data-reservation-page] .reservation-progress li:last-child{flex:0 1 auto}
[data-reservation-page] .reservation-progress-label{flex-shrink:0}
[data-reservation-page] .reservation-wire{display:block;flex:1;min-width:20px;height:1px;background:#454545;position:relative;overflow:hidden}
[data-reservation-page] .reservation-wire i{display:block;position:absolute;inset:0 auto 0 -35%;width:35%;background:#eee;animation:reservation-current 2.2s ease-in-out infinite}
[data-reservation-page] .reservation-progress li[data-complete=true] .reservation-wire{background:#aaa}
[data-reservation-page] .reservation-progress [aria-current=step] .reservation-wire i{animation-name:reservation-current-active}
@keyframes reservation-current{from{left:-35%}to{left:100%}}
@keyframes reservation-current-active{from{left:-35%}to{left:100%}}
[data-reservation-page] #reservation #customer-access{display:inline-flex;align-items:center;gap:7px}
[data-reservation-page] #customer-access::before{content:'';width:7px;height:7px;flex:none;border-radius:50%;background:#51c788;box-shadow:0 0 5px #51c78866;animation:reservation-heartbeat 2.2s ease-out infinite}
@keyframes reservation-heartbeat{0%,35%,100%{box-shadow:0 0 0 0 #51c78800;opacity:.85}10%,24%{box-shadow:0 0 0 5px #51c78822;opacity:1}17%{box-shadow:0 0 0 1px #51c78844}}
[data-reservation-page] #reservation-form :is(input[type=date],input[type=time]){cursor:pointer}
[data-reservation-page] .reservation-recurring{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-top:26px;border:1px solid #343434;border-radius:7px;color:#eee;background:#ffffff02}
[data-reservation-page] .reservation-recurring-icon{width:34px;height:34px;border-radius:50%;background:#ffffff09;display:grid;place-items:center;flex:none}
[data-reservation-page] .reservation-recurring-icon svg{width:21px;height:21px}
[data-reservation-page] .reservation-recurring strong{display:block;font-size:12px;font-weight:500;line-height:1.5}
[data-reservation-page] .reservation-recurring small{display:block;font-size:12px;color:#bbb;line-height:1.5;margin-top:3px}
[data-reservation-page] .reservation-link-arrow{font-size:26px;margin-left:auto}
[data-reservation-page] .reservation-recurring:hover{border-color:#666;background:#ffffff05}
[data-reservation-page] .reservation-assistance{width:88%;max-width:1100px;margin:30px auto 0;border-top:1px solid #333;padding:24px 0 0;display:grid;grid-template-columns:1.1fr 1fr auto;gap:30px;align-items:center}
[data-reservation-page] .reservation-assistance .eyebrow{font-size:9px;font-weight:500;letter-spacing:2px;color:#bcbcbc;margin:0 0 12px}
[data-reservation-page] #reservation .reservation-assistance h2{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.3;letter-spacing:-.6px;margin:0;color:#eee}
[data-reservation-page] .reservation-assistance h2 em{font-weight:400}
[data-reservation-page] .reservation-assistance>p{color:#bbb;font-size:12px;line-height:1.8;margin:0}
[data-reservation-page] .reservation-assistance>.button{background:transparent;border:1px solid #777;border-radius:6px;color:#eee;font-size:12px;gap:26px;padding:13px 20px}
@media(max-width:900px){[data-reservation-page] .reservation-assistance{grid-template-columns:1fr auto}[data-reservation-page] .reservation-assistance>p{grid-row:2}[data-reservation-page] .reservation-assistance>.button{grid-column:2;grid-row:1/3}}
@media(max-width:700px){
 [data-reservation-page] .reservation-sheet{padding:56px 18px 24px}
 [data-reservation-page] .reservation-progress{gap:8px}
 [data-reservation-page] .reservation-progress li{gap:8px;flex:1}
 [data-reservation-page] .reservation-progress-label{flex-shrink:1}
 [data-reservation-page] .reservation-wire{flex:none;width:14px;min-width:0}
 [data-reservation-page] .reservation-assistance{display:flex;flex-direction:column;align-items:stretch;gap:18px;width:88%;margin-top:24px}
 [data-reservation-page] .reservation-assistance>.button{justify-content:space-between;align-self:flex-start}
 [data-reservation-page] .reservation-recurring{padding:14px 12px;gap:10px}
 [data-reservation-page] .reservation-recurring strong,[data-reservation-page] .reservation-recurring small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){[data-reservation-page] .reservation-wire i,[data-reservation-page] #customer-access::before{animation:none!important}}

/* Compact arrangements link stays above the steps, opposite customer access. */
[data-reservation-page] .reservation-sheet{padding-top:22px}
[data-reservation-page] .reservation-recurring{width:fit-content;max-width:calc(100% - 250px);margin:0 0 26px;padding:10px 12px;gap:10px}
[data-reservation-page] .reservation-recurring strong,[data-reservation-page] .reservation-recurring small{font-size:10px}
[data-reservation-page] .reservation-recurring-icon{width:28px;height:28px}
[data-reservation-page] .reservation-recurring-icon svg{width:18px;height:18px}
[data-reservation-page] .reservation-link-arrow{font-size:21px}
[data-reservation-page] #reservation .reservation-account-link{top:34px}
@media(max-width:700px){
 [data-reservation-page] .reservation-sheet{padding-top:56px}
 [data-reservation-page] .reservation-recurring{max-width:100%;margin-bottom:24px}
 [data-reservation-page] #reservation .reservation-account-link{top:14px}
}

/* Keep the full skyline/SUV composition at G9 widths instead of enlarging the road. */
@media(min-width:1800px){
 [data-reservation-page] .reservation-scene>img{width:min(100%,2000px);height:1100px;left:50%;right:auto;transform:translateX(-50%);object-position:center top;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,#000 65%,transparent);mask-composite:intersect}
}
[data-reservation-page] .reservation-recurring strong{font-size:12px;font-weight:400}

/* Dedicated dark booking surfaces: override the original light-theme !important rules. */
[data-reservation-page] #reservation-form .address-results button strong{color:#f5f5f5}
[data-reservation-page] #reservation-form .address-results button small,
[data-reservation-page] #reservation-form .address-attribution{color:#bcbcbc}
[data-reservation-page] #reservation-form .pj-card{padding-right:42px}
[data-reservation-page] #reservation-form .pj-card:has(input:checked){background:#242424!important;border-color:#ddd!important;box-shadow:none!important}
[data-reservation-page] #reservation-form .pj-card strong{color:#f5f5f5}
[data-reservation-page] #reservation-form .pj-check{display:flex;align-items:center;justify-content:center;position:absolute;right:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:1px solid #888;border-radius:50%;font-size:0;color:#111}
[data-reservation-page] #reservation-form .pj-card:has(input:checked) .pj-check{display:flex;background:#fff;border-color:#fff;font-size:13px;color:#111}
@media(max-width:700px){
 [data-reservation-page] #reservation-form .address-widget.address-searching{background:#0b0b0b!important;color:#f5f5f5;box-shadow:0 0 0 100vmax #0b0b0bfa;color-scheme:dark}
 [data-reservation-page] #reservation-form .address-searching::before,
 [data-reservation-page] #reservation-form .address-search-close{color:#f5f5f5}
 [data-reservation-page] #reservation-form .address-searching .address-results button{border-bottom-color:#444!important}
}

/* Homepage experience markers: decorative line icons alongside the existing headings. */
.experience-details>div>.experience-icon{flex:0 0 20px;color:#555;padding-top:3px;line-height:1}
.experience-icon svg{display:block}

/* Decorative Boston footage; the existing photograph remains the fallback. */
[data-reservation-page] .reservation-video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) brightness(.32);opacity:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,#000 65%,transparent)}
[data-reservation-page] .reservation-video.is-playing{opacity:1}
@media(min-width:1800px){[data-reservation-page] .reservation-video{width:min(100%,2400px);left:50%;transform:translateX(-50%);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,#000 65%,transparent);mask-composite:intersect}}
@media(prefers-reduced-motion:reduce){[data-reservation-page] .reservation-video{display:none}}

/* Keep the existing type size: give the extra partner link a second header row on narrow laptops. */
@media(min-width:1101px) and (max-width:1399px){
 html.bw-site:not(.guest-booking){--public-header-height:144px!important}
 html.bw-site:not(.guest-booking) header.membership-nav{height:144px!important;flex-wrap:wrap!important;align-content:center!important;gap:8px!important}
 html.bw-site:not(.guest-booking) header.membership-nav nav{flex:0 0 100%!important;width:100%!important;justify-content:flex-end!important}
}

/* Reviewed public presentation only. Forms and shared authentication remain untouched. */
@media(min-width:901px){
 html.bw-site:not(.guest-booking) main>.hero{min-height:100svh!important;display:flex;align-items:center;padding:var(--public-header-height,92px) 0 80px!important}
 html.bw-site:not(.guest-booking) main>.hero .hero-content{width:100%;max-width:1760px;margin-inline:auto;padding:54px clamp(28px,4vw,64px)!important}
 html.bw-site:not(.guest-booking) main>.hero .hero-content h1{max-width:720px}
}
/* Remove the old 1920px photograph cap, not the approved image or motion wrapper. */
html.bw-site:not(.guest-booking) main>.hero .hero-art{background-size:100% 100%,100% 100%,cover!important;background-position:center,center,center 48%!important;background-repeat:no-repeat!important;mask-image:none!important;-webkit-mask-image:none!important}
html.bw-site:not(.guest-booking) main>.hero .hero-art::after{display:none!important}
/* Symmetric padding centers content in the available area below the header. */
html.bw-site:not(.guest-booking) .noir-account:has(#signin:not([hidden])) .account-main{padding:calc(var(--public-header-height,92px) + 40px) 0 40px!important;justify-content:center}
html.bw-site .noir-account #signin.signin-layout{min-height:0;padding-block:0}
html.bw-site .noir-account:has(#signin:not([hidden])) .account-support{flex:none;margin-top:28px;padding-top:0}
html.bw-site .noir-account .account-support:has(.client-app-entry[hidden]){display:none}
.partners-page{min-height:100svh;display:flex;flex-direction:column}
.partners-page .partners-main{flex:1;min-height:0;display:flex;align-items:center;padding:calc(var(--public-header-height,92px) + 40px) 0 40px}
.partners-page .partners-layout{align-items:center;margin-inline:auto}
.partners-page .partners-intro{align-self:end;padding-top:0}
.partners-page .partners-context{align-self:start;margin-top:20px}
.partners-page .partners-scene{inset:0;width:auto;transform:none}
.partners-page .partners-scene img{height:100%;min-height:100%;object-position:center 62%;filter:grayscale(1) brightness(.46)}
.partners-page .partners-scene::after{background:linear-gradient(90deg,#08080899,transparent 70%),linear-gradient(0deg,#080808 0%,transparent 45%)}
html.bw-site #site-footer{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:26px 20px!important;background:#111;color:#eee;flex:none}
html.bw-site #site-footer .wordmark{font-size:13px;line-height:1.5;letter-spacing:1.1px}
html.bw-site #site-footer .legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 24px;font:400 12px/1.5 'DM Sans',sans-serif}
html.bw-site #site-footer .legal-links a{color:#ccc;display:inline-flex;align-items:center;min-height:32px;text-decoration:underline;text-underline-offset:4px}
html.bw-site #site-footer .footer-copyright{font-size:11px;color:#aaa}
.bw-document-page,.bw-services-page{background:#0b0b0b;color:#eee;min-height:100svh;display:flex;flex-direction:column}
.bw-document-main{width:min(820px,calc(100% - 40px));margin-inline:auto;padding:calc(var(--public-header-height,92px) + 54px) 0 72px;flex:1}
.bw-document-main h1{font:500 clamp(36px,4vw,56px)/1.13 'Manrope',sans-serif;letter-spacing:-1.5px}
.bw-document-main h2{font:500 23px/1.35 'Manrope',sans-serif;letter-spacing:-.45px;margin:38px 0 12px}
.bw-document-main p,.bw-document-main li{font:400 16px/1.8 'DM Sans',sans-serif;color:#ccc}
.bw-document-main a{color:#eee;text-decoration:underline;text-underline-offset:4px}
.bw-document-main .eyebrow{color:#aaa;font-size:11px}
.bw-document-main details{margin-top:36px;border-top:1px solid #444;padding-top:24px}
.bw-document-main summary{cursor:pointer;font-size:18px;padding-block:12px}
.bw-services-main{flex:1;padding-top:var(--public-header-height,92px)}
.bw-services-intro{width:min(1180px,calc(100% - 40px));margin:auto;padding:60px 0 45px}
.bw-services-intro h1{max-width:780px;font-size:clamp(38px,4.5vw,64px)}
.bw-services-main .services{background:#f5f5f5;color:#181818;padding-block:60px}
.bw-services-main .service-grid{max-width:1180px;margin:auto}
.bw-services-main .service-grid .service{transform:none}
.bw-services-main .service-number{color:#595959}
.bw-services-main .service p{color:#555}
.bw-services-help{width:min(1180px,calc(100% - 40px));margin:40px auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.bw-services-help p{color:#ccc}.bw-services-help a{border:1px solid #777;padding:14px 22px;white-space:nowrap;border-radius:5px}
.bw-privacy-notice{position:fixed;z-index:150;bottom:18px;left:18px;width:min(430px,calc(100% - 36px));padding:20px;background:#111;border:1px solid #555;border-radius:8px;color:#eee;box-shadow:0 8px 35px #0006;font:400 13px/1.6 'DM Sans',sans-serif}
.bw-privacy-notice[hidden]{display:none!important}.bw-privacy-notice p{margin:0 0 14px}.bw-privacy-notice a{color:#eee;text-decoration:underline}.bw-privacy-actions{display:flex;gap:10px;flex-wrap:wrap}
.bw-privacy-actions button,.bw-cookie-settings button{font:500 13px/1.5 'DM Sans',sans-serif;border:1px solid #777;background:#181818;color:#fff;border-radius:5px;padding:11px 14px;min-height:44px;cursor:pointer;box-shadow:none}
.bw-cookie-settings{border:1px solid #444;border-radius:7px;padding:22px;margin-top:30px}.bw-cookie-settings p:first-child{margin-top:0}.bw-cookie-settings [role=status]{font-size:14px;margin-bottom:0}
@media(max-width:900px){
 html.bw-site:not(.guest-booking) .noir-account:has(#signin:not([hidden])) .account-main{padding:calc(var(--public-header-height,72px) + 28px) 0 32px!important;justify-content:flex-start}
 .partners-page .partners-main{padding:calc(var(--public-header-height,72px) + 28px) 0 32px}
 .partners-page .partners-layout{margin-block:0}.partners-page .partners-context{margin-top:0}
 .bw-document-main{padding-top:calc(var(--public-header-height,72px) + 32px)}
 .bw-services-help{flex-direction:column;align-items:flex-start}.bw-services-main .service-grid{grid-template-columns:1fr}.bw-services-main .service p{min-height:0}
}
@media(prefers-reduced-motion:reduce){.bw-privacy-notice{animation:none}}

@media(min-width:901px){html.bw-site .noir-account:has(#signin:not([hidden])) .account-support{display:none!important}}

/* Owner follow-up: compact shared footer and a slightly more legible partner invitation. */
html.bw-site #site-footer{flex-direction:column;flex-wrap:nowrap;gap:2px;padding:12px 24px!important;background:#0b0b0b}
html.bw-site #site-footer .wordmark{font-size:12px;margin:0!important}
html.bw-site #site-footer .footer-copyright{margin:0!important}
html.bw-site #site-footer .legal-links{gap:0 18px}
html.bw-site #site-footer .legal-links a{min-height:32px}
.partners-page .partners-description{font-size:16px}
.partners-page .partners-context strong,.partners-page .partner-type strong{font-size:15px}
.partners-page .partners-context span,.partners-page .partners-disclaimer,.partners-page .partner-type small{font-size:13px}
.partners-page .partners-panel #step-description,.partners-page .partner-field label{font-size:14px}
@media(max-width:900px){
 .partners-page .partners-scene{height:1200px;bottom:auto}
 .partners-page .partners-scene img{object-position:46% center;filter:grayscale(1) brightness(.58)}
 .partners-page .partners-scene::after{background:linear-gradient(0deg,#080808,transparent 22%),linear-gradient(90deg,#08080840,transparent)}
 .partners-page .partners-intro h1{font-size:40px}
 .partners-page .partners-panel{background:rgba(10,10,10,.82)}
 html.bw-site #site-footer{gap:2px 14px;padding:12px 16px!important}
 html.bw-site #site-footer .legal-links{width:100%;gap:0 16px}
}

/* Only ultrawide aspect ratios use a less enlarged photograph and feathered black sides. */
@media(min-width:2200px) and (min-aspect-ratio:2/1){
 html.bw-site:not(.guest-booking) main>.hero{background:#000!important}
 html.bw-site:not(.guest-booking) main>.hero .hero-art{background-size:100% 100%,100% 100%,min(2400px,100vw) auto!important;mask-image:linear-gradient(90deg,transparent calc(50% - 1200px),#000 calc(50% - 900px),#000 calc(50% + 900px),transparent calc(50% + 1200px))!important;-webkit-mask-image:linear-gradient(90deg,transparent calc(50% - 1200px),#000 calc(50% - 900px),#000 calc(50% + 900px),transparent calc(50% + 1200px))!important}
}

/* Compact review: one readable group at a time, with Edit always available. */
.partners-page .partner-checks label{font-size:15px;line-height:1.5}
.partners-page .partner-review dl{font-size:15px;line-height:1.6;gap:10px 18px}
.partners-page .partner-review-heading h4{font-size:16px;margin:0;font-weight:500}
.partners-page .partner-review h3{font-size:21px}
.partners-page .partner-review-section{padding:0;border-top:1px solid #444}
.partners-page .partner-review-heading{cursor:pointer;list-style:none;min-height:58px;gap:14px}
.partners-page .partner-review-heading::-webkit-details-marker{display:none}
.partners-page .partner-review-heading::before{content:'+';font-size:20px;color:#ccc;width:16px;flex:none}
.partners-page .partner-review-section[open]>.partner-review-heading::before{content:'−'}
.partners-page .partner-review-heading h4{flex:1}
.partners-page .partner-review-section dl{padding:0 0 20px;margin:0}
.partners-page .partner-edit{font-size:14px!important}
@media(max-width:480px){.partners-page .partner-review dl{grid-template-columns:1fr;gap:2px}.partners-page .partner-review dt:not(:first-child){margin-top:12px}.partners-page .partner-review-heading h4{font-size:15px}}

/* Small link row only on existing pages; the service-page presentation is not loaded here. */
.bw-service-guides{display:flex;flex-wrap:wrap;gap:12px 28px;padding:18px 0;font:400 14px/1.6 'DM Sans',sans-serif}
.bw-service-guides a{color:inherit;text-decoration:underline;text-underline-offset:5px;min-height:32px;display:inline-flex;align-items:center}
#coverage .bw-service-guides{grid-column:1/-1;margin-top:20px}
.bw-services-main>.bw-service-guides{width:min(1180px,calc(100% - 40px));margin:0 auto 30px}
@media(max-width:480px){.bw-service-guides{flex-direction:column;gap:6px}}

/* Compact, crawlable homepage navigation. Existing brand and legal copy retained. */
html.bw-site #site-footer.bw-search-footer {
 display:grid;grid-template-columns:minmax(0,600px);justify-content:center;gap:0;padding:24px clamp(16px,4vw,64px) 8px!important;
 background:#090909;color:#ccc;text-align:center;
}
html.bw-site #site-footer .footer-groups {
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;
 grid-column:1/-1;width:min(100%,900px);margin:0 auto 16px;
}
html.bw-site #site-footer .footer-group h2 {
 color:#f3f3f3;font:500 15px/1.4 'Manrope',sans-serif;letter-spacing:0;margin:0 0 10px;
}
html.bw-site #site-footer .footer-group nav {display:flex;flex-direction:column;align-items:center;gap:0}
html.bw-site #site-footer .footer-group a {
 display:inline-flex;align-items:center;min-height:36px;color:#bcbcbc;
 font:400 14px/1.45 'DM Sans',sans-serif;text-decoration:none;padding:5px 0;
}
html.bw-site #site-footer .footer-group a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px}
html.bw-site #site-footer .footer-group a:focus-visible {outline:2px solid #fff;outline-offset:4px}
html.bw-site #site-footer.bw-search-footer .footer-copyright {
 grid-row:3;display:block;width:100%;text-align:center;border-top:0;padding-top:0;align-self:center;margin:0;font-size:12px;
}
html.bw-site #site-footer.bw-search-footer .legal-links {
 grid-row:2;display:flex;flex-wrap:wrap;justify-content:center;gap:0 14px;margin:0;width:100%;font:400 12px/1.5 'DM Sans',sans-serif;
}
html.bw-site #site-footer.bw-search-footer .legal-links a {min-height:32px;display:inline-flex;align-items:center}
html.bw-home-footer-visible #bw-ava.ava-home .ava-launch {
 bottom:calc(var(--bw-home-footer-height,260px) + 16px + env(safe-area-inset-bottom));
}
@media(max-width:600px){
 html.bw-site #site-footer.bw-search-footer{grid-template-columns:minmax(0,1fr);padding:20px 16px 8px!important;gap:0}
 html.bw-site #site-footer .footer-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;width:100%}
 html.bw-site #site-footer .footer-group h2{font-size:13px;min-height:36px;margin-bottom:4px}
 html.bw-site #site-footer .footer-group a{min-height:44px;font-size:12px;justify-content:center}
 html.bw-site #site-footer.bw-search-footer .footer-copyright{font-size:11px;line-height:20px}
 html.bw-site #site-footer.bw-search-footer .legal-links{gap:0 12px;font-size:11px}
}

/* Isolated names; no page transforms, scroll locks, fonts or global control overrides. */
#bw-ava { font-family:'DM Sans',sans-serif; color:#f5f5f5; }
#bw-ava *,#bw-ava *::before,#bw-ava *::after { box-sizing:border-box; }
#bw-ava .ava-launch { position:fixed; z-index:80; right:max(24px,env(safe-area-inset-right)); bottom:calc(24px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:12px; padding:13px 22px 13px 16px; border:1px solid #555; border-radius:60px; background:#141414; color:#f5f5f5; font:inherit; text-align:left; box-shadow:0 8px 28px #0005; cursor:pointer; transition:background .2s,border-color .2s; }
#bw-ava .ava-launch:hover { background:#222; border-color:#999; }
#bw-ava svg { width:28px;height:28px;flex:none; }
#bw-ava .ava-launch-copy {display:grid;gap:2px;}
#bw-ava .ava-launch-copy strong {font-size:17px;font-weight:500;line-height:1.3;}
#bw-ava .ava-launch-copy span {font-size:12px;font-weight:400;line-height:1.4;color:#c4c4c4;}
#bw-ava #ava-panel { position:fixed; inset:auto max(24px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) auto; margin:0; padding:0; width:390px; max-width:calc(100% - 32px); max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; color:#f5f5f5; background:#111; border:1px solid #525252; border-radius:20px; box-shadow:0 20px 70px #0008; font:inherit; transform-origin:bottom right;animation:ava-enter .45s cubic-bezier(.22,.7,.18,1); }
#bw-ava #ava-panel:not([open]) {display:none;}
#ava-panel::backdrop {background:rgb(0 0 0 / .22);}
/* Preserve the measured existing shell; content is a compact centered composition. */
#bw-ava #ava-panel {container:ava-panel / inline-size;background:#080808;}
#bw-ava .ava-content {position:relative;isolation:isolate;padding:26px;height:551.125px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse 70% 28% at 50% 14%,#353a3b55,transparent 85%),linear-gradient(160deg,#111 0%,#080808 55%,#050505);}
#bw-ava .ava-content::before {content:"";position:absolute;z-index:-1;left:0;right:0;top:105px;height:1px;background:linear-gradient(90deg,transparent,#c0c6c92b,transparent);box-shadow:0 -8px 28px 7px #b6c2c612;}
#bw-ava .ava-logo {display:block;object-fit:contain;flex:none;}
#bw-ava .ava-launch-mark {position:relative;display:block;width:28px;height:28px;flex:none;}
#bw-ava .ava-launch .ava-logo {width:38px;height:38px;max-width:none;margin:-5px;}
#bw-ava .ava-emblem {height:64px;width:64px;flex:none;margin:0 auto 17px;filter:drop-shadow(0 0 12px #ffffff14);}
/* Original asset includes transparent padding; the visible droplet is about 60px. */
#bw-ava .ava-emblem .ava-logo {height:96px;width:96px;max-width:none;margin:-16px;}
#bw-ava .ava-close {position:absolute;right:17px;top:17px;display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;border:0;border-radius:3px;color:#fff;cursor:pointer;opacity:.9;transition:opacity .16s;}
#bw-ava .ava-close:hover {opacity:.6;}
#bw-ava .ava-identity {flex:none;}
#bw-ava p {font:400 15px/1.65 'DM Sans',sans-serif;color:#c4c4c4;margin:0;}
#bw-ava .ava-eyebrow {font-size:10px;letter-spacing:4px;line-height:1.5;color:#ddd;}
#bw-ava #ava-title {font:400 76px/.95 Georgia,serif;letter-spacing:-3px;margin:4px 0 14px;color:#fff;}
#bw-ava .ava-subtitle {font-size:10px;line-height:1.9;letter-spacing:3px;color:#d0d0d0;}
#bw-ava .ava-divider {width:42px;height:1px;flex:none;background:#5a5a5a;margin:23px auto;}
#bw-ava .ava-announcement {max-width:310px;}
#bw-ava #ava-message {font:400 21px/1.3 Georgia,serif;letter-spacing:0;color:#f0f0f0;margin:0 0 13px;}
#bw-ava #ava-message em {font-weight:400;white-space:nowrap;}
#bw-ava #ava-body {font-size:14px;line-height:1.75;}
#bw-ava .ava-status {display:block;flex:none;border:1px solid #777;border-radius:30px;padding:12px 28px;font-size:10px;letter-spacing:3px;line-height:1.5;margin:auto auto 0;color:#eee;}
#bw-ava .ava-contact {display:flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:10px 8px 0;color:#a9a9a9;font-size:11px;font-weight:400;text-underline-offset:3px;background:transparent;border:0;}
#bw-ava .ava-contact:hover {color:#fff;}
/* One CSS timeline per element. All content is immediately accessible. */
#ava-panel {--ava-pace:1;}
#ava-panel[open] .ava-emblem {position:relative;isolation:isolate;}
#ava-panel[open] .ava-emblem .ava-logo {animation:ava-drop-in calc(.55s * var(--ava-pace)) cubic-bezier(.22,.5,.4,1) calc(.15s * var(--ava-pace)) both;}
#ava-panel[open] .ava-emblem::before {content:"";position:absolute;z-index:-1;left:7px;right:7px;bottom:-3px;height:9px;border:1px solid #b8c5cc77;border-radius:50%;opacity:0;animation:ava-ripple calc(.5s * var(--ava-pace)) ease-out calc(.55s * var(--ava-pace)) both;}
#ava-panel[open] .ava-eyebrow {animation:ava-intro calc(.2s * var(--ava-pace)) ease-out calc(.55s * var(--ava-pace)) both;}
#ava-panel[open] #ava-title {animation:ava-intro calc(.25s * var(--ava-pace)) ease-out calc(.62s * var(--ava-pace)) both;}
#ava-panel[open] .ava-subtitle {animation:ava-intro calc(.25s * var(--ava-pace)) ease-out calc(.7s * var(--ava-pace)) both;}
#ava-panel[open] .ava-announcement {animation:ava-intro calc(.27s * var(--ava-pace)) ease-out calc(.78s * var(--ava-pace)) both;}
#ava-panel[open] .ava-status {animation:ava-intro calc(.2s * var(--ava-pace)) ease-out calc(.85s * var(--ava-pace)) both;}
@keyframes ava-light {from{opacity:0}to{opacity:1}}
@keyframes ava-intro {from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
/* The authorized droplet translates without rotating, morphing or stretching. */
@keyframes ava-drop-in {0%{opacity:0;transform:translateY(-28px)}25%{opacity:1}100%{opacity:1;transform:none}}
@keyframes ava-ripple {0%{opacity:0;transform:scale(.35)}20%{opacity:.7}100%{opacity:0;transform:scale(1.5)}}
#bw-ava.ava-home:not(.ava-engaged) .ava-launch .ava-logo {animation:ava-drip 3.2s linear infinite;}
#bw-ava .ava-launch-mark::after {content:"";position:absolute;left:3px;right:3px;bottom:-2px;height:5px;border:1px solid #c7d0d077;border-radius:50%;opacity:0;pointer-events:none;}
#bw-ava.ava-home:not(.ava-engaged) .ava-launch-mark::after {animation:ava-launch-ripple 3.2s ease-out infinite;}
@keyframes ava-drip {0%{opacity:0;transform:translateY(-14px)}12%{opacity:1;transform:translateY(-10px)}28%,75%{opacity:1;transform:none}88%{opacity:0;transform:translateY(6px)}100%{opacity:0;transform:translateY(-14px)}}
@keyframes ava-launch-ripple {0%,26%{opacity:0;transform:scale(.35)}31%{opacity:.65}48%,100%{opacity:0;transform:scale(1.4)}}
#bw-ava.ava-page-hidden .ava-launch .ava-logo,#bw-ava.ava-page-hidden .ava-launch-mark::after {animation-play-state:paused;}

#bw-ava :focus-visible {outline:2px solid #fff;outline-offset:4px;}
#bw-ava .ava-contact:focus-visible {outline-offset:4px;}
#bw-ava #ava-panel.ava-closing {animation:ava-exit .18s ease-in forwards;}
html:has(.membership-entrance) #bw-ava,html.bw-menu-open #bw-ava,body:has(.bw-privacy-notice:not([hidden])) #bw-ava,body:has(dialog[open]:not(#ava-panel)) #bw-ava {visibility:hidden;}
@keyframes ava-enter {from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ava-exit {to{opacity:0;transform:translateY(4px) scale(.99)}}
@media(max-width:600px){
 #ava-panel {--ava-pace:.75;}
 #bw-ava #ava-panel {animation-duration:.34s;}
 #bw-ava .ava-launch {right:max(16px,env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));width:54px;height:54px;padding:12px;justify-content:center;}
 #bw-ava .ava-launch-copy {display:none;}
 #bw-ava #ava-panel {right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:calc(100% - 32px);border-radius:18px;}
 #bw-ava .ava-content {padding:23px;height:545.125px;}
}
/* Narrow panels formerly wrapped extra lines; retain those exact outer heights. */
@container ava-panel (max-width:330px){#bw-ava .ava-content{height:566.5625px;}}
@container ava-panel (max-width:290px){#bw-ava .ava-content{height:607.8125px;}}
@media(prefers-reduced-motion:reduce){#bw-ava #ava-panel,#bw-ava #ava-panel.ava-closing {animation:none;}#bw-ava .ava-launch,#bw-ava .ava-contact {transition:none;}}
/* Public glass controls use an ID-specific global rule; contain its shape here. */
#bw-ava#bw-ava .ava-launch {border-radius:999px!important;}
#bw-ava#bw-ava .ava-close {border:0!important;border-radius:3px!important;background:transparent!important;box-shadow:none;outline:none;}
#bw-ava#bw-ava .ava-keyboard .ava-close:focus {outline:2px solid #fff;outline-offset:2px;}
#bw-ava#bw-ava .ava-launch:active {transform:scale(.985);transition:transform .1s ease;}

@media(prefers-reduced-motion:reduce){#ava-panel[open] .ava-emblem,#ava-panel[open] .ava-emblem .ava-logo,#ava-panel[open] .ava-emblem::before,#ava-panel[open] .ava-eyebrow,#ava-panel[open] #ava-title,#ava-panel[open] .ava-subtitle,#ava-panel[open] .ava-announcement,#ava-panel[open] .ava-status{animation:none;}#bw-ava#bw-ava .ava-launch:active{transform:none;}}

@media(prefers-reduced-motion:reduce){#bw-ava.ava-home:not(.ava-engaged) .ava-launch .ava-logo,#bw-ava.ava-home:not(.ava-engaged) .ava-launch-mark::after{animation:none;}}

/* Only the homepage hero: existing content, dimensions and motion are retained. */
html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art{
 background:#000!important; mask-image:none!important; -webkit-mask-image:none!important;
}
#bw-home-video,#bw-home-still{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art::after{
 content:"";display:block!important;position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.18) 70%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 40%,rgba(0,0,0,.2));
}
@media(min-aspect-ratio:21/9) and (min-width:1920px){
 #bw-home-video,#bw-home-still{width:min(100%,2560px);left:50%;transform:translateX(-50%);object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
}
@media(max-width:600px){
 #bw-home-video,#bw-home-still{object-position:42% center}
 html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art::after{background:linear-gradient(0deg,rgba(0,0,0,.83),rgba(0,0,0,.32) 65%,rgba(0,0,0,.4))}
}

#bw-home-video[hidden],#bw-home-still[hidden]{display:none}

/* Owner-approved composition; standard screens full bleed, ultrawide soft edges. */
html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art{background:#000!important}
#bw-home-video,#bw-home-still{
 display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;
 transform:none;object-fit:cover;object-position:center;pointer-events:none;
 -webkit-mask-image:none;mask-image:none;
}
html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art::after{
 background:linear-gradient(90deg,rgba(0,0,0,.38),rgba(0,0,0,.1) 68%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 40%);
}
@media(min-width:901px){
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .hero-content{max-width:550px!important;width:39%!important;margin-left:5vw!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero h1 .hero-line{font-size:clamp(52px,5.2vw,80px)!important;line-height:1.06!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .hero-copy{max-width:410px!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .actions{gap:12px!important;flex-wrap:wrap}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .actions .button{min-width:0!important;padding-inline:24px!important}
}
/* Aspect ratio, not pixel width: a 2560px normal monitor must remain full bleed. */
@media(min-width:1600px) and (min-aspect-ratio:21/9){
 #bw-home-video,#bw-home-still{
  inset:auto;width:min(78%,3000px);height:auto;aspect-ratio:16/9;left:14%;top:50%;transform:translateY(-50%);object-fit:fill;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 22%,#000 86%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 80%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 22%,#000 86%,transparent),linear-gradient(0deg,transparent,#000 18%,#000 80%,transparent);
  -webkit-mask-composite:source-in;mask-composite:intersect;
 }
 html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art::after{background:linear-gradient(90deg,#000 3%,rgba(0,0,0,.86) 20%,rgba(0,0,0,.12) 44%,transparent 68%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 34%,rgba(0,0,0,.12))}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .hero-content{margin-left:10vw!important;max-width:660px!important}
}
@media(max-width:900px){
 html.bw-site:not(.guest-booking) main>.hero .hero-art.bw-video-art::after{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.5) 45%,rgba(0,0,0,.18))}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .hero-content{margin-top:0!important;padding-top:clamp(68px,9svh,100px)!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero h1 .hero-line{font-size:clamp(40px,10.8vw,60px)!important;line-height:1.05!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .hero-copy{font-size:12px!important;line-height:1.6!important;margin-top:22px!important}
 html.bw-site.bw-site:not(#a):not(#b) main>.hero .actions{margin-top:22px!important}
}
#bw-home-video[hidden],#bw-home-still[hidden]{display:none}

.app-promotion-phone-screen{background-image:linear-gradient(#080808e0,#08080833,#080808d9),url("/media/fast-app-preview.webp")!important}