@media (max-width: 960px) {
  .roadmap-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  section { padding: 60px 0; }

  .site-nav { display: none; }
  .nav-toggle { display: flex; }

  .gallery-grid { gap: 8px; grid-template-columns: repeat(3, 1fr); max-width: 100%; }
  .character-card { padding: 8px 6px 8px; }
  .character-card .char-name { font-size: 10px; margin-top: 6px; }
  .character-card .char-hint { display: none; }

  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }

  .footer-inner { justify-content: center; text-align: center; }
}

@media (max-width: 520px) {
  .contract-box { flex-wrap: wrap; }
  .contract-box code { width: 100%; }
}
