/* Optional navigation enhancement; the page remains static without JS. */
.js .site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--paper);
  transition: transform 220ms var(--ease);
}
.js .site-header.header-hidden { transform: translateY(-105%); }
.js .site-header:focus-within { transform: translateY(0); }
html.js { scroll-padding-top: calc(var(--nav-height, 124px) + 16px); }
.desktop-nav { gap: clamp(16px, 2vw, 30px); }
.desktop-nav a[aria-current="location"] {
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 7px;
}
.menu-dialog nav a[aria-current="location"] { color: var(--accent); }
.menu-dialog nav a[aria-current="location"] > sup { color: inherit; }
.back-to-top {
  position: fixed;
  right: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom));
  z-index: 41;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 48px;
  min-height: 48px;
  padding: 10px 18px;
  border: 1px solid #a79c88;
  border-radius: 28px;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 3px 16px #20201e12;
  font-size: 13px;
}
.back-to-top > span:first-child { font-size: 22px; line-height: 1; }
.back-to-top:hover { background: var(--ink); color: var(--paper); }
body:has(dialog[open]) .back-to-top { visibility: hidden; }
@media (max-width: 1100px) and (min-width: 851px) {
  .site-header .brand-description { display: none; }
}
@media (max-width: 600px) {
  .back-to-top { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 48px; padding: 10px; }
  .back-to-top-label { display: none; }
  .menu-dialog nav a { font-size: clamp(28px, 8vw, 44px); }
}
@media (prefers-reduced-motion: reduce) {
  .js .site-header { transition: none; }
}
