@media (max-width: 1080px) {
  .staff-grid,
  .gamemode-grid,
  .gallery-page-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .split,
  .explore-panel,
  .profile-modal {
    grid-template-columns: 1fr;
  }

  .lightbox {
    grid-template-columns: 1fr;
  }

  .lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
  }

  .lightbox__nav--prev {
    left: 20px;
  }

  .lightbox__nav--next {
    right: 20px;
  }
}

@media (max-width: 980px) {
  body.has-top-promo {
    --promo-height: 22px;
  }

  .container {
    width: min(100% - 28px, var(--container));
  }

  .nav-toggle {
    display: block;
  }

  .nav-links {
    position: fixed;
    top: calc(76px + var(--promo-height));
    left: 14px;
    right: 14px;
    display: grid;
    gap: 8px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: rgba(8, 9, 13, 0.94);
    box-shadow: var(--shadow);
    transform: translateY(-12px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }

  .nav-links a {
    justify-content: flex-start;
  }

  .nav-links.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .nav-links a {
    padding: 13px 14px;
  }

  .hero,
  .page-hero {
    min-height: 660px;
  }

  .hero__content {
    padding: 78px 0 112px;
  }

  .hero h1,
  .page-hero h1 {
    font-size: clamp(1.95rem, 8vw, 2.95rem);
  }

  .page-hero h1 {
    font-size: clamp(1.95rem, 8vw, 2.85rem);
  }

  .section {
    padding: 72px 0;
  }

  .world-grid,
  .gallery-page-grid {
    grid-template-columns: 1fr;
  }

  .promo-topbar__ticker {
    padding-right: 28px;
  }

  .promo-topbar__close {
    right: 6px;
    width: 16px;
    height: 16px;
  }

  .explore-logo {
    width: 100%;
    min-height: 170px;
    justify-self: start;
  }

  .community-panel {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-main {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-brand-block {
    grid-column: 1 / -1;
  }

  .profile-modal__media {
    min-height: 280px;
  }

  .cookie-banner__inner {
    gap: 34px;
    padding: 18px 37px 20px;
  }

  .cookie-banner__actions {
    flex: 0 0 280px;
  }
}

@media (max-width: 560px) {
  body.has-top-promo {
    --promo-height: 21px;
  }

  .copy-banner {
    right: 8px;
    bottom: 8px;
    left: auto;
    width: min(420px, calc(100vw - 16px));
  }

  .copy-banner__card {
    padding: 14px;
  }

  .copy-banner__text {
    font-size: 0.9rem;
  }

  .cookie-banner__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 18px;
    padding: 16px 14px 18px;
    max-width: none;
  }

  .cookie-banner__copy h3 {
    font-size: 1rem;
  }

  .cookie-banner__copy p {
    font-size: 0.9rem;
  }

  .cookie-banner__actions {
    flex-direction: column;
    flex: 1 1 auto;
  }

  .cookie-banner__button {
    width: 100%;
  }

  .brand span {
    font-size: 0.95rem;
  }

  .staff-grid,
  .gamemode-grid,
  .gallery-page-grid,
  .feature-list,
  .profile-modal__info {
    grid-template-columns: 1fr;
  }

  .news-ticker.promo-topbar__ticker {
    height: var(--promo-height);
    padding-right: 26px;
    border-radius: 0;
  }

  .news-ticker__track {
    gap: 24px;
  }

  .news-ticker__track span {
    font-size: 0.88rem;
  }

  .promo-topbar__ticker .news-ticker__track {
    gap: 34px;
  }

  .promo-ticker__item {
    gap: 7px;
  }

  .promo-ticker__item strong,
  .promo-ticker__item b {
    min-height: 14px;
    padding: 0 6px;
    font-size: 0.8em;
  }

  .promo-topbar__close {
    right: 5px;
    width: 14px;
    height: 14px;
  }

  .hero {
    min-height: 620px;
  }

  .hero__content {
    padding: 62px 0 88px;
  }

  .hero h1 {
    font-size: clamp(1.85rem, 10vw, 2.55rem);
    line-height: 1.08;
  }

  .faq-question {
    min-height: 72px;
    padding: 20px 18px;
    font-size: 1rem;
  }

  .profile-modal__body,
  .profile-modal__media,
  .lightbox__frame {
    padding: 22px;
  }

  .lightbox__frame {
    min-height: 60vh;
  }

  .lightbox__frame img {
    max-height: calc(60vh - 70px);
  }

  .lightbox__nav {
    width: 46px;
    height: 46px;
  }

  .lightbox__nav--prev {
    left: 10px;
  }

  .lightbox__nav--next {
    right: 10px;
  }

  .faq-answer p {
    padding-inline: 18px;
    font-size: 0.95rem;
  }

  .faq-item.is-open .faq-answer p {
    padding-bottom: 22px;
  }

  .footer-main {
    grid-template-columns: 1fr;
  }

  .footer-bottom-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-brand {
    letter-spacing: 0.18em;
  }

  .rules-category summary {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .rules-category summary strong {
    margin-left: 0;
  }

  .hero__actions,
  .explore-actions {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .filter-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .loader__frame,
  .community-panel {
    padding: 22px;
  }

  .staff-card__skin {
    height: 180px;
  }

  .staff-card__skin img {
    max-height: 196px;
  }

  .hero__text,
  .page-hero p:not(.section-kicker) {
    font-size: 1rem;
  }
}
