*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#16202e;background:#fff;line-height:1.65;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:#0b5cd5;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.35rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1.1rem}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.topbar{background:#0d1b2a;color:#cfe0f5;font-size:.85rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;align-items:center;padding-top:8px;padding-bottom:8px}
.topbar a{color:#fff}
header.site{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 2px 14px rgba(11,28,53,.09)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:11px;color:#0d1b2a;text-decoration:none}
.brand .mk{width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:linear-gradient(135deg,#0b5cd5,#0d1b2a);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.05rem;font-family:"Barlow Condensed",sans-serif}
.brand b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:1.22rem;line-height:1.05;letter-spacing:.01em}
.brand span{display:block;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#5a6d85}
nav.desk{display:none}
nav.desk ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
nav.desk a{color:#22374f;font-weight:600;font-size:.93rem}
.hdcta{display:none;gap:10px}
.btn{display:inline-block;border:0;cursor:pointer;font-weight:700;border-radius:8px;padding:13px 22px;font-size:.95rem;text-align:center;transition:.18s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-call{background:#e8590c;color:#fff}
.btn-quote{background:#0b5cd5;color:#fff}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-sm{padding:9px 15px;font-size:.88rem}
.burger{background:none;border:1px solid #d5dde8;border-radius:8px;width:46px;height:42px;display:grid;place-items:center;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:#0d1b2a;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:#0d1b2a}
.burger span::before{top:-6px}.burger span::after{top:6px}
#mobnav{display:none;border-top:1px solid #eaeef4;padding:10px 0 18px;max-height:75vh;overflow-y:auto}
#mobnav.open{display:block}
#mobnav ul{list-style:none;margin:0;padding:0}
#mobnav a{display:block;padding:11px 4px;border-bottom:1px solid #f0f3f7;color:#22374f;font-weight:600}
#mobnav .mcta{display:grid;gap:10px;margin-top:14px}
.hero{position:relative;background:#0d1b2a;color:#fff}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.hero .wrap{position:relative;padding-top:70px;padding-bottom:70px;max-width:900px}
.hero h1{color:#fff;margin-bottom:14px}
.hero p.lead{font-size:1.13rem;color:#dbe6f5;max-width:660px}
.eyebrow{display:inline-block;background:rgba(232,89,12,.18);border:1px solid rgba(232,89,12,.5);color:#ffb489;padding:6px 14px;border-radius:99px;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.phoneline{display:inline-flex;align-items:center;gap:10px;font-family:"Barlow Condensed",sans-serif;font-size:2rem;color:#fff;font-weight:700;margin:6px 0 16px}
.phoneline:hover{text-decoration:none;color:#ffb489}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px;font-size:.9rem;color:#c3d3e8}
.sec{padding:62px 0}
.sec.alt{background:#f5f8fc}
.sec.dark{background:#0d1b2a;color:#e6eefa}
.sec.dark h2{color:#fff}
.lead{font-size:1.08rem;color:#4a5c73}
.sec.dark .lead{color:#c0d1e6}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr 1fr}
.card{background:#fff;border:1px solid #e6ecf4;border-radius:14px;padding:24px;box-shadow:0 2px 10px rgba(13,27,42,.04)}
.card h3{margin-bottom:.4rem}
.card p{margin-bottom:.6rem;font-size:.96rem;color:#4a5c73}
.card a.more{font-weight:700;font-size:.9rem}
.sec.dark .card{background:#14263a;border-color:#22405e}
.sec.dark .card p{color:#b9cbe2}
.num{width:38px;height:38px;border-radius:9px;background:#eaf1fd;color:#0b5cd5;display:grid;place-items:center;font-weight:800;margin-bottom:12px}
ul.checks{list-style:none;padding:0;margin:0 0 1.2rem}
ul.checks li{padding-left:28px;position:relative;margin-bottom:9px;color:#3c4d63}
ul.checks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:3px solid #14a05a;border-bottom:3px solid #14a05a;transform:rotate(-45deg)}
.split{display:grid;gap:28px;align-items:center}
.split img{border-radius:14px}
.linklist{list-style:none;padding:0;margin:0;display:grid;gap:8px;grid-template-columns:1fr 1fr}
.linklist a{font-size:.94rem}
.faq{border:1px solid #e6ecf4;border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq[open] summary{border-bottom:1px solid #eef2f7;color:#0b5cd5}
.faq .fa{padding:14px 20px 4px;color:#4a5c73;font-size:.97rem}
.quote{background:#fff;border-radius:16px;padding:26px;border:1px solid #e6ecf4}
.sec.dark .quote{background:#14263a;border-color:#22405e}
.quote label{display:block;font-weight:600;font-size:.87rem;margin:0 0 6px;color:inherit}
.quote input,.quote select,.quote textarea{width:100%;padding:11px 13px;border:1px solid #cfd9e6;border-radius:9px;font:inherit;margin-bottom:14px;background:#fff;color:#16202e}
.quote .row{display:grid;gap:0 14px;grid-template-columns:1fr}
.note{font-size:.83rem;color:#7a8ba1}
.ban{background:linear-gradient(120deg,#0b5cd5,#0d1b2a);color:#fff;text-align:center;padding:52px 0}
.ban h2{color:#fff}
.ban p{color:#d5e3f6;max-width:640px;margin:0 auto 22px}
.crumb{background:#f5f8fc;border-bottom:1px solid #e9eef5;font-size:.85rem;padding:11px 0;color:#63748b}
footer.site{background:#0a1521;color:#9fb3ca;padding:52px 0 24px;font-size:.92rem}
footer.site h4{color:#fff;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
footer.site a{color:#c2d3e8}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:8px}
.fgrid{display:grid;gap:30px;grid-template-columns:1fr}
.fbot{border-top:1px solid #1c3049;margin-top:34px;padding-top:18px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.85rem}
table.tbl{width:100%;border-collapse:collapse;margin-bottom:1.4rem;font-size:.94rem}
table.tbl th,table.tbl td{border:1px solid #e2e9f2;padding:10px 12px;text-align:left}
table.tbl th{background:#f2f6fb}
.prose{max-width:820px}
.prose h2{margin-top:2rem}
.stat{text-align:center}
.stat b{display:block;font-family:"Barlow Condensed",sans-serif;font-size:2.4rem;color:#0b5cd5;line-height:1}
.sec.dark .stat b{color:#ffb489}
.testi{background:#fff;border-left:4px solid #e8590c;border-radius:0 12px 12px 0;padding:22px;box-shadow:0 2px 10px rgba(13,27,42,.05)}
.testi p{font-style:italic;color:#33465e}
.testi cite{font-style:normal;font-weight:700;font-size:.9rem;color:#0d1b2a}
.stars{color:#f0a020;letter-spacing:2px;margin-bottom:8px}
@media(min-width:640px){.g2{grid-template-columns:1fr 1fr}.g4{grid-template-columns:repeat(4,1fr)}.quote .row{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.g3{grid-template-columns:repeat(3,1fr)}.linklist{grid-template-columns:repeat(3,1fr)}.fgrid{grid-template-columns:2fr 1fr 1fr 1.4fr}}
@media(min-width:1024px){nav.desk{display:block}.hdcta{display:flex}.burger{display:none}#mobnav{display:none!important}}

.hdcta .btn{white-space:nowrap}

/* Navigation dropdowns */
nav.desk ul{align-items:center}
nav.desk li.has-sub{position:relative}
nav.desk a.subtop .caret{font-size:.7rem;color:#7c8da0}
nav.desk ul.sub{display:none;position:absolute;top:100%;left:-14px;margin:0;padding:8px;min-width:262px;max-width:min(320px,90vw);background:#fff;border:1px solid #e3e9f1;border-radius:12px;box-shadow:0 18px 40px rgba(13,27,42,.14);flex-direction:column;gap:0;z-index:60;max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#c3ceda transparent}
nav.desk ul.sub::-webkit-scrollbar{width:8px}
nav.desk ul.sub::-webkit-scrollbar-thumb{background:#c3ceda;border-radius:8px}
nav.desk ul.sub::-webkit-scrollbar-track{background:transparent}
nav.desk ul.sub li{width:100%}
nav.desk ul.sub a{display:block;padding:9px 11px;border-radius:8px;font-size:.9rem;line-height:1.3;color:#22374f}
nav.desk ul.sub a:hover{background:#f2f6fb;color:#0d1b2a}
nav.desk ul.sub li.suball{border-top:1px solid #eef2f7;margin-top:6px;padding-top:6px}
nav.desk ul.sub li.suball a{font-weight:700;color:#c8102e}
nav.desk li.has-sub:hover>ul.sub,nav.desk li.has-sub.open>ul.sub,nav.desk li.has-sub:focus-within>ul.sub{display:flex}
#mobnav li.msub summary{display:flex;justify-content:space-between;align-items:center;padding:11px 4px;border-bottom:1px solid #f0f3f7;color:#22374f;font-weight:600;cursor:pointer;list-style:none}
#mobnav li.msub summary::-webkit-details-marker{display:none}
#mobnav li.msub summary::after{content:"\25be";font-size:.8rem}
#mobnav li.msub details[open] summary::after{content:"\25b4"}
#mobnav li.msub details>ul{max-height:44vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth;padding-left:12px;border-left:2px solid #eef2f7;margin:4px 0 8px}
#mobnav li.msub details>ul a{font-weight:500;font-size:.92rem}
nav.desk a.subtop{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
nav.desk>ul>li>a{white-space:nowrap}
.brand b{white-space:nowrap}
@media(min-width:1024px) and (max-width:1279px){nav.desk ul{gap:14px}nav.desk a{font-size:.88rem}}
