:root {
    --font-body: 'Inter', 'Segoe UI', Arial, sans-serif;
    --font-heading: 'Inter', 'Segoe UI', Arial, sans-serif;
    --bs-body-font-family: var(--font-body);
    --bs-font-sans-serif: var(--font-body);
    --bs-body-font-size: 1.058824rem;
    --bs-body-line-height: 1.65;
    font-size: 17px;
}
body {
    font-family: var(--font-body) !important;
    font-size: 18px;
    line-height: 1.65;
    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}
body :is(p, label, legend, input, select, textarea, button, .btn, .form-control, .form-select, .nav-link, .dropdown-item, .table, .select2-container) {
    font-family: var(--font-body) !important;
}
body p { font-weight: 400; }
body :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    font-family: var(--font-heading) !important;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -.025em;
}
body:not(.marketing-home) :is(input, select, textarea, .form-control, .form-select) {
    font-size: 1rem;
    line-height: 1.5;
}
body:not(.marketing-home) :is(.table, .grid-view, .detail-view) {
    font-size: .941176rem;
    line-height: 1.6;
}
body:not(.marketing-home) :is(.form-label, .control-label, .help-block, .hint-block, .invalid-feedback) {
    font-size: .882353rem;
    line-height: 1.6;
}
body:not(.marketing-home) :is(.form-control-sm, .form-select-sm, .input-sm, .btn-sm) {
    font-size: .882353rem;
}
body:not(.marketing-home) :is(.small, small) { font-size: .882353rem; }
body.marketing-home { font-size: 18px; line-height: 1.7; }
body.marketing-home :is(h1,h2,h3) { line-height: 1.2; }
body.marketing-home :is(.hero-description, .feature-card p, .overview-copy>p, .steps p, .audience-grid p, .faq-grid>div>p, .faq-list details p, .cta-section p, .section-heading>p, .center-heading p, .location-section>p, .arrival-steps p, .location-title p, .explorer-heading p) {
    font-size: 18px;
    line-height: 1.8;
}
/* Code retains its own monospace font; icon fonts are intentionally untouched. */
code, pre, kbd, samp { font-family: 'Cascadia Code', Consolas, monospace; }
@media(max-width:600px) {
    :root { font-size: 16px; }
    body, body.marketing-home { font-size: 17px; }
    body.marketing-home :is(.hero-description, .feature-card p, .overview-copy>p, .steps p, .audience-grid p, .faq-grid>div>p, .faq-list details p, .cta-section p, .section-heading>p, .center-heading p, .location-section>p, .arrival-steps p, .location-title p, .explorer-heading p) { font-size:17px; }
    body:not(.marketing-home) :is(input,select,textarea,.form-control,.form-select) { font-size:16px; }
    body.marketing-home :is(input,select,textarea) { font-size:16px !important; }
}
