/* Home Page only. The HTML link limits this stylesheet to the original mobile breakpoint: 720px. */
body {
  --mobile-gutter: var(--space-2);
  --mobile-header-height: 70px;
  --header-offset: calc(var(--mobile-header-height) + env(safe-area-inset-top, 0px) + var(--space-2));
  overflow-x: visible;
}
.container {
  --inset-start: max(var(--mobile-gutter), env(safe-area-inset-left, 0px));
  --inset-end: max(var(--mobile-gutter), env(safe-area-inset-right, 0px));
  width: calc(100% - var(--inset-start) - var(--inset-end));
  margin-left: var(--inset-start);
  margin-right: var(--inset-end);
}
.site-header { padding-top: env(safe-area-inset-top, 0px); }
.header-inner { height: var(--mobile-header-height); }
.brand { min-height: 44px; }
.footer-bottom { padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom, 0px)); }
body .live-chat:not(.is-open) { right: max(var(--space-2), env(safe-area-inset-right, 0px)); }
/* Wait for the existing hidden attribute so the launcher also stays clear during menu closing. */
body:has(.mobile-nav:not([hidden])) .live-chat:not(.is-open) { visibility: hidden; pointer-events: none; }
body .modal {
  --modal-inset-top: max(14px, env(safe-area-inset-top, 0px));
  --modal-inset-bottom: max(14px, env(safe-area-inset-bottom, 0px));
  padding: var(--modal-inset-top) max(14px, env(safe-area-inset-right, 0px)) var(--modal-inset-bottom) max(14px, env(safe-area-inset-left, 0px));
}
body .modal-dialog { max-height: min(760px, calc(100dvh - var(--modal-inset-top) - var(--modal-inset-bottom))); }
.mobile-nav {
  position: absolute;
  top: 100%;
  inset-inline: 0;
  max-height: calc(100dvh - var(--mobile-header-height) - env(safe-area-inset-top, 0px));
}
.mobile-nav.is-open .mobile-nav-inner {
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: max(var(--space-3), env(safe-area-inset-bottom, 0px));
}
.section, #working-terms { padding: var(--space-6) 0; }
#workflow { padding-bottom: var(--space-6); }
.hero-grid { gap: var(--space-4); }
.hero { padding-bottom: var(--space-6); }
.hero-copy h1 { line-height: 1.06; }
.hero-copy .trust-row { display: grid; align-items: start; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.hero-copy .trust-row > span { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr); gap: var(--space-1); min-width: 0; }
.hero-copy .trust-row > span > svg { transform: none; }
.hero-copy .trust-row .trust-label { display: block; white-space: normal; font-size: clamp(12px, 3.33vw, 13px); line-height: 1.5; }
.trust-strip { padding: var(--space-4) 0; }
.section-heading { margin-bottom: var(--space-4); }
.section-heading h2, #working-terms .section-heading h2, .final-cta h2 { font-size: clamp(28px, 7.5vw, 32px); }
.workflow-grid { --step-size: 38px; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding: 0; }
.workflow-grid::before { display: none; }
.workflow-grid article { display: grid; grid-template-columns: var(--step-size) minmax(0, 1fr); gap: var(--space-1) var(--space-2); align-items: start; }
/* Connect adjacent markers without extending the line below the final step. */
.workflow-grid article:not(:last-child)::before { display: block; left: calc(var(--step-size) / 2); right: auto; top: var(--step-size); bottom: calc(-1 * var(--space-4)); width: 1px; height: auto; }
.workflow-grid .step { margin: 0; }
.workflow-grid h3 { display: flex; align-items: center; min-height: var(--step-size); margin: 0; }
.workflow-grid p { grid-column: 2; }
.card:first-child { padding-bottom: var(--space-4); }
.card:first-child h3 { font-size: 28px; }
#working-style { padding: var(--space-4) 0; }
.partner-visual-copy h2 { font-size: clamp(28px, 7.5vw, 32px); }
.partner-visual-points { gap: var(--space-1) var(--space-2); margin-top: var(--space-3); }
.final-cta { padding: var(--space-6) 0; }
.final-cta-inner { gap: var(--space-4); }
@media (max-width:480px) {
  body { --mobile-header-height: 66px; }
  /* Preserve 28px at 320px, grow continuously to 32px at 360px. */
  .hero-copy h1 { font-size: clamp(28px, calc(10vw - 4px), 32px); }
  .trust-metrics div > span { font-size: 12px; line-height: 1.5; }
  .proof-card { grid-template-columns: 44px minmax(0, 1fr); gap: var(--space-2); }
  .proof-card:first-child { grid-template-columns: 1fr; }
  .proof-mark { width: 44px; height: 44px; }
  .site-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
