/* The document already reserves 105px for the menu; avoid a second offset. */
#main > section[id] { scroll-margin-top: 0; }
#faq .faq-layout h2 { margin-top: 0; }
body > footer { margin-inline: auto; }
.footer-main .logo-window { width: 204px; height: 32px; margin-left: -8px; }
.footer-main .logo-window img {
  width: 100%; height: auto; left: 0; top: 50%; transform: translateY(-50%);
}

/* Reduce the oversized introductory gaps while retaining paired sections. */
#esp-method.esp-hub > .section-inner { padding-top: 70px; }
#technology > .section-inner,
#support > .section-inner { padding-top: 80px; }
#progress.pt11-section > .section-inner { padding-top: 70px; }
#how-it-works .lx-heading,
#progress .pt11-heading,
#technology .lx-heading,
#support .lx-heading { margin-bottom: 52px; }
#how-it-works .lx-three-grid { border-top: 0; }
#how-it-works .lx-feature:first-child { padding-top: 0; }
#how-it-works .lx-feature:last-child { padding-bottom: 0; }

/* The tracker shares the How it works heading stack and bubble treatment. */
#progress .pt11-heading { max-width: 900px; padding: 0; }
#progress .pt11-heading h2 {
  font-size: clamp(42px, 4vw, 56px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -.048em;
}
#progress .pt11-heading > p {
  max-width: 590px;
  margin: 26px auto 0;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: normal;
  color: #546f6b;
}

@media (min-width: 821px) and (max-width: 1100px) {
  #support .lx-feature-copy h3 { min-height: 2.4em; }
}

@media (max-width: 820px) {
  #esp-method.esp-hub > .section-inner,
  #technology > .section-inner,
  #support > .section-inner,
  #progress.pt11-section > .section-inner { padding-top: 56px; }
  #how-it-works .lx-heading,
  #progress .pt11-heading,
  #technology .lx-heading,
  #support .lx-heading { margin-bottom: 40px; }
  #progress .pt11-heading h2 { font-size: 43px; }
  #progress .pt11-heading > p { font-size: 16px; }
  #how-it-works .lx-feature .lx-feature-copy {
    width: 100%;
    max-width: 582px;
    margin-inline: auto;
    padding-inline: 0;
  }
}

@media (min-width: 601px) and (max-width: 820px) {
  #clarity > .section-inner,
  #esp-method.esp-hub > .section-inner,
  #tracks.tracks13-section > .section-inner,
  body.roadmap10-review #how-it-works > .section-inner,
  body.roadmap10-review #your-roadmap.rm10-section > .section-inner,
  #progress.pt11-section > .section-inner,
  #technology > .section-inner,
  #support > .section-inner,
  #faq > .section-inner,
  #waitlist > .section-inner {
    width: calc(100% - 64px);
    padding-inline: 0;
    border-inline: 0;
  }
  body > footer { width: 100%; padding-inline: 32px; }
}

@media (max-width: 600px) {
  body > footer { width: 100%; padding-inline: 22px; }
  .footer-main .logo-window { width: 178px; margin-left: -7px; }
  /* One shared content edge across the stacked mobile sections. */
  #clarity > .section-inner,
  #esp-method.esp-hub > .section-inner,
  #tracks.tracks13-section > .section-inner,
  body.roadmap10-review #how-it-works > .section-inner,
  body.roadmap10-review #your-roadmap.rm10-section > .section-inner,
  #progress.pt11-section > .section-inner,
  #technology > .section-inner,
  #support > .section-inner,
  #faq > .section-inner,
  #waitlist > .section-inner {
    width: calc(100% - 44px);
    padding-left: 0;
    padding-right: 0;
    border-left: 0;
    border-right: 0;
  }
  #esp-method.esp-hub > .section-inner,
  #tracks.tracks13-section > .section-inner,
  body.roadmap10-review #how-it-works > .section-inner,
  body.roadmap10-review #your-roadmap.rm10-section > .section-inner,
  #progress.pt11-section > .section-inner,
  #technology > .section-inner,
  #support > .section-inner { padding-top: 44px; }
  #how-it-works .lx-heading,
  #progress .pt11-heading,
  #technology .lx-heading,
  #support .lx-heading { margin-bottom: 36px; }
  #progress .pt11-heading h2 { font-size: clamp(32px, 9vw, 39px); line-height: 1.15; }
  #progress .pt11-heading > p { font-size: 15px; margin-top: 26px; }
  #how-it-works .lx-feature .lx-feature-copy { padding-inline: 0; }
}
