@media (max-width: 640px) {
  .hero-copy { text-align: center; }

  .hero h1 {
    margin-left: auto;
    margin-right: auto;
    font-size: clamp(42px, 12.5vw, 54px);
  }

  .play-button {
    display: flex;
    width: fit-content;
    margin: 24px auto 0;
  }

  .phone-stage {
    height: 510px;
    min-height: 0;
    place-items: start center;
    overflow: hidden;
  }

  .phone {
    transform: translateY(18px) scale(.76);
    transform-origin: center top;
  }

  .about-grid {
    gap: 28px;
    text-align: center;
  }

  .about-copy p {
    margin-left: auto;
    margin-right: auto;
  }

  .about-mark {
    order: -1;
    justify-content: center;
  }

  .about-mark img { width: 84px; }

  .footer-brand {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 55px;
    align-items: center;
    text-align: left;
  }

  .footer-brand p { margin: 0; }
  .footer-bottom { text-align: center; }

  .publisher-hero {
    min-height: 100svh;
    padding: 96px 0 48px;
    display: grid;
    align-items: center;
  }
  .publisher-hero-inner {
    grid-template-columns: 1fr;
    gap: 38px;
    text-align: center;
  }
  .publisher-mark { width: 96px; margin: 0 auto; }
  .publisher-hero h1 { font-size: clamp(50px, 16vw, 68px); }
  .publisher-tagline { font-size: 21px; }
  .publisher-intro { margin-left: auto; margin-right: auto; font-size: 15px; }
  .products-section { padding: 64px 0 70px; }
  .product-card { grid-template-columns: 1fr; gap: 0; padding: 28px 24px; }
}
