/* Mobile nav: pair with body.nav-open (see js/script.js) */
@media (max-width: 767px) {
  body.nav-open #primary-nav.site-nav {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0.25rem;
    padding: 0 1rem 1rem;
    background: #fff;
    border-bottom: 1px solid #e2e8f0;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.08);
  }

  body.nav-open #primary-nav.site-nav .menu {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Image modal (kept from previous site) */
.image-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, 0.85);
  padding: 1rem;
}
.image-modal.is-open {
  display: flex;
}
.image-modal__content {
  max-width: min(95vw, 1200px);
  max-height: 90vh;
  object-fit: contain;
  border-radius: 0.5rem;
}
.image-modal__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  font-size: 2rem;
  line-height: 1;
  color: #fff;
  background: transparent;
  border: none;
  cursor: pointer;
}

html {
  scroll-behavior: smooth;
}

/* Sticky header offset for in-page #anchors */
main section[id],
section[id] {
  scroll-margin-top: 5rem;
}

.site-nav .menu a.active {
  color: #0f172a;
  font-weight: 600;
}
