/* Site-only additions: mobile menu. */
.site-burger { display: none; width: 44px; height: 44px; margin-left: 8px; border: 0; background: transparent; cursor: pointer; align-items: center; justify-content: center; }
.site-burger span, .site-burger span::before, .site-burger span::after { display: block; width: 22px; height: 2px; background: currentColor; position: relative; content: ""; }
.site-burger span::before { position: absolute; top: -7px; }
.site-burger span::after { position: absolute; top: 7px; }
.dy-nav { color: var(--ink); }
.dy-nav-overlay { color: #ffffff; }
.site-menu { display: flex; flex-direction: column; padding: 8px 16px 24px; background: var(--surface-000); border-bottom: 1px solid var(--line); }
.site-menu[hidden] { display: none; }
.site-menu a { padding: 14px 0; font-size: 20px; line-height: 26px; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--line); }
.site-menu a[aria-current="page"] { color: var(--grid); }
@media (max-width: 720px) { .site-burger { display: inline-flex; } .dy-nav { padding-left: 16px; padding-right: 8px; } }

/* Page motion: smooth scrolling and page-to-page transitions */
html { scroll-padding-top: 88px; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: dy-vt-out 260ms cubic-bezier(.4, 0, 1, 1) both; }
  ::view-transition-new(root) { animation: dy-vt-in 460ms cubic-bezier(.16, 1, .3, 1) both; }
  @keyframes dy-vt-out { to { opacity: 0; transform: translateY(-10px); } }
  @keyframes dy-vt-in { from { opacity: 0; transform: translateY(18px); } }
  html.pm-enter #root { animation: dy-vt-in 460ms cubic-bezier(.16, 1, .3, 1) both; }
  html.pm-leave #root { animation: dy-vt-out 220ms cubic-bezier(.4, 0, 1, 1) both; }
}