/* navigation: existing family composition and intentional responsive variants. */
.gh-navigation .site-logo {
  display: inline-flex;
  min-height: 4.25rem;
  align-items: center;
}

.gh-navigation .site-logo-image {
  height: clamp(3.25rem, 4vw, 4.25rem);
}

.gh-navigation-menu .nav-link,
.gh-mobile-menu__nav-link {
  font-family: var(--font-heading);
  letter-spacing: 0.04em;
  text-transform: lowercase;
}

.gh-navigation-menu .nav-link {
  font-size: var(--fs-font-heading-sm);
  font-weight: var(--fs-weight-bold);
  line-height: var(--fs-line-snug);
}

.gh-navigation-desktop {
  display: none;
}

@container (min-width: 48rem) {
  .gh-navigation-desktop {
    display: block;
  }

  .gh-navigation-desktop-flex {
    flex: 1 1 0%;
  }

  .gh-navigation-mobile-only {
    display: none !important;
  }}

.gh-navigation-cluster {
  min-width: 0;
}

.gh-navigation-cluster .gh-navigation-menu,
.gh-navigation-cluster .gh-navigation-menu ul {
  min-width: 0;
}

.gh-navigation-cluster .gh-navigation-menu ul {
  flex-wrap: nowrap;
  white-space: nowrap;
}

.gh-navigation-cluster .gh-navigation-actions {
  flex: 0 0 auto;
}

.gh-navigation-menu .nav-link,
.gh-navigation-actions .fs-button {
  font-size: 1rem;
  font-weight: var(--fs-weight-semibold);
  letter-spacing: 0.02em;
  line-height: 1.25;
}

.gh-navigation-actions > [data-ghost-search] svg,
.gh-navigation-actions > .gh-burger svg {
  width: 1.25rem;
  height: 1.25rem;
  stroke-width: 2;
}

.gh-navigation-signin:hover,
.gh-navigation-signin:focus-visible {
  border-color: var(--primary);
  background: var(--primary);
  color: var(--primary-foreground);
  opacity: 1;
}

.gh-navigation-menu--lowered {
  transform: translateY(var(--fs-space-4));
}

.gh-mobile-menu {
  background: var(--background);
  color: var(--foreground);
}

.gh-mobile-menu::backdrop {
  background: rgb(0 0 0 / 0.5);
}

.gh-mobile-menu__inner {
  min-height: 100dvh;
  padding: max(var(--fs-space-4), env(safe-area-inset-top)) var(--fs-gutter) max(var(--fs-space-8), env(safe-area-inset-bottom));
}

.gh-mobile-menu__header {
  flex: 0 0 auto;
  min-height: 4.25rem;
  gap: var(--fs-space-4);
}

.gh-mobile-menu__actions {
  gap: var(--fs-space-2);
}

.gh-mobile-menu__nav-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 0.2rem;
}

.gh-mobile-menu__nav {
  margin-top: var(--fs-space-16);
}

.gh-mobile-menu__nav-list {
  gap: var(--fs-space-2);
}

.gh-mobile-menu__nav-link {
  display: block;
  padding-block: var(--fs-space-1);
  color: var(--foreground);
  font-size: 3rem;
  font-weight: var(--fs-weight-bold);
  line-height: 1;
  text-decoration: none;
}

.gh-mobile-menu__nav-link:hover,
.gh-mobile-menu__nav-list .nav-current > .gh-mobile-menu__nav-link {
  color: var(--accent);
  opacity: 1;
}

.gh-mobile-menu__member-actions {
  width: 100%;
  align-items: flex-start;
  padding-top: var(--fs-space-8);
}

.gh-mobile-menu__member-actions a,
.gh-mobile-menu__member-actions button {
  min-height: 2.75rem;
  color: var(--muted-foreground);
  font-size: var(--fs-font-sm);
}

@media (min-width: 48rem) and (max-width: 79.999rem) {
  .gh-mobile-menu__nav-link {
    font-size: 4rem;
  }}

/* Native, non-sticky navigation. Shared geometry also reserves hero copy space. */
:root { --fs-primary-nav-pad:var(--fs-space-3);--fs-primary-header-space:calc(4.25rem + var(--fs-primary-nav-pad) + max(var(--fs-primary-nav-pad),env(safe-area-inset-top,0px))); }
@media(min-width:448px){ :root { --fs-primary-nav-pad:var(--fs-space-5); } }
header.gh-navigation { position:relative; margin:0; --fs-nav-padding-block:var(--fs-primary-nav-pad); }
header.gh-navigation .gh-navigation-inner { padding-block:var(--fs-nav-padding-block);padding-top:max(var(--fs-nav-padding-block),env(safe-area-inset-top,0px)); }
header.gh-navigation .gh-mobile-menu__inner { padding-top:var(--fs-nav-padding-block); }
header.gh-navigation .gh-mobile-menu__actions { gap:0; }

/* Canonical public hero navigation; overlay-era defaults retain only their final values. */
.service-hero-navigation { position:relative;z-index:50;top:0;left:0;isolation:isolate;width:100%;color:var(--foreground);height:auto; }
.service-hero-navigation::before { content:"";position:absolute;z-index:-1;inset:0 0 auto;height:clamp(7rem,12vw,10rem);background:linear-gradient(180deg,rgb(0 0 0/.62) 0%,rgb(0 0 0/.28) 52%,transparent 100%);pointer-events:none;display:none; }
.service-hero-navigation .gh-navigation { background:var(--background) !important;color:var(--foreground); }
.service-hero-navigation .gh-navigation-inner { color:var(--foreground); }
.service-hero-navigation .gh-navigation-inner :is(a,button) { color:inherit; }
.service-hero-navigation .gh-navigation-inner .site-logo-image { filter:none; }
.service-hero-navigation .gh-navigation-inner :is(a,button):focus-visible { outline:2px solid var(--accent);outline-offset:.2rem; }
