/* Shared Oxygen typography, charcoal surfaces and the site's configured accent. */
@keyframes destination-rise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:none; } }
@keyframes destination-fade { from { opacity:0; } to { opacity:1; } }
@media(prefers-reduced-motion:no-preference) {
 .destinations-intro>div:not(.destination-hero-caption) { animation:destination-rise 900ms cubic-bezier(.22,1,.36,1) 100ms backwards; }
 .destinations-intro>div.destinations-intro-copy { animation-delay:230ms; }
 .destination-hero-caption { animation:destination-fade 900ms ease 400ms backwards; }
 .destinations-filters { animation:destination-rise 800ms cubic-bezier(.22,1,.36,1) 280ms backwards; }
 .destinations-explorer,.destinations-footnote { animation:destination-fade 1000ms ease 420ms backwards; }
 .destination-event.is-entering { animation:destination-rise 550ms cubic-bezier(.22,1,.36,1) var(--event-enter-delay,0ms) backwards; }
 .destination-details:not([hidden]) { animation:destination-rise 350ms cubic-bezier(.22,1,.36,1); }
}
.destinations-explorer { scroll-margin-top:100px; }
.destinations-page { padding-top:0; background:var(--paper); color:var(--ink); }
.destinations-intro { position:relative; isolation:isolate; max-width:none; min-height:540px; padding:160px clamp(24px,6vw,100px) 100px; margin:0 calc(-1 * clamp(20px,4vw,64px)) 40px; overflow:hidden; color:#fff; background:#101820 url('backgrounds/sales-hero-flight.png') center/cover; }
.destinations-intro::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,10,14,.8),rgba(5,10,14,.25)),linear-gradient(0deg,rgba(5,10,14,.6),transparent 60%); }
.destination-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.destinations-intro .section-kicker,.destinations-intro h1 em { color:var(--nav-hover); }
.destinations-intro-copy p { color:#edf0f2; }.destinations-window { border-color:#ffffff60; color:#fff; }
.destination-hero-caption { position:absolute; left:clamp(24px,6vw,100px); right:clamp(24px,6vw,100px); bottom:24px; display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; font-size:11px; }
.destination-hero-caption>span { font-weight:650; letter-spacing:.1em; text-transform:uppercase; }.destination-hero-caption a { font-size:9px; opacity:.8; max-width:45%; }
.destination-hero-caption button { margin-left:auto; color:#fff; background:#ffffff12; border:1px solid #ffffff50; border-radius:4px; padding:12px 16px; cursor:pointer; min-height:44px; }
.destinations-filters,.destinations-explorer { border-color:var(--line); }.destination-event:hover,.destination-event[aria-pressed=true] { background:#edf5f6; }.destinations-page :is(button,a,input,select):focus-visible { outline-color:var(--oxygen); }
.hero-scene { position:absolute; inset:0; z-index:3; color:#fff; overflow:hidden; background:#101820; visibility:hidden; transform:translateX(100%); transition:none; pointer-events:none; }
.hero-scene.is-current,.hero-scene.is-leaving { visibility:visible; transition:transform 850ms cubic-bezier(.22,1,.36,1); }
.hero-scene.is-current { transform:translateX(0); pointer-events:auto; }
.hero-scene.is-leaving { transform:translateX(-100%); }
.hero-scene::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(5,10,14,.82),rgba(5,10,14,.38) 48%,rgba(5,10,14,.06)),linear-gradient(0deg,rgba(5,10,14,.65),transparent 55%); }
.hero-scene-photo { position:absolute; width:100%; height:100%; object-fit:cover; inset:0; }.hero-destination { background:#101820 url('backgrounds/sales-hero-flight.png') center/cover; }
.hero-scene-copy { position:relative; z-index:2; width:min(610px,52%); margin-left:clamp(24px,7vw,120px); height:100%; padding:115px 0 100px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.hero-scene-copy .section-kicker { color:var(--nav-hover); }.hero-scene-copy h2 { font-size:clamp(38px,4.6vw,70px); font-weight:500; line-height:1.02; letter-spacing:-.045em; margin:16px 0 20px; }.hero-scene-copy h2 em { font-style:normal; color:var(--nav-hover); }
.hero-scene-copy p { max-width:480px; font-size:15px; line-height:1.65; color:#e2e8eb; margin:0 0 16px; }.hero-scene-copy .hero-event-name { font-size:20px; font-weight:550; line-height:1.3; color:#fff; }.hero-event-meta { display:block; font-size:11px; letter-spacing:.06em; margin:0 0 24px; }.hero-scene-copy .feature-primary { min-height:46px; }
.hero-photo-credit { position:absolute; bottom:83px; right:28px; max-width:38%; z-index:4; font-size:9px; line-height:1.5; text-align:right; color:#fff; text-shadow:0 1px 4px #000; }
.hero-sequence-controls { position:absolute; z-index:5; bottom:20px; left:clamp(24px,7vw,120px); right:clamp(24px,7vw,120px); display:flex; align-items:center; gap:8px; color:#fff; border-top:1px solid #ffffff45; padding-top:14px; }
.hero-sequence-controls>span { font-size:10px; text-transform:uppercase; letter-spacing:.14em; margin-right:auto; }.hero-sequence-controls button { display:inline-grid; place-items:center; color:#fff; background:#10182055; border:1px solid #ffffff45; min-width:44px; min-height:44px; border-radius:4px; cursor:pointer; }.hero-sequence-controls button:hover,.hero-sequence-controls button[aria-current=true] { background:var(--nav-hover); color:var(--ink); border-color:var(--nav-hover); }.hero-sequence-tabs { display:flex; gap:6px; margin-right:12px; }.hero-sequence-tabs button { border:0; background:transparent; font-size:11px; padding:0 12px; }
.hero-sequence-controls :focus-visible,.hero-scene :focus-visible,.destination-hero-caption :focus-visible { outline:2px solid var(--nav-hover); outline-offset:4px; }
.hero.has-dynamic-scene .hero-compass-intro { transform:translateX(-100%); pointer-events:none; }
.hero-compass-intro,.home-page-shell .hero-video,.home-page-shell .hero-shade { transition:transform 850ms cubic-bezier(.22,1,.36,1); }
.home-page-shell .hero-video { transition:transform 850ms cubic-bezier(.22,1,.36,1),opacity 1200ms cubic-bezier(.22,1,.36,1); }
.hero.has-dynamic-scene .hero-video,.hero.has-dynamic-scene .hero-shade { transform:translateX(-100%); }
.hero-route-map { position:absolute; right:0; top:78px; bottom:76px; width:56%; background:#172d36; }.hero-journey::after { background:linear-gradient(90deg,#101820 0%,#101820 36%,transparent 64%); }
.hero-journey .hero-scene-copy { width:38%; padding-top:100px; }.hero-journey .hero-scene-copy h2 { font-size:clamp(36px,4vw,58px); margin-bottom:12px; }.hero-route-form { width:100%; max-width:370px; display:grid; grid-template-columns:1fr 1fr; gap:14px; }.hero-route-form label { font-size:10px; letter-spacing:.09em; text-transform:uppercase; color:var(--nav-hover); min-width:0; }.hero-route-form select { display:block; width:100%; background:#192c36; border:1px solid #ffffff50; color:#fff; border-radius:4px; margin-top:8px; padding:12px 8px; font-size:12px; min-height:44px; }.hero-route-form p,.hero-route-form button { grid-column:1/-1; }.hero-route-form #heroRouteDistance { margin:0; font-size:12px; }.hero-route-note { font-size:10px; line-height:1.5; color:#aebcc4; max-width:350px; margin-top:12px; }
@media(max-width:900px) {
 .hero-scene-copy { width:65%; }.hero-scene-copy h2 { font-size:46px; }.hero-journey .hero-scene-copy { width:45%; margin-left:30px; }.hero-route-map { width:53%; }.hero-sequence-controls>span { display:none; }.hero-sequence-tabs { margin-right:auto; }
}
@media(max-width:600px) {
 .destinations-page { padding:0 16px 32px; }.destinations-intro { margin:0 -16px 24px; padding:120px 24px 120px; min-height:590px; gap:24px; }.destinations-intro h1 { font-size:44px; }.destination-hero-caption { left:24px; right:24px; bottom:18px; }.destination-hero-caption a { max-width:100%; }.destination-hero-caption button { margin-left:0; }.destination-hero-caption>span { width:100%; }
 .home-page-shell .hero { min-height:760px; height:90svh; max-height:900px; }.hero-scene-copy { width:auto; margin:0 24px; padding:112px 0 145px; justify-content:center; }.hero-scene-copy h2 { font-size:48px; }.hero-scene-copy p { font-size:14px; }.hero-scene-copy .hero-event-name { font-size:20px; }.hero-photo-credit { bottom:92px; left:24px; right:24px; max-width:none; text-align:left; font-size:8px; }.hero-sequence-controls { left:20px; right:20px; bottom:18px; gap:4px; }.hero-sequence-tabs { gap:0; margin-right:auto; }.hero-sequence-tabs button { padding:0 10px; }.hero-sequence-controls>button { min-width:40px; }
 .hero-route-map { top:78px; width:100%; height:245px; bottom:auto; }.hero-journey::after { background:linear-gradient(0deg,#101820 0%,#101820 57%,transparent 75%); }.hero-journey .hero-scene-copy { width:auto; margin:0 24px; padding:302px 0 94px; justify-content:flex-start; }.hero-journey .hero-scene-copy h2 { font-size:34px; margin:10px 0; }.hero-journey .hero-scene-copy h2 br { display:none; }.hero-journey .hero-scene-copy>p { margin-bottom:12px; }.hero-route-form { gap:10px; max-width:none; }.hero-route-note { margin-top:8px; }
}
@media(max-width:600px) {
 .hero-route-map { height:230px; }
 .hero-journey::after { display:none; }
 .hero-journey .hero-scene-copy { padding-top:335px; }
 .hero-journey .hero-scene-copy h2 em { margin-left:.2em; }
}
/* Keep the planner card aligned with the hero's content gutters. */
.destinations-page { --destination-gutter:clamp(24px,6vw,100px); padding-inline:0; }
.destinations-intro { margin-inline:0; }
.destinations-filters,.destinations-explorer,.destinations-footnote { width:calc(100% - 2 * var(--destination-gutter)); max-width:none; margin-inline:auto; }
.destinations-filters { border-radius:10px 10px 0 0; }
.destinations-explorer { border-radius:0 0 10px 10px; }
.destinations-footnote { padding-inline:0; }
@media(prefers-reduced-motion:reduce) { .hero-scene,.hero-compass-intro,.home-page-shell .hero-video,.home-page-shell .hero-shade { transition:none; } }
