/* Navigation */

.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--ink-900); color: #fff; padding: .6rem 1rem; border-radius: 8px; }
.skip:focus { left: 8px; }

.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  padding-top: env(safe-area-inset-top, 0px);
  transition: background var(--t-med) var(--ease-out), box-shadow var(--t-med) var(--ease-out), backdrop-filter var(--t-med);
}
.nav.is-stuck { background: rgba(244, 249, 246, 0.82); backdrop-filter: saturate(1.4) blur(16px); -webkit-backdrop-filter: saturate(1.4) blur(16px); box-shadow: 0 1px 0 var(--line); }
.nav__inner { height: var(--nav-h); display: flex; align-items: center; gap: 2rem; }
.nav__brand img { height: 36px; width: auto; }
.nav__links { display: flex; gap: 0.25rem; margin-left: auto; }
.nav__links a { padding: .5rem .85rem; border-radius: 999px; font-size: .95rem; color: var(--text-soft); transition: color var(--t-fast), background var(--t-fast); }
.nav__links a:hover { color: var(--ink-900); background: rgba(6,47,43,.06); }
.nav__signin { padding: .5rem .85rem; border-radius: 999px; font-size: .95rem; font-weight: 500; color: var(--ink-900); transition: background var(--t-fast); }
.nav__signin:hover { background: rgba(6,47,43,.06); }
.nav__cta { margin-left: .25rem; }
.nav__toggle { display: none; width: 44px; height: 44px; margin-left: auto; border: 0; background: transparent; border-radius: 12px; position: relative; }
.nav__toggle span { position: absolute; left: 12px; right: 12px; height: 2px; background: var(--ink-900); border-radius: 2px; transition: transform var(--t-med) var(--ease-out), top var(--t-med) var(--ease-out); }
.nav__toggle span:first-child { top: 18px; }
.nav__toggle span:last-child { top: 25px; }
.nav.is-open .nav__toggle span:first-child { top: 21px; transform: rotate(45deg); }
.nav.is-open .nav__toggle span:last-child { top: 21px; transform: rotate(-45deg); }

@media (max-width: 960px) {
  .nav__toggle { display: block; }
  .nav__cta { display: none; }
  /* Small screens: Sign in stays visible next to the menu button. */
  .nav__signin { margin-left: auto; }
  .nav__toggle { margin-left: 0; }
  .nav__links {
    position: absolute; left: 0; right: 0; top: calc(var(--nav-h) + env(safe-area-inset-top, 0px));
    flex-direction: column; gap: 0; margin: 0; padding: .5rem var(--gutter) 1.25rem;
    background: rgba(244,249,246,.97); backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--line);
    clip-path: inset(0 0 100% 0); visibility: hidden; transition: clip-path var(--t-med) var(--ease-out), visibility 0s linear var(--t-med);
  }
  .nav.is-open { background: rgba(244,249,246,.97); }
  .nav.is-open .nav__links { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path var(--t-med) var(--ease-out); }
  .nav__links a { padding: .9rem 0; font-size: 1.1rem; border-bottom: 1px solid var(--line); border-radius: 0; }
}
