/* Obsidian glass, champagne reflections, and restrained continuous motion. */
:root {
  --glass-fill: linear-gradient(135deg, #e6faff17 0%, #d8e7eb06 44%, #fff3da10 100%);
  --glass-edge: #dceffb38;
  --glass-shadow: 0 24px 70px #0005, inset 0 1px 0 #ffffff3d, inset 0 -1px 0 #ffffff0b;
  --cool-light: #b5e6ec;
}
body { background: #070e13; }
.glass-site { position: relative; isolation: isolate; overflow: clip; }
.ambient-atmosphere { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: radial-gradient(ellipse at 8% 35%, #12393c80, transparent 60%), radial-gradient(ellipse at 100% 60%, #82643628, transparent 50%), #070e13; }
.ambient-atmosphere span { position: absolute; width: 85vw; height: 110vh; top: 0; left: -45%; background: radial-gradient(ellipse, #43838523, transparent 63%); transform: rotate(-25deg); animation: atmosphere-drift 22s ease-in-out infinite alternate; }
.ambient-atmosphere span:last-child { left: 65%; top: 12%; background: radial-gradient(ellipse, #d9b47722, transparent 65%); animation-delay: -11s; }
.glass-surface { position: relative; isolation: isolate; border: 1px solid var(--glass-edge); background: var(--glass-fill), #14212b85; box-shadow: var(--glass-shadow); backdrop-filter: blur(24px) saturate(145%); -webkit-backdrop-filter: blur(24px) saturate(145%); }
[data-glass] { --light-x: 50%; --light-y: 0%; --rx: 0deg; --ry: 0deg; }
.glass-surface::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(420px circle at var(--light-x) var(--light-y), #d9f3ff20, transparent 68%); opacity: .4; transition: opacity .35s; }
.glass-active::before { opacity: 1; }
.glass-glint { position: absolute; top: 0; left: -50%; width: 45%; height: 1px; background: linear-gradient(90deg, transparent, #fff, #c6f5ff, transparent); box-shadow: 0 0 12px #e7f5f866; pointer-events: none; animation: edge-glint 7s ease-in-out infinite; }
.metallic-text { color: #f1d9aa; background: linear-gradient(110deg, #c8ae7b 0%, #fbe9c5 25%, #fff 44%, #dcfaff 49%, #f8db9c 56%, #d3b67d 80%, #f3dab0 100%); background-size: 250% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: metallic-flow 8s linear infinite; }
/* Navigation geometry; the scrolled glass surface is defined in brand.css. */
.header { top: 15px; left: 28px; right: 28px; max-width: 1366px; margin-inline: auto; } /* hug the 1320px nav on wide screens */
.header .nav-inner { height: 76px; width: calc(100% - 46px); max-width: 1320px; }
.desktop-nav a { position: relative; padding: 12px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 50%; bottom: 5px; width: 0; height: 1px; background: var(--gold); box-shadow: 0 0 12px #f8d79c; transition: width .25s, left .25s; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { width: 100%; left: 0; }
.brand > span { background: linear-gradient(105deg, #e5c386, #fff7df, #bfcdd2, #f6dfb6); background-clip: text; -webkit-background-clip: text; color: transparent; }
.brand small { color: #c6d0d4; }
.button { position: relative; overflow: hidden; transition: transform .3s, box-shadow .3s, border-color .3s; }
.button.gold, .quote-button { background: linear-gradient(115deg, #f4d49d 0%, #fff4d5 38%, #d8b67c 72%, #edce95 100%); border-color: #f9eac499; color: #152228; box-shadow: 0 5px 25px #dfb76b22, inset 0 1px 0 #fff9, inset 0 -2px 0 #a9885538; }
.button::before { content: ""; position: absolute; inset: -100% auto -100% -65%; width: 38%; pointer-events: none; background: linear-gradient(90deg, transparent, #ffffff66, transparent); transform: rotate(25deg); transition: left .65s; }
.button:hover::before { left: 135%; }
.button:hover { box-shadow: 0 10px 34px #e1bd7740; }
.grand-hero { height: 865px; min-height: 810px; }
.hero-backdrop { background: #0c1b23; }
.hero-backdrop img.active { animation: hero-drift 24s ease-in-out infinite alternate; }
.grand-hero::after { background: linear-gradient(90deg, #061017df 0%, #06101785 32%, #0610170a 72%), linear-gradient(0deg, #070e13 0%, #070e1360 17%, transparent 53%, #07131b38); }
.hero-copy { padding-top: 172px; }
.hero-copy > .eyebrow { display: none; }
.hero-glass-label { display: inline-flex; align-items: center; gap: 10px; padding: 8px 13px; border: 1px solid #e7eefb38; background: linear-gradient(110deg, #e8faff14, #f3d5a609); backdrop-filter: blur(14px); border-radius: 100px; color: #eee3ca; font: 11px/1.6 Arial, sans-serif; letter-spacing: .13em; margin-bottom: 12px; box-shadow: inset 0 1px 0 #ffffff1a; }
.hero-glass-label svg { color: var(--gold); }
.hero-copy h1 { font-size: clamp(46px, 4.7vw, 68px); line-height: 1.12; max-width: 650px; }
.hero-copy h1 > span { background: linear-gradient(110deg, #d9ba86, #fff0ce 30%, #fff 46%, #c9edf2 50%, #eacc97 61%, #d9ba86); background-size: 260% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; animation: metallic-flow 9s linear infinite; }
.hero-copy p { margin-top: 14px; color: #d8e2e5; }
.hero-actions { margin-top: 18px; }
.hero-gallery-link > span { background: #e8f8ff0d; border-color: #e4f8ff4f; backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 #ffffff2e; }
.hero-sparkles { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.hero-sparkles i { position: absolute; left: var(--x); top: var(--y); width: 3px; height: 3px; border-radius: 50%; background: #fff4dc; box-shadow: 0 0 13px 3px #fbe2ab45; opacity: 0; animation: sparkle-breathe var(--duration) ease-in-out var(--delay) infinite; }
.hero-sparkles i:nth-child(3n)::before, .hero-sparkles i:nth-child(3n)::after { content: ""; position: absolute; background: linear-gradient(transparent, #ffefcc, transparent); width: 1px; height: 15px; top: -6px; left: 1px; }
.hero-sparkles i:nth-child(3n)::after { transform: rotate(90deg); }
.hero-copy, .hero-base { z-index: 1; position: relative; }
.hero-base { position: absolute; bottom: 78px; }
.hero-location { color: #e3d6b9; }
.hero-location small { color: #c4d2d6; }
.hero-image-credit { bottom: 46px; color: #a8bec6; }
.motion-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #f3f7ff30; border-radius: 100px; background: #e7f2ff0c; color: #e0e8e7; padding: 7px 11px; font-size: 12px; backdrop-filter: blur(10px); }
.motion-toggle:hover { background: #e7f2ff1a; }
.motion-toggle:disabled { opacity: .7; cursor: default; }
.quote-wrap { margin-top: -26px; }
.quote-panel { border-radius: 22px; padding: 26px 30px 21px; background: linear-gradient(115deg, #c3e4ef20, #e9f7ff05 45%, #ecdcb510), #13212bae; }
.quote-top > span, .picker > label { color: #beced4; }
.picker > label { font-size: 13px; }
.picker .picker-trigger { color: #f3f6f3; }
.quote-note[data-slot=tabs-content] { color: #afc1c9; }
.trip-tabs [data-slot=tabs-trigger] { color: #adc1cb; }
.route-showcase { position: relative; padding-top: 29px; overflow: hidden; }
.route-caption { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 16px; }
.route-caption > span { display: flex; align-items: center; gap: 9px; font-size: 14px; color: #dce6e8; }
.route-caption svg { color: var(--gold); }
.route-caption > small { font-size: 12px; color: #a0b5c0; }
.route-marquee { overflow: hidden; padding: 6px 0 17px; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.route-track { display: flex; width: max-content; animation: route-travel 44s linear infinite; }
.route-group { display: flex; gap: 16px; padding-right: 16px; }
.route-chip { display: flex; align-items: center; gap: 15px; padding: 15px 20px; border: 1px solid #c9eaff30; border-radius: 15px; background: linear-gradient(120deg, #e5f7ff17, #def8ff04 50%, #ebc88d10); box-shadow: inset 0 1px 0 #f0fbff1c; white-space: nowrap; text-align: left; transition: border-color .25s, background .25s; }
.route-chip:hover { border-color: #e4cc996e; background: linear-gradient(120deg, #e5f7ff25, #ebc88d13); }
.route-icon { display: flex; padding: 11px; border: 1px solid #daf6ff29; border-radius: 50%; color: #d5e6e7; background: #e2faff08; }
.route-chip-copy { display: flex; flex-direction: column; gap: 3px; }
.route-chip-copy small { font: 10px/1.5 Arial, sans-serif; letter-spacing: .12em; color: #97b9c7; }
.route-chip-copy > span { color: #eaf1ef; font-size: 14px; }
.route-chip strong { color: #f9dfaa; font-size: 23px; font-weight: 400; letter-spacing: -.03em; padding-left: 9px; }
.route-chip > svg { color: #d4c2a2; margin-left: 1px; }
.route-marquee:hover .route-track { animation-play-state: paused; }
.route-marquee:has(:focus-visible) { overflow-x: auto; mask-image: none; }
.route-marquee:has(:focus-visible) .route-track { animation: none; transform: none; }
.welcome-section { padding-top: 83px; }
.welcome-text > p, .lounge-copy > p, .section-head > p, .faq-layout > div > p { color: #b9c9ce; }
.welcome-stats { border-color: #d6efff24; }
.welcome-stats small, .lounge-features small { color: #a8bec7; }
.welcome-stats strong { color: #f3dab0; }
.lounge-image > img, .lounge-image:after { border-radius: 130px 22px 22px 22px; }
.lounge-image > img { border: 1px solid #f0eddb50; box-shadow: 0 35px 65px #0004; }
.round-label { border: 1px solid #f3e1bc70; color: #f8e1b7; background: linear-gradient(135deg, #ffffff35, #ffffff05), #111e236e; backdrop-filter: blur(16px); box-shadow: 0 12px 38px #0005, inset 0 1px 0 #fff8; }
.image-caption { padding: 15px 21px; left: 25px; right: 25px; bottom: 25px; background: linear-gradient(120deg, #eff5ff1e, #eff5ff08); border: 1px solid #e7f5ff3b; border-radius: 16px; backdrop-filter: blur(14px); }
.image-caption > .serif { font-size: 39px; }
.lounge-features span { color: #e0e9eb; }
.fleet-section { color: #f0f5f4; border-radius: 36px; background: radial-gradient(ellipse at 20% 70%, #25647622, transparent 60%), radial-gradient(ellipse at 90% 20%, #cba1661a, transparent 60%), linear-gradient(120deg, #e9f9ff06, #dcf6ff02); border-block: 1px solid #d7f1ff25; box-shadow: inset 0 1px 0 #fff1; overflow: visible; }
.fleet-section .eyebrow { color: #ddc69f; }
.section-head.centered h2 > span { color: #f5d7a1; }
.section-head.centered > p { color: #afc1ca; }
.fleet-grid .fleet-spotlight { border-radius: 23px; background: var(--glass-fill), #12212a99; border-color: #dcf4ff38; box-shadow: var(--glass-shadow); }
.fleet-grid .fleet-visual { aspect-ratio: 1.8; background: #172329; }
.fleet-visual img { transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.fleet-grid .fleet-watermark { color: #f5e7cbcc; }
.fleet-visual-top { color: #ebe5d7; }
.fleet-details { position: relative; overflow: hidden; }
.fleet-grid .fleet-details h3 { color: #f1f2ed; }
.fleet-grid .fleet-details > p { color: #b1c4cd; }
.fleet-specs { border-color: #d9efff25; color: #d1dfe2; }
.fleet-specs svg { color: #d2c39d; }
.fleet-price > small, .fleet-price > div > span { color: #abc0cc; }
.fleet-price > div { color: #f9dc9f; text-shadow: 0 0 30px #f0cc712c; }
.fleet-note { color: #9fb5c1; }
.fleet-spotlight:nth-child(2) .glass-glint { animation-delay: -3.5s; }
.campaign-card { border: 1px solid #d6eafb38; border-radius: 23px; box-shadow: 0 22px 60px #0004; }
.campaign-copy { padding: 23px 25px; left: 24px; right: 24px; bottom: 35px; border-radius: 19px; background: linear-gradient(120deg, #e1f7ff1c, #eff8ff03), #0d20296e; }
.campaign-copy > .serif { font-size: 40px; }
.campaign-copy h3 { font-size: 30px; }
.campaign-copy p { color: #d4e1dd; }
.campaign-card.coast .campaign-copy { top: 98px; bottom: auto; }
.campaign-cta { color: #ffe4b2; }
.service-ribbon { border-color: #e6f1ff26; border-radius: 21px; background: linear-gradient(115deg, #e9f6ff0e, #e9f6ff02); box-shadow: inset 0 1px 0 #fff1; }
.service-ribbon > a { transition: transform .3s; }
.service-ribbon > a:hover { transform: translateY(-5px); }
.service-ribbon p { color: #a4bcc7; }
.moments-section { background: linear-gradient(130deg, #d5efff07, transparent 40%, #bb915709); border-block: 1px solid #d9f5ff14; }
.gallery-disclosure p, .reviews-heading > p, .review-bottom p { color: #a9bcc7; }
.gallery-tabs > [data-slot=tabs-list] > [data-slot=tabs-trigger] { background: #d4eaff09; border-color: #e1f4ff2b; color: #bfcfd6; }
.gallery-tabs > [data-slot=tabs-list] > [data-state=active] { background: linear-gradient(110deg, #f8e7c2, #d2b07a)!important; }
.moment-card { border: 1px solid #e9f7ff42; border-radius: 20px; box-shadow: inset 0 1px 0 #fff4, 0 15px 30px #0002; }
.moment-copy { left: 18px; right: 18px; bottom: 18px; border: 1px solid #e2f3ff30; border-radius: 12px; padding: 15px 18px; background: #12222b60; backdrop-filter: blur(15px); }
.moment-copy > strong { font-size: 19px; }
.moment-ai, .expand-image { background: #15232b75; border: 1px solid #e7f2ff3b; backdrop-filter: blur(14px); }
.review-photo { border: 1px solid #d4e7f83b; box-shadow: 0 20px 55px #0003; }
.review-copy { border-radius: 22px; padding: 30px 34px; }
.review-copy blockquote { color: #edf1f0; font-size: 23px; }
.sample-label { background: #e7f8ff08; color: #d3dfde; border-color: #c7ecff2c; }
.review-controls button { background: #e5f4ff0a; border-color: #cfefff40; }
#pricing { background: radial-gradient(ellipse at 5% 80%, #608b9630, transparent 50%), linear-gradient(145deg, #e5faff09, #e5faff02), #09141b85; color: #eff4f2; border-block: 1px solid #c6e9ff24; border-radius: 36px; }
.pricing-intro > .eyebrow { color: #f1d5a4; }
.pricing-intro > p, .included li { color: #bdcfd4; }
.pricing-intro .text-link { color: #f7d99f; }
.pricing-table { padding: 21px 23px; border-radius: 23px; }
.price-tabs[data-slot=tabs-list] { background: #dff3ff0a; border: 1px solid #d3edff24; }
.price-tabs [data-slot=tabs-trigger] { color: #b9ccd5; }
.price-tabs [data-state=active] { background: linear-gradient(120deg, #ebf4ff24, #f5dba618)!important; color: #f9e4bd!important; box-shadow: inset 0 1px 0 #fff4!important; }
.pricing-table th { background: #d7edff0a; color: #dfeaf0; }
.pricing-table th small { color: #a4becb; }
.pricing-table tr { border-bottom-color: #d3ebff1f; }
.pricing-table tr:hover { background: #ddf5ff09; }
.pricing-table td { color: #d1dfe5; }
.pricing-table td:last-child { color: #f9d69f; }
.show-routes { color: #efd4a4; border-color: #d3ebff25; }
.pricing-note { color: #a5bdc9; }
.booking-section { color: #eef3f1; background: transparent; }
.booking-section .eyebrow { color: #e8d3ab; }
.steps { gap: 24px; }
.steps > div { padding: 25px 27px; background: linear-gradient(120deg, #e4f8ff0d, #d9eaff03); border: 1px solid #d6f1ff29; border-radius: 18px; box-shadow: inset 0 1px 0 #fff1; }
.steps p { color: #b0c3ce; }
.steps > div > span { color: #efcea0; }
.faq-list { padding: 8px 27px; border-radius: 20px; }
.faq-question[data-slot=accordion-trigger] { color: #e5eef0; }
.faq-answer { color: #b8ced9; }
.closing-overlay { background: linear-gradient(#06131bdd, #09131aab); }
.closing-content { max-width: 770px; padding: 55px 35px; margin-block: 60px; border: 1px solid #d2eeff38; border-radius: 28px; background: linear-gradient(140deg, #deefff17, #e8f3ff04), #13202b37; backdrop-filter: blur(17px); box-shadow: var(--glass-shadow); }
.closing-serif { color: #f8ddb0; }
footer { background: #070f1670; border-top: 1px solid #c5e8ff1c; }
.footer-wordmark { color: #dae8ef1f; background: linear-gradient(100deg, #93b4c323, #c8e5ec50, #eed4a52e); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.footer-top > p, .footer-bottom { color: #99b1bd; }
.quote-dialog, .gallery-dialog { background: linear-gradient(120deg, #e8f8ff15, #ffffff03), #10212bf0!important; border: 1px solid #d2f0ff55!important; backdrop-filter: blur(28px); box-shadow: var(--glass-shadow); }
.quote-summary { background: linear-gradient(120deg, #d4e8ff13, #ffdfaa07); border-color: #d2ecff35; }
.quote-dialog [data-slot=dialog-description], .dialog-note, .gallery-dialog [data-slot=dialog-description], .gallery-dialog-bottom p { color: #b4c9d2; }
.quote-summary > p, .quote-amount small { color: #bfcfd4; }
.mobile-contact { background: linear-gradient(120deg, #e9f5ff14, #fff0cb0c), #0c1b25d9; backdrop-filter: blur(25px); border-color: #dbf1ff40; box-shadow: 0 -10px 35px #0003; }
.mobile-contact a { color: #e2e9eb; border-color: #c6eaff40; }
.mobile-contact a:last-child { background: linear-gradient(110deg, #f8e3ba, #dcb67d); }

@keyframes atmosphere-drift { to { transform: translate(15%, 8%) rotate(-10deg); opacity: .55; } }
@keyframes metallic-flow { from { background-position: 220% 50%; } to { background-position: -40% 50%; } }
@keyframes sparkle-breathe { 0%, 100% { opacity: .12; transform: scale(.65) translateY(0); } 50% { opacity: .8; transform: scale(1.12) translateY(-9px); } }
@keyframes edge-glint { 0%, 20% { transform: translateX(0); opacity: 0; } 35% { opacity: 1; } 80%, 100% { transform: translateX(350%); opacity: 0; } }
@keyframes route-travel { to { transform: translateX(-50%); } }
[data-ambient]:not(.ambient-visible) .hero-backdrop img,
[data-ambient]:not(.ambient-visible) .hero-sparkles i,
[data-ambient]:not(.ambient-visible) .hero-copy h1 > span,
[data-ambient]:not(.ambient-visible) .metallic-text,
[data-ambient]:not(.ambient-visible) .glass-glint,
[data-ambient]:not(.ambient-visible) .route-track { animation-play-state: paused; }
@media (hover:hover) and (pointer:fine) {
  [data-glass]:not(.quote-panel):not(.pricing-table) { transition: transform .32s ease-out, border-color .3s, box-shadow .3s; }
  [data-glass].glass-active:not(.quote-panel):not(.pricing-table) { transform: perspective(1200px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px); border-color: #e5efff75; box-shadow: 0 28px 70px #0006, 0 0 30px #bfdcff0c, inset 0 1px 0 #ffffff5c; }
  .fleet-spotlight:hover .fleet-visual img { transform: scale(1.035); }
}
@media (min-width:1600px) { .grand-hero { height: 900px; } .hero-copy { padding-top: 195px; } }
@media (max-width:1200px) {
  .header { left: 20px; right: 20px; }
  .header .nav-inner { width: calc(100% - 34px); }
  .hero-actions { gap: 19px; }
  .hero-gallery-link { font-size: 12px; }
  .hero-copy h1 { font-size: 58px; }
  .pricing-layout { gap: 43px; }
  .pricing-table { padding: 17px; }
  .campaign-copy { left: 18px; right: 18px; padding: 21px; }
  .campaign-copy > .serif { font-size: 36px; }
  .campaign-copy h3 { font-size: 28px; }
}
@media (max-width:900px) {
  .header { top: 12px; left: 14px; right: 14px; }
  .header .nav-inner { height: 71px; width: calc(100% - 30px); gap: 16px; }
  .desktop-nav { gap: 17px; }
  .grand-hero { height: 900px; }
  .hero-copy { padding-top: 150px; }
  .hero-copy h1 { font-size: 55px; }
  .hero-base { bottom: 79px; }
  .hero-slider { gap: 15px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 16px; }
  .route-caption { gap: 15px; }
  .route-caption > small { font-size: 11px; }
  .route-chip { gap: 12px; padding: 13px 17px; }
  .lounge-section { gap: 42px; }
  .image-caption { padding: 14px; left: 16px; right: 16px; }
  .image-caption > .serif { font-size: 30px; }
  .review-copy { padding: 25px; }
  .review-display { gap: 25px; grid-template-columns: .8fr 1.3fr; }
  .review-copy blockquote { font-size: 21px; }
  .pricing-layout { grid-template-columns: 1fr; gap: 32px; }
  .pricing-intro h2 br { display: none; }
  .pricing-intro > p br { display: none; }
  .included { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 18px 0; }
  .included li { margin: 0; }
  .pricing-table th, .pricing-table td { font-size: 14px; }
  .steps { gap: 17px; }
  .steps > div { padding: 21px; }
  .campaign-copy h3 { font-size: 25px; }
  .campaign-copy > .serif { font-size: 31px; }
  .campaign-card.coast .campaign-copy { top: 88px; }
}
@media (max-width:640px) {
  html { scroll-padding-top: 99px; }
  .header { top: 10px; left: 11px; right: 11px; }
  .header .nav-inner { height: 64px; width: calc(100% - 25px); }
  .brand > span { font-size: 19px; }
  .brand img { width: 32px; height: 39px; }
  .mobile-menu { width: 37px; height: 37px; background: #e1f4ff0d; border-color: #cee5ff3d; }
  .mobile-nav { border-radius: 0 0 18px 18px; background: #0c1c29e8; }
  .grand-hero { min-height: 0; height: auto; padding-bottom: clamp(260px, 68vw, 350px); }
  .hero-backdrop img { object-position: 67% 50%; }
  .grand-hero::after { background: linear-gradient(180deg, #0711196e, #0711199c 15%, #07111938 51%, #07111999 73%, #070e13), linear-gradient(90deg, #07111979, transparent 95%); }
  .hero-copy { padding-top: 125px; }
  .hero-glass-label { font-size: 9px; letter-spacing: .075em; gap: 7px; padding: 7px 10px; margin-bottom: 12px; }
  .hero-glass-label svg { width: 13px; }
  .hero-copy h1 { font-size: clamp(37px, 10.5vw, 51px); line-height: 1.12; letter-spacing: -.04em; }
  .hero-copy p { font-size: 16px; margin-top: 12px; line-height: 1.65; }
  .hero-actions { gap: 10px; margin-top: 16px; }
  .hero-gallery-link { font-size: 13px; }
  .hero-base { bottom: 53px; align-items: center; flex-wrap: wrap; gap: 17px; }
  .hero-location > span { font-size: 10px; }
  .hero-location small { font-size: 12px; }
  .hero-slider { justify-content: space-between; width: 100%; gap: 12px; }
  .hero-slider .slide-counter { margin-left: auto; }
  .motion-toggle { font-size: 12px; padding: 6px 10px; }
  .hero-image-credit { bottom: 27px; right: 21px; font-size: 11px; }
  .quote-wrap { margin-top: -11px; }
  .quote-panel { padding: 23px 18px 18px; border-radius: 20px; }
  .quote-top h2 { font-size: 19px; }
  .trip-tabs [data-slot=tabs-trigger] { font-size: 13px; }
  .picker > label { font-size: 13px; }
  .picker .picker-trigger { font-size: 14px; }
  .quote-note[data-slot=tabs-content] { font-size: 12px; }
  .route-showcase { padding-top: 26px; }
  .route-caption { flex-direction: column; align-items: flex-start; gap: 5px; margin-bottom: 12px; }
  .route-caption > span { font-size: 14px; }
  .route-caption > small { font-size: 12px; padding-left: 25px; }
  .route-track { animation-duration: 50s; }
  .route-chip { padding: 12px 14px; gap: 10px; }
  .route-chip-copy > span { font-size: 13px; }
  .route-icon { padding: 9px; }
  .route-icon svg { width: 18px; height: 18px; }
  .route-chip strong { font-size: 21px; }
  .route-chip > svg { width: 15px; }
  .welcome-section { padding-top: 57px; }
  .lounge-image > img, .lounge-image:after { border-top-left-radius: 110px; }
  .lounge-image { margin-right: 12px; }
  .image-caption > .serif { font-size: 33px; }
  .image-caption > small { font-size: 11px; }
  .fleet-section, #pricing { border-radius: 27px; }
  .fleet-grid .fleet-spotlight { border-radius: 21px; }
  .fleet-grid .fleet-visual { aspect-ratio: 1.5; }
  .fleet-grid .fleet-details { padding: 26px 23px; }
  .fleet-grid .fleet-details h3 { font-size: 40px; }
  .fleet-grid .fleet-specs > span { font-size: 13px; }
  .fleet-grid .fleet-details > .eyebrow { font-size: 11px; }
  .fleet-note { font-size: 12px; }
  .campaign-card { border-radius: 21px; }
  .campaign-copy { left: 17px; right: 17px; padding: 23px 20px; bottom: 33px; }
  .campaign-copy h3, .campaign-card.coast .campaign-copy h3 { font-size: 27px; }
  .campaign-copy > .serif, .campaign-card.coast .campaign-copy > .serif { font-size: 34px; }
  .campaign-card.coast .campaign-copy { top: 82px; }
  .service-ribbon { width: calc(100% - 38px); }
  .service-ribbon > a { padding: 26px 8px; }
  .service-ribbon p { font-size: 12px; }
  .moment-copy { padding: 15px; left: 14px; right: 14px; bottom: 14px; }
  .moment-copy > strong { font-size: 19px; }
  .review-display { grid-template-columns: 1fr; gap: 20px; }
  .review-copy { padding: 24px 22px; }
  .review-copy blockquote { font-size: 21px; min-height: 160px; }
  .review-bottom { gap: 10px; }
  .review-bottom p { max-width: 170px; line-height: 1.9; }
  .review-controls { gap: 7px; }
  .pricing-intro h2 { font-size: 34px; }
  .pricing-table { padding: 15px 11px 17px; border-radius: 20px; }
  .pricing-table td { font-size: 13px; padding: 14px 7px; }
  .pricing-table th { font-size: 12px; padding: 13px 7px; }
  .pricing-table th:first-child { width: 43%; }
  .pricing-note { font-size: 12px; padding: 0 4px; }
  .steps { gap: 17px; }
  .steps > div { padding: 23px 20px 23px 64px; }
  .steps > div > span { left: 20px; top: 19px; }
  .steps p { font-size: 16px; }
  .faq-list { padding: 5px 20px; }
  .faq-question[data-slot=accordion-trigger] { font-size: 15px; }
  .closing-content { padding: 37px 20px; margin-block: 43px; border-radius: 23px; }
  .closing-serif { font-size: 33px; }
  .closing-content h2 { font-size: 35px; }
  .closing-content p { font-size: 14px; }
}
@media (max-width:359px) {
  .hero-glass-label { font-size: 8px; letter-spacing: .04em; }
  .campaign-copy h3, .campaign-card.coast .campaign-copy h3 { font-size: 25px; }
  .trip-tabs[data-slot=tabs-list] { gap: 12px; }
  .trip-tabs [data-slot=tabs-trigger] { font-size: 12px; }
}
.glass-site[data-motion="paused"] *, .glass-site[data-motion="paused"] *::before, .glass-site[data-motion="paused"] *::after { animation-play-state: paused!important; }
.glass-site[data-motion="paused"] .route-marquee { overflow-x: auto; mask-image: none; padding-inline: 19px; }
.glass-site[data-motion="paused"] .route-track { animation: none; transform: none; }
.glass-site[data-motion="paused"] .route-group[aria-hidden="true"] { display: none; }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation: none!important; transition: none!important; }
  [data-glass], .hero-backdrop img.active { transform: none!important; }
  .hero-sparkles i { opacity: .3; }
  .route-marquee { overflow-x: auto; mask-image: none; padding-inline: 19px; }
  .route-group[aria-hidden="true"] { display: none; }
}

/* Keep slideshow controls by the introduction; anchor the location over the lower photo. */
.hero-copy>.hero-base{position:static;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:400px;max-width:100%;margin:18px 0 0;gap:12px}
.hero-location-bottom{position:absolute;left:0;right:0;bottom:78px;z-index:1}
.hero-location-bottom .hero-location{align-items:center;gap:9px;line-height:1.5}
.hero-location-bottom .hero-location small{margin-top:5px;line-height:1.6}
.hero-copy .hero-slider{width:100%;display:flex;justify-content:flex-start;align-items:center;gap:12px}
.hero-copy .hero-slider .slide-counter{margin-left:auto}
.hero-copy .motion-toggle{min-height:38px}
.hero-copy .hero-image-credit{position:static;display:block;margin:0;font-size:10px;line-height:1.5;color:#a8bec6}
@media(max-width:640px){
 .hero-copy>.hero-base{margin-top:14px;gap:10px}
 .hero-copy .hero-slider{gap:10px}
 .hero-location-bottom{bottom:53px}
 .hero-location-bottom .hero-location small{margin-top:4px}
 .hero-copy .hero-image-credit{font-size:10px}
}

/* Phones: keep the static ambient gradient but skip the two drifting full-screen glow layers —
   they delayed the first paint by ~2 s on mid-range phones (Lighthouse A/B, 23 Sep 2026). */
@media(max-width:768px){.ambient-atmosphere span{display:none}}
