    /* ---------- header ---------- */
    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      backdrop-filter: saturate(160%) blur(14px);
      -webkit-backdrop-filter: saturate(160%) blur(14px);
      background: rgba(7,10,16,0.72);
      border-bottom: 1px solid var(--border);
    }
    .site-header nav {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 16px 0;
      gap: 20px;
    }
    .logo {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
      font-size: 16px;
      letter-spacing: -0.01em;
      color: var(--text);
    }
    .logo .mark {
      display: grid;
      place-items: center;
      width: 32px; height: 32px;
      border-radius: 9px;
      background: linear-gradient(155deg, rgba(63,128,255,0.20), rgba(63,128,255,0.05));
      border: 1px solid var(--border-strong);
      color: var(--accent-bright);
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 4px 14px -8px var(--accent-glow);
    }
    .logo .mark svg { width: 19px; height: 19px; }
    .site-header ul { display: flex; gap: 30px; list-style: none; }
    .site-header ul a {
      color: var(--text-soft);
      font-weight: 500;
      font-size: 14.5px;
      transition: color .18s var(--ease);
    }
    .site-header ul a:hover { color: var(--text); }


/* One layout and breakpoint for every page. */
html { scrollbar-gutter: stable; }
.site-header nav { min-height: 76px; flex-wrap: nowrap; }
.site-header ul { margin: 0; padding: 0; align-items: center; }
.site-header .desktop-nav { gap: 24px; flex-wrap: nowrap; }
.site-header .desktop-nav a { white-space: nowrap; }
.site-header nav > .logo { flex-shrink: 0; }
.site-header .logo:hover { color: var(--text); }
.site-header a[aria-current="page"] { color: var(--accent-bright); text-decoration: underline; text-underline-offset: 7px; }
.site-header a:focus-visible, .site-header summary:focus-visible { outline: 2px solid var(--accent-bright); outline-offset: 4px; }
/* Compact mobile navigation; native disclosure also works without JavaScript. */
.mobile-nav { display: none; }
@media (max-width: 1100px) {
  .site-header nav { position: relative; flex-wrap: nowrap; gap: 12px; }
  .site-header .desktop-nav { display: none; }
  .site-header nav > .logo { min-width: 0; flex-shrink: 1; font-size: 14px; }
  .logo .mark { flex-shrink: 0; }
  .mobile-nav { display: block; flex-shrink: 0; }
  .mobile-nav summary {
    display: grid; place-items: center; width: 44px; height: 44px;
    list-style: none; cursor: pointer; color: var(--text);
    background: var(--surface-2); border: 1px solid var(--border-strong);
    border-radius: 10px;
  }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary svg { width: 22px; height: 22px; }
  .mobile-nav[open] summary { color: var(--accent-bright); border-color: var(--accent-bright); }
  .site-header .mobile-nav ul {
    position: absolute; top: calc(100% - 1px); left: 0; right: 0;
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    padding: 8px; border: 1px solid var(--border-strong); border-radius: 12px;
    background: var(--surface); box-shadow: 0 18px 36px rgba(0,0,0,.35);
  }
  .site-header .mobile-nav:not([open]) ul { display: none; }
  .site-header .mobile-nav a { display: block; padding: 12px 16px; font-size: 15px; border-radius: 8px; }
  .site-header .mobile-nav a:hover { background: var(--surface-2); }
  section[id] { scroll-margin-top: 90px; }
}
@media (max-width: 360px) {
  .site-header nav > .logo { font-size: 12px; gap: 7px; }
}
@media (max-width: 1100px) {
  .site-header .mobile-nav ul { max-height: calc(100dvh - 90px); overflow-y: auto; }
}
