@media (max-width: 700px) {
  main {
    width: 100%;
    padding: 1.25rem 0;
  }

  .hero,
  .about,
  .contact {
    margin-inline: 1rem;
  }

  .links {
    gap: 0.6rem;
  }

  .link-item {
    font-size: 1rem;
    padding: 0.45rem 0.8rem;
  }

  .gallery {
    height: 45vh;
    max-height: 340px;
  }

  .gallery-wrap::before,
  .gallery-wrap::after {
    display: none;
  }

  .art-card img {
    max-height: 45vh;
  }

  .scroll-track {
    width: 90vw;
    margin-top: 16px;
  }

  /* music mobile */
  .music-widget {
    width: calc(100vw - 2rem);
    max-width: calc(100vw - 2rem);
    gap: 0.3rem;
    overflow: visible;
  }

  .music-info {
    width: calc(100vw - 8.25rem);
    min-width: 0;
    flex: 0 1 auto;
    overflow: hidden;
  }

  .music-row {
    width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .music-progress-row {
    width: 100%;
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 0.2rem;
  }

  .now-playing-text,
  .up-next-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .now-playing-text {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 1.05rem;
  }

  .up-next-text {
    flex: 0 1 35%;
    min-width: 0;
    font-size: 0.9rem;
  }

  .music-progress {
    flex: 1 1 0;
    min-width: 0;
  }

  .now-playing-time {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.72rem;
  }

  .shuffle-btn,
  .music-disc {
    flex-shrink: 0;
  }
}