/* Mobile polish layer for UMBRA2 */
@media (max-width: 760px) {
  html {
    scroll-padding-top: 118px;
  }

  body {
    overflow-x: hidden;
  }

  .site-header,
  .ranking-header,
  .download-header,
  .server-header,
  .news-header,
  .events-header,
  .support-header,
  .vote-header {
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    min-height: auto;
    padding: 12px 14px;
  }

  .brand,
  .ranking-brand {
    font-size: 20px;
  }

  .brand img,
  .brand-mark {
    width: 30px;
    height: 30px;
  }

  .header-cta,
  .header-action,
  .ranking-back {
    min-height: 38px;
    padding: 0 12px;
    font-size: 14px;
  }

  .main-nav,
  .ranking-nav,
  .site-nav {
    grid-column: 1 / -1;
    justify-self: stretch;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    padding: 6px;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .main-nav a,
  .ranking-nav a,
  .site-nav a {
    flex: 0 0 auto;
    padding: 9px 11px;
    font-size: 14px;
  }

  .hero,
  .download-hero,
  .vote-hero,
  .server-hero-card {
    min-height: auto;
    padding-top: 44px;
  }

  .hero h1,
  .download-hero h1,
  .vote-copy h1,
  .server-hero-card h1,
  .ranking-title,
  .section-copy h2 {
    font-size: clamp(2.8rem, 18vw, 4.6rem) !important;
    line-height: .9 !important;
    word-break: normal;
  }

  .hero p,
  .download-hero p,
  .vote-copy p,
  .server-hero-card p,
  .section-copy p {
    font-size: 16px !important;
  }

  .hero-actions,
  .download-actions,
  .vote-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .hero-actions a,
  .download-actions a,
  .vote-actions a,
  .primary-download,
  .secondary-download,
  .btn-primary,
  .btn-ghost,
  .server-primary,
  .server-secondary,
  .discord-link {
    width: 100%;
    min-height: 48px;
  }

  .stat-bar,
  .server-stat-grid,
  .download-steps,
  .vote-grid,
  .systems-grid,
  .dungeon-grid,
  .help-grid,
  .mini-grid,
  .ranking-grid,
  .cards-grid {
    grid-template-columns: 1fr !important;
  }

  .server-hero-card,
  .download-hero,
  .vote-hero,
  .rewards-wrap,
  .patcher-section,
  .server-roadmap,
  .server-rules-faq {
    grid-template-columns: 1fr !important;
  }

  .server-shell,
  .download-shell,
  .section-shell,
  .ranking-shell,
  .page-shell {
    width: min(100% - 28px, 1120px) !important;
  }

  .server-hero-card,
  .download-card,
  .vote-panel,
  .rewards-wrap,
  .patcher-section,
  .server-roadmap,
  .server-card,
  .vote-card,
  .download-steps article,
  .systems-grid article,
  .help-grid article {
    padding: 22px !important;
  }

  .reward-row,
  .patcher-grid article,
  .roadmap-list article {
    grid-template-columns: 1fr !important;
    flex-direction: column;
    align-items: flex-start;
  }

  .reward-row strong,
  .patcher-grid span {
    text-align: left !important;
  }

  .umbra-footer,
  .site-footer {
    grid-template-columns: 1fr !important;
    padding: 24px 16px !important;
  }

  .umbra-footer-links,
  .site-footer nav {
    justify-content: flex-start !important;
  }
}

@media (max-width: 420px) {
  .hero h1,
  .download-hero h1,
  .vote-copy h1,
  .server-hero-card h1,
  .ranking-title {
    font-size: clamp(2.45rem, 17vw, 3.7rem) !important;
  }

  .hero-kicker {
    font-size: 1.55rem !important;
  }
}