/*
Theme Name: Qualitex 2028 Production
Theme URI: https://qualitexroofing.com/
Author: Qualitex Roofing and Construction
Description: High-performance custom WordPress theme for Qualitex Roofing and Construction.
Version: 6.8.0
Text Domain: qualitex
*/
:root{--bg:#090d0c;--bg2:#101613;--panel:#131a16;--ink:#f7f9f7;--muted:#aeb8b0;--green:#8bcf5a;--green2:#5e8f3a;--deep:#3f672d;--line:rgba(255,255,255,.11);--white:#fff;--dark:#111827;--slate:#6b7280;--soft:#f7f8f5;--radius:24px;--shadow:0 30px 80px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body.modal-open,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 42px));margin:auto}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{left:10px;top:10px;background:#fff;color:#000;padding:10px;z-index:9999}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:var(--green)}h1,h2,h3,h4{line-height:1.02;letter-spacing:-.035em;margin:0}h1{font-size:clamp(3.1rem,7.5vw,7.4rem);font-weight:800}h2{font-size:clamp(2.3rem,5vw,4.7rem);font-weight:760}h3{font-size:1.45rem}p{color:var(--muted)}.btn{appearance:none;border:1px solid transparent;border-radius:999px;padding:14px 20px;font:inherit;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:.25s ease}.btn-lg{padding:17px 24px}.btn-small{padding:10px 15px;font-size:.88rem}.btn-primary{background:linear-gradient(135deg,var(--green),#b9ef7d);color:#0b1208;box-shadow:0 12px 35px rgba(139,207,90,.18)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(139,207,90,.27)}.btn-ghost{border-color:rgba(255,255,255,.25);background:rgba(10,14,12,.35);backdrop-filter:blur(14px);color:#fff}.btn-ghost:hover{border-color:var(--green);background:rgba(139,207,90,.08)}.text-link{color:var(--green);font-weight:800}.section{padding:110px 0}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:48px}.section-head p{font-size:1.08rem;margin:0}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:.25s;background:linear-gradient(to bottom,rgba(5,8,6,.78),transparent)}.site-header.scrolled{background:rgba(8,12,10,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{width:250px;display:block}.brand img{display:block;width:100%}.primary-nav{display:flex;align-items:center;gap:22px}.primary-nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.primary-nav a{font-size:.9rem;font-weight:700;color:#e9eee9}.primary-nav a:hover{color:var(--green)}.nav-phone{padding-left:18px;border-left:1px solid var(--line)}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:6px auto}.hero{position:relative;min-height:900px;height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#0a0f0c}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,5,.93) 0%,rgba(4,7,5,.73) 44%,rgba(4,7,5,.25) 75%),linear-gradient(0deg,rgba(4,7,5,.9),transparent 55%)}.hero-gridlines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent 10%,black 60%,transparent)}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.45fr) 340px;gap:80px;align-items:end;padding-bottom:90px}.hero-copy{max-width:850px}.hero h1{margin:16px 0 26px;max-width:1000px}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p{font-size:1.25rem;max-width:720px;color:#d8ded9}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-proof{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.hero-proof span{font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:rgba(10,14,12,.35)}.live-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 0 6px rgba(139,207,90,.12)}.hero-card{background:rgba(9,14,11,.62);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.hero-card small{display:block;color:var(--green);letter-spacing:.14em;font-weight:800;margin-top:18px}.hero-card strong{display:block;font-size:1.45rem;line-height:1.1;margin-top:7px}.scan-ring{width:86px;height:86px;border-radius:50%;border:1px solid rgba(139,207,90,.45);display:grid;place-items:center;position:relative}.scan-ring:after{content:"";position:absolute;inset:-8px;border:1px solid rgba(139,207,90,.15);border-radius:50%;animation:pulse 2.5s infinite}.scan-ring img{width:48px}.text-button{border:0;background:none;color:var(--green);padding:0;font:inherit;font-weight:800;cursor:pointer}.media-credit{position:absolute;right:20px;bottom:18px;z-index:3;color:rgba(255,255,255,.55);font-size:.65rem}.proof-bar{border-bottom:1px solid var(--line);border-top:1px solid var(--line);background:#0d120f}.proof-items{display:grid;grid-template-columns:repeat(4,1fr)}.proof-items div{padding:22px 20px;border-right:1px solid var(--line)}.proof-items div:last-child{border:0}.proof-items strong{display:block;color:var(--green);font-size:1.1rem}.proof-items span{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.big-copy p{font-size:1.45rem;line-height:1.55;margin-top:0;color:#c7d0c9}.big-copy strong{color:#fff}.services-section{background:linear-gradient(180deg,#0a0e0c,#0e1510)}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:390px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));position:relative;overflow:hidden;transition:.3s}.service-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(139,207,90,.18),transparent 70%);right:-80px;top:-80px;transition:.3s}.service-card:hover{transform:translateY(-7px);border-color:rgba(139,207,90,.4)}.service-card:hover:before{transform:scale(1.35)}.service-num{color:#6f7b72;font-size:.78rem;font-weight:800}.service-icon{font-size:2.4rem;color:var(--green);margin:72px 0 18px}.service-card p{font-size:.94rem}.service-card .arrow{position:absolute;bottom:24px;color:var(--green);font-size:.84rem;font-weight:800}.cinema-section{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden}.cinema-media,.cinema-media video,.cinema-overlay{position:absolute;inset:0;width:100%;height:100%}.cinema-media video{object-fit:cover}.cinema-overlay{background:linear-gradient(90deg,rgba(5,8,6,.92),rgba(5,8,6,.62) 52%,rgba(5,8,6,.12)),linear-gradient(0deg,rgba(5,8,6,.7),transparent)}.cinema-copy{position:relative;z-index:2}.cinema-copy>*{max-width:600px}.cinema-copy h2{margin:14px 0 20px}.cinema-copy p{font-size:1.2rem;color:#d7ded8}.cinema-note{font-size:.72rem;color:#9da69f;margin:20px 0}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-step{padding:30px 28px 10px 0;border-right:1px solid var(--line);min-height:230px}.process-step:not(:first-child){padding-left:28px}.process-step:last-child{border-right:0}.process-step b{color:var(--green);font-size:.78rem}.process-step h3{margin:55px 0 10px}.visual-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.visual-photo{position:relative}.visual-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:30px;filter:saturate(.82)}.visual-photo:before{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid rgba(139,207,90,.35);border-radius:30px;z-index:-1}.visual-photo span{display:block;font-size:.68rem;color:#7f8a82;margin-top:10px}.visual-copy h2{margin:14px 0 22px}.visual-copy>p{font-size:1.1rem}.check-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:26px 0}.check-list li{color:#dbe2dc}.check-list li:before{content:"✓";color:var(--green);margin-right:8px}.reviews-section{background:#0d120f}.review-stage{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid var(--line);border-radius:30px;overflow:hidden;min-height:530px}.review-feature{padding:54px;display:flex;flex-direction:column}.stars{color:#f6c453;letter-spacing:.08em}.review-feature blockquote{font-size:clamp(1.8rem,3.3vw,3.4rem);line-height:1.12;letter-spacing:-.035em;margin:45px 0 30px;transition:.18s}.review-feature blockquote.fade{opacity:0;transform:translateY(5px)}.review-who{margin-top:auto}.review-who strong,.review-who span{display:block}.review-who span{color:var(--muted);font-size:.8rem;margin-top:4px}.review-controls{display:flex;gap:8px;margin-top:22px}.review-controls button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#151c18;color:#fff;cursor:pointer}.review-video{position:relative;min-height:500px;background:#111}.review-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.72)}.review-video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,5,.75),transparent 55%)}.review-video-label{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}.review-video-label strong,.review-video-label span{display:block}.review-video-label span{font-size:.72rem;color:#d0d6d1}.review-footer{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.city{padding:24px;border:1px solid var(--line);border-radius:18px;background:#111713;transition:.25s}.city:hover{border-color:var(--green);transform:translateY(-3px)}.city small{color:var(--green);text-transform:uppercase;letter-spacing:.1em;font-size:.66rem}.city h3{margin:20px 0 8px}.city p{font-size:.8rem;margin:0}.answer-engine{background:linear-gradient(180deg,#0a0e0c,#111913)}.ae-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.ae-grid h2{margin:14px 0 20px}.faq-list details{border-top:1px solid var(--line);padding:24px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font-weight:800;font-size:1.1rem;cursor:pointer}.faq-list p{margin-bottom:0}.lead-section{background:radial-gradient(circle at 15% 20%,rgba(139,207,90,.12),transparent 30%),#0b100d}.lead-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.lead-grid h2{margin:14px 0}.contact-big{margin-top:40px}.contact-big a{display:block;font-size:1.5rem;font-weight:800;color:var(--green)}.contact-big span{display:block;color:var(--muted);margin-top:7px}.lead-card{background:#111814;border:1px solid var(--line);border-radius:26px;padding:30px}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lead-form label{display:block}.lead-form label span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#bfc8c1;margin-bottom:7px}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:#0b100d;color:#fff;padding:14px;font:inherit;outline:none}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(139,207,90,.08)}.lead-form .full{grid-column:1/-1}.form-submit{display:flex;align-items:center;gap:14px}.form-submit small{color:#7f8a82}.hp{position:absolute!important;left:-9999px!important}.footer-cta{padding:75px 0;border-top:1px solid var(--line);background:#0f1611}.footer-cta-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.footer-cta h2{font-size:clamp(2.2rem,4vw,4rem);margin:12px 0}.footer-actions{display:flex;gap:10px;flex-direction:column}.site-footer{padding:70px 0 28px;background:#080b09;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px}.footer-logo{width:270px}.footer-grid h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:18px}.footer-grid a,.footer-grid small{display:block;color:#aeb7b0;font-size:.86rem;margin:9px 0}.footer-grid p{max-width:340px;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:50px;color:#727d75;font-size:.75rem}.mobile-bar{display:none}.lead-modal{position:fixed;inset:0;z-index:2000;display:none}.lead-modal.open{display:block}.lead-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.lead-panel{position:absolute;right:0;top:0;bottom:0;width:min(600px,100%);background:#0e1510;border-left:1px solid var(--line);padding:54px 42px;overflow:auto}.lead-panel h2{font-size:2.8rem;margin:12px 0}.modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#151c18;color:#fff;font-size:1.6rem}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;background:var(--green);color:#0a1008;padding:14px 20px;border-radius:999px;font-weight:800;z-index:3000;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}.page-hero{position:relative;padding:190px 0 95px;overflow:hidden;background:#0c120e;border-bottom:1px solid var(--line)}.page-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(139,207,90,.12),transparent 32%),linear-gradient(135deg,transparent 40%,rgba(255,255,255,.025));}.page-hero .wrap{position:relative}.page-hero h1{font-size:clamp(3rem,6vw,6.5rem);margin:12px 0 18px}.page-hero p{font-size:1.18rem;max-width:720px}.page-content{padding:80px 0 110px;background:#f7f8f6;color:#172019}.content-wrap{max-width:920px}.content-wrap p,.content-wrap li{color:#4d5a50;font-size:1.06rem}.content-wrap h2{font-size:clamp(2rem,4vw,3.4rem);margin:60px 0 18px}.content-wrap h3{margin:30px 0 8px}.content-wrap .answer{font-size:1.4rem;line-height:1.55;color:#1c2b20;border-left:4px solid var(--green2);padding-left:22px}.content-wrap a{color:#3d7a2c;font-weight:750}.content-wrap blockquote{margin:40px 0;padding:28px;border-radius:18px;background:#eaf2e5;font-size:1.25rem;line-height:1.5}.content-wrap blockquote cite{display:block;margin-top:12px;font-size:.8rem;color:#667263}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.content-grid>div{border:1px solid #dce3da;border-radius:16px;padding:22px;background:#fff}.inline-cta{margin-top:70px;padding:34px;border-radius:22px;background:#111a14;color:#fff}.inline-cta h2{margin:0 0 10px;color:#fff}.inline-cta p{color:#b9c2bb}.page-reviews{margin-top:20px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-card{background:#fff;border:1px solid #dfe6dc;border-radius:18px;padding:24px}.review-card p{font-size:1rem}.review-person strong,.review-person span{display:block}.review-person span{font-size:.75rem;color:#758075}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{display:block;background:#fff;color:#18201a;border-radius:18px;overflow:hidden;border:1px solid #e0e5df}.project-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.project-card>div{padding:20px}.project-card small{color:#4f8b36;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.project-card p{color:#687268}.empty-projects{padding:30px;border:1px dashed #bdc8bb;border-radius:18px;background:#fff}.single-image img{width:100%;border-radius:20px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes pulse{0%,100%{transform:scale(.95);opacity:.4}50%{transform:scale(1.12);opacity:1}}
@media(max-width:980px){.primary-nav{position:fixed;inset:88px 0 0;background:#0b100d;padding:30px;display:none;align-items:stretch;flex-direction:column}.menu-open .primary-nav{display:flex}.primary-nav ul{flex-direction:column;width:100%}.primary-nav ul a{font-size:1.35rem}.nav-phone{border:0;padding:0}.menu-toggle{display:block}.hero{min-height:820px;height:auto}.hero-content{grid-template-columns:1fr;padding-top:190px}.hero-card{display:none}.service-cards{grid-template-columns:1fr 1fr}.proof-items{grid-template-columns:1fr 1fr}.proof-items div:nth-child(2){border-right:0}.visual-grid,.split,.ae-grid,.lead-grid{grid-template-columns:1fr}.review-stage{grid-template-columns:1fr}.review-video{min-height:350px}.city-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.section-head{grid-template-columns:1fr;gap:20px}.process-line{grid-template-columns:1fr 1fr}.process-step:nth-child(2){border-right:0}.footer-cta-grid{grid-template-columns:1fr}.footer-actions{flex-direction:row}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.site-header .nav-wrap{height:74px}.brand{width:205px}.primary-nav{inset:74px 0 0}.section{padding:78px 0}.hero{min-height:760px}.hero-content{padding-top:150px;padding-bottom:58px}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.hero-copy>p{font-size:1.05rem}.hero-actions .btn{width:100%}.media-credit{display:none}.proof-items{grid-template-columns:1fr 1fr}.proof-items div{padding:16px 10px}.service-cards{grid-template-columns:1fr}.service-card{min-height:300px}.service-icon{margin-top:42px}.process-line{grid-template-columns:1fr}.process-step,.process-step:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:25px 0}.process-step h3{margin-top:30px}.cinema-section{min-height:650px}.review-feature{padding:30px 22px}.review-stage{min-height:auto}.review-feature blockquote{font-size:1.8rem}.review-footer{align-items:flex-start;flex-direction:column;gap:15px}.city-grid{grid-template-columns:1fr}.check-list{grid-template-columns:1fr}.lead-form{grid-template-columns:1fr}.lead-form .full{grid-column:1}.form-submit{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.mobile-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:1200;display:grid;grid-template-columns:1fr 1fr;background:#0d130f;border:1px solid var(--line);border-radius:999px;padding:6px;box-shadow:0 12px 40px rgba(0,0,0,.4)}.mobile-bar a,.mobile-bar button{border:0;background:none;color:#fff;font:inherit;font-size:.85rem;font-weight:800;padding:12px}.mobile-bar button{background:var(--green);color:#0b1008;border-radius:999px}.lead-panel{padding:55px 20px 100px}.page-hero{padding:145px 0 70px}.content-grid,.review-grid,.project-cards{grid-template-columns:1fr}.page-content{padding:55px 0 90px}.content-wrap .answer{font-size:1.18rem}.footer-cta{padding:60px 0 90px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-bg,.cinema-media video,.review-video video{display:none}}


/* North Dallas architecture gallery */
.architecture-section{background:linear-gradient(180deg,#0d1010 0%,#111616 100%)}
.architecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.architecture-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:#151a1a;min-height:390px;margin:0}
.architecture-card img{width:100%;height:390px;object-fit:cover;display:block;filter:saturate(.86) contrast(1.04);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.architecture-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(4,7,7,.92) 100%);pointer-events:none}
.architecture-card:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}
.architecture-card figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:12px}
.architecture-card figcaption strong{font-size:1.2rem;color:#fff}.architecture-card figcaption span{font-size:.72rem;color:#b9c0bc;text-transform:uppercase;letter-spacing:.11em;text-align:right}
.media-disclosure{margin:16px 0 0;color:#7f8984;font-size:.78rem;letter-spacing:.02em}
@media(max-width:900px){.architecture-grid{grid-template-columns:1fr}.architecture-card,.architecture-card img{height:330px;min-height:330px}}

/* ===== Qualitex Production V3 additions ===== */
.hero-glow{position:absolute;inset:auto -15% -35% 35%;height:70%;background:radial-gradient(circle,rgba(139,207,90,.16),transparent 62%);pointer-events:none;z-index:1}
.architecture-section{background:linear-gradient(180deg,#0b100d 0%,#101713 100%)}
.architecture-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:16px}
.architecture-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:#111713;min-height:430px;margin:0;box-shadow:0 30px 70px rgba(0,0,0,.2)}
.architecture-card:first-child{min-height:500px}.architecture-card img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block;filter:saturate(.88) contrast(1.03);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .4s ease}.architecture-card:first-child img{min-height:500px}.architecture-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,6,4,.88) 100%);pointer-events:none}.architecture-card:hover img{transform:scale(1.035);filter:saturate(1) contrast(1.04)}.architecture-card figcaption{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;display:flex;align-items:end;justify-content:space-between;gap:12px}.architecture-card figcaption strong{font-size:1.25rem;color:#fff}.architecture-card figcaption span{font-size:.68rem;color:#c1c9c3;text-transform:uppercase;letter-spacing:.11em;text-align:right}.media-disclosure{margin:16px 0 0;color:#78837b;font-size:.76rem}

.roof-lab-section{background:radial-gradient(circle at 70% 45%,rgba(139,207,90,.08),transparent 35%),#090d0b}.roof-lab-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.roof-lab-copy h2{margin:14px 0 22px}.roof-lab-copy>p{font-size:1.12rem}.roof-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 18px}.roof-tab{border:1px solid var(--line);background:#111713;color:#d8dfda;border-radius:999px;padding:10px 14px;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;transition:.2s}.roof-tab:hover,.roof-tab.active{border-color:rgba(139,207,90,.55);background:rgba(139,207,90,.12);color:var(--green)}.roof-answer{min-height:140px;margin:0 0 28px;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03)}.roof-answer strong{font-size:1.1rem;color:#fff}.roof-answer p{margin:8px 0 0}.roof-lab-media{position:relative;border-radius:30px;overflow:hidden;border:1px solid var(--line);box-shadow:0 35px 90px rgba(0,0,0,.35);min-height:620px}.roof-lab-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.roof-lab-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,6,.65),transparent 45%),radial-gradient(circle at 58% 30%,rgba(139,207,90,.07),transparent 28%);pointer-events:none}.roof-lab-media small{position:absolute;z-index:4;left:20px;bottom:18px;color:rgba(255,255,255,.62);font-size:.66rem}.scan-line{position:absolute;z-index:3;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 18px rgba(139,207,90,.8);animation:roofscan 5s ease-in-out infinite}.hotspot{position:absolute;z-index:4;width:18px;height:18px;border:2px solid var(--green);border-radius:50%;background:rgba(9,13,11,.78);box-shadow:0 0 0 8px rgba(139,207,90,.12),0 0 25px rgba(139,207,90,.45)}.hotspot.h1{top:22%;left:56%}.hotspot.h2{top:39%;left:40%}.hotspot.h3{top:28%;left:72%}@keyframes roofscan{0%,100%{transform:translateY(18px);opacity:.35}50%{transform:translateY(570px);opacity:1}}

.storm-experience{position:relative;min-height:760px;display:flex;align-items:center;overflow:hidden}.storm-bg,.storm-bg img,.storm-shade{position:absolute;inset:0;width:100%;height:100%}.storm-bg img{object-fit:cover;filter:saturate(.72) contrast(1.05)}.storm-shade{background:linear-gradient(90deg,rgba(4,7,5,.94) 0%,rgba(4,7,5,.78) 44%,rgba(4,7,5,.22) 80%),linear-gradient(0deg,rgba(4,7,5,.58),transparent 50%)}.storm-content{position:relative;z-index:2}.storm-content>*{max-width:650px}.storm-content h2{margin:14px 0 22px}.storm-content>p{font-size:1.15rem;color:#d3dad5}.storm-points{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0 28px}.storm-points span{padding:8px 11px;border-radius:999px;background:rgba(8,12,10,.55);border:1px solid rgba(255,255,255,.16);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.storm-content small{display:block;color:rgba(255,255,255,.52);margin-top:16px;font-size:.67rem}

.review-visual{position:relative;min-height:500px;background:#111}.review-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.74)}.review-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,5,.82),transparent 58%)}.review-visual-overlay{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}.review-visual-overlay strong,.review-visual-overlay span{display:block}.review-visual-overlay strong{color:var(--green);font-size:.72rem;letter-spacing:.15em}.review-visual-overlay span{font-size:.72rem;color:#d0d7d2;margin-top:4px}

.trust-section{background:linear-gradient(180deg,#0d120f,#0a0e0c)}.trust-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.trust-grid h2{margin:14px 0 18px}.trust-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.trust-cards>div{min-height:180px;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));display:flex;flex-direction:column;justify-content:flex-end}.trust-cards strong{font-size:1.05rem}.trust-cards span{display:block;color:var(--muted);font-size:.8rem;margin-top:8px}

/* Better hover / focus states */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}

@media(max-width:980px){.architecture-grid{grid-template-columns:1fr 1fr}.architecture-card:first-child{grid-column:1/-1}.roof-lab-grid,.trust-grid{grid-template-columns:1fr}.roof-lab-media{min-height:520px}.trust-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.architecture-grid{grid-template-columns:1fr}.architecture-card:first-child{grid-column:auto}.architecture-card,.architecture-card:first-child{min-height:330px}.architecture-card img,.architecture-card:first-child img{min-height:330px}.architecture-card figcaption{left:18px;right:18px;bottom:18px}.roof-lab-media{min-height:420px}.roof-tabs{display:grid;grid-template-columns:1fr 1fr}.roof-tab{width:100%}.trust-cards{grid-template-columns:1fr}.trust-cards>div{min-height:130px}.storm-experience{min-height:680px}.storm-shade{background:linear-gradient(90deg,rgba(4,7,5,.93),rgba(4,7,5,.65)),linear-gradient(0deg,rgba(4,7,5,.72),transparent)}@keyframes roofscan{0%,100%{transform:translateY(18px);opacity:.35}50%{transform:translateY(370px);opacity:1}}}
@media(prefers-reduced-motion:reduce){.scan-line{display:none}.architecture-card:hover img{transform:none}.hero-bg{display:none}.hero{background-image:linear-gradient(90deg,rgba(4,7,5,.93),rgba(4,7,5,.35)),url('assets/images/hero-drone-v67.webp');background-size:cover;background-position:center}}

/* Production refinement: trust ribbon + local architectural media */
.trust-ribbon{background:#f5f7f3;color:#122015;border-bottom:1px solid #dfe6db}
.trust-ribbon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.trust-item{display:flex;align-items:center;gap:14px;padding:22px 26px;border-right:1px solid #dfe6db}
.trust-item:last-child{border-right:0}.trust-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#111814;color:var(--green);font-size:1rem;flex:0 0 auto}.trust-item strong,.trust-item small{display:block}.trust-item strong{font-size:.86rem}.trust-item small{font-size:.7rem;color:#657067;margin-top:4px;line-height:1.35}
.hero-bg,.cinema-media video,.review-video video{will-change:transform}.hero-bg{animation:heroDrift 18s ease-in-out infinite alternate}
@keyframes heroDrift{from{transform:scale(1.01)}to{transform:scale(1.045)}}
.architecture-card img,.visual-photo img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.architecture-card:hover img,.visual-photo:hover img{transform:scale(1.035)}
.media-disclosure{font-size:.72rem;color:#7f8c82;margin-top:18px}
@media(max-width:900px){.trust-ribbon-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #dfe6db}.trust-item:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.hero-bg{animation:none}}
.content-grid h3 a{color:inherit}.content-grid h3 a:hover{color:#3f7f2d}.content-grid>div{transition:transform .2s,border-color .2s,box-shadow .2s}.content-grid>div:hover{transform:translateY(-2px);border-color:#c8d9c1;box-shadow:0 14px 35px rgba(23,32,25,.06)}


/* v5: Roofing + Construction refinement */
.construction-section{background:linear-gradient(180deg,#0e1510,#0a0e0c);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.construction-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.construction-card{position:relative;min-height:255px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));transition:.28s;overflow:hidden}
.construction-card:before{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-85px;border-radius:50%;background:radial-gradient(circle,rgba(139,207,90,.14),transparent 70%)}
.construction-card:hover{transform:translateY(-5px);border-color:rgba(139,207,90,.48);background:linear-gradient(145deg,rgba(139,207,90,.07),rgba(255,255,255,.02))}
.construction-card.featured{border-color:rgba(139,207,90,.36)}
.construction-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(139,207,90,.3);border-radius:14px;color:var(--green);font-size:1.4rem;margin-bottom:38px}
.construction-card h3{font-size:1.35rem;margin-bottom:9px}.construction-card p{font-size:.9rem;margin:0 0 30px}.construction-card>span:last-child{position:absolute;bottom:24px;left:28px;color:var(--green);font-size:.82rem;font-weight:800}
.roof-lab-media .hotspot{appearance:none;padding:0;margin:0;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.roof-lab-media .hotspot:hover,.roof-lab-media .hotspot:focus-visible,.roof-lab-media .hotspot.active{transform:scale(1.25);background:var(--green);box-shadow:0 0 0 9px rgba(139,207,90,.16),0 0 30px rgba(139,207,90,.65);outline:none}
.roof-lab-media .hotspot:after{content:attr(data-label);position:absolute;left:50%;bottom:30px;transform:translateX(-50%) translateY(4px);padding:6px 9px;border-radius:8px;background:#0c120e;color:#fff;border:1px solid rgba(139,207,90,.4);font-size:.68rem;font-weight:800;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s}
.roof-lab-media .hotspot:hover:after,.roof-lab-media .hotspot:focus-visible:after,.roof-lab-media .hotspot.active:after{opacity:1;transform:translateX(-50%) translateY(0)}
.hotspot.h-surface{top:23%;left:68%}.hotspot.h-flashing{top:43%;left:55%}.hotspot.h-ventilation{top:22%;left:46%}.hotspot.h-drainage{top:61%;left:27%}
.roof-answer{transition:opacity .12s ease,transform .12s ease}.roof-answer.switching{opacity:.35;transform:translateY(3px)}
@media(max-width:900px){.construction-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.construction-grid{grid-template-columns:1fr}.construction-card{min-height:220px}.roof-lab-media .hotspot:after{display:none}}


/* v6: commercial roofing and final copy polish */
.commercial-roofing-section{background:linear-gradient(180deg,#f5f7f3,#eef3ec);color:#101a13;border-top:1px solid #dfe6db;border-bottom:1px solid #dfe6db}
.commercial-roofing-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.commercial-roofing-media{position:relative;border-radius:28px;overflow:hidden;min-height:480px;box-shadow:0 32px 80px rgba(18,28,21,.16);background:#dce5da}
.commercial-roofing-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.commercial-roofing-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,12,9,.75),transparent 48%)}
.commercial-media-label{position:absolute;z-index:2;left:28px;bottom:26px;color:#fff}.commercial-media-label span,.commercial-media-label strong{display:block}.commercial-media-label span{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:800;color:var(--green)}.commercial-media-label strong{font-size:1.5rem;margin-top:5px}
.commercial-roofing-copy .eyebrow{color:#4b8b32}.commercial-roofing-copy h2{color:#101a13;margin:14px 0 22px}.commercial-roofing-copy p{color:#536057;font-size:1.06rem}.commercial-systems{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.commercial-systems span{padding:8px 11px;border:1px solid #cbd7c8;border-radius:999px;background:#fff;color:#233329;font-size:.74rem;font-weight:800}
@media(max-width:900px){.commercial-roofing-grid{grid-template-columns:1fr}.commercial-roofing-media{min-height:390px}}
@media(max-width:640px){.commercial-roofing-media{min-height:300px}.commercial-roofing-grid{gap:34px}}

@media(min-width:981px) and (max-width:1220px){.brand{width:215px}.primary-nav{gap:13px}.primary-nav ul{gap:13px}.primary-nav a{font-size:.82rem}.nav-phone{padding-left:12px}.btn-small{padding:9px 13px;font-size:.82rem}}


/* v6.1: live-site polish */
@media(min-width:981px){
  .nav-wrap{width:min(1460px,calc(100% - 52px));justify-content:flex-start;gap:44px}
  .brand{width:245px;flex:0 0 245px}
  .primary-nav{margin-left:auto;gap:18px;min-width:0;justify-content:flex-end}
  .primary-nav ul{gap:18px;min-width:0}
  .primary-nav a,.nav-phone{white-space:nowrap}
}
@media(min-width:981px) and (max-width:1250px){
  .nav-wrap{gap:28px}
  .brand{width:210px;flex-basis:210px}
  .primary-nav{gap:11px}
  .primary-nav ul{gap:11px}
  .primary-nav a{font-size:.8rem}
  .nav-phone{padding-left:10px;font-size:.8rem}
  .btn-small{padding:9px 12px;font-size:.8rem}
}
.commercial-systems{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important;margin:26px 0}
.commercial-systems span{display:flex!important;align-items:center;justify-content:center;min-height:42px;text-align:center;white-space:normal;line-height:1.2;padding:9px 10px!important}
.refresh-section{background:linear-gradient(135deg,#101812 0%,#0b110d 55%,#132019 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.refresh-section:before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;right:-180px;top:-260px;background:radial-gradient(circle,rgba(139,207,90,.16),transparent 68%);pointer-events:none}
.refresh-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.refresh-section h2{margin-top:14px;max-width:650px}
.refresh-copy p{font-size:1.12rem;color:#c7d1c9;margin-top:0}.refresh-copy strong{color:#fff}.refresh-copy .btn{margin-top:12px}.refresh-copy small{display:block;margin-top:18px;max-width:720px;color:#7f8a82;font-size:.72rem;line-height:1.5}
@media(max-width:900px){.commercial-systems{grid-template-columns:repeat(2,minmax(0,1fr))}.refresh-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:560px){.commercial-systems{grid-template-columns:1fr}}
\n\n/* v6.3 homepage consolidation */\n.roof-system-strip{display:flex;flex-wrap:wrap;gap:10px;margin:-20px 0 32px}.roof-system-strip span{padding:9px 13px;border:1px solid rgba(139,207,90,.24);border-radius:999px;background:rgba(139,207,90,.07);color:#cfeac0;font-size:.78rem;font-weight:800;letter-spacing:.02em}.construction-callout{margin-top:20px;padding:28px 30px;border:1px solid rgba(139,207,90,.25);border-radius:24px;background:linear-gradient(135deg,rgba(139,207,90,.1),rgba(255,255,255,.025));display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.construction-callout h3{font-size:clamp(1.55rem,2.5vw,2.35rem);margin:8px 0 8px}.construction-callout p{max-width:800px;margin:0}.construction-callout .btn{white-space:nowrap}@media(max-width:760px){.construction-callout{grid-template-columns:1fr}.construction-callout .btn{width:100%}.roof-system-strip{margin-top:-8px}}\n

/* v6.4 spacing + process updates */
.roof-system-strip{display:flex;flex-wrap:wrap;gap:10px 12px;margin:-20px 0 32px}.roof-system-strip span{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid rgba(139,207,90,.24);border-radius:999px;background:rgba(139,207,90,.07);color:#cfeac0;font-size:.78rem;font-weight:800;letter-spacing:.02em;line-height:1.1}.process-step h3{text-transform:none}
