/* RoofingSolutionsUSA — Responsive, accessible static website */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10243b;--deep:#0d1b2b;--navy2:#172e46;--ink:#152337;--muted:#627185;--orange:#ff6b3c;--orange-dark:#f65c2d;--cream:#f7f9fb;--edge:#e5eaef;--white:#fff;--soft:#f6f8fa;--shadow:0 22px 70px rgba(12,34,52,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;line-height:1.65}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #ffa27d;outline-offset:4px}[hidden]{display:none!important}.wrap{width:min(1200px,calc(100% - 60px));margin:0 auto}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,'DM Sans',sans-serif;line-height:1.19;letter-spacing:-.045em}h1{font-weight:800}h2{font-size:clamp(31px,3.5vw,46px);font-weight:800}h3{font-weight:800}p{color:var(--muted)}.icon-svg{width:24px;height:24px;flex:0 0 auto}.section{padding:106px 0}.eyebrow{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);line-height:1.3}.eyebrow-line{width:23px;height:2px;background:currentColor;display:inline-block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:27px;min-height:56px;padding:15px 25px;border-radius:8px;border:1px solid transparent;font-size:14px;font-weight:800;line-height:1.15;transition:transform .2s,background .2s,box-shadow .2s,color .2s;white-space:nowrap}.btn:hover{transform:translateY(-3px)}.btn span:last-child{font-size:19px;line-height:1}.btn-orange{background:var(--orange);color:#fff;box-shadow:0 12px 28px rgba(255,107,60,.22)}.btn-orange:hover{background:var(--orange-dark)}.btn-blue{background:var(--navy);color:#fff}.btn-blue:hover{background:#213c57}.btn-outline-light{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.04)}.btn-outline-light:hover{background:rgba(255,255,255,.12)}.btn-small{min-height:46px;padding:12px 20px;gap:17px}.button-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.text-link{color:var(--orange-dark);font-weight:800;font-size:14px;display:inline-flex;gap:8px;align-items:center}.text-link:hover{color:var(--navy)}
/* Navigation */
.utility-bar{background:#0a1b2c;color:#cbd4df;font-size:12px;line-height:1.4}.utility-inner{height:38px;display:flex;align-items:center;justify-content:space-between;gap:14px}.utility-inner a{font-weight:700;color:#fff}.utility-inner a span{color:var(--orange);margin-left:4px}.pulse{display:inline-block;width:7px;height:7px;background:#70d49b;border-radius:50%;box-shadow:0 0 0 4px rgba(112,212,155,.15);margin-right:9px}.site-header{background:#fff;position:sticky;z-index:100;top:0;box-shadow:0 1px 0 #e6ebf0}.nav-container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none}.brand-mark{width:48px;height:48px}.brand-text{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.065em;color:#182c40;font-size:21px;line-height:1.02;display:flex;flex-direction:column}.brand-text span{font-size:19px;color:#182c40;letter-spacing:-.045em}.brand-text strong{font-size:11px;letter-spacing:.33em;color:var(--orange);margin-top:3px}.site-nav{display:flex;align-items:center;gap:26px}.site-nav>a{font-size:13px;font-weight:800;color:#263e50;transition:color .2s;white-space:nowrap}.site-nav>a:hover,.site-nav>a.active{color:var(--orange)}.header-actions{display:flex;align-items:center;gap:18px}.header-call{display:flex;gap:8px;align-items:center}.phone-dot{display:grid;place-items:center;width:36px;height:36px;background:#fff1eb;color:var(--orange);border-radius:50%}.phone-dot .icon-svg{width:18px;height:18px}.call-label{display:flex;flex-direction:column;line-height:1.15;white-space:nowrap}.call-label small{font-size:10px;color:#8792a0;margin-bottom:5px}.call-label b{font-size:13px;font-weight:800;color:#182c40}.menu-toggle{display:none;flex-direction:column;gap:5px;background:transparent;border:0;padding:10px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--navy);border-radius:4px}.nav-mobile-cta{display:none!important}
/* Hero */
.hero{background:linear-gradient(118deg,#0d2338 1%,#15334b 52%,#213c50 100%);color:#fff;position:relative;overflow:hidden}.hero-orb{position:absolute;border:1px solid rgba(255,255,255,.05);border-radius:50%;pointer-events:none}.hero-orb-one{width:800px;height:800px;left:-390px;top:-610px}.hero-orb-two{width:930px;height:930px;right:-700px;bottom:-800px}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:70px;min-height:620px;padding:76px 0 94px}.hero-content{position:relative;z-index:2}.hero .eyebrow{color:#ff9979}.hero h1{font-size:clamp(43px,4.6vw,64px);margin:24px 0 23px;line-height:1.13;letter-spacing:-.062em;color:#fff}.hero h1 span{color:var(--orange)}.hero-text{max-width:540px;color:#c6d3df;font-size:17px;line-height:1.85;margin-bottom:29px}.hero-proof{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:37px;font-size:12px;font-weight:700;color:#cbd8e3}.hero-proof i{width:4px;height:4px;border-radius:50%;background:#677d8f}.proof-icon{display:inline-grid;place-items:center;background:#77d9a1;color:#0d2338;font-weight:800;font-size:11px;width:21px;height:21px;border-radius:50%}.hero-visual{height:493px;position:relative;z-index:1}.hero-image-wrap{position:absolute;inset:0 4px 28px 4px;overflow:hidden;border-radius:170px 12px 170px 12px;background:#6e879a;box-shadow:0 35px 80px rgba(0,0,0,.24)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero-image-tint{position:absolute;inset:0;background:linear-gradient(190deg,transparent 43%,rgba(9,25,41,.21))}.hero-shape{position:absolute;z-index:-1;width:77%;height:72%;right:-40px;top:-26px;border:2px solid rgba(255,107,60,.7);border-radius:145px 0 145px 0}.floating-rating{position:absolute;bottom:0;left:-38px;background:#fff;box-shadow:var(--shadow);border-radius:12px;color:#173047;padding:18px 22px;display:flex;align-items:center;gap:12px;max-width:350px}.floating-rating-icon{background:#fff0e9;color:var(--orange);width:45px;height:45px;border-radius:11px;display:grid;place-items:center}.floating-rating strong{display:block;font-size:14px;line-height:1.35}.floating-rating small{display:block;font-size:11px;color:#738292;margin-top:4px}.hero-bottom-line{position:absolute;bottom:0;height:5px;width:100%;background:linear-gradient(90deg,var(--orange) 20%,#ff936f 20% 31%,transparent 31%)}
.quickbar{border-bottom:1px solid var(--edge);background:#fff}.quickbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:29px 0}.quickbar-grid>div{display:flex;align-items:center;gap:13px;padding:4px 16px;border-right:1px solid var(--edge)}.quickbar-grid>div:first-child{padding-left:0}.quickbar-grid>div:last-child{border:0}.quickbar-grid .icon-svg{color:var(--orange);width:30px;height:30px}.quickbar-grid span{display:grid;gap:3px}.quickbar-grid strong{font-size:13px;line-height:1.2}.quickbar-grid small{font-size:11px;color:#8290a0;line-height:1.45}
/* Section headings and service cards */
.services-section{background:#f8fafb}.section-head{display:flex;justify-content:space-between;align-items:end;gap:38px;margin-bottom:39px}.section-head h2{max-width:670px;margin:19px 0 0}.section-head h2 span,.split-content h2 span,.centered-head h2 span,.faq-aside h2 span,.gallery-intro h2 span,.services-intro h2 span,.about-text h2 span{color:var(--orange)}.section-head-right{max-width:340px;flex:0 0 340px}.section-head-right p{font-size:14px;margin-bottom:14px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.service-card{min-height:275px;background:#fff;border:1px solid #e6ebef;border-radius:13px;padding:29px;display:flex;flex-direction:column;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(14,32,50,.1);border-color:#ffd2c2}.service-card::before{content:"";position:absolute;top:0;left:0;width:0;height:3px;background:var(--orange);transition:width .25s}.service-card:hover:before{width:100%}.service-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:12px;background:#fff0ea;color:var(--orange);margin-bottom:19px}.service-icon .icon-svg{width:29px;height:29px}.service-card h3{font-size:19px;letter-spacing:-.035em;margin:0 0 9px;color:#17283a}.service-card p{font-size:13px;line-height:1.75;margin-bottom:22px;max-width:300px}.service-card-arrow{margin-top:auto;color:var(--orange);border:1px solid #f0d7cc;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:20px;align-self:flex-end;transition:background .2s,color .2s}.service-card:hover .service-card-arrow{background:var(--orange);color:#fff}.services-more{text-align:center;margin-top:35px}.services-more .btn{min-width:210px}.service-hidden[hidden]{display:none}
/* About split */
.split-section{background:#fff}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.split-visual{position:relative;min-height:535px}.split-img{position:absolute;inset:0 0 15px 0;border-radius:14px 170px 14px 14px;overflow:hidden;background:#cfdee8}.split-photo{width:100%;height:100%;object-fit:cover;object-position:center 42%}.split-badge{position:absolute;right:-50px;bottom:55px;border-radius:12px;display:flex;align-items:center;gap:14px;background:var(--orange);color:white;padding:22px 26px;box-shadow:0 18px 40px rgba(255,107,60,.2)}.split-badge>span{font-weight:800;font-size:37px;letter-spacing:-.08em}.split-badge b{display:block;font-size:14px}.split-badge small{display:block;font-size:11px;color:#fff5ef}.split-content h2{margin:22px 0}.split-content p{font-size:15px;line-height:1.9;margin-bottom:16px}.checklist{display:grid;gap:14px;margin:24px 0 30px}.checklist>div{font-size:14px;font-weight:700;display:flex;gap:12px;align-items:center}.checklist span{background:#e9f9ef;color:#288a56;display:grid;place-items:center;border-radius:50%;width:22px;height:22px;font-size:12px}
/* Project gallery */
.project-section{background:#f7f9fb}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.project-card{display:block}.project-img{height:270px;background:#d2e0e8;overflow:hidden;position:relative;border-radius:12px}.project-photo{width:100%;height:100%;object-fit:cover;transition:transform .45s}.project-card:hover .project-photo{transform:scale(1.07)}.project-zoom{position:absolute;right:17px;bottom:17px;border-radius:50%;background:var(--orange);color:#fff;width:42px;height:42px;display:grid;place-items:center;font-size:22px}.project-card-copy{padding:20px 3px}.project-card-copy small{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;color:var(--orange)}.project-card h3{font-size:19px;margin:7px 0 0}.image-disclaimer{font-size:11px;text-align:right;margin:10px 0 0;color:#8995a1}
/* Coverage CTA */
.coverage-teaser{background:#10273d;color:#fff;overflow:hidden}.coverage-teaser-grid{display:grid;grid-template-columns:1fr .9fr;gap:90px;align-items:center;min-height:484px;position:relative;padding:70px 0}.coverage-teaser .eyebrow{color:#ff9674}.coverage-teaser h2{font-size:clamp(32px,3.35vw,46px);margin:18px 0 19px}.coverage-teaser h2 span{color:var(--orange)}.coverage-teaser p{color:#c0cdd8;max-width:520px;font-size:15px;line-height:1.85;margin-bottom:27px}.coverage-icon{display:none}.coverage-illustration{position:relative;height:330px}.map-dots{position:absolute;inset:-45px;background-image:radial-gradient(rgba(255,255,255,.15) 1px,transparent 1px);background-size:19px 19px;mask-image:radial-gradient(ellipse,#000 25%,transparent 80%)}.coverage-map-card{position:absolute;z-index:3;width:370px;max-width:95%;top:67px;left:45px;border-radius:14px;background:#fff;box-shadow:0 27px 65px rgba(0,0,0,.24);padding:23px;color:var(--navy);transform:rotate(-3deg)}.map-card-header{display:flex;gap:9px;align-items:center;font-weight:800;font-size:15px;margin-bottom:19px}.map-pin{width:30px;height:30px;border-radius:10px;background:#fff0e9;color:var(--orange);display:grid;place-items:center}.map-input-mock{height:49px;border-radius:8px;border:1px solid #e4e9ee;color:#9aa6b4;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:13px}.map-input-mock span{font-size:21px;color:var(--orange)}.map-label{color:#52687c;font-size:12px;display:flex;align-items:center;gap:10px;margin-top:17px}.map-ok{border-radius:50%;display:grid;place-items:center;background:#d9f8e6;color:#168f4f;font-weight:800;width:23px;height:23px}.cover-ring{position:absolute;width:270px;height:270px;border:1px dashed rgba(255,158,118,.35);border-radius:50%;top:28px;left:80px}.cover-ring.c2{width:360px;height:360px;top:-15px;left:35px}.cover-ring.c3{width:450px;height:450px;top:-60px;left:-10px}
/* Steps, questions, CTA */
.centered-head{text-align:center;max-width:710px;margin:0 auto 50px}.centered-head h2{margin:18px 0 12px}.centered-head>p{font-size:15px}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.step{background:#fff;border:1px solid #ebeff3;padding:34px;border-radius:12px;position:relative}.step .icon-svg{width:44px;height:44px;color:var(--orange);margin-bottom:24px}.step-number{position:absolute;right:26px;top:27px;font:800 40px Manrope,sans-serif;color:#edf1f4;letter-spacing:-.09em}.step h3{font-size:19px;margin:0 0 10px}.step p{font-size:13px;line-height:1.85;margin:0}.faq-section{background:#f7f9fb}.faq-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.faq-aside h2{margin:21px 0}.faq-aside p{max-width:360px;margin-bottom:23px}.faq-list{display:grid;gap:14px}.faq-list details{background:#fff;border:1px solid #e5ebef;border-radius:9px;padding:0 23px}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;font-weight:800;padding:21px 0;line-height:1.45;font-size:15px;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--orange);font-size:23px;font-weight:500;padding-left:13px}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{border-top:1px solid #edf0f2;font-size:13px;line-height:1.9;padding:17px 0 21px;margin:0}.final-cta{background:#0a1d30;color:#fff}.final-cta-inner{min-height:248px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:45px 0}.final-cta h2{font-size:clamp(31px,3.2vw,42px);margin:14px 0}.final-cta h2 span{color:var(--orange)}.final-cta p{color:#adbfcd;margin:0}.final-cta .eyebrow{color:#ff9a78}.cta-soft{background:var(--navy);color:#fff;padding:50px 0}.cta-soft>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-soft h2{font-size:28px;letter-spacing:-.045em;margin:0 0 9px}.cta-soft p{color:#bdd0df;margin:0}
/* Footer */
.site-footer{background:#071626;color:#b6c3d1}.footer-top{display:grid;grid-template-columns:1.5fr .76fr .86fr 1.15fr;gap:55px;padding:78px 0 67px}.brand-footer .brand-text,.brand-footer .brand-text span{color:#fff}.footer-brand-col p{max-width:270px;font-size:13px;line-height:1.85;margin:23px 0 20px}.footer-phone{font-weight:800;color:#fff;display:inline-flex;align-items:center;gap:9px}.footer-phone svg{width:19px;color:var(--orange)}.footer-links,.footer-contact{display:flex;flex-direction:column;gap:11px}.site-footer h3{color:#fff;font-size:15px;letter-spacing:-.01em;margin:4px 0 13px}.footer-links a{font-size:13px;transition:color .2s}.footer-links a:hover,.footer-bottom a:hover{color:var(--orange)}.footer-contact p{font-size:13px;margin:0 0 8px;line-height:1.65}.footer-contact p b{display:block;color:#fff;margin-bottom:3px}.footer-contact p a,.footer-contact p span{display:block}.footer-check{font-size:12px;font-weight:800;color:var(--orange);margin-top:7px}.footer-bottom{border-top:1px solid #1a3044;padding:26px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:25px}.footer-bottom>span:last-child{display:flex;gap:24px}.floating-call{position:fixed;z-index:80;bottom:25px;right:23px;border-radius:100px;background:var(--orange);color:#fff;display:flex;align-items:center;gap:9px;padding:13px 21px;box-shadow:0 10px 30px rgba(232,79,37,.35);font-size:14px;font-weight:800;transition:transform .2s}.floating-call svg{width:18px;height:18px}.floating-call:hover{transform:translateY(-3px)}
/* Inner pages */
.page-banner{background:radial-gradient(circle at 80% 15%,#244662,#102a40 60%,#102237);color:#fff;position:relative;overflow:hidden}.page-banner-inner{position:relative;z-index:2;padding:93px 0 75px}.page-banner .eyebrow{color:#ff997a}.page-banner h1{font-size:clamp(43px,5vw,63px);margin:19px 0 17px;max-width:790px;color:#fff}.page-banner h1 em{font-style:normal;color:var(--orange)}.page-banner p{max-width:690px;color:#d0d9e2;line-height:1.8;font-size:16px;margin:0 0 32px}.crumbs{display:flex;align-items:center;gap:11px;color:#9eafbf;font-size:12px;font-weight:800}.crumbs a{color:#fff}.crumbs span:last-child{color:#ffae92}.page-banner-art{position:absolute;right:-145px;top:-210px;border-radius:50%;width:680px;height:680px;border:95px solid rgba(255,255,255,.025)}.services-intro,.gallery-intro{display:flex;gap:55px;justify-content:space-between;align-items:end;margin-bottom:37px}.services-intro h2,.gallery-intro h2{max-width:650px;margin:16px 0 0}.services-intro>p,.gallery-intro>p{max-width:365px;font-size:14px;margin:0}.service-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:29px}.filter{background:#f4f6f8;border:1px solid #e7edf0;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:800;color:#4c5b6d;transition:.2s}.filter:hover,.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.full-grid .service-card{min-height:276px}.service-note{margin:29px 0 0;text-align:center;color:#728295;font-size:12px}
/* Projects */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.gallery-item{min-width:0}.gallery-feature{grid-column:span 2}.gallery-image{height:255px;background:#d5e2e8;overflow:hidden;border-radius:12px;position:relative}.gallery-feature .gallery-image{height:360px}.gallery-photo{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover .gallery-photo{transform:scale(1.04)}.gallery-tag{position:absolute;left:17px;bottom:16px;padding:9px 14px;background:#fff;border-radius:6px;color:#273d52;font-weight:800;font-size:11px;box-shadow:0 6px 20px rgba(0,0,0,.13)}.gallery-item h3{font-size:17px;margin:18px 0 6px}.gallery-item p{font-size:12px}
/* About */
.about-grid{display:grid;grid-template-columns:1fr .88fr;gap:90px;align-items:center}.about-text h2{margin:21px 0}.about-text p{font-size:15px;line-height:1.9}.about-text .btn{margin-top:10px}.about-img-wrap{height:500px;position:relative;border-radius:16px 140px 16px 16px;overflow:hidden;background:#c8dce3}.about-img{height:100%;width:100%;object-fit:cover}.about-vertical-word{position:absolute;right:18px;top:35px;writing-mode:vertical-rl;color:white;font-size:11px;letter-spacing:.25em;font-weight:800;text-shadow:0 1px 8px #19334b}.values-section{background:#f7f9fb}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.values-grid>div{background:#fff;border-radius:12px;padding:35px;border:1px solid var(--edge)}.values-grid svg{color:var(--orange);width:34px;height:34px}.values-grid h3{font-size:19px;margin:22px 0 12px}.values-grid p{font-size:13px;line-height:1.85}
/* Coverage checker */
.coverage-page-section{background:#f7f9fb}.coverage-checker-card{max-width:850px;margin:0 auto;border:1px solid #e5eaf0;box-shadow:var(--shadow);background:#fff;padding:49px 55px;border-radius:20px}.checker-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:32px}.checker-icon{background:#fff0e9;border-radius:14px;width:70px;height:70px;flex:0 0 70px;display:grid;place-items:center;color:var(--orange)}.checker-icon svg{width:34px;height:34px}.checker-heading h2{font-size:35px;margin:10px 0}.checker-heading p{margin:0;font-size:14px}.lookup-label{font-weight:800;font-size:13px;margin-bottom:10px;color:#203349}.coverage-search{display:flex;gap:11px}.coverage-search input{flex:1;min-width:0;height:61px;border:1px solid #d9e1e7;background:#fbfcfd;border-radius:9px;padding:0 18px;color:#152c40;font-size:16px;outline:0}.coverage-search input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,60,.13)}.coverage-search button{border:0;border-radius:9px;background:var(--orange);color:#fff;font-weight:800;font-size:14px;padding:0 25px;white-space:nowrap}.coverage-search button span{margin-left:8px}.coverage-search button:hover{background:var(--orange-dark)}.coverage-hint{font-size:12px;color:#8b97a5;margin:12px 0 23px}.coverage-dataset-note{display:flex;align-items:flex-start;gap:13px;background:#f3f6f9;border-left:3px solid #8a9aad;border-radius:6px;padding:15px 18px}.small-info{border-radius:50%;height:22px;flex:0 0 22px;width:22px;background:#e0e7ee;text-align:center;color:#516779;font-size:14px;font-weight:800;line-height:22px}.coverage-dataset-note p{margin:0;font-size:12px;color:#637384;line-height:1.75}.coverage-result{margin:15px 0 22px;padding:23px;border-radius:10px;border:1px solid #e3e8ed;background:#f7f9fb}.coverage-result.success{border-color:#a8dec1;background:#effbf5}.coverage-result.info{border-color:#c3d9e6;background:#eff6fb}.coverage-result.warning{border-color:#ffd8b2;background:#fff8ef}.coverage-result.error{border-color:#f2bcc0;background:#fff4f4}.coverage-result h3{font-size:19px;letter-spacing:-.02em;margin-bottom:7px}.coverage-result p{font-size:13px;margin:0;line-height:1.8}.coverage-result a{color:#dd5730;font-weight:800}.coverage-under{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:57px}.coverage-under>div{text-align:center;background:#fff;border:1px solid #e6ebef;border-radius:12px;padding:32px}.under-icon{width:52px;height:52px;margin:0 auto 19px;background:#fff0e9;color:var(--orange);border-radius:10px;display:grid;place-items:center}.coverage-under h3{font-size:17px}.coverage-under p{font-size:12px;line-height:1.8;margin-bottom:0}
/* Individual service detail */
.service-detail-hero{background:linear-gradient(125deg,#0d2032,#1d3a53);color:#fff}.detail-breadcrumb{font-size:12px;padding:37px 0 0;color:#b8c9d8}.detail-breadcrumb a{color:#fff}.detail-columns{min-height:386px;display:grid;grid-template-columns:1fr 310px;gap:70px;align-items:center;padding:46px 0 73px}.detail-columns .eyebrow{color:#ff9b78}.detail-columns h1{color:#fff;font-size:clamp(42px,4.5vw,61px);margin:22px 0 17px}.detail-columns h1 span{color:var(--orange)}.detail-columns p{color:#c6d3df;font-size:17px;max-width:660px;line-height:1.85;margin-bottom:26px}.detail-icon-circle{position:relative;width:250px;height:250px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#2d506a 0,#19344b 67%);border:2px solid rgba(255,255,255,.12)}.detail-icon-circle>.icon-svg{width:110px;height:110px;color:#ff9876;stroke-width:1}.detail-spark{position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.2);width:285px;height:285px}.spark-b{width:330px;height:330px;border-style:solid;opacity:.3}.detail-body{display:grid;grid-template-columns:1fr 340px;gap:100px}.detail-article h2{font-size:35px;margin:16px 0 21px}.detail-article h3{font-size:23px;letter-spacing:-.03em;margin:34px 0 15px}.detail-article p{font-size:15px;line-height:1.95}.detail-feature-list{display:grid;gap:14px;margin-bottom:20px}.detail-feature-list>div{display:flex;align-items:start;gap:14px;border:1px solid #e8edf0;background:#fbfcfd;padding:17px 19px;border-radius:9px}.detail-feature-list span{background:#dbf8e7;color:#268a53;border-radius:50%;width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;font-size:13px;font-weight:800}.detail-feature-list p{font-size:13px;margin:0;color:#6b7b89}.detail-feature-list strong{font-size:14px;color:#1c3043}.detail-aside{align-self:start;position:sticky;top:115px}.side-card{padding:33px;background:var(--navy);border-radius:14px;color:#fff}.side-card h3{font-size:25px;margin:0 0 13px}.side-card p{color:#bdcbd6;font-size:13px}.block-btn{display:flex;width:100%;gap:0;padding-left:12px;padding-right:12px}.aside-coverage{display:block;text-align:center;margin-top:21px;font-size:13px;color:#fff;font-weight:800}.side-small{border:1px solid #e5e9ed;border-radius:11px;margin-top:20px;padding:25px}.side-small h3{font-size:17px}.side-small a{display:block;font-size:13px;padding:12px 0;border-top:1px solid #ebeff2;font-weight:700;color:#4c6377}.side-small a:hover{color:var(--orange)}
/* Privacy */
.policy-wrap{max-width:850px}.policy-date{font-size:13px;color:var(--orange);font-weight:800;margin-bottom:31px}.policy-wrap h2{font-size:21px;margin:29px 0 8px;letter-spacing:-.03em}.policy-wrap p{font-size:14px;line-height:1.95}.policy-wrap a{color:#df5d38;font-weight:800}.policy-notice{margin-top:35px;padding:18px 23px;background:#f3f6f9;border-left:3px solid var(--orange);font-size:12px!important}.notfound{text-align:center;padding:140px 0}.notfound-num{font-size:110px;line-height:1;font-weight:800;color:var(--orange)}.notfound h1{font-size:39px;margin:19px 0}.notfound .btn{margin-top:10px}
/* Responsive */
@media(max-width:1150px){.site-nav{gap:14px}.header-call{display:none}.hero-grid{gap:42px}.split-grid{gap:65px}.split-badge{right:-20px}.footer-top{gap:27px}} 
@media(max-width:980px){.wrap{width:min(100% - 40px,760px)}.header-actions .btn{display:none}.menu-toggle{display:flex}.nav-container{min-height:76px}.site-nav{display:none;position:absolute;top:76px;left:0;width:100%;background:white;box-shadow:0 20px 28px rgba(13,27,43,.13);padding:18px 25px 25px;flex-direction:column;align-items:stretch;gap:0}.site-nav.is-open{display:flex}.site-nav>a{padding:13px 5px;border-bottom:1px solid #eff2f5;font-size:14px}.nav-mobile-cta{display:block!important;color:var(--orange)!important}.hero-grid{grid-template-columns:1fr;padding:70px 0 65px;gap:40px}.hero-content{max-width:680px}.hero h1{font-size:clamp(42px,7vw,66px)}.hero-visual{height:390px;max-width:610px;width:90%;margin:0 auto}.hero-image-wrap{border-radius:110px 12px 110px 12px}.hero-proof{margin-top:24px}.quickbar-grid{grid-template-columns:repeat(2,1fr);gap:0}.quickbar-grid>div{padding:16px 0!important}.quickbar-grid>div:nth-child(2){border-right:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head,.services-intro,.gallery-intro{align-items:start;flex-direction:column;gap:17px}.section-head-right{flex:unset;max-width:580px}.split-grid,.about-grid{grid-template-columns:1fr;gap:45px}.split-visual{max-width:620px;min-height:490px}.split-content{max-width:680px}.projects-grid{gap:17px}.project-img{height:205px}.coverage-teaser-grid{grid-template-columns:1fr;gap:15px}.coverage-illustration{height:290px}.coverage-map-card{left:50%;transform:translateX(-50%) rotate(-3deg)}.cover-ring,.cover-ring.c2,.cover-ring.c3{left:50%;transform:translateX(-50%)}.faq-layout{grid-template-columns:1fr;gap:34px}.footer-top{grid-template-columns:repeat(2,1fr)}.detail-body{grid-template-columns:1fr;gap:30px}.detail-aside{position:static}.detail-columns{grid-template-columns:1fr 180px;gap:40px}.detail-icon-circle{width:170px;height:170px}.detail-icon-circle>.icon-svg{width:90px;height:90px}.detail-spark{width:200px;height:200px}.spark-b{width:220px;height:220px}}
@media(max-width:640px){.wrap{width:calc(100% - 34px)}.utility-inner{justify-content:center}.utility-inner>span{display:none}.utility-bar{font-size:11px}.nav-container{min-height:70px}.site-nav{top:70px}.brand-mark{width:42px;height:42px}.brand-text{font-size:17px}.brand-text span{font-size:17px}.brand-text strong{font-size:10px}.hero-grid{padding:52px 0 56px}.hero h1{font-size:clamp(39px,9.5vw,52px);margin:20px 0}.hero-text{font-size:15px}.hero .button-row,.coverage-teaser .button-row{align-items:stretch;flex-direction:column}.hero .button-row .btn,.coverage-teaser .button-row .btn{width:100%}.hero-proof{align-items:flex-start;gap:8px}.hero-proof i{display:none}.hero-proof span:last-child{width:100%;padding-left:29px}.hero-visual{height:295px;width:100%;margin-top:7px}.hero-image-wrap{inset:0 0 18px 0;border-radius:80px 8px 80px 8px}.hero-shape{right:-10px}.floating-rating{padding:12px;left:8px;bottom:-3px}.floating-rating-icon{width:37px;height:37px}.floating-rating strong{font-size:12px}.floating-rating small{font-size:9px}.section{padding:68px 0}.quickbar-grid{grid-template-columns:1fr 1fr;padding:14px 0}.quickbar-grid>div{gap:9px;padding:12px 5px!important;border:0}.quickbar-grid .icon-svg{width:24px;height:24px}.quickbar-grid strong{font-size:11px}.quickbar-grid small{font-size:9px}.section-head{margin-bottom:26px}.section-head h2{font-size:33px}.service-grid{grid-template-columns:1fr;gap:14px}.service-card{min-height:230px;padding:23px}.service-card p{margin-bottom:11px}.split-visual{min-height:365px}.split-img{inset:0 0 15px;border-radius:12px 100px 12px 12px}.split-badge{padding:12px 17px;right:-4px;bottom:31px}.split-badge>span{font-size:28px}.split-badge small{font-size:9px}.split-badge b{font-size:12px}.projects-grid{grid-template-columns:1fr}.project-img{height:250px}.image-disclaimer{text-align:left}.coverage-teaser-grid{padding:65px 0 35px}.coverage-teaser h2{font-size:33px}.coverage-illustration{height:245px}.coverage-map-card{width:315px;max-width:93%;padding:18px;top:33px}.steps-grid,.values-grid,.coverage-under{grid-template-columns:1fr}.step{padding:25px}.centered-head{margin-bottom:35px}.faq-layout{gap:25px}.faq-list details{padding:0 17px}.faq-list summary{font-size:13px}.final-cta-inner{align-items:flex-start;flex-direction:column;padding:56px 0;gap:25px}.final-cta-inner .button-row{width:100%;flex-direction:column;align-items:stretch}.final-cta-inner .btn{width:100%}.cta-soft>.wrap{flex-direction:column;align-items:start}.footer-top{grid-template-columns:1fr 1fr;gap:28px 18px;padding:55px 0 44px}.footer-brand-col{grid-column:span 2}.footer-contact{grid-column:span 2}.footer-brand-col p{max-width:470px}.footer-bottom{flex-direction:column;align-items:start;gap:13px}.floating-call{bottom:13px;right:13px;padding:11px 17px}.page-banner-inner{padding:66px 0 58px}.page-banner h1{font-size:40px}.page-banner p{font-size:14px}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-feature{grid-column:span 1}.gallery-image,.gallery-feature .gallery-image{height:250px}.about-img-wrap{height:335px}.coverage-checker-card{padding:29px 22px}.checker-heading{gap:12px;align-items:start}.checker-icon{width:45px;height:45px;flex-basis:45px}.checker-icon svg{width:24px}.checker-heading h2{font-size:24px}.checker-heading p{font-size:12px}.coverage-search{flex-direction:column}.coverage-search button{height:52px}.coverage-under{gap:14px;margin-top:32px}.detail-columns{grid-template-columns:1fr;padding:38px 0 70px}.detail-columns h1{font-size:40px}.detail-columns p{font-size:14px}.detail-icon-circle{display:none}.detail-columns .button-row{align-items:stretch;flex-direction:column}.detail-columns .btn{width:100%}.detail-article h2{font-size:30px}.notfound{padding:100px 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Expanded service library */
.service-searchbar{margin:5px 0 24px;max-width:680px}
.service-searchbar label{display:block;font-size:13px;color:#243c53;font-weight:800;margin-bottom:9px}
.service-searchfield{display:flex;align-items:center;gap:11px;border:1px solid #dbe3e9;border-radius:11px;background:#fff;padding:0 16px;box-shadow:0 5px 25px rgba(19,38,58,.035)}
.service-searchfield:focus-within{border-color:#ff6b3c;box-shadow:0 0 0 3px rgba(255,107,60,.1)}
.service-searchfield>span{font-size:27px;color:#f06d42}
.service-searchfield input{min-width:0;flex:1;width:100%;background:transparent;border:0;outline:0;height:54px;font:inherit;font-size:14px;color:#152e46}
.service-searchfield button{color:#dc5e38;font-weight:800;font-size:12px;background:transparent;border:0;cursor:pointer}
.service-searchbar p{font-size:12px;margin:8px 0 0;color:#627384}
.service-empty{border:1px dashed #d6dee6;border-radius:12px;padding:30px;text-align:center;background:#f8fafc;color:#657688;font-size:14px}
.service-empty[hidden],#all-service-grid .service-card[hidden]{display:none!important}
.service-card[hidden]{display:none!important}
#all-service-grid .service-card{min-height:245px}
#homepage-service-grid .service-card{min-height:245px}
@media(max-width:640px){.service-searchbar{max-width:100%}.service-filters{gap:7px}.filter{padding:9px 11px;font-size:11px}}

/* Nationwide message, topic silos, city SEO demos */
.site-header .brand{position:relative;align-items:center;padding-right:7px}
.site-header .brand-tagline{position:absolute;white-space:nowrap;left:58px;bottom:-13px;color:#de5b32;font-family:Manrope,sans-serif;font-size:8.3px;letter-spacing:.055em;font-weight:900}
.site-header .nav-container{min-height:91px}
.site-nav{gap:14px}
.site-nav>a{font-size:12.5px}
.brand-footer .brand-tagline{display:block;color:#ff9978;font-size:10px;font-weight:800;letter-spacing:.1em;margin-top:11px}
.nationwide-hero-note,.nationwide-banner{display:inline-block!important;border:1px solid rgba(255,255,255,.28);border-radius:30px;color:#fff!important;background:rgba(255,255,255,.09);padding:7px 13px!important;font-size:11px!important;line-height:1.6!important;font-weight:800;letter-spacing:.04em;margin:6px 0 18px!important;max-width:100%!important}
.nationwide-intro{padding-top:25px;padding-bottom:25px;display:flex;flex-wrap:wrap;align-items:center;gap:7px 25px;border-bottom:1px solid #e8edf3}
.nationwide-intro strong{display:block;width:100%;font-size:18px;color:#173551}
.nationwide-intro p{margin:0;flex:1;min-width:280px;font-size:14px;line-height:1.7;color:#637184}
.nationwide-links{display:flex;flex-wrap:wrap;gap:14px}
.nationwide-links a{color:#c74c27;font-size:13px;font-weight:800}
.topic-shortcuts{background:#f7f9fb;padding-top:55px;padding-bottom:60px}
.topic-shortcuts h2,.topic-listing h2{font-size:32px;margin-top:0}
.topic-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:25px}
.topic-hub-card{display:flex;flex-direction:column;gap:12px;padding:25px 21px;background:white;border:1px solid #dce4eb;border-radius:13px;box-shadow:0 4px 14px rgba(0,0,0,.035);min-height:135px}
.topic-hub-card:hover,.topic-service-link:hover,.location-card:hover{border-color:#ff6b3c;transform:translateY(-2px)}
.topic-hub-card strong{color:#193a53;font-size:16px}
.topic-hub-card p{line-height:1.65;font-size:12px;color:#6b7b88;margin:0}
.topic-hub-card span{color:#c8512b;font-size:12px;font-weight:800;margin-top:auto}
.topic-lead{max-width:920px;border-left:4px solid #ff6b3c;padding:5px 0 10px 24px;margin-bottom:40px}
.topic-lead p{line-height:1.85;color:#5b6b7c;max-width:830px}
.topic-lead .btn{margin-top:10px}
.topic-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:25px}
.topic-service-link{display:flex;flex-direction:column;gap:10px;border:1px solid #dde5ec;border-radius:12px;padding:21px;min-height:160px;background:#fff}
.topic-service-link strong{font-size:16px;color:#17334e}
.topic-service-link span{font-size:12px;line-height:1.6;color:#65788b}
.topic-service-link b{font-size:12px;color:#c75028;margin-top:auto}
.topic-crosslinks{padding-top:37px;margin-top:38px;border-top:1px solid #e4e9ef;display:flex;gap:12px;flex-wrap:wrap}
.topic-crosslinks h2{width:100%}
.topic-crosslinks a{border:1px solid #dce2e8;border-radius:20px;padding:9px 15px;color:#29485e;font-size:12px;font-weight:800}
.topic-notice{font-size:14px;margin-top:29px;color:#627182}
.seo-related{border-top:1px solid #e4e9ee;margin-top:36px;padding-top:10px}
.seo-related-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.seo-related-links a{font-size:13px;color:#c14f2f;font-weight:800}
.topic-path{margin:27px 0;padding:20px;background:#f4f7fa;border-radius:12px}
.topic-path h3{margin-top:0}
.article-slot{background:#fff;border:1px solid #e6ecf1;border-radius:12px;padding:20px;margin:30px 0}
.article-slot h3{margin-top:0}
.article-slot p{margin-bottom:0}
.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0 38px}
.location-card{border:1px solid #dce3ea;border-radius:14px;padding:30px;background:#fff;display:block}
.location-card h3{font-size:25px;color:#1b354f;margin:12px 0 6px}
.location-card p{color:#617589;font-size:14px;line-height:1.7}
.location-card strong{font-size:13px;color:#ca522d}
.sample-label{font-size:11px;letter-spacing:.08em;color:#c25a2d;font-weight:800;text-transform:uppercase}
.location-demo-note{padding:23px;border-radius:12px;background:#fff5ef;border:1px solid #ffd2be;margin-bottom:35px}
.location-demo-note strong{font-size:15px;color:#8b3217}
.location-demo-note p{font-size:13px;line-height:1.7;margin-bottom:0}
.city-content h2{font-size:27px;margin-top:35px}
.city-content p,.city-content li{line-height:1.8;color:#607389}
.city-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:27px 0}
.city-service-grid a{border:1px solid #dde4e9;padding:22px;border-radius:11px;display:flex;flex-direction:column;gap:15px}
.city-service-grid strong{color:#153149}
.city-service-grid span{font-size:12px;font-weight:800;color:#ce522d}
.coverage-site-cta{background:#17334b;color:#fff;padding:35px;border-radius:16px;margin-top:25px}
.coverage-site-cta h2{margin:0}.coverage-site-cta p{color:#d3dfe9;margin-bottom:20px}
.btn-outline-dark{background:#fff;border:1px solid #d3dce5;color:#15314c;margin-left:12px}
@media(max-width:1250px){.site-nav{gap:10px}.site-nav>a{font-size:11.5px}}
@media(max-width:980px){.site-header .nav-container{min-height:80px}.site-nav{top:80px}.topic-hub-grid{grid-template-columns:repeat(2,1fr)}.topic-service-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:640px){.site-header .nav-container{min-height:72px}.site-nav{top:72px}.site-header .brand-tagline{left:51px;bottom:-10px;font-size:7px}.nationwide-intro{align-items:start}.nationwide-hero-note,.nationwide-banner{font-size:10px!important}.topic-hub-grid,.topic-service-grid,.location-grid,.city-service-grid,.seo-related-links{grid-template-columns:1fr}.btn-outline-dark{margin:15px 0 0}.topic-lead{padding-left:15px}}
