/* NovaFly three-stage header and Tabi-inspired mobile navigation. */
:root{--header-morph:.7s cubic-bezier(.16,1,.3,1);}

.ticker{
  background:linear-gradient(145deg,#07101d 0%,#0e1e33 54%,#081321 100%);
  transition:none;
}
.ticker-track,.ticker-fade,.ticker::before,.ticker::after{transition:opacity .28s ease;}
body.ticker-cleared .ticker-track,
body.ticker-cleared .ticker-fade,
body.ticker-cleared .ticker::before,
body.ticker-cleared .ticker::after,
body.mobile-nav-open .ticker-track,
body.mobile-nav-open .ticker-fade,
body.mobile-nav-open .ticker::before,
body.mobile-nav-open .ticker::after{opacity:0;pointer-events:none;}

.site-top{transition:top var(--header-morph)!important;}
body.mobile-nav-open .site-top{top:0!important;z-index:1100!important;background:rgba(6,15,27,.98);}

header.main,
header.main.scrolled,
[data-theme="dark"] header.main,
[data-theme="dark"] header.main.scrolled{
  width:calc(100% - 32px);
  max-width:1320px;
  margin:0 auto;
  padding:12px 16px;
  border:1px solid transparent;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  will-change:width,max-width,margin,padding,border-radius,background-color,backdrop-filter;
  transition:
    width var(--header-morph),max-width var(--header-morph),margin var(--header-morph),padding var(--header-morph),
    border-radius var(--header-morph),background-color var(--header-morph),border-color var(--header-morph),
    box-shadow var(--header-morph),backdrop-filter var(--header-morph),color .32s ease!important;
}

header.main .wrap,
body.header-past-hero header.main .wrap{
  display:flex;
  width:100%;
  max-width:none;
  align-items:center;
  gap:20px;
  transition:gap var(--header-morph);
}

header.main.scrolled,
[data-theme="dark"] header.main.scrolled{
  width:calc(100% - 48px);
  max-width:1180px;
  margin:10px auto 0;
  padding:8px 14px;
  border-color:rgba(234,208,138,.18);
  border-radius:24px;
  background:rgba(7,19,34,.74)!important;
  box-shadow:0 2px 18px -6px rgba(0,0,0,.42),inset 0 0 0 .5px rgba(255,255,255,.08)!important;
  backdrop-filter:blur(34px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(155%)!important;
  color:#fff;
}

body.header-past-hero header.main,
body.header-past-hero header.main.scrolled,
[data-theme="dark"] body.header-past-hero header.main,
[data-theme="dark"] body.header-past-hero header.main.scrolled{
  width:calc(100% - 48px);
  max-width:1050px;
  margin:6px auto 0;
  padding:6px 12px;
  border-color:rgba(255,255,255,.94);
  border-radius:999px;
  background:rgba(255,255,255,.91)!important;
  box-shadow:0 14px 38px rgba(17,29,45,.14),inset 0 1px 0 rgba(255,255,255,.94)!important;
  color:#142238;
  backdrop-filter:blur(24px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(160%)!important;
}

/* In dark mode the header never changes to the light page-content capsule. */
[data-theme="dark"] body.header-past-hero header.main,
[data-theme="dark"] body.header-past-hero header.main.scrolled{
  border-color:rgba(234,208,138,.18);
  background:rgba(7,19,34,.74)!important;
  box-shadow:0 2px 18px -6px rgba(0,0,0,.42),inset 0 0 0 .5px rgba(255,255,255,.08)!important;
  color:#fff;
  backdrop-filter:blur(34px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(34px) saturate(155%)!important;
}
[data-theme="dark"] body.header-past-hero header.main .logo .logo-light{display:none!important;}
[data-theme="dark"] body.header-past-hero header.main .logo .logo-dark{display:block!important;}
[data-theme="dark"] body.header-past-hero header.main .icon-btn{
  color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);
}

header.main .logo,header.main .btn-book,header.main .icon-btn,header.main .mobile-contact-group summary,header.main nav.primary a,header.main .header-support summary{
  transition-property:height,width,padding,gap,background-color,border-color,box-shadow,color,opacity,transform;
  transition-duration:.7s;
  transition-timing-function:cubic-bezier(.16,1,.3,1);
}
header.main.scrolled .logo{height:34px;}
/* The image must follow its animated container immediately. A second height
   transition continually retargets its intrinsic width and shakes the centred logo. */
header.main .logo img{transition:none;}
body.header-past-hero header.main .logo{height:31px;}
body.header-past-hero header.main nav.primary a{padding:7px 12px;font-size:13px;}
body.header-past-hero header.main .header-support summary{padding:7px 12px;font-size:13px;}
body.header-past-hero header.main .head-actions{gap:8px;}
body.header-past-hero header.main .icon-btn{width:34px;height:34px;}
body.header-past-hero header.main .mobile-contact-group summary{width:58px;height:34px;}
body.header-past-hero header.main .btn-book{padding:8px 15px;font-size:12px;}

@media(min-width:921px){
  header.main .wrap,body.header-past-hero header.main .wrap{position:relative;display:flex;}
  header.main .logo,body.header-past-hero header.main .logo{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);}
  header.main .navwrap,body.header-past-hero header.main .navwrap{display:flex;width:100%;flex:1;justify-content:space-between;}
  header.main nav.primary,body.header-past-hero header.main nav.primary{display:flex;flex:0 1 auto;justify-content:flex-start;}
  header.main .head-actions,body.header-past-hero header.main .head-actions{display:flex;margin-left:auto;justify-content:flex-end;}
}

.header-support{position:relative;flex:0 0 auto;color:inherit;}
.header-support summary{
  position:relative;display:flex;align-items:center;gap:5px;padding:9px 14px;border:1px solid transparent;border-radius:999px;
  color:inherit;font-size:14px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;list-style:none;opacity:.72;
  transition:opacity .2s ease,background .25s ease,border-color .25s ease;
}
.header-support summary::-webkit-details-marker{display:none;}
.header-support summary::after{
  content:"";position:absolute;left:10px;right:10px;bottom:4px;height:1.5px;background:var(--gold-light);opacity:0;
  transform:scaleX(.55);transition:opacity .25s ease,transform .25s ease;
}
.header-support summary>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease;}
.header-support[open] summary,.header-support summary:hover,.header-support summary:focus-visible{opacity:1;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.14);}
.header-support[open] summary::after,.header-support summary:hover::after{opacity:.6;transform:scaleX(1);}
.header-support[open] summary>svg{transform:rotate(180deg);}
header.main.scrolled .header-support[open] summary,header.main.scrolled .header-support summary:hover,header.main.scrolled .header-support summary:focus-visible{background:rgba(17,19,24,.06);border-color:rgba(17,19,24,.09);}
[data-theme="dark"] header.main.scrolled .header-support[open] summary,[data-theme="dark"] header.main.scrolled .header-support summary:hover,[data-theme="dark"] header.main.scrolled .header-support summary:focus-visible{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);}
.header-support-menu{
  position:absolute;top:calc(100% + 10px);left:0;z-index:1010;width:210px;display:grid;gap:2px;padding:7px;
  border:1px solid rgba(234,208,138,.2);border-radius:14px;background:linear-gradient(145deg,rgba(8,22,39,.99),rgba(12,31,52,.99));
  box-shadow:0 22px 56px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
  transform-origin:top left;animation:header-support-in .24s cubic-bezier(.16,1,.3,1) both;
}
@keyframes header-support-in{from{opacity:0;transform:translateY(-7px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
nav.primary .header-support-menu a{
  display:flex;align-items:center;min-height:38px;padding:8px 10px;border:0;border-radius:9px;color:#c3ccda!important;font-size:12px;font-weight:650;opacity:1;
  background:transparent;transition:background .18s ease,color .18s ease;
}
nav.primary .header-support-menu a::after{display:none;}
nav.primary .header-support-menu a:hover,nav.primary .header-support-menu a:focus-visible{background:rgba(255,255,255,.07);border:0;color:#fff!important;}

.theme-picker{position:relative;display:flex;flex:0 0 auto;z-index:1005;}
#themeToggle.theme-trigger{display:flex;position:relative;overflow:visible;}
.theme-trigger-icons{position:relative;display:grid;width:17px;height:17px;place-items:center;}
.theme-trigger-icons svg{position:absolute;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1);}
.theme-icon--moon{opacity:0;transform:rotate(-25deg) scale(.72);}
[data-theme="dark"] .theme-icon--sun{opacity:0;transform:rotate(35deg) scale(.72);}
[data-theme="dark"] .theme-icon--moon{opacity:1;transform:rotate(0) scale(1);}

.theme-menu{
  position:absolute;top:calc(100% + 10px);right:0;width:156px;display:grid;gap:3px;padding:7px;
  border:1px solid rgba(234,208,138,.2);border-radius:14px;
  background:linear-gradient(145deg,rgba(8,22,39,.99),rgba(12,31,52,.99));
  box-shadow:0 22px 56px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.07);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px) scale(.96);transform-origin:top right;
  transition:opacity .2s ease,visibility .2s ease,transform .28s cubic-bezier(.16,1,.3,1);
}
.theme-picker.is-open .theme-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);}
.theme-option{display:grid;grid-template-columns:18px 1fr 16px;align-items:center;gap:9px;min-height:38px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:#c3ccda;font-size:12px;font-weight:650;text-align:left;transition:background .18s ease,color .18s ease;}
.theme-option:hover,.theme-option:focus-visible{background:rgba(255,255,255,.07);color:#fff;}
.theme-option.is-selected{background:rgba(199,154,62,.14);color:#fff;}
.theme-option>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.theme-option .theme-check{opacity:0;color:var(--gold-light);transition:opacity .18s ease;}
.theme-option.is-selected .theme-check{opacity:1;}

.menu-glyph{position:relative;display:block;width:17px;height:16px;}
.menu-glyph span{position:absolute;left:0;right:0;height:1.5px;border-radius:999px;background:currentColor;transform-origin:center;transition:top .3s ease,opacity .3s ease,transform .3s ease;}
.menu-glyph span:nth-child(1){top:3px;}.menu-glyph span:nth-child(2){top:7px;}.menu-glyph span:nth-child(3){top:11px;}
.menu-toggle.is-open .menu-glyph span:nth-child(1){top:7px;transform:rotate(45deg);}
.menu-toggle.is-open .menu-glyph span:nth-child(2){opacity:0;transform:scaleX(0);}
.menu-toggle.is-open .menu-glyph span:nth-child(3){top:7px;transform:rotate(-45deg);}
.menu-toggle.is-open{border-color:rgba(234,208,138,.72)!important;box-shadow:0 0 0 3px rgba(199,154,62,.12);}
.menu-toggle:hover,.menu-toggle:active,.menu-toggle:focus{transform:none!important;}

@media(max-width:920px){
  html{scroll-padding-top:68px;}
  header.main,header.main.scrolled,[data-theme="dark"] header.main,[data-theme="dark"] header.main.scrolled{
    width:100%;max-width:none;margin:0 auto;padding:10px 12px;border-radius:0;
  }
  header.main.scrolled,[data-theme="dark"] header.main.scrolled{
    width:calc(100% - 24px);margin:9px auto 0;padding:6px 10px;border-radius:23px;
  }
  body.header-past-hero header.main,body.header-past-hero header.main.scrolled,
  [data-theme="dark"] body.header-past-hero header.main,[data-theme="dark"] body.header-past-hero header.main.scrolled{
    width:calc(100% - 32px);max-width:none;margin:6px auto 0;padding:4px 8px;border-radius:999px;
  }
  header.main .wrap,body.header-past-hero header.main .wrap{gap:7px;}
  header.main .navwrap,body.header-past-hero header.main .navwrap{display:flex;width:auto;flex:1;justify-content:flex-end;}
  header.main .head-actions,body.header-past-hero header.main .head-actions{margin-left:auto;gap:6px;}
  #themeToggle.theme-trigger{display:flex;width:36px;height:36px;order:0;}
  .header-flight-cta{order:1;}.header-contact{order:2;}.menu-toggle{order:3;z-index:1004;}
  header.main .logo,header.main.scrolled .logo{height:27px;}
  body.header-past-hero header.main .logo{height:24px;}
  body.header-past-hero header.main .icon-btn{width:34px;height:34px;}
  body.header-past-hero header.main .mobile-contact-group summary{width:53px;height:32px;}
  body.header-past-hero header.main .btn-book{padding:8px 11px;font-size:10.5px;}
  .theme-menu{
    position:absolute;top:calc(100% + 9px);left:50%;right:auto;width:164px;
    transform:translate(-50%,-8px) scale(.96);transform-origin:top center;
  }
  .theme-picker.is-open .theme-menu{transform:translate(-50%,0) scale(1);}

  .mobile-nav-backdrop{
    display:block!important;position:fixed;inset:58px 0 0;z-index:940;
    background:rgba(6,15,27,.98);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%);
    opacity:0;visibility:hidden;pointer-events:none;transform:none;
    transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility 0s linear .5s;
  }
  .mobile-nav-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility 0s;}
  .mobile-nav{
    display:flex!important;position:fixed;inset:58px 0 0;z-index:945;width:100%;height:calc(100dvh - 58px);padding:0;overflow:hidden;
    border:0;background:transparent!important;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;
    opacity:0;visibility:hidden;pointer-events:none;transform:none;
    transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility 0s linear .5s;
  }
  .mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:none;transform:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),visibility 0s;}
  .mobile-nav-inner{display:flex;width:100%;height:100%;flex-direction:column;padding:14px 32px calc(28px + env(safe-area-inset-bottom));pointer-events:none;}
  .mobile-nav-links{display:flex;flex-direction:column;gap:1px;}
  .mobile-nav a{pointer-events:auto;}
  .mobile-nav-links>a{
    display:flex;align-items:center;min-height:50px;padding:11px 0;border-radius:0;background:transparent;color:#aeb8c7;
    font-size:16px;font-weight:600;letter-spacing:-.01em;opacity:0;translate:0 16px;
    transition:opacity .5s cubic-bezier(.16,1,.3,1),translate .5s cubic-bezier(.16,1,.3,1),color .18s ease;
  }
  .mobile-nav-links>a:hover,.mobile-nav-links>a:focus-visible,.mobile-nav-links>a[aria-current="page"]{background:transparent;color:#fff;}
  .mobile-nav.is-open .mobile-nav-links>a{opacity:1;translate:0 0;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(1){transition-delay:.10s;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(2){transition-delay:.15s;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(3){transition-delay:.20s;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(4){transition-delay:.25s;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(5){transition-delay:.30s;}
  .mobile-nav.is-open .mobile-nav-links>a:nth-child(6){transition-delay:.35s;}
  .mobile-nav-footer{display:flex;flex-direction:column;gap:11px;margin-top:auto;opacity:0;translate:0 16px;pointer-events:none;transition:opacity .5s ease,translate .5s cubic-bezier(.16,1,.3,1);}
  .mobile-nav.is-open .mobile-nav-footer{opacity:1;translate:0 0;transition-delay:.32s;}
  .mobile-nav-footer a{pointer-events:auto;}
  .mobile-nav a.mobile-nav-legal{align-self:flex-start;padding:8px 0;border-radius:0;background:transparent;color:#9da9b9;font-size:12px;font-weight:600;}
  .mobile-nav a.mobile-nav-cta{width:100%;margin:0;padding:13px 18px;border-radius:14px;color:var(--navy-deep);font-size:13px;text-align:center;}
  body.mobile-nav-open{position:fixed;width:100%;overflow:hidden;overscroll-behavior:none;}
  body.mobile-nav-open header.main,
  [data-theme="dark"] body.mobile-nav-open header.main{
    width:100%;max-width:none;margin:0 auto;padding:10px 12px;border-color:transparent;border-radius:0;
    background:transparent!important;box-shadow:none!important;color:#fff;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  body.mobile-nav-open header.main .logo{height:27px;}
  body.mobile-nav-open header.main .logo .logo-dark{display:block!important;}
  body.mobile-nav-open header.main .logo .logo-light{display:none!important;}
  body.mobile-nav-open .sticky-wa{opacity:0!important;pointer-events:none!important;transform:translateY(12px) scale(.86)!important;}
}

@media(max-width:480px){
  header.main,header.main.scrolled,[data-theme="dark"] header.main,[data-theme="dark"] header.main.scrolled{padding-left:9px;padding-right:9px;}
  header.main.scrolled,[data-theme="dark"] header.main.scrolled{width:calc(100% - 18px);}
  body.header-past-hero header.main,body.header-past-hero header.main.scrolled{width:calc(100% - 22px);}
  #themeToggle.theme-trigger{width:40px;height:40px;}
  .menu-toggle{width:40px;height:40px;}
  .mobile-contact-group summary{height:40px;}
  .header-flight-cta{min-height:40px;}
  body.header-past-hero header.main .icon-btn{width:40px;height:40px;}
  body.header-past-hero header.main .mobile-contact-group summary{height:40px;}
  .theme-trigger-icons,.theme-trigger-icons svg{width:15px;height:15px;}
}

@media(min-width:921px){.mobile-nav,.mobile-nav-backdrop{display:none!important;}}

.legal-page header.main,
[data-theme="dark"] .legal-page header.main{
  position:fixed;top:0;left:0;right:0;z-index:950;width:calc(100% - 32px);max-width:1320px;margin:0 auto;padding:12px 16px;
  border-color:transparent;border-radius:0;background:transparent!important;box-shadow:none!important;color:#142238;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
[data-theme="dark"] .legal-page header.main{color:#fff;}
.legal-page header.main.scrolled{
  width:calc(100% - 48px);max-width:1180px;margin:10px auto 0;padding:8px 14px;
  border-color:rgba(255,255,255,.94);border-radius:24px;background:rgba(255,255,255,.91)!important;
  box-shadow:0 14px 38px rgba(17,29,45,.14),inset 0 1px 0 rgba(255,255,255,.94)!important;color:#142238;
  backdrop-filter:blur(24px) saturate(160%)!important;-webkit-backdrop-filter:blur(24px) saturate(160%)!important;
}
[data-theme="dark"] .legal-page header.main.scrolled{
  border-color:rgba(234,208,138,.18);background:rgba(7,19,34,.74)!important;
  box-shadow:0 2px 18px -6px rgba(0,0,0,.42),inset 0 0 0 .5px rgba(255,255,255,.08)!important;color:#fff;
  backdrop-filter:blur(34px) saturate(155%)!important;-webkit-backdrop-filter:blur(34px) saturate(155%)!important;
}
.legal-page header.main .logo .logo-dark{display:none!important;}.legal-page header.main .logo .logo-light{display:block!important;}
[data-theme="dark"] .legal-page header.main .logo .logo-light{display:none!important;}[data-theme="dark"] .legal-page header.main .logo .logo-dark{display:block!important;}
.legal-page header.main .icon-btn{color:#142238;background:rgba(14,30,51,.06);border-color:rgba(14,30,51,.12);}
[data-theme="dark"] .legal-page header.main .icon-btn{color:#fff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);}
.legal-page header.main .mobile-contact-group summary{color:#fff;background:linear-gradient(145deg,var(--navy),#173b61);border-color:rgba(23,59,97,.96);}

@media(max-width:920px){
  .legal-page header.main,[data-theme="dark"] .legal-page header.main{
    top:0;width:100%;max-width:none;margin:0 auto;padding:10px 12px;
  }
  .legal-page header.main.scrolled,[data-theme="dark"] .legal-page header.main.scrolled{
    top:0;width:calc(100% - 24px);max-width:none;margin:9px auto 0;padding:6px 10px;border-radius:23px;
  }
}

/* Keep the primary mobile action wording consistent across browsers and pages.
   The CTA is still hidden by the existing <=340px safety rule where the full
   header control set cannot fit without crowding. */
@media(max-width:480px){
  .header-flight-cta{
    display:inline-flex;align-items:center;justify-content:center;
    height:40px;min-height:40px;padding:0 11px;font-size:10.5px;line-height:1;
  }
  .header-flight-cta .cta-full{display:inline-block;transform:translateY(1px);}
  .header-flight-cta .cta-short{display:none;}
}

@media(prefers-reduced-motion:reduce){
  header.main,.site-top,.ticker,.theme-menu,.theme-trigger-icons svg,.menu-glyph span,.mobile-nav,.mobile-nav-backdrop,.mobile-nav-links>a,.mobile-nav-footer{transition:none!important;}
}
