*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#12233c;line-height:1.6;background:#fff}
body.nav-locked{overflow:hidden}
a{color:inherit}img{max-width:100%;height:auto}
.wrap{width:min(1140px,calc(100% - 44px));margin:auto}
.narrow{max-width:860px}.center{text-align:center;margin-bottom:34px}.center .lede{max-width:760px;margin:0 auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:100}
h1,h2,h3,p{margin-top:0}h1{line-height:1.1;letter-spacing:-1px}
h2{font-size:clamp(25px,3vw,36px);line-height:1.18}h3{font-size:18px}
p{font-size:15px}.lede{font-size:16px;color:#4a5b73}
.eyebrow{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800;margin-bottom:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:14px;font-weight:800;padding:13px 22px;min-height:46px;border-radius:4px;border:0;cursor:pointer}
.btn.yellow{background:#ffbe20;color:#142f52}.btn.yellow:hover{background:#ffcb4d}
.btn.blue{background:#0868c7;color:#fff}
.btn.ghost{border:1px solid #fff;color:#fff}.btn.block{width:100%}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ffbe20;outline-offset:2px}

/* Urgency kit */
.topbar{background:#1A1F36;color:#fff;font-size:13px}
.topbar-in{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:38px;flex-wrap:wrap}
.topbar a{font-weight:800;text-decoration:none;color:#ffbe20}
.badge-live{display:inline-block;background:#ffbe20;color:#142f52;font-weight:800;font-size:12px;padding:6px 12px;border-radius:3px;margin-bottom:14px}
.trust{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.trust li{font-size:12px;font-weight:700;padding:7px 12px;border:1px solid rgba(255,255,255,.55);border-radius:20px;background:rgba(255,255,255,.1);color:#fff}
.trust li:before{content:"\2713";margin-right:6px;color:#ffbe20}
.callbar{display:none}
.cta-band{background:#0869c6;color:#fff;padding:46px 0;position:relative;overflow:hidden}
.cta-band h2{color:#fff;margin-bottom:8px}.cta-band p{color:#e3f0ff;margin-bottom:0}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:26px;position:relative;z-index:1}
.cta-act{flex:none}
.cta-last{background:#092f64}.cta-last .image-slot{position:absolute;inset:0;opacity:.14;min-height:0}

/* Header and nav */
.header54{background:#fff;border-bottom:1px solid #e2eaf3;position:relative;z-index:30}
.header54 .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px}
.brand{font-size:21px;font-weight:900;color:#0869c6;text-decoration:none;line-height:1.15}
.qa-responsive-nav{display:flex;gap:18px}
.qa-responsive-nav a{font-size:13px;text-decoration:none;font-weight:600;padding:6px 0}
.qa-responsive-nav a:hover{color:#0869c6}
.qa-menu-button{display:none;background:#fff;border:1px solid #b8c7d9;border-radius:4px;padding:10px 14px;font-weight:700;font-size:14px;cursor:pointer;min-height:44px}
.nav-overlay{position:fixed;inset:0;background:rgba(6,28,56,.55);z-index:25}
.nav-overlay[hidden]{display:none}

/* Hero */
.hero54{background:linear-gradient(120deg,#053a78,#1680d1);color:#fff;overflow:hidden}
.hero54 .wrap{display:grid;grid-template-columns:1.1fr .8fr .8fr;align-items:center;gap:24px;min-height:480px;padding:36px 0}
.hero54 h1{font-size:42px}.hero54 p{color:#dcecff}
.quote{background:#fff;color:#1b3552;border-radius:10px;padding:23px;box-shadow:0 12px 35px rgba(0,43,91,.36)}
.panel-title{font-size:17px;font-weight:800;margin-bottom:12px}
.steps{padding-left:20px;margin:0 0 18px}.steps li{font-size:14px;margin-bottom:8px}

/* Image slots */
.image-slot{margin:0;border:2px dashed #b7c4d6;background:repeating-linear-gradient(135deg,#eef2f7 0 14px,#e7edf5 14px 28px);min-height:200px;border-radius:6px;overflow:hidden}
.image-slot .slot-fill{width:100%;height:100%;min-height:inherit}
.hero-slot{height:360px;background:#2779ba;border-color:#6eb0ed}
.band-slot{position:absolute;inset:0;width:100%;height:100%;opacity:.17;border:0;border-radius:0}

/* Stats */
.stats{background:#092f64;color:#fff;padding:32px 0}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats strong{font-size:29px;display:block}.stats span{font-size:13px;color:#c5e0ff}

/* Sections */
.section54{padding:78px 0}.tint,.service54{background:#edf6ff}
.split54{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.badge54{background:#e7f2ff;color:#066bc7;font-weight:800;font-size:11px;padding:8px 13px;display:inline-block;margin-bottom:14px;letter-spacing:1px}
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}
.reasons article{padding:17px;border:1px solid #dce8f4;border-radius:8px;background:#fff}
.reasons p{font-size:13px;margin:6px 0 0;color:#4a5b73}
.darkvisual{background:#0e274b;padding:96px 0;color:#fff;position:relative;overflow:hidden}
.darkvisual .wrap{position:relative;text-align:center;z-index:1}.darkvisual p{color:#dcecff;max-width:620px;margin:0 auto 22px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.servicecard{padding:24px;background:#fff;border:1px solid #dce9f7;border-radius:8px}
.servicecard h3{margin-bottom:8px}.servicecard h3 a{color:#0868c7;text-decoration:none}
.servicecard h3 a:hover{text-decoration:underline}
.servicecard p{font-size:13px;color:#4a5b73;margin:0}

/* Components */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:22px 0}
table{border-collapse:collapse;width:100%;font-size:14px;background:#fff}
caption{text-align:left;font-weight:800;padding:0 0 10px;font-size:15px}
th,td{border:1px solid #d6e2ef;padding:11px 13px;text-align:left;vertical-align:top}
thead th{background:#0e274b;color:#fff;font-size:13px}
tbody th{font-weight:700;background:#f4f8fc}
.panel{background:#fff;border:1px solid #cfe0f2;border-left:5px solid #0869c6;border-radius:8px;padding:24px}
.checks{list-style:none;margin:0;padding:0}
.checks li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid #e5eef7;font-size:14px}
.checks li:last-child{border-bottom:0}
.checks li:before{content:"\2713";position:absolute;left:0;color:#0869c6;font-weight:800}
.faq details{border:1px solid #e0e9f5;margin-bottom:8px;background:#fff;border-radius:6px}
.faq summary{cursor:pointer;font-weight:700;font-size:15px;padding:16px 20px}
.faq .faq-body{padding:0 20px 8px}.faq .faq-body p{margin-bottom:12px}
.map-wrap{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:1px solid #d6e2ef;margin-bottom:18px}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.coverage{align-items:start}
.notes{margin-top:36px;background:#fff;border:1px solid #d6e2ef;border-radius:8px;padding:26px 28px}
.notes ul{margin:0;padding-left:20px}.notes li{font-size:14px;margin-bottom:10px}

/* Footer */
.footer54{background:#061c38;color:#fff;padding:52px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:30px}
.footer54 h3{font-size:15px;margin-bottom:12px}
.footer54 a{color:#fff;display:block;text-decoration:none;font-size:13px;margin:8px 0;opacity:.92}
.footer54 a:hover{text-decoration:underline}
.footer54 address{font-style:normal;font-size:13px;margin-bottom:10px;color:#cfe0f5}
.footer-base{border-top:1px solid #1e3a5f;margin-top:30px;padding-top:18px}
.footer-call{font-size:14px;font-weight:700;margin-bottom:6px}.footer-call a{display:inline;font-size:14px;color:#ffbe20}
.copy{font-size:12px;color:#9db4d0;margin:0}

@media(max-width:1000px){
 .hero54 .wrap{grid-template-columns:1fr 1fr}.quote{grid-column:1/-1}
 .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .qa-menu-button{display:inline-block}
 .qa-responsive-nav{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:#fff;flex-direction:column;gap:0;padding:70px 22px 22px;z-index:40;box-shadow:-8px 0 30px rgba(0,0,0,.3);overflow-y:auto}
 .qa-responsive-nav.qa-open{display:flex}
 .qa-responsive-nav a{font-size:16px;padding:14px 4px;border-bottom:1px solid #e5eef7}
 .head-call{display:none}
 .qa-menu-button{position:relative;z-index:50}
 .split54{grid-template-columns:1fr;gap:30px}
 .service-grid{grid-template-columns:1fr 1fr}
 .cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:650px){
 .hero54 .wrap,.stats .wrap,.service-grid,.reasons,.footer-grid{grid-template-columns:1fr}
 .hero54 h1{font-size:34px}.hero-slot{height:240px}
 .section54{padding:50px 0}.darkvisual{padding:60px 0}
 .stats .wrap{grid-template-columns:1fr 1fr}
 .wrap{width:calc(100% - 30px)}
 .actions .btn{flex:1}
 .topbar-in{justify-content:center;text-align:center}
 .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#ffbe20;box-shadow:0 -4px 14px rgba(0,0,0,.25)}
 .callbar a{display:block;text-align:center;font-weight:900;font-size:17px;color:#142f52;text-decoration:none;padding:15px}
 body{padding-bottom:56px}
 table{font-size:13px}
}

.hero-copy{min-width:0}
.hero-slot,.closing-slot{margin:0}
.compare tbody th{width:44%}
.areas-table tbody th a{color:#0868c7;font-weight:700;text-decoration:none}
.areas-table tbody th a:hover{text-decoration:underline}
.areas-table td:nth-child(3){white-space:nowrap}
.quote .panel-title{color:#1b3552}
.split54 .image-slot{aspect-ratio:4/3;min-height:0;width:100%}
.split54 .image-slot .slot-fill{min-height:0}
.band-slot{background:#14325f;border-color:#14325f;opacity:.7}
.band-slot .slot-fill{background:none}
.cta-last .image-slot{background:#0b2650;border:0}
.btn{white-space:nowrap}
@media(max-width:520px){.actions .btn{flex:1 1 100%}}
.coverage .image-slot{aspect-ratio:16/7}
.hero-service .wrap{grid-template-columns:1.25fr .75fr}
.hero-service .hero-slot{height:320px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0 0 14px;font-size:12px}
.crumbs li+li:before{content:"/";margin-right:6px;opacity:.6}
.crumbs a{color:#dcecff}
.article h2{margin-top:6px}.article h3{margin:26px 0 8px}
.bullets{padding-left:20px;margin:0 0 18px}.bullets li{font-size:15px;margin-bottom:8px}
.article .steps{padding-left:22px;margin:0 0 20px}.article .steps li{font-size:15px;margin-bottom:9px}
.article .checks{margin:0 0 20px}
.callout{border-left:5px solid #ffbe20;background:#fff8e6;padding:14px 18px;border-radius:0 6px 6px 0;margin:0 0 20px}
.callout p{margin:0;font-size:15px}
.article .panel{margin:0 0 22px}
.article p a,.article li a,.article td a,.article th a{color:#0868c7;text-decoration:underline}
.inline-slot{aspect-ratio:16/7;min-height:0;margin:8px 0 24px}
@media(max-width:900px){.hero-service .wrap{grid-template-columns:1fr}.hero-service .hero-slot{height:220px}}

.zip-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 14px}
.zip-chips li{background:#eaf2fb;border:1px solid #c9dcf0;border-radius:999px;padding:6px 14px;font-weight:700;color:#1A1F36}
.place-list{list-style:none;padding:0;margin:0 0 14px}
.place-list li{padding:8px 0;border-bottom:1px solid #e3ebf4}
.article .crumbs a{color:#0868c7}.article .crumbs{margin-top:6px}
.badge-dark{margin-bottom:6px}
.cov-map{width:100%;height:auto;background:#eef5fd;border:1px solid #dce9f7;border-radius:8px;display:block}
.cov-map text{font:12px Arial,sans-serif;fill:#142f52}.cov-map .pin{fill:#e8a400;stroke:#142f52;stroke-width:1.5}
.core-box{border-left-width:6px}
.contact-card{padding:20px 24px;background:#fff;border:1px solid #dce9f7;border-radius:8px;margin:16px 0}
.contact-card p{margin:0 0 6px}

/* Images (Stage 2) */
.media{margin:0;padding:0;border:0;background:none;min-height:0;overflow:hidden;border-radius:6px}
.media img{display:block;width:100%;height:auto;max-width:100%}
.media figcaption{font-size:13px;line-height:1.5;color:#4a5f78;margin:8px 2px 0;text-align:left}
.media-inline{margin:10px auto 26px;overflow:visible}
.media-inline img{border-radius:6px;background:#eef2f7}
.media-hero{height:360px}
.media-hero img{width:100%;height:100%;object-fit:cover}
.hero-service .media-hero{height:320px}
.split54 .media{width:100%}
.split54 .media-inline{margin:0}
.coverage .media-inline{margin:0}
.media-band{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.media-band img{width:100%;height:100%;object-fit:cover;opacity:.3}
.cta-last .media-closing{position:absolute;inset:0;border-radius:0;margin:0}
.cta-last .media-closing img{width:100%;height:100%;object-fit:cover;opacity:.22}
@media(max-width:900px){
 .hero-service .media-hero{height:auto;aspect-ratio:4/3;max-width:560px;width:100%;margin:0 auto}
}
@media(max-width:650px){
 .media-hero{height:auto;aspect-ratio:4/3}
 .hero-service .media-hero{height:auto}
}

/* Branding (Stage 2) */
.brand{display:inline-flex;align-items:center;gap:10px}
.brand-logo{height:48px;width:auto;flex:none}
.footer-logo{height:84px;width:auto;display:block;margin:0 0 12px;background:#f6efe3;border-radius:50%;padding:4px}
@media(max-width:650px){.brand-logo{height:40px}.brand{font-size:0.92em}}
