/* --------------------------------------------------------------------------
   Tipografia pública.
   Roboto Condensed deixa a interface mais leve, vertical e institucional.
   -------------------------------------------------------------------------- */
body,
button,
input,
select,
textarea {
    font-family: var(--font-sans);
    font-weight: 400;
}

h1,
h2,
h3,
.public-brand strong,
.voting-card__topbar strong,
.summary-box strong,
.option-card__header h3,
.choice-summary strong,
.results-intro h1,
.leader-panel h2,
.ranking-main h3 {
    font-family: var(--font-sans);
    font-weight: 600;
    letter-spacing: -0.012em;
}

.public-cover h1 {
    font-weight: 600;
    letter-spacing: -0.018em;
    line-height: 1.01;
}

.public-cover__label,
.eyebrow,
.results-kicker,
.voting-card__eyebrow,
.voting-status,
.summary-box__label,
.option-card__meta,
.metric-panel > span,
.ranking-count {
    font-weight: 600;
    letter-spacing: .08em;
}

.public-brand small,
.public-header-chip,
.public-profile__copy p,
.voting-card__topbar > div > span,
.step-heading p,
.field-group small,
.option-card__header p,
.results-intro p,
.ranking-main p,
.ranking-meta,
.metric-panel > small {
    font-weight: 400;
}

.public-nav__link,
.status-badge,
.button,
.public-profile__action,
.voting-card__badge,
.select-chip,
.option-card__footer,
.leader-label,
.results-action,
.live-status strong {
    font-weight: 600;
}

.step-number,
.success-state__icon,
.choice-summary__icon,
.ranking-position,
.brand-mark {
    font-weight: 700;
}

/* Reduz a sensação de texto excessivamente grande/pesado no banner. */
.public-cover h1 {
    font-size: clamp(2.2rem, 3.7vw, 3.85rem);
}

/* Roboto Condensed fica melhor com um pouco mais de entrelinha em textos corridos. */
p,
.public-cover p,
.step-heading p,
.option-card__header p,
.public-profile__copy p {
    line-height: 1.55;
}
