/* Compact, readable layouts shared by the English and Chinese mobile pages. */
@media (max-width: 620px) {
  body { font-size: 1rem; line-height: 1.6; }
  .wrap { width: calc(100% - 32px); }
  section, .contact { padding: 44px 0; }
  h2 { font-size: 1.875rem; line-height: 1.18; margin: 8px 0 22px; }
  .hero { min-height: 0; padding: 36px 0 40px; }
  .hero h1 { font-size: 2.5rem; line-height: 1.08; margin: 14px 0 18px; }
  html[lang="zh-Hant"] .hero h1 { font-size: 2rem; line-height: 1.3; }
  html[lang="zh-Hant"] h2 { font-size: 1.625rem; line-height: 1.35; }
  .hero p, .hero-copy > p { font-size: 1rem; line-height: 1.6; margin: 18px 0 22px; }
  .hero:has(.hero-grid), .hero:has(.hero-content) { padding: 0; }
  .hero-grid { min-height: 0; padding: 36px 0 118px; }
  .hero-content { padding: 36px 0 40px; }
  .hero .actions, .actions { flex-wrap: wrap; gap: 10px; margin-top: 20px; }
  .btn { min-height: 44px; padding: 0 16px; font-size: .875rem; letter-spacing: .035em; }
  .hero .btn { flex: 1 1 auto; }
  .trust, .tags { gap: 8px; margin-top: 22px; }
  .trust span, .tags span { font-size: .8125rem; letter-spacing: 0; padding: 5px 10px; }
  .badge { bottom: 22px; padding: 12px 18px; font-size: .875rem; }
  .eyebrow { font-size: .8125rem; letter-spacing: .08em; }
  .intro p.big, .lead { font-size: 1.5rem; line-height: 1.4; }
  html[lang="zh-Hant"] .lead { font-size: 1.25rem; line-height: 1.6; }
  .intro, .intro-grid, .split, .condition-grid, .faq-grid, .contact-grid { gap: 24px; }
  .section-head { margin-bottom: 24px; }
  .card { min-height: 0; padding: 22px; }
  .card h3 { font-size: 1.125rem; line-height: 1.35; margin: 18px 0 10px; }
  .card p, .person p, .staff p { font-size: 1rem; line-height: 1.6; }
  .card a { padding-top: 8px; }
  .method, .person, .staff, .fee, .notice { padding: 20px; }
  .method h3 { font-size: 1.125rem; margin: 0 0 12px; }
  .condition-list div { padding: 14px 18px; }
  .featured-team, .team-grid, .fee-grid, .image-grid { margin-top: 24px; }
  .leader, .director { min-height: 0; padding: 24px; }
  .leader h3, .director h3 { font-size: 2rem; line-height: 1.2; margin: 20px 0 8px; }
  .leader-role, .role, .staff span { font-size: .875rem; letter-spacing: .025em; }
  .leader p { margin: 16px 0; }
  .leader-focus, .focus { margin-top: 16px; padding-top: 14px; font-size: .9375rem; }
  .supporting-label, .other-team { margin-top: 30px; }
  .profile { padding: 24px 0; }
  .profile h3 { font-size: 1.875rem; line-height: 1.2; }
  .list div { padding: 12px 0; }
  .fee h3 { margin: 0 0 16px; }
  .row, .price-row { gap: 12px; padding: 10px 0; }
  .row b, .price-row b { white-space: nowrap; }
  .note { font-size: .875rem; line-height: 1.5; margin-top: 16px; }
  .faq details { padding: 14px 0; }
  .contact-info { padding-top: 20px; overflow-wrap: anywhere; }
  .contact-info a { font-size: 1rem; }
  .nav { min-height: 72px; height: auto; padding-block: 12px; gap: 10px; }
  .brand { font-size: .875rem; gap: 8px; letter-spacing: .02em; }
  .brand img { width: 40px !important; height: 40px !important; }
  .brand small { font-size: .625rem; }
  .links { gap: 10px; font-size: .875rem; }
  .links .btn { padding-inline: 10px; }
  .footer { padding: 22px 0 82px; }
}
