*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }

body {
  font-family: var(--font-sans);
  background: var(--white);
  color: var(--primary);
  overflow-x: hidden;
  line-height: 1.6;
}

/* Typography scale */
.t-display {
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 800;
  line-height: .97;
  letter-spacing: -2.5px;
}
.t-display em { font-style: normal; color: var(--accent); font-weight: 800; }

.t-h2 {
  font-size: clamp(28px, 3.8vw, 52px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -1.5px;
}
.t-h2 em { font-style: normal; color: var(--accent); font-weight: 800; }

.t-h3 {
  font-size: clamp(20px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.6px;
}

.t-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--neutral-600);
}

.t-body {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  color: var(--neutral-600);
}

.t-small {
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--neutral-600);
}

a { text-decoration: none; color: inherit; }
