/* Shared accessibility polish, inheriting each brand's own palette and typography. */
html { scrollbar-gutter: stable; scrollbar-color: var(--muted, #777) var(--paper, #f3f1ec); scrollbar-width: thin; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--paper, #f3f1ec); }
::-webkit-scrollbar-thumb { background: var(--muted, #777); border: 2px solid var(--paper, #f3f1ec); border-radius: 8px; }
button:not(:disabled), summary, a, select, input[type="checkbox"], input[type="radio"] { cursor: pointer; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.showcase-credit { text-underline-offset: 3px; }
.showcase-credit:hover { text-decoration: underline; }
.contact-form textarea, form[data-inactive] textarea { resize: none; }
.contact-form [aria-invalid="true"], form[data-inactive] [aria-invalid="true"] { outline: 2px solid currentColor; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media (forced-colors: active) { html { scrollbar-color: auto; } }
