/**
 * Brand tokens pulled from the forwardthinkers.io Webflow site (Primitives,
 * Color Schemes and Typography variable collections) — not placeholders.
 * General Sans is self-hosted on Forward Thinkers' own Webflow CDN; these
 * @font-face rules point at the same files rather than duplicating them.
 */
@font-face{font-family:'General Sans';font-weight:400;font-style:normal;font-display:swap;
  src:url('https://cdn.prod.website-files.com/6a89671c236395481fa89ad3/6a8968ea5eeb1e728fba9958_GeneralSans-Regular.otf') format('opentype');}
@font-face{font-family:'General Sans';font-weight:500;font-style:normal;font-display:swap;
  src:url('https://cdn.prod.website-files.com/6a89671c236395481fa89ad3/6a8968d3fe5bd6559545dd82_GeneralSans-Medium.otf') format('opentype');}
@font-face{font-family:'General Sans';font-weight:600;font-style:normal;font-display:swap;
  src:url('https://cdn.prod.website-files.com/6a89671c236395481fa89ad3/6a8968f25eeb1e728fba99dc_GeneralSans-Semibold.otf') format('opentype');}
@font-face{font-family:'General Sans';font-weight:700;font-style:normal;font-display:swap;
  src:url('https://cdn.prod.website-files.com/6a89671c236395481fa89ad3/6a8967e96a4ed7b947bbd539_GeneralSans-Bold.otf') format('opentype');}

:root{
  /* Dark theme, matching the black sections on forwardthinkers.io. Border
     colors are the real Opacity/White primitives from that site (meant
     exactly for dividers/strokes on a dark background), not invented. */
  --ft-font:'General Sans',system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --ft-page-bg:#151515;
  --ft-ink:#fbf8f3; --ft-ink-2:#cac7c1; --ft-ink-3:#878787;
  --ft-rule:hsla(0,0%,100%,.15); --ft-rule-2:hsla(0,0%,100%,.20);
  --ft-surface:#202020; --ft-surface-2:#323232;
  /* Lava Red - Accent/500: foreground accent (links, labels, rings). */
  --ft-accent:#f03522;
  /* Blue - Secondary/500: solid button fill, paired with white button text,
     where the contrast that matters is blue-vs-white, not blue-vs-black. */
  --ft-accent-strong:#1300ee;
  --ft-low:#f03522; --ft-mid:#8C5D06; --ft-high:#3F6E4E;
  --ft-radius:0; --ft-gap:14px;
}
.ft-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ft-p{margin:0 0 14px;line-height:1.55;color:var(--ft-ink)}
.ft-h2{margin:0 0 14px;line-height:1.2;color:var(--ft-ink)}
.ft-eyebrow{margin:0 0 10px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ft-ink-3)}
.ft-section{padding-top:30px;margin-top:30px;border-top:1px solid var(--ft-rule)}
.ft-section--connector{border-top:none;margin-top:0;padding-top:0}
.ft-score{margin:0 0 26px}
.ft-index-label{margin:0 0 10px;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ft-ink-3)}
.ft-index{display:flex;align-items:baseline;gap:6px;margin:0 0 14px}
.ft-index-number{font-size:84px;font-weight:600;line-height:.82;letter-spacing:-.04em;
  font-variant-numeric:tabular-nums lining-nums;color:var(--ft-ink)}
.ft-index-of{font-size:28px;font-weight:500;letter-spacing:-.01em;color:var(--ft-ink-3)}
.ft-score .ft-band{margin-bottom:0}
.ft-scale{margin:20px 0 0;max-width:420px}
.ft-scale-track{position:relative;display:grid;gap:3px;height:6px}
.ft-scale-seg{background:var(--ft-surface-2);border-radius:var(--ft-radius)}
.ft-scale-seg.is-current{background:var(--ft-ink-2)}
.ft-scale-seg--stalled.is-current{background:var(--ft-low)}
.ft-scale-seg--strained.is-current{background:var(--ft-mid)}
.ft-scale-seg--compounding.is-current{background:var(--ft-high)}
.ft-scale-mark{position:absolute;top:-5px;width:2px;height:16px;background:var(--ft-ink);
  transform:translateX(-1px)}
.ft-scale-names{display:grid;gap:3px;margin-top:9px;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ft-ink-3);white-space:nowrap}
.ft-scale-names .is-current{color:var(--ft-ink)}
.ft-scale-names span:last-child{text-align:right}
.ft-scale-next{margin:14px 0 0;font-size:13px;color:var(--ft-ink-2)}
.ft-band{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.12em;
  text-transform:uppercase;padding:5px 9px;border-radius:var(--ft-radius);
  margin-bottom:22px;background:var(--ft-surface-2);color:var(--ft-ink-2)}
.ft-band--stalled{background:#F6E7E0;color:var(--ft-low)}
.ft-band--strained{background:#F4EDDD;color:var(--ft-mid)}
.ft-band--compounding{background:#E4EBE2;color:var(--ft-high)}
.ft-bars{display:flex;flex-direction:column;gap:10px;margin:0 0 26px}
.ft-bar{display:grid;grid-template-columns:118px 1fr 42px;align-items:center;
  gap:var(--ft-gap);font-size:14px}
.ft-bar-label{font-weight:600;color:var(--ft-ink)}
.ft-bar-track{height:10px;background:var(--ft-surface-2);position:relative;
  border-radius:var(--ft-radius);overflow:hidden}
.ft-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:var(--ft-radius);
  background:var(--ft-ink-2);transition:width .5s cubic-bezier(.2,.7,.3,1)}
.ft-bar-value{font-variant-numeric:tabular-nums;text-align:right;color:var(--ft-ink-2)}
.ft-bar.is-low .ft-bar-fill{background:var(--ft-low)}
.ft-bar.is-mid .ft-bar-fill{background:var(--ft-mid)}
.ft-bar.is-high .ft-bar-fill{background:var(--ft-high)}
.ft-bar.is-friction .ft-bar-fill{background:var(--ft-low)}
.ft-bar.is-friction .ft-bar-label,.ft-bar.is-friction .ft-bar-value{
  color:var(--ft-low);font-weight:600}
.ft-delta{border-collapse:collapse;width:100%;max-width:420px;margin:18px 0 0;font-size:14px}
.ft-delta td{padding:7px 10px;border-bottom:1px solid var(--ft-rule);
  font-variant-numeric:tabular-nums}
.ft-delta-label{font-weight:600}
.ft-delta-from,.ft-delta-arrow{color:var(--ft-ink-3)}
.ft-delta-change{text-align:right;font-weight:600}
.ft-delta-row.is-up .ft-delta-change{color:var(--ft-high)}
.ft-delta-row.is-down .ft-delta-change{color:var(--ft-low)}
.ft-delta-row.is-flat .ft-delta-change{color:var(--ft-ink-3)}
.ft-benchmark{border-left:3px solid var(--ft-accent);padding:2px 0 2px 18px;margin:0}
.ft-benchmark-stat{font-size:16px;line-height:1.5;margin:0 0 10px;color:var(--ft-ink)}
.ft-source{font-size:12px;color:var(--ft-ink-3);margin:0;line-height:1.5}
.ft-source a{color:var(--ft-ink-3)}
.ft-actions{list-style:none;padding:0;margin:0;counter-reset:ft}
.ft-action{counter-increment:ft;padding-left:36px;position:relative;margin-bottom:20px}
.ft-action::before{content:counter(ft);position:absolute;left:0;top:0;font-size:11px;
  font-weight:600;color:var(--ft-accent);border:1px solid var(--ft-accent);
  width:22px;height:22px;display:grid;place-items:center;border-radius:50%}
.ft-action-title{display:block;margin-bottom:4px;color:var(--ft-ink)}
.ft-questions{list-style:none;padding:0;margin:0}
.ft-question{padding:12px 0 12px 18px;border-left:2px solid var(--ft-rule);
  margin-bottom:10px;font-style:italic;line-height:1.45;color:var(--ft-ink)}
.ft-cta{margin-top:34px;padding-top:24px;border-top:2px solid var(--ft-ink);
  display:flex;flex-wrap:wrap;gap:12px}
.ft-btn{display:inline-block;padding:12px 22px;border:0;background:var(--ft-accent-strong);color:#fff;
  text-decoration:none;border-radius:var(--ft-radius);font-weight:600;font-size:15px}
.ft-btn--ghost{background:transparent;color:var(--ft-accent);border:1px solid var(--ft-rule)}
.ft-fine{width:100%;margin:6px 0 0;font-size:13px;color:var(--ft-ink-3)}
@media (max-width:560px){
  .ft-bar{grid-template-columns:92px 1fr 38px;gap:10px}
  .ft-index-number{font-size:64px}
  .ft-index-of{font-size:22px}
  .ft-scale{max-width:none}
  .ft-scale-names{font-size:9px;letter-spacing:.06em}
}
@media (prefers-reduced-motion:reduce){.ft-bar-fill{transition:none}}