/* Shared page container. Section backgrounds stay full-bleed; content is capped at 1600px
   with side padding that grows on larger screens so text never touches the edges. */
.mx-auto.max-w-7xl { max-width: 100rem; }

@media (min-width: 1024px) {
  .mx-auto.max-w-7xl { padding-left: 2.5rem; padding-right: 2.5rem; }
}

@media (min-width: 1536px) {
  .mx-auto.max-w-7xl { padding-left: 3.5rem; padding-right: 3.5rem; }
}

/* Soft cross-fade between pages in browsers that support it. */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: 180ms; animation-timing-function: ease-out; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}
