html {
  font-size: 100%;
}

body {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--text-primary);
  background: var(--background);
  letter-spacing: 0.01em;
}

.t-display {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 0.95;
  font-size: clamp(2.6rem, 7vw, 7.5rem);
}

.t-display-sm {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  line-height: 1;
  font-size: clamp(2rem, 4.5vw, 4.5rem);
}

.t-eyebrow {
  font-family: var(--font-mono);
  font-size: clamp(0.65rem, 0.9vw, 0.75rem);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--champagne);
  font-weight: 400;
}

.t-body {
  font-family: var(--font-body);
  font-size: clamp(0.95rem, 1.15vw, 1.125rem);
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: 34ch;
}

.t-meta {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.t-nav {
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.line-mask {
  overflow: hidden;
  display: block;
}

.line-mask > span,
.word-mask {
  display: inline-block;
  will-change: transform;
}

.split-word {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.split-word > span {
  display: inline-block;
}
