/* Shared persistent site header — used on every page except the homepage
   (which has its own hero-integrated version of the same markup/styles).
   Relies on the color tokens (--ink,--fg,--muted,--line,--accent,--accent-ink)
   already defined in every page's own :root block. */
.site-nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:color-mix(in srgb,var(--ink) 76%,transparent);border-bottom:1px solid var(--line)}
.site-nav-inner{width:min(1180px,calc(100% - 44px));margin-inline:auto;
  display:flex;align-items:center;gap:28px;height:70px;font-family:var(--body)}
.site-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg);
  font-weight:600;font-size:17.5px;white-space:nowrap;font-family:var(--display);letter-spacing:-.03em}
.site-nav-links{margin-left:auto;display:flex;gap:24px;font-size:15px;color:var(--muted)}
.site-nav-links a{text-decoration:none;color:var(--muted);position:relative}
.site-nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;
  background:var(--accent);transition:right .25s ease}
.site-nav-links a:hover{color:var(--fg)}
.site-nav-links a:hover::after{right:0}
.site-nav .btn{margin:0;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);
  padding:12px 19px;border-radius:10px;text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap;
  border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease}
.site-nav .btn:hover{transform:translateY(-2px);box-shadow:0 12px 34px -14px var(--accent)}
.site-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;flex:none}
.site-theme-toggle:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.site-theme-toggle svg{width:17px;height:17px}
.site-theme-toggle .site-sun{display:none}
:root[data-theme="dark"] .site-theme-toggle .site-sun{display:block}
:root[data-theme="dark"] .site-theme-toggle .site-moon{display:none}
.site-nav .btn .short{display:none}
.site-nav-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--fg);cursor:pointer;flex:none}
.site-nav-toggle svg{width:19px;height:19px}
@media(max-width:900px){
  .site-nav-inner{position:relative;flex-wrap:wrap;height:auto;padding:14px 0}
  .site-nav-links{display:none;width:100%;flex-direction:column;gap:0;order:5;
    border-top:1px solid var(--line);margin-top:12px;padding-top:6px;
    background:var(--ink);padding-bottom:8px}
  .site-nav-links.is-open{display:flex}
  .site-nav-links a{padding:11px 2px}
  .site-nav-links a::after{display:none}
  .site-nav-toggle{display:inline-flex;order:4}
  .site-logo{margin-right:auto}
}
@media(max-width:560px){
  .site-nav-inner{min-height:58px;padding:10px 0;gap:8px}
  .site-nav .btn{padding:8px 12px;font-size:13px}
  .site-logo{font-size:15.5px;gap:8px}.site-logo img{height:30px;width:auto}
}
@media(max-width:420px){.site-nav .btn .full{display:none}.site-nav .btn .short{display:inline}}
