.skip-link { position: absolute; left: 16px; top: 8px; z-index: 1100; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
[hidden] { display: none !important; }
main [id] { scroll-margin-top: 90px; }
.home-hero__media img { display: block; }
.home-gameplay__figure img { object-position: 70% 64%; }
.article { padding-block: var(--space-8) var(--space-9); }
.article__body { max-width: var(--container-prose-max); }
.article__intro p { font-size: var(--text-body-large-size); line-height: 1.6; }
.article__body section + section { margin-top: var(--space-8); }
.article__body section h3 { margin-top: var(--space-5); }
.article__body img { display: block; width: 100%; max-height: 400px; object-fit: cover; border-radius: var(--radius-3); }
.article__body figcaption { margin-top: var(--space-2); }
.article__body table { width: 100%; }
.article__next { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.table-scroll { overflow-x: auto; }
.contact-hero { text-align: center; padding-block: var(--space-8) var(--space-6); }
.contact-section { padding-block: var(--space-6); }
.contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr)); gap: var(--space-4); }
.contact-form { display: grid; gap: var(--space-4); }
.contact-form label { display: grid; gap: var(--space-2); }
.contact-form textarea { min-height: 145px; resize: vertical; }
.contact-form button { justify-self: start; }
.contact-faq details { padding: var(--space-4) 0; border-bottom: 1px solid var(--color-border); }
.contact-faq summary { cursor: pointer; font-weight: 600; }
.contact-faq details p { margin: var(--space-3) 0 0; }
.contact-cta { text-align: center; padding-block: var(--space-7) var(--space-9); }
.cookie-settings { margin-top: var(--space-4); }
@media (max-width: 767px) {
  .article, .contact-hero { padding-top: var(--space-7); }
  .site-header__nav { top: 60px; z-index: 1002; }
  .consent-banner__actions { flex-wrap: wrap; }
}
