h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: 1rem; left: 1rem; z-index: 100; padding: .75rem 1rem; background: #1E84B5; color: white; border-radius: 8px; font-weight: 600; outline: 2px solid white; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.16,1,.3,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.photo-grade { filter: saturate(.92) contrast(1.02); }
summary::-webkit-details-marker { display: none; }
dialog::backdrop { background: rgb(14 56 76 / .75); backdrop-filter: blur(8px); }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
}
