@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;1,700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&display=swap');
:root{--slate:#29343b;--steel:#46545c;--red:#b54e3c;--concrete:#e9e7e1;--white:#fff;--graphite:#20282d;--line:#c9cbc7;--mist:#f4f3ef;--shadow:0 24px 70px rgba(32,40,45,.14);--serif:'Barlow Condensed',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--concrete)}body{margin:0;background:var(--concrete);color:var(--graphite);font-family:var(--sans);font-size:16px;line-height:1.65;min-width:320px}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit}button,input,textarea{font:inherit}.site-header{background:var(--slate);color:var(--white);position:relative;z-index:20}.header-shell{width:min(1440px,100%);margin:0 auto;padding:18px clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.05;min-width:250px}.brand-logo-wrap{display:block;background:var(--white);padding:6px 10px;width:250px;height:58px}.brand-logo{width:100%;height:100%;object-fit:contain;object-position:left center}.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden}.brand-mark img{object-fit:contain;padding:5px}.brand strong{display:block;font-family:var(--serif);font-size:1.55rem;letter-spacing:.035em;text-transform:uppercase}.brand small{display:block;margin-top:5px;font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;opacity:.76}.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex:1}.main-nav>a,.main-nav summary{color:rgba(255,255,255,.84);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700;text-decoration:none;cursor:pointer;list-style:none;white-space:nowrap}.main-nav summary::-webkit-details-marker{display:none}.main-nav a:hover,.main-nav summary:hover{color:var(--white)}.main-nav details{position:relative}.nav-panel{position:absolute;top:30px;left:-16px;background:var(--white);color:var(--graphite);box-shadow:var(--shadow);border-top:4px solid var(--red);min-width:248px;padding:10px;display:grid;z-index:100}.nav-panel.locations{grid-template-columns:1fr 1fr;min-width:450px}.nav-panel a{padding:9px 10px;color:var(--steel);font-size:.78rem!important;letter-spacing:0!important;text-transform:none!important}.nav-panel a:hover{color:var(--red)}.header-call{font-size:.74rem!important;letter-spacing:.02em!important;text-transform:none!important;padding-left:7px}.nav-toggle{display:none;background:none;border:0;padding:4px;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;background:var(--white);margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;padding:14px 20px;min-height:48px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}.button:hover{transform:translateY(-2px)}.button-red{background:var(--red);color:var(--white)}.button-red:hover{background:#993d30}.button-light{background:var(--white);color:var(--slate);border-color:var(--white)}.button-quiet{background:transparent;color:var(--slate);border-color:var(--line)}.header-cta{padding:11px 14px;min-height:39px}.hero{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(400px,.97fr);min-height:620px;background:var(--slate);color:var(--white);position:relative;overflow:hidden}.hero::before{content:"";position:absolute;left:0;top:0;width:54%;height:100%;background:linear-gradient(125deg,rgba(70,84,92,.68),transparent 52%);clip-path:polygon(0 0,100% 0,77% 100%,0 100%)}.hero-content{align-self:center;max-width:675px;padding:clamp(64px,8vw,128px) clamp(20px,7vw,126px);position:relative;z-index:1}.eyebrow{font-size:.66rem;line-height:1.25;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:var(--red);margin:0 0 18px;display:flex;gap:10px;align-items:center}.eyebrow span{display:block;width:25px;height:2px;background:currentColor}.hero .eyebrow{color:#f3b8ac}.hero h1{font-family:var(--serif);font-size:clamp(3.25rem,6.5vw,7rem);line-height:.88;letter-spacing:-.035em;text-transform:uppercase;margin:0;max-width:720px}.hero h1 em{color:#f3b8ac;font-style:italic}.hero-lead{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.65;max-width:580px;margin:30px 0}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.inline-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor}.hero-note{font-size:.7rem;letter-spacing:.05em;color:rgba(255,255,255,.66);margin:38px 0 0}.hero-media{position:relative;min-height:460px}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(41,52,59,.45),transparent 50%)}.hero-image{margin:0}.image-stamp{position:absolute;right:0;bottom:0;background:var(--red);color:var(--white);padding:18px 26px;text-transform:uppercase;font-size:.68rem;letter-spacing:.13em;line-height:1.4;z-index:2}.reading-band{display:grid;grid-template-columns:minmax(150px,.25fr) minmax(0,.75fr);gap:clamp(30px,8vw,150px);padding:clamp(84px,11vw,150px) max(20px,calc((100vw - 1270px)/2));background:var(--white)}.section-number{font-family:var(--serif);font-size:clamp(4rem,8vw,8rem);color:var(--concrete);line-height:.8;font-weight:700}.reading-copy{max-width:795px}.reading-copy h2,.condition-head h2,.service-cards h2,.area-main h2,.work-carousel h2,.process-strip h2,.faq-block h2,.final-cta h2,.estimate-intro h2,.contact-copy h2{font-family:var(--serif);font-size:clamp(2.55rem,4.4vw,4.8rem);line-height:.92;letter-spacing:-.025em;text-transform:uppercase;margin:0 0 26px}.reading-copy p{margin:0 0 20px;max-width:710px}.condition-section{padding:clamp(70px,9vw,130px) max(20px,calc((100vw - 1270px)/2));background:var(--concrete)}.condition-head{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,.3fr);gap:70px;align-items:end;margin-bottom:42px}.condition-head p{margin:0;max-width:420px}.condition-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.condition-pair article{background:var(--white)}.condition-image{height:380px;margin:0}.condition-pair article>div{padding:25px 28px 30px}.condition-pair h3{font-family:var(--serif);font-size:2rem;text-transform:uppercase;line-height:.95;margin:14px 0}.condition-pair p{font-size:.92rem;margin:0}.condition-label{display:inline-block;font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;padding:5px 8px;font-weight:700}.condition-label.problem{background:#e7d2cc;color:#7f2d21}.condition-label.resolved{background:#dce2d9;color:#324331}.work-carousel{display:grid;grid-template-columns:.76fr 1.24fr;gap:clamp(42px,8vw,120px);padding:clamp(80px,10vw,140px) max(20px,calc((100vw - 1270px)/2));background:var(--slate);color:var(--white)}.carousel-copy{align-self:center}.carousel-copy .eyebrow{color:#f3b8ac}.carousel-copy p{max-width:380px}.carousel-controls{display:flex;align-items:center;gap:14px;margin-top:32px}.carousel-controls button{border:1px solid rgba(255,255,255,.45);color:var(--white);background:transparent;width:40px;height:40px;cursor:pointer;font-size:1.2rem}.carousel-controls button:hover{background:var(--red);border-color:var(--red)}.carousel-controls span{font-size:.72rem;letter-spacing:.1em}.carousel-track{position:relative;min-height:460px}.carousel-track article{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(12px);transition:opacity .35s ease,transform .35s ease}.carousel-track article.is-active{opacity:1;transform:none;pointer-events:auto}.carousel-image{height:420px;margin:0}.carousel-track p{margin:0;background:var(--red);display:inline-block;padding:10px 16px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.service-cards{padding:clamp(78px,10vw,140px) max(20px,calc((100vw - 1270px)/2));background:var(--white)}.service-cards header{max-width:720px;margin-bottom:48px}.service-cards header>p:last-child{max-width:600px}.service-card-list{border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .2s ease,color .2s ease}.service-card:hover{padding-left:20px;color:var(--red)}.card-index{font-family:var(--serif);font-size:2rem;color:var(--red);font-weight:700}.service-card p{margin:0;color:var(--steel);font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.service-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.5rem);line-height:.9;text-transform:uppercase;margin:8px 0}.service-card span:last-child{font-size:.76rem;font-weight:700}.service-card b{margin-left:8px}.area-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(45px,9vw,160px);padding:clamp(76px,10vw,140px) max(20px,calc((100vw - 1270px)/2));background:var(--concrete)}.area-main p{max-width:530px}.area-list{border-top:1px solid var(--steel)}.area-list a{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:16px 0;border-bottom:1px solid rgba(70,84,92,.5);text-decoration:none;align-items:center}.area-list b{font-size:.72rem;color:var(--red);letter-spacing:.08em}.area-list span{font-family:var(--serif);font-size:1.6rem;text-transform:uppercase;line-height:1}.area-list i{font-style:normal;color:var(--red)}.process-strip{padding:clamp(70px,9vw,130px) max(20px,calc((100vw - 1270px)/2));background:var(--steel);color:var(--white);display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.process-strip .eyebrow{color:#f3b8ac}.process-strip ol{display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:0;margin:0;list-style:none;background:rgba(255,255,255,.2)}.process-strip li{background:var(--steel);padding:26px;min-height:160px}.process-strip li b{font-family:var(--serif);font-size:2rem;color:#f3b8ac;display:block}.process-strip li strong{display:block;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin:8px 0}.process-strip li span{display:block;font-size:.85rem;line-height:1.45;color:rgba(255,255,255,.78)}.faq-block{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding:clamp(78px,10vw,140px) max(20px,calc((100vw - 1270px)/2));background:var(--white)}.faq-block>div{border-top:1px solid var(--line)}.faq-block details{border-bottom:1px solid var(--line);padding:0}.faq-block summary{cursor:pointer;list-style:none;display:flex;gap:20px;justify-content:space-between;padding:19px 0;font-weight:700;line-height:1.4}.faq-block summary::-webkit-details-marker{display:none}.faq-block summary span{color:var(--red);font-size:1.5rem;line-height:.8}.faq-block details[open] summary span{transform:rotate(45deg)}.faq-block details p{margin:0;padding:0 28px 22px 0;max-width:720px;font-size:.92rem}.final-cta{display:flex;justify-content:space-between;gap:45px;align-items:center;padding:clamp(60px,8vw,110px) max(20px,calc((100vw - 1270px)/2));background:var(--red);color:var(--white)}.final-cta .eyebrow{color:#f9d0c9}.final-cta h2{max-width:750px;margin-bottom:18px}.final-cta p{max-width:570px;margin:0}.final-cta>div:last-child{display:grid;gap:12px;min-width:210px}.site-footer{background:var(--graphite);color:rgba(255,255,255,.76);padding:60px max(20px,calc((100vw - 1270px)/2)) 24px}.footer-grid{display:grid;grid-template-columns:1.45fr .8fr .95fr .8fr;gap:40px}.site-footer .brand{color:var(--white);margin-bottom:18px}.site-footer .brand-logo-wrap{width:260px;height:62px}.footer-brand p{max-width:350px;font-size:.85rem;line-height:1.6}.footer-phone{color:var(--white);font-family:var(--serif);font-size:2rem;text-decoration:none}.footer-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.14em;color:#f3b8ac;margin:6px 0 14px!important;font-weight:700}.site-footer a:not(.brand){display:block;text-decoration:none;font-size:.82rem;margin:0 0 9px}.site-footer a:hover{color:var(--white)}.footer-base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);margin-top:48px;padding-top:18px;font-size:.68rem;letter-spacing:.04em}.text-button{border:0;background:0;color:#fff;font:inherit;cursor:pointer;text-decoration:underline}.callback-modal{background:rgba(32,40,45,.6);border:0;padding:20px;max-width:none;width:100%;height:100%;margin:0}.callback-modal::backdrop{background:rgba(32,40,45,.68)}.callback-card{position:relative;width:min(460px,100%);margin:10vh auto 0;background:var(--white);padding:38px;box-shadow:var(--shadow)}.callback-card h2{font-family:var(--serif);font-size:3rem;line-height:.9;text-transform:uppercase;margin:0 0 14px}.callback-card p{font-size:.91rem}.callback-card label,.contact-form label{display:grid;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:16px 0}.callback-card input,.contact-form input,.contact-form textarea{border:1px solid var(--line);padding:12px;color:var(--graphite);background:var(--white)}.modal-close{position:absolute;right:12px;top:8px;border:0;background:0;font-size:1.8rem;color:var(--steel);cursor:pointer}.modal-phone{display:block;text-align:center;margin-top:16px;color:var(--steel);font-size:.82rem}.callback-status{padding:10px;background:#f7e5e1;color:#7f2d21}.callback-status.success{background:#dde9dc;color:#2d5730}.estimate-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,110px);padding:clamp(75px,10vw,140px) max(20px,calc((100vw - 1270px)/2));background:var(--white)}.estimate-intro{align-self:start;position:sticky;top:30px}.estimate-intro p{max-width:400px}.estimate-card{background:var(--mist);padding:clamp(24px,4vw,50px);border-top:5px solid var(--red)}.estimate-note{padding:clamp(70px,8vw,110px) max(20px,calc((100vw - 920px)/2));background:var(--concrete)}.estimate-note h2{font-family:var(--serif);font-size:3rem;line-height:.9;text-transform:uppercase}.estimate-note p{max-width:780px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,9vw,150px);padding:clamp(75px,10vw,140px) max(20px,calc((100vw - 1100px)/2));background:var(--white)}.contact-copy{align-self:start}.contact-copy a{color:var(--red);font-weight:700}.contact-form{background:var(--mist);padding:clamp(24px,4vw,48px);border-top:5px solid var(--red)}.contact-form h2{font-family:var(--serif);font-size:3rem;line-height:.9;text-transform:uppercase;margin:0 0 18px}.contact-after{display:grid;grid-template-columns:repeat(3,1fr);background:var(--slate);color:var(--white);padding:clamp(55px,7vw,90px) max(20px,calc((100vw - 1100px)/2));gap:2px}.contact-after>div{padding:22px;background:var(--slate)}.contact-after b{font-family:var(--serif);font-size:2.5rem;color:#f3b8ac}.contact-after h3{font-family:var(--serif);font-size:1.8rem;line-height:.95;text-transform:uppercase;margin:9px 0}.contact-after p{font-size:.88rem;color:rgba(255,255,255,.76);margin:0}.thankyou{display:grid;grid-template-columns:.6fr 1.4fr;min-height:calc(100vh - 260px);background:var(--concrete)}.thankyou-media{min-height:450px}.thankyou-image{height:100%;margin:0}.thankyou-report{padding:clamp(45px,7vw,100px);align-self:center}.legal-copy{padding:clamp(75px,10vw,140px) max(20px,calc((100vw - 900px)/2));background:var(--white)}.legal-copy .reading-copy{margin:0 auto}.honeypot{position:absolute;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field-error,.contact-status,.form-error{font-size:.82rem;color:#7f2d21;background:#f7e5e1;padding:10px}.contact-status.success{background:#dde9dc;color:#2d5730}@media(max-width:1040px){.main-nav{gap:13px}.header-call{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-content{padding-bottom:65px}.hero-media{min-height:360px}.hero-media::after{background:linear-gradient(0deg,rgba(41,52,59,.4),transparent 45%)}.condition-head,.work-carousel,.process-strip,.faq-block,.estimate-layout,.contact-layout{grid-template-columns:1fr}.condition-head{gap:18px}.work-carousel{gap:35px}.carousel-copy{max-width:650px}.process-strip{gap:35px}.faq-block{gap:30px}.estimate-intro{position:static}.footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:last-child{grid-column:span 2}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--slate);padding:22px 20px 28px;border-top:1px solid rgba(255,255,255,.15);align-items:stretch;gap:0}.main-nav.is-open{display:flex;flex-direction:column}.main-nav>a,.main-nav summary{padding:13px 0;width:100%}.main-nav details{width:100%}.nav-panel,.nav-panel.locations{position:static;min-width:0;grid-template-columns:1fr;margin:7px 0;background:#f8f8f8}.header-cta{margin-top:12px;text-align:center}.header-call{display:block}.reading-band{grid-template-columns:120px 1fr;gap:30px}.area-section{grid-template-columns:1fr}.contact-after{grid-template-columns:1fr}.thankyou{grid-template-columns:1fr}.thankyou-media{min-height:260px}.thankyou-report{padding-top:60px}}@media(max-width:620px){.header-shell{padding:14px 20px}.brand-logo-wrap{width:205px;height:48px;padding:5px 7px}.hero-content{padding:66px 20px 56px}.hero h1{font-size:3.7rem}.hero-lead{font-size:1rem}.hero-media{min-height:280px}.reading-band{padding:68px 20px;grid-template-columns:1fr;gap:15px}.section-number{font-size:4rem}.condition-section,.service-cards,.area-section,.work-carousel,.process-strip,.faq-block{padding-left:20px;padding-right:20px}.condition-pair{grid-template-columns:1fr}.condition-image{height:255px}.carousel-track{min-height:300px}.carousel-image{height:270px}.service-card{grid-template-columns:48px 1fr;gap:13px}.service-card h3{font-size:2.25rem}.area-list span{font-size:1.38rem}.process-strip ol{grid-template-columns:1fr}.faq-block{gap:16px}.faq-block h2,.reading-copy h2,.condition-head h2,.service-cards h2,.area-main h2,.work-carousel h2,.process-strip h2,.final-cta h2,.estimate-intro h2,.contact-copy h2{font-size:3rem}.final-cta{display:grid;padding-left:20px;padding-right:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:span 2}.footer-grid>div:last-child{grid-column:auto}.footer-base{display:grid}.callback-card{margin:5vh auto 0;padding:30px 22px}.estimate-layout,.contact-layout{padding-left:20px;padding-right:20px}.estimate-card{padding:22px 16px}.contact-form{padding:28px 20px}.contact-after{padding-left:20px;padding-right:20px}.hero-actions{gap:14px}.image-stamp{font-size:.56rem;padding:10px 14px}}

.field-notes{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(42px,9vw,145px);padding:clamp(76px,10vw,135px) max(20px,calc((100vw - 1120px)/2));background:var(--mist);border-top:1px solid var(--line)}.field-notes-title{align-self:start}.field-notes-title h2{font-family:var(--serif);font-size:clamp(2.5rem,4.2vw,4.4rem);line-height:.92;letter-spacing:-.025em;text-transform:uppercase;margin:0}.field-notes-copy p{margin:0 0 18px;max-width:700px}@media(max-width:1040px){.field-notes{grid-template-columns:1fr;gap:30px}}@media(max-width:620px){.field-notes{padding-left:20px;padding-right:20px}.field-notes-title h2{font-size:3rem}}


/* Service-provider refresh: simpler hierarchy, full-bleed hero, less editorial styling. */
.site-header{background:var(--white);color:var(--graphite);border-bottom:1px solid var(--line)}
.site-header .brand-logo-wrap{background:transparent;padding:0;width:250px;height:58px}
.site-header .brand-logo{object-position:left center}
.site-header .main-nav>a,.site-header .main-nav summary{color:var(--graphite)}
.site-header .main-nav>a:hover,.site-header .main-nav summary:hover{color:var(--red)}
.site-header .nav-toggle span{background:var(--graphite)}
.site-footer .brand-logo-wrap{background:var(--white);padding:6px 10px;width:260px;height:62px}
.hero{display:block;min-height:650px;background:var(--slate);position:relative}
.hero::before{inset:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(32,40,45,.92) 0%,rgba(32,40,45,.72) 42%,rgba(32,40,45,.25) 100%);clip-path:none;z-index:1}
.hero-media{position:absolute;inset:0;min-height:0}
.hero-image{position:absolute;inset:0}
.hero-media::after{background:transparent}
.hero-content{min-height:650px;max-width:760px;padding:clamp(80px,9vw,130px) clamp(20px,7vw,126px);display:flex;flex-direction:column;justify-content:center}
.hero h1{font-family:var(--sans);font-size:clamp(2.8rem,5.8vw,5.6rem);line-height:1.02;letter-spacing:-.04em;text-transform:none;font-weight:700}
.hero h1 em{font-style:normal;color:var(--white)}
.hero-lead{max-width:620px;margin:24px 0;font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.55}
.hero-note{margin-top:28px}
.image-stamp{z-index:3}
.reading-band{display:block;padding:clamp(70px,8vw,110px) max(20px,calc((100vw - 980px)/2))}
.section-number{display:none}
.reading-copy{max-width:860px}
.reading-copy h2,.condition-head h2,.service-cards h2,.area-main h2,.work-carousel h2,.process-strip h2,.faq-block h2,.final-cta h2,.estimate-intro h2,.contact-copy h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.1;letter-spacing:-.025em;text-transform:none;font-weight:700}
.reading-copy p{max-width:820px}
.condition-head{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}
.condition-pair{gap:24px}
.condition-pair h3,.service-card h3,.contact-after h3{font-family:var(--sans);font-size:1.45rem;line-height:1.15;text-transform:none;font-weight:700}
.work-carousel{background:var(--slate)}
.work-carousel h2{color:var(--white)}
.service-cards{padding-top:clamp(65px,8vw,105px);padding-bottom:clamp(65px,8vw,105px)}
.service-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border:0}
.service-card{display:block;padding:0;background:var(--white);border:1px solid var(--line);transition:transform .18s ease,box-shadow .18s ease,color .18s ease}
.service-card:hover{padding:0;transform:translateY(-3px);box-shadow:0 14px 32px rgba(32,40,45,.12)}
.service-card-image{height:180px;margin:0}
.service-card-copy{padding:22px 24px 26px}
.service-card-copy .card-index{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;color:var(--red)}
.service-card-copy p{margin:10px 0 0}
.service-card-copy h3{margin:8px 0 14px}
.service-card-copy span:last-child{font-size:.78rem;color:var(--red)}
.area-list span{font-family:var(--sans);font-size:1.1rem;text-transform:none;line-height:1.25;font-weight:700}
.process-strip{background:var(--slate)}
.process-strip h2{color:var(--white)}
.faq-block h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.faq-block summary{font-size:1rem}
.final-cta h2{color:var(--white)}
@media(max-width:1040px){
 .site-header .main-nav{background:var(--white);border-top:1px solid var(--line)}
 .site-header .main-nav>a,.site-header .main-nav summary{color:var(--graphite)}
 .site-header .nav-panel{background:var(--mist)}
 .hero,.hero-content{min-height:590px}
 .hero-content{padding-bottom:70px}
 .condition-head{grid-template-columns:1fr}
}
@media(max-width:620px){
 .site-header .brand-logo-wrap{width:205px;height:48px;padding:0}
 .hero,.hero-content{min-height:560px}
 .hero-content{padding:70px 20px 56px}
 .hero h1{font-size:3.25rem}
 .service-card-list{grid-template-columns:1fr}
 .service-card-image{height:165px}
 .reading-band{padding:62px 20px}
 .reading-copy h2,.condition-head h2,.service-cards h2,.area-main h2,.work-carousel h2,.process-strip h2,.faq-block h2,.final-cta h2,.estimate-intro h2,.contact-copy h2{font-size:2.45rem}
}
/* Direct commercial service section. */
.commercial-details{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(42px,9vw,145px);padding:clamp(76px,10vw,135px) max(20px,calc((100vw - 1120px)/2));background:var(--mist);border-top:1px solid var(--line)}
.commercial-details-title{align-self:start}
.commercial-details-title h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin:0}
.commercial-details-copy{max-width:760px}
.commercial-details-copy p{margin:0 0 18px;max-width:730px}
@media(max-width:1040px){.commercial-details{grid-template-columns:1fr;gap:30px}}
@media(max-width:620px){.commercial-details{padding-left:20px;padding-right:20px}.commercial-details-title h2{font-size:2.45rem}}

/* Customer-useful planning cards. */
.estimate-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0}
.estimate-note-grid article{background:var(--white);border:1px solid var(--line);padding:22px}
.estimate-note-grid h3,.contact-fact-grid h3{font-family:var(--sans);font-size:1.25rem;line-height:1.15;margin:0 0 14px}
.estimate-note-grid ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.estimate-note-grid li{font-size:.86rem;padding-left:18px;position:relative}
.estimate-note-grid li::before{content:'+';position:absolute;left:0;color:var(--red);font-weight:700}
.contact-facts{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;padding:clamp(65px,8vw,110px) max(20px,calc((100vw - 1100px)/2));background:var(--mist);border-top:1px solid var(--line)}
.contact-facts h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;margin:0}
.contact-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.contact-fact-grid article{background:var(--white);border:1px solid var(--line);padding:20px}
.contact-fact-grid p{font-size:.86rem;line-height:1.5;margin:0}
@media(max-width:1040px){.contact-facts{grid-template-columns:1fr;gap:25px}}
@media(max-width:620px){.estimate-note-grid,.contact-fact-grid{grid-template-columns:1fr}.contact-facts{padding-left:20px;padding-right:20px}}

/* Two-section commercial service explanation: keep the page scannable. */
.commercial-options{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(42px,9vw,145px);padding:clamp(76px,9vw,120px) max(20px,calc((100vw - 1120px)/2));background:var(--mist);border-top:1px solid var(--line)}
.commercial-details-title{align-self:start;position:sticky;top:28px}
.commercial-details-title h2,.commercial-context h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.025em;font-weight:700;margin:0 0 18px}
.details-lead{max-width:360px;margin:0 0 22px}
.detail-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detail-card{background:var(--white);border:1px solid var(--line);padding:24px;min-height:230px;display:flex;flex-direction:column;align-items:flex-start}
.detail-card-label{display:block;color:var(--red);font-size:.66rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.detail-card h3,.details-panel h3,.maintenance-panel h3{font-family:var(--sans);font-size:1.22rem;line-height:1.16;margin:13px 0 11px}
.detail-card p,.details-panel p{font-size:.88rem;line-height:1.55;margin:0 0 16px}
.detail-card a{color:var(--red);font-size:.76rem;font-weight:700;text-decoration:none;margin-top:auto}
.detail-card a:hover{text-decoration:underline}
.commercial-context{padding:clamp(76px,9vw,120px) max(20px,calc((100vw - 1120px)/2));background:var(--white);border-top:1px solid var(--line)}
.commercial-context-heading{max-width:700px;margin-bottom:34px}
.commercial-context-heading h2{margin-bottom:14px}
.commercial-context-heading>p:last-child{max-width:560px;margin:0}
.context-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.details-panel{background:var(--mist);border:1px solid var(--line);padding:26px}
.maintenance-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start;margin-top:16px;padding:26px;background:var(--slate);color:var(--white)}
.maintenance-panel h3{font-size:1.35rem;margin-bottom:0}
.maintenance-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px;margin:0;padding:0;list-style:none}
.maintenance-panel li{font-size:.85rem;line-height:1.45;padding-left:16px;position:relative;color:rgba(255,255,255,.86)}
.maintenance-panel li::before{content:'+';position:absolute;left:0;color:#f3b8ac;font-weight:700}
.details-close{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:28px}
.details-close p{flex:1 1 100%;max-width:720px;margin:0}
.details-close .inline-link{color:var(--red);font-size:.82rem}
@media(max-width:1040px){.commercial-options{grid-template-columns:1fr;gap:30px}.commercial-details-title{position:static}.commercial-context{padding-top:76px}.maintenance-panel{grid-template-columns:1fr;gap:18px}}
@media(max-width:620px){.commercial-options,.commercial-context{padding-left:20px;padding-right:20px}.detail-card-grid,.context-panels{grid-template-columns:1fr}.detail-card{min-height:0}.maintenance-panel ul{grid-template-columns:1fr}.details-close{align-items:flex-start}.details-close .button{width:100%}}

/* Obvious intro section: direct copy and a commercial image side by side. */
.reading-band{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(36px,7vw,100px);align-items:center;padding:clamp(72px,9vw,124px) max(20px,calc((100vw - 1120px)/2));background:var(--white)}
.reading-copy{max-width:780px}
.reading-kicker{margin:0 0 15px;color:var(--red);font-size:.66rem;line-height:1.25;letter-spacing:.15em;text-transform:uppercase;font-weight:700}
.reading-copy h2{margin-bottom:26px}
.reading-copy p{max-width:760px}
.reading-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0 0}
.reading-card{background:var(--mist);border:1px solid var(--line);padding:20px 22px}
.reading-card p{font-size:.9rem;line-height:1.55;margin:10px 0 0}
.reading-cta{margin-top:28px}
.reading-media{position:relative;min-height:520px;background:var(--slate);overflow:hidden}
.reading-image{height:520px;margin:0}
.reading-media-label{position:absolute;left:0;bottom:0;background:var(--red);color:var(--white);padding:12px 16px;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
@media(max-width:1040px){.reading-band{grid-template-columns:1fr;gap:34px}.reading-media{min-height:400px}.reading-image{height:400px}}
@media(max-width:620px){.reading-band{padding:62px 20px;gap:28px}.reading-media{min-height:300px}.reading-image{height:300px}.reading-copy h2{margin-bottom:20px}.reading-card-grid{grid-template-columns:1fr;margin-top:22px}.reading-card{padding:18px 20px}.reading-cta .button{width:100%}}

/* Compact before-and-after comparison slider. */
.before-after-section{display:grid;grid-template-columns:minmax(220px,.52fr) minmax(0,1.48fr);gap:clamp(36px,7vw,100px);align-items:center;padding:clamp(56px,7vw,92px) max(20px,calc((100vw - 1120px)/2));background:var(--concrete)}
.before-after-heading h2{font-family:var(--sans);font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.05;letter-spacing:-.025em;margin:0 0 20px;font-weight:700}
.before-after-heading p{max-width:360px;margin:0}
.before-after-slider{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.7/1;min-height:300px;background:var(--slate);border:1px solid var(--line);box-shadow:0 12px 35px rgba(32,40,45,.12)}
.before-after-layer{position:absolute;inset:0;overflow:hidden}
.before-after-layer.before-after-before{z-index:2;clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.before-after-image{position:absolute;inset:0;width:100%;height:100%;margin:0}
.before-after-image img{width:100%;height:100%;object-fit:cover}
.before-after-tag{position:absolute;top:16px;padding:7px 10px;background:rgba(32,40,45,.78);color:var(--white);font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;z-index:3}
.before-tag{left:16px}.after-tag{right:16px;background:var(--red)}
.before-after-divider{position:absolute;top:0;bottom:0;left:var(--split);width:3px;transform:translateX(-50%);background:var(--white);z-index:4;box-shadow:0 0 0 1px rgba(32,40,45,.2)}
.before-after-divider span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:38px;height:38px;transform:translate(-50%,-50%);border-radius:50%;background:var(--red);color:var(--white);font-size:1.1rem;box-shadow:0 2px 9px rgba(32,40,45,.25)}
.before-after-range{position:absolute;inset:0;z-index:5;margin:0;cursor:ew-resize}
.before-after-range input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1040px){.before-after-section{grid-template-columns:1fr;gap:28px}.before-after-heading p{max-width:650px}}
@media(max-width:620px){.before-after-section{padding:58px 20px}.before-after-slider{aspect-ratio:1.18/1;min-height:280px}.before-after-tag{top:12px}.before-tag{left:12px}.after-tag{right:12px}}

/* Our Process uses the same clear image-led carousel pattern as the field-work reference. */
.process-carousel .carousel-track p{display:flex;align-items:center;gap:10px}
.process-carousel .carousel-track p b{font-size:.68rem;letter-spacing:.12em;color:#f3b8ac}

/* Service pages: replace long reading walls with an image-led overview and detail cards. */
.service-overview{padding:clamp(70px,8vw,112px) max(20px,calc((100vw - 1120px)/2));background:var(--white)}
.service-overview-top{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:clamp(42px,7vw,100px);align-items:center;margin-bottom:52px}
.service-overview-copy{max-width:690px}
.service-overview-copy h2{font-family:var(--sans);font-size:clamp(2.2rem,4vw,4.5rem);line-height:1.02;letter-spacing:-.035em;margin:0 0 24px;font-weight:700}
.service-overview-copy p{max-width:670px}
.service-overview-media{position:relative;min-height:390px;background:var(--slate);overflow:hidden}
.service-overview-image{height:390px;margin:0}
.service-overview-media>span{position:absolute;left:0;bottom:0;background:var(--red);color:var(--white);padding:12px 16px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.service-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);padding-top:16px}
.service-detail-card{background:var(--mist);border:1px solid var(--line);overflow:hidden}
.service-detail-image{height:155px;margin:0}
.service-detail-copy{padding:20px 20px 24px}
.service-detail-copy h3{font-family:var(--sans);font-size:1.35rem;line-height:1.1;margin:9px 0 12px;font-weight:700}
.service-detail-copy p{font-size:.86rem;line-height:1.55;margin:0}
@media(max-width:1040px){.service-overview-top{grid-template-columns:1fr;gap:30px}.service-overview-media{min-height:360px}.service-overview-image{height:360px}.service-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.service-overview{padding:62px 20px}.service-overview-grid{grid-template-columns:1fr}.service-overview-media{min-height:280px}.service-overview-image{height:280px}.service-detail-image{height:190px}}
