body {
  font-family: var(--f-body);
  font-size: var(--fs-body);
  background: var(--c-sky-dark);
  color: var(--c-cream);
  background-image:
    repeating-radial-gradient(circle at 0 0, transparent 0, rgba(0,0,0,0.02) 2px, transparent 4px),
    radial-gradient(ellipse at top, var(--c-sky-mid), var(--c-sky-dark));
  background-attachment: fixed;
  cursor: url("../assets/sprites/cursor-pick.png") 8 8, auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

a, button, .btn, .ticket-btn, .song-secret {
  cursor: url("../assets/sprites/cursor-pick.png") 8 8, pointer;
}

h1, h2, h3 {
  font-family: var(--f-display);
  color: var(--c-cream);
  text-shadow: 4px 4px 0 var(--c-burgundy), 6px 8px 0 var(--c-ink);
  line-height: 1.05;
}

h1 { font-size: var(--fs-hero); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

p { margin-bottom: var(--s-sm); max-width: 65ch; }

a:focus-visible, button:focus-visible {
  outline: 3px dashed var(--c-orange);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
