.nav-kicker, .nav-index, .nav-arrow, .nav-note { display: none; }
.menu-backdrop { display: none; }
@media (max-width: 1100px) {
  .site-header { z-index: 30; }
  .site-header .menu-button { position: relative; border: 1px solid var(--line); border-radius: 50%; padding: 0; transition: background .2s ease, border-color .2s ease; }
  .site-header .menu-button:hover, .site-header .menu-button[aria-expanded="true"] { background: #e5e8df; border-color: var(--moss); }
  .site-header .menu-button:focus-visible { outline: 2px solid var(--moss); outline-offset: 3px; box-shadow: none; }
  .site-header .menu-button i { position: absolute; width: 20px; height: 1px; left: 11px; top: 17px; margin: 0; transition: transform .25s ease; }
  .site-header .menu-button i:last-child { top: 24px; }
  .site-header .menu-button[aria-expanded="true"] i:first-child { transform: translateY(3.5px) rotate(45deg); }
  .site-header .menu-button[aria-expanded="true"] i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-header .nav, .site-header .nav.open { display: flex; position: absolute; left: auto; right: 22px; top: 79px; width: min(420px,calc(100vw - 44px)); max-height: calc(100svh - 96px); overflow-y: auto; overscroll-behavior: contain; padding: 28px; align-items: stretch; flex-direction: column; gap: 0; background: var(--paper); border: 1px solid var(--line); box-shadow: 0 16px 48px rgba(23,24,22,.16); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .24s ease, transform .28s cubic-bezier(.2,.7,.2,1), visibility 0s linear .28s; }
  .site-header .nav.open { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
  .nav .nav-kicker { display: block; margin: 0 0 18px; color: var(--muted); font: 10px "DM Mono",monospace; letter-spacing: .08em; text-transform: uppercase; }
  .site-header .nav > a:not(.button), .site-header .nav.open > a:not(.button) { display: grid; grid-template-columns: 23px minmax(0,1fr) 20px; gap: 13px; align-items: center; min-height: 55px; padding: 11px 0; border-bottom: 1px solid var(--line); color: var(--ink); font: 500 29px/1.2 "Fraunces",serif; letter-spacing: -.035em; transition: color .18s ease; }
  .nav .nav-index { display: block; font: 10px "DM Mono",monospace; letter-spacing: 0; color: var(--muted); }
  .nav .nav-arrow { display: block; font: 18px "DM Sans",sans-serif; color: var(--moss); transition: transform .2s ease; }
  .site-header .nav > a:not(.button):hover { color: var(--moss); }
  .site-header .nav > a:not(.button):hover .nav-arrow { transform: translate(2px,-2px); }
  .site-header .nav > .button { margin-top: 24px; padding: 16px 18px; min-height: 50px; font-size: 12px; }
  .nav .nav-note { display: block; margin: 15px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
  .menu-backdrop { display: block; position: fixed; inset: 67px 0 0; z-index: 25; background: rgba(23,24,22,.15); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .24s ease, visibility 0s linear .28s; }
  .menu-backdrop.open { opacity: 1; visibility: visible; pointer-events: auto; transition-delay: 0s; }
}
@media (max-width: 480px) {
  .site-header .nav, .site-header .nav.open { right: 12px; width: calc(100vw - 24px); top: 77px; padding: 24px; }
  .site-header .nav > a:not(.button) { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .nav, .menu-backdrop, .site-header .menu-button i, .nav .nav-arrow { transition: none !important; }
}
