/* Hyper Roof — single authoritative responsive site system. */
*{box-sizing:border-box}
html{scroll-behavior:auto!important}
body{margin:0!important;overflow-x:hidden!important}
.container{width:100%!important;max-width:1180px!important;margin:0 auto!important;padding-left:20px!important;padding-right:20px!important}

/* ================= ACCESSIBILITY / CONTRAST ================= */
:root{--text:#1f3448;--muted-accessible:#4a5b6b;--link:#00527d;--navy:#062440;--yellow:#ffc400}
body{color:var(--text)!important}
.topbar{color:#f3f7fa!important}.topbar a{color:#fff!important}.site-header .brand strong{color:#062440!important}.site-header .brand small{color:#405264!important}.site-header .main-nav a{color:#1f3448!important}.site-header .main-nav a:hover,.site-header .main-nav a.active{color:#00527d!important}.btn-yellow{color:#111827!important;background:#ffc400!important}.hero p{color:#f5f8fa!important}.insured-badge small{color:#4a5b6b!important}.service-grid p{color:#d6e0e7!important}.about-copy p,.testimonial-grid p,#main-content article.section>.container>p,#main-content article.section>.container>li{color:#405264!important}.benefits span{color:#4a5b6b!important}.home-blog .blog-date{color:#536576!important}.home-blog .blog-card p{color:#405264!important}.footer-grid,.site-footer{color:#d6e0e7!important}.footer-grid p{color:#d6e0e7!important}.footer-grid a,.footer-grid nav a{color:#fff!important}.footer-bottom{color:#d6e0e7!important}

/* WCAG interaction and readability safeguards */
:focus-visible{outline:3px solid #00527d!important;outline-offset:3px!important}
.btn-yellow:focus-visible,.btn-outline:focus-visible,.main-nav a:focus-visible,.footer-grid a:focus-visible,.nav-toggle:focus-visible,.topbar a:focus-visible,summary:focus-visible,.brand:focus-visible{outline:3px solid #00527d!important;outline-offset:3px!important}
#main-content a:not(.btn-yellow):not(.btn-outline){text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:2px!important}
#main-content a:not(.btn-yellow):not(.btn-outline):hover{text-decoration-thickness:2px!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(forced-colors:active){.site-header,.main-nav.open,.insured-badge,.btn-yellow,.btn-outline,.service-strip,.site-footer{forced-color-adjust:auto}.btn-yellow,.btn-outline{border:2px solid ButtonText!important}.main-nav a:focus-visible,.btn-yellow:focus-visible,.btn-outline:focus-visible,.nav-toggle:focus-visible{outline:2px solid Highlight!important;outline-offset:2px!important}}

/* ================= SHARED HEADER ================= */
/* Header geometry and responsive navigation are owned by header-stable.css and overlap-fix.css. Keep this file from overriding the shared header used by the homepage and blog pages. */

/* ================= CLS / GEOMETRY ================= */
.topbar{height:38px!important;min-height:38px!important}.topbar-inner{height:38px!important;min-height:38px!important}.hero{height:570px!important;min-height:570px!important}.hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}.image-card{min-height:1px!important}.image-card img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:3/2!important;object-fit:cover!important}.project-row img{display:block!important;width:100%!important;height:145px!important;aspect-ratio:3/2!important;object-fit:cover!important}@media(min-width:761px) and (max-width:1200px){.site-header .header-inner{height:72px!important;min-height:72px!important}}@media(max-width:760px){.site-header .header-inner{height:68px!important;min-height:68px!important}.hero{height:620px!important;min-height:620px!important}}

/* ================= BLOG / CONTENT ================= */
#main-content article.section{padding:0!important;background:#f4f7fa!important;contain:none!important}#main-content article.section>.container{max-width:920px!important;margin:0 auto!important;padding:42px 20px 76px!important;display:block!important}#main-content article.section>.container>.eyebrow{display:block!important;margin:0 0 14px!important}#main-content article.section>.container>.blog-hero-image{display:block!important;width:100%!important;margin:0 0 34px!important;overflow:hidden!important;background:#edf3f7!important;border-radius:6px!important}#main-content article.section .blog-hero-image img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}#main-content article.section>.container>h1{font-size:clamp(38px,5vw,58px)!important;line-height:1.06!important;letter-spacing:-.02em!important;color:#062440!important;margin:0 0 22px!important;max-width:850px!important;overflow-wrap:break-word!important;text-wrap:balance!important}#main-content article.section>.container>p:first-of-type{font-size:20px!important;line-height:1.75!important;color:#405264!important;margin:0 0 30px!important;padding:0 0 30px!important;border-bottom:1px solid #dbe3e9!important;max-width:850px!important}#main-content article.section>.container>h2{font-size:30px!important;line-height:1.2!important;color:#062440!important;margin:50px 0 18px!important;padding:24px 0 0!important;border-top:1px solid #dbe3e9!important;max-width:850px!important}#main-content article.section>.container>h2:first-of-type{margin-top:8px!important}#main-content article.section>.container>h3{font-size:20px!important;line-height:1.35!important;color:#062440!important;margin:28px 0 8px!important;max-width:850px!important}#main-content article.section>.container>p,#main-content article.section>.container>li{font-size:17px!important;line-height:1.78!important;color:#405264!important;max-width:850px!important}#main-content article.section>.container>ul,#main-content article.section>.container>ol{padding-left:26px!important;margin:14px 0 32px!important;max-width:850px!important}#main-content article.section>.container>.check-list{background:#fff!important;border:1px solid #dfe7ed!important;border-radius:6px!important;padding:22px 28px!important;margin:20px 0 34px!important;max-width:850px!important}#main-content article.section>.container>.check-list li{margin:12px 0!important}#main-content article.section a:not(.btn-yellow){color:#00527d!important;font-weight:700!important}#main-content article.section .btn-yellow{margin-top:14px!important;display:inline-flex!important}#main-content article.section table{width:100%!important;border-collapse:collapse!important;margin:24px 0!important;font-size:15px!important;background:#fff!important;max-width:850px!important}#main-content article.section th,#main-content article.section td{padding:14px!important;border:1px solid #d8e1e8!important;text-align:left!important;vertical-align:top!important}#main-content article.section th{background:#edf7ff!important;color:#062440!important;font-weight:800!important}@media(max-width:760px){#main-content article.section>.container{max-width:none!important;padding:30px 18px 58px!important}#main-content article.section>.container>h1{font-size:38px!important}#main-content article.section>.container>h2{font-size:27px!important;margin-top:38px!important}#main-content article.section>.container>p,#main-content article.section>.container>li{font-size:16px!important}#main-content article.section>.container>p:first-of-type{font-size:18px!important}#main-content article.section .blog-hero-image{margin-bottom:26px!important}#main-content article.section table{display:block!important;overflow-x:auto!important}#main-content article.section th,#main-content article.section table td{min-width:150px!important}}
