/* Touch navigation; no new font files or changed brand typography. */
html { scroll-padding-top: 128px; }
.site-header a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.site-header nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
@media (max-width: 850px) {
  .site-header { height: 112px; padding: 0 18px 44px; }
  .site-header .site-logo { width: 100px; height: 44px; flex-shrink: 0; }
  .site-header nav { bottom: 0; height: 44px; gap: 0; align-items: stretch; overscroll-behavior-x: contain; }
  .site-header nav a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 4px; flex-shrink: 0; font-size: 14px; }
  .site-header nav a::after { bottom: 5px; }
  .site-header .header-side { gap: 12px; }
  .site-header .header-side a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 4px; }
  .site-footer a { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
