.tsp,
.tsp button,
.tsp input,
.tsp select,
.tsp textarea {
    font-family: Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

/* Match the typography language of /configurator/: compact labels,
   dense uppercase display headings and restrained body copy. */
.tsp-v4 h1,
.tsp-v4 h2,
.tsp-v4 h3 {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
}

.tsp-v4 h1 {
    font-size: clamp(46px, 5.25vw, 84px);
    line-height: .94;
    letter-spacing: -.055em;
    text-transform: uppercase;
}

.tsp-v4 h2 {
    font-size: clamp(34px, 3.9vw, 62px);
    line-height: .96;
    letter-spacing: -.05em;
    text-transform: uppercase;
}

.tsp-v4 h3 {
    font-size: 22px;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.tsp-v4-overline,
.tsp-v4-anchor a,
.tsp-v4-summary__eyebrow,
.tsp-v4-profile-story__card span,
.tsp-v4-hero__chips span {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.tsp-v4-hero__lead,
.tsp-v4-section__title p,
.tsp-v4-material__grid article p,
.tsp-v4-profile-story__card p,
.tsp-v4-paint p,
.tsp-v4-system p,
.tsp-v4-faq p {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
}

.tsp-v4-btn,
.tsp-v4-pills a,
.tsp-v4-packages a,
.tsp-v4-summary button,
.tsp-v4-area button,
.tsp-v4-final button {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 700;
    letter-spacing: .01em;
}

/* Configurator-style tighter UI copy. */
.tsp-v4-choice-head strong,
.tsp-v4-profile__text strong,
.tsp-v4-package-title strong {
    letter-spacing: -.01em;
}

.tsp-v4-choice-head small,
.tsp-v4-profile__text small,
.tsp-v4-summary__selection span,
.tsp-v4-summary__help {
    letter-spacing: 0;
}

@media (max-width: 720px) {
    .tsp-v4 h1 {
        font-size: clamp(40px, 13vw, 62px);
        line-height: .94;
    }

    .tsp-v4 h2 {
        font-size: clamp(32px, 10vw, 48px);
        line-height: .98;
    }
}
