/* Shared page surface and decorative booking glyph. */
body { --sq-home-surface: var(--sq-bg, #fff); --sq-veil: rgba(255,255,255,.72); --sq-solid-nav: var(--sq-card,#fff); }
.dark body { --sq-home-surface: var(--sq-bg, #111827); --sq-veil: rgba(13,21,34,.72); --sq-solid-nav: var(--sq-card,#111827); }
body #home.sqmx:not(.sqmx--panorama) { background-color: var(--sq-home-surface); }
:is(header, #home) a:is([href$="/booking.html"],[href="booking.html"]):not([data-lang])::before {
  content:""; display:inline-block; width:1.15em; height:1.15em; margin-inline-end:.42em; vertical-align:-.17em;
  flex:none; background-color:currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='3'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18m-13 5 2.5 2.5 5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
body[data-sq-scenery] { isolation:isolate; }
#sq-backdrop {
  position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden;
  background:var(--sq-home-surface);
}
#sq-backdrop::before, #sq-backdrop .sq-bg-media {
  position:absolute; inset:-3%; width:106%; height:106%; max-width:none; object-fit:cover;
  filter:blur(var(--sq-blur,0px)); pointer-events:none;
}
#sq-backdrop[data-mode="aurora"]::before {content:"";background:radial-gradient(ellipse at 13% 26%,#0aa483 0,transparent 50%),radial-gradient(ellipse at 77% 58%,#e6ae70,transparent 47%),linear-gradient(140deg,#29445c,#688878);}
#sq-backdrop[data-mode="dunes"]::before {content:"";background:repeating-radial-gradient(ellipse at 8% 120%,transparent 0 26px,#a46d3c70 27px 29px,transparent 30px 54px),linear-gradient(125deg,#d8af83,#f6dcba 46%,#8eb8a3);}
#sq-backdrop::after { content:"";position:absolute;inset:0;background:var(--sq-veil); }
#sq-backdrop video:not(.is-playing) {opacity:0}
#sq-backdrop .sq-bg-incoming {opacity:0;transition:opacity .9s ease;}
#sq-backdrop .sq-bg-incoming.is-visible {opacity:1}
@media(prefers-reduced-motion:no-preference) {
  #sq-backdrop[data-pan=yes][data-animate=yes] img {animation:sq-bg-drift 18s ease-in-out infinite alternate}
  @keyframes sq-bg-drift {from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.11) translateX(1%)}}
}
body[data-sq-scenery] main,
body[data-sq-scenery] main > :is(.section-light,.section-dark,.cms-section,.cms-booking,.sq-google,.sqmx,.bg-white,.fleet-page-section):not([style*="background-image"]),
body[data-sq-scenery] #home.sqmx:not(.sqmx--panorama) {background-color:transparent!important}
body[data-sq-scenery] #home:has(> .home-video-wall),
body[data-sq-scenery] main > :is(.fleet-page-section,.booking-service-section,.booking-form-section,.booking-form-panel,.sq-journal):not([style*="background-image"]) {background:transparent!important}
body[data-sq-scenery="included"] > header#header {background:color-mix(in srgb,var(--sq-solid-nav) 45%,transparent)!important;backdrop-filter:blur(5px)}
body[data-sq-scenery="solid"] > header#header {background:var(--sq-solid-nav)!important}

/* The authored tile still occupies its own cells. Long copy expands its track. */
.sqmx--custom:has(.sqmx-overlay-tile) .sqmx-grid {grid-auto-rows:minmax(var(--mx-row,64px),auto)}
.sqmx--custom:has(.sqmx-overlay-tile) .sqmx-tile > .sqmx-media {position:absolute;inset:0;width:100%;height:100%}
#home .sqmx-overlay-tile {
  isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end;
  min-height:clamp(280px,31vw,475px); color:white;
}
#home .sqmx-overlay-tile > .sqmx-media {position:absolute;inset:0;width:100%;height:100%;max-height:none;z-index:-2}
#home.sqmx--custom .sqmx-overlay-tile {min-height:min-content}
.sqmx-overlay-tile::after {content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(0deg,#081420dd,rgba(8,20,32,.52) 62%,rgba(8,20,32,.14))}
#home .sqmx-overlay-tile > .sqmx-intro {
  position:relative;z-index:1;width:100%;max-width:100%;margin:0;
  padding:65px clamp(16px,3vw,44px) 54px;text-align:start;color:white;pointer-events:none;
}
#home .sqmx-overlay-tile .sqmx-actions {justify-content:flex-start}
#home .sqmx-overlay-tile .sqmx-intro a {pointer-events:auto}
#home .sqmx-overlay-tile .sqmx-intro :is(h1,p) {color:white;overflow-wrap:anywhere}
#home .sqmx-overlay-tile .sqmx-intro h1 {font-size:clamp(26px,3vw,48px)}
#home .sqmx-overlay-tile[data-intro="center"] {justify-content:center}
#home .sqmx-overlay-tile[data-intro="center"] .sqmx-intro {text-align:center}
#home .sqmx-overlay-tile[data-intro="center"] .sqmx-actions {justify-content:center}
#home .sqmx-overlay-tile[data-intro="end"] .sqmx-intro {text-align:end}
#home .sqmx-overlay-tile[data-intro="end"] .sqmx-actions {justify-content:flex-end}
#home .sqmx-overlay-tile > .sqmx-caption:not(:empty) {position:relative;inset:auto;padding:0 18px 56px;pointer-events:none;background:none}
#home .sqmx-overlay-tile video[controls] {z-index:0}
#home .sqmx-overlay-tile:has(video[controls])::after {z-index:0;inset-block-end:48px}
@media(max-width:650px) {
  #home .sqmx-overlay-tile .sqmx-intro {padding-inline:14px}
  #home .sqmx-overlay-tile .sqmx-actions {gap:8px}
}
