/* Pin the complete header wrapper; the inner header cannot stick beyond its parent. */
[data-site-header] {
  position: sticky;
  top: 0;
  z-index: 100;
}
[data-site-header] .site-header {
  position: relative;
  top: auto;
}
html {
  scroll-padding-top: calc(var(--header-height, 88px) + 48px);
}
@media (min-width: 981px) {
  /* Keep the Reds film's overlaid header visible and readable farther down the page. */
  body[data-page="reds"] > [data-site-header] {
    position: fixed;
    background: rgba(28, 11, 39, .94);
  }
}
@media (min-width: 981px) and (max-width: 1120px) {
  body[data-page="reds"] .site-header { background: rgba(255, 250, 244, .98); }
}
@media (max-width: 1120px) {
  /* Lock the document without turning the body into a new sticky scroll container. */
  html:has(body.menu-open) { overflow: hidden; }
  body.menu-open { overflow: clip; }
  html { scroll-padding-top: calc(var(--header-height) + 16px); }
}
