/* Shared public navigation: hero glass, then a quiet white floating surface. */
:root {
  scroll-padding-top: 100px;
  --header-ease: cubic-bezier(.22, 1, .36, 1);
  --header-glass: rgba(255, 255, 255, .46);
  --header-edge: rgba(255, 255, 255, .72);
  --header-shadow: 0 6px 24px rgba(28, 25, 23, .04), inset 0 1px 0 rgba(255, 255, 255, .55);
}

/* The homepage already reserves space on its anchor targets. */
html:has(.candidate-header) { scroll-padding-top: 0; }

html[data-header-motion] :is(header#header, .candidate-header) {
  position: absolute;
  top: 0;
}

html :is(header#header, .candidate-header) .header-pill,
html [data-header-standalone],
html [data-header-brand] {
  background: var(--header-glass);
  border: 1px solid var(--header-edge);
  box-shadow: var(--header-shadow);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  transition: background-color 320ms var(--header-ease), border-color 320ms var(--header-ease), box-shadow 320ms var(--header-ease);
  animation: none;
}

html :is(header#header, .candidate-header) .header-pill::before {
  content: none;
}

html:not(.is-header-pinned) .candidate-header {
  --header-glass: rgba(255, 255, 255, .08);
  --header-edge: rgba(255, 255, 255, .34);
  --header-shadow: 0 8px 32px rgba(28, 25, 23, .08), inset 0 1px 0 rgba(255, 255, 255, .1);
}

html:not(.is-header-pinned) .candidate-header :is(.logo, .header-login, .hamburger) {
  color: #fff;
}

html:not(.is-header-pinned) .candidate-header .logo img {
  filter: brightness(0) invert(1);
}

html:not(.is-header-pinned) .candidate-header .header-actions > .btn-pill {
  color: #1c1917;
  background: #fff;
  box-shadow: 0 2px 8px rgba(28, 25, 23, .08);
}

html.is-header-pinned :is(header#header, .candidate-header) {
  position: fixed;
  top: 0;
}

html.is-header-pinned :is(header#header, .candidate-header) .header-pill {
  margin-top: 12px;
}

html.is-header-pinned :is(header#header, .candidate-header) .header-pill,
html.is-header-pinned [data-header-standalone] {
  background: rgba(255, 255, 255, .96);
  border-color: rgba(231, 226, 220, .82);
  box-shadow: 0 2px 6px rgba(28, 25, 23, .025), 0 12px 32px rgba(28, 25, 23, .08), inset 0 1px 0 #fff;
}

html :is(header#header, .candidate-header) :is(.logo, .header-login, .hamburger, .btn-pill) {
  transition: color 240ms ease, background-color 240ms ease, box-shadow 240ms ease;
}

html :is(header#header, .candidate-header) :is(a, button):focus-visible {
  outline: 2px solid #7ba7c9;
  outline-offset: 4px;
}

/* Old reference pages retain their smaller navigation, not the full marketing menu. */
html [data-header-standalone] {
  position: sticky;
  top: 12px;
  z-index: 100;
  width: calc(100% - 32px);
  max-width: 1100px;
  margin: 24px auto 0;
  border-radius: 14px;
}

html [data-header-standalone]::after { content: none; }
html [data-header-brand] { padding: 12px 20px; border-radius: 14px; }

@media (min-width: 769px) {
  html:not(.is-header-pinned) .candidate-header nav > a,
  html:not(.is-header-pinned) .candidate-header nav .candidate-nav-product-trigger {
    color: #fff;
  }
  html:not(.is-header-pinned) .candidate-header nav > a:hover,
  html:not(.is-header-pinned) .candidate-header nav .candidate-nav-product-trigger:hover {
    background: rgba(255, 255, 255, .12);
    box-shadow: none;
  }
}

@media (max-width: 768px) {
  html.is-header-pinned :is(header#header, .candidate-header) .header-pill { margin-top: 10px; }
  /* Keep the mobile sheet attached to the pill, including while glass is active. */
  html :is(header#header, .candidate-header) .header-pill nav.open {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    max-height: calc(100dvh - 90px);
    overflow-y: auto;
    background: #fff;
    border-color: #e7e2dc;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.is-header-pinned :is(header#header, .candidate-header) {
    animation: sinora-header-settle 280ms var(--header-ease) both;
  }
}

@keyframes sinora-header-settle {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html :is(header#header, .candidate-header),
  html :is(header#header, .candidate-header) *,
  html [data-header-standalone],
  html [data-header-brand] { animation: none !important; transition: none !important; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  html :is(header#header, .candidate-header) .header-pill,
  html [data-header-standalone],
  html [data-header-brand] { background: #faf8f5; }
  html:not(.is-header-pinned) .candidate-header .header-pill { background: #302c29; }
}

@media (prefers-reduced-transparency: reduce) {
  html :is(header#header, .candidate-header) .header-pill,
  html [data-header-standalone],
  html [data-header-brand] { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  html:not(.is-header-pinned) .candidate-header .header-pill { background: #302c29; }
}
