/* 官網共用響應式（原 deploy 包缺此檔，子頁引用） */
img,
svg,
video {
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

@media (max-width: 1024px) {
  nav {
    padding: 0 24px;
  }

  .container,
  .pain-inner,
  .stats-inner,
  .testimonials-inner,
  .posts-section,
  .featured-post,
  .newsletter-section,
  .faq-inner,
  #hero {
    padding-left: 24px;
    padding-right: 24px;
  }

  .page-hero {
    padding-left: 24px;
    padding-right: 24px;
  }

  .hero-top {
    grid-template-columns: 1fr;
  }

  .pricing-grid,
  .posts-grid,
  .testimonials-grid,
  .stats-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .featured-card,
  .newsletter-inner,
  .case-card,
  .case-card.reverse,
  .feature-section,
  .feature-section.reverse {
    grid-template-columns: 1fr !important;
  }

  .case-card.reverse .case-visual {
    order: 0;
  }

  .case-card.reverse .case-content {
    order: 1;
  }

  .comp-table {
    min-width: 760px;
  }

  .comparison-section {
    overflow-x: auto;
  }
}

@media (max-width: 768px) {
  nav {
    flex-wrap: wrap;
    height: auto;
    min-height: 64px;
    padding: 12px 16px;
    gap: 12px;
  }

  .nav-links {
    order: 3;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
  }

  .nav-cta {
    margin-left: auto;
  }

  .hero-title {
    font-size: clamp(36px, 10vw, 52px);
  }

  .hero-slogan {
    font-size: clamp(22px, 6vw, 32px);
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px;
  }

  .pricing-grid,
  .posts-grid,
  .testimonials-grid,
  .stats-inner,
  .form-row,
  .hero-top {
    grid-template-columns: 1fr !important;
  }

  .page-hero,
  .blog-hero,
  .pricing-section,
  .comparison-section,
  .cases-section,
  .demo-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .page-hero h1,
  .blog-hero h1 {
    font-size: clamp(34px, 11vw, 52px) !important;
  }

  .hero-desc {
    padding: 18px !important;
  }

  .hero-cta-group,
  .nl-form,
  .newsletter-form,
  .footer-simple,
  .footer-simple-links,
  .footer-bottom {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .btn-primary,
  .btn-outline,
  .btn-teal,
  .btn-outline-white,
  .plan-cta,
  .form-submit {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .feature-visual,
  .case-visual,
  .featured-visual {
    min-height: 220px;
  }
}

@media (max-width: 480px) {
  nav {
    align-items: flex-start;
  }

  .nav-logo {
    max-width: calc(100% - 132px);
  }

  .nav-links a {
    padding: 6px 10px;
    font-size: 13px;
  }

  .nav-cta {
    padding: 7px 14px;
    font-size: 13px;
  }

  #hero {
    padding-top: 112px;
  }
}
