/* NextGen Wizards v10.4.5
   Controlled typography reduction: smaller laptop hero titles, modestly
   smaller supporting copy, and responsive title widths. No palette changes. */

/* Do not globally scale the HTML/root font size: third-party GHL forms,
   accessibility zoom, the inline growth assistant and SVG icons stay intact. */
#ngw-home .vtx-page-hero-grid,
#ngw-home .vtx-hero-grid{gap:clamp(22px,2.8vw,40px)}
#ngw-home .vtx-page-hero-grid > *,
#ngw-home .vtx-hero-grid > *{min-width:0}
#ngw-home .vtx-page-hero,
#ngw-home .vtx-service-hero{padding-block:clamp(48px,5vw,68px)!important}
#ngw-home .vtx-page-hero h1,
#ngw-home .vtx-service-hero h1,
#ngw-home .vtx-hero-copy h1,
#ngw-home .ngw-roster-hero-copy h1{
  font-size:clamp(37px,4vw,56px)!important;
  line-height:1.12!important;
  letter-spacing:-.038em!important;
  overflow-wrap:normal;
  text-wrap:balance;
}
#ngw-home .vtx-page-hero-grid > div:first-child,
#ngw-home .vtx-hero-copy{min-width:0}
#ngw-home .vtx-page-hero-grid > div:first-child > p,
#ngw-home .vtx-service-hero .vtx-page-hero-grid > div:first-child > p,
#ngw-home .vtx-hero-copy > p{
  font-size:clamp(14px,1.12vw,16px)!important;
  line-height:1.65!important;
}
/* This page has a separate highly specific typography rule. */
#ngw-home .vtx-pricing-page .ngw-pricing-hero h1{
  font-size:clamp(37px,3.9vw,55px)!important;
  line-height:1.13!important;
}
#ngw-home .vtx-pricing-page .ngw-pricing-hero p{
  font-size:clamp(14px,1.12vw,16px)!important;
}
#ngw-home .ngw-appointment-heading h1{
  font-size:clamp(31px,3.7vw,50px)!important;
}
/* Consistent 5–10% reduction for supporting titles and paragraphs. */
#ngw-home .vtx-section-head h2,
#ngw-home .vtx-copy h2{
  font-size:clamp(28px,3.45vw,44px)!important;
  line-height:1.15!important;
}
#ngw-home .vtx-cta-panel h2{font-size:clamp(28px,3.4vw,44px)!important}
#ngw-home .vtx-section-head > p,
#ngw-home .vtx-copy > p{
  font-size:clamp(14px,1.08vw,15px)!important;
  line-height:1.68!important;
}
#ngw-home .vtx-service-card h3,
#ngw-home .vtx-simple-card h3,
#ngw-home .vtx-logic-card h3{
  font-size:clamp(16px,1.5vw,19px)!important;
  line-height:1.36!important;
}
#ngw-home .vtx-service-card > p,
#ngw-home .vtx-simple-card > p,
#ngw-home .vtx-logic-card > p{
  font-size:14px!important;
  line-height:1.67!important;
}
#ngw-home .ngw-site-link,
#ngw-home .ngw-site-services-toggle{
  font-size:13px!important;
}
#ngw-home .ngw-site-cta,
#ngw-home .ngw-mobile-booking{font-size:13px!important}

/* Blog/article and campaign heroes also follow the same modest reduction. */
#ngw-home .ngw-blog-hero .ngw-page-title,
#ngw-home .ngw-single-title,
#ngw-home .ngw-campaign-copy .ngw-page-title{
  font-size:clamp(36px,3.95vw,56px)!important;
  line-height:1.14!important;
  text-wrap:balance;
}
#ngw-home .ngw-blog-hero .ngw-page-lead,
#ngw-home .ngw-campaign-copy .ngw-page-lead{
  font-size:clamp(14px,1.15vw,16px)!important;
}

/* Figma homepage: proportionally smaller, without moving any artwork. */
#ngw-home .ngw-fg-hero h1{
  font-size:clamp(39px,4.15vw,55px)!important;
  line-height:1.06!important;
}
#ngw-home .ngw-fg-strategy-stage h2{font-size:clamp(32px,3.1vw,43px)!important}
#ngw-home .ngw-fg-mapping-stage h2{font-size:clamp(34px,3.6vw,53px)!important}
#ngw-home .ngw-fg-creatures h2,
#ngw-home .ngw-fg-testimonials h2{font-size:clamp(36px,3.9vw,56px)!important}
#ngw-home .ngw-fg-faq-intro h2,
#ngw-home .ngw-fg-newsletter h2{font-size:clamp(33px,3.6vw,46px)!important}

/* Compact laptop: maintain generous copy width, prevent squeezed columns. */
@media (min-width:1101px) and (max-width:1440px){
  #ngw-home .vtx-page-hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;
    gap:clamp(22px,2.5vw,35px)!important;
  }
  #ngw-home .vtx-page-hero h1,
  #ngw-home .vtx-service-hero h1,
  #ngw-home .vtx-hero-copy h1{
    font-size:clamp(39px,3.85vw,53px)!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  #ngw-home .vtx-page-hero h1,
  #ngw-home .vtx-service-hero h1,
  #ngw-home .vtx-hero-copy h1,
  #ngw-home .ngw-roster-hero-copy h1{font-size:clamp(37px,4.75vw,48px)!important}
  #ngw-home .vtx-page-hero-grid{gap:24px!important}
  #ngw-home .vtx-page-hero-image{width:min(100%,760px);margin-inline:auto}
  #ngw-home .ngw-fg-hero h1{font-size:clamp(39px,4.5vw,48px)!important}
}
/* A 1024px laptop gets a two-column hero rather than a giant
   930px-wide image pushed below the title. */
@media (min-width:961px) and (max-width:1100px){
  #ngw-home .vtx-page-hero-grid{
    grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)!important;
    gap:24px!important;
    align-items:center;
  }
  #ngw-home .vtx-page-hero h1,
  #ngw-home .vtx-service-hero h1{font-size:clamp(36px,3.85vw,42px)!important}
  #ngw-home .vtx-page-hero-image{width:100%!important;max-width:100%!important}
}

@media (min-width:761px) and (max-width:960px){
  #ngw-home .vtx-page-hero-image{width:min(100%,610px)!important;max-width:610px!important}
}
@media (max-width:760px){
  #ngw-home .vtx-page-hero,
  #ngw-home .vtx-service-hero{padding-block:42px 38px!important}
  #ngw-home .vtx-page-hero h1,
  #ngw-home .vtx-service-hero h1,
  #ngw-home .vtx-hero-copy h1,
  #ngw-home .ngw-roster-hero-copy h1,
  #ngw-home .vtx-pricing-page .ngw-pricing-hero h1{
    font-size:clamp(31px,8.4vw,42px)!important;
    line-height:1.14!important;
    letter-spacing:-.032em!important;
  }
  #ngw-home .vtx-section-head h2,
  #ngw-home .vtx-copy h2,
  #ngw-home .vtx-cta-panel h2{
    font-size:clamp(27px,7.5vw,36px)!important;
  }
  #ngw-home .ngw-blog-hero .ngw-page-title,
  #ngw-home .ngw-single-title,
  #ngw-home .ngw-campaign-copy .ngw-page-title{
    font-size:clamp(30px,8.2vw,42px)!important;
  }
  #ngw-home .vtx-page-hero-grid,
  #ngw-home .vtx-hero-grid{gap:21px!important}
  #ngw-home .vtx-page-hero-image img,
  #ngw-home .vtx-service-hero .vtx-page-hero-image img{
    max-width:100%;min-height:0!important;height:auto!important;
  }
  #ngw-home .ngw-fg-hero h1{
    font-size:clamp(34px,9vw,43px)!important;
    line-height:1.08!important;
  }
  #ngw-home .ngw-fg-strategy-stage h2{font-size:clamp(30px,8vw,36px)!important}
  #ngw-home .ngw-fg-mapping-stage h2{font-size:clamp(31px,8vw,40px)!important}
  #ngw-home .ngw-fg-creatures h2,
  #ngw-home .ngw-fg-testimonials h2,
  #ngw-home .ngw-fg-faq-intro h2,
  #ngw-home .ngw-fg-newsletter h2{font-size:clamp(29px,8vw,38px)!important}
  /* Keep practical touch-target sizes even as type decreases. */
  #ngw-home .vtx-actions .vtx-btn{min-height:46px}
}
@media (max-width:380px){
  #ngw-home .vtx-page-hero h1,
  #ngw-home .vtx-service-hero h1,
  #ngw-home .vtx-hero-copy h1,
  #ngw-home .ngw-roster-hero-copy h1,
  #ngw-home .vtx-pricing-page .ngw-pricing-hero h1{font-size:clamp(29px,8.4vw,32px)!important}
  #ngw-home .ngw-fg-hero h1{font-size:clamp(32px,8.9vw,36px)!important}
  #ngw-home .vtx-section-head h2,
  #ngw-home .vtx-copy h2{font-size:clamp(26px,7.1vw,29px)!important}
}
