:root{--g1:#1b5e20;--g2:#39d353;--bg:#060807;--p:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}body{margin:0;background:var(--bg);color:#f2f5f2;font-family:Inter,Arial,sans-serif}.qz-hero h1{overflow-wrap:break-word}
body:after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:50;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.qz-eb{color:var(--g2);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:600}
.qz-h2{font:900 clamp(34px,5.4vw,68px)/.98 Montserrat,Arial,sans-serif;letter-spacing:-.03em;margin:16px 0 14px}
.qz-h2 em,.qz-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--g2),#c8f7b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.qz-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,6vw,80px)}
.qz-lede{color:#aab3ab;font-size:17px;line-height:1.6;max-width:620px;margin:0}
.qz-btn{display:inline-block;padding:16px 24px;border-radius:14px;text-decoration:none;font-weight:800;font-size:15px;transition:.25s}
.qz-btn.pri{background:linear-gradient(135deg,var(--g1),var(--g2));color:#03130a;box-shadow:0 10px 40px #39d35344}.qz-btn.pri:hover{transform:translateY(-2px)}
.qz-btn.sec{color:#fff;border:1px solid #ffffff30;backdrop-filter:blur(8px)}.qz-btn.sec:hover{border-color:var(--g2)}
/* header */
.qz-hd{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:24px;padding:12px clamp(18px,4vw,48px);background:#060807b8;backdrop-filter:blur(14px);border-bottom:1px solid #ffffff12}

.qz-nav{display:flex;gap:22px;margin-right:auto}.qz-nav a{color:#cfd6cf;text-decoration:none;font-size:14px;font-weight:600}.qz-nav a:hover{color:var(--g2)}
.qz-hd .soc{display:flex;gap:6px}
.qz-ph{color:#03130a;background:linear-gradient(135deg,var(--g1),var(--g2));text-decoration:none;font-weight:800;font-size:14px;padding:11px 16px;border-radius:99px;white-space:nowrap}
.qz-burger{display:none;margin-left:auto;background:none;border:1px solid #ffffff30;color:#fff;border-radius:10px;width:42px;height:42px;font-size:20px;cursor:pointer}
.qz-mm{display:none;position:fixed;top:72px;left:0;right:0;z-index:39;background:#060807f2;backdrop-filter:blur(14px);padding:18px 24px 26px;border-bottom:1px solid #ffffff14}
.qz-mm a.l{display:block;color:#fff;text-decoration:none;font:800 20px Montserrat;padding:12px 0;border-bottom:1px solid #ffffff10}
.qz-mm .soc{display:flex;gap:10px;margin-top:18px}
.qz-mm.open{display:block}
.soc a{display:grid;place-items:center;width:36px;height:36px;border-radius:99px;border:1px solid #ffffff24;color:#cfd6cf;transition:.2s}
.soc a:hover{color:var(--g2);border-color:var(--g2)}.soc svg{width:16px;height:16px;fill:currentColor}

/* shield banner */
.qz-shield{position:relative;width:250px;margin:-72px 0 26px;filter:drop-shadow(0 18px 34px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(57,211,83,.28));animation:qzdrop .9s cubic-bezier(.2,.9,.25,1.15) both .15s}
.qz-shield svg.bg{display:block;width:100%;height:auto}
.qz-shield .in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:30px 22px 0;text-align:center}
.qz-shield img{width:80%;height:auto}
.qz-shield .t{font:400 31px/1.02 Anton,Oswald,Impact,sans-serif;color:#fff;letter-spacing:.01em;margin-top:18px;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.qz-shield .t small{display:block;font-size:.72em}
.qz-shield .s{white-space:nowrap;margin-top:14px;font:600 12.5px/1.35 Inter,Arial,sans-serif;color:#eafbe9;letter-spacing:.02em;width:82%;border-top:1px solid rgba(255,255,255,.35);padding-top:10px}
@keyframes qzdrop{from{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.qz-shield{animation:none}}
@media(max-width:860px){.qz-shield{width:210px;margin:0 auto 22px}.qz-shield .t{font-size:26px}.qz-shield .s{font-size:11px}.qz-shield .in{padding-top:24px}}
/* hero */
.qz-hero{position:relative;min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;padding:120px clamp(18px,6vw,80px) 80px;overflow:hidden}
.qz-hero .bgv{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);object-fit:cover;filter:blur(30px) brightness(.32) saturate(.8);z-index:0}
.qz-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(800px 500px at 20% 60%,#39d35322,transparent 70%),linear-gradient(transparent 60%,var(--bg));z-index:0}
.qz-hero>*{position:relative;z-index:1}
.qz-hero h1{font:900 clamp(30px,8.6vw,96px)/.98 Montserrat,Arial,sans-serif;letter-spacing:-.03em;margin:18px 0 22px}
.qz-hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.qz-frame{justify-self:center;width:min(360px,100%);aspect-ratio:464/848;border-radius:32px;overflow:hidden;border:1px solid #ffffff2a;box-shadow:0 0 120px #39d35330,0 40px 120px #000c;background:#0b100c}
.qz-frame video{width:100%;height:100%;object-fit:cover;display:block}
.qz-badges{display:flex;gap:26px;margin-top:40px;flex-wrap:wrap}.qz-badges div{border-left:2px solid var(--g2);padding-left:14px}
.qz-badges b{display:block;font:900 30px Montserrat}.qz-badges span{color:#8a948b;font-size:13px}
/* services */
.qz-sv{padding:14vh 0 8vh}
.qz-sv .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.qz-sv .c{padding:30px 26px;border-radius:22px;background:linear-gradient(160deg,#ffffff10,#ffffff04 40%,#39d3530a);border:1px solid #ffffff1a;backdrop-filter:blur(14px);transition:.3s}
.qz-sv .c:hover{border-color:#39d35366;transform:translateY(-4px);box-shadow:0 20px 60px #39d35322}
.qz-sv .c i{font:900 13px Montserrat;letter-spacing:.2em;color:var(--g2);font-style:normal}
.qz-sv .c h3{font:800 21px Montserrat;margin:12px 0 10px}.qz-sv .c p{color:#9aa49b;font-size:14.5px;line-height:1.6;margin:0}
.qz-sv .c a{display:inline-block;margin-top:16px;color:#9be7a8;font-size:14px;font-weight:600;text-decoration:none}
/* section intros */
.qz-intro{padding:12vh 0 0}
/* equipment */
.qz-eq{padding:14vh 0 6vh}
.qz-eq .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
.qz-eq .c{padding:30px 26px;border-radius:22px;border:1px solid #ffffff1a;background:#ffffff06;position:relative;overflow:hidden}
.qz-eq .c:before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 90% 0%,#39d3531c,transparent 70%);pointer-events:none}
.qz-eq .tag{font:800 11px Montserrat;letter-spacing:.16em;color:#8fdc9c;text-transform:uppercase}
.qz-eq h3{font:800 21px/1.2 Montserrat;margin:10px 0 12px}.qz-eq p{color:#9aa49b;font-size:14.5px;line-height:1.65;margin:0;position:relative}
.qz-eq .spec{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.qz-eq .spec span{font-size:12px;padding:6px 10px;border-radius:99px;border:1px solid #39d35344;color:#cfe9d3;background:#39d3530d}
.qz-eq .tm{color:#6f7a70;font-size:12px;margin-top:24px}
/* contact/footer */
.qz-ct{padding:12vh 0 0;border-top:1px solid #ffffff10;margin-top:6vh;background:radial-gradient(700px 300px at 50% 0%,#39d35316,transparent 70%)}
.qz-ct .grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;margin-top:40px}
.qz-ct h4{font:800 13px Montserrat;letter-spacing:.18em;text-transform:uppercase;color:#8b968c;margin:0 0 14px}
.qz-ct p,.qz-ct td{color:#cfd6cf;font-size:15px;line-height:1.7;margin:0}.qz-ct a{color:#9be7a8;text-decoration:none}
.qz-ct table{border-collapse:collapse}.qz-ct td{padding:2px 18px 2px 0}.qz-ct td+td{color:#9aa49b}
.qz-ct .soc{display:flex;gap:10px;margin-top:18px}
.qz-ft{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:40px 0;margin-top:9vh;border-top:1px solid #ffffff10;color:#5f695f;font-size:13px}
@media(max-width:1060px){.qz-nav,.qz-hd .soc{display:none}.qz-burger{display:block}.qz-hd{justify-content:space-between}}
@media(max-width:860px){.qz-hero{grid-template-columns:1fr;padding-top:110px}.qz-frame{width:min(300px,80%)}.qz-sv .grid,.qz-eq .grid,.qz-ct .grid{grid-template-columns:1fr}.qz-ph{display:none}}
@media(min-width:861px) and (max-width:1060px){.qz-sv .grid,.qz-eq .grid{grid-template-columns:1fr 1fr}}
/* ===== Estimate (from calculator/index.html, scoped) ===== */
#estimate{--g1:#1b5e20;--g2:#39d353;--bg:#060807;--p:0}
#estimate *{box-sizing:border-box}
#estimate{scroll-behavior:smooth}
#estimate{margin:0;background:var(--bg);color:#f2f5f2;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}}
#estimate h2,#estimate .amt,#estimate .disp{font-family:Montserrat,Arial,sans-serif}
@keyframes foam{to{transform:translate(4vw,3vh) scale(1.25)}}
#estimate .eyebrow{color:var(--g2);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:600;position:relative}

#estimate /* scroll stage */
.stage{position:relative;padding:4vh clamp(10px,3vw,40px) 14vh}
#estimate .panel{--s:calc(.6 + .4*var(--p));max-width:1180px;margin:0 auto;transform:scale(var(--s)) translateY(calc((1 - var(--p))*60px));transform-origin:50% 0;border-radius:calc(56px - 28px*var(--p));opacity:calc(.35 + .65*var(--p));filter:brightness(calc(.45 + .55*var(--p)));
 background:linear-gradient(160deg,#ffffff10,#ffffff04 40%,#39d3530a);border:1px solid #ffffff1c;backdrop-filter:blur(18px);box-shadow:0 0 calc(120px*var(--p)) #39d35326,0 40px 120px #000a;position:relative;overflow:hidden;will-change:transform}
#estimate .panel:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 0%,#39d35322,transparent 70%);pointer-events:none}
#estimate .grid{display:grid;grid-template-columns:1.25fr 1fr;position:relative}
#estimate .form{padding:clamp(22px,4vw,52px)}
#estimate .out{padding:clamp(22px,4vw,52px);border-left:1px solid #ffffff14;background:#00000040;display:flex;flex-direction:column}
#estimate h2{font-size:clamp(26px,3vw,38px);margin:10px 0 6px;font-weight:900;letter-spacing:-.02em}
#estimate p.sub{color:#9aa49b;margin:0 0 26px;font-size:15px}
#estimate label.l{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8b968c;margin:24px 0 10px;font-weight:600}
#estimate .svc{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
#estimate .svc button,#estimate .pills button{font:inherit;color:#dfe5df;background:#ffffff08;border:1px solid #ffffff1a;border-radius:14px;cursor:pointer;transition:.25s;text-align:left}
#estimate .svc button{padding:14px;font-size:14px;font-weight:600;min-height:78px;display:flex;flex-direction:column;justify-content:space-between}
#estimate .svc button small{color:#7f8a80;font-weight:400;font-size:12px}
#estimate .svc button:hover,#estimate .pills button:hover{border-color:#39d35366;transform:translateY(-2px)}
#estimate .svc button.on,#estimate .pills button.on{background:linear-gradient(135deg,#1b5e2066,#39d35333);border-color:var(--g2);color:#fff;box-shadow:0 0 24px #39d35333,inset 0 0 0 1px #39d35355}
#estimate .svc button.on small{color:#bdf5c6}
#estimate .pills{display:flex;flex-wrap:wrap;gap:8px}
#estimate .pills button{padding:10px 16px;border-radius:99px;font-size:14px}
#estimate .pills button i{font-style:normal;color:#8fdc9c;margin-left:6px;font-size:12px}
#estimate select.hid{display:none}
#estimate input{width:100%;padding:16px 18px;border-radius:14px;border:1px solid #ffffff1f;background:#0008;color:#fff;font:600 22px Montserrat,sans-serif;outline:none;transition:.2s}
#estimate input:focus{border-color:var(--g2);box-shadow:0 0 0 4px #39d35322}
#estimate small.min{display:block;color:#7f8a80;margin-top:8px;font-size:12.5px}
#estimate #h{font-size:13px;color:#9be7a8;margin-top:12px;line-height:1.5}
#estimate #h:not(:empty){padding:12px 14px;border:1px dashed #39d35355;border-radius:12px;background:#39d3530d}
#estimate .rl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#8b968c}
#estimate .amt{font-size:clamp(34px,4.6vw,58px);font-weight:900;line-height:1.05;margin:14px 0;letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#b9f7c2);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px #39d35322}
#estimate .rate{color:#8fdc9c;font-size:13px}
#estimate .note{font-size:13px;color:#9aa49b;line-height:1.55;margin-top:18px;padding-top:18px;border-top:1px solid #ffffff14}
#estimate a.call,#estimate button.call{display:block;margin-top:auto;text-align:center;background:linear-gradient(135deg,var(--g1),var(--g2));color:#03130a;font-weight:800;padding:18px;border-radius:14px;text-decoration:none;font-size:17px;box-shadow:0 10px 40px #39d35344;transition:.25s}
#estimate a.call:hover{transform:translateY(-2px);box-shadow:0 14px 50px #39d35366}
#estimate .out a.call{margin-top:28px}
#estimate .pitch{max-width:1180px;margin:0 auto;padding:clamp(22px,4vw,52px);border:1px solid #ffffff14;border-radius:28px;background:#ffffff06;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
#estimate .pitch .amt{font-size:clamp(32px,4vw,48px)}
#estimate #rx{color:#8fdc9c;font-size:13px;min-height:18px}
#estimate .pitchsel{display:flex;align-items:center;gap:14px}
#estimate .pitchsel input[type=range]{padding:0;accent-color:var(--g2);height:auto;border:0;background:none;box-shadow:none}
#estimate #ptv{font:800 22px Montserrat,sans-serif;min-width:70px}
#estimate .gate{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding:clamp(18px,5vw,60px) 16px;background:#06080766}
#estimate .gate form{width:100%;max-width:460px;padding:clamp(22px,4vw,40px);border-radius:24px;background:linear-gradient(160deg,#101611ee,#0a0d0bee);border:1px solid #39d35355;box-shadow:0 0 60px #39d35322,0 30px 80px #000c}
#estimate .gate input{font:500 17px Inter,sans-serif;padding:14px 16px}
#estimate .gate input.bad{border-color:#ff6b6b;box-shadow:0 0 0 4px #ff6b6b22}
#estimate .gate .call{width:100%;border:0;cursor:pointer;font-family:inherit;margin-top:22px}
#estimate .gate .call:disabled{opacity:.6;cursor:wait}
#estimate .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#estimate .gerr{color:#ff9c9c;font-size:13px;margin-top:12px;min-height:16px}
#estimate .consent{color:#8b968c;font-size:12.5px;line-height:1.5;margin:14px 0 0;text-align:center}
#estimate .locked #calcgrid{filter:blur(9px) saturate(.7);pointer-events:none;user-select:none}
#estimate .locked{min-height:820px}
#estimate .unlocked .gate{display:none}
@media(max-width:860px){#estimate .grid,#estimate .pitch{grid-template-columns:1fr}
#estimate .out{border-left:0;border-top:1px solid #ffffff14}
#estimate .svc{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){#estimate .panel{--p:1!important;transition:none}
#estimate{scroll-behavior:auto}
#estimate *{transition:none!important}}
#estimate .stage{padding-top:2vh}
/* ===== Builders (scoped) ===== */
#bl{--g1:#1b5e20;--g2:#39d353;--bg:#060807;--p:0}
#bl *{box-sizing:border-box}
#bl{scroll-behavior:smooth}
#bl{margin:0;background:var(--bg);color:#f2f5f2;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
#bl h1,#bl h2,#bl h3{font-family:Montserrat,Arial,sans-serif}
#bl .bld{position:relative;padding:12vh clamp(18px,6vw,80px) 4vh;overflow:hidden}
#bl .bld .blob{position:absolute;width:60vw;height:60vw;max-width:800px;max-height:800px;right:-15vw;top:-10vw;background:radial-gradient(circle,#39d35326,transparent 65%);filter:blur(40px);animation:foam 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes foam{to{transform:translate(4vw,3vh) scale(1.25)}}
#bl .eyebrow{color:var(--g2);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:600;position:relative}
#bl .bld h2.bl-h{position:relative;font-size:clamp(38px,6.4vw,92px);line-height:.95;font-weight:900;margin:18px 0 22px;letter-spacing:-.03em;max-width:1100px}
#bl .bld h2.bl-h em{font-style:normal;background:linear-gradient(90deg,var(--g2),#c8f7b0);-webkit-background-clip:text;background-clip:text;color:transparent}
#bl .bld p.lede{position:relative;max-width:600px;color:#aab3ab;font-size:17px;line-height:1.6;margin:0}
#bl .bens{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff14;border:1px solid #ffffff14;border-radius:22px;overflow:hidden;margin-top:48px;max-width:1180px}
#bl .bens div{background:var(--bg);padding:28px 24px}
#bl .bens b{display:block;font:800 18px Montserrat,sans-serif;margin:10px 0 8px}
#bl .bens span{color:#8a948b;font-size:14px;line-height:1.55}
#bl .bens i{font-style:normal;color:var(--g2);font:900 13px Montserrat,sans-serif;letter-spacing:.2em}
#bl .stage{position:relative;padding:4vh clamp(10px,3vw,40px) 14vh}
#bl .panel{--s:calc(.6 + .4*var(--p));max-width:1180px;margin:0 auto;transform:scale(var(--s)) translateY(calc((1 - var(--p))*60px));transform-origin:50% 0;border-radius:calc(56px - 28px*var(--p));opacity:calc(.35 + .65*var(--p));filter:brightness(calc(.45 + .55*var(--p)));
 background:linear-gradient(160deg,#ffffff10,#ffffff04 40%,#39d3530a);border:1px solid #ffffff1c;backdrop-filter:blur(18px);box-shadow:0 0 calc(120px*var(--p)) #39d35326,0 40px 120px #000a;position:relative;overflow:hidden;will-change:transform}
#bl .panel:before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 85% 0%,#39d35322,transparent 70%);pointer-events:none}
#bl form{position:relative;padding:clamp(22px,4vw,52px)}
#bl h2{font-size:clamp(26px,3vw,38px);margin:10px 0 6px;font-weight:900;letter-spacing:-.02em}
#bl p.sub{color:#9aa49b;margin:0 0 10px;font-size:15px}
#bl .g2{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
#bl .full{grid-column:1/-1}
#bl label.l{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8b968c;margin:22px 0 9px;font-weight:600}
#bl label.l small{text-transform:none;letter-spacing:0;color:#667067;font-weight:400}
#bl input,#bl select,#bl textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #ffffff1f;background:#0008;color:#fff;font:500 16px Inter,sans-serif;outline:none;transition:.2s}
#bl select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#8fdc9c 50%),linear-gradient(135deg,#8fdc9c 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat}
#bl select option{background:#0d110e}
#bl textarea{min-height:110px;resize:vertical}
#bl input[type=date]{color-scheme:dark}
#bl input:focus,#bl select:focus,#bl textarea:focus{border-color:var(--g2);box-shadow:0 0 0 4px #39d35322}
#bl .bad{border-color:#ff6b6b!important;box-shadow:0 0 0 4px #ff6b6b22!important}
#bl .chips{display:flex;flex-wrap:wrap;gap:8px}
#bl .chips button{font:inherit;color:#dfe5df;background:#ffffff08;border:1px solid #ffffff1a;border-radius:99px;cursor:pointer;transition:.25s;padding:10px 16px;font-size:14px}
#bl .chips button:hover{border-color:#39d35366}
#bl .chips button[aria-pressed=true]{background:#39d3531f;border-color:var(--g2);color:#fff;box-shadow:0 0 24px #39d35333}
#bl .chips button[aria-pressed=true]:before{content:"✓ ";color:var(--g2)}
#bl .drop{border:1.5px dashed #39d35366;border-radius:18px;background:#39d35308;padding:30px 20px;text-align:center;cursor:pointer;transition:.25s}
#bl .drop:hover,#bl .drop.over{background:#39d35318;border-color:var(--g2);box-shadow:0 0 40px #39d35326}
#bl .drop b{font:800 17px Montserrat,sans-serif;display:block;margin-bottom:6px}
#bl .drop span{color:#8b968c;font-size:13px}
#bl .drop u{color:var(--g2);text-decoration:none;border-bottom:1px solid}
#bl .files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
#bl .files li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 14px;border:1px solid #ffffff14;border-radius:12px;background:#0006;font-size:14px}
#bl .files .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bl .files .sz{color:#7f8a80;font-size:12px}
#bl .files .bar{grid-column:1/-1;height:3px;border-radius:3px;background:#ffffff12;overflow:hidden}
#bl .files .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--g1),var(--g2));transition:width .2s}
#bl .files button{background:none;border:1px solid #ffffff22;color:#ccc;border-radius:99px;width:28px;height:28px;cursor:pointer;font-size:15px;line-height:1}
#bl .files button:hover{border-color:#ff6b6b;color:#ff9c9c}
#bl .call{display:block;width:100%;border:0;margin-top:28px;text-align:center;background:linear-gradient(135deg,var(--g1),var(--g2));color:#03130a;font:800 17px Inter,sans-serif;padding:18px;border-radius:14px;cursor:pointer;box-shadow:0 10px 40px #39d35344;transition:.25s}
#bl .call:hover{transform:translateY(-2px);box-shadow:0 14px 50px #39d35366}
#bl .call:disabled{opacity:.6;cursor:wait;transform:none}
#bl .consent{color:#8b968c;font-size:12.5px;line-height:1.5;margin:14px 0 0;text-align:center}
#bl .consent a{color:#9be7a8}
#bl .msg{font-size:14px;margin-top:14px;min-height:18px;text-align:center}
#bl .msg.err{color:#ff9c9c}
#bl .done{text-align:center;padding:40px 10px}
#bl .done h2{font-size:clamp(28px,3.4vw,44px)}
#bl .done p{color:#aab3ab;max-width:520px;margin:10px auto;line-height:1.6}
#bl .done a{color:#9be7a8}
#bl .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:760px){#bl .g2,#bl .bens{grid-template-columns:1fr}
#bl .bld{padding-top:9vh}}
@media(prefers-reduced-motion:reduce){#bl .panel{--p:1!important}
#bl .blob{animation:none}
#bl{scroll-behavior:auto}
#bl *{transition:none!important}}
/* ===== Reviews (scoped) ===== */
#reviews{--g1:#1b5e20;--g2:#39d353;--bg:#060807;--p:0}
#reviews *{box-sizing:border-box}
#reviews{margin:0;background:var(--bg);color:#f2f5f2;font-family:Inter,Arial,sans-serif;overflow-x:hidden}
#reviews h2,#reviews .big,#reviews .disp{font-family:Montserrat,Arial,sans-serif}
#reviews .rv{position:relative;padding:14vh 0 12vh;overflow:hidden}
#reviews .rv:before{content:"";position:absolute;inset:-20% 10% auto;height:70%;background:radial-gradient(closest-side,#39d35330,transparent);filter:blur(40px);pointer-events:none}
#reviews .wrap{max-width:1180px;margin:0 auto;padding:0 clamp(18px,6vw,80px);position:relative}
#reviews .eyebrow{color:var(--g2);letter-spacing:.3em;text-transform:uppercase;font-size:12px;font-weight:600}
#reviews h2{font-size:clamp(34px,6vw,76px);line-height:.95;font-weight:900;letter-spacing:-.03em;margin:16px 0 0}
#reviews h2 em{font-style:normal;background:linear-gradient(90deg,var(--g2),#c8f7b0);-webkit-background-clip:text;background-clip:text;color:transparent}
#reviews .score{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,5vw,70px);align-items:center;margin-top:7vh;
 transform:scale(calc(.75 + .25*var(--p))) translateY(calc((1 - var(--p))*50px));opacity:calc(.3 + .7*var(--p));transform-origin:0 50%}
#reviews .big{font-size:clamp(110px,20vw,260px);font-weight:900;line-height:.9;letter-spacing:-.03em;padding:0 .12em .05em 0;overflow:visible;background:linear-gradient(180deg,#fff,#9ef0ab);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 50px #39d35355)}
#reviews .stars{position:relative;display:inline-block;font-size:clamp(34px,5vw,58px);letter-spacing:.12em;color:#ffffff1c;line-height:1}
#reviews .stars i{position:absolute;inset:0;width:calc(var(--p)*100%);overflow:hidden;white-space:nowrap;font-style:normal;color:#ffc93c;text-shadow:0 0 24px #ffc93c88}
#reviews .glabel{margin-top:16px;font:600 15px Inter;color:#cfd6cf;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#reviews .glabel b{font:800 13px Montserrat;letter-spacing:.08em;padding:6px 12px;border:1px solid #ffffff2a;border-radius:99px;background:#ffffff0a;backdrop-filter:blur(8px)}
#reviews .glabel span{color:#8a948b}
#reviews .marq{margin-top:9vh;display:grid;gap:18px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
#reviews .row{display:flex;gap:18px;width:max-content;animation:sl 60s linear infinite}
#reviews .row.r2{animation-direction:reverse;animation-duration:70s}
#reviews .marq:hover .row{animation-play-state:paused}
@keyframes sl{to{transform:translateX(-50%)}}
#reviews .card{width:min(380px,82vw);flex:none;padding:26px;border-radius:22px;background:linear-gradient(160deg,#ffffff10,#ffffff04);border:1px solid #ffffff17;backdrop-filter:blur(14px);box-shadow:0 20px 60px #0007;transition:.3s}
#reviews .card:hover{border-color:#39d35366;box-shadow:0 0 0 1px #39d35333,0 20px 60px #39d35322;transform:translateY(-4px)}
#reviews .card .s{color:#ffc93c;letter-spacing:.15em}
#reviews .card p{color:#dfe5df;line-height:1.6;font-size:15px;margin:12px 0 18px}
#reviews .card footer{display:flex;justify-content:space-between;font-size:13px;color:#8a948b}
#reviews .card footer b{color:#fff;font-weight:600}
#reviews .card .tag{display:inline-block;margin-bottom:10px;font:800 11px Montserrat;letter-spacing:.12em;color:#ffb35c;border:1px dashed #ffb35c88;padding:4px 8px;border-radius:8px}
#reviews .empty{margin:8vh auto 0;max-width:640px;text-align:center;color:#8a948b;border:1px dashed #ffffff22;border-radius:20px;padding:30px}
#reviews .crew{margin-top:10vh;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(20px,4vw,50px);align-items:center}
#reviews .photo{aspect-ratio:4/3;border-radius:28px;border:1px dashed #39d35366;background:repeating-linear-gradient(135deg,#ffffff05 0 14px,transparent 14px 28px),#0b100c;display:grid;place-items:center;color:#7d877e;font-size:14px;text-align:center;overflow:hidden;box-shadow:0 0 80px #39d35318}
#reviews .photo img{width:100%;height:100%;object-fit:cover}
#reviews .crew h3{font:900 clamp(26px,3vw,40px) Montserrat;margin:10px 0;letter-spacing:-.02em}
#reviews .crew p{color:#aab3ab;line-height:1.65}
#reviews .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
#reviews .btn{padding:16px 22px;border-radius:14px;text-decoration:none;font-weight:800;font-size:15px;transition:.25s}
#reviews .btn.pri{background:linear-gradient(135deg,var(--g1),var(--g2));color:#03130a;box-shadow:0 10px 40px #39d35344}
#reviews .btn.pri:hover{box-shadow:0 10px 60px #39d35388;transform:translateY(-2px)}
#reviews .btn.sec{color:#fff;border:1px solid #ffffff30;backdrop-filter:blur(8px)}
#reviews .btn.sec:hover{border-color:var(--g2)}
#reviews .small{font-size:13px;color:#7d877e;margin-top:14px}
#reviews .small a{color:#9be7a8}
#reviews .reveal{opacity:0;transform:translateY(40px) scale(.96);transition:1s cubic-bezier(.2,.7,.2,1)}
#reviews .reveal.in{opacity:1;transform:none}
@media(max-width:860px){#reviews .score{grid-template-columns:1fr;gap:10px}
#reviews .crew{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#reviews .rv{--p:1!important}
#reviews .row{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
#reviews .marq{-webkit-mask:none;mask:none;padding:0 18px}
#reviews .reveal{opacity:1;transform:none}
#reviews *{transition:none!important}}
/* ===== Brands (already namespaced qb-) ===== */


.qb{--bg:#060807;--accent:#39d353;position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(57,211,83,.10),transparent 70%),var(--bg);color:#fff;padding:88px 0 56px;font-family:Inter,Arial,sans-serif}
.qb-head{text-align:center;padding:0 24px;margin-bottom:44px}
.qb-kicker{display:inline-block;font:600 12px/1 Montserrat,Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#8fdc9c;padding:8px 14px;border:1px solid rgba(57,211,83,.3);border-radius:999px;background:rgba(57,211,83,.06)}
.qb h2{font:900 clamp(32px,5vw,56px)/1.05 Montserrat,Arial,sans-serif;margin:18px 0 12px;letter-spacing:-.02em}
.qb h2 em{font-style:normal;color:var(--accent);text-shadow:0 0 28px rgba(57,211,83,.45)}
.qb-sub{color:#9aa49b;font-size:clamp(15px,1.6vw,18px);margin:0}
.qb-viewport{position:relative;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);backdrop-filter:blur(10px);-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.qb-track{display:flex;width:max-content;animation:qb-scroll 55s linear infinite}
.qb-viewport:hover .qb-track,.qb-viewport:focus-within .qb-track{animation-play-state:paused}
.qb-list{display:flex;list-style:none;margin:0;padding:0}
.qb-item{display:flex;align-items:center;justify-content:center;height:96px;padding:0 44px;border-right:1px solid rgba(255,255,255,.06)}
.qb-word{font:800 clamp(15px,1.5vw,19px)/1 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.55);transition:color .3s,text-shadow .3s}
.qb-item:hover .qb-word{color:#fff;text-shadow:0 0 18px rgba(57,211,83,.55)}
.qb-item img{max-height:40px;max-width:160px;filter:grayscale(1) brightness(0) invert(1);opacity:.6;transition:opacity .3s}
.qb-item:hover img{opacity:1}
.qb-note{text-align:center;color:#7f8a80;font-size:12px;margin:28px 24px 0}
@keyframes qb-scroll{to{transform:translateX(-50%)}}
@media (max-width:600px){.qb{padding:64px 0 40px}.qb-item{height:76px;padding:0 28px}.qb-track{animation-duration:40s}}
@media (prefers-reduced-motion:reduce){
 .qb-viewport{-webkit-mask:none;mask:none;border:0;background:none;backdrop-filter:none;padding:0 24px}
 .qb-track{animation:none;width:auto;display:block}
 .qb-list[aria-hidden="true"]{display:none}
 .qb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-width:1100px;margin:0 auto}
 .qb-item{height:72px;padding:0 16px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.03)}
 .qb-word{white-space:normal;text-align:center}
}

.qb-item{height:58px}.qb-word{font-size:clamp(13px,1.2vw,15px)}
@media (max-width:600px){.qb-item{height:48px;padding:0 22px}}
.qs{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:44px auto 0;padding:0 24px;gap:14px}
.qs div{text-align:center;padding:22px 10px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03)}
.qs b{display:block;font:900 clamp(34px,5vw,54px)/1 Montserrat,Arial,sans-serif;color:#fff}.qs b em{font-style:normal;color:#39d353}
.qs span{display:block;margin-top:8px;color:#9aa49b;font-size:14px}
@media(max-width:600px){.qs{grid-template-columns:repeat(2,1fr);gap:8px;padding:0 12px}.qs span{font-size:12px}}
.qbig{position:relative;height:220vh;background:#060807}
.qbig .st{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
.qbig .n{font:900 clamp(90px,16vw,220px)/.8 Montserrat,Arial,sans-serif;letter-spacing:-.06em;color:#39d353;transform:scale(calc(1 + var(--b,0)*9));will-change:transform;text-shadow:0 0 60px #39d35355}
.qbig .l{position:absolute;bottom:18vh;left:0;right:0;text-align:center;font:800 clamp(16px,2.2vw,26px) Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#fff;opacity:calc(1 - var(--b,0)*3)}
.qg{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;border-radius:16px;background:rgba(10,14,11,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);box-shadow:0 10px 30px #0008;color:#fff;text-decoration:none;font-family:Inter,Arial,sans-serif;transition:border-color .25s}
.qg:hover{border-color:#39d353}
.qg .gl{width:30px;height:30px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font:800 17px Montserrat,Arial,sans-serif}
.qg b{font:900 18px Montserrat,Arial,sans-serif}.qg .st5{color:#ffc93c;font-size:10px;letter-spacing:1px;writing-mode:vertical-rl}
@media(max-width:860px){.qg{top:auto;bottom:14px;transform:none;flex-direction:row;padding:7px 12px 7px 7px;border-radius:99px;gap:8px}.qg .gl{width:24px;height:24px;font-size:13px}.qg b{font-size:14px}.qg .st5{display:none}.qg{left:10px;bottom:10px;padding:5px 10px 5px 5px;gap:6px;opacity:.95}}
@media(prefers-reduced-motion:reduce){.qbig{height:auto}.qbig .st{position:static;height:60vh}.qbig .n{transform:none}.qbig .l{opacity:1}}
.qz-full .qbig{height:auto}.qz-full .qbig .st{position:static;height:60vh}.qz-full .qbig .n{transform:none}.qz-full .qbig .l{opacity:1}

/* full-state for screenshots */
.qz-full #estimate .panel,.qz-full #bl .panel{--p:1!important}
.qz-full #reviews{--p:1!important}.qz-full #reviews .reveal{opacity:1;transform:none}
.qz-full #reviews .row,.qz-full .qb-track,.qz-full *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:860px){.qz-hd .qz-ph{display:inline-block;padding:9px 14px;font-size:13px}.qz-hero .cta .qz-btn{display:flex;justify-content:center;width:100%;box-sizing:border-box}}
/* v4 mobile QA fixes */
html,body{overflow-x:clip}
@media(max-width:860px){
.qz-hd .qz-ph{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box}
.qz-burger{min-width:44px;min-height:44px}
.soc a{width:44px;height:44px}
.chips button,#est-calcgrid button,.stage button[type=button]{min-height:44px}
.qz-sv .c a,.qz-sv .c .more{display:inline-flex;align-items:center;min-height:44px}
.qz-ct .grid p a{display:inline-block;padding:6px 0;line-height:1.6}
input[type=range]{min-height:36px}
a[href^="tel:"]:not(.qz-btn):not(.qz-ph):not(.l){display:inline-block;padding:4px 0}
.qg{opacity:.85}
.qz-ct{padding-bottom:72px}
h1,h2,h3{overflow-wrap:break-word}
}

/* ===== nav services dropdown ===== */
.qz-nav .dd{position:relative}.qz-nav .dd>a:after{content:" ▾";font-size:10px}
.qz-nav .dd .menu{display:none;position:absolute;top:100%;left:-16px;padding:12px 0 10px;min-width:240px}
.qz-nav .dd .menu div{background:#0a0e0bf2;border:1px solid #ffffff1a;border-radius:14px;padding:8px;box-shadow:0 20px 50px #000a;backdrop-filter:blur(14px)}
.qz-nav .dd .menu a{display:block;padding:10px 12px;border-radius:9px}.qz-nav .dd .menu a:hover{background:#39d35314}
.qz-nav .dd:hover .menu,.qz-nav .dd:focus-within .menu{display:block}
.qz-mm .sub{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:4px 0 10px;border-bottom:1px solid #ffffff10}
.qz-mm .sub a{color:#9be7a8;text-decoration:none;font-size:14px;font-weight:600;padding:10px 0;min-height:44px;display:flex;align-items:center}
.qz-mm{max-height:calc(100vh - 72px);overflow-y:auto}
.qz-sv .c h3 a{color:inherit;text-decoration:none;margin:0;display:inline;font:inherit}.qz-sv .c h3 a:hover{color:var(--g2)}
.qz-sv .c .lk{display:flex;gap:18px;flex-wrap:wrap}
/* ===== service pages ===== */
.sp-hero{position:relative;padding:150px 0 70px;overflow:hidden;background:radial-gradient(900px 500px at 15% 30%,#39d35322,transparent 70%)}
.sp-hero h1{font:900 clamp(34px,6.4vw,76px)/.98 Montserrat,Arial,sans-serif;letter-spacing:-.03em;margin:16px 0 20px;overflow-wrap:break-word}
.sp-hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--g2),#c8f7b0);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.sp-crumb{font-size:13px;color:#7d887e;margin-bottom:18px}.sp-crumb a{color:#9be7a8;text-decoration:none}
.sp-body{padding:30px 0 40px}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sp-card{padding:30px 26px;border-radius:22px;background:linear-gradient(160deg,#ffffff10,#ffffff04 40%,#39d3530a);border:1px solid #ffffff1a}
.sp-card h2{font:800 24px/1.2 Montserrat,Arial,sans-serif;margin:0 0 12px}
.sp-card p,.sp-card li{color:#aab3ab;font-size:15.5px;line-height:1.7}.sp-card p{margin:0 0 10px}
.sp-card ul{margin:0;padding-left:20px}.sp-card li{margin-bottom:6px}
.sp-card.wide{grid-column:1/-1}
.sp-faq{padding:8vh 0 2vh}
.sp-faq details{border:1px solid #ffffff1a;border-radius:16px;background:#ffffff06;margin-top:12px}
.sp-faq summary{cursor:pointer;padding:18px 22px;font:800 17px/1.35 Montserrat,Arial,sans-serif;list-style:none;min-height:44px}
.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary:after{content:"+";float:right;color:var(--g2);margin-left:12px}
.sp-faq details[open] summary:after{content:"–"}
.sp-faq details p{margin:0;padding:0 22px 20px;color:#aab3ab;line-height:1.7;font-size:15.5px}
.sp-cta{margin:8vh 0 0;padding:44px clamp(22px,4vw,48px);border-radius:26px;border:1px solid #39d35355;background:radial-gradient(600px 260px at 80% 0%,#39d35326,transparent 70%),#0a0f0b}
.sp-cta h2{font:900 clamp(28px,4vw,46px)/1.02 Montserrat,Arial,sans-serif;margin:0 0 12px;letter-spacing:-.02em}
.sp-cta .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.sp-rel{padding:8vh 0 0}.sp-rel .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.sp-rel a{display:block;padding:20px 22px;border-radius:16px;border:1px solid #ffffff1a;background:#ffffff06;color:#fff;text-decoration:none;font:800 16px Montserrat,Arial,sans-serif;transition:.25s}
.sp-rel a span{display:block;color:#9be7a8;font:600 13px Inter,Arial,sans-serif;margin-top:6px}.sp-rel a:hover{border-color:#39d35366}
.sp-shield{width:150px;margin:0 0 10px}
@media(max-width:860px){.sp-grid,.sp-rel .grid{grid-template-columns:1fr}.sp-hero{padding:110px 0 40px}.sp-hero .cta .qz-btn,.sp-cta .qz-btn{display:flex;justify-content:center;width:100%}}
@media(min-width:861px){.qz-ct .grid{grid-template-columns:1.2fr 1fr 1fr 1fr}}
@media(min-width:861px) and (max-width:1060px){.qz-ct .grid{grid-template-columns:1fr 1fr}}
.sp-crumb a{display:inline-block;padding:10px 2px}
.qz-nav .dd{display:inline-flex;align-items:center}

/* shield photo flip (replaces zoom-out collage) */
.qc{background:#060807;padding:clamp(56px,9vw,110px) 18px;text-align:center;overflow:hidden}
.qc .cap{margin:0 0 clamp(26px,4vw,44px);font:900 clamp(30px,5vw,56px)/1.05 Montserrat,Arial,sans-serif;color:#fff}
.qc .cap em{font-style:normal;color:#39d353}
.qsf{position:relative;width:min(420px,80vw);aspect-ratio:250/360;margin:0 auto;perspective:1400px;transform:scale(.86);opacity:.3;transition:transform 1s cubic-bezier(.2,.8,.25,1),opacity .9s}
.qsf.vin{transform:none;opacity:1}
.qsf svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.qsf .bk{filter:drop-shadow(0 22px 40px rgba(0,0,0,.6)) drop-shadow(0 0 30px rgba(57,211,83,.32))}
.qsf .clp{position:absolute;inset:0;perspective:1400px;clip-path:polygon(.8% 0,99.2% 0,99.2% 75.56%,50% 99.17%,.8% 75.56%)}
.qsf .cd{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.45,.05,.25,1)}
.qsf .f{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;clip-path:polygon(.8% 0,99.2% 0,99.2% 75.56%,50% 99.17%,.8% 75.56%)}
.qsf .f.b{transform:rotateY(180deg)}
.qsf .f img{width:100%;height:100%;object-fit:cover;display:block}
.qsf .ol{pointer-events:none}
.qsf.rm .cd{transform:none!important;transition:none}.qsf.rm .f{transition:opacity .8s}.qsf.rm .f.b{transform:none}
.qc .dots{display:flex;gap:8px;justify-content:center;margin-top:22px}
.qc .dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s,transform .3s}
.qc .dots i.on{background:#39d353;transform:scale(1.3)}
@media(prefers-reduced-motion:reduce){.qsf{transform:none;opacity:1;transition:none}}
.qz-full .qsf{transform:none;opacity:1}
/* stats row on its own (moved out of brands strip) */
.qst{background:#060807;padding:clamp(56px,8vw,96px) 0 clamp(40px,6vw,72px)}
.qst .qs{margin-top:0}
/* section job-photo backgrounds */
[data-bg]{position:relative;isolation:isolate}
[data-bg]>.sbg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity 1.1s ease,transform 1.6s ease;transform:scale(1.04)}
[data-bg]>.sbg.on{opacity:1;transform:none}
@media(min-width:861px) and (hover:hover){[data-bg]>.sbg{background-attachment:fixed}}
@media(prefers-reduced-motion:reduce){[data-bg]>.sbg{transition:none;transform:none}}
.qz-hero[data-bg] .bgv{display:none}
.qbig[data-bg] .st{z-index:0}
/* hero video background (closed-cell) */
[data-bg]>.hv,[data-bg]>.hv-ov{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
[data-bg]>.hv{object-fit:cover}
[data-bg]>.hv-ov{background:linear-gradient(180deg,rgba(5,8,6,.72) 0%,rgba(5,8,6,.52) 45%,rgba(5,8,6,.78) 100%)}
@media(max-width:860px),(prefers-reduced-motion:reduce){[data-bg]>.hv,[data-bg]>.hv-ov{display:none}}
.sp-hero>.hv{object-position:center 30%}
/* 2026-10-28 centered pill nav + left rail */
@media(min-width:1061px){.qz-hd{justify-content:space-between}.qz-nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;align-items:center;gap:20px;padding:9px 22px;border-radius:999px;background:rgba(10,14,11,.6);border:1px solid rgba(57,211,83,.28);backdrop-filter:blur(12px);box-shadow:0 6px 24px #0006,inset 0 1px 0 #ffffff0d;white-space:nowrap}.qz-hd .qz-ph{margin-left:auto}}
.qz-nav .dd .menu{left:50%;transform:translateX(-50%)}
.qz-rail{position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 8px;border-radius:18px;background:rgba(10,14,11,.72);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px);box-shadow:0 10px 30px #0008}
.qz-rail .qg{position:static;transform:none;background:none;border:0;box-shadow:none;padding:4px 2px;backdrop-filter:none;opacity:1}
.qz-rail .soc{display:flex;flex-direction:column;gap:7px;padding-top:8px;border-top:1px solid #ffffff1a}
.qz-rail .soc a{width:30px;height:30px;background:#fff;color:#111;border:0}.qz-rail .soc a:hover{background:var(--g2);color:#06110a}.qz-rail .soc svg{width:15px;height:15px}
@media(max-width:860px){.qz-rail{top:auto;bottom:10px;left:10px;transform:none;padding:0;border-radius:99px;flex-direction:row}.qz-rail .soc{display:none}.qz-rail .qg{flex-direction:row;padding:5px 10px 5px 5px;gap:6px}}
/* crop-fix 2026-10-28: bg videos pinned to the viewport (js/sbg.js .pin) so each frame shows at ~1280x800 instead of being cover-cropped to the full (tall) section; no fixed-attachment parallax drift on people photos */
[data-bg]>.hv.pin{height:100vh;bottom:auto;will-change:transform}
.qz-hero>.hv{object-position:center 30%!important}
#services>.hv{object-position:center 25%}
#builders>.hv{object-position:center 30%}
#reviews>.sbg{background-position:center 40%}
