/* Normal document flow remains readable without JavaScript and in full-page captures. */
html { --home-header-height: 76px; }
.menu-home #home-screens { flex: 1 0 auto; min-width: 0; }
.menu-screen {
  min-height: calc(100svh - var(--home-header-height));
  display: flex;
  flex-direction: column;
  scroll-margin-top: var(--home-header-height);
  position: relative;
  outline: none;
  border-bottom: 1px solid var(--line);
}
/* Navigation focuses the section for reading, without framing the entire screen. */
.menu-screen[tabindex]:focus { outline: none; }
.menu-screen:last-child { border-bottom: 0; }
.screen-body { flex: 1 0 auto; min-width: 0; }
.menu-home .screen-body.home-main { display: flex; flex-direction: column; }
.menu-home .screen-body.inner-page { padding-block: var(--page-block-space); }
.menu-home .screen-body.contact-page { display: flex; flex-direction: column; }
.menu-home .menu-screen > .site-footer { margin-top: auto; }
.menu-home .menu-screen[aria-busy="true"] { cursor: progress; }
.screen-feedback { margin: 12px auto; width: min(1180px, calc(100% - 36px)); color: #a12e21; }
/* One scrolling owner: the browser handles momentum and section boundaries. */
html.menu-scroll { scroll-snap-type: y mandatory; scroll-padding-top: var(--home-header-height); }
html.menu-scroll .menu-screen { scroll-snap-align: start; scroll-snap-stop: always; scroll-margin-top: 0; }
@media (max-width: 760px) {
  html { --home-header-height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  html.menu-scroll { scroll-behavior: auto; }
}
@media print {
  .menu-home .screen-body { opacity: 1 !important; transform: none !important; }
  html.menu-scroll { scroll-snap-type: none; }
  .menu-home .site-header { position: static; }
  .menu-screen { min-height: 0; break-before: page; }
  .menu-screen:first-child { break-before: auto; }
}
