/* Public website only. Self-hosted Google Fonts; SIL OFL notices in fonts/. */
@font-face {
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/space-grotesk-latin-v1.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: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/plus-jakarta-sans-latin-v1.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;
}
body.public-website {
    --rx-font-body: 'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
    --rx-font-heading: 'Space Grotesk', 'Segoe UI', Arial, sans-serif;
    font-family: var(--rx-font-body);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
}
.public-website #main { scroll-margin-top: 105px; }
.public-website :is(button, input, select, textarea),
.public-website dialog.rx-drawer { font-family: var(--rx-font-body); }
.public-website :is(h1, h2, h3),
.public-website.reference-home :is(h1, h2, h3) {
    font-family: var(--rx-font-heading);
    font-weight: 700;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}
.public-website h1 { font-size: clamp(2.25rem, 4.6vw, 4rem); line-height: 1.08; }
.public-website h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; }
.public-website h3 { font-size: 1.25rem; line-height: 1.3; }
.public-website.reference-home :is(.ref-heading, .ref-how, .ref-banner, .ref-business, .google-testimonials-intro) h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.15;
}
.public-website.reference-home .ref-hero--india h1 { font-size: 4rem; line-height: 1.08; letter-spacing: -.025em; }
.public-website .hero-intro,
.public-website.reference-home .ref-hero--india .hero-intro { font-size: 1.125rem; line-height: 1.6; }
.public-website .quote-form :is(input, select, textarea) { font-size: 1rem; line-height: 1.5; }
.public-website .quote-form .field label { font-size: 1rem; font-weight: 600; line-height: 1.5; }
.public-website .quote-form :is(.field-help, .field-error, .form-note, .form-step-hint, .form-progress) { font-size: .875rem; line-height: 1.55; }
.public-website .quote-form .form-heading h2 { font-size: 1.75rem; line-height: 1.25; }
.public-website .quote-form .form-heading p { font-size: 1rem; line-height: 1.6; }
.public-website .quote-form .contact-heading { font-size: 1.5rem; line-height: 1.25; }
.public-website :is(.button, .ref-primary, .ref-outline, .text-link) { font-size: 1rem; font-weight: 600; line-height: 1.5; }
.public-website :is(.site-header nav, .ref-desktop-nav) { font-size: .875rem; font-weight: 600; }
.public-website .ref-call { font-size: 1rem; font-weight: 600; line-height: 1.4; min-height: 44px; }
.public-website :is(.eyebrow, .ref-eyebrow) { font-size: .75rem; font-weight: 600; letter-spacing: .09em; line-height: 1.6; }
.public-website .ref-footer h2 { font-family: var(--rx-font-body); font-size: .875rem; line-height: 1.5; letter-spacing: normal; font-weight: 600; }
.public-website .rx-drawer .rx-drawer-section h3 { font-family: var(--rx-font-body); font-size: .875rem; line-height: 1.4; letter-spacing: .045em; }
.public-website .rx-drawer-item strong { font-family: var(--rx-font-heading); font-weight: 600; }
.public-website .vehicle-copy strong { font-family: var(--rx-font-heading); font-weight: 700; }
.public-website .preview-explanation { font-size: .875rem !important; line-height: 1.55; }
.public-website .ref-local-note { font-size: .875rem; line-height: 1.6; }
@media (min-width: 601px) and (max-width: 1000px) {
    .public-website.reference-home .ref-hero--india h1 { font-size: clamp(2.5rem, 5.4vw, 3.25rem); }
}
@media (max-width: 600px) {
    .public-website #main { scroll-margin-top: 85px; }
    .public-website.reference-home .ref-hero--india h1 { font-size: 2.25rem; margin: 0; }
    .public-website.reference-home .ref-hero--india .hero-intro { font-size: 1rem; }
    .public-website .hero-map-layout {
        grid-template-columns: minmax(0, 1fr) 112px;
        grid-template-areas: 'eyebrow eyebrow' 'title title' 'intro map' 'controls controls';
        gap: 12px;
        padding-block: 16px 40px;
    }
    .public-website .ref-hero--india :is(.ref-hero-copy, .india-journey__visual) { display: contents; }
    .public-website .ref-hero--india .ref-eyebrow { grid-area: eyebrow; font-size: .6875rem; letter-spacing: .07em; margin: 0 !important; }
    .public-website .ref-hero--india h1 { grid-area: title; }
    .public-website .ref-hero--india .hero-intro { grid-area: intro; margin: 0; }
    .public-website .ref-hero--india .india-journey__map { grid-area: map; width: 112px; justify-self: end; }
    .public-website .ref-hero--india .india-journey__map-footer { grid-area: controls; justify-content: space-between; text-align: left; flex-wrap: wrap; gap: 8px 12px; }
    .public-website .ref-hero--india .india-journey__toggle { width: auto; max-width: 100%; }
    .public-website .quote-form .form-heading h2 { font-size: 1.5rem; }
    .public-website.reference-home :is(.ref-heading, .ref-how, .ref-banner, .ref-business, .google-testimonials-intro) h2 { font-size: 1.75rem; }
    .public-website .ref-heading { flex-wrap: wrap; gap: 16px; }
    .public-website .ref-call { font-size: .875rem; min-width: 0; flex-shrink: 1; }
    .public-website .ref-call span { min-width: 0; }
    .public-website .orange-benefits :is(strong, p) { font-size: .8125rem; line-height: 1.5; }
}
@media (max-width: 300px) {
    .public-website .hero-map-layout { grid-template-columns: 1fr; grid-template-areas: 'eyebrow' 'title' 'intro' 'map' 'controls'; }
    .public-website .ref-hero--india .india-journey__map { justify-self: center; }
}
