/*
 * 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 {
}

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

/* ── light theme ── */
.ZlLEtS1Pujeo1yYJ1YSX.PE_rVf07Z6268VzBnuto {
  --ft-body1-bg: #ffffff;
  --ft-body2-bg: #ffffff;
  --ft-border: #ccd1d9;
  --ft-line: #99a1af;
  --ft-head1-bg: #cedeef;
  --ft-head1-text: #397cc1;
  --ft-head2-bg: #10C8E5;
  --ft-head2-text: #ffffff;
  --ft-body1-text: #6a7282;
  --ft-body2-text: #008236;
  --ft-dim: rgba(0, 27, 65, 0.60);
  --ft-shadow: 4px 2px 12px rgba(0, 0, 0, 0.2);
}

/* ── dark theme ── */
.ZlLEtS1Pujeo1yYJ1YSX.SsZI8Kqcz7e9i5cyaAg5 {
  --ft-body1-bg: #0A1325;
  --ft-body2-bg: #0A1325;
  --ft-border: rgba(125, 170, 215, 0.18);
  --ft-line: rgba(125, 170, 215, 0.14);
  --ft-head1-bg: rgba(125, 170, 215, 0.12);
  --ft-head1-text: #8fb8e8;
  --ft-head2-bg: #10C8E5;
  --ft-head2-text: #001b41;
  --ft-body1-text: rgba(221, 233, 249, 0.62);
  --ft-body2-text: #4ade80;
  --ft-dim: rgba(221, 233, 249, 0.56);
  --ft-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}

.ZlLEtS1Pujeo1yYJ1YSX {
  --ft-gap: 4px;
  --ft-radius: 12px;
  --ft-split: 0.4;
  width: 100%;
  font-family: inherit;
}

.ZlLEtS1Pujeo1yYJ1YSX.ZuKAYikbo7MiUt2kR0K0 { --ft-split: 0.5; }
.ZlLEtS1Pujeo1yYJ1YSX.Hh9b9kl1LtQCbcoSkUuc { --ft-split: 0.3; }

.ius2m5of_7BByy4Cq975 {
  /* Width of the feature column. Rows and column cards both resolve 100% against the table width */
  --ft-c1: calc((100% - var(--ft-gap)) * var(--ft-split));
  position: relative;
}

/* ── column cards ── */
.Gy3k8wSDW6o6sOUQkgtJ {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 0;
  border: 1px solid var(--ft-border);
  pointer-events: none;
}

.nkH3GUxm0t0esdk7ZCkA {
  background: var(--ft-body1-bg);
  left: 0;
  width: var(--ft-c1);
  border-radius: var(--ft-radius) 0 0 var(--ft-radius);
}

.WL2FIAj4oVGougdQJQ7Z {
  background: var(--ft-body2-bg);
  left: calc(var(--ft-c1) + var(--ft-gap));
  right: 0;
  border-radius: 0 var(--ft-radius) var(--ft-radius) 0;
  box-shadow: var(--ft-shadow);
}

/* ── rows ── */
.wOclBNUJqWbN5L_tbWkX {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: var(--ft-c1) 1fr;
  -moz-column-gap: var(--ft-gap);
       column-gap: var(--ft-gap);
}

/* Shared cell box. Header and body cells take different type looks, so they never share a composes class */
.tQs27sumvpPrqq6XIJ58,
.alUyWaOdarN0ZgDdiUIX {
  display: flex;
  align-items: center;
  min-width: 0;
  /* 1px inset keeps row lines inside the card border */
  margin: 0 1px;
  padding: 18px 22px;
  overflow-wrap: anywhere;
}

.tQs27sumvpPrqq6XIJ58 {
  border-bottom: 1px solid var(--ft-line);
}

.wOclBNUJqWbN5L_tbWkX:last-child .tQs27sumvpPrqq6XIJ58 {
  border-bottom: 0;
}

.X8w_EWlMhkKD2FC0R84G { color: var(--ft-body1-text); }
.esgO7QBDXg4Lk6gYjary { color: var(--ft-body2-text); }

/* ── header (table column labels, not page headings) ── */
.alUyWaOdarN0ZgDdiUIX {
  justify-content: center;
  padding: 15px 16px;
  text-align: center;
}

.aywCed_HbVVSDFpUd8AI {
  margin-top: 1px;
  background: var(--ft-head1-bg);
  color: var(--ft-head1-text);
  border-radius: calc(var(--ft-radius) - 1px) 0 0 0;
}

/* Accent header runs flush over the card border */
.xP8mhH199U5PnuEj9m7w {
  margin: 0;
  background: var(--ft-head2-bg);
  color: var(--ft-head2-text);
  border-radius: 0 var(--ft-radius) 0 0;
}

.PZqiRw566tvUDABL8ux4 {
  margin: 12px 0 0;
  color: var(--ft-dim);
}

/* ── tablet / mobile landscape ── */
@media (max-width: 767px) {
  .tQs27sumvpPrqq6XIJ58 {
    padding: 14px 16px;
  }
  .alUyWaOdarN0ZgDdiUIX {
    padding: 12px 12px;
  }
}

/* ── mobile portrait ── */
@media (max-width: 479px) {
  .ZlLEtS1Pujeo1yYJ1YSX {
    --ft-radius: 10px;
  }
  .tQs27sumvpPrqq6XIJ58 {
    padding: 12px 12px;
  }
  .alUyWaOdarN0ZgDdiUIX {
    padding: 10px 10px;
  }
}

