:root{
  --kwestt-type-hero-wide:clamp(3.35rem,5vw,5.75rem);
  --kwestt-type-hero-column:clamp(3.1rem,4.55vw,5.25rem);
  --kwestt-type-section:clamp(2.45rem,3.65vw,4rem);
  --kwestt-type-section-column:clamp(2.3rem,3.25vw,3.6rem);
  --kwestt-type-feature:clamp(2rem,2.8vw,3.2rem);
  --kwestt-type-card:clamp(1.35rem,1.7vw,1.85rem);
  --kwestt-type-prose-h2:clamp(2rem,2.75vw,3rem);
  --kwestt-type-prose-h3:clamp(1.5rem,2vw,2.1rem);
}

:where(
  .kwestt-home-hero__copy,
  .kwestt-service-hero__copy,
  .kwestt-region-hero__copy,
  .kwestt-services-overview-hero__copy,
  .kwestt-about-hero__copy,
  .kwestt-contact-hero__copy,
  .kwestt-partner-hero__copy,
  .kwestt-painter-hero__copy,
  .kwestt-campaign-hero__copy,
  .kwestt-project-hero__copy,
  .kwestt-home-section-heading > div,
  .kwestt-service-heading > div,
  .kwestt-services-overview-heading > div,
  .kwestt-about-heading > div,
  .kwestt-contact-heading > div,
  .kwestt-partner-heading > div,
  .kwestt-painter-heading > div,
  .kwestt-campaign-heading > div,
  .kwestt-story-section__heading,
  .kwestt-service-split > div:first-child,
  .kwestt-about-story__grid > div:first-child,
  .kwestt-region-local__content,
  .kwestt-service-benefits header,
  .kwestt-service-faq header,
  .kwestt-painter-split > header,
  .kwestt-painter-seo__grid > header,
  .kwestt-painter-faq__grid > header,
  .kwestt-painter-form__grid > header,
  .kwestt-services-overview-faq__grid > header,
  .kwestt-partner-two-column > .kwestt-partner-heading,
  .kwestt-partner-demo__copy,
  .kwestt-contact-cta__grid > div,
  .kwestt-about-cta__grid > div,
  .kwestt-service-cta__grid > div,
  .kwestt-services-overview-cta__grid > div
){
  min-width:0;
  container-type:inline-size;
}

.kwestt-site-content :where(h1,h2,h3,h4):not(.screen-reader-text){
  max-width:100%;
  overflow:visible;
  word-break:normal;
  overflow-wrap:normal;
  -webkit-hyphens:none;
  hyphens:none;
  text-wrap:pretty;
}

:where(
  .kwestt-home-hero,
  .kwestt-service-hero,
  .kwestt-region-hero,
  .kwestt-services-overview-hero,
  .kwestt-about-hero,
  .kwestt-contact-hero,
  .kwestt-partner-hero,
  .kwestt-painter-hero,
  .kwestt-campaign-hero,
  .kwestt-project-hero
) h1{
  font-size:var(--kwestt-type-hero-column)!important;
  font-size:clamp(3.1rem,11cqi,5.25rem)!important;
  line-height:.98!important;
  letter-spacing:-.052em;
}

:where(
  .kwestt-blog-hero,
  .kwestt-article-hero,
  .kwestt-archive-hero,
  .kwestt-default-page__hero,
  .kwestt-listing-hero,
  .kwestt-post-hero,
  .kwestt-error-page
) h1{
  font-size:var(--kwestt-type-hero-wide)!important;
  line-height:.97!important;
  letter-spacing:-.052em;
}

:where(
  .kwestt-home-section-heading,
  .kwestt-service-heading,
  .kwestt-service-split,
  .kwestt-services-overview-heading,
  .kwestt-services-overview-faq,
  .kwestt-about-heading,
  .kwestt-about-story,
  .kwestt-contact-heading,
  .kwestt-partner-heading,
  .kwestt-campaign-heading,
  .kwestt-campaign-reasons,
  .kwestt-campaign-faq,
  .kwestt-campaign-local,
  .kwestt-service-benefits,
  .kwestt-service-faq,
  .kwestt-painter-heading,
  .kwestt-painter-split,
  .kwestt-painter-seo,
  .kwestt-painter-benefits,
  .kwestt-painter-faq,
  .kwestt-painter-form,
  .kwestt-region-local__content,
  .kwestt-story-section__heading,
  .kwestt-results-section,
  .kwestt-related-section__heading,
  .kwestt-testimonial-section,
  .kwestt-article-related__heading
) h2{
  font-size:var(--kwestt-type-section)!important;
  line-height:1.02!important;
  letter-spacing:-.045em;
}

:where(
  .kwestt-home-section-heading > div,
  .kwestt-service-heading > div,
  .kwestt-service-split > div:first-child,
  .kwestt-services-overview-heading > div,
  .kwestt-services-overview-faq__grid > header,
  .kwestt-about-heading > div,
  .kwestt-about-story__grid > div:first-child,
  .kwestt-contact-heading > div,
  .kwestt-partner-heading > div,
  .kwestt-campaign-heading > div,
  .kwestt-service-benefits header,
  .kwestt-service-faq header,
  .kwestt-painter-heading > div,
  .kwestt-painter-split > header,
  .kwestt-painter-seo__grid > header,
  .kwestt-painter-faq__grid > header,
  .kwestt-painter-form__grid > header,
  .kwestt-region-local__content,
  .kwestt-story-section__heading,
  .kwestt-partner-two-column > .kwestt-partner-heading
) h2{
  font-size:var(--kwestt-type-section-column)!important;
  font-size:clamp(2.3rem,10.5cqi,3.6rem)!important;
}

:where(
  .kwestt-home-featured-case__copy,
  .kwestt-region-case__copy,
  .kwestt-campaign-case__copy,
  .kwestt-blog-featured__body,
  .kwestt-about-visual-card,
  .kwestt-contact-visual__card,
  .kwestt-contact-details,
  .kwestt-about-info-card,
  .kwestt-partner-model,
  .kwestt-partner-fit__card
) :where(h2,h3){
  font-size:var(--kwestt-type-feature)!important;
  line-height:1.02!important;
  letter-spacing:-.042em;
}

:where(
  .kwestt-home-cta,
  .kwestt-service-cta,
  .kwestt-services-overview-cta,
  .kwestt-about-cta,
  .kwestt-contact-cta,
  .kwestt-partner-trust,
  .kwestt-partner-contact,
  .kwestt-partner-demo,
  .kwestt-article-cta
) h2{
  font-size:clamp(2.65rem,3.9vw,4.25rem)!important;
  line-height:1!important;
  letter-spacing:-.047em;
}

.kwestt-partner-demo__copy h2{
  font-size:clamp(2.3rem,8.6cqi,2.85rem)!important;
}

:where(
  .kwestt-home-service-card,
  .kwestt-home-workflow__step,
  .kwestt-service-card,
  .kwestt-services-overview-card,
  .kwestt-services-overview-choice-card,
  .kwestt-service-audience-card,
  .kwestt-service-process-grid li,
  .kwestt-about-workflow__grid li,
  .kwestt-about-benefit,
  .kwestt-contact-process__grid li,
  .kwestt-partner-process__grid li,
  .kwestt-partner-benefit,
  .kwestt-campaign-card,
  .kwestt-campaign-process li,
  .kwestt-blog-card,
  .kwestt-post-card,
  .kwestt-project-card,
  .kwestt-painter-card,
  .kwestt-painter-structure__grid li,
  .kwestt-painter-workflow__grid li
) :where(h2,h3){
  font-size:var(--kwestt-type-card)!important;
  line-height:1.1!important;
  letter-spacing:-.03em;
}

:where(.kwestt-prose,.kwestt-article-prose) h2{
  font-size:var(--kwestt-type-prose-h2)!important;
  line-height:1.1!important;
}
:where(.kwestt-prose,.kwestt-article-prose) h3{
  font-size:var(--kwestt-type-prose-h3)!important;
  line-height:1.15!important;
}

@media (max-width:900px){
  :root{
    --kwestt-type-hero-wide:clamp(2.85rem,7.4vw,4.6rem);
    --kwestt-type-hero-column:clamp(2.75rem,7.2vw,4.35rem);
    --kwestt-type-section:clamp(2.3rem,6.2vw,3.5rem);
    --kwestt-type-section-column:clamp(2.25rem,6vw,3.35rem);
  }

  :where(
    .kwestt-home-hero,
    .kwestt-service-hero,
    .kwestt-region-hero,
    .kwestt-services-overview-hero,
    .kwestt-about-hero,
    .kwestt-contact-hero,
    .kwestt-partner-hero,
    .kwestt-campaign-hero,
    .kwestt-project-hero
  ) h1{
    font-size:var(--kwestt-type-hero-column)!important;
  }

  :where(
    .kwestt-home-section-heading > div,
    .kwestt-service-heading > div,
    .kwestt-service-split > div:first-child,
    .kwestt-services-overview-heading > div,
    .kwestt-services-overview-faq__grid > header,
    .kwestt-about-heading > div,
    .kwestt-about-story__grid > div:first-child,
    .kwestt-contact-heading > div,
    .kwestt-partner-heading > div,
    .kwestt-campaign-heading > div,
    .kwestt-service-benefits header,
    .kwestt-service-faq header,
    .kwestt-region-local__content,
    .kwestt-story-section__heading,
    .kwestt-partner-two-column > .kwestt-partner-heading
  ) h2{
    font-size:var(--kwestt-type-section-column)!important;
  }
}

@media (max-width:680px){
  :root{
    --kwestt-type-hero-wide:clamp(2.45rem,10.6vw,3.4rem);
    --kwestt-type-hero-column:clamp(2.35rem,10.2vw,3.25rem);
    --kwestt-type-section:clamp(2.05rem,9vw,2.75rem);
    --kwestt-type-section-column:clamp(2.05rem,9vw,2.75rem);
    --kwestt-type-feature:clamp(1.85rem,8vw,2.4rem);
    --kwestt-type-card:clamp(1.25rem,5.8vw,1.6rem);
    --kwestt-type-prose-h2:clamp(1.8rem,8vw,2.35rem);
    --kwestt-type-prose-h3:clamp(1.4rem,6.3vw,1.85rem);
  }

  :where(
    .kwestt-home-cta,
    .kwestt-service-cta,
    .kwestt-services-overview-cta,
    .kwestt-about-cta,
    .kwestt-contact-cta,
    .kwestt-partner-trust,
    .kwestt-partner-contact,
    .kwestt-partner-demo,
    .kwestt-article-cta
  ) h2{
    font-size:clamp(2.15rem,9.4vw,2.9rem)!important;
    line-height:1.02!important;
  }
}

@media (max-width:360px){
  .kwestt-site-content :where(h1,h2,h3,h4):not(.screen-reader-text){
    overflow-wrap:break-word;
  }
}
