/* Small runtime overrides; all original design utilities are in style.css. */
[hidden] { display: none !important; }
.reveal { opacity: 1; transform: none; }
.reveal.will-reveal { opacity: 0; transform: translateY(24px); }
.reveal.will-reveal.is-in { opacity: 1; transform: none; }
.contact-field { width: 100%; border-bottom: 1px solid var(--border); background: transparent; padding: 1rem 0; font-size: 1.125rem; outline: none; transition: border-color .2s; }
.contact-field:focus { border-color: var(--foreground); }
.form-errors { max-width: 56rem; margin-bottom: 2rem; border-left: 3px solid var(--primary); padding: 1rem; background: var(--secondary); }
#mobile-menu { max-height: calc(100dvh - 5rem); overflow-y: auto; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal.will-reveal { opacity: 1; transform: none; }
}
