/* v055: smartphone layout hard fix after actual iPhone check */
html { -webkit-text-size-adjust: 100%; }
html, body { max-width: 100%; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, video, svg { max-width: 100%; height: auto; }

@media (max-width: 900px) {
  .container {
    width: min(100% - 32px, var(--max, 1120px)) !important;
    max-width: none !important;
  }

  .inheritance-onepage .inheritance-hero,
  .inheritance-onepage .inheritance-reading-block,
  .inheritance-onepage .inheritance-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .inheritance-onepage .inheritance-hero-grid,
  .inheritance-onepage .inheritance-two-col,
  .inheritance-onepage .inheritance-cta-inner,
  .inheritance-onepage .inheritance-contact-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .inheritance-onepage .inheritance-choice-grid,
  .inheritance-onepage .inheritance-route-grid,
  .inheritance-onepage .inheritance-card-grid,
  .inheritance-onepage .inheritance-anchor-grid,
  .inheritance-onepage .inheritance-point-grid,
  .inheritance-onepage .inheritance-doc-grid,
  .inheritance-onepage .inheritance-common-nav-grid,
  .inheritance-onepage .next-guide-grid,
  .inheritance-choice-grid,
  .inheritance-route-grid,
  .inheritance-card-grid,
  .inheritance-anchor-grid,
  .inheritance-point-grid,
  .inheritance-doc-grid,
  .inheritance-common-nav-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .inheritance-onepage .inheritance-choice-card,
  .inheritance-onepage .inheritance-primary-card,
  .inheritance-onepage .inheritance-card-grid article,
  .inheritance-onepage .inheritance-soft-box,
  .inheritance-onepage .inheritance-hero-card,
  .inheritance-onepage .inheritance-page-note,
  .inheritance-onepage .inheritance-final-cta,
  .inheritance-choice-card,
  .inheritance-primary-card {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .inheritance-onepage .inheritance-choice-card,
  .inheritance-onepage .inheritance-primary-card,
  .inheritance-choice-card,
  .inheritance-primary-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .inheritance-onepage h1 {
    font-size: clamp(40px, 12vw, 56px) !important;
    line-height: 1.16 !important;
    letter-spacing: .02em !important;
  }

  .inheritance-onepage h2 {
    font-size: clamp(25px, 7vw, 34px) !important;
    line-height: 1.45 !important;
  }

  .inheritance-onepage p,
  .inheritance-onepage li {
    font-size: 16px !important;
    line-height: 1.95 !important;
  }

  .inheritance-onepage .inheritance-reading-block {
    padding: 34px 0 !important;
  }

  .inheritance-onepage .inheritance-final-cta {
    margin-top: 28px !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }

  .inheritance-onepage .inheritance-final-cta .tel-final,
  .inheritance-onepage a[href^="tel:"] {
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .inheritance-onepage .inheritance-mini-links a {
    display: block !important;
    margin: 8px 0 !important;
  }
}

@media (max-width: 640px) {
  .site-header .header-inner { min-width: 0 !important; }
  .logo strong { font-size: 15px !important; }
  .inheritance-onepage .breadcrumb {
    font-size: 13px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .inheritance-onepage .lead { font-size: 16px !important; }
  .inheritance-onepage .inheritance-hero-card,
  .inheritance-onepage .inheritance-soft-box { padding: 18px !important; }
}