/* Libra Jet service navigation: native disclosures also work without JavaScript. */
.nav-division { position: relative; display: flex; align-items: center; gap: 0.25rem; }
.nav-dropdown { position: relative; }
.nav-dropdown summary {
  display: grid; place-items: center; cursor: pointer; list-style: none;
  width: 2.75rem; height: 2.75rem; border-radius: 50%; color: var(--plate-dim);
}
.site-header.is-scrolled .nav-dropdown summary { color: var(--text-dim); }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary svg { width: 14px; height: 14px; transition: rotate 180ms ease; }
.nav-dropdown[open] summary svg { rotate: 180deg; }
.nav-dropdown summary:hover { background: var(--gold-faint); }
.nav-dropdown summary:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 2px; }
.nav-submenu {
  position: absolute; right: 0; top: calc(100% + 0.75rem); width: 19rem;
  padding: 0.6rem; margin: 0; list-style: none; border: 1px solid var(--plate-line);
  border-radius: 0.75rem; background: oklch(17% 0.024 257); box-shadow: 0 18px 48px oklch(0% 0 0 / 0.3);
}
.site-header .nav-links .nav-submenu a {
  display: block; padding: 0.85rem 1rem; white-space: normal; font-size: 0.78rem;
  color: var(--plate-text); letter-spacing: 0.06em; border-radius: 0.35rem; line-height: 1.5;
}
.site-header .nav-links .nav-submenu a:hover,
.site-header .nav-links .nav-submenu a:focus-visible { background: oklch(26% 0.03 257); }
.site-header .nav-links .nav-submenu a[aria-current="page"] { color: var(--gold-bright); }
.nav-submenu a::after { display: none; }
.theme-dark .site-header.is-scrolled .nav-dropdown summary { color: var(--plate-dim); }
.site-header:focus-within { translate: none; }

.site-header .language-picker { position: relative; }
.site-header .language-picker > summary {
  display: flex; align-items: center; gap: .45rem; min-height: 44px;
  padding: .5rem .7rem; border: 1px solid var(--plate-line); border-radius: 999px;
  color: var(--plate-text); font-size: .75rem; letter-spacing: .05em;
  list-style: none; cursor: pointer;
}
.language-picker summary::-webkit-details-marker { display: none; }
.language-picker summary::marker { content: ''; }
.language-picker svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 1.4; flex: none; }
.language-picker .language-chevron { width: 12px; height: 12px; transition: rotate 180ms ease; }
.language-picker[open] .language-chevron { rotate: 180deg; }
.language-picker summary:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.site-header.is-scrolled .language-picker > summary { color: var(--ink); border-color: var(--line-strong); }
.theme-dark .site-header.is-scrolled .language-picker > summary { color: var(--plate-text); border-color: var(--plate-line); }
.site-header .language-picker > .language-menu {
  position: absolute; z-index: 95; inset-inline-end: 0; top: calc(100% + .65rem);
  width: 15.5rem; max-width: calc(100vw - 2rem); margin: 0; padding: .5rem;
  list-style: none; border: 1px solid var(--plate-line); border-radius: .75rem;
  background: oklch(17% .024 257); box-shadow: 0 18px 48px #0005;
}
.site-header .language-menu li { opacity: 1; translate: none; transition: none; }
.site-header .nav-links .language-menu a {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 44px; padding: .7rem .875rem !important; border: 0; border-radius: .4rem;
  color: var(--plate-text); font-size: .875rem; letter-spacing: 0; line-height: 1.4;
  text-transform: none; white-space: normal; text-align: start;
}
.site-header .language-menu a small { display: block; margin-top: .15rem; font-size: .7rem; color: var(--plate-dim); }
.site-header .nav-links .language-menu a:hover,
.site-header .nav-links .language-menu a:focus-visible { background: oklch(26% .03 257); color: var(--plate-text); }
.site-header .nav-links .language-menu a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: -2px; }
.site-header .nav-links .language-menu a[aria-current="page"] { color: var(--gold-bright); }
.language-menu a::after { display: none; }

@media (min-width: 901px) and (max-width: 1150px) {
  .brand .brand-name { display: none; }
  .nav-links { gap: 1.05rem; }
}
@media (max-width: 900px) {
  /* Cancel ancestor effects immediately: an interpolated blur/translate
     temporarily makes the full-screen menu fit the header instead. */
  .site-header.menu-open,
  .site-header.menu-open .nav { transition: none; }
  .nav-links { transition: opacity 180ms var(--ease-soft), visibility 0s; pointer-events: none; }
  .nav-links.is-open { transition: opacity 180ms var(--ease-soft); pointer-events: auto; }
  .nav-links > li { transition: opacity 180ms ease, translate 220ms var(--ease-out); }
  .nav-links.is-open > li:nth-child(n) { transition-delay: 0s; }
  .theme-dark .site-header.menu-open .brand-mark { color: var(--plate-text) !important; }
  .nav-links { overflow-y: auto; padding: 6rem 1.5rem 2rem; justify-content: flex-start; gap: 0.6rem; }
  .nav-links > li { flex-shrink: 0; }
  .nav-links > li > a { display: block; padding-block: 0.75rem; }
  .site-header .nav-links:not(.is-open) :is(.nav-dropdown, .language-picker),
  .site-header .nav-links:not(.is-open) :is(.nav-dropdown, .language-picker) > summary { visibility: hidden; }
  .site-header .nav-links.is-open :is(.nav-dropdown, .language-picker),
  .site-header .nav-links.is-open :is(.nav-dropdown, .language-picker) > summary { visibility: visible; }
  .nav-division { flex-wrap: wrap; justify-content: center; }
  .nav-dropdown { position: static; }
  .nav-dropdown[open] { width: 100%; display: flex; flex-direction: column; align-items: center; }
  .nav-dropdown[open] summary { position: absolute; top: 0; left: calc(50% + 4.5rem); }
  .nav-submenu { position: static; width: min(19rem, 78vw); margin-block: 0.5rem; text-align: center; box-shadow: none; }
  .nav-submenu li { opacity: 1; translate: none; transition: none; }
  .site-header .nav-dropdown summary { color: var(--text-dim); }
  .theme-dark .nav-dropdown summary { color: var(--plate-dim); }
  .site-header .language-picker > .language-menu { position: static; width: min(19rem, calc(100vw - 3rem)); margin-top: .5rem; box-shadow: none; }
  .site-header.menu-open .language-picker > summary { color: var(--text); border-color: var(--line-strong); }
  .theme-dark .site-header.menu-open .language-picker > summary { color: var(--plate-text); border-color: var(--plate-line); }
}
@media (prefers-reduced-motion: reduce) {
  .nav-dropdown summary svg { transition: none; }
  .language-picker .language-chevron { transition: none; }
}
