/* Hardworking Roofing & Construction — conversion-first static rebuild */
:root{--navy:#0b4865;--navy-2:#063246;--cyan:#12a9dc;--cyan-2:#0d87b4;--ink:#13232c;--slate:#50616b;--line:#dce5e9;--mist:#f4f8fa;--white:#fff;--shadow:0 18px 50px rgba(5,43,61,.13);--radius:20px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.6;background:#fff}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(calc(100% - 36px),var(--max));margin:auto}.topbar{background:var(--navy-2);color:#e8f7fd;font-size:.91rem}.topbar .wrap{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar a{font-weight:700}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,72,101,.09)}.nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:290px;max-height:55px;object-fit:contain;object-position:left center}.nav-links{display:flex;gap:23px;align-items:center;font-size:.94rem;font-weight:750}.nav-links a:hover{color:var(--cyan-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:14px 22px;font-weight:850;line-height:1.1;border:1px solid transparent;cursor:pointer;transition:.2s ease}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--cyan-2));color:#fff;box-shadow:0 9px 28px rgba(18,169,220,.28)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(18,169,220,.35)}.btn-dark{background:var(--navy-2);color:#fff}.btn-ghost{border-color:#b8cad2;color:var(--navy)}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(4,43,61,.96) 10%,rgba(4,43,61,.89) 49%,rgba(4,43,61,.25) 100%),url('../img/projects/project-1.webp') center/cover;color:#fff}.hero .wrap{min-height:685px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.68fr);gap:58px;align-items:center;padding:70px 0}.eyebrow{display:inline-flex;gap:8px;align-items:center;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:.78rem;color:var(--cyan)}.eyebrow-light{color:#8ae1ff}.hero h1,.page-hero h1{font-size:clamp(2.65rem,5.5vw,5.2rem);line-height:.96;margin:15px 0 20px;letter-spacing:-.045em;max-width:820px}.hero p{font-size:1.16rem;color:#e6f0f4;max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.proof-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:30px;color:#d9ebf2;font-size:.93rem}.proof-row b{color:#fff}.lead-card{background:#fff;color:var(--ink);padding:30px;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.lead-card h2{margin:0 0 4px;font-size:1.62rem}.lead-card p{margin:0 0 18px;color:var(--slate)}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:.84rem}.field input,.field select,.field textarea{border:1px solid #cfdce2;border-radius:12px;padding:12px 13px;background:#fff;color:var(--ink)}.field textarea{min-height:82px;resize:vertical}.consent{font-size:.72rem;color:#6f7e85;line-height:1.4}.trust-strip{background:#fff;border-bottom:1px solid var(--line)}.trust-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.trust-item{background:#fff;padding:22px 18px;text-align:center}.trust-item strong{display:block;color:var(--navy);font-size:1.02rem}.trust-item span{font-size:.84rem;color:var(--slate)}section{padding:88px 0}.section-head{max-width:790px;margin-bottom:38px}.section-head h2{font-size:clamp(2rem,4vw,3.45rem);line-height:1.04;letter-spacing:-.035em;margin:10px 0 14px}.section-head p{font-size:1.06rem;color:var(--slate)}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 8px 25px rgba(11,72,101,.04)}.card-body{padding:26px}.card h3{margin:0 0 8px;font-size:1.35rem}.card p{color:var(--slate);margin:0 0 18px}.service-card img{height:235px;width:100%;object-fit:cover}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.photo-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:260px 220px;gap:12px}.photo-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.photo-grid img:first-child{grid-row:1/3}.checklist{display:grid;gap:12px;margin:24px 0}.check{display:flex;gap:11px;align-items:flex-start}.check:before{content:'✓';display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:#dcf5fe;color:var(--navy);font-weight:900}.bg-mist{background:var(--mist)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:25px;border-radius:18px;background:var(--navy-2);color:#fff}.stat b{font-size:1.55rem;display:block}.stat span{font-size:.88rem;color:#d0e5ee}.quote{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.quote .stars{color:#e9a520;letter-spacing:.1em}.quote p{font-size:1.02rem}.quote footer{font-weight:850;color:var(--navy)}.faq{display:grid;gap:12px}.faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 20px}.faq summary{cursor:pointer;font-weight:850;padding:18px 0}.faq details p{margin-top:0;color:var(--slate)}.cta-band{padding:70px 0;background:linear-gradient(125deg,var(--navy-2),var(--navy));color:#fff}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);margin:0;line-height:1.04}.site-footer{background:#071f2a;color:#c7d7dd;padding:60px 0 95px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:35px}.site-footer h3{color:#fff;margin-top:0;font-size:1rem}.site-footer a:hover{color:#7ddfff}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-logo{width:270px;filter:brightness(0) invert(1);margin-bottom:17px}.fineprint{border-top:1px solid #24404b;margin-top:40px;padding-top:20px;font-size:.82rem;color:#8fa8b2}.mobile-bar{display:none}.page-hero{background:linear-gradient(120deg,var(--navy-2),var(--navy));color:#fff;padding:92px 0 75px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.5rem);max-width:920px}.page-hero p{font-size:1.12rem;color:#d9e9ef;max-width:780px}.breadcrumbs{font-size:.84rem;color:#a9c9d6;margin-bottom:16px}.content h2{font-size:2.15rem;line-height:1.1;margin-top:45px}.content h3{font-size:1.35rem;margin-top:28px}.content p,.content li{color:#455a65}.content ul{padding-left:1.25rem}.aside-card{border-radius:20px;background:var(--mist);padding:26px;border:1px solid var(--line)}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.area-grid a{padding:13px 15px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:800;color:var(--navy)}.kicker{font-weight:900;color:var(--cyan-2)}@media(max-width:1000px){.nav-links{display:none}.hero .wrap{grid-template-columns:1fr}.hero{background:linear-gradient(115deg,rgba(4,43,61,.95),rgba(4,43,61,.82)),url('../img/projects/project-1.webp') center/cover}.lead-card{max-width:680px}.cards-3{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.stat-grid{grid-template-columns:1fr 1fr}.area-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.topbar .wrap{justify-content:center;text-align:center}.topbar .wrap>div:first-child{display:none}.nav{height:68px}.brand img{width:225px}.nav>.btn{display:none}.hero .wrap{min-height:auto;padding:56px 0}.hero h1{font-size:3rem}.grid-form{grid-template-columns:1fr}.field.full{grid-column:auto}.trust-strip .wrap{grid-template-columns:1fr 1fr}.cards-3{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr;grid-template-rows:220px 180px 180px}.photo-grid img:first-child{grid-row:auto}.stat-grid{grid-template-columns:1fr 1fr}.cta-band .wrap{display:block}.cta-band .btn{margin-top:24px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.area-grid{grid-template-columns:1fr 1fr}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr 1fr;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(0,0,0,.12)}.mobile-bar a{padding:14px 8px;text-align:center;font-weight:900}.mobile-bar a:first-child{background:var(--navy);color:#fff}.mobile-bar a:last-child{background:var(--cyan);color:#fff}.site-footer{padding-bottom:120px}}@media(max-width:470px){.trust-strip .wrap,.stat-grid,.footer-grid,.area-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero h1{font-size:2.65rem}.hero-actions .btn{width:100%}section{padding:68px 0}}


/* v2 refinements: residential/commercial balance + improved form styling */
.hero{background:linear-gradient(115deg,rgba(4,43,61,.94) 10%,rgba(4,43,61,.86) 48%,rgba(4,43,61,.28) 100%),url('../img/projects/residential-hero.webp') center/cover;color:#fff}
.lead-card{padding:34px 32px;border-radius:26px;border:1px solid rgba(11,72,101,.12);box-shadow:0 28px 80px rgba(0,0,0,.22)}
.lead-card h2{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.08;margin-bottom:8px}
.lead-card p{font-size:1rem;line-height:1.55;margin-bottom:20px}
.grid-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{min-width:0}
.field label{font-size:.86rem;color:var(--ink)}
.field input,.field select,.field textarea{width:100%;min-width:0;min-height:58px;padding:15px 16px;border:1px solid #c6d6de;border-radius:15px;background:#fbfdfe;color:var(--ink);box-shadow:inset 0 1px 1px rgba(5,43,61,.03);appearance:none;-webkit-appearance:none}
.field textarea{min-height:118px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(18,169,220,.75);box-shadow:0 0 0 4px rgba(18,169,220,.14)}
.lead-card button.btn{width:100%;min-height:58px;padding:17px 22px;font-size:1.02rem}
.lead-card .consent{margin-top:10px;font-size:.76rem;max-width:58ch}
.service-card .kicker{display:inline-block;margin-top:4px}
.page-hero-image{position:relative;overflow:hidden;background-size:cover;background-position:center center}
.page-hero-image::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,rgba(6,50,70,.92),rgba(11,72,101,.78));}
.page-hero-image .wrap{position:relative;z-index:1}
.page-hero-residential{background-image:url('../img/projects/residential-neighborhood.webp')}
.page-hero-commercial{background-image:url('../img/projects/commercial/britton-district-hires-1.webp')}
.page-hero-storm{background-image:url('../img/projects/storm-service.webp')}
.page-hero-remodeling{background-image:url('../img/projects/residential-house.webp')}
.mixed-balance-note{color:var(--slate);max-width:52ch;margin-top:14px}
@media(max-width:1000px){.hero{background:linear-gradient(115deg,rgba(4,43,61,.95),rgba(4,43,61,.82)),url('../img/projects/residential-hero.webp') center/cover}.lead-card{max-width:720px}}
@media(max-width:720px){.lead-card{padding:26px 22px}.field input,.field select,.field textarea{min-height:54px}}

/* fix secondary buttons on interior hero sections */
.page-hero .btn-ghost,.page-hero-image .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04)}
.page-hero .btn-ghost:hover,.page-hero-image .btn-ghost:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.8)}

/* production navigation */
.utility-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.utility-links>a{color:#8ae1ff}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-size:1.25rem;color:var(--navy);cursor:pointer}.nav{gap:18px}.brand img{width:245px}.nav-links{gap:16px;font-size:.89rem}.footer-grid{grid-template-columns:1.45fr 1fr 1fr 1fr 1.25fr}.content .btn{margin-top:12px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:1120px){.nav-links{display:none}.menu-toggle{display:block;margin-left:auto}.nav.open .nav-links{display:flex;position:absolute;top:80px;left:18px;right:18px;flex-direction:column;align-items:stretch;background:#fff;padding:20px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.nav.open .nav-links a{padding:9px 6px}.nav{position:relative}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.utility-links>a{display:none}}
@media(max-width:720px){.utility-links{justify-content:center}.utility-links span:nth-last-child(2){display:none}.nav.open .nav-links{top:68px}.nav-cta{display:none!important}.footer-grid{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr}}


/* Partner credentials, video embeds, and About imagery */
.partner-logo-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:14px;align-items:stretch;margin-top:28px}.partner-logo-card{min-height:135px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 7px 22px rgba(11,72,101,.04)}.partner-logo-card img{max-width:100%;max-height:95px;width:auto;height:auto;object-fit:contain}.partner-note{margin:18px 0 0;color:var(--slate);font-size:.84rem}.video-story{background:#fff}.video-split{align-items:center}.feature-heading{font-size:clamp(2rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.035em;margin:10px 0 16px}.video-frame{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#071f2a;box-shadow:var(--shadow)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-story .btn-ghost{border-color:var(--navy);color:var(--navy)}.about-team-photo{margin:0 0 34px}.about-team-photo img{width:100%;border-radius:22px;box-shadow:var(--shadow)}.about-team-photo figcaption{font-size:.82rem;color:var(--slate);margin-top:8px}.about-facts{display:grid;gap:12px;margin:30px 0}.about-facts>div{padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:var(--mist)}.about-facts strong{display:block;color:var(--navy);font-size:1.03rem}.about-facts span{display:block;color:var(--slate);font-size:.91rem;margin-top:3px}.about-truck-band{background:var(--mist);padding-top:74px}.about-truck-band .section-head{margin-bottom:28px}.about-truck-band img{width:100%;border-radius:22px;box-shadow:var(--shadow);object-fit:cover}
@media(max-width:1050px){.partner-logo-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.partner-logo-grid{grid-template-columns:repeat(2,1fr)}.partner-logo-card{min-height:120px}.about-truck-band{padding-top:58px}}


/* Resilient YouTube preview: local file previews show a branded click-through instead of Error 153 */
.youtube-mount{position:relative;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#071f2a;box-shadow:var(--shadow)}
.youtube-mount>iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.youtube-fallback{position:absolute;inset:0;display:block;color:#fff;background:#071f2a;overflow:hidden}
.youtube-fallback>img{width:100%;height:100%;object-fit:cover;opacity:.66;transform:scale(1.01)}
.youtube-fallback:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,35,49,.65),rgba(3,35,49,.2))}
.youtube-fallback-overlay{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;font-weight:900;font-size:1.05rem;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.youtube-play{width:64px;height:46px;border-radius:14px;background:#ff0033;color:#fff;display:grid;place-items:center;font-size:1.35rem;padding-left:3px;box-shadow:0 10px 28px rgba(0,0,0,.3)}
.youtube-fallback:hover .youtube-play{transform:scale(1.05)}
.youtube-label{padding:9px 14px;border-radius:999px;background:rgba(0,0,0,.55);backdrop-filter:blur(8px)}

/* v5 video library */
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.video-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px}
.video-card{min-width:0}
.video-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#071f2a}
.video-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.video-story .btn-ghost{border-color:#b8cad2;color:var(--navy);background:#fff}
@media(max-width:900px){.video-grid,.video-grid-2{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.video-grid,.video-grid-2{grid-template-columns:1fr}}

/* Other Services page */
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 34px}.service-detail-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--mist)}.service-detail-card h3{margin:0 0 8px;color:var(--navy)}.service-detail-card p{margin:0}.content .service-detail-card{padding:24px}.content .service-detail-card h3{margin-top:0}.content .service-detail-card p{color:var(--slate)}@media(max-width:720px){.service-detail-grid{grid-template-columns:1fr}}

/* certification groups */
.cert-groups{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:30px}.cert-group{border:1px solid var(--line);border-radius:22px;background:#fff;padding:28px;box-shadow:0 8px 25px rgba(11,72,101,.04)}.cert-group h3{font-size:1.45rem;margin:0 0 8px}.cert-group>p{color:var(--slate);margin:0 0 20px}.cert-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px}.cert-logo-card{min-height:128px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.cert-logo-card img{max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain}.cert-logo-card .cert-name{font-size:.78rem;font-weight:850;color:var(--navy);margin-top:10px;line-height:1.25}.cert-section{background:var(--mist)}.cert-section .partner-note{max-width:900px}.cert-feature{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:34px;align-items:center}.cert-feature img{max-height:180px;margin:auto;object-fit:contain}.cert-feature h2{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:8px 0 14px}.cert-feature p{color:var(--slate)}
@media(max-width:900px){.cert-groups{grid-template-columns:1fr}.cert-logo-grid{grid-template-columns:repeat(2,1fr)}.cert-feature{grid-template-columns:1fr}}
@media(max-width:520px){.cert-logo-grid{grid-template-columns:1fr}}


/* Complete project gallery */
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 30px}.gallery-filter{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:10px 16px;font-weight:850;cursor:pointer}.gallery-filter.is-active,.gallery-filter:hover{background:var(--navy);border-color:var(--navy);color:#fff}.gallery-grid-complete{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-item{margin:0;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 7px 22px rgba(11,72,101,.05)}.gallery-item[hidden]{display:none}.gallery-image-button{display:block;width:100%;padding:0;border:0;background:#eaf1f4;cursor:zoom-in;overflow:hidden}.gallery-image-button img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}.gallery-image-button:hover img{transform:scale(1.035)}.gallery-item figcaption{padding:13px 14px 15px}.gallery-item figcaption strong{display:block;font-size:.9rem;color:var(--ink);line-height:1.25}.gallery-item figcaption span{display:block;font-size:.75rem;color:var(--slate);margin-top:4px}.gallery-video-section{border-top:1px solid var(--line)}.gallery-lightbox{position:fixed;inset:0;z-index:10050;background:rgba(3,25,35,.92);display:none;align-items:center;justify-content:center;padding:40px}.gallery-lightbox.is-open{display:flex}.gallery-lightbox img{max-width:min(1100px,92vw);max-height:82vh;object-fit:contain;border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.42)}.gallery-lightbox-close{position:absolute;right:24px;top:20px;width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer}.gallery-lightbox-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;background:rgba(0,0,0,.45);padding:7px 13px;border-radius:999px;font-size:.85rem;max-width:80vw;text-align:center}@media(max-width:1000px){.gallery-grid-complete{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.gallery-grid-complete{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item figcaption{padding:10px 11px 12px}.gallery-lightbox{padding:18px}.gallery-lightbox-close{right:12px;top:12px}}@media(max-width:460px){.gallery-grid-complete{grid-template-columns:1fr 1fr}.gallery-item figcaption strong{font-size:.8rem}}

/* v12.2 service cards: photo-first, no letter badges */
.service-card .card-body{padding-top:25px}.service-card .card-body h3{margin-top:0}

/* v12.4 — mobile inspection form optimization */
@media (max-width:720px){
  .hero .wrap{padding-top:42px;padding-bottom:48px;gap:34px}
  .lead-card{width:100%;max-width:none;padding:24px 18px 20px;border-radius:22px}
  .lead-card h2{font-size:1.75rem;line-height:1.08;margin-bottom:8px}
  .lead-card>p{font-size:.96rem;line-height:1.45;margin-bottom:18px}
  .lead-card .grid-form{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
  .lead-card .field,.lead-card .field.full{grid-column:1/-1;width:100%;min-width:0;gap:5px}
  .lead-card .field label{font-size:.84rem}
  .lead-card .field input,.lead-card .field select,.lead-card .field textarea{width:100%;min-width:0;min-height:52px;padding:13px 14px;border-radius:13px;font-size:16px}
  .lead-card .field textarea{min-height:104px;max-height:180px;line-height:1.4;resize:vertical}
  .lead-card button.btn{width:100%;min-height:54px;margin:2px 0 0;padding:15px 18px;font-size:1rem;border-radius:999px}
  .lead-card .consent{width:100%;max-width:none;margin:8px 0 0;font-size:.72rem;line-height:1.42}
}
@media (max-width:420px){
  .wrap{width:min(calc(100% - 24px),var(--max))}
  .lead-card{padding:22px 16px 18px;border-radius:20px}
  .lead-card h2{font-size:1.6rem}
  .lead-card>p{font-size:.92rem}
}


/* v13 - warmer, more human brand direction */
:root{--warm:#fff8f0;--warm-2:#f4eee6;--soft-blue:#eef8fc;--gold:#d59645}
body{background:#fffdfb}
.section-warm{background:linear-gradient(180deg,#fffaf4 0%,#fff 100%)}
.human-proof{background:var(--warm);border-top:1px solid #f0e7dd;border-bottom:1px solid #f0e7dd}
.human-proof .split{gap:44px}.human-proof img{border-radius:24px;box-shadow:var(--shadow);width:100%;height:460px;object-fit:cover}
.human-proof blockquote{margin:26px 0 0;padding:22px 24px;border-left:5px solid var(--cyan);background:#fff;border-radius:0 18px 18px 0;font-size:1.18rem;font-weight:800;color:var(--navy-2)}
.warm-card{background:#fff;border:1px solid #eadfd3;border-radius:22px;padding:28px;box-shadow:0 12px 30px rgba(83,55,30,.06)}
.promise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.promise-card{padding:28px;border-radius:20px;border:1px solid #e7ded5;background:#fff}.promise-card h3{margin:8px 0 10px;font-size:1.32rem}.promise-card p{color:var(--slate);margin:0}.promise-icon{width:44px;height:44px;border-radius:14px;background:var(--soft-blue);display:grid;place-items:center;font-weight:950;color:var(--navy);font-size:1.2rem}
.zip-grid{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.zip-chip{display:inline-flex;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #cadce4;font-weight:850;color:var(--navy)}
.review-feature{background:var(--navy-2);color:#fff;border-radius:26px;padding:38px}.review-feature .stars{color:#ffc24d;font-size:1.2rem;letter-spacing:.12em}.review-feature blockquote{font-size:1.35rem;line-height:1.5;margin:14px 0 12px}.review-feature cite{font-style:normal;color:#bfe8f7;font-weight:800}
.commercial-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.commercial-gallery figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.commercial-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.commercial-gallery figcaption{padding:12px 14px;font-weight:800;color:var(--navy)}.commercial-gallery figcaption span{display:block;margin-top:3px;font-size:.78rem;line-height:1.35;color:var(--slate);font-weight:650}
.shield-panel{background:linear-gradient(135deg,#062f43,#0b4865);color:#fff;border-radius:28px;padding:42px}.shield-panel h2,.shield-panel h3{color:#fff}.shield-panel p{color:#d6e9f1}.shield-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.shield-benefits>div{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.06)}
.inspection-list{columns:2;column-gap:42px;padding-left:20px}.inspection-list li{break-inside:avoid;margin:0 0 8px}
.financing-partner{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center}.partner-box{border:1px solid #e5ddd3;background:#fff;border-radius:24px;padding:30px;box-shadow:0 15px 38px rgba(70,45,25,.07)}.partner-box .partner-name{font-size:2.2rem;font-weight:950;color:var(--navy);letter-spacing:-.03em}
.hero.v13-home{background:linear-gradient(105deg,rgba(4,43,61,.92) 0%,rgba(4,43,61,.78) 48%,rgba(4,43,61,.18) 100%),url('../wp-content/uploads/2023/10/home-roof-replacement-400x300.jpg') center/cover}
.hero.v13-home .hero-copy{max-width:760px}.hero.v13-home h1{font-size:clamp(2.65rem,5.2vw,4.8rem)}
.local-note{display:inline-flex;gap:8px;align-items:center;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);font-weight:800;color:#fff}
.area-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0}.area-city{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff}.area-city strong{display:block;color:var(--navy);font-size:1.05rem}.area-city span{color:var(--slate);font-size:.9rem}
@media(max-width:900px){.promise-grid,.commercial-gallery{grid-template-columns:1fr 1fr}.shield-benefits{grid-template-columns:1fr 1fr}.financing-partner{grid-template-columns:1fr}.area-cities{grid-template-columns:1fr 1fr}.human-proof img{height:360px}}
@media(max-width:620px){.promise-grid,.commercial-gallery,.shield-benefits,.area-cities{grid-template-columns:1fr}.inspection-list{columns:1}.review-feature{padding:28px 22px}.human-proof img{height:300px}.shield-panel{padding:28px 22px}}


/* v14: original Hardworking tone + Oklahoma identity */
.hero.v14-home{
  background:
    linear-gradient(105deg,rgba(4,43,61,.93) 0%,rgba(4,43,61,.82) 47%,rgba(4,43,61,.30) 100%),
    url('../img/homepage/oklahoma-roof-hero.png') center 43%/cover no-repeat;
}
.hero.v14-home .hero-copy{max-width:760px}
.original-message{background:linear-gradient(180deg,#fffaf4 0%,#fff 100%)}
.promise-card h3{margin-top:0}
.zip-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin:24px 0}.zip-grid span{display:block;padding:14px 10px;text-align:center;border:1px solid var(--line);background:#fff;border-radius:12px;font-weight:900;color:var(--navy)}
.review-stack{display:grid;gap:16px;max-width:900px}.review-stack .quote{margin:0}
.shield-section{background:var(--navy-2);color:#fff}.shield-section h2{font-size:clamp(2rem,4vw,3.2rem);margin:12px 0}.shield-section> .wrap > p{color:#d5e7ee;max-width:900px}.shield-section .service-detail-card{background:#fff;color:var(--ink)}
.gallery-grid-complete>.gallery-item>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
@media(max-width:1000px){.zip-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.hero.v14-home{background-position:56% center}.zip-grid{grid-template-columns:repeat(2,1fr)}}
/* v14.1: customer-facing cards do not use arbitrary letter/number badges */
.card-badge,.service-badge,.step-badge,.number-badge,.letter-badge,.card-icon-label{display:none!important}

/* v15 content-fidelity refinements */
.hero.v15-home{background:linear-gradient(105deg,rgba(4,43,61,.91) 0%,rgba(4,43,61,.80) 45%,rgba(4,43,61,.22) 100%),url('https://upload.wikimedia.org/wikipedia/commons/9/9c/Oklahomacapitolandflag.jpg') center 43%/cover no-repeat;color:#fff}.hero.v15-home .hero-copy{max-width:760px}.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-detail-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff}.service-detail-card h2{margin:0 0 5px}.service-detail-card h3{font-size:1.05rem;color:var(--navy);margin:0 0 12px}.partner-logo-grid{grid-template-columns:repeat(7,minmax(100px,1fr))}.partner-logo-card{min-height:160px}.partner-logo-card img{max-height:115px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.video-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:900px){.service-detail-grid,.video-grid,.video-grid-2{grid-template-columns:1fr}.partner-logo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.partner-logo-grid{grid-template-columns:1fr 1fr}}
/* v15.2 actual partner badges */
.partner-logo-card img,.cert-logo-card img{max-width:100%;max-height:110px;width:auto;height:auto;object-fit:contain}
.partner-logo-card{padding:20px;background:#fff}
@media(max-width:700px){.partner-logo-card img,.cert-logo-card img{max-height:88px}}

/* Joe feedback: commercial proof resources */
.resource-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:10px}
.resource-link-card{display:flex;flex-direction:column;gap:8px;min-height:150px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(11,72,101,.05)}
.resource-link-card strong{font-size:1.02rem;line-height:1.2;color:var(--navy)}
.resource-link-card span{color:var(--slate);font-size:.9rem;line-height:1.45}
.resource-link-card:after{content:'View resource';margin-top:auto;font-weight:900;color:var(--cyan-2)}
.gallery-resource-links{margin-top:28px}
@media(max-width:1000px){.resource-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.resource-link-grid{grid-template-columns:1fr}.resource-link-card{min-height:auto}}

/* Joe feedback: show commercial certifications as logos, not text placeholders */
.commercial-brand-strip{grid-template-columns:repeat(5,minmax(130px,1fr));gap:18px;align-items:stretch}
.commercial-brand-strip .cert-logo-card{min-height:138px;padding:22px 24px;background:#fff;box-shadow:0 8px 24px rgba(11,72,101,.045)}
.commercial-brand-strip .cert-logo-card img{width:100%;max-width:220px;max-height:96px;margin:auto}
@media(max-width:980px){.commercial-brand-strip{grid-template-columns:repeat(3,minmax(130px,1fr))}}
@media(max-width:620px){.commercial-brand-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-brand-strip .cert-logo-card{min-height:118px;padding:18px}.commercial-brand-strip .cert-logo-card img{max-height:72px}}

/* Homepage mobile hero art direction: enlarge the flag while anchoring its right edge in view. */
@media(max-width:720px){
  body .hero.v15-home{
    background-color:#042b3d;
    background-position:0 0,right top!important;
    background-size:cover,170% auto!important;
    background-repeat:no-repeat!important;
  }
}


/* Joe review 2026-09-21: cleaner/larger navigation + flag-forward homepage hero */
.site-header .nav{height:96px;gap:24px}
.site-header .brand img{width:300px;max-height:68px}
.site-header .nav-links{gap:24px;font-size:1rem;font-weight:800}
.site-header .nav-cta{padding:16px 25px;font-size:1rem}
.hero.v15-home{
  background:
    linear-gradient(90deg,rgba(4,43,61,.95) 0%,rgba(4,43,61,.86) 40%,rgba(4,43,61,.34) 62%,rgba(4,43,61,.06) 100%),
    url('../img/homepage/oklahoma-roof-hero.png') 100% 38%/185% auto no-repeat;
}
.hero.v15-home .hero-copy{max-width:780px}
.hero.v15-home h1{max-width:780px}
@media(max-width:1120px){
  .nav.open .nav-links{top:96px}
}
@media(max-width:720px){
  .site-header .nav{height:78px}
  .site-header .brand img{width:255px;max-height:58px}
  .nav.open .nav-links{top:78px}
  body .hero.v15-home{
    background:
      linear-gradient(180deg,rgba(4,43,61,.90) 0%,rgba(4,43,61,.70) 46%,rgba(4,43,61,.24) 100%),
      url('../img/homepage/oklahoma-roof-hero.png') 100% 30%/240% auto no-repeat!important;
  }
}


/* Header action buttons: Financing + Roof Assessment */
.nav-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.nav-financing{background:#fff;border-color:#b8cad2;color:var(--navy);box-shadow:none}
.nav-financing:hover{background:var(--mist);border-color:#9eb8c4}
@media(max-width:720px){
  .nav-actions{display:none!important}
  .site-header{padding-bottom:0}
  .nav.open .nav-links .mobile-nav-action{
    display:flex;
    width:100%;
    justify-content:center;
    margin-top:6px;
    padding:14px 18px;
  }
  .nav.open .nav-links .mobile-nav-financing{
    background:#fff;
    border-color:#b8cad2;
    color:var(--navy);
  }
  .nav.open .nav-links .mobile-nav-primary{
    color:#fff;
  }
}

.mobile-nav-action{display:none}


/* Mobile hero correction: keep approved Oklahoma image full-bleed with no blank space */
@media(max-width:720px){
  body .hero.v15-home{
    background-color:#042b3d;
    background-image:
      linear-gradient(180deg,rgba(4,43,61,.91) 0%,rgba(4,43,61,.72) 48%,rgba(4,43,61,.30) 100%),
      url('../img/homepage/oklahoma-roof-hero.png')!important;
    background-position:center center,100% center!important;
    background-size:cover,cover!important;
    background-repeat:no-repeat,no-repeat!important;
  }
}


/* Homepage hero image correction 2026-09-25: use the supplied Oklahoma flag image without artificial zoom. */
.hero.v15-home{
  background-image:
    linear-gradient(90deg,rgba(4,43,61,.93) 0%,rgba(4,43,61,.82) 40%,rgba(4,43,61,.30) 64%,rgba(4,43,61,.08) 100%),
    url('../img/homepage/oklahoma-roof-hero.png')!important;
  background-position:center center,center center!important;
  background-size:cover,cover!important;
  background-repeat:no-repeat,no-repeat!important;
}
@media(max-width:720px){
  body .hero.v15-home{
    background-image:
      linear-gradient(180deg,rgba(4,43,61,.90) 0%,rgba(4,43,61,.70) 46%,rgba(4,43,61,.28) 100%),
      url('../img/homepage/oklahoma-roof-hero.png')!important;
    background-position:center center,72% center!important;
    background-size:cover,auto 92%!important;
    background-repeat:no-repeat,no-repeat!important;
  }
}


/* Homepage hero native-resolution correction 2026-09-25 */
.hero.v15-home{
  background-color:#042b3d!important;
  background-image:
    linear-gradient(90deg,rgba(4,43,61,.82) 0%,rgba(4,43,61,.70) 37%,rgba(4,43,61,.24) 58%,rgba(4,43,61,.02) 100%),
    url('../img/homepage/oklahoma-roof-hero.png')!important;
  background-position:center center,right center!important;
  background-size:cover,auto 100%!important;
  background-repeat:no-repeat,no-repeat!important;
}
@media(max-width:1200px){
  .hero.v15-home{
    background-size:cover,auto 100%!important;
    background-position:center center,72% center!important;
  }
}
@media(max-width:720px){
  body .hero.v15-home{
    background-color:#042b3d!important;
    background-image:
      linear-gradient(180deg,rgba(4,43,61,.76) 0%,rgba(4,43,61,.50) 46%,rgba(4,43,61,.10) 100%),
      url('../img/homepage/oklahoma-roof-hero.png')!important;
    background-position:center center,0% center!important;
    background-size:cover,auto 100%!important;
    background-repeat:no-repeat,no-repeat!important;
  }
}

/* Final mobile Oklahoma flag focal-point override 2026-09-28 */
@media(max-width:720px){
  body .hero.v15-home{
    background-color:#042b3d!important;
    background-image:
      linear-gradient(180deg,rgba(4,43,61,.74) 0%,rgba(4,43,61,.48) 46%,rgba(4,43,61,.10) 100%),
      url('../img/homepage/oklahoma-roof-hero.png')!important;
    background-position:center center,82% center!important;
    background-size:cover,auto 68%!important;
    background-repeat:no-repeat,no-repeat!important;
  }
}
