:root {
  --page-gutter: clamp(1rem, 3vw, 1.75rem);
  --section-space: clamp(3.25rem, 7vw, 4.5rem);
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

img {
  display: block;
  max-width: 100%;
}

section[id],
.section[id],
.page-header[id] {
  scroll-margin-top: 5.75rem;
}

.nav-inner,
.hero,
.section,
.focus-banner,
.content,
.page-header,
.footer,
.divider {
  max-width: 1080px;
  padding-left: var(--page-gutter) !important;
  padding-right: var(--page-gutter) !important;
}

.nav-inner {
  gap: 1rem;
}

.nav-links {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.nav-links a,
.nav-cta,
.btn,
.resource-link,
.page-nav a,
.cov-tag,
.tag,
.chip,
.top-badge {
  min-width: 0;
  white-space: normal;
}

.nav-links.open {
  box-shadow: 0 18px 36px rgba(26, 26, 46, 0.08);
  max-height: calc(100vh - 4.5rem);
  overflow-y: auto;
  padding-bottom: calc(1rem + env(safe-area-inset-bottom));
}

.hero-sub,
.section-desc,
.page-sub,
.proof-quote,
.script-note,
.card-desc,
.pt-why,
.footer-detail,
p,
.cust-type,
.cust-source,
.fun-text,
.value {
  overflow-wrap: anywhere;
}

.hero h1,
.section-title,
.page-header h1,
.focus-headline,
.script-text,
.quote,
.cust-name,
.pt-title {
  text-wrap: balance;
}

.focus-inner {
  align-items: flex-start;
}

.focus-text {
  max-width: 34rem;
}

.proof-stat-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100%;
}

.recent-clients-grid > div,
.photo-row > div,
.about-text,
.profile-info,
.cust-info,
.partner-text {
  min-width: 0;
}

.footer-actions {
  align-items: stretch;
}

.footer-actions .btn {
  justify-content: center;
}

@media (max-width: 900px) {
  .hero {
    padding-top: 7rem !important;
    padding-bottom: 3.25rem !important;
  }

  .section,
  .content {
    padding-bottom: var(--section-space) !important;
  }

  .section {
    padding-top: var(--section-space) !important;
  }

  .hero-grid,
  .profile-hero,
  .about-grid {
    grid-template-columns: 1fr !important;
    gap: 1.75rem !important;
  }

  .hero-photo {
    width: min(280px, 60vw) !important;
    height: auto !important;
    margin-inline: auto;
    aspect-ratio: 1 / 1;
  }

  .profile-photo {
    max-width: min(360px, 100%);
    margin-inline: auto;
  }

  .focus-inner {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-nav {
    flex-direction: column;
    align-items: stretch !important;
    gap: 0.75rem;
  }

  .page-nav a {
    justify-content: center;
    text-align: center;
    width: 100%;
  }

  .footer-inner {
    flex-direction: column;
  }

  .footer-actions {
    width: 100%;
  }

  .footer-actions .btn {
    flex: 1 1 12rem;
  }

  .insurer-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  .insurer-divider {
    display: none !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .nav-links {
    display: flex !important;
    gap: 1rem !important;
  }

  .nav-links a {
    font-size: 0.82rem !important;
  }

  .mobile-menu-btn {
    display: none !important;
  }

  .trigger-grid,
  .proof-grid,
  .resource-row,
  .card-grid,
  .partner-grid,
  .gains-card-grid,
  .commit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .steps-row,
  .fun-grid,
  .recent-clients-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .nav-inner {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }

  .nav-links {
    display: none;
  }

  .mobile-menu-btn {
    display: flex !important;
  }

  .nav-links.open {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem var(--page-gutter) calc(1rem + env(safe-area-inset-bottom));
  }

  .nav-links.open a,
  .nav-links.open .nav-cta {
    width: 100%;
  }

  .hero {
    padding-top: 6.25rem !important;
  }

  .hero-grid,
  .profile-hero {
    gap: 1.25rem !important;
  }

  .hero-sub,
  .page-sub,
  .section-desc {
    font-size: 1rem !important;
  }

  .hero-ctas {
    flex-direction: column;
  }

  .hero-ctas .btn {
    justify-content: center;
    width: 100%;
  }

  .footer-actions {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: flex-start;
  }

  .footer-actions .btn {
    justify-content: center;
    width: auto;
    flex: 0 1 auto;
    min-height: 44px;
    padding: 0.65rem 0.95rem;
    font-size: 0.82rem;
  }

  .focus-inner,
  .script-card,
  .highlight-card,
  .vision-card,
  .recent-clients-card {
    padding: 1.25rem !important;
  }

  .trigger-grid,
  .proof-grid,
  .steps-row,
  .resource-row,
  .card-grid,
  .fun-grid,
  .partner-grid,
  .commit-grid,
  .gains-card-grid,
  .pattern-grid,
  .about-stats,
  .summary-banner,
  .recent-clients-grid {
    grid-template-columns: 1fr !important;
  }

  .insurer-strip {
    grid-template-columns: 1fr !important;
    padding: 1rem !important;
  }

  .info-list li {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.2rem !important;
  }

  .info-list .label {
    min-width: 0 !important;
  }

  .photo-row {
    grid-template-columns: 1fr !important;
  }

  .customer-card {
    grid-template-columns: 2.25rem 1fr !important;
    gap: 0.75rem !important;
    padding: 1rem !important;
  }

  .cust-source {
    grid-column: 1 / -1 !important;
    justify-content: flex-start;
    margin-top: 0.25rem !important;
    text-align: left !important;
  }

  .partner-card {
    align-items: flex-start !important;
    gap: 0.8rem !important;
  }

  .partner-icon {
    width: 2.5rem !important;
    height: 2.5rem !important;
  }

  .cust-coverage,
  .credential-chips {
    gap: 0.45rem !important;
  }

  .proof-card,
  .card,
  .trigger-card,
  .resource-link {
    padding: 1.1rem !important;
  }

  .proof-stat-card {
    padding: 1.5rem !important;
  }

  .breadcrumb {
    font-size: 0.75rem !important;
  }
}
