/* Tipografía DBFORMS: una familia clara y contemporánea, con alternativas locales. */
:root {
  --type-ui: "Inter", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
html, body { font-family: var(--type-ui); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, select, textarea { font-family: inherit; }
.brand { font-weight: 800; letter-spacing: -.055em; }
.brand small { font-weight: 650; letter-spacing: .16em; }
.home-heading h1, .service-intro h1 { font-weight: 800; letter-spacing: -.058em; line-height: .96; }
.card-overlay strong { font-weight: 750; letter-spacing: -.045em; line-height: 1; }
.panel-top h2, .info-panel h2 { font-weight: 750; letter-spacing: -.04em; line-height: 1.12; }
.eyebrow, .home-heading:after, .topbar:after, .service-intro:before, footer { font-weight: 650; letter-spacing: .15em; }
.home-heading > p:last-child, .service-intro > p:not(.eyebrow):not(.preview-note), .step-copy { line-height: 1.55; letter-spacing: .005em; }
label { font-size: 12px; font-weight: 650; letter-spacing: .005em; line-height: 1.35; }
input:not([type=checkbox]), select { font-size: 14px; font-weight: 400; letter-spacing: 0; }
.button, .outline-button, .read-terms, .info-mini, .back-link, .card-overlay > span { font-weight: 650; letter-spacing: .005em; }
.check { font-size: 13px; font-weight: 400; line-height: 1.48; }
.info-body { line-height: 1.6; letter-spacing: .003em; }
.required-note, .preview-note { line-height: 1.5; letter-spacing: .02em; }
@media (max-width: 700px) {
  .home-heading h1 { letter-spacing: -.055em; line-height: .98; }
  .service-intro h1 { letter-spacing: -.045em; line-height: 1; }
  .panel-top h2 { letter-spacing: -.035em; }
  .step-copy { line-height: 1.45; }
  .check { font-size: 12px; line-height: 1.4; }
}
