*{box-sizing:border-box}body{margin:0;font-family:Roboto,Arial,Helvetica,sans-serif;color:#1b2a3d;line-height:1.6;background:#fff}
a{color:#2a4a70}.wrap{max-width:1140px;margin:0 auto;padding:0 24px}

.topbar{background:#001f40;color:#fff;font-size:14px}.topbar .wrap{display:flex;justify-content:space-between;padding:8px 24px}.topbar a{color:#faab31;text-decoration:none;font-weight:500}
header{background:#fff;border-bottom:1px solid #e3e3e3;position:sticky;top:0;z-index:5}header .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{font-weight:900;font-size:22px;color:#013267;text-decoration:none;letter-spacing:.3px}.logo span{color:#faab31}.logo small{display:block;font-size:11px;font-weight:500;color:#2a4a70;letter-spacing:1.5px;text-transform:uppercase}
nav a{margin-left:20px;text-decoration:none;color:#1b2a3d;font-size:15px;font-weight:500}nav a.btn{background:#faab31;color:#001f40;padding:10px 18px;border-radius:4px}
.hero{background:linear-gradient(120deg,#001f40 0%,#013267 55%,#2a4a70 100%);color:#fff;padding:80px 0 70px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-80px;top:0;bottom:0;width:45%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 60px,rgba(255,255,255,0) 60px 66px);transform:skewX(-12deg)}
.hero .eyebrow{color:#faab31;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:500}
.hero h1{font-size:44px;line-height:1.15;margin:12px 0 18px;max-width:760px}.hero p{font-size:19px;max-width:680px;color:#c3cede}
.cta{display:inline-block;padding:14px 26px;border-radius:4px;font-weight:700;text-decoration:none;margin:18px 12px 0 0}.cta.gold{background:#faab31;color:#001f40}.cta.line{border:2px solid #faab31;color:#fff}
.counters{background:#faab31}.counters .wrap{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:28px 24px}
.counters b{display:block;font-size:34px;color:#013267;font-weight:900}.counters span{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#6b5634}
section{padding:64px 0}section.alt{background:#fafafa}h2{font-size:32px;color:#013267;margin:0 0 18px;line-height:1.2}.kicker{color:#6b5634;text-transform:uppercase;font-size:13px;letter-spacing:2px;font-weight:700}
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:start}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.card{background:#fff;border:1px solid #e3e3e3;border-top:4px solid #faab31;border-radius:6px;padding:24px}
.card h3{margin:0 0 8px;color:#013267;font-size:20px}.card a{font-weight:500}
.panel{background:#013267;color:#fff;border-radius:8px;padding:28px}.panel h3{color:#faab31;margin-top:0}.panel p{color:#c3cede}
.why{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.why h3{color:#013267;margin:0 0 6px}
.stat{border-left:4px solid #faab31;padding-left:18px}.src{font-size:12px;color:#6b7b90}
blockquote{margin:0;background:#faab31;border-left:6px solid #faab31;padding:28px 32px;font-size:20px;font-style:italic;border-radius:6px}blockquote cite{display:block;margin-top:12px;font-size:15px;font-style:normal;font-weight:700;color:#6b5634}
.posts a{display:block;padding:14px 0;border-bottom:1px solid #e3e3e3;font-weight:500;text-decoration:none;font-size:18px}
.band{background:#001f40;color:#fff;text-align:center;padding:56px 0}.band h2{color:#fff}.band p{color:#c3cede}
footer{background:#1b2a3d;color:#c3cede;font-size:14px;padding:48px 0 20px}footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}footer h4{color:#faab31;text-transform:uppercase;font-size:13px;letter-spacing:1.5px}footer a{color:#fff;text-decoration:none;display:block;margin:6px 0}footer .bottom{border-top:1px solid #2a4a70;margin-top:30px;padding-top:16px;text-align:center}
.crumbs{font-size:14px;color:#a9b6c8;margin-bottom:10px}.crumbs a{color:#faab31;text-decoration:none}
.content h2{margin-top:40px}.content p{font-size:17px}.side{position:sticky;top:96px}
.faq h3{color:#013267;font-size:18px;margin:22px 0 4px}.related a{display:inline-block;margin:6px 10px 6px 0;padding:8px 14px;border:1px solid #faab31;border-radius:20px;text-decoration:none}
.uniform{display:flex;gap:10px;margin-top:14px}.sw{width:46px;height:46px;border-radius:50%;border:2px solid #fff}

a.lt,.band a.lt{color:#faab31}
.hdr{background:#fff;border-bottom:1px solid #e3e3e3;position:sticky;top:0;z-index:20}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.logo{display:flex;flex-direction:column;text-decoration:none}.logo img{height:44px;width:auto;display:block}.logo small{font-size:10.5px;font-weight:700;color:#6b5634;letter-spacing:1.6px;text-transform:uppercase;margin-top:3px}
.nt{display:none}.burger{display:none;font-size:28px;cursor:pointer;color:#013267;padding:4px 8px}
nav ul{list-style:none;margin:0;padding:0}
.hdr nav>ul{display:flex;align-items:center;gap:4px}
.hdr nav>ul>li{position:relative}
.hdr nav a{display:block;margin:0;padding:10px 10px;text-decoration:none;color:#1b2a3d;font-size:15px;font-weight:500}
.hdr nav a:hover{color:#6b5634}
.hdr nav a.btn{background:#faab31;color:#001f40;padding:10px 16px;border-radius:4px;font-weight:700;margin-left:6px}
.navph a{color:#013267;font-weight:700}
.dd{display:none;position:absolute;left:0;top:100%;background:#fff;border:1px solid #e3e3e3;border-top:3px solid #faab31;min-width:220px;box-shadow:0 8px 20px rgba(0,0,0,.08);padding:6px 0}
.has-dd:hover .dd,.has-dd:focus-within .dd{display:block}
.dd a{padding:9px 16px}
.hero.sub{padding:56px 0 50px}.hero h1{position:relative;z-index:1}.hero p,.hero .crumbs,.hero .cta{position:relative;z-index:1}
.crumbs{font-size:14px;color:#a9b6c8;margin-bottom:12px;position:relative;z-index:1}.crumbs a{color:#faab31;text-decoration:none;margin:0}
.content h2.first{margin-top:0}.content h3{color:#013267;font-size:20px;margin:26px 0 6px}
.narrow{max-width:860px}
.intro{font-size:19px !important;color:#2a4a70}
.ph{margin:0}.ph img{width:100%;height:auto;display:block;border-radius:8px;object-fit:cover}
.ph.tall img{aspect-ratio:4/4.4}
.ph.inline{float:right;width:300px;margin:6px 0 18px 28px}
.ph.wide{margin:26px 0}.ph.wide img{aspect-ratio:16/8}
.stat{margin-bottom:22px}.stat b{font-size:34px;color:#013267;font-weight:900}.stat p{margin:4px 0 0}
.src{font-size:13px;color:#6b7b90;margin-top:30px;clear:both}.src a{color:#6b7b90}
.bigph{font-size:24px;font-weight:900;margin:8px 0}.bigph a{color:#fff;text-decoration:none}
.panel .cta{margin-top:6px}
blockquote.small{margin-top:22px;font-size:16px}
.side{position:sticky;top:100px}
.footer-note{font-size:13px}
footer a.inl{display:inline;color:#fff}
.meta{color:#6b7b90;font-size:14px;margin:0}
.article h2{margin-top:36px}
.postcards{display:grid;gap:28px;margin:30px 0}
.postcard{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start;border:1px solid #e3e3e3;border-top:4px solid #faab31;border-radius:6px;padding:20px}
.postcard h2{font-size:22px;margin:0 0 8px}.postcard h2 a{text-decoration:none;color:#013267}
.postcard .ph img{aspect-ratio:4/3}
.callbox{background:#013267;color:#fff;border-radius:8px;padding:28px;text-align:center;margin-bottom:10px}.callbox .lbl{color:#faab31;text-transform:uppercase;letter-spacing:2px;font-size:13px;margin:0;font-weight:700}.callbox .bigph{font-size:34px}
.band .cta.line{color:#fff}
.related{clear:both}
@media (max-width:980px){
 .hdr nav a{font-size:14px;padding:10px 7px}.navph{display:none}
}
@media (max-width:860px){
 .burger{display:block}
 .hdr nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid #e3e3e3;box-shadow:0 10px 20px rgba(0,0,0,.08)}
 .nt:checked~nav{display:block}
 .hdr nav>ul{flex-direction:column;align-items:stretch;padding:8px 16px 16px}
 .hdr nav a{font-size:16px;padding:12px 6px;border-bottom:1px solid #f0f0f0}
 .dd{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}
 .navph{display:block}.hdr nav a.btn{margin:10px 0 0;text-align:center}
 .topbar .wrap{font-size:13px}
 .hero{padding:52px 0 44px}.hero h1{font-size:30px}.hero p{font-size:17px}
 .counters .wrap{grid-template-columns:repeat(2,1fr);gap:16px}
 .two,.card-grid,.why{grid-template-columns:1fr;gap:28px}
 .side{position:static}
 h2{font-size:26px}section{padding:44px 0}
 footer .cols{grid-template-columns:1fr 1fr}
 .ph.inline{float:none;width:100%;margin:18px 0}
 .postcard{grid-template-columns:1fr}
 .cta{margin-right:8px}
}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}.hero h1{font-size:27px}}

/* Michigan site additions */
.addr{font-style:normal;line-height:1.55}.addr b{color:#013267}
.panel .addr b{color:#faab31}.panel .addr a{color:#fff}
.locbox{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.card-grid.six{grid-template-columns:repeat(3,1fr)}
.card a.more{display:inline-block;margin-top:6px}
footer address{font-style:normal;color:#c3cede;line-height:1.6}footer address a{display:inline;color:#fff}
.fnote{font-size:13px;color:#6b7b90}
form{background:#fafafa;border:1px solid #e3e3e3;border-top:4px solid #faab31;border-radius:8px;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;max-width:780px;position:relative}
form .full{grid-column:1/-1}form label{font-size:14px;font-weight:700;color:#013267;display:block}
form input,form select,form textarea{display:block;width:100%;min-height:42px;padding:9px 11px;border:1px solid #c9cdd2;border-radius:4px;font:inherit;font-size:15px;margin-top:5px;background:#fff}
form textarea{min-height:120px}form .req{color:#b3261e}
form label.chk{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:#1b2a3d;margin-top:8px}form label.chk input{width:18px;height:18px;min-height:0;margin:0}
form button{background:#013267;color:#fff;border:0;padding:12px 28px;border-radius:4px;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
form .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#formmsg{display:none;background:#faab31;border-left:4px solid #faab31;padding:12px 14px;border-radius:4px}
@media (max-width:860px){.locbox,.card-grid.six{grid-template-columns:1fr;gap:24px}form{grid-template-columns:1fr;padding:18px}}

/* Top navigation tabs in capital letters (Nov 2, 2026). Dropdown items, phone number and the Request a Quote button are unchanged */
.hdr nav>ul>li>a:not(.btn){text-transform:uppercase}
@media(min-width:1060px){.hdr nav>ul>li>a{white-space:nowrap}}

/* Michigan office map (draft Nov 2, 2026) */
iframe.map{display:block;width:100%;height:320px;border:0;border-radius:8px;margin-top:16px}
