body {
  font-family: var(--ft-font-body);
  color: var(--ft-text);
  line-height: 1.65;
  text-rendering: geometricPrecision;
}

.ft-eyebrow {
  margin: 0;
  color: var(--ft-gold-light);
  font-family: var(--ft-font-body);
  font-size: clamp(0.74rem, 0.74vw, 0.86rem);
  font-weight: 800;
  letter-spacing: 0.22em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ft-red-text {
  color: var(--ft-red);
}

.ft-grad-text {
  background: var(--ft-grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.ft-h1,
.ft-h2,
.ft-logo-name,
.ft-service-card h3,
.ft-value-card h3,
.ft-callout h3,
.ft-intake-card h3 {
  font-family: var(--ft-font-display);
}

.ft-h1,
.ft-h2 {
  margin: 0;
  color: var(--ft-text);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.02;
}

.ft-h1 {
  font-size: clamp(3rem, 4vw, 5.25rem);
  text-transform: uppercase;
  text-shadow: 0 14px 30px rgba(0, 0, 0, 0.44);
}

.ft-h1-content {
  display: block;
  background: linear-gradient(180deg, #ffffff 0%, #f2f4f7 42%, #b8c0cb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.ft-break-mobile {
  display: none;
}

.ft-h1 em,
.ft-h2 span {
  font-style: normal;
  background: var(--ft-grad-gold);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.ft-h1 b,
.ft-h2 b {
  color: var(--ft-red);
  -webkit-text-fill-color: var(--ft-red);
  font-weight: inherit;
}

.ft-h2 {
  font-size: clamp(2.05rem, 3vw, 3.45rem);
}

.ft-lede,
.ft-section-copy {
  color: var(--ft-muted);
  font-size: clamp(1rem, 1.1vw, 1.16rem);
  line-height: 1.65;
}

.ft-microcopy {
  color: var(--ft-dim);
  font-size: 0.92rem;
}
