*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--mv-font-sans, "DM Sans", Arial, sans-serif);
  color: var(--mv-color-ink, #1c1e1d);
  background: var(--mv-color-paper, #f6f3ed);
  line-height: 1.5;
}

.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  z-index: 200;
  padding: 8px 16px;
  background: var(--mv-color-night);
  color: var(--mv-color-white);
}

.skip-link:focus {
  left: 12px;
  top: 12px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

#main-content {
  min-height: 40vh;
}

.mv-page-title {
  font-family: var(--mv-font-serif, Georgia, serif);
  font-weight: 500;
  font-size: var(--mv-type-section);
  line-height: 1.05;
  margin: 0 0 24px;
  padding: var(--mv-section-space-compact, 48px) var(--mv-space-page, 24px) 0;
}

.mv-article .mv-content {
  padding: 0 var(--mv-space-page, 24px) var(--mv-section-space-compact, 48px);
  max-width: var(--mv-content-max, 1320px);
}

.mv-site-header__toggle .mv-icon-close {
  display: none;
}

.mv-site-header__toggle.is-open .mv-icon-menu {
  display: none;
}

.mv-site-header__toggle.is-open .mv-icon-close {
  display: block;
}

body.home .mv-page-title,
body.home .mv-article .mv-content {
  /* Homepage templates will replace leftover page HTML in Phase 3. */
}
