/* Mobile: full-screen menu */
.site-nav {
  position: fixed;
  inset: var(--header-h) 0 0 0;
  background: var(--color-bg);
  padding: var(--space-lg) var(--gutter);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}
.site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
.site-nav__list { list-style: none; margin: 0; padding: 0; }
.site-nav__link {
  display: block;
  padding: 10px 0;
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--color-line);
}
.site-nav__link.is-active { font-style: italic; color: var(--color-accent); }
.site-nav__mobile-extra { display: grid; gap: 12px; padding-top: var(--space-lg); }
.site-nav__phone { font-size: var(--fs-18); color: var(--color-primary); min-height: 44px; display: flex; align-items: center; }
.site-nav__address { color: var(--color-text-soft); font-size: var(--fs-14); }

@media (min-width: 1024px) {
  .site-nav { position: static; inset: auto; padding: 0; background: none; opacity: 1; visibility: visible; transform: none; overflow: visible; flex-direction: row; }
  .site-nav__list { display: flex; gap: 30px; }
  .site-nav__link {
    font-family: var(--font-body);
    font-size: var(--fs-16);
    padding: 8px 0;
    border: 0;
    position: relative;
  }
  .site-nav__link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: var(--color-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--transition); }
  .site-nav__link:hover::after, .site-nav__link.is-active::after { transform: scaleX(1); }
  .site-nav__link.is-active { font-style: normal; color: var(--color-primary); }
  .site-nav__mobile-extra { display: none; }
}
