/* Keep the layout viewport the same width on short and long pages.
   The fallback always reserves a vertical scrollbar in older browsers. */
html { overflow-y: scroll; scrollbar-gutter: stable; }

/* Global layout and navigation, identical on every page. */
.page { width:100%; max-width:1600px; margin-left:auto; margin-right:auto; padding:24px 32px 48px; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:80px; }
.brand { flex:0 0 auto; }
.nav-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:24px; }
.nav-links a {white-space:nowrap; text-decoration:none;}
.nav-links a:hover, .nav-links a:focus-visible {text-decoration:underline; text-underline-offset:5px;}
.nav-links a[aria-current="page"] {color:#fff; text-decoration:underline; text-underline-offset:6px;}
@media (max-width:700px) {
  .page { padding:24px 20px 48px; }
  .site-header { flex-direction:column; align-items:center; gap:20px; margin-bottom:80px; }
  .nav-links { justify-content:center; gap:14px 20px; }
}

/* Sticky footer: stays at the viewport bottom on short pages, follows content on long pages. */
.page { min-height: 100vh; display: flex; flex-direction: column; }
.footer-year { margin-top: auto; padding-top: 80px; flex-shrink: 0; text-align: center; font-size: .85rem; }
.footer-year p { margin: 0; }
