/* Source Sans 3 from Adobe, SIL OFL 1.1. Locally hosted upright variable font. */
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:200 900;font-display:swap;src:url('fonts/source-sans-3-upright.woff2') format('woff2')}
:root{--vbt-font:'Source Sans 3','Segoe UI',Arial,sans-serif;--vbt-body:16px;--vbt-small:14px;--muted:#46566b}
body{font-family:var(--vbt-font);font-size:var(--vbt-body);line-height:1.6;font-synthesis:none}
button,input,select,textarea{font-family:var(--vbt-font)}
h1,h2,h3,h4,legend,.setup-card h3,.wizard-success h3,.process-grid span,.location-row strong,.route-guide-copy h3{font-family:var(--vbt-font)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.012em;line-height:1.2;text-wrap:balance}
h1{font-size:44px}h2{font-size:30px}h3{font-size:22px}h4{font-size:20px;margin:0}
.hero h1,.inner-hero h1,.setup-route-hero h1,.content-prose h1{font-family:var(--vbt-font);font-size:42px;font-weight:600;line-height:1.15;letter-spacing:-.015em;max-width:25ch}
.section-heading h2,.process-section h2,.questions h2,.section-title,.contact-section h2,.route-guide-layout h2,.contact-grid h2,.route-comparison h2,.costs-breakdown h2{font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.012em}
.setup-card h2,.finder-heading h2,.service-detail-grid h2,.contact-grid h3,.content-prose h2{font-size:27px;font-weight:600;line-height:1.25;letter-spacing:-.01em}
.service-list h3,.process-grid h3,.directory-item h3,.finder-summary h3,.finder-step h3,.option-heading h3,.service-summary h2{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.008em}
.inner-intro,.hero-intro,.section-heading>p,.service-list p,.process-grid p,.directory-item p,.detail-list,.route-guide-copy p,.contact-grid p,.content-prose,.cost-rows p,.option-heading p{font-size:16px;line-height:1.65}
.inner-intro{max-width:55ch}.content-prose{max-width:68ch}.route-guide-copy h3{font-size:21px;font-weight:600;letter-spacing:-.008em;line-height:1.3}
.eyebrow,.hero-kicker,.hero .hero-kicker,.finder-summary .eyebrow,.dialog-header .eyebrow{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.1em;margin-bottom:12px}
#primary-nav,.nav-links{font-size:15px}.wordmark{font-size:29px;letter-spacing:-.045em;font-weight:700}.button,.text-button{font-family:var(--vbt-font);font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4}.header-contact{font-size:15px}
label:not(.choice),.setup-card label:not(.choice):not(.consent){font-size:14px;font-weight:600;line-height:1.5}.choice{font-size:15px;line-height:1.4;min-height:48px}.setup-card input:not([type=radio]):not([type=checkbox]),.setup-card select,.setup-card textarea,input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;line-height:1.4;min-height:44px}
legend,.setup-card h3{font-size:16px;line-height:1.5;font-weight:600;letter-spacing:0}.consent,.setup-card .consent{font-size:14px!important;line-height:1.55}.setup-card .small-print,.small-print,.finder-scope,.finder-step label>small,.location-row small,.finder-results-count,.finder-no-payment,.finder-summary dt,.step-summary,#step-count,.breadcrumbs,.option-bottom small,.price-note{font-size:13px!important;line-height:1.6}.finder-step label>small{font-weight:400}.location-row strong{font-size:16px;font-weight:600}.location-alternatives .location-row strong{font-size:15px}.finder-summary dd,.summary-next,.finder-summary .summary-next,.finder-heading>p,.finder-step-intro,.finder-empty,.finder-progress,.finder-extras label,.finder-extras legend,.finder-extras legend span{font-size:14px!important;line-height:1.6}
.finder-actions .button{font-size:15px}.finder-summary dt{margin-bottom:5px}.finder-progress span{font-size:12px}.finder-extras label{min-height:44px}.finder-step h3{font-size:24px}.finder-success h3{font-size:28px;line-height:1.25}.finder-success p{font-size:16px;line-height:1.6}
summary,.setup-route-faq summary{font-size:16px;font-weight:600;line-height:1.5}details p,.faq-grid>div>p:not(.eyebrow),.scope-note{font-size:16px;line-height:1.65}.footer-grid p,.footer-grid strong,.footer-grid>div>a:not(.footer-brand),.footer-bottom{font-size:14px;line-height:1.6}.page-visual figcaption{font-size:13px}
@media(max-width:760px){.hero h1,.inner-hero h1,.setup-route-hero h1,.content-prose h1{font-size:34px;line-height:1.18;letter-spacing:-.01em}.section-heading h2,.process-section h2,.questions h2,.section-title,.contact-section h2,.route-guide-layout h2,.contact-grid h2{font-size:28px}.finder-heading h2,.setup-card h2,.service-detail-grid h2{font-size:25px}.route-intro-grid .inner-intro{font-size:16px}.finder-progress{gap:12px;padding:14px 16px;flex-wrap:wrap}.finder-progress li{flex:1;min-width:140px}.finder-progress li span{flex-shrink:0}.finder-summary dl>div{grid-template-columns:1fr;gap:3px}.setup-card .form-grid{grid-template-columns:1fr}.header-contact{font-size:14px}.content-prose h2{font-size:25px}}
