/* Shared typography for the whole site. Loaded after page CSS.
 * Layout, color and motion remain in their respective components.
 * Compact proof and contact cards retain their own semantic scales. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../../fonts/inter/inter-latin-variable.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../../fonts/inter/inter-latin-ext-variable.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
    --font-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --type-hero-size: clamp(36px, 5vw, 62px);
    --type-section-size: clamp(38px, 4.25vw, 48px);
    --type-card-size: clamp(18px, 1.5vw, 22px);
    --type-hero-weight:700;
    --type-section-weight:700;
    --type-card-weight:700;
    --type-section-leading:.99;
    --type-section-tracking:-.055em;
    --type-card-leading:1.08;
    --type-card-tracking:-.035em;
    --type-body-size: 16px;
    --type-body-leading: 1.62;
    --type-lead-size: clamp(16px, 1.15vw, 18px);
    --type-lead-leading: 1.58;
    font-family: var(--font-sans);
}
body #conteudo h1 {
    font-size: var(--type-hero-size);
    font-weight: var(--type-hero-weight);
    line-height: 1.05;
    letter-spacing: -.04em;
}
body:not(.page-home) #conteudo :is(
    .human-feature-title, .regional-feature-title,
    .event-heading, .aph-heading, .protected-heading, .neonatal-heading, .rental-heading
) {
    font-size: var(--type-section-size);
    font-weight: var(--type-section-weight);
    line-height: var(--type-section-leading);
    letter-spacing: var(--type-section-tracking);
}
body:not(.page-home) #conteudo :is(
    h3, .page-service-title, .removal-call-card h2, .rental-summary h2,
    .neonatal-opening-contact-title, .legal-document h2
) {
    font-size: var(--type-card-size);
    font-weight: var(--type-card-weight);
    line-height: var(--type-card-leading);
    letter-spacing: var(--type-card-tracking);
}
body:not(.page-home) #conteudo :is(
    .human-feature-text, .regional-feature-text, .event-text, .aph-text,
    .protected-text, .neonatal-text, .rental-text,
    .removal-call-card p, .removal-guidance p, .removal-steps p, .removal-types p,
    .event-resource p, .page-service-description, .page-services-note,
    .legal-page-summary p, .legal-document p, .legal-document li, .not-found > .site-shell > p
) {
    font-size: var(--type-body-size);
    font-weight: var(--type-body-weight);
    line-height: var(--type-body-leading);
    letter-spacing: -.01em;
}
body:not(.page-home) #conteudo :is(
    .hero-lead, .removal-lead, .event-lead, .aph-lead, .protected-lead, .neonatal-lead, .rental-lead
) {
    font-size: var(--type-lead-size);
    font-weight: var(--type-body-weight);
    line-height: var(--type-lead-leading);
    letter-spacing: normal;
}
/* Short labels and alerts follow the home form's compact type. */
body:not(.page-home) #conteudo :is(
    .event-advice p, .aph-advice p, .protected-advice p, .neonatal-advice p, .rental-advice p,
    .rental-related.rental-advice .rental-text
) { font-size: var(--type-alert-size); line-height:var(--type-alert-leading); letter-spacing:-.01em; }
body:not(.page-home) #conteudo :is(
    .contact-action, .hero-action, .not-found-link
) { font-size: var(--type-action-size); font-weight:var(--type-action-weight); line-height:var(--type-action-leading); letter-spacing:var(--type-action-tracking); }
body:not(.page-home) #conteudo :is(
    .removal-call-number, .aph-call-number, .protected-call-number, .neonatal-call-number
) { font-size: 18px; font-weight:700; line-height:1.3; letter-spacing:-.02em; }
body:not(.page-home) #conteudo :is(
    .removal-step-number, .event-step-number, .aph-step-number, .protected-step-number,
    .neonatal-step-number, .rental-step-number
) { font-size: clamp(30px,2.45vw,34px); font-weight:700; line-height:1.03; letter-spacing:-.05em; }
@media(max-width:980px) {
    :root { --type-section-size: clamp(36px,7vw,52px); }
}
@media(max-width:640px) {
    :root { --type-lead-leading:1.55; }
}
@media(max-width:620px) {
    :root {
        --type-section-size: 34px;
        --type-card-size: 16px;
        --type-body-size: 16px;
        --type-body-leading:1.55;
    }
}
/* Home: section headings and text use the same roles as internal pages. */
.page-home #conteudo :is(.human-feature-title,.regional-feature-title,.services-title,.social-proof-title,.testimonials-title,.contact-title) {
    font-size: var(--type-section-size);
    font-weight:var(--type-section-weight);
    line-height:var(--type-section-leading);
    letter-spacing:var(--type-section-tracking);
}
.page-home #conteudo .service-card-title {
    font-size: var(--type-card-size);
    font-weight:var(--type-card-weight);
    line-height:var(--type-card-leading);
    letter-spacing:var(--type-card-tracking);
}
.page-home #conteudo :is(.human-feature-text,.regional-feature-text,.social-proof-copy,.contact-copy,.contact-lead) {
    font-size: var(--type-body-size);
    font-weight:var(--type-body-weight);
    line-height:var(--type-body-leading);
    letter-spacing:-.01em;
}
.page-home #conteudo .hero-lead {
    font-size: var(--type-lead-size);
    font-weight:var(--type-body-weight);
    line-height:var(--type-lead-leading);
}
/* Proof is a compact introduction, not a full-size section heading. */
:root { --type-proof-size: clamp(30px,2.45vw,34px); --type-contact-card-size: 18px; }
.page-home #conteudo .proof-title {
    font-size: var(--type-proof-size);
    font-weight:var(--type-section-weight);
    line-height:1.03;
    letter-spacing:-.05em;
}
.page-home #conteudo :is(h3.contact-card-title,.contact-info-value) {
    font-size: var(--type-contact-card-size);
    font-weight:var(--type-card-weight);
    line-height:1.3;
    letter-spacing:-.02em;
}
@media(min-width:981px) {
    .page-home #conteudo :is(.contact-title,.social-proof-title,.testimonials-title) { line-height:1.06; }
}
@media(max-width:620px) {
    :root { --type-proof-size: clamp(28px,9vw,34px); }
}
:root { --type-action-size: 16px; --type-action-weight:700; --type-compact-body-size: 16px; --type-kicker-size: clamp(20px,1.55vw,24px); }
.page-home #conteudo :is(.contact-action,.hero-action,.human-feature-action) { font-size: var(--type-action-size); font-weight:var(--type-action-weight); }
.page-home #conteudo .services-lead { font-size: var(--type-compact-body-size); line-height:1.55; }
.page-home #conteudo .human-feature-kicker { font-size: var(--type-kicker-size); font-weight:650; line-height:1.22; letter-spacing:-.025em; }
@media(max-width:620px) {
    :root { --type-compact-body-size: 16px; --type-kicker-size: 20px; --type-contact-card-size: 18px; }
}
/* Supporting text and interface controls. All sizes below are independent. */
:root {
    --type-body-weight:400;
    --type-label-size: 14px;
    --type-label-weight:600;
    --type-label-leading:1.4;
    --type-caption-size: 12px;
    --type-caption-weight:400;
    --type-caption-leading:1.5;
    --type-eyebrow-size: 16px;
    --type-eyebrow-weight:700;
    --type-eyebrow-leading:1.5;
    --type-breadcrumb-size: 14px;
    --type-breadcrumb-leading:1.5;
    --type-highlight-size: 16px;
    --type-highlight-weight:700;
    --type-highlight-leading:1.4;
    --type-alert-size: 14px;
    --type-alert-leading:1.55;
    --type-action-leading:1.25;
    --type-action-tracking:-.012em;
    --type-field-size: 16px;
    --type-field-weight:400;
    --type-field-leading:1.5;
    --type-option-size: 14px;
    --type-option-weight:500;
    --type-option-leading:1.35;
    --type-nav-size: .875rem;
    --type-nav-weight:500;
    --type-nav-leading:1.2;
    --type-header-action-size: 1rem;
    --type-header-action-weight:600;
    --type-mobile-nav-size: .75rem;
    --type-menu-caption-size: 12px;
    --type-menu-cta-size: 24px;
    --type-mobile-menu-cta-size: 18px;
    --type-footer-title-size: clamp(28px,2.5vw,38px);
    --type-footer-title-leading:1.02;
    --type-footer-copy-size: 16px;
    --type-footer-copy-leading:1.6;
    --type-footer-link-size: 16px;
    --type-footer-link-weight:500;
    --type-footer-link-leading:1.35;
    --type-footer-meta-size: 14px;
    --type-footer-meta-leading:1.5;
    --type-cookie-banner-title-size: clamp(22px,2vw,30px);
    --type-cookie-dialog-title-size: clamp(26px,3vw,34px);
    --type-cookie-heading-size: clamp(22px,2.5vw,28px);
    --type-cookie-copy-size: 14px;
    --type-cookie-button-size: 14px;
    --type-cookie-badge-size: 12px;
    --type-proof-number-size: 56px;
    --type-phone-size: 18px;
    --type-phone-leading:1.3;
}
body :is(.desktop-nav > a,.services-trigger,.mega-service strong) {
    font-size: var(--type-nav-size); font-weight:var(--type-nav-weight); line-height:var(--type-nav-leading);
}
body .header-action { font-size: var(--type-header-action-size); font-weight:var(--type-header-action-weight); letter-spacing:-.01em; }
body :is(.mega-label,.mobile-services-label) { font-size: var(--type-menu-caption-size); font-weight:var(--type-label-weight); }
body .mega-service small { font-size: var(--type-menu-caption-size); line-height:1.35; }
body .mega-cta strong { font-size: var(--type-menu-cta-size); font-weight:var(--type-card-weight); line-height:1.16; letter-spacing:-.02em; }
body .mobile-main-links > a { font-size: var(--type-label-size); font-weight:var(--type-action-weight); }
body .mobile-service { font-size: var(--type-mobile-nav-size); font-weight:var(--type-nav-weight); line-height:1.22; }
body .mobile-mega-cta-copy small { font-size: var(--type-label-size); line-height:1.3; }
body .mobile-mega-cta-copy strong { font-size: var(--type-mobile-menu-cta-size); font-weight:var(--type-card-weight); line-height:1.16; }
body .footer-brand-title { font-size: var(--type-footer-title-size); font-weight:var(--type-section-weight); line-height:var(--type-footer-title-leading); letter-spacing:-.045em; }
body .footer-brand-copy { font-size: var(--type-footer-copy-size); font-weight:var(--type-body-weight); line-height:var(--type-footer-copy-leading); }
body .footer-heading { font-size: var(--type-footer-meta-size); font-weight:var(--type-card-weight); line-height:1.3; }
body :is(.footer-links a,.footer-link-button,.footer-contact-list a) { font-size: var(--type-footer-link-size); font-weight:var(--type-footer-link-weight); line-height:var(--type-footer-link-leading); }
body .footer-bottom p { font-size: var(--type-footer-meta-size); font-weight:var(--type-body-weight); line-height:var(--type-footer-meta-leading); }
body .cookie-banner-title { font-size: var(--type-cookie-banner-title-size); font-weight:var(--type-section-weight); line-height:1.08; letter-spacing:-.035em; }
body .cookie-dialog-title { font-size: var(--type-cookie-dialog-title-size); font-weight:var(--type-section-weight); line-height:1.04; letter-spacing:-.045em; }
body :is(.cookie-banner-text,.cookie-dialog-intro) { font-size: var(--type-cookie-copy-size); font-weight:var(--type-body-weight); line-height:1.6; }
body .cookie-button { font-size: var(--type-cookie-button-size); font-weight:var(--type-action-weight); }
body .cookie-settings h3 { font-size: var(--type-cookie-heading-size); font-weight:var(--type-card-weight); line-height:1.12; letter-spacing:-.035em; }
body .cookie-category-heading h4 { font-size: var(--type-alert-size); font-weight:var(--type-card-weight); }
body .cookie-category-heading span { font-size: var(--type-cookie-badge-size); font-weight:var(--type-label-weight); }
body .cookie-category p { font-size: var(--type-label-size); font-weight:var(--type-body-weight); line-height:1.55; }
body #conteudo :is(.page-eyebrow,.removal-eyebrow,.event-eyebrow,.aph-eyebrow,.protected-eyebrow,.neonatal-eyebrow,.rental-eyebrow) {
    font-size: var(--type-eyebrow-size); font-weight:var(--type-eyebrow-weight); line-height:var(--type-eyebrow-leading);
}
body #conteudo :is(.removal-breadcrumb,.event-breadcrumb,.aph-breadcrumb,.protected-breadcrumb,.neonatal-breadcrumb,.rental-breadcrumb) {
    font-size: var(--type-breadcrumb-size); font-weight:var(--type-body-weight); line-height:var(--type-breadcrumb-leading);
}
body #conteudo :is(.removal-highlights li,.event-principles li,.aph-highlights li,.protected-highlights li,.neonatal-highlights li,.rental-highlights li,
    .contact-info-label,.contact-info-note,.contact-map-link,.event-contact-note,.aph-contact-note,.protected-contact-note,.neonatal-contact-note,.rental-contact-note) {
    font-size: var(--type-label-size); line-height:var(--type-label-leading);
}
body #conteudo :is(.removal-highlights strong,.event-principles strong,.aph-highlights strong,.protected-highlights strong,.neonatal-highlights strong,.rental-highlights strong) {
    font-size: var(--type-highlight-size); font-weight:var(--type-highlight-weight); line-height:var(--type-highlight-leading);
}
body #conteudo :is(.event-photo figcaption,.aph-photo figcaption,.protected-photo figcaption,.neonatal-photo figcaption,.rental-photo figcaption) { font-size: var(--type-label-size); line-height:var(--type-caption-leading); }
body #conteudo :is(.event-photo figcaption strong,.aph-photo figcaption strong,.protected-photo figcaption strong,.neonatal-photo figcaption strong,.rental-photo figcaption strong) { font-size: var(--type-highlight-size); font-weight:var(--type-highlight-weight); line-height:var(--type-highlight-leading); }
body #conteudo .contact-field-label { font-size: var(--type-label-size); font-weight:var(--type-label-weight); line-height:var(--type-label-leading); }
body #conteudo :is(.contact-field-control,.contact-select-trigger) { font-size: var(--type-field-size); font-weight:var(--type-field-weight); line-height:var(--type-field-leading); }
body #conteudo .contact-select-option { font-size: var(--type-option-size); font-weight:var(--type-option-weight); line-height:var(--type-option-leading); }
body #conteudo .contact-select-option[aria-selected="true"] { font-weight:var(--type-label-weight); }
body #conteudo :is(.contact-field-meta,.contact-privacy,.event-resource-note) { font-size: var(--type-caption-size); font-weight:var(--type-caption-weight); line-height:var(--type-caption-leading); }
body #conteudo .contact-form-status { font-size: var(--type-label-size); font-weight:var(--type-label-weight); line-height:1.45; }
body #conteudo .contact-availability-row span { font-size: var(--type-option-size); font-weight:var(--type-label-weight); line-height:var(--type-label-leading); }
body #conteudo .contact-availability-row strong { font-size: var(--type-option-size); font-weight:var(--type-card-weight); line-height:var(--type-label-leading); }
body #conteudo :is(.contact-info-value,.removal-call-number,.aph-call-number,.protected-call-number,.neonatal-call-number) { font-size: var(--type-phone-size); font-weight:var(--type-card-weight); line-height:var(--type-phone-leading); }
body #conteudo :is(.contact-action,.hero-action,.human-feature-action,.not-found-link) { font-size: var(--type-action-size); font-weight:var(--type-action-weight); }
body .floating-action { font-size: var(--type-action-size); font-weight:var(--type-action-weight); line-height:1.18; letter-spacing:var(--type-action-tracking); }
body #conteudo .proof-metric-value { font-size: var(--type-proof-number-size); font-weight:var(--type-section-weight); line-height:.9; letter-spacing:-.07em; }
body #conteudo :is(.proof-lead,.proof-small-label) { font-size: var(--type-option-size); line-height:1.35; }
body #conteudo .legal-document h4 { font-size: var(--type-field-size); font-weight:var(--type-card-weight); line-height:1.3; }
body #conteudo .cookie-policy-list dt { font-size: var(--type-label-size); font-weight:var(--type-label-weight); }
body #conteudo .cookie-policy-list dd { font-size: var(--type-cookie-copy-size); line-height:1.68; }
@media(max-width:1280px) { :root { --type-header-action-size: .875rem; } }
@media(min-width:820px) and (max-width:899px) { :root { --type-mobile-menu-cta-size: 20px; } }
@media(max-width:640px) { :root { --type-highlight-size: 16px; } }
@media(max-width:620px) {
    :root {
        --type-breadcrumb-size: 12px;
        --type-footer-title-size: 30px;
        --type-footer-copy-size: 14px;
        --type-cookie-banner-title-size: 22px;
        --type-cookie-dialog-title-size: 26px;
        --type-proof-number-size: 48px;
        --type-phone-size: 18px;
    }
}
@media(max-width:380px) { :root { --type-mobile-nav-size: .75rem; } }
:root { --type-emphasis-weight:650; --type-benefit-size: 16px; --type-benefit-leading:1.34; }
body :is(.mega-cta small,.cookie-text-button) { font-weight:var(--type-emphasis-weight); }
body #conteudo :is(.contact-map-link,.human-feature-kicker,.legal-document a) { font-weight:var(--type-emphasis-weight); }
body #conteudo :is(.contact-info-label,.event-types li,.rental-summary li) { font-size: var(--font-body-size); font-weight:var(--type-label-weight); }
body #conteudo :is(.human-benefits li,.regional-benefits li,.page-essence-values li) { font-size: var(--type-benefit-size); font-weight:var(--type-label-weight); line-height:var(--type-benefit-leading); }
@media(max-width:620px) { :root { --type-benefit-size: 14px; } }
