/* ==========================================================================
   Shared site header — used on /, /presentation, /budget, /budget/:code,
   and the budget 404. Full slide deck pages do NOT include this.
   ========================================================================== */

.site-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1640px;
  margin: 0 auto;
  padding: 1.1rem 1.5rem 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.site-nav .brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 600;
  font-size: 1.1rem;
  color: var(--ink, #1f2a2e);
  text-decoration: none;
}
.site-nav .brand:hover { text-decoration: none; }
.site-nav .brand img { width: 26px; height: 26px; }

.site-nav .links {
  display: inline-flex;
  align-items: center;
  gap: 1.4em;
}
.site-nav .links a {
  color: var(--ink-soft, #4d5a60);
  font-weight: 500;
  font-size: 0.92rem;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  padding-bottom: 2px;
  transition: color .18s, border-color .18s;
}
.site-nav .links a:hover {
  color: var(--sage-deep, #4f8a64);
  border-bottom-color: var(--sage, #8bb89a);
  text-decoration: none;
}
.site-nav .links a.active {
  color: var(--sage-deep, #4f8a64);
  border-bottom-color: var(--sage, #8bb89a);
}

@media (max-width: 600px) {
  .site-nav { padding: 0.9rem 1rem 0; }
  .site-nav .links { gap: 0.9em; }
  .site-nav .links a { font-size: 0.85rem; }
  .site-nav .brand { font-size: 1rem; }
}

/* Disable Fraunces' "wonky" letterforms and pin to the 9pt "caption" optical
   size for a calmer, less decorative look. Inter ignores opsz/WONK/SOFT so
   this is safe to apply globally. */
@supports (font-variation-settings: normal) {
  html, body {
    font-optical-sizing: none;
    font-variation-settings: "opsz" 9, "WONK" 0, "SOFT" 50;
  }
  * {
    font-optical-sizing: none;
    font-variation-settings: inherit;
  }
}
