/* Accessibility — WCAG 2.1 AA helpers */

.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 10000;
  padding: 0.75rem 1.25rem;
  background: var(--gold);
  color: var(--black);
  font-weight: 700;
  border-radius: var(--radius-sm);
  text-decoration: none;
}

.skip-link:focus {
  top: 1rem;
  outline: 3px solid #fff;
  outline-offset: 2px;
}

:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.site-compliance {
  background: var(--bg-elevated);
  border-top: 1px solid var(--border);
  padding: 1.25rem 0;
}

.site-compliance__inner p {
  margin: 0 0 0.75rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.site-compliance__inner p:last-child { margin-bottom: 0; }

.site-compliance strong { color: var(--text); font-weight: 600; }

.legal-content {
  max-width: 720px;
}

.legal-content h2 {
  font-size: 1.25rem;
  color: var(--gold);
  margin-top: 2rem;
}

.legal-content h2:first-child { margin-top: 0; }

.legal-content ul {
  list-style: disc;
  padding-left: 1.35rem;
  margin: 0 0 1rem;
}

.legal-content li { margin-bottom: 0.35rem; }

.site-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer__links li { margin-bottom: 0.45rem; }

.site-footer__text { color: var(--text-muted); margin: 0; }

.site-footer__muted { font-size: 0.85em; }

.nav-drawer[aria-hidden="true"] {
  visibility: hidden;
  pointer-events: none;
}

.nav-drawer:not(.is-open) {
  visibility: hidden;
  pointer-events: none;
}

.form-field input:invalid:not(:placeholder-shown),
.form-field textarea:invalid:not(:placeholder-shown) {
  border-color: #e74c3c;
}

.form-error {
  color: #f87171;
  font-size: 0.88rem;
  margin-top: 0.35rem;
}

.form-success {
  color: #86efac;
  font-size: 0.95rem;
  margin-top: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (pointer: fine) {
  a:not(.btn):hover { text-decoration: underline; }
}
