*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--pc-ivory); color: var(--pc-ink); font: 400 1rem/1.6 var(--pc-sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .25em; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--pc-gold); outline-offset: 6px; }
[hidden] { display: none !important; }
.pc-container { width: min(100% - var(--pc-gutter) * 2, var(--pc-container)); margin-inline: auto; }
.pc-content { padding-block: 5rem; min-height: 60vh; overflow-wrap: anywhere; }
.pc-content h1 { font: italic 400 clamp(2.5rem, 5vw, 5rem)/1.1 var(--pc-serif); }
.pc-skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 100; padding: .75rem 1rem; color: var(--pc-night); background: var(--pc-ivory); transform: translateY(-200%); }
.pc-skip-link:focus { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
