/* ===== RESPONSIVE ===== */

@media (max-width: 1024px) {
  .about__desc { white-space: normal; font-size: 13px; }
}

@media (max-width: 900px) {
  .hero__stats { flex-direction: column; flex-wrap: wrap; gap: 24px; }
  .hero__catchcopy { white-space: normal; text-align: center; }

  .pricing__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }
  .plan-card > .btn-plan { display: block; }
  .btn-plan--full { display: none; }

  .problem__card {
    flex-direction: column;
    margin-left: -20px;
    margin-right: -20px;
  }
  .problem__photo {
    display: none;
  }
  .problem__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 12px;
    padding: 24px 16px;
  }
  .problem-item__circle {
    width: min(170px, 47vw);
    height: min(170px, 47vw);
    padding: 12px;
    gap: 5px;
    overflow: hidden;
  }
  .problem-item__circle img {
    width: 33%;
    flex-shrink: 0;
  }
  .problem-item__text {
    font-size: 3.2vw;
    line-height: 1.55;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
  }
  .problem-item__text br { display: none; }
}

@media (max-width: 768px) {
  .hero__catchcopy { white-space: normal; text-align: center; }

  .problem__grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 16px;
  }
  .problem-item__circle { width: 110px; height: 110px; }

  .about__logo { flex-direction: column; }
  .recommend-box__content { flex-direction: column; align-items: center; }
  .recommend-box__image { display: none; }
  .recommend-box__list { flex-direction: column; gap: 0; }

  .feature-item,
  .feature-item--reverse {
    flex-direction: column;
  }
  .feature-item__image { width: 100%; }
  .feature-num { top: -30px; font-size: 60px; }

  .voice-card {
    flex-direction: column;
    padding: 24px 20px 24px 32px;
    gap: 20px;
  }
  .voice-card__image {
    width: 100%;
    height: 180px;
  }

  .steps__list { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }

  .pc-only { display: none; }
  .section-label { font-size: 28px; }
  .footer-cta__sub { font-size: 14px; white-space: nowrap; }
  .footer-cta__title { font-size: 22px; white-space: normal; }
}

@media (max-width: 480px) {
  .hero__container { padding: 40px 20px 60px; }
  .hero__heading { margin-bottom: 4px; }
  .hero__sub { margin-bottom: 8px; }
  .hero__title-gold { font-size: 48px; }
  .hero__title-normal { font-size: 30px; }
  .hero__sub { font-size: 18px; }

  .problem__grid { grid-template-columns: repeat(2, 1fr); }
  .problem-item__circle { width: 100px; height: 100px; }
  .problem-item__circle svg { width: 50px; height: 50px; }
  .problem-item__text { font-size: 12px; }

  .badge-circle { width: 110px; height: 110px; }
  .badge-circle__value { font-size: 28px; }
  .badge-circle__unit { font-size: 20px; }

  .btn-gold, .btn-line { font-size: 16px; height: 80px; }
  .btn-gold__badge { font-size: 11px; }
}
