/* Shared type system. Load after the template and page styles. */
:root {
    --font-body: "Inter", Arial, sans-serif;
    --font-heading: "Playfair Display", Georgia, serif;
    --bs-font-sans-serif: var(--font-body);
}
body { font-family: var(--font-body); font-weight: 400; }
button, input, select, textarea, .btn { font-family: var(--font-body); }
body :is(h1, h2, .h1, .h2) {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.025em;
}
body :is(h3, h4, h5, h6, .h3, .h4, .h5, .h6) {
    font-family: var(--font-body);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -.015em;
}
.landing-page h2, .landing-page #servicios h2 {
    font-size: clamp(30px, 3.4vw, 44px);
}
.landing-page .brand-hero h1 { font-size: clamp(36px, 5vw, 64px); }
.landing-page .brand-hero h1 span { font-weight: inherit; }
.landing-page .hero-promise { max-width: 760px; font-size: clamp(21px, 2.2vw, 28px); line-height: 1.35; }
.landing-page .hero-copy { margin-bottom: 18px; }
.landing-page .hero-invitation { margin-bottom: 28px; }
.landing-page .authorization-grid h3 { max-width: 400px; font-size: 20px; line-height: 1.4; margin-bottom: 16px; }
body :is(.section-kicker, h6.text-uppercase) {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .06em;
    text-transform: uppercase;
}
body :is(.fleet-stats strong, .milestone-year) { font-family: var(--font-body); font-weight: 600; }
