:root{--blue:#0f2a4d;--orange:#f26522;--charcoal:#2b2f36;--gray:#5b636e;--line:#e3e7ec;--bg:#f6f8fa;--white:#fff}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.7;font-size:16.5px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--orange)}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px}
h1,h2,h3,h4{font-family:"Arial Black","Segoe UI",Arial,sans-serif;color:var(--blue);line-height:1.22;letter-spacing:-.4px}
h1{font-size:2.35rem;margin-bottom:14px}
h2{font-size:1.6rem;margin:34px 0 12px}
h3{font-size:1.15rem;margin:22px 0 8px}
p{margin-bottom:14px;color:#41474f}
ul,ol{margin:0 0 16px 20px}
li{margin-bottom:7px}
.topbar{background:var(--charcoal);color:#dfe4ea;font-size:.83rem}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:7px 18px}
.topbar a{color:#fff;font-weight:700}
header.site{position:sticky;top:0;z-index:900;background:var(--white);box-shadow:0 2px 14px rgba(15,42,77,.13)}
.hdr{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand img{width:66px;height:66px;object-fit:contain}
.brand .bn{font-family:"Arial Black",Arial,sans-serif;color:var(--blue);font-size:1.12rem;line-height:1.1;letter-spacing:-.5px}
.brand .bt{display:block;font-family:"Segoe UI",Arial,sans-serif;font-size:.72rem;color:var(--orange);font-weight:700;letter-spacing:1.4px;text-transform:uppercase}
nav.desktop{display:flex;align-items:center;gap:2px;margin-left:auto}
nav.desktop>ul{display:flex;list-style:none;margin:0;align-items:center}
nav.desktop>ul>li{position:relative}
nav.desktop>ul>li>a{display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.1;white-space:nowrap;padding:12px 11px;font-weight:700;font-size:.93rem;color:var(--blue);border-radius:6px}
nav.desktop>ul>li>a .caret{font-style:normal;font-size:.72em;line-height:1;display:inline-block}
nav.desktop>ul>li>a:hover{background:var(--bg);color:var(--orange)}
nav.desktop .dd{position:absolute;top:100%;left:0;min-width:290px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:0 0 10px 10px;box-shadow:0 18px 36px rgba(15,42,77,.18);list-style:none;margin:0;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s}
nav.desktop>ul>li:hover .dd,nav.desktop>ul>li:focus-within .dd{opacity:1;visibility:visible;transform:translateY(0)}
nav.desktop .dd li{margin:0}
nav.desktop .dd a{display:block;padding:8px 16px;font-size:.88rem;color:var(--charcoal)}
nav.desktop .dd a:hover{background:var(--bg);color:var(--orange)}
nav.desktop .dd .all a{color:var(--orange);font-weight:800;border-top:1px solid var(--line);margin-top:6px;padding-top:10px}
.hdr-cta{display:flex;align-items:center;gap:9px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;border-radius:8px;padding:12px 18px;font-size:.93rem;border:2px solid transparent;transition:.18s;text-align:center;cursor:pointer}
.btn-call{background:var(--orange);color:#fff!important;box-shadow:0 6px 16px rgba(242,101,34,.34)}
.btn-call:hover{background:#d8531a;color:#fff!important;transform:translateY(-2px)}
.btn-quote{background:var(--blue);color:#fff!important}
.btn-quote:hover{background:#0a1e3a;color:#fff!important;transform:translateY(-2px)}
.btn-ghost{background:transparent;border-color:#fff;color:#fff!important}
.btn-ghost:hover{background:#fff;color:var(--blue)!important}
.btn-out{background:#fff;border-color:var(--blue);color:var(--blue)!important}
.btn-out:hover{background:var(--blue);color:#fff!important}
.burger{display:none;flex-direction:column;gap:5px;background:var(--blue);border:0;border-radius:8px;padding:12px 11px}
.burger span{width:22px;height:3px;background:#fff;border-radius:2px;display:block}
nav.mobile{display:none;background:#fff;border-top:1px solid var(--line);max-height:75vh;overflow-y:auto;padding:8px 0 90px}
nav.mobile.open{display:block}
nav.mobile ul{list-style:none;margin:0}
nav.mobile>ul>li{border-bottom:1px solid var(--line)}
nav.mobile a{display:block;padding:14px 20px;font-weight:700;color:var(--blue)}
nav.mobile .sub{display:none;background:var(--bg)}
nav.mobile .sub.open{display:block}
nav.mobile .sub a{padding:11px 30px;font-weight:600;font-size:.92rem;color:var(--charcoal)}
nav.mobile .toggle{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;padding:14px 20px;font:inherit;font-weight:700;color:var(--blue);cursor:pointer}
nav.mobile .toggle i{font-style:normal;color:var(--orange);font-weight:900}
.mcall{display:none;position:fixed;bottom:0;left:0;right:0;z-index:950;background:var(--charcoal);padding:8px;gap:8px;box-shadow:0 -4px 18px rgba(0,0,0,.25)}
.mcall a{flex:1;padding:13px 6px;font-size:.9rem}
.hero{position:relative;background:linear-gradient(120deg,rgba(9,25,48,.93),rgba(15,42,77,.78)),url(../images/hero.jpg) center/cover no-repeat;color:#fff;padding:70px 0 76px}
.hero h1,.hero h2{color:#fff}
.hero p.lead{color:#dde5ef;font-size:1.1rem;max-width:720px}
.hero .badges{list-style:none;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:9px}
.hero .badges li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:30px;padding:7px 15px;font-size:.85rem;font-weight:700;color:#fff;margin:0}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero .phone{display:inline-block;margin-top:18px;font-size:1.45rem;font-weight:900;color:#fff!important;font-family:"Arial Black",Arial,sans-serif}
.pagehead{background:linear-gradient(120deg,#0b2140,#1a3f6f);color:#fff;padding:44px 0}
.pagehead h1{color:#fff;margin-bottom:8px}
.pagehead p{color:#cfdae8;max-width:800px;margin:0}
.sec{padding:46px 0}
.sec.alt{background:var(--bg)}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 4px 14px rgba(15,42,77,.06);transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,42,77,.13);border-color:#c9d5e2}
.card h3{margin-top:0}
.card img{border-radius:9px;margin-bottom:12px;aspect-ratio:3/2;object-fit:cover;width:100%}
.card .more{font-weight:800;color:var(--orange)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.split img{border-radius:14px;box-shadow:0 16px 34px rgba(15,42,77,.16)}
.ctaband{background:linear-gradient(120deg,var(--blue),#1d4c85);color:#fff;border-radius:14px;padding:30px;text-align:center;margin:34px 0}
.ctaband h2{color:#fff;margin-top:0}
.ctaband p{color:#d7e2ee}
.ctaband .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.faq{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:10px;background:#fff}
.faq button{width:100%;text-align:left;background:#fff;border:0;padding:15px 46px 15px 16px;font:inherit;font-weight:800;color:var(--blue);cursor:pointer;position:relative}
.faq button:after{content:"+";position:absolute;right:16px;top:12px;color:var(--orange);font-weight:900;font-size:1.3rem}
.faq.open button:after{content:"\2013"}
.faq .a{display:none;padding:0 16px 15px}
.faq.open .a{display:block}
form.quote{background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:12px;padding:22px;box-shadow:0 8px 24px rgba(15,42,77,.08)}
form.quote label{display:block;font-weight:700;font-size:.85rem;margin-bottom:5px;color:var(--blue)}
form.quote input,form.quote select,form.quote textarea{width:100%;padding:11px 12px;border:1px solid #ccd5df;border-radius:8px;margin-bottom:13px;font:inherit;background:#fdfdfe}
form.quote input:focus,form.quote select:focus,form.quote textarea:focus{outline:2px solid var(--orange);border-color:var(--orange)}
.fmsg{display:none;background:#e8f6ec;border:1px solid #7fc794;color:#1c6b34;padding:12px;border-radius:8px;font-weight:700;margin-bottom:12px}
table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:.94rem}
th,td{border:1px solid var(--line);padding:10px 12px;text-align:left}
th{background:var(--blue);color:#fff}
tr:nth-child(even) td{background:var(--bg)}
.linkcols{columns:3;column-gap:26px}
.linkcols a{display:block;padding:4px 0;font-size:.94rem}
.quotelinks{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.quotelinks a{background:var(--bg);border:1px solid var(--line);border-radius:30px;padding:7px 15px;font-size:.87rem;font-weight:700}
.stars{color:var(--orange);font-weight:900;letter-spacing:2px}
footer.site{background:var(--charcoal);color:#c6ccd4;padding:44px 0 18px;font-size:.93rem;margin-top:20px}
footer.site h4{color:#fff;font-size:1rem;margin-bottom:12px}
footer.site a{color:#c6ccd4}
footer.site a:hover{color:var(--orange)}
footer.site ul{list-style:none;margin:0}
footer.site li{margin-bottom:6px}
footer .fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr 1fr;gap:22px;align-items:start}
footer .fgrid .all a{color:#F3F4F6}
footer .bot{border-top:1px solid #414751;margin-top:26px;padding-top:14px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.85rem}
.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.linkcols{columns:2}footer .fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){nav.desktop{display:none}.burger{display:flex}.hdr-cta .btn-quote{display:none}.hdr-cta .btn-call{display:none}.mcall{display:flex}body{padding-bottom:66px}h1{font-size:1.85rem}h2{font-size:1.35rem}.hero{padding:44px 0 50px}}
@media(max-width:600px){.g2,.g3,.g4{grid-template-columns:1fr}.linkcols{columns:1}footer .fgrid{grid-template-columns:1fr}.brand img{width:54px;height:54px}.brand .bn{font-size:.98rem}.hdr-cta .btn{padding:10px 13px;font-size:.85rem}}
