/* US map, phone marquee and footer, 2026-10-19. Loaded after light-theme.css. */
.us-map{background:#08111f;color:#fff;padding:72px max(4vw,24px) 56px;overflow:hidden}.us-map-inner{max-width:var(--max,1200px);margin:0 auto;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:center}.us-map .kicker{color:#ff777d}.us-map h2{margin:6px 0 14px;color:#fff;font-size:clamp(3rem,5vw,4.6rem)}.us-map h2 em{font-style:normal;color:#e11d2a}.us-map p{margin:0;color:#c3d0e2;max-width:34ch}.us-map-art{display:block;width:100%;height:auto;filter:drop-shadow(0 0 28px rgba(77,163,255,.25))}
.call-marquee{display:block;background:#0e1a2b;color:#fff;border-top:1px solid rgba(77,163,255,.35);border-bottom:1px solid rgba(77,163,255,.35);overflow:hidden;text-decoration:none}.call-marquee:focus-visible{outline:3px solid #ffbf57;outline-offset:-3px}.call-marquee-track{display:flex;width:max-content;animation:call-marquee 28s linear infinite}.call-marquee:hover .call-marquee-track,.call-marquee:focus-visible .call-marquee-track{animation-play-state:paused}.call-marquee-track span{display:inline-flex;align-items:center;gap:28px;padding:16px 28px 16px 0;font:800 clamp(2.6rem,6vw,5rem)/1 'Barlow Condensed','Arial Narrow',sans-serif;text-transform:uppercase;white-space:nowrap}.call-marquee-track b{color:#e11d2a;font-weight:800}.call-marquee-track i{font-style:normal;color:#4da3ff}
@keyframes call-marquee{to{transform:translateX(-50%)}}
.footer-pro{background:#0e1a2b;color:#d0d9e5;padding:56px max(4vw,24px) 28px;font:400 15px/1.6 Inter,Arial,sans-serif}.footer-pro-main{max-width:var(--max,1200px);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center}.footer-pro .brand{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.footer-pro .brand-logo{width:56px;height:56px;border-radius:12px}.footer-pro .brand-label{color:#fff;font-size:2.4rem}.footer-pro nav{display:flex;flex-wrap:wrap;gap:4px 28px;justify-content:center}.footer-pro nav a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.footer-pro nav a:hover{color:#ffbf57}.footer-pro .button{white-space:nowrap}
.footer-pro-bottom{max-width:var(--max,1200px);margin:32px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;align-items:center;color:#afbdd0;font-size:13px}.footer-pro-bottom a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.footer-pro-bottom a:hover{color:#ffbf57}.footer-pro-bottom div{display:flex;gap:28px}
@media(max-width:900px){.us-map-inner{grid-template-columns:1fr;gap:28px}.us-map p{max-width:none}.footer-pro-main{grid-template-columns:1fr;justify-items:start;gap:20px}.footer-pro nav{justify-content:flex-start}}
@media(max-width:600px){.us-map{padding:56px 20px 40px}.footer-pro{padding:44px 20px 20px}.call-marquee-track span{padding:12px 20px 12px 0}.footer-pro-bottom{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.call-marquee-track{animation:none;width:100%;justify-content:center}.call-marquee-track span+span{display:none}}
/* Footer v2, 2026-10-26: brand+phone, vertical navigation, package keywords. Self-contained so it also works on the static landings. */
.footer-pro-main{grid-template-columns:1.5fr 1fr 1fr;gap:48px;align-items:start}
.footer-pro-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.footer-pro-brand p{margin:0;max-width:34ch;color:#c3d0e2}
.footer-pro-phone{color:#fff;font:800 2.2rem/1 'Barlow Condensed','Arial Narrow',sans-serif;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.footer-pro-phone:hover{color:#ffbf57}
.footer-pro .button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;background:#d71920;color:#fff;font:700 15px/1 Inter,Arial,sans-serif;text-decoration:none}.footer-pro .button:hover{background:#b9141a}
.footer-pro nav{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0}
.footer-pro-title{margin:0 0 8px;color:#ff777d;font:700 12px/1.4 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.footer-pro .brand,.footer-pro .brand-label{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase}.footer-pro .brand-label em{font-style:normal;color:#e11d2a}.footer-pro .brand-logo{display:block;object-fit:cover}
.footer-pro a:focus-visible{outline:3px solid #ffbf57;outline-offset:3px}
@media(max-width:900px){.footer-pro-main{grid-template-columns:1fr 1fr;gap:32px}.footer-pro-brand{grid-column:1/-1}}
@media(max-width:480px){.footer-pro-main{grid-template-columns:1fr}}
