/* Phone sizing refinements. Desktop styling remains in the original files. */
@media (max-width: 680px) {
  .home-page, .inquiry-body { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
  .home-page .wrap, .inquiry-body .wrap { width: calc(100% - 32px); }
  .home-page img, .inquiry-body img, .detail-page img, .faq-page img { height: auto; }
  .home-page .brand__mark img, .inquiry-body .brand__mark img { height: 100%; }
  .home-page .team-card img { aspect-ratio: 4 / 5; object-fit: cover; }
  .home-page .section { padding-block: 48px; }
  .home-page .care-approach, .home-page .wellness-collection { padding-block: 40px; }
  .home-page .care-approach__mascots { width: min(100%, 300px); }
  .home-page .care-approach__mascots img { aspect-ratio: auto; object-fit: contain; }
  .home-page .hero.hero--lifestyle { min-height: 0; }
  .home-page .hero--lifestyle .hero__artwork { height: auto; aspect-ratio: auto; }
  .home-page .hero--lifestyle .hero__content { padding: 28px 0 32px; gap: 18px; }
  .home-page .hero--lifestyle h1 { font-size: clamp(32px, 9vw, 44px); line-height: 1.08; }
  .home-page .hero--lifestyle h1 em { margin: 0; font-size: 1em; }
  .home-page .hero--lifestyle .hero__copy { margin: 0; }
  .home-page .hero__actions { align-items: stretch; }
  .home-page .hero__actions .button { text-align: center; }
  .home-page .section-heading h2, .home-page .treatment-tabs__heading h2,
  .home-page .results__grid h2, .home-page .visit__content h2,
  .home-page .care-approach h2 { font-size: clamp(32px, 9vw, 44px); line-height: 1.1; }
  .home-page .section-heading { margin-bottom: 28px; }
  .home-page .brand-statement { padding-bottom: 0; }
  .home-page .brand-statement__words { margin-top: 32px; padding: 0 16px 32px; }
  .home-page .brand-statement__words span { margin-left: 0; font-size: clamp(36px, 12vw, 56px); line-height: .95; }
  .home-page .brand-statement__words em { font-size: clamp(28px, 8.5vw, 40px); line-height: 1.1; }
  .home-page .tab-panel { min-height: 0; padding: 26px 18px; gap: 22px; }
  .home-page .tab-panel h3 { font-size: clamp(30px, 8.5vw, 40px); line-height: 1.1; }
  .home-page .tab-panel > .button { white-space: normal; max-width: 100%; text-align: center; }
  .home-page .tab-list button { padding: 14px 8px; letter-spacing: .08em; }
  .home-page .service-card { min-height: 0; padding: 28px 22px; }
  .home-page .service-card h3 { font-size: clamp(30px, 8.5vw, 40px); line-height: 1.1; }
  .home-page #memberships { padding-block: 48px; }
  .home-page #memberships .section-heading h2 { font-size: clamp(32px, 9vw, 44px); }
  .home-page #memberships .membership-grid { max-width: none; }
  .home-page .care-approach__card { gap: 14px; padding: 18px 16px; }
  .home-page .care-approach__card h3 { font-size: clamp(23px, 6.5vw, 28px); }
  .home-page .wellness-collection__card { grid-template-columns: 72px minmax(0,1fr) 12px; gap: 10px; }
  .home-page .wellness-collection__thumb { height: 74px; }
  .home-page .wellness-collection__card strong { font-size: 21px; }
  .home-page .team-card p { font-size: 12px; line-height: 1.5; }
  .home-page .team-grid { gap: 0; }
  .home-page .app-luxury__inner { padding: 40px 16px 0; }
  .home-page .app-luxury__copy h2 { font-size: clamp(32px, 9vw, 44px); }
  .home-page .app-luxury__button { font-size: 18px; padding: 16px 20px; max-width: 100%; }
  .home-page .app-luxury__phone { height: clamp(300px, 100vw, 420px); width: calc(100% + 32px); margin: 24px -16px 0; }
  .home-page .visit__logo { width: min(70vw, 280px); }
  .home-page .final-cta { min-height: 0; padding-block: 64px; }
  .home-page .final-cta h2 { font-size: clamp(38px, 11vw, 52px); line-height: 1.08; }
  .home-page .button, .inquiry-body .button { max-width: 100%; white-space: normal; }
  .home-page .mobile-book, .inquiry-body .mobile-book { height: calc(60px + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px); }
  .home-page .site-nav, .inquiry-body .site-nav { max-height: calc(100dvh - 132px - env(safe-area-inset-bottom, 0px)); overflow-y: auto; visibility: hidden; pointer-events: none; }
  .home-page .site-nav.is-open, .inquiry-body .site-nav.is-open { visibility: visible; pointer-events: auto; }
  .home-page .menu-toggle, .inquiry-body .menu-toggle { min-width: 44px; min-height: 44px; align-content: center; }
  .inquiry-body .inquiry-page.lead-form { min-height: 0; padding-block: 28px 44px; }
  .inquiry-body .inquiry-page .lead-form__intro h1 { font-size: clamp(32px, 9vw, 42px); }
  .inquiry-body .inquiry-page__back { margin-bottom: 24px; }
  .inquiry-body .lead-form__embed { min-width: 0; min-height: 0; }
  .inquiry-body .inquiry-page .lead-form__embed iframe { max-width: 100%; }
  .detail-page { font-size: 16px; }
  .detail-page header, .detail-page main, .detail-page footer { padding-inline: 18px; }
  .detail-page header { gap: 16px; padding-block: 22px; }
  .detail-page nav { gap: 6px 18px; }
  .detail-page nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .detail-page .intro { padding-block: 24px; }
  .detail-page h1 { font-size: clamp(34px, 10vw, 44px); line-height: 1.12; margin-block: 18px; }
  .detail-page h2 { font-size: 30px; }
  .detail-page .card, .detail-page details { padding: 20px; }
  .detail-page .booking-help { padding: 22px; }
  .detail-page .button { max-width: 100%; text-align: center; }
  .faq-page h1 { font-size: clamp(36px, 10vw, 48px); line-height: 1.08; }
  .faq-page .site-nav { flex-wrap: wrap; gap: 8px 18px; }
  .faq-page .site-nav a { min-height: 44px; }
  .faq-page .brand { font-size: clamp(19px, 5.5vw, 24px); }
  .faq-page .book { padding-inline: 18px; font-size: 16px; }
  .faq-page .contact-card p { font-size: 20px; }
  .faq-page .contact-card a { font-size: 18px; }
  .detail-page :is(h1,h2,h3,p,a), .faq-page :is(h1,h2,h3,p,a),
  .home-page :is(h1,h2,h3,p,a), .inquiry-body :is(h1,h2,h3,p,a) { overflow-wrap: break-word; }
}
