*{box-sizing:border-box}:root{--navy:#062440;--navy2:#0b3558;--yellow:#ffc400;--ink:#0a1d33;--muted:#53606d;--pale:#edf7ff}html{scroll-behavior:auto}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);margin:0;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;color:#062440;padding:12px 16px;font-weight:800;text-decoration:none;border:2px solid #062440}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1180px;margin:auto;padding:0 20px}.container-fluid{width:100%;padding:0 24px}.topbar{background:#041b2e;color:#e5eef5;font-size:13px}.topbar-inner{min-height:38px;display:flex;align-items:center;gap:10px}.topbar a{text-decoration:none;margin-left:8px;min-height:44px;display:inline-flex;align-items:center}.site-header{background:#fff;position:relative;z-index:5;box-shadow:0 2px 12px #00000012}.header-inner{min-height:82px;display:flex;align-items:center;gap:12px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:220px;min-height:44px;flex-shrink:0}.brand-mark{width:42px;height:42px;background:var(--yellow);display:grid;place-items:center;font-size:27px}.brand strong{font-size:22px;color:var(--navy)}.brand strong b{color:#00527d}.brand small{display:block;font-size:8px;letter-spacing:1.1px;color:#4f5b66;margin-top:3px}.main-nav{display:flex;align-items:center;gap:9px;margin-left:auto;min-width:0}.main-nav a{text-decoration:none;font-size:13px;font-weight:700;color:#21374c;padding:0 3px;min-height:44px;white-space:nowrap;display:flex;align-items:center;border-bottom:3px solid transparent}.main-nav a:hover,.main-nav a.active{color:#00527d;border-bottom-color:var(--yellow)}.btn-yellow{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#111827!important;text-decoration:none;font-weight:800;padding:0 20px;min-height:44px;height:48px;border-radius:2px;flex-shrink:0;line-height:1.2;white-space:nowrap;gap:8px}.header-cta{min-width:166px;height:48px;padding:0 16px}.nav-toggle{display:none;background:none;border:0;font-size:25px;color:#062440;padding:8px;min-width:44px;min-height:44px;cursor:pointer}.hero{min-height:570px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#021426fa 0%,#031c34f5 48%,#05213be9 100%)}.hero-content{position:relative;z-index:1;padding-top:30px}.hero-copy{max-width:670px}.eyebrow{display:inline-block;font-size:12px;letter-spacing:2px;font-weight:800;color:#fff;margin-bottom:16px}.eyebrow.dark{color:#00527d}.hero h1{font-size:64px;line-height:1.02;margin:0 0 22px}.hero p{font-size:18px;line-height:1.65;max-width:620px;color:#f2f7fa}.hero-actions{display:flex;gap:14px;margin-top:30px}.btn-outline{border:1px solid #fff;color:#fff;padding:13px 20px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700}.insured-badge{position:absolute;right:20px;bottom:25px;display:flex;gap:10px;align-items:center;background:#fff;color:var(--ink);padding:12px 18px}.insured-badge strong,.insured-badge small{display:block}.insured-badge small{font-size:11px;color:#5b6570;margin-top:3px}.service-strip{background:var(--navy);color:#fff}.service-grid{display:grid;grid-template-columns:repeat(5,1fr)}.service-grid article{padding:30px 18px;border-right:1px solid #ffffff18}.service-icon{font-size:28px;color:var(--yellow);font-weight:800}.service-grid h3{margin:10px 0 7px;font-size:16px}.service-grid p{margin:0;color:#c5d3de;font-size:12px;line-height:1.5}.section{padding:85px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.image-card{position:relative}.image-card img{width:100%}.experience{position:absolute;left:0;bottom:0;background:var(--yellow);padding:16px 22px;display:flex;align-items:center;gap:12px}.experience strong{font-size:38px}.experience span{font-weight:800;line-height:1.15}.about-copy h2,.advantage-section h2,.testimonials h2,.faq-section h2{font-size:42px;line-height:1.1;margin:0 0 22px}.about-copy p{color:var(--muted);line-height:1.75}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{margin:12px 0;font-weight:700}.check-list li:before{content:'✓';color:#00527d;font-weight:900;margin-right:10px}.advantage-section{background:var(--pale)}.advantage-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.benefits div{display:grid;grid-template-columns:38px 1fr;column-gap:10px}.benefits b{grid-row:span 2;color:#00527d;font-size:25px}.benefits strong{font-size:15px}.benefits span{font-size:12px;color:var(--muted);margin-top:4px}.projects-head{display:flex;justify-content:space-between;align-items:end}.projects-head h2{font-size:34px;margin-bottom:0}.project-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px;align-items:stretch}.project-row img{display:block;width:100%;height:230px;aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:10px;box-shadow:0 4px 14px rgba(6,36,64,.12)}@media(max-width:900px){.project-row{gap:12px}.project-row img{height:190px}}@media(max-width:600px){.project-row{grid-template-columns:1fr;gap:16px}.project-row img{height:auto;aspect-ratio:16/9;max-height:260px}}.testimonials{text-align:center}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.testimonial-grid article{padding:30px;background:#f7fafc;text-align:left}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#00527d;color:#fff;font-weight:800}.testimonial-grid p{line-height:1.7;color:var(--muted)}.testimonial-grid strong{display:block}.testimonial-grid span{color:#5a3b00;letter-spacing:2px}.faq-section{background:#f7fafc}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}details{background:#fff;margin:10px 0;padding:18px 20px;border:1px solid #e5ebef}summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}.quote-card{background:var(--navy);color:#fff;min-height:350px;display:flex;align-items:center}.quote-content{padding:50px}.quote-content h2{font-size:40px;margin:0 0 15px}.quote-content p{color:#d9e5ed;line-height:1.6}.site-footer{background:#041b2e;color:#cfdce6;padding:22px 0 0}.footer-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr);gap:20px;padding-bottom:14px}.footer-grid>div,.footer-grid>nav{min-width:0}.footer-brand{margin-bottom:4px}.footer-grid h2{font-size:14px;color:#fff;margin:0 0 4px}.footer-grid>a,.footer-grid div>a{display:flex;align-items:center;min-height:44px;text-decoration:none;margin:0;font-size:13px}.footer-grid p{font-size:12px;line-height:1.4;margin:0 0 4px}.footer-bottom{border-top:1px solid #ffffff18;padding:7px 0;font-size:11px}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}:focus-visible{outline:3px solid #00527d;outline-offset:3px}.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;outline-offset:3px}.topbar a,.brand,.main-nav a,.btn-yellow,.btn-outline,.nav-toggle,summary,.footer-grid>a,.footer-grid div>a,.footer-grid nav a{min-height:44px!important}.main-nav a,.btn-yellow,.btn-outline,.nav-toggle,.summary,.footer-grid nav a{min-width:44px}.topbar a{display:inline-flex;align-items:center}.brand{display:flex;align-items:center}.main-nav a,.btn-yellow,.btn-outline,.footer-grid nav a{display:inline-flex;align-items:center;justify-content:center}.nav-toggle{display:none;align-items:center;justify-content:center}.footer-grid nav ul{margin:0;padding:0;list-style:none}.footer-grid nav li{margin:0}.footer-grid nav a{margin-bottom:0;text-decoration:none;padding:0 4px}.btn-yellow{color:#111827!important}.brand strong b,.main-nav a:hover,.main-nav a.active,.eyebrow.dark,.check-list li:before,.benefits b,.avatar{color:#00527d}.testimonial-grid span{color:#5a3b00}.insured-badge small{color:#5b6570}.section{contain:layout paint}.topbar a{margin-left:12px}.hero-actions{gap:16px}.header-cta{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 auto;width:auto;min-width:166px;height:48px;padding:0 16px;line-height:1;gap:8px;overflow:visible}.header-cta span{display:inline-flex;align-items:center;line-height:1}@media(max-width:1100px){.header-inner{gap:8px}.brand{min-width:205px}.main-nav{gap:6px}.main-nav a{font-size:12px}.header-cta{min-width:152px;padding:0 12px}}@media(max-width:760px){.topbar-inner{gap:7px;flex-wrap:wrap;padding-block:8px}.topbar-inner span:nth-of-type(2),.topbar-inner span:nth-of-type(3){display:none}.header-inner{min-height:68px}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:10px 20px;box-shadow:0 8px 15px #0002}.main-nav.open{display:flex}.main-nav a{padding:0 12px;min-height:44px}.nav-toggle{display:flex;align-items:center;justify-content:center;margin-left:auto}.hero{min-height:620px}.hero h1{font-size:44px}.hero p{font-size:16px}.insured-badge{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid #ffffff18}.section{padding:60px 0}.two-col,.advantage-grid,.faq-grid,.testimonial-grid{grid-template-columns:1fr}.benefits{grid-template-columns:1fr}.project-row{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:12px;padding-bottom:12px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom .container{flex-direction:column;gap:4px}}@media(max-width:480px){.brand{min-width:0}.brand small{display:none}.hero h1{font-size:37px}.hero-actions{flex-direction:column;align-items:flex-start}.service-grid{grid-template-columns:1fr}.project-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:0;padding-bottom:8px}.footer-grid>div:first-child{grid-column:auto}.footer-grid nav{padding-top:0}.site-footer{padding-top:18px}.footer-bottom{padding:6px 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:760px){.main-nav a{display:flex;align-items:center;min-height:44px!important}.nav-toggle{display:flex;min-width:44px!important;min-height:44px!important}.footer-grid>a,.footer-grid div>a,.footer-grid nav a{min-height:44px!important}.main-nav{gap:8px}.hero-actions{gap:12px}}#main-content article.section>.container{max-width:860px;margin:0 auto}#main-content article.section>.container>h1{font-size:clamp(38px,5vw,58px);line-height:1.06;letter-spacing:-.02em;color:var(--navy);margin:18px 0 20px}#main-content article.section>.container>p:first-of-type{font-size:20px;line-height:1.75;color:#405264;margin:0 0 34px}#main-content article.section>.container>h2{font-size:30px;line-height:1.2;color:var(--navy);margin:48px 0 16px}#main-content article.section>.container>h3{font-size:20px;line-height:1.35;color:var(--navy);margin:28px 0 8px}#main-content article.section>.container>p,#main-content article.section>.container>li{font-size:17px;line-height:1.78;color:#405264}#main-content article.section>.container>ul,#main-content article.section>.container>ol{padding-left:24px}#main-content article.section>.container>li{margin:10px 0}#main-content article.section a:not(.btn-yellow){color:#00527d;font-weight:700}#main-content article.section .blog-hero-image{display:block!important;margin:0 0 34px;overflow:hidden;background:#edf3f7}#main-content article.section .blog-hero-image img{width:100%;aspect-ratio:16/9;object-fit:cover}#main-content article.section table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}#main-content article.section th,#main-content article.section td{padding:14px;border:1px solid #d8e1e8;text-align:left;vertical-align:top}#main-content article.section th{background:#edf7ff;color:var(--navy);font-weight:800}#main-content article.section .btn-yellow{margin-top:12px}#main-content article.section h2+ul,#main-content article.section h2+ol{margin-bottom:28px}@media(max-width:760px){#main-content article.section>.container{max-width:none}#main-content article.section>.container>h1{font-size:38px}#main-content article.section>.container>h2{font-size:27px;margin-top:38px}#main-content article.section>.container>p,#main-content article.section>.container>li{font-size:16px}#main-content article.section .blog-hero-image{margin-bottom:26px}#main-content article.section table{display:block;overflow-x:auto}#main-content article.section th,#main-content article.section table td{min-width:150px}}.site-footer .footer-grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:24px;align-items:start}.site-footer .footer-grid nav{display:block!important;color:#fff!important}.site-footer .footer-grid nav strong{display:block;color:#fff!important;font-size:14px;line-height:1.4;margin:0 0 8px}.site-footer .footer-grid nav ul{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0!important;padding:0!important;list-style:none!important}.site-footer .footer-grid nav li{display:block!important;margin:0!important;padding:0!important}.site-footer .footer-grid nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:36px!important;padding:5px 0!important;color:#fff!important;background:transparent!important;text-decoration:none!important;font-size:13px!important;line-height:1.35!important}.site-footer .footer-grid nav a:hover,.site-footer .footer-grid nav a:focus-visible{color:#ffc400!important;text-decoration:underline!important;text-underline-offset:3px!important}.site-footer .footer-grid nav>a{display:flex!important;align-items:center!important;min-height:36px!important;padding:5px 0!important;margin:0!important;color:#fff!important;font-size:13px!important;line-height:1.35!important;text-decoration:none!important}.site-footer .footer-grid nav>a:hover,.site-footer .footer-grid nav>a:focus-visible{color:#ffc400!important;text-decoration:underline!important;text-underline-offset:3px!important}.site-footer .footer-grid .footer-brand strong{display:block;color:#fff!important;font-size:18px;margin-bottom:8px}.site-footer .footer-grid .footer-brand p{color:#d6e0e7!important;line-height:1.5!important;margin:0!important}@media(max-width:760px){.site-footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:18px!important}.site-footer .footer-grid .footer-brand{grid-column:1/-1}.site-footer .footer-grid nav a,.site-footer .footer-grid nav>a{min-height:40px!important}}@media(max-width:480px){.site-footer .footer-grid{grid-template-columns:1fr!important;gap:14px!important}.site-footer .footer-grid .footer-brand{grid-column:auto}}
/* Responsive hardening */
html,body{max-width:100%;overflow-x:hidden}body{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}.main-nav a,.btn-yellow,.btn-outline,.nav-toggle,.topbar a,.footer-grid a{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.hero-actions .btn-yellow,.hero-actions .btn-outline{min-width:170px}.service-grid article,.project-row img,.testimonial-grid article,.blog-card{min-width:0}.footer-grid p,.footer-grid a,.main-nav a{overflow-wrap:anywhere}@media(max-width:900px){.hero h1{font-size:clamp(42px,7vw,58px)}.hero-content{padding-top:20px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid article:last-child{grid-column:1/-1}.two-col,.advantage-grid,.faq-grid{gap:40px}.testimonial-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.5fr 1fr 1fr}.header-cta{min-width:140px}}@media(max-width:600px){.container{padding-left:16px;padding-right:16px}.container-fluid{padding-left:16px;padding-right:16px}.topbar-inner{justify-content:flex-start;gap:6px}.topbar-inner span:nth-of-type(2),.topbar-inner span:nth-of-type(3),.topbar-inner span:nth-of-type(4){display:none}.topbar a{margin-left:0}.header-inner{padding-left:16px;padding-right:16px}.brand{min-width:0;flex:1}.brand strong{font-size:20px}.header-cta{display:none}.nav-toggle{display:flex;margin-left:auto}.main-nav{top:68px;left:0;right:0;padding:10px 16px}.hero{min-height:600px}.hero h1{font-size:clamp(36px,11vw,46px);line-height:1.05}.hero p{font-size:16px;line-height:1.6}.hero-actions{flex-direction:column;align-items:stretch;margin-top:24px}.hero-actions .btn-yellow,.hero-actions .btn-outline{width:100%;min-width:0}.service-grid{grid-template-columns:1fr}.service-grid article:last-child{grid-column:auto}.section{padding:52px 0}.about-copy h2,.advantage-section h2,.testimonials h2,.faq-section h2{font-size:32px}.benefits{gap:18px}.project-row{grid-template-columns:1fr}.project-row img{height:auto;aspect-ratio:16/10}.footer-grid{grid-template-columns:1fr!important;gap:14px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom .container{align-items:flex-start}}@media(max-width:360px){.brand-mark{width:36px;height:36px;font-size:22px}.brand strong{font-size:18px}.hero{min-height:570px}.hero h1{font-size:34px}.hero p{font-size:15px}.section{padding:44px 0}.about-copy h2,.advantage-section h2,.testimonials h2,.faq-section h2{font-size:29px}.btn-yellow,.btn-outline{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.hero-image{image-rendering:auto}.about-section .image-card img{aspect-ratio:3/2;object-fit:cover}.projects-mini{grid-column:1/-1;min-width:0;width:100%;margin-top:20px}.projects-mini .project-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:20px;width:100%;margin-top:28px}.projects-mini .project-row img{width:100%;aspect-ratio:4/3;height:auto;min-height:280px;object-fit:cover;border-radius:10px;box-shadow:0 4px 16px #06244020}@media(min-width:1100px){.projects-mini .project-row img{min-height:340px}}@media(max-width:900px){.projects-mini .project-row{gap:14px}.projects-mini .project-row img{min-height:240px}}@media(max-width:760px){.projects-mini .project-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.projects-mini .project-row img{min-height:220px}}@media(max-width:480px){.projects-mini .project-row{grid-template-columns:1fr}.projects-mini .project-row img{min-height:0;aspect-ratio:4/3}}

/* Miami roofing gallery: larger images and full-width layout */
.advantage-section .container.advantage-grid{grid-template-columns:minmax(0,1fr)!important;gap:48px!important}.advantage-section .projects-mini{grid-column:1/-1!important;width:100%!important;max-width:none!important;margin-top:12px!important}.advantage-section .projects-mini .project-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;width:100%!important;margin-top:28px!important}.advantage-section .projects-mini .project-row img{display:block!important;width:100%!important;height:clamp(300px,30vw,440px)!important;min-height:300px!important;aspect-ratio:auto!important;object-fit:cover!important;border-radius:12px!important;box-shadow:0 6px 22px #06244024!important}@media(max-width:760px){.advantage-section .projects-mini .project-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.advantage-section .projects-mini .project-row img{height:clamp(230px,48vw,320px)!important;min-height:230px!important}}@media(max-width:480px){.advantage-section .projects-mini .project-row{grid-template-columns:1fr!important;gap:18px!important}.advantage-section .projects-mini .project-row img{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}}

/* Homepage spacing tune: tighter, more balanced vertical rhythm */
body:has(> main#main-content > .hero) .section{padding-top:54px!important;padding-bottom:54px!important}
body:has(> main#main-content > .hero) .hero{min-height:500px!important}
body:has(> main#main-content > .hero) .hero-content{padding-top:16px!important;padding-bottom:16px!important}
body:has(> main#main-content > .hero) .hero h1{font-size:clamp(40px,4.5vw,56px)!important;line-height:1.05!important;margin-bottom:16px!important}
body:has(> main#main-content > .hero) .hero p{font-size:16px!important;line-height:1.55!important}
body:has(> main#main-content > .hero) .hero-actions{margin-top:20px!important}
body:has(> main#main-content > .hero) .service-grid article{padding:22px 14px!important}
body:has(> main#main-content > .hero) .service-grid h3{margin:7px 0 5px!important}
body:has(> main#main-content > .hero) .two-col{gap:44px!important}
body:has(> main#main-content > .hero) .about-copy h2,body:has(> main#main-content > .hero) .advantage-section h2,body:has(> main#main-content > .hero) .testimonials h2,body:has(> main#main-content > .hero) .faq-section h2{font-size:clamp(30px,3.2vw,38px)!important;margin-bottom:16px!important}
body:has(> main#main-content > .hero) .local-service-hub .local-grid{margin-top:18px!important;gap:10px!important}
body:has(> main#main-content > .hero) .local-service-hub .local-card{padding:14px!important}
body:has(> main#main-content > .hero) .benefits{gap:16px!important;margin-top:20px!important}
body:has(> main#main-content > .hero) .projects-mini .project-row{margin-top:18px!important;gap:18px!important}
body:has(> main#main-content > .hero) .advantage-section .projects-mini .project-row img{height:clamp(260px,25vw,360px)!important;min-height:260px!important}
body:has(> main#main-content > .hero) .home-blog .blog-head{margin-bottom:18px!important}
body:has(> main#main-content > .hero) .home-blog .blog-grid{gap:16px!important}
body:has(> main#main-content > .hero) .home-blog .blog-card-content{padding:16px!important}
body:has(> main#main-content > .hero) .faq-grid{gap:36px!important}
body:has(> main#main-content > .hero) .quote-card{min-height:290px!important}
body:has(> main#main-content > .hero) .quote-content{padding:32px!important}
@media(max-width:760px){body:has(> main#main-content > .hero) .section{padding-top:38px!important;padding-bottom:38px!important}body:has(> main#main-content > .hero) .hero{min-height:500px!important}body:has(> main#main-content > .hero) .hero h1{font-size:clamp(34px,9vw,42px)!important}body:has(> main#main-content > .hero) .hero p{font-size:15px!important}body:has(> main#main-content > .hero) .service-grid article{padding:18px 14px!important}body:has(> main#main-content > .hero) .advantage-section .projects-mini .project-row img{height:clamp(220px,42vw,290px)!important;min-height:220px!important}body:has(> main#main-content > .hero) .local-service-hub .local-grid{gap:8px!important}body:has(> main#main-content > .hero) .home-blog .blog-grid{gap:14px!important}body:has(> main#main-content > .hero) .quote-content{padding:24px!important}}
@media(max-width:480px){body:has(> main#main-content > .hero) .section{padding-top:32px!important;padding-bottom:32px!important}body:has(> main#main-content > .hero) .hero{min-height:480px!important}body:has(> main#main-content > .hero) .hero h1{font-size:34px!important}body:has(> main#main-content > .hero) .advantage-section .projects-mini .project-row img{height:auto!important;min-height:0!important;aspect-ratio:4/3!important}}

/* Accessibility contrast corrections (WCAG AA text contrast) */
:root{--navy:#062440;--navy2:#0b3558;--ink:#0a1d33;--muted:#465563;--pale:#edf7ff}
body{color:#0a1d33}
p,li,dd,dt{color:#334454}
.eyebrow.dark,.brand strong b,.main-nav a:hover,.main-nav a.active,.check-list li:before,.benefits b{color:#004766}
.topbar{color:#f1f6fa}
.topbar a{color:#fff}
.service-grid p{color:#e0eaf2}
.hero p{color:#fff}
.insured-badge small{color:#465563}
.testimonial-grid p{color:#465563}
.testimonial-grid span{color:#5a3b00}
.home-blog .blog-date{color:#4a5967}
.home-blog .blog-card p{color:#334454}
.home-blog .blog-card a,.local-service-hub .local-card span{color:#004766}
.local-service-hub .local-card strong{color:#062440}
.site-footer,.site-footer p,.site-footer a,.footer-bottom{color:#e5eef5}
.site-footer .footer-grid .footer-brand p{color:#e5eef5!important}
.site-footer .footer-grid nav a,.site-footer .footer-grid nav>a{color:#fff!important}
.site-footer .footer-grid nav a:hover,.site-footer .footer-grid nav>a:hover{color:#ffc400!important}
.btn-yellow{background:#ffc400;color:#111827!important}
.btn-outline{color:#fff}


/* Inlined from header-stable.css to reduce render-blocking requests. */
/* Hyper Roof — shared responsive header + overflow stabilization. */
.site-header .header-inner{overflow:visible!important;min-width:0!important}
.site-header .brand,.site-header .main-nav,.site-header .header-cta{min-width:0}

/* Desktop: logo left, navigation centered, CTA locked to the far right. */
@media (min-width:1101px){
  .site-header .header-inner{min-height:82px!important;display:grid!important;grid-template-columns:220px minmax(0,1fr) 190px!important;align-items:center!important;column-gap:14px!important;position:relative!important}
  .site-header .brand{grid-column:1!important;grid-row:1!important;width:220px!important;min-width:220px!important}
  .site-header .main-nav{grid-column:2!important;grid-row:1!important;display:flex!important;width:max-content!important;max-width:100%!important;min-width:0!important;margin:0 auto!important;justify-content:center!important;align-items:center!important;gap:7px!important;overflow:visible!important;white-space:nowrap!important}
  .site-header .main-nav a{flex:0 0 auto!important;width:auto!important;min-width:44px!important;padding:0 4px!important;font-size:13px!important;white-space:nowrap!important}
  .site-header .header-cta{grid-column:3!important;grid-row:1!important;display:inline-flex!important;flex:0 0 190px!important;width:190px!important;min-width:190px!important;height:48px!important;justify-self:end!important;margin-left:auto!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}
  .site-header .nav-toggle{display:none!important}
}

/* Tablet/laptop: keep CTA on the right of the top row and navigation on its own row. */
@media (min-width:761px) and (max-width:1100px){
  .site-header{height:auto!important;min-height:126px!important}
  .site-header .header-inner{height:auto!important;min-height:126px!important;padding:8px 14px 0!important;display:flex!important;flex-wrap:wrap!important;align-content:flex-start!important;align-items:center!important;gap:6px!important}
  .site-header .brand{order:1!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:44px!important}
  .site-header .header-cta{order:2!important;flex:0 0 auto!important;width:auto!important;min-width:140px!important;height:44px!important;padding:0 12px!important;font-size:11px!important;white-space:nowrap!important;margin-left:auto!important}
  .site-header .nav-toggle{display:none!important}
  .site-header .main-nav{order:3!important;display:flex!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;height:56px!important;margin:0!important;padding:0!important;justify-content:center!important;align-items:center!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:none!important;border-top:1px solid #e8eef2!important;position:relative!important;z-index:3!important;touch-action:pan-x!important;-webkit-overflow-scrolling:touch!important}
  .site-header .main-nav::-webkit-scrollbar{display:none!important}
  .site-header .main-nav a{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:max-content!important;height:44px!important;min-height:44px!important;padding:0 11px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important}
}

/* Mobile: compact brand + CTA + menu button, with a reliable dropdown. */
@media (max-width:760px){
  .site-header{height:auto!important;min-height:68px!important;position:relative!important;inset:auto!important;transform:none!important}
  .site-header .header-inner{width:100%!important;max-width:none!important;height:68px!important;min-height:68px!important;padding:8px 14px!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;overflow:visible!important}
  .site-header .brand{order:1!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;height:44px!important;display:flex!important;align-items:center!important;gap:8px!important;overflow:hidden!important}
  .site-header .brand-mark{width:38px!important;height:38px!important;min-width:38px!important;flex:0 0 38px!important}
  .site-header .brand>span:last-child{min-width:0!important;overflow:hidden!important}
  .site-header .brand strong{font-size:18px!important;line-height:1!important;white-space:nowrap!important}
  .site-header .brand small{display:none!important}
  .site-header .header-cta{order:2!important;flex:0 1 auto!important;width:auto!important;max-width:150px!important;min-width:0!important;height:44px!important;padding:0 10px!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important}
  .site-header .nav-toggle{order:3!important;display:inline-flex!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#062440!important;align-items:center!important;justify-content:center!important;font-size:25px!important;line-height:1!important;cursor:pointer!important;position:relative!important;z-index:102!important}
  .site-header .main-nav{display:none!important;position:absolute!important;left:0!important;right:0!important;top:68px!important;width:100%!important;min-width:0!important;height:auto!important;max-height:calc(100vh - 68px)!important;margin:0!important;padding:8px 14px 12px!important;background:#fff!important;border-top:1px solid #e8eef2!important;border-bottom:1px solid #dfe7ed!important;box-shadow:0 8px 18px rgba(6,36,64,.12)!important;overflow-x:hidden!important;overflow-y:auto!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;z-index:101!important}
  .site-header .main-nav.open{display:flex!important}
  .site-header .main-nav a{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;padding:0 12px!important;font-size:13px!important;line-height:1.2!important;white-space:nowrap!important;word-break:normal!important;border:0!important;border-radius:2px!important}
  .site-header .main-nav a:hover,.site-header .main-nav a.active{background:#f3f7fa!important;border:0!important}
}

@media (max-width:360px){
  .site-header .header-inner{padding-left:10px!important;padding-right:10px!important;gap:4px!important}
  .site-header .brand-mark{width:36px!important;height:36px!important;min-width:36px!important;flex-basis:36px!important}
  .site-header .brand strong{font-size:17px!important}
  .site-header .header-cta{max-width:140px!important;font-size:10px!important;padding:0 8px!important}
}

/* Prevent grid/flex children from creating hidden horizontal overflow on content pages. */
.container,.two-col,.advantage-grid,.faq-grid,.testimonial-grid,.benefits,.project-row,.service-grid,.footer-grid,.home-blog .blog-grid{min-width:0}
.two-col>*,.advantage-grid>*,.faq-grid>*,.testimonial-grid>*,.benefits>*,.service-grid>*,.footer-grid>*,.home-blog .blog-card{min-width:0}
#main-content img{max-width:100%;height:auto}
#main-content h1,#main-content h2,#main-content h3,#main-content p,#main-content li{overflow-wrap:anywhere}

@media (max-width:760px){
  .container{padding-left:14px!important;padding-right:14px!important}
  .section{padding:56px 0!important}
  .hero-content{padding-top:20px!important}
  .hero h1{font-size:clamp(34px,10vw,44px)!important;overflow-wrap:anywhere}
  .hero-actions{width:100%!important}
  .hero-actions .btn-yellow,.hero-actions .btn-outline{max-width:100%!important}
  .service-grid{grid-template-columns:1fr 1fr!important}
  .service-grid article{min-width:0!important;padding:24px 14px!important}
  .footer-grid{grid-template-columns:1fr 1fr!important}
}
@media (max-width:480px){
  .service-grid,.footer-grid{grid-template-columns:1fr!important}
  .service-grid article{padding:22px 14px!important}
}


/* Inlined from overlap-fix.css to reduce render-blocking requests. */
/* Hyper Roof — final cross-device overlap/spacing guardrails. Loaded last. */
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{min-width:0}
img,svg,video,iframe{max-width:100%}

/* Prevent adjacent sections from collapsing into each other. */
main{display:block;width:100%;min-width:0}
main>section,main>article,main>.section{position:relative;width:100%;clear:both}
.section{display:block;isolation:isolate;overflow:visible}
.section>.container{width:100%;max-width:1180px;margin-left:auto;margin-right:auto}
.section h1,.section h2,.section h3,.section p,.section ul,.section ol{position:relative;z-index:1}

/* Grid/flex children must be allowed to shrink instead of overlapping. */
.two-col,.advantage-grid,.faq-grid,.testimonial-grid,.benefits,.project-row,.service-grid,.footer-grid,.home-blog .blog-grid,.local-service-hub .local-grid{min-width:0}
.two-col>*,.advantage-grid>*,.faq-grid>*,.testimonial-grid>*,.benefits>*,.project-row>*,.service-grid>*,.footer-grid>*,.home-blog .blog-card,.local-service-hub .local-card{min-width:0;max-width:100%}
.two-col img,.advantage-grid img,.project-row img,.home-blog img{display:block;width:100%;height:auto}

/* Header: one authoritative geometry at each breakpoint. */
.site-header{position:relative!important;z-index:100!important;overflow:visible!important}
.site-header .header-inner{position:relative!important;width:100%!important;max-width:1240px!important;margin:0 auto!important;min-width:0!important;overflow:visible!important}
.site-header .brand,.site-header .main-nav,.site-header .header-cta,.site-header .nav-toggle{min-width:0}
@media(min-width:1201px){
 .site-header .header-inner{height:78px!important;min-height:78px!important;display:grid!important;grid-template-columns:minmax(190px,220px) minmax(0,1fr) minmax(150px,180px)!important;gap:14px!important;align-items:center!important;padding:0 20px!important}
 .site-header .brand{grid-column:1!important;width:100%!important;min-width:0!important}
 .site-header .main-nav{grid-column:2!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:2px!important;width:100%!important;min-width:0!important;margin:0!important;overflow:visible!important}
 .site-header .main-nav a{flex:0 1 auto!important;min-width:44px!important;max-width:none!important;padding:0 6px!important;white-space:nowrap!important}
 .site-header .header-cta{grid-column:3!important;width:100%!important;min-width:150px!important;max-width:180px!important;justify-self:end!important}
 .site-header .nav-toggle{display:none!important}
}
@media(min-width:761px) and (max-width:1200px){
 /* Keep the stable tablet header: the navigation stays on its own horizontal row.
    Do not replace it with the mobile hamburger at tablet widths. */
 .site-header .header-inner{height:auto!important;min-height:72px!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:8px 16px 0!important}
 .site-header .brand{order:1!important;flex:1 1 180px!important;width:auto!important;min-width:160px!important}
 .site-header .header-cta{order:2!important;flex:0 0 auto!important;width:auto!important;min-width:132px!important;max-width:180px!important;height:44px!important}
 .site-header .nav-toggle{display:none!important}
 .site-header .main-nav{order:3!important;display:flex!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;height:56px!important;margin:0!important;padding:0!important;justify-content:center!important;align-items:center!important;gap:0!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;scrollbar-width:none!important;border-top:1px solid #e8eef2!important;position:relative!important;z-index:3!important;touch-action:pan-x!important;-webkit-overflow-scrolling:touch!important}
 .site-header .main-nav::-webkit-scrollbar{display:none!important}
 .site-header .main-nav a{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:max-content!important;height:44px!important;min-height:44px!important;padding:0 11px!important;font-size:12px!important;line-height:1!important;white-space:nowrap!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important}
}
@media(max-width:760px){
 .site-header .header-inner{height:68px!important;min-height:68px!important;width:100%!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:6px!important;padding:8px 12px!important;overflow:visible!important}
 .site-header .brand{order:1!important;flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;overflow:hidden!important}
 .site-header .brand>span:last-child{min-width:0!important;overflow:hidden!important}
 .site-header .brand strong{white-space:nowrap!important}
 .site-header .header-cta{order:2!important;flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:145px!important;height:44px!important;padding:0 9px!important;white-space:nowrap!important;overflow:hidden!important}
 .site-header .nav-toggle{order:3!important;display:inline-flex!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important}
 .site-header .main-nav{order:4!important;display:none!important;position:absolute!important;top:68px!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100vh - 68px)!important;margin:0!important;padding:8px 12px 12px!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;overflow-x:hidden!important;overflow-y:auto!important;background:#fff!important;z-index:101!important}
 .site-header .main-nav.open{display:flex!important}
 .site-header .main-nav a{display:flex!important;width:100%!important;height:44px!important;min-height:44px!important;justify-content:flex-start!important;align-items:center!important;padding:0 12px!important;white-space:nowrap!important}
 /* Pages with the legacy header markup place the toggle directly under header-inner. */
 .site-header>.nav-toggle{position:absolute!important;right:12px!important;top:12px!important;display:inline-flex!important;width:44px!important;height:44px!important;z-index:102!important}
}

/* Hero: prevent text/actions/badges from colliding at smaller widths. */
.hero{position:relative!important;width:100%!important;overflow:hidden!important}
.hero-content{position:relative!important;z-index:2!important;width:100%!important}
.hero-copy{min-width:0!important;max-width:760px!important}
.hero h1,.hero p{overflow-wrap:break-word!important}
.hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;min-width:0!important}
.hero-actions>a{flex:0 1 auto!important;min-width:44px!important;max-width:100%!important}
.insured-badge{z-index:3!important;max-width:calc(100% - 40px)!important}
@media(max-width:760px){
 .hero{min-height:0!important;height:auto!important}
 .hero-content{padding-top:56px!important;padding-bottom:56px!important}
 .hero-actions{flex-direction:column!important;align-items:stretch!important;width:100%!important;gap:12px!important}
 .hero-actions>a{width:100%!important;max-width:420px!important}
 .insured-badge{display:none!important}
}

/* Service cards: fixed track sizing eliminates uneven/overlapping content. */
.service-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important}
.service-grid article{min-width:0!important;height:100%!important;overflow-wrap:anywhere!important}
.service-grid h3,.service-grid p{overflow-wrap:anywhere!important}
@media(max-width:900px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.service-grid{grid-template-columns:1fr!important}}

/* Standard content sections. */
.about-section .two-col,.advantage-section .advantage-grid,.faq-section .faq-grid{align-items:start!important}
.image-card{width:100%;min-width:0!important;overflow:hidden}
.image-card img{aspect-ratio:3/2;object-fit:cover}
.experience{z-index:2!important;max-width:calc(100% - 12px);overflow:hidden}
.benefits{align-items:start!important}
.benefits>div{min-width:0!important;overflow-wrap:anywhere!important}

/* Trust steps have no icon column. */
.trust-section .benefits{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important;margin-top:32px!important}
.trust-section .benefits>div{display:block!important;min-width:0!important;width:100%!important;padding:0!important}
.trust-section .benefits>div strong{display:block!important;width:100%!important;margin:0 0 8px!important;font-size:17px!important;line-height:1.3!important;color:var(--ink,#0a1d33)!important}
.trust-section .benefits>div span{display:block!important;width:100%!important;margin:0!important;font-size:14px!important;line-height:1.6!important;color:var(--muted,#53606d)!important;overflow-wrap:anywhere!important}
.trust-section> .container > p:last-child{margin-top:28px!important;line-height:1.6!important}
@media(max-width:900px){.trust-section .benefits{grid-template-columns:1fr 1fr!important;gap:24px!important}}
@media(max-width:600px){.trust-section .benefits{grid-template-columns:1fr!important;gap:22px!important;margin-top:28px!important}.trust-section .benefits>div strong{font-size:18px!important}.trust-section .benefits>div span{font-size:16px!important;line-height:1.55!important}}

.projects-mini{min-width:0!important}
.project-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.project-row img{aspect-ratio:3/2!important;object-fit:cover!important}
@media(max-width:760px){
 .two-col,.advantage-grid,.faq-grid,.testimonial-grid{grid-template-columns:1fr!important;gap:34px!important}
 .benefits{grid-template-columns:1fr!important}
 .project-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:480px){.project-row{grid-template-columns:1fr!important}}

/* Local-area cards and related-local-areas. */
.local-service-hub{position:relative;display:block;width:100%;clear:both}
.local-service-hub .local-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important}
.local-service-hub .local-card{height:100%!important;overflow-wrap:anywhere!important}
.related-local-areas{display:block!important;position:relative!important;clear:both!important;width:100%!important;margin:0!important;padding:42px max(20px,calc((100% - 1140px)/2)) 48px!important;background:#f4f7fa!important;border-top:1px solid #dfe7ed!important}
.related-local-areas h2{margin:0 0 12px!important;color:#062440!important;line-height:1.2!important}
.related-local-areas p{margin:0!important;line-height:1.7!important;color:#405264!important}
.related-local-areas a{color:#00527d!important;font-weight:700!important;text-decoration:underline!important;text-underline-offset:2px!important}
@media(max-width:900px){.local-service-hub .local-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.local-service-hub .local-grid{grid-template-columns:1fr!important}.related-local-areas{padding:34px 14px 40px!important}}

/* FAQ/details: keep summaries and answer blocks inside their cards. */
details{position:relative!important;overflow:hidden!important}
details summary{overflow-wrap:anywhere!important}
details>*:not(summary){max-width:100%!important;overflow-wrap:anywhere!important}

/* Blog/content pages: eliminate image/table/text collisions. */
#main-content article.section>.container{width:100%!important;max-width:920px!important;margin:0 auto!important;min-width:0!important}
#main-content article.section table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}
#main-content article.section th,#main-content article.section td{overflow-wrap:anywhere!important}
.blog-hero-image{width:100%!important;overflow:hidden!important}
.blog-hero-image img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important}

/* Footer: stable columns and no text/links sitting on top of each other. */
.site-footer{position:relative!important;clear:both!important;width:100%!important;overflow:hidden!important}
.site-footer .footer-grid{display:grid!important;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))!important;align-items:start!important;gap:24px!important}
.site-footer .footer-grid>div,.site-footer .footer-grid>nav{min-width:0!important;overflow-wrap:anywhere!important}
.site-footer .footer-grid nav ul{display:flex!important;flex-direction:column!important;gap:2px!important;margin:0!important;padding:0!important;list-style:none!important}
.site-footer .footer-grid nav a{width:100%!important;min-height:36px!important;height:auto!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important}
.site-footer .footer-bottom{position:relative!important;clear:both!important}
@media(max-width:900px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){.site-footer .footer-grid{grid-template-columns:1fr!important;gap:10px!important}.site-footer .footer-grid>div,.site-footer .footer-grid>nav{grid-column:auto!important}}

@media(max-width:380px){
 .container{padding-left:12px!important;padding-right:12px!important}
 .site-header .header-inner{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
 .site-header .header-cta{max-width:126px!important;font-size:10px!important;padding:0 7px!important}
 .hero-content{padding-top:46px!important;padding-bottom:46px!important}
}

main>section+section,main>article+section,main>section+article{margin-top:0}
.clearfix::after{content:"";display:table;clear:both}


/* Header CTA overlap fix: reserve separate space for brand, nav, and CTA. */
.site-header,
.site-header .header-inner{box-sizing:border-box!important;min-width:0!important}
.site-header .header-inner{overflow:visible!important}
.site-header .brand,.site-header .main-nav,.site-header .header-cta,.site-header .nav-toggle{min-width:0!important}
.site-header .header-cta{box-sizing:border-box!important;flex-shrink:0!important;max-width:100%!important;overflow:visible!important;text-overflow:clip!important;line-height:1.15!important;gap:6px!important}
.site-header .header-cta span{flex:0 0 auto!important}
@media (min-width:1201px){
 .site-header .header-inner{display:grid!important;grid-template-columns:minmax(190px,220px) minmax(0,1fr) 180px!important;column-gap:12px!important}
 .site-header .brand{grid-column:1!important;width:100%!important;min-width:0!important}
 .site-header .main-nav{grid-column:2!important;width:100%!important;min-width:0!important;gap:2px!important;justify-content:center!important}
 .site-header .main-nav a{min-width:0!important;padding-inline:5px!important;font-size:12px!important}
 .site-header .header-cta{grid-column:3!important;width:180px!important;min-width:180px!important;max-width:180px!important;padding-inline:10px!important;font-size:12px!important;justify-self:end!important;white-space:nowrap!important}
}
@media (min-width:1101px) and (max-width:1200px){
 .site-header .header-inner{display:grid!important;grid-template-columns:minmax(180px,205px) minmax(0,1fr) 174px!important;column-gap:8px!important}
 .site-header .brand{grid-column:1!important;width:100%!important;min-width:0!important}
 .site-header .main-nav{grid-column:2!important;width:100%!important;min-width:0!important;gap:0!important;justify-content:center!important}
 .site-header .main-nav a{min-width:0!important;padding-inline:4px!important;font-size:11px!important}
 .site-header .header-cta{grid-column:3!important;width:174px!important;min-width:174px!important;max-width:174px!important;padding-inline:8px!important;font-size:11px!important;justify-self:end!important}
}
@media (min-width:761px) and (max-width:1100px){
 .site-header .header-inner{display:flex!important;flex-wrap:wrap!important;align-items:center!important;row-gap:6px!important;padding-top:8px!important}
 .site-header .brand{order:1!important;flex:1 1 180px!important;width:auto!important;min-width:0!important}
 .site-header .header-cta{order:2!important;flex:0 0 174px!important;width:174px!important;min-width:174px!important;max-width:174px!important;height:44px!important;padding-inline:8px!important;font-size:11px!important;margin-left:auto!important}
 .site-header .main-nav{order:3!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;margin:0!important;justify-content:center!important;overflow-x:auto!important}
}
@media (max-width:760px){
 .site-header .header-inner{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow:visible!important}
 .site-header .brand{flex:1 1 auto!important;width:auto!important;min-width:0!important;overflow:hidden!important}
 .site-header .brand>span:last-child{min-width:0!important;overflow:hidden!important}
 .site-header .header-cta{display:inline-flex!important;flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:136px!important;height:42px!important;min-height:42px!important;padding-inline:8px!important;font-size:10px!important;gap:4px!important;white-space:nowrap!important}
 .site-header .header-cta span{font-size:10px!important}
 .site-header .nav-toggle{flex:0 0 44px!important;width:44px!important;min-width:44px!important;margin:0!important}
}
@media (max-width:380px){
 .site-header .header-inner{gap:4px!important;padding-inline:8px!important}
 .site-header .brand-mark{width:34px!important;min-width:34px!important;flex-basis:34px!important}
 .site-header .brand strong{font-size:16px!important}
 .site-header .header-cta{max-width:124px!important;padding-inline:6px!important;font-size:9px!important}
}


/* Performance and image layout guardrails. */
.hero-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.project-row img{width:100%;aspect-ratio:16/9;object-fit:cover;}
@media(max-width:760px){.hero-image{height:100%;object-fit:cover}}


/* Miami Roofing Help & Project Examples: keep all content in one clean section. */
#projects.advantage-section{overflow:visible;isolation:isolate}
#projects.advantage-section>.container{min-width:0}
#projects.advantage-section h2{max-width:100%;overflow-wrap:break-word}
#projects.advantage-section> .container>p{max-width:760px;line-height:1.7}
#projects.advantage-section .benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0}
#projects.advantage-section .benefits>div{display:block;min-width:0;padding:20px;background:#fff;border:1px solid #dce6ed;border-radius:8px;overflow-wrap:anywhere}
#projects.advantage-section .benefits>div strong{display:block;font-size:16px;line-height:1.4;margin:0 0 8px}
#projects.advantage-section .benefits>div span{display:block;font-size:14px;line-height:1.6;margin:0;color:#53606d}
#projects.advantage-section .project-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;align-items:stretch}
#projects.advantage-section .project-row img{display:block;width:100%;height:auto;aspect-ratio:4/3;min-width:0;object-fit:cover;border-radius:8px}
@media(max-width:760px){
 #projects.advantage-section .benefits{grid-template-columns:1fr;gap:12px}
 #projects.advantage-section .benefits>div{padding:16px}
 #projects.advantage-section .project-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 #projects.advantage-section .project-row img{aspect-ratio:4/3;height:auto}
}
@media(max-width:480px){
 #projects.advantage-section .project-row{grid-template-columns:1fr;gap:14px}
 #projects.advantage-section .project-row img{aspect-ratio:16/9}
}

/* Two-image hero layout */
.hero-image-slides{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden}
.hero-image-slides .hero-image{position:relative;inset:auto;display:block;width:100%;height:100%;min-width:0;object-fit:cover}
.hero-image-slides .hero-image-secondary{border-left:3px solid rgba(255,255,255,.55)}
@media(max-width:600px){.hero-image-slides{grid-template-columns:1fr 1fr}.hero-image-slides .hero-image-secondary{border-left:2px solid rgba(255,255,255,.45)}}


/* CLS guardrails: reserve stable space for the homepage hero and media. */
body:has(> main#main-content > .hero) .hero{
  min-height:500px!important;
  height:auto!important;
}
body:has(> main#main-content > .hero) .hero-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(max-width:760px){
  body:has(> main#main-content > .hero) .hero{min-height:480px!important}
}
@media(max-width:480px){
  body:has(> main#main-content > .hero) .hero{min-height:460px!important}
}


/* Accessibility: strengthen low-contrast metadata and muted text. */
.home-blog .blog-date,
.blog-date,
.insured-badge small,
.testimonial-grid p,
.benefits span,
.service-grid p,
.site-footer .footer-brand p {
  color: #405264 !important;
}

/* Lighthouse contrast fixes: service-strip copy and blog button on light backgrounds. */
.service-strip .service-grid p{color:#e0eaf2!important}
.home-blog .blog-view{color:#062440!important;border-color:#062440!important}
.home-blog .blog-view:hover,.home-blog .blog-view:focus-visible{color:#062440!important;background:#ffc400!important;border-color:#ffc400!important}

/* Prominent click-to-call contact options */
.topbar-phone{display:inline-flex!important;align-items:center;min-height:38px!important;margin-left:auto!important;padding:0 12px;color:#fff!important;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;border-left:1px solid #ffffff35}
.topbar-phone:hover{text-decoration:underline}
.floating-call{position:fixed;right:22px;bottom:22px;z-index:1000;display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;padding:10px 18px;background:#ffc400;color:#111827!important;border:2px solid #062440;border-radius:5px;box-shadow:0 5px 20px #0004;text-decoration:none;font-size:15px;font-weight:800}
.floating-call span{white-space:nowrap}.floating-call strong{white-space:nowrap}
.floating-call:hover{background:#ffd633;transform:translateY(-2px)}
@media(max-width:760px){.topbar-inner{justify-content:space-between}.topbar-phone{margin-left:auto!important;padding:0 0 0 8px;font-size:13px}.floating-call{left:14px;right:14px;bottom:12px;width:auto;min-height:56px;box-shadow:0 4px 18px #0005}.site-footer{padding-bottom:74px}}
@media(prefers-reduced-motion:reduce){.floating-call{transition:none}}
