/* One shared navigation component. Page styles must not override its geometry. */
.landing-shell:not(.landing-shell--home) { padding-top: var(--header-height); }
.landing-header {
  --header-ink: var(--color-ink);
  line-height: 1.5;
  position: fixed;
  z-index: var(--landing-z-menu);
  inset: 0 0 auto;
  height: var(--header-height);
  border: 0;
  background: color-mix(in srgb, var(--color-paper) 88%, transparent);
  backdrop-filter: saturate(160%) blur(20px);
  color: var(--header-ink);
}
.landing-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 2rem;
  width: min(calc(100% - 6rem), var(--shell-width));
  height: 100%;
  margin-inline: auto;
  padding: 0;
}
.landing-wordmark {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 2.75rem;
  color: var(--header-ink);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.025em;
  text-decoration: none;
  white-space: nowrap;
}
.landing-header__nav, .landing-header__account { display: flex; align-items: center; }
.landing-header__nav { gap: 1.8rem; }
.landing-header__account { gap: 0.4rem; }
.landing-header__nav a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--header-ink);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
}
.landing-header__nav a[aria-current="page"] { color: var(--color-accent); }
.landing-header .theme-toggle { color: var(--header-ink); }
.landing-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-decoration: none;
  white-space: nowrap;
}
.landing-header__cta > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2rem;
  padding: 0 1rem;
  border: 0;
  border-radius: var(--radius-round);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.25;
  transition: background-color var(--dur-short) var(--ease-out);
}
.landing-mobile-actions { display: none; }
.landing-header :is(a, summary):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
/* The photographic hero changes contrast only; every dimension stays shared. */
.landing-header--home:not([data-compact]):not([data-menu-open]) {
  --header-ink: #fff;
  --header-link-hover: #9fc5ff;
  --color-accent: #0071e3;
  --color-accent-strong: #147ce5;
  --color-accent-ink: #fff;
  --color-focus: #9fc5ff;
  background: transparent;
  backdrop-filter: none;
}
.landing-header--home[data-scrolled]:not([data-compact]):not([data-menu-open]) {
  background: rgb(24 26 29 / .88);
  backdrop-filter: saturate(160%) blur(20px);
}
@media (hover: hover) and (pointer: fine) {
  .landing-header__cta:hover > span { background: var(--color-accent-strong); }
  .landing-header__nav a:hover { color: var(--header-link-hover, var(--color-accent)); }
}
@media (max-width: 63.999rem) {
  .landing-header__inner { width: calc(100% - 3rem); gap: 1.25rem; }
  .landing-header__nav { gap: 1rem; }
}
@media (max-width: 47.999rem) {
  html[data-landing-menu-open] { overflow: hidden; }
  .landing-header__inner { width: calc(100% - 2.5rem); grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; }
  .landing-wordmark { font-size: 1rem; }
  .landing-header__nav, .landing-header__account { display: none; }
  .landing-mobile-actions { display: flex; align-items: center; gap: 0.4rem; }
  .landing-mobile-nav summary {
    display: grid;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: var(--radius-round);
    background: transparent;
    box-shadow: none;
    color: var(--header-ink);
    cursor: pointer;
    list-style: none;
  }
  .landing-mobile-nav summary::-webkit-details-marker { display: none; }
  .landing-mobile-nav__icon { position: relative; display: block; width: 1rem; height: 1rem; }
  .landing-mobile-nav__icon i { position: absolute; inset: 0.34rem 0 auto; height: 1.5px; border-radius: var(--radius-round); background: currentColor; transition: transform var(--dur-short) var(--ease-out); }
  .landing-mobile-nav__icon i:last-child { transform: translateY(0.32rem); }
  .landing-mobile-nav[open] .landing-mobile-nav__icon i:first-child { transform: translateY(0.16rem) rotate(45deg); }
  .landing-mobile-nav[open] .landing-mobile-nav__icon i:last-child { transform: translateY(0.16rem) rotate(-45deg); }
  .landing-mobile-nav nav {
    position: fixed;
    inset: var(--header-height) 0 auto;
    display: grid;
    gap: 1.5rem;
    max-height: calc(100dvh - var(--header-height));
    padding: 1.5rem max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
    overflow-y: auto;
    overscroll-behavior: contain;
    border-bottom: 1px solid var(--color-rule);
    border-radius: 0 0 var(--radius-large) var(--radius-large);
    background: var(--color-paper);
    box-shadow: var(--shadow-overlay);
  }
  .landing-mobile-nav:not([open]) nav { display: none; }
  .landing-mobile-nav__group, .landing-mobile-nav__primary-links, .landing-mobile-nav__utility-links { display: grid; gap: 0.5rem; }
  .landing-header .landing-mobile-nav__label { margin: 0; color: var(--color-muted); font-size: var(--text-sm); font-weight: 500; line-height: 1.5; }
  .landing-mobile-nav nav a { display: flex; align-items: center; min-height: 2.75rem; color: var(--color-ink); font-size: 1.4rem; font-weight: 500; line-height: 1.3; text-decoration: none; }
  .landing-mobile-nav nav a[aria-current="page"] { color: var(--color-accent); }
  .landing-mobile-nav__utility-links { padding-top: 1.25rem; border-top: 1px solid var(--color-rule); }
}
@media (prefers-reduced-motion: reduce) {
  .landing-header__cta > span, .landing-mobile-nav__icon i { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .landing-header { background: var(--color-paper); backdrop-filter: none; }
  .landing-header--home[data-scrolled]:not([data-compact]):not([data-menu-open]) { background: #181a1d; backdrop-filter: none; }
}

body.product-page { padding-top: var(--header-height); }
.landing-header .button_to { margin: 0; }
.landing-sign-out { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0; border: 0; background: transparent; color: var(--header-ink); font: inherit; font-size: .75rem; line-height: 1.25; cursor: pointer; }
.landing-sign-out:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .landing-sign-out:hover { color: var(--header-link-hover, var(--color-accent)); }
}
@media (max-width: 47.999rem) {
  .landing-mobile-nav .landing-sign-out { font-size: 1.4rem; font-weight: 500; line-height: 1.3; }
}
