/* Speechley Plumbing — shared styles (Premium minimal) */
:root{--bg:#141719;--bg-2:#1b1f22;--bg-3:#111416;--panel:#1b1f22;
--line:rgba(244,242,238,.13);--line-2:rgba(244,242,238,.26);--text:#f4f2ee;--muted:#a9adaf;--dim:#80868a;
--cu:#c8885a;--cu-hi:#d89d72;--off:#f4f2ee;
--head:"Manrope",system-ui,sans-serif;--body:"Inter",system-ui,sans-serif;--mono:"Space Mono",ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}ul{list-style:none}img,svg{display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.narrow{max-width:760px;margin:0 auto}
h1,h2,h3,h4{font-family:var(--head);font-weight:500;letter-spacing:-.045em;line-height:1.05}
.skip{position:absolute;left:-999px;top:8px;background:var(--off);color:#151719;padding:10px 16px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--cu-hi);outline-offset:3px}
.label{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cu);display:flex;align-items:center;gap:14px}
.label::before{content:"";width:24px;height:1px;background:currentColor;flex:none}
.center .label{justify-content:center}.center .label::after{content:"";width:24px;height:1px;background:currentColor}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.cu{color:var(--cu)}
.ph{font-family:var(--mono);font-size:.86em;color:var(--cu-hi);border:1px dashed rgba(200,136,90,.5);padding:0 6px}
.muted{color:var(--muted)}
.center{text-align:center}

/* buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--off);color:#151719;font-family:var(--head);font-weight:600;font-size:15px;padding:14px 24px;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}
.btn:hover{background:#fff;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--cu)}
.btn svg{width:17px;height:17px}
.lk{display:inline-flex;align-items:center;min-height:44px;font-family:var(--head);font-weight:500;font-size:15px;position:relative}
.lk::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:1px;background:var(--cu);transition:transform .25s;transform-origin:left}
.lk:hover{color:var(--cu-hi)}
.ctas{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* header */
.top{position:relative;z-index:30}
.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:26px;padding-bottom:26px;gap:20px}
.brand{display:inline-flex;flex-direction:column;justify-content:center;line-height:1;min-height:44px}
.brand b{font-family:var(--head);font-weight:800;font-size:19px;letter-spacing:-.04em}
.brand span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--cu);margin-top:5px}
.nav{display:flex;align-items:center;gap:34px}
.nav ul{display:flex;gap:30px}
.nav ul a{display:inline-flex;align-items:center;min-height:44px;font-family:var(--head);font-weight:500;font-size:15px;opacity:.72;position:relative;transition:opacity .2s}
.nav ul a:hover{opacity:1}
.nav ul a[aria-current=page]{opacity:1}
.nav ul a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--cu)}
.nav .call{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--head);font-weight:600;font-size:15px}
.nav .call svg{width:16px;height:16px;color:var(--cu)}
.menu-btn{display:none;width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line-2);color:var(--text);cursor:pointer}
.menu-btn span{display:block;width:18px;height:1px;background:currentColor;position:relative;transition:background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:18px;height:1px;background:currentColor;transition:transform .25s}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.menu-btn[aria-expanded=true] span{background:transparent}
.menu-btn[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}
.hair{height:1px;background:linear-gradient(90deg,transparent,rgba(200,136,90,.6),transparent)}

/* hero */
.hero{padding:150px 0 170px}
.hero h1{font-size:92px;letter-spacing:-.055em;line-height:1;margin:40px auto 34px;max-width:12ch}
.hero h1 span{color:var(--cu)}
.hero p.lead{font-size:19px;color:var(--muted);max-width:44ch;margin:0 auto}
.hero .ctas{margin-top:52px}
.phero{padding:120px 0 110px}
.phero h1{font-size:68px;margin:34px auto 26px;max-width:14ch}
.phero p.lead{font-size:18.5px;color:var(--muted);max-width:46ch;margin:0 auto}

/* sections */
.sec{padding:150px 0}
.sec.tight{padding:110px 0}
.sec.alt{background:var(--bg-3)}
h2{font-size:48px;margin:28px 0 18px}
.split{display:grid;grid-template-columns:1fr 1.4fr;gap:100px}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;padding:90px 0;text-align:center}
.trust svg{width:28px;height:28px;color:var(--cu);margin:0 auto 18px}
.trust b{font-family:var(--head);font-weight:600;display:block;font-size:17px}.trust span{color:var(--muted);font-size:14.5px}
.list li{display:grid;grid-template-columns:44px 1fr auto;gap:10px;padding:32px 0;border-bottom:1px solid var(--line);align-items:start}
.list li:first-child{border-top:1px solid var(--line)}
.list .n{font-family:var(--mono);font-size:11px;color:var(--cu);padding-top:7px}
.list h3{font-size:22px;margin-bottom:6px}.list p{color:var(--muted);font-size:15px}
.list li{position:relative}.list h3 a::after{content:"";position:absolute;inset:0}.list h3 a:focus-visible{outline:none}.list li:focus-within{outline:2px solid var(--cu-hi);outline-offset:4px}
.list .ar{color:var(--dim);padding-top:4px;transition:color .2s,transform .2s}
.list li:hover .ar{color:var(--cu);transform:translate(2px,-2px)}
.more{margin-top:36px}

.why{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.why div{padding:40px 40px 40px 0;border-bottom:1px solid var(--line)}
.why div:nth-child(even){padding:40px 0 40px 40px;border-left:1px solid var(--line)}
.why h3{font-size:21px;margin-bottom:8px}.why p{color:var(--muted);font-size:15px}

.card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.card .img{background:var(--bg-2);display:grid;place-items:center;min-height:340px;position:relative;color:var(--cu)}
.card .img svg{width:64px;opacity:.9}
.card .img .tag{position:absolute;bottom:18px;left:22px}
.card .txt{padding:56px;display:flex;flex-direction:column;justify-content:center}
.card h3{font-size:32px;margin:26px 0 14px}.card p{color:var(--muted);max-width:40ch}
.card p+p{margin-top:12px}
.card .lk{margin-top:22px;align-self:flex-start}

.qs{display:grid;grid-template-columns:repeat(3,1fr);gap:56px;margin-top:80px}
.qs figure{text-align:center}
.qs figure::before{content:"";display:block;width:1px;height:40px;background:var(--cu);margin:0 auto 30px}
.qs p{font-size:17px;line-height:1.7;color:#e6e5e1}.qs figcaption{margin-top:22px;color:var(--dim)}
.score{color:var(--muted)}.score b{color:var(--text);font-family:var(--head);font-weight:600}

.cta-band{padding:130px 0;text-align:center}
.cta-band h2{font-size:52px;margin:26px auto 18px;max-width:16ch}
.cta-band p{color:var(--muted);max-width:44ch;margin:0 auto 40px}

/* services page */
.svc{display:grid;grid-template-columns:1fr 1.4fr;gap:100px;padding:90px 0;border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc .n{font-family:var(--mono);font-size:11px;color:var(--cu);letter-spacing:.14em}
.svc h2{font-size:40px;margin:18px 0 0}
.svc p{color:var(--muted);margin-bottom:22px;max-width:52ch}
.ticks li{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.ticks li:first-child{border-top:1px solid var(--line)}
.ticks svg{width:16px;height:16px;color:var(--cu);flex:none;margin-top:5px}
.reassure{border:1px solid var(--line);padding:46px;text-align:center}
.reassure h3{font-size:34px;margin:22px 0 10px}

/* faqs */
.faq-group{margin-top:90px}
.faq-group:first-child{margin-top:0}
.faq-group h2{font-size:34px;margin:22px 0 26px}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:18px 0;font-family:var(--head);font-weight:500;font-size:18.5px;letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:12px;height:12px;flex:none;background:linear-gradient(var(--cu),var(--cu)) center/12px 1px no-repeat,linear-gradient(var(--cu),var(--cu)) center/1px 12px no-repeat;transition:transform .25s}
details[open] summary::after{transform:rotate(45deg)}
summary:hover{color:var(--cu-hi)}
details .a{padding:0 40px 26px 0;color:var(--muted);max-width:68ch}
details .a p+p{margin-top:10px}

/* contact */
.callbox{border:1px solid var(--line);padding:48px;text-align:center}
.callbox .big{display:inline-flex;align-items:center;gap:14px;font-family:var(--head);font-weight:500;font-size:40px;letter-spacing:-.04em;min-height:56px;margin:22px 0 8px}
.callbox .big svg{width:28px;height:28px;color:var(--cu)}
.callbox .big:hover{color:var(--cu-hi)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:60px}
.facts div{padding:28px 28px 28px 0}.facts div+div{padding-left:28px;border-left:1px solid var(--line)}
.facts dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.areas{display:flex;flex-wrap:wrap;gap:8px}
.areas li{border:1px solid var(--line-2);padding:8px 14px;font-size:14.5px;font-family:var(--head)}
.map{min-height:300px;border:1px solid var(--line);display:grid;place-items:center;text-align:center;color:var(--muted);
background:repeating-linear-gradient(0deg,transparent 0 47px,rgba(244,242,238,.04) 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(244,242,238,.04) 47px 48px)}
.map svg{width:30px;height:30px;color:var(--cu);margin:0 auto 10px}

/* form */
form.q{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.f{display:flex;flex-direction:column;gap:6px}.f.full{grid-column:1/-1}
.f label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.f input,.f textarea{font:inherit;color:var(--text);background:transparent;border:0;border-bottom:1px solid var(--line-2);padding:12px 0;min-height:48px;outline:none;border-radius:0;transition:border-color .2s}
.f input::placeholder,.f textarea::placeholder{color:#62686c}
.f input:focus,.f textarea:focus{border-color:var(--cu)}
.f input:focus-visible,.f textarea:focus-visible{outline:none;border-bottom:2px solid var(--cu-hi)}
.f textarea{min-height:110px;resize:vertical}
form.q .btn{justify-self:start}.note{grid-column:1/-1;font-size:13px;color:var(--dim)}

/* footer */
.foot{border-top:1px solid var(--line);padding:70px 0 50px}
.foot .g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.foot h4{font-family:var(--mono);font-weight:400;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:14px}
.foot li a,.foot li span{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:14.5px}
.foot li a:hover{color:var(--text)}
.foot p{color:var(--muted);font-size:14.5px;max-width:34ch;margin-top:16px}
.foot .base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);color:var(--dim)}

@media(max-width:900px){
.split,.card,.svc{grid-template-columns:1fr;gap:44px}.card{gap:0}
.qs,.trust{grid-template-columns:1fr;gap:56px}
.why{grid-template-columns:1fr}.why div,.why div:nth-child(even){padding:30px 0;border-left:0}
.foot .g{grid-template-columns:1fr 1fr}.foot .g>div:first-child{grid-column:1/-1}
.facts{grid-template-columns:1fr}.facts div,.facts div+div{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}
}
@media(max-width:820px){
.menu-btn{display:inline-flex}
.nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 24px;display:none}
.nav.open{display:flex}
.nav ul{flex-direction:column;gap:0}
.nav ul a{display:flex;min-height:52px;border-bottom:1px solid var(--line);font-size:17px;opacity:.85}
.nav ul a[aria-current=page]{color:var(--cu-hi)}
.nav ul a[aria-current=page]::after{display:none}
.nav .call{margin-top:14px}
.nav .btn{margin-top:10px}
}
@media(max-width:720px){
.wrap{padding:0 20px}
.top .wrap{padding-top:18px;padding-bottom:18px}
.hero{padding:90px 0 100px}.hero h1{font-size:50px}.hero p.lead{font-size:17px}
.hero .ctas,.cta-band .ctas{flex-direction:column;align-items:stretch}
.phero{padding:70px 0 70px}.phero h1{font-size:44px}.phero p.lead{font-size:16.5px}
.sec{padding:90px 0}.sec.tight{padding:70px 0}
h2{font-size:36px}.svc{padding:60px 0;gap:24px}.svc h2{font-size:32px}
.trust{padding:64px 0;gap:44px}
.card .img{min-height:220px}.card .txt{padding:34px 24px}.card h3{font-size:28px}
.qs{margin-top:56px}
.cta-band{padding:90px 0}.cta-band h2{font-size:38px}
.reassure{padding:34px 22px}.reassure h3{font-size:28px}
.faq-group{margin-top:64px}.faq-group h2{font-size:28px}summary{font-size:17px}details .a{padding-right:0}
.callbox{padding:34px 20px}.callbox .big{font-size:28px}
form.q{grid-template-columns:1fr}
.foot .g{grid-template-columns:1fr}
}

/* 4-up trust strip */
.trust{grid-template-columns:repeat(4,1fr);gap:40px}
@media(max-width:900px){.trust{grid-template-columns:1fr 1fr;gap:48px 24px}}
@media(max-width:520px){.trust{grid-template-columns:1fr}}

/* photo upload */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ul-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.drop{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:76px;padding:16px 20px;border:1px dashed var(--line-2);cursor:pointer;transition:border-color .2s,background .2s;margin-top:4px}
.drop:hover{border-color:var(--cu);background:rgba(244,242,238,.02)}
.drop svg{width:24px;height:24px;color:var(--cu)}
.drop .dt b{display:block;font-family:var(--head);font-weight:600;font-size:15px;color:var(--text)}
.drop .dt span{font-size:14px;color:var(--muted)}
.drop .fn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:right}
.upl input:focus-visible+.drop,.upl:focus-within .drop{border-color:var(--cu-hi);outline:2px solid var(--cu-hi);outline-offset:3px}
@media(max-width:520px){.drop{grid-template-columns:auto 1fr}.drop .fn{grid-column:1/-1;text-align:left}}
.f label.drop{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:15px;color:var(--text)}
.f label.drop .fn{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}
.facts{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.facts{grid-template-columns:1fr}}

/* ============ Depth & warmth pass (Oct 2026) ============ */
:root{--cu:#cf8d5c;--cu-hi:#e2a878;--cu-deep:#9a6038;--steel:#8d979e;--g1:#171a1d;--g2:#1c2024;--g3:#22272b;
--cu-grad:linear-gradient(135deg,#e6ad7e 0%,#cf8d5c 45%,#a8693f 100%);
--steel-line:linear-gradient(90deg,rgba(141,151,158,0),rgba(141,151,158,.35),rgba(141,151,158,0))}
body{background:radial-gradient(1200px 600px at 50% -200px,rgba(207,141,92,.08),transparent 70%),var(--bg)}
/* fine grain over everything */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.07;mix-blend-mode:overlay;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main,.top,.foot{position:relative;z-index:2}

/* header: glassy graphite with a copper hairline */
.top{background:linear-gradient(180deg,rgba(23,26,29,.92),rgba(20,23,25,.75));border-bottom:1px solid transparent;
border-image:linear-gradient(90deg,transparent,rgba(207,141,92,.35),transparent) 1}
.brand b{background:linear-gradient(180deg,#fff,#d9d6d0);-webkit-background-clip:text;background-clip:text;color:transparent}

/* headings: stronger hierarchy */
h1,h2{color:#faf8f4}
h2{font-weight:500;text-shadow:0 1px 0 rgba(0,0,0,.4)}
.hero h1 span,.cu{background:var(--cu-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.label{color:var(--cu-hi)}
.label::before,.center .label::after{background:var(--cu-grad);height:1px}
.muted,.hero p.lead,.phero p.lead{color:#b4b8ba}

/* hero: vignette + warm glow + pipe motif */
.hero,.phero{position:relative;overflow:hidden;isolation:isolate;
background:
 radial-gradient(700px 380px at 50% 40%,rgba(207,141,92,.13),transparent 70%),
 radial-gradient(900px 500px at 50% 120%,rgba(141,151,158,.07),transparent 70%),
 linear-gradient(180deg,#191c1f 0%,#141719 100%)}
.hero::after,.phero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.45) 100%)}
.pipes{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero .wrap,.phero .wrap{position:relative}

/* buttons: warm off-white with depth, copper glow on hover */
.btn{background:linear-gradient(180deg,#fbf9f5,#e7e2da);color:#16181a;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 24px -12px rgba(0,0,0,.8);transition:background .25s,box-shadow .25s,transform .2s,border-color .25s,color .25s}
.btn:hover{background:linear-gradient(180deg,#fff,#efe9e0);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 0 0 1px rgba(207,141,92,.55),0 12px 34px -10px rgba(207,141,92,.45)}
.btn.ghost{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));color:var(--text);border-color:rgba(207,141,92,.38);box-shadow:none}
.btn.ghost:hover{border-color:var(--cu-hi);color:#fff;box-shadow:0 0 0 1px rgba(207,141,92,.25),0 10px 30px -12px rgba(207,141,92,.5)}
.btn.ghost svg{color:var(--cu-hi)}
.lk::after{background:var(--cu-grad);height:1px}
.nav ul a[aria-current=page]::after{background:var(--cu-grad)}

/* copper dividers */
.hair{height:1px;background:linear-gradient(90deg,transparent,rgba(226,168,120,.75) 50%,transparent);box-shadow:0 0 18px rgba(207,141,92,.35);position:relative;z-index:2}

/* alternating graphite sections with brushed-steel sheen */
.sec{position:relative}
.sec.alt{background:
 linear-gradient(180deg,rgba(255,255,255,.015),transparent 40%),
 repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),
 linear-gradient(180deg,var(--g3),var(--g2));
 border-top:1px solid rgba(141,151,158,.12);border-bottom:1px solid rgba(141,151,158,.12)}
.sec.alt::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(207,141,92,.4),transparent)}

/* trust strip: icons in copper rings */
.trust svg{width:46px;height:46px;padding:11px;border-radius:50%;color:var(--cu-hi);
background:radial-gradient(circle at 30% 25%,rgba(226,168,120,.18),rgba(207,141,92,.04) 70%);
box-shadow:0 0 0 1px rgba(207,141,92,.35) inset,0 8px 24px -10px rgba(207,141,92,.45)}
.trust b{color:#faf8f4}

/* list rows: copper index + hover lift */
.list li{transition:background .25s}
.list li:hover{background:linear-gradient(90deg,rgba(207,141,92,.06),transparent 70%)}
.list .n,.svc .n{color:var(--cu-hi)}
.list li:first-child,.ticks li:first-child{border-top-color:rgba(207,141,92,.35)}

/* cards: layered panels with steel/copper edge */
.card,.reassure,.callbox,.map{position:relative;border:1px solid rgba(141,151,158,.18);
background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,0) 40%),linear-gradient(180deg,#1d2125,#181b1e);
box-shadow:0 30px 60px -30px rgba(0,0,0,.8),0 1px 0 rgba(255,255,255,.04) inset}
.card::before,.reassure::before,.callbox::before{content:"";position:absolute;left:24px;right:24px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(226,168,120,.8),transparent)}
.card .img{background:radial-gradient(circle at 50% 45%,rgba(207,141,92,.16),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.018) 0 2px,transparent 2px 14px),#1a1e21}
.card .img svg{filter:drop-shadow(0 0 18px rgba(207,141,92,.45))}
.callbox .big svg{filter:drop-shadow(0 0 10px rgba(207,141,92,.5))}
.map{background:radial-gradient(circle at 50% 50%,rgba(207,141,92,.1),transparent 55%),repeating-linear-gradient(0deg,transparent 0 47px,rgba(141,151,158,.07) 47px 48px),repeating-linear-gradient(90deg,transparent 0 47px,rgba(141,151,158,.07) 47px 48px),#181b1e}

/* why grid */
.why{border-top-color:rgba(207,141,92,.35)}
.why h3{color:#faf8f4}

/* reviews: copper quote rule with glow */
.qs figure::before{background:linear-gradient(180deg,transparent,var(--cu-hi));box-shadow:0 0 12px rgba(207,141,92,.6)}
.qs figure{padding:30px 22px;border-radius:2px;transition:background .3s}
.qs figure:hover{background:rgba(255,255,255,.02)}
.score b{background:var(--cu-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* CTA band: warm spotlight */
.cta-band{position:relative;overflow:hidden;background:radial-gradient(600px 300px at 50% 50%,rgba(207,141,92,.12),transparent 70%),linear-gradient(180deg,#15181a,#1a1d20)}

/* FAQ */
details{transition:background .25s}
details[open]{background:linear-gradient(90deg,rgba(207,141,92,.05),transparent 70%)}
details[open] summary{color:#fff}
summary::after{filter:drop-shadow(0 0 4px rgba(207,141,92,.6))}

/* contact facts & form */
.facts{border-top-color:rgba(207,141,92,.35)}
.drop{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.drop:hover{box-shadow:0 0 0 1px rgba(207,141,92,.3),0 10px 30px -14px rgba(207,141,92,.5)}
.f input:focus,.f textarea:focus{box-shadow:0 8px 16px -14px rgba(207,141,92,.9)}

/* footer */
.foot{background:linear-gradient(180deg,#121517,#0e1012);border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(207,141,92,.4),transparent) 1}

@media(max-width:720px){.pipes{opacity:.55}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ============ Editable photos & job gallery (only used once photos are added) ============ */
.card .img.has-photo{overflow:hidden}
.card .img.has-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.map.has-img{display:block;overflow:hidden;padding:0;min-height:0}
.map.has-img img{width:100%;height:360px;object-fit:cover}
@media(max-width:720px){.map.has-img img{height:260px}}
.gallery-sec{padding-top:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.gallery figure{border:1px solid rgba(141,151,158,.18);background:#181b1e;overflow:hidden}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:14px 18px;color:var(--muted);font-size:14.5px}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}}
