/*
 * Type scale v2 (Grant Thornton x1.125). Sizes are fluid between a 20rem (320px)
 * and 90rem (1440px) viewport: clamp(min, calc(slope + intercept), max).
 *
 * The heading tag carries the structure and these classes carry the look, so a
 * component pulls a look in by role, never by tag:
 *   .title { composes: h4 from '../shared/typography.module.css'; }
 *
 * Only weights 900 / 700 / 500 / 400. Letter spacing is always 0.
 */

.eTgxBsZtVH_S6lt4ONyA {
  font-size: clamp(2.75rem, calc(1.7857vw + 2.3929rem), 4rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: 0;
}

.IdZjdB7Cg5C9APM2Jowp {
  font-size: clamp(2.25rem, calc(1.6071vw + 1.9286rem), 3.375rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.pcp39eVV7CW8XdQ8N9j1 {
  font-size: clamp(1.625rem, calc(1.0714vw + 1.4107rem), 2.375rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.XDqDBZATkGYv9NgHZ9s1 {
  font-size: clamp(1.375rem, calc(0.5357vw + 1.2679rem), 1.75rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}

.fWdPpLNvtbnq43YV9e0Q {
  font-size: clamp(1.25rem, calc(0.3571vw + 1.1786rem), 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

.CLkfBEM4JxWFM7wEhZUW {
  font-size: clamp(1.125rem, calc(0.1786vw + 1.0893rem), 1.25rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Eyebrows use the H6 look at weight 500 (the one exception to "labels are 400") */
.U25eXfOSSn4hPaLI0sNk {
}

.FbXsEIL1UL2M2MYriVij {
  font-size: clamp(1.25rem, calc(0.1786vw + 1.2143rem), 1.375rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.K7tinMrbfBXB3faSHSF3 {
  font-size: clamp(1rem, calc(0.1786vw + 0.9643rem), 1.125rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

.IjlDPMsLsJHQqXbq1CYT {
  font-size: clamp(0.9375rem, calc(0.0893vw + 0.9196rem), 1rem);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Labels (tags, badges, form labels, stat labels): Small size, weight 400 */
.WLn6QiUblW2VfEZsJgiP {
}

.GvIUJt9DGarSKKlIIZiQ,
.GvIUJt9DGarSKKlIIZiQ *,
.GvIUJt9DGarSKKlIIZiQ *::before,
.GvIUJt9DGarSKKlIIZiQ *::after {
  box-sizing: border-box;
}

/* Body look by default; a Font size prop value is set inline and overrides the size only
   (the unitless line-height scales with it) */
.GvIUJt9DGarSKKlIIZiQ {
  width: 100%;
  font-family: inherit;
  overflow-wrap: break-word;
}

/* ── rich text content (descendant selectors: Webflow may wrap the HTML) ── */
.GvIUJt9DGarSKKlIIZiQ :is(p, ul, ol, blockquote, figure, h1, h2, h3, h4, h5, h6) {
  margin: 0;
}

.GvIUJt9DGarSKKlIIZiQ :is(p, ul, ol, blockquote, figure) + :is(p, ul, ol, blockquote, figure) {
  margin-top: 0.75em;
}

.GvIUJt9DGarSKKlIIZiQ :is(p, ul, ol, blockquote, figure) + :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 1em;
}

.GvIUJt9DGarSKKlIIZiQ :is(h1, h2, h3, h4, h5, h6) + * {
  margin-top: 0.5em;
}

/*
 * Headings typed in the rich text editor have no class to pick a look from,
 * so they take the scale step that matches their tag. Values mirror
 * shared/typography.module.css; keep them in sync.
 */
.GvIUJt9DGarSKKlIIZiQ h1 { font-size: clamp(2.75rem, calc(1.7857vw + 2.3929rem), 4rem); font-weight: 900; line-height: 1.1; }
.GvIUJt9DGarSKKlIIZiQ h2 { font-size: clamp(2.25rem, calc(1.6071vw + 1.9286rem), 3.375rem); font-weight: 700; line-height: 1.2; }
.GvIUJt9DGarSKKlIIZiQ h3 { font-size: clamp(1.625rem, calc(1.0714vw + 1.4107rem), 2.375rem); font-weight: 500; line-height: 1.2; }
.GvIUJt9DGarSKKlIIZiQ h4 { font-size: clamp(1.375rem, calc(0.5357vw + 1.2679rem), 1.75rem); font-weight: 500; line-height: 1.3; }
.GvIUJt9DGarSKKlIIZiQ h5 { font-size: clamp(1.25rem, calc(0.3571vw + 1.1786rem), 1.5rem); font-weight: 500; line-height: 1.4; }
.GvIUJt9DGarSKKlIIZiQ h6 { font-size: clamp(1.125rem, calc(0.1786vw + 1.0893rem), 1.25rem); font-weight: 500; line-height: 1.5; }

.GvIUJt9DGarSKKlIIZiQ :is(h1, h2, h3, h4, h5, h6) {
  letter-spacing: 0;
  color: inherit;
}

.GvIUJt9DGarSKKlIIZiQ :is(ul, ol) {
  padding-left: 1.25em;
}

.GvIUJt9DGarSKKlIIZiQ li + li {
  margin-top: 0.35em;
}

.GvIUJt9DGarSKKlIIZiQ :is(strong, b) {
  font-weight: 700;
}

.GvIUJt9DGarSKKlIIZiQ a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.GvIUJt9DGarSKKlIIZiQ a:hover {
  text-decoration-thickness: 2px;
}

.GvIUJt9DGarSKKlIIZiQ blockquote {
  padding-left: 1em;
  border-left: 3px solid currentColor;
}

.GvIUJt9DGarSKKlIIZiQ :is(img, video) {
  max-width: 100%;
  height: auto;
}

/* ── alignment: each breakpoint value centres at that width and below ── */
.EkQM3H9A3ol8th50BeVj {
  text-align: center;
}

.EkQM3H9A3ol8th50BeVj :is(ul, ol) {
  padding-left: 0;
  list-style-position: inside;
}

@media (max-width: 991px) {
  .kXoulPGvVocgTKkD8P5B {
    text-align: center;
  }
  .kXoulPGvVocgTKkD8P5B :is(ul, ol) {
    padding-left: 0;
    list-style-position: inside;
  }
}

@media (max-width: 768px) {
  .EUf5sG7u0jLydakqfh3F {
    text-align: center;
  }
  .EUf5sG7u0jLydakqfh3F :is(ul, ol) {
    padding-left: 0;
    list-style-position: inside;
  }
}

@media (max-width: 479px) {
  .IjHsY6yHKiLPdBdF_L3w {
    text-align: center;
  }
  .IjHsY6yHKiLPdBdF_L3w :is(ul, ol) {
    padding-left: 0;
    list-style-position: inside;
  }
}

