/* Desktop stages fill the screen; shorter mobile stages follow their content. */
.home-funnel {
  --funnel-toolbar: 0px;
  --funnel-screen: calc(100vh - var(--header-height) - 1px - var(--funnel-toolbar));
  --funnel-space: clamp(40px, 7vh, 88px);
}
@supports (height: 100dvh) {
  .home-funnel { --funnel-screen: calc(100dvh - var(--header-height) - 1px - var(--funnel-toolbar)); }
}
.admin-bar .home-funnel { --funnel-toolbar: 32px; }
html:has(.home-funnel) { scroll-padding-top: calc(var(--header-height) + 1px); }
html:has(.admin-bar .home-funnel) { scroll-padding-top: calc(var(--header-height) + 33px); }
.home-funnel > [data-funnel-stage] {
  min-block-size: var(--funnel-screen);
  box-sizing: border-box;
}
.home-funnel > section[data-funnel-stage] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  padding-block: var(--funnel-space);
}
.home-funnel .intro-stage { display: flex; flex-direction: column; background: var(--navy); }
.home-funnel .intro-stage > .hero { display: flex; align-items: center; flex: 1 0 auto; }
.home-funnel .hero-copy { padding-block: clamp(32px, 6vh, 72px); }
.home-funnel .intro-stage > .benefits-band { flex: 0 0 auto; }
.home-funnel .section-heading { margin-bottom: clamp(30px, 5vh, 60px); }
.home-funnel .section-heading h2,
.home-funnel .about-copy h2,
.home-funnel .request-copy h2 { font-size: clamp(34px, 3.2vw, 48px); line-height: 1.16; }
.home-funnel .services-section .section-heading { max-width: 850px; }
.home-funnel > section.about-section[data-funnel-stage] { padding-block: 0; align-items: stretch; }
.home-funnel .about-grid { min-block-size: var(--funnel-screen); align-items: stretch; }
.home-funnel .about-copy { align-self: center; padding-block: var(--funnel-space); font-size: 16px; }
.home-funnel .about-media { min-height: 500px; }
.home-funnel .customers-preview .section-heading { margin-bottom: clamp(36px, 6vh, 72px); }
.home-funnel .customer-logo-grid-preview .customer-logo { min-height: clamp(140px, 20vh, 210px); padding: 28px 22px; }
.home-funnel .customer-logo-grid-preview .customer-logo img { height: 92px; }
.home-funnel .customer-pagination { margin-top: 20px; }
.home-funnel .customers-preview .rail-actions { margin-top: 18px; }
.home-funnel .process-section .section-heading { margin-bottom: clamp(40px, 8vh, 92px); }
.home-funnel .process-grid { gap: 36px; }
.home-funnel .process-grid li { flex-direction: column; align-items: flex-start; gap: 24px; padding: 0; font-size: 20px; line-height: 1.4; }
.home-funnel .process-grid li > span { min-width: 0; overflow-wrap: anywhere; }
.home-funnel .process-grid .feature-icon { width: 52px; height: 52px; }
.home-funnel .request-grid { align-items: center; }

@media (max-height: 750px) and (min-width: 1101px) {
  .home-funnel { --funnel-space: 32px; }
  .home-funnel .hero-copy { padding-block: 24px; }
  .home-funnel .about-copy { padding-block: 28px; font-size: 15px; line-height: 1.6; }
  .home-funnel .about-benefits { margin-block: 20px; gap: 14px; }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .home-funnel .process-grid { gap: 24px; }
  .home-funnel .process-grid li { font-size: 17px; }
  .home-funnel .process-grid .feature-icon { width: 44px; height: 44px; }
}
@media (max-width: 782px) {
  .admin-bar .home-funnel { --funnel-toolbar: 46px; }
  html:has(.admin-bar .home-funnel) { scroll-padding-top: calc(var(--header-height) + 47px); }
}
@media (min-width: 761px) and (max-width: 960px) {
  .home-funnel .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
}
@media (max-width: 760px) {
  .home-funnel { --funnel-space: clamp(32px, 5vh, 48px); --funnel-dock: calc(69px + env(safe-area-inset-bottom)); }
  .home-funnel > section[data-funnel-stage]:not(.request-section):not(.about-section):not(.customers-preview):not(.process-section) {
    padding-bottom: calc(var(--funnel-space) + var(--funnel-dock));
  }
  .home-funnel .hero-copy { padding-block: 32px; }
  .home-funnel .hero-benefits { gap: 22px 20px; padding-block: 24px; }
  .home-funnel .section-heading h2,
  .home-funnel .about-copy h2,
  .home-funnel .request-copy h2 { font-size: clamp(28px, 5.4vw, 32px); }
  .home-funnel .section-heading { margin-bottom: 26px; }
  .home-funnel .service-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
  .home-funnel .service-card {
    display: grid; grid-template-columns: 30px minmax(0, 1fr) 72px; gap: 12px; align-items: center;
    min-height: 68px; padding: 13px 0; border: 0; border-top: 1px solid var(--line); text-align: left;
  }
  .home-funnel .service-card:last-child { grid-column: auto; border-bottom: 1px solid var(--line); }
  .home-funnel .service-card > .feature-icon { grid-column: 1; grid-row: 1; width: 28px; height: 28px; margin: 0; }
  .home-funnel .service-card h3 { grid-column: 2; grid-row: 1; min-height: 0; margin: 0; font-size: 15px; line-height: 1.35; }
  .home-funnel .service-card > p { display: none; }
  .home-funnel .service-more { grid-column: 3; grid-row: 1; margin: 0; min-height: 44px; font-size: 11px; justify-content: flex-end; }
  .home-funnel .about-grid { min-block-size: 0; }
  .home-funnel .about-copy { padding-block: var(--funnel-space); font-size: 15px; }
  .home-funnel .about-media { min-height: 360px; margin-bottom: var(--funnel-dock); }
  .home-funnel > section.customers-preview[data-funnel-stage],
  .home-funnel > section.process-section[data-funnel-stage] {
    min-block-size: 0;
    padding-block: 28px calc(24px + var(--funnel-dock));
  }
  .home-funnel .customers-preview .section-heading { margin-bottom: 20px; }
  .home-funnel .customer-logo-grid-preview .customer-logo { min-height: 118px; padding: 16px; }
  .home-funnel .customer-logo-grid-preview .customer-logo img { height: 86px; }
  .home-funnel .customer-pagination { margin-top: 6px; }
  .home-funnel .customers-preview .rail-actions { margin-top: 8px; }
  .home-funnel .process-section .section-heading { margin-bottom: 20px; }
  .home-funnel .process-grid { gap: 0; }
  .home-funnel .process-grid li { flex-direction: row; align-items: center; gap: 14px; padding: 12px 0; min-height: 60px; font-size: 16px; }
  .home-funnel .process-grid .feature-icon { width: 32px; height: 32px; }
  .home-funnel .request-grid { gap: 26px; }
}
@media (max-width: 600px) {
  .admin-bar .home-funnel { --funnel-toolbar: 0px; }
  html:has(.admin-bar .home-funnel) { scroll-padding-top: calc(var(--header-height) + 1px); }
}
@media (max-width: 360px) {
  .home-funnel .service-card { grid-template-columns: 26px minmax(0, 1fr) 65px; gap: 10px; }
  .home-funnel .service-card h3 { font-size: 14px; }
}
@media (max-height: 600px) and (min-width: 761px) {
  .home-funnel { --funnel-space: 32px; }
  .home-funnel .section-heading,
  .home-funnel .customers-preview .section-heading,
  .home-funnel .process-section .section-heading { margin-bottom: 28px; }
}
