/* Stand Up Agency — typography and text alignment.
   Loaded after the reference styles, without changing section order. */
:root {
  --su-ink: #09063b;
  --su-blue: #0055ff;
  --su-body-size: 18px;
  --su-copy-width: 52ch;
}

/* Reset inherited margins and line heights on text widgets. */
:is(.elementor-5470,.su-page-content) [class*="su-"] > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}
:is(.elementor-5470,.su-page-content) [class*="su-"] p,
:is(.elementor-5470,.su-page-content) [class*="su-"] h1,
:is(.elementor-5470,.su-page-content) [class*="su-"] h2,
:is(.elementor-5470,.su-page-content) [class*="su-"] h3 {
  color: var(--su-ink);
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  margin: 0;
  overflow-wrap: normal;
  word-break: normal;
}
:is(.elementor-5470,.su-page-content) .su-inline-emphasis {
  display: inline;
}

/* Keep headings, copy and CTA on the same left edge. */
:is(.elementor-5470,.su-page-content) .su-copy-column > .elementor-widget-wrap {
  align-content: center;
  align-items: flex-start;
  row-gap: 0;
}
:is(.elementor-5470,.su-page-content) .su-copy-column > .elementor-widget-wrap > .elementor-widget {
  margin-bottom: 0;
}
:is(.elementor-5470,.su-page-content) .su-heading,
:is(.elementor-5470,.su-page-content) .su-hero-heading,
:is(.elementor-5470,.su-page-content) .su-card-heading,
:is(.elementor-5470,.su-page-content) .su-faq-heading {
  width: 100% !important;
  text-align: left !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}
:is(.elementor-5470,.su-page-content) .su-hero-heading {
  font-size: clamp(40px, 4.14vw, 53px) !important;
  line-height: 1.2 !important;
  margin-bottom: 22px !important;
}
:is(.elementor-5470,.su-page-content) .su-hero-subheading {
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.3 !important;
  text-align: left !important;
  margin-bottom: 28px !important;
}
:is(.elementor-5470,.su-page-content) .su-heading {
  font-size: clamp(34px, 3.7vw, 48px) !important;
  line-height: 1.2 !important;
  margin-bottom: 18px !important;
}
:is(.elementor-5470,.su-page-content) .su-subheading {
  font-size: 24px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-align: left !important;
  margin-bottom: 24px !important;
}

/* Comfortable paragraphs instead of widely spaced individual lines. */
:is(.elementor-5470,.su-page-content) .su-body,
:is(.elementor-5470,.su-page-content) .su-hero-body {
  font-size: var(--su-body-size) !important;
  line-height: 1.75 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  text-align: left !important;
  max-width: var(--su-copy-width);
  margin-bottom: 28px !important;
}
:is(.elementor-5470,.su-page-content) .su-body p + p {
  margin-top: 16px;
}
:is(.elementor-5470,.su-page-content) .su-body p:empty {
  display: none;
}

/* Centered section introductions stay together as one visual group. */
:is(.elementor-5470,.su-page-content) .su-section-heading,
:is(.elementor-5470,.su-page-content) .su-section-subheading,
:is(.elementor-5470,.su-page-content) .su-centered-body {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-wrap: balance;
}
:is(.elementor-5470,.su-page-content) .su-section-heading {
  font-size: clamp(36px, 4vw, 52px) !important;
  line-height: 1.2 !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
  max-width: 940px;
  margin-bottom: 18px !important;
}
:is(.elementor-5470,.su-page-content) .su-section-subheading {
  font-size: 25px !important;
  line-height: 1.45 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  max-width: 760px;
  margin-bottom: 18px !important;
}
:is(.elementor-5470,.su-page-content) .su-centered-body {
  font-size: var(--su-body-size) !important;
  line-height: 1.75 !important;
  max-width: 720px;
}
:is(.elementor-5470,.su-page-content) .su-card-heading {
  font-size: 27px !important;
  line-height: 1.3 !important;
  margin-bottom: 16px !important;
}
:is(.elementor-5470,.su-page-content) .su-faq-heading {
  font-size: 25px !important;
  line-height: 1.35 !important;
  margin-bottom: 18px !important;
}
:is(.elementor-5470,.su-page-content) .su-caption {
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin-bottom: 14px !important;
}
:is(.elementor-5470,.su-page-content) .elementor-button-text {
  white-space: normal;
  line-height: 1.4;
}

/* Mobile: preserve readable blocks without giant centered paragraphs. */
@media (max-width: 767px) {
  :is(.elementor-5470,.su-page-content) .su-hero-heading {
    font-size: 38px !important;
    line-height: 1.18 !important;
    margin-bottom: 18px !important;
  }
  :is(.elementor-5470,.su-page-content) .su-hero-subheading {
    font-size: 26px !important;
    line-height: 1.35 !important;
    margin-bottom: 22px !important;
  }
  :is(.elementor-5470,.su-page-content) .su-heading,
  :is(.elementor-5470,.su-page-content) .su-section-heading {
    font-size: 32px !important;
    line-height: 1.22 !important;
  }
  :is(.elementor-5470,.su-page-content) .su-subheading,
  :is(.elementor-5470,.su-page-content) .su-section-subheading {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }
  :is(.elementor-5470,.su-page-content) .su-body,
  :is(.elementor-5470,.su-page-content) .su-hero-body,
  :is(.elementor-5470,.su-page-content) .su-centered-body {
    font-size: 17px !important;
    line-height: 1.7 !important;
    max-width: 100%;
  }
  :is(.elementor-5470,.su-page-content) .su-card-heading,
  :is(.elementor-5470,.su-page-content) .su-faq-heading {
    font-size: 24px !important;
  }
  :is(.elementor-5470,.su-page-content) .su-copy-column > .elementor-widget-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  :is(.elementor-5470,.su-page-content) .elementor-counter-title {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

/* Keep numeric values, plus signs and units together on one line. */
:is(.elementor-5470,.su-page-content) .elementor-counter-number-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 5px;
  width: 100%;
  white-space: nowrap;
}
:is(.elementor-5470,.su-page-content) .elementor-counter-number-prefix,
:is(.elementor-5470,.su-page-content) .elementor-counter-number,
:is(.elementor-5470,.su-page-content) .elementor-counter-number-suffix {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.25 !important;
}
:is(.elementor-5470,.su-page-content) .elementor-counter-number-prefix { order: 1; }
:is(.elementor-5470,.su-page-content) .elementor-counter-number { order: 2; }
:is(.elementor-5470,.su-page-content) .elementor-counter-number-suffix { order: 3; }
:is(.elementor-5470,.su-page-content) .elementor-counter-title {
  line-height: 1.45 !important;
  margin-top: 10px !important;
}
:is(.elementor-5470,.su-page-content) .elementor-counter-number-prefix,
:is(.elementor-5470,.su-page-content) .elementor-counter-number,
:is(.elementor-5470,.su-page-content) .elementor-counter-number-suffix {
  white-space: nowrap !important;
}
