:root {
  --container-pad: 32px;
  --focus-ring: rgba(37, 99, 235, 0.65);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
}

a {
  color: inherit;
}

:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

.skip-link {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1000;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.92);
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.18);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
  transform: translateY(-160%);
  transition: transform 140ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.container {
  width: min(calc(100% - var(--container-pad)), var(--max, 1120px));
  margin: 0 auto;
}

.nav a[aria-current="page"] {
  border-color: rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.62);
}

.top a[aria-current="page"] {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
