/* Site-wide phone polish — readable type, no horizontal spill, balanced chrome */

@media (max-width: 600px) {
  html,
  body {
    overflow-x: hidden;
    max-width: 100%;
  }

  body {
    padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px));
  }

  /* Nav: scroll instead of clipping off-screen */
  nav .nav-links,
  body.page-home-unified .nav-links {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  nav .nav-links::-webkit-scrollbar,
  body.page-home-unified .nav-links::-webkit-scrollbar {
    display: none;
  }

  nav .nav-links a,
  body.page-home-unified .nav-links a {
    font-size: 10px;
    letter-spacing: 0.2px;
    white-space: nowrap;
    flex-shrink: 0;
  }

  /* Minimum readable micro-labels */
  .stat-label,
  .fab-call-label,
  .fab-callback-label {
    font-size: 10px !important;
    line-height: 1.25;
    overflow-wrap: break-word;
  }

  .fab-call-number {
    font-size: 13px !important;
    letter-spacing: 0.3px;
  }

  .fab-callback-title {
    font-size: 13px !important;
  }

  /* Service / content blocks */
  .service-desc,
  .service-card .service-desc {
    font-size: clamp(12px, 3.2vw, 14px);
    line-height: 1.45;
    overflow-wrap: break-word;
  }

  .service-name,
  .section-title {
    overflow-wrap: break-word;
    hyphens: auto;
  }

  .section-inner {
    min-width: 0;
  }

  /* Homepage sections: scroll inside viewport instead of clipping */
  body.page-home-unified .section-screen {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    justify-content: flex-start;
    padding-top: calc(var(--nav-h) + 12px);
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }

  body.page-home-unified .section-screen > .section-inner {
    padding-bottom: 8px;
  }

  body.page-home-unified .home-hero-stack {
    overflow-x: hidden;
  }

  body.page-home-unified .home-hero-stack .hero {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.page-home-unified .home-hero-stack .hero-phone-number {
    font-size: clamp(20px, 5.8vw, 30px);
    max-width: 100%;
  }

  body.page-home-unified .home-hero-stack .stat-label {
    font-size: 10px;
    letter-spacing: 0.35px;
  }

  body.page-home-unified .home-hero-stack .stat-num {
    font-size: clamp(20px, 5.5vw, 26px);
  }

  body.page-home-unified .services-grid,
  body.page-home-unified .why-grid,
  body.page-home-unified .faq-list {
    gap: 12px;
  }
}
