/* Technical quality layer. It intentionally does not change the visual design. */
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  padding: 10px 14px;
  border: 1px solid #c9a030;
  border-radius: 6px;
  background: #141818;
  color: #e8dfd0;
  font: 500 14px/1.2 var(--sans, sans-serif);
  transform: translateY(-160%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid #e5c552;
  outline-offset: 3px;
}

.modal-overlay[aria-hidden="true"] { visibility: hidden; }
.modal-overlay.is-open { visibility: visible; overscroll-behavior: contain; }
.form-status {
  min-height: 1.4em;
  margin: 4px 0 0;
  color: var(--ink-mute, #a7a7a1);
  font: 400 13px/1.4 var(--sans, sans-serif);
}
.form-status:empty { display: none; }
.form-status.is-error { color: #e7a28a; }
.faq-a[aria-hidden="true"] { visibility: hidden; }
.faq-item.is-open .faq-a { visibility: visible; }

@media (max-width: 639px) {
  .cookie-bar {
    bottom: calc(max(1rem, 16px) + env(safe-area-inset-bottom));
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
