/* Renders in Shadow DOM: site styles don't reach in, so every value the bar needs
   is either declared here or handed down as a custom property from the root. */

.ZdrsTEkWVyw5KuUBukTd {
  --nav-pad-x: 1.5rem;
  --nav-gap: 0.25rem;

  box-sizing: border-box;
  width: 100%;
  font-family: var(--nav-font, Figtree, Arial, 'Helvetica Neue', Helvetica, sans-serif);
  -webkit-font-smoothing: antialiased;
  transition:
    background-color 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    backdrop-filter 0.28s ease;
}

.ZdrsTEkWVyw5KuUBukTd *,
.ZdrsTEkWVyw5KuUBukTd *::before,
.ZdrsTEkWVyw5KuUBukTd *::after {
  box-sizing: border-box;
}

/* ---------- Placement ---------- */

.L2R7px4X5xqGYISqOi0a {
  position: fixed;
  top: var(--nav-top, 0px);
  left: 0;
  right: 0;
  z-index: 1000;
}

/* Sticky only works if no ancestor clips or transforms it — Fixed is the safe default. */
.N_45ekpGRLPx1FNDj4d5 {
  position: sticky;
  top: var(--nav-top, 0px);
  z-index: 1000;
}

/* The scrim sits at 999. Fixed and Sticky clear it on their own; Static has to say so too,
   or the bar and the open menu paint underneath their own mask and swallow every tap. */
.WQLz5jtPDpAEEO8XnJMH {
  position: relative;
  z-index: 1000;
  margin-top: var(--nav-top, 0px);
}

.BbL93zH5oZLfij6iJg0g {
  width: 100%;
}

/* ---------- Bar ---------- */

.Yb5OQ1fJ9u3njBKZAxfB {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  max-width: var(--nav-max-width, 80rem);
  margin: 0 auto;
  padding: 1rem var(--nav-pad-x);
}

.QB914F1d69hxOVuQrUgK {
  background-color: transparent;
  border-bottom: 1px solid transparent;
}

.F8KL1dU8Ecl6LJ6XkLWg {
  border-bottom: 1px solid var(--nav-hairline);
  backdrop-filter: saturate(140%) blur(14px);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
}

/* ---------- Themes ---------- */

.xyziaVclL_V3kGb9hqxT,

.OjnCVlXZUxpVERpY8U6u {
  --nav-ink: #e3e8f1;
  --nav-ink-muted: rgba(227, 232, 241, 0.68);
  --nav-ink-strong: #ffffff;
  --nav-hairline: rgba(227, 232, 241, 0.14);
  --nav-surface: rgba(7, 7, 15, 0.78);
  --nav-hover: rgba(227, 232, 241, 0.08);
  --nav-panel: #07070f;
  color: var(--nav-ink);
}

.UIBXqd0_2Tjdy2bOmPfV {
  --nav-ink: #141924;
  --nav-ink-muted: rgba(20, 25, 36, 0.66);
  --nav-ink-strong: #07070f;
  --nav-hairline: rgba(20, 25, 36, 0.12);
  --nav-surface: rgba(255, 255, 255, 0.82);
  --nav-hover: rgba(20, 25, 36, 0.05);
  --nav-panel: #ffffff;
  color: var(--nav-ink);
}

.F8KL1dU8Ecl6LJ6XkLWg.xyziaVclL_V3kGb9hqxT,
.F8KL1dU8Ecl6LJ6XkLWg.UIBXqd0_2Tjdy2bOmPfV,

.F8KL1dU8Ecl6LJ6XkLWg.OjnCVlXZUxpVERpY8U6u {
  background-color: var(--nav-surface);
}

/* ---------- Brand ---------- */

.QEcVKKDVD6_UVvy785rr {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  text-decoration: none;
  color: inherit;
  border-radius: 8px;
}

.ImTtuYRTOd8JFUrTKW_4 {
  display: block;
  height: var(--nav-logo-height, 28px);
  width: auto;
  max-width: var(--nav-logo-max-width, 260px);
  object-fit: contain;
}

.n2JIZNRliZJjHYPPobra {
  font-size: calc(var(--nav-logo-height, 28px) * 0.86);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  background-image: linear-gradient(
    100deg,
    var(--nav-accent-1, #0066ff),
    var(--nav-accent-2, #4c00ff) 52%,
    var(--nav-accent-3, #ff00d4)
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* ---------- Links ---------- */

.LDedJIggmWzwncku9e3I {
  display: flex;
  align-items: center;
  min-width: 0;
}

.iF9BmBFL3Moa6SHoRYxd {
  display: flex;
  align-items: center;
  gap: var(--nav-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.HoUNwYxR0s9gXxjrzLMU {
  display: flex;
}

.Bs3LteZY8rsS4J6JdLYO {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.875rem;
  border-radius: 8px;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  color: var(--nav-link-color, var(--nav-ink-muted));
  transition:
    color 0.18s ease,
    background-color 0.18s ease;
}

.Bs3LteZY8rsS4J6JdLYO:hover {
  color: var(--nav-link-hover, var(--nav-ink-strong));
  background-color: var(--nav-hover);
}

.Bs3LteZY8rsS4J6JdLYO.s7cnpt_nKgrLYIjOL4X0 {
  color: var(--nav-ink-strong);
}

.Bs3LteZY8rsS4J6JdLYO:focus-visible,
.GNR1bwi586gi5I_RQwwD:focus-visible,
.QEcVKKDVD6_UVvy785rr:focus-visible,
.hPjs4X4TQ6d11MXhLAUd:focus-visible {
  outline: 2px solid var(--nav-accent-2, #4c00ff);
  outline-offset: 3px;
}

/* ---------- Call to action ---------- */

/* Flat block, not a pill: same resting/hover colors as the links, just filled instead of on text. */
.GNR1bwi586gi5I_RQwwD {
  display: inline-flex;
  align-items: center;
  margin-left: 0.5rem;
  padding: 0.75rem 1.75rem;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
  text-decoration: none;
  color: var(--nav-cta-text, #161616);
  background-color: var(--nav-link-color, #e5e3d2);
  transition:
    color 0.18s ease,
    background-color 0.18s ease,
    transform 0.15s ease;
}

/* Charcoal reads badly on the tangerine hover fill, so the text flips to platinum with it. */
.GNR1bwi586gi5I_RQwwD:hover {
  color: var(--nav-cta-text-hover, #e5e3d2);
  background-color: var(--nav-link-hover, #ff5b19);
}

.GNR1bwi586gi5I_RQwwD:active {
  transform: translateY(1px);
}

/* ---------- Compact layout ---------- */

.hPjs4X4TQ6d11MXhLAUd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-right: -0.5rem;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.hPjs4X4TQ6d11MXhLAUd:hover {
  background-color: var(--nav-hover);
}

.Lr8wU2wwWh97GZs5AVTc {
  position: relative;
  display: block;
  width: 22px;
  height: 14px;
}

.Lr8wU2wwWh97GZs5AVTc span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 2px;
  background-color: currentColor;
  transition:
    transform 0.26s ease,
    opacity 0.16s ease;
}

.Lr8wU2wwWh97GZs5AVTc span:nth-child(1) {
  top: 0;
}

.Lr8wU2wwWh97GZs5AVTc span:nth-child(2) {
  top: 6px;
}

.Lr8wU2wwWh97GZs5AVTc span:nth-child(3) {
  top: 12px;
}

.LuK4rbWGqAH_1X41DGzc .Lr8wU2wwWh97GZs5AVTc span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.LuK4rbWGqAH_1X41DGzc .Lr8wU2wwWh97GZs5AVTc span:nth-child(2) {
  opacity: 0;
}

.LuK4rbWGqAH_1X41DGzc .Lr8wU2wwWh97GZs5AVTc span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.cfaq6seOORE3KlUKbZ4U {
  overflow: hidden;
  max-height: 0;
  background-color: var(--nav-panel);
  /* Collapsed, the panel is still 1px tall - its transparent border-top. Clipping the
     fill to the padding box stops the opaque panel colour painting through that border
     and drawing a hairline under the closed mobile bar. */
  background-clip: padding-box;
  border-top: 1px solid transparent;
  transition:
    max-height 0.3s ease,
    border-color 0.3s ease;
}

/* 70vh took no account of the bar above it or of browser chrome, so a phone in landscape -
   where the chrome eats a third of the screen - ran the panel past the bottom edge with the
   page scroll-locked behind it: the last links sat off-screen and nothing would reach them.
   Cap it to what is actually left below the bar, and prefer dvh, which tracks the chrome as
   it comes and goes. The vh line is the fallback for browsers without dvh. */
.LuK4rbWGqAH_1X41DGzc .cfaq6seOORE3KlUKbZ4U {
  max-height: min(30rem, calc(100vh - var(--nav-height, 72px) - var(--nav-top, 0px) - 0.5rem));
  max-height: min(30rem, calc(100dvh - var(--nav-height, 72px) - var(--nav-top, 0px) - 0.5rem));
  overflow-y: auto;
  /* The page behind is scroll-locked; keep the panel's own scroll from chaining into it. */
  overscroll-behavior: contain;
  border-top-color: var(--nav-hairline);
}

.b00yrleMzyQDgdMjvd7J {
  padding: 0.75rem var(--nav-pad-x) 1.5rem;
}

.cIKU1lgRTDLBrZMuIzBj .iF9BmBFL3Moa6SHoRYxd {
  flex-direction: column;
  align-items: stretch;
  gap: 0.125rem;
  max-width: var(--nav-max-width, 80rem);
  margin: 0 auto;
}

.cIKU1lgRTDLBrZMuIzBj .Bs3LteZY8rsS4J6JdLYO {
  padding: 0.875rem 0.5rem;
  font-size: 1.0625rem;
}

.cIKU1lgRTDLBrZMuIzBj .GNR1bwi586gi5I_RQwwD {
  display: flex;
  width: 100%;
  justify-content: center;
  margin: 0.875rem 0 0;
  padding: 0.9375rem 1.25rem;
  font-size: 1rem;
}

.GHb9CYmsSXIXYfI1fWnD {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background-color: rgba(7, 7, 15, 0.5);
  cursor: default;
  -webkit-tap-highlight-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .ZdrsTEkWVyw5KuUBukTd,
  .ZdrsTEkWVyw5KuUBukTd * {
    transition-duration: 0.01ms !important;
  }
}

