/* Shared small-screen corrections. Loaded after each page's own styles. */
@media (max-width: 1100px) {
  body.menu-open .site-header { position: fixed; inset: 0 0 auto; z-index: 60; }
  body.menu-open .mobile-menu {
    position: fixed;
    top: 76px;
    bottom: 0;
    max-height: calc(100vh - 76px);
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
  }
  body.menu-open .mobile-cta-dock { display: none; }
  .menu-toggle { width: 44px; height: 44px; flex-shrink: 0; }
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(1) { transform: translateY(6px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-of-type(3) { transform: translateY(-6px) rotate(-45deg); }
}
@media (max-width: 600px) {
  .wrap { width: calc(100% - 36px); }
  .section, .guide-section, .personal-frequency, .assessment-action,
  .baseball-approach, .baseball-contact, .baseball-trial { padding-top: 52px; padding-bottom: 52px; }
  .page-hero, .personal-hero, .assessment-hero, .baseball-hero,
  .guide-hero, .inquiry-hero { padding-top: 48px; padding-bottom: 40px; }
  .start-section { padding-top: 52px; padding-bottom: 52px; }
  .baseball-schedule, .baseball-measure, .baseball-coach, .baseball-price { padding-top: 52px; }
  .section .wrap > *, .split > *, .price-grid > *, .guide-list li > * { min-width: 0; }
  .eyebrow { font-size: 10px; letter-spacing: .09em; overflow-wrap: anywhere; }
  h2 { font-size: clamp(26px, 7vw, 32px); line-height: 1.45; }
  .lead { font-size: 16px; line-height: 1.85; }
  .button { min-height: 48px; padding: 13px 16px; gap: 8px; line-height: 1.6; white-space: normal; }
  .text-link { max-width: 100%; line-height: 1.8; }
  .hero.hero--bright { min-height: 0; padding: 52px 0 48px; }
  .hero--bright .hero-copy { width: calc(100% - 36px); padding-left: 16px; }
  .hero--bright h1 { margin-top: 12px; font-size: clamp(38px, 10.5vw, 48px); }
  .hero--bright .hero-copy > p { font-size: 16px; line-height: 1.9; margin: 22px 0; }
  .hero--bright .actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; }
  .hero--bright .actions .button { width: 100%; }
  .hero--bright .hero-booking-note { max-width: none; margin-top: 18px !important; font-size: 12px !important; }
  .wrap.assessment { padding: 28px 22px; gap: 24px; background: #fff; border: 1px solid var(--line); }
  .assessment h2 { margin-top: 12px; font-size: clamp(24px, 6.6vw, 30px); }
  .assessment > div > p { margin-top: 16px; font-size: 15px; line-height: 1.9; }
  .assessment .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-bottom: 20px; font-size: clamp(26px, 7.5vw, 32px); line-height: 1.4; }
  .assessment .price small { display: inline; margin: 0; font-size: 12px; white-space: nowrap; }
  .assessment .button { width: 100%; }
  .assessment .assessment-detail { margin-top: 18px; font-size: 12px; }
  .contact-panel, .personal-special, .recovery-pricing,
  .personal-frequency .wrap, .personal-next { padding: 26px 20px; }
  .continuation-grid article, .home-goals__grid > a, .route-card { padding: 24px 20px; }
  .continuation-review { gap: 12px; margin-top: 28px; padding: 24px 0; }
  .price-note { padding: 20px 18px; }
  .price-note p + p, .price-note h3 + p { margin-top: 14px; }
  .price-note ol { padding-left: 1.5em; }
  .price-note li + li { margin-top: 8px; }
  .personal-special__prices { flex-wrap: wrap; gap: 12px 20px; }
  .recovery-pricing__rates { grid-template-columns: 1fr; gap: 12px; }
  .price-table { margin-top: 20px; }
  .price-table th { letter-spacing: 0; }
  .contact-panel .button, .personal-booking__actions .button { width: 100%; }
  .access-list div { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .access-list dd, .inquiry-aside a { overflow-wrap: anywhere; }
  .method-hero, .about-hero { min-height: 460px; padding-top: 40px; padding-bottom: 40px; }
  .method-hero__copy { padding-bottom: 0; }
  .baseball-schedule__eligible, .method-heading span, .vald-heading span { white-space: normal; }
  .mobile-cta-dock { grid-template-columns: minmax(0, 1fr) 100px; }
  .mobile-booking, .mobile-line { min-height: 48px; white-space: normal; font-size: 11px; gap: 5px; line-height: 1.4; }
  .mobile-booking .cta-icon, .mobile-line .cta-icon { width: 14px; height: 14px; }
  body { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .hx-controls { flex-wrap: wrap; }
}
