:root{--anthracite:#202426;--anthracite-soft:#303638;--off-white:#f5f3ee;--paper:#fffdf8;--beige:#d5c4a7;--beige-light:#ebe3d6;--copper:#c86b36;--copper-dark:#9f4f25;--grey:#e7e7e5;--text-muted:#62696a;--success:#2e6d54;--danger:#a23b32;--font-title:Arial, Helvetica, sans-serif;--font-body:Arial, Helvetica, sans-serif;--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--radius-sm:.45rem;--radius:.8rem;--radius-lg:1.4rem;--shadow:0 18px 50px #2024261a;--container:1180px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--anthracite);background:linear-gradient(#20242605 1px, transparent 1px), linear-gradient(90deg, #20242605 1px, transparent 1px), var(--off-white);font-family:var(--font-body);text-rendering:optimizelegibility;background-size:48px 48px;margin:0;line-height:1.65}button,input,select,textarea{font:inherit}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.18em}a:hover{color:var(--copper-dark)}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--copper);outline-offset:4px}h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:-.035em;margin:0 0 .7em;line-height:1.08}h1{font-size:clamp(2.5rem,7vw,5.8rem)}h2{font-size:clamp(2rem,4.3vw,3.7rem)}h3{font-size:clamp(1.25rem,2vw,1.65rem)}p{margin:0 0 1.25rem}ul,ol{margin:0;padding:0;list-style:none}.container{width:min(calc(100% - 2rem), var(--container));margin-inline:auto}.narrow{max-width:760px}.section{padding-block:var(--space-7)}.section-large{padding-block:var(--space-8)}.section-dark{color:var(--off-white);background:var(--anthracite)}.section-paper{background:var(--paper)}.section-beige{background:var(--beige-light)}.section-border{border-block:1px solid #2024261f}.stack-lg>*+*{margin-top:var(--space-5)}.flow>*+*{margin-top:var(--space-3)}.grid-2{gap:var(--space-5);display:grid}.grid-3{gap:var(--space-4);display:grid}.skip-link{z-index:1000;color:#fff;background:var(--anthracite);padding:.8rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.demo-notice{min-height:38px;color:var(--anthracite);background:var(--beige);text-align:center;justify-content:center;align-items:center;gap:.55rem;padding:.45rem 1rem;font-size:.75rem;line-height:1.35;display:flex}.demo-dot{background:var(--copper-dark);border-radius:50%;flex:none;width:.5rem;height:.5rem}.site-header{z-index:50;backdrop-filter:blur(16px);background:#f5f3eef0;border-bottom:1px solid #2024261a;position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;min-height:76px;transition:min-height .25s;display:flex}.site-header.is-compact .nav-wrap{min-height:64px}.site-header.is-compact .main-nav{inset-block-start:64px}.brand{color:var(--anthracite);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand>span:last-child{line-height:1;display:grid}.brand strong{font:600 .7rem/1 var(--font-title);letter-spacing:.25em}.brand b{font:800 1.12rem/1 var(--font-title);letter-spacing:-.04em;margin-top:.28rem}.brand-mark{border:2px solid;align-items:end;gap:3px;width:29px;height:32px;padding:4px;display:flex;transform:skewY(-5deg)}.brand-mark span{background:var(--copper);flex:1}.brand-mark span:first-child{height:45%}.brand-mark span:nth-child(2){height:72%}.brand-mark span:nth-child(3){height:100%}.main-nav{background:var(--off-white);box-shadow:var(--shadow);border-bottom:1px solid #2024261f;padding:1.2rem;display:none;position:absolute;inset:76px 0 auto}.main-nav.is-open{gap:.4rem;display:grid}.main-nav>a:not(.button){padding:.8rem;font-weight:600;text-decoration:none}.main-nav>a[aria-current=page],.header-phone{color:var(--copper-dark)}.nav-toggle{width:44px;height:44px;color:var(--anthracite);border-radius:var(--radius-sm);background:0 0;border:1px solid #20242638;place-content:center;gap:5px;display:grid}.nav-toggle>span:not(.sr-only){background:currentColor;width:21px;height:2px}.button{color:#fff;background:var(--copper);border:2px solid var(--copper);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.55rem;min-height:52px;padding:.8rem 1.25rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.button:hover{color:#fff;background:var(--copper-dark);border-color:var(--copper-dark);transform:translateY(-2px)}.button-secondary{color:var(--anthracite);background:0 0;border-color:#20242659}.button-secondary:hover{color:#fff;background:var(--anthracite);border-color:var(--anthracite)}.button-light{color:var(--off-white);border-color:#f5f3ee8c}.button-small{min-height:44px;padding:.55rem .95rem;font-size:.9rem}.button-wide{width:100%}.text-link{text-decoration-thickness:2px;text-decoration-color:var(--copper);font-weight:700}.eyebrow{color:var(--copper-dark);font:700 .78rem/1.3 var(--font-title);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem}.section-dark .eyebrow{color:#ef9a67}.section-heading{max-width:760px;margin-bottom:var(--space-6)}.section-heading.align-center{text-align:center;margin-inline:auto}.section-heading>p:last-child{max-width:640px;color:var(--text-muted);font-size:1.08rem}.section-dark .section-heading>p:last-child{color:#c9cdcd}.hero{background:var(--anthracite);color:var(--off-white);padding:4rem 0 0;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle at 20% 20%,#c86b362e,#0000 25%),linear-gradient(135deg,#0000 55%,#d5c4a70f 55%);position:absolute;inset:0}.hero-grid{gap:var(--space-5);display:grid;position:relative}.hero-copy{padding-bottom:var(--space-6)}.hero h1{max-width:900px;margin-bottom:.5em;font-size:clamp(2.5rem,6.4vw,5.2rem)}.hero h1 span{color:var(--beige)}.hero-lead{color:#d9dddd;max-width:650px;font-size:clamp(1.05rem,2vw,1.32rem)}.hero-actions{flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 2rem;display:flex}.hero-proof{color:#dde0df;flex-wrap:wrap;gap:.8rem 1.4rem;font-size:.9rem;display:flex}.hero-proof span:before{color:#ef9a67;content:"✓";margin-right:.45rem}.hero-visual{border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:#b9aa96;min-height:340px;position:relative;overflow:hidden}.hero-visual>img{object-fit:cover;object-position:50% 44%;width:100%;height:100%;position:absolute;inset:0}.hero-visual:after{content:"";background:linear-gradient(#0000 48%,#20242670 100%);position:absolute;inset:0}.hero-badge{z-index:2;max-width:240px;color:var(--anthracite);background:var(--off-white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem;position:absolute;bottom:1rem;left:1rem}.hero-badge strong{font:800 1.45rem/1 var(--font-title);margin:.25rem 0 .4rem;display:block}.hero-badge span{font-size:.78rem;line-height:1.45;display:block}.hero-badge .hero-badge-kicker{color:var(--copper-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.62rem;font-weight:800}.trust-bar{background:var(--paper);border-bottom:1px solid #2024261f}.trust-grid{grid-template-columns:repeat(2,1fr);display:grid}.trust-item{border-right:1px solid #2024261a;padding:1.2rem .8rem}.trust-item:nth-child(2n){border-right:0}.trust-item strong{font-family:var(--font-title);font-size:.95rem;display:block}.trust-item span{color:var(--text-muted);font-size:.78rem}.service-grid{background:#2024261f;border:1px solid #2024261f;gap:1px;display:grid}.service-card{background:var(--paper);isolation:isolate;min-height:300px;padding:2rem;transition:color .35s,background .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.service-card:before{z-index:-1;background:linear-gradient(135deg, transparent 52%, #c86b3614 52%), var(--paper);content:"";opacity:0;transition:opacity .35s;position:absolute;inset:0}.service-card h3{max-width:80%}.service-card>p:not(.eyebrow){color:var(--text-muted)}.service-number{color:var(--beige);font:800 2.5rem/1 var(--font-title);transition:color .35s,transform .35s;position:absolute;top:1.5rem;right:1.5rem}.service-card .text-link{transition:color .25s,transform .25s;position:absolute;bottom:2rem;left:2rem}.service-card:hover,.service-card:focus-within{z-index:2;background:#fff;transform:translateY(-9px);box-shadow:0 24px 54px #20242630}.service-card:hover:before,.service-card:focus-within:before{opacity:1}.service-card:hover .service-number,.service-card:focus-within .service-number{color:var(--copper);transform:scale(1.13)rotate(-3deg)}.service-card:hover .text-link,.service-card:focus-within .text-link{color:var(--copper-dark);transform:translate(6px)}.conversion-nudge{color:var(--off-white);background:var(--anthracite);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:flex}.conversion-nudge>div{gap:.2rem;display:grid}.conversion-nudge span{color:#c9cdcd;font-size:.86rem}.conversion-nudge .button{min-height:46px}.comparison{aspect-ratio:9/4;background:var(--grey);border-radius:var(--radius);touch-action:pan-y;position:relative;overflow:hidden}.comparison .sprite-image{width:100%;height:100%;position:absolute;inset:0}.comparison-before{width:var(--position);position:absolute;inset:0;overflow:hidden}.comparison-before .sprite-image{width:100vw;max-width:none}.compare-label{z-index:4;color:#fff;text-transform:uppercase;background:#202426c7;border-radius:99px;padding:.35rem .65rem;font-size:.72rem;font-weight:700;position:absolute;top:1rem}.compare-label-before{left:1rem}.compare-label-after{right:1rem}.compare-line{z-index:3;top:0;bottom:0;left:var(--position);background:#fff;width:3px;position:absolute;transform:translate(-50%)}.compare-line span{width:46px;height:46px;color:var(--anthracite);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000003d}.comparison-range{z-index:5;cursor:ew-resize;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.comparison-range:focus-visible{opacity:.08;outline:4px solid var(--copper);outline-offset:-4px}.sprite-image{aspect-ratio:9/4;background-image:url(/images/renovations-contact-sheet.webp);background-repeat:no-repeat;background-size:200% 300%}.sprite-before{background-position-x:0%}.sprite-after{background-position-x:100%}.sprite-row-0{background-position-y:0%}.sprite-row-1{background-position-y:50%}.sprite-row-2{background-position-y:100%}.projects-grid{gap:var(--space-4);display:grid}.project-card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.project-image-link{display:block;position:relative;overflow:hidden}.project-image-link .sprite-image{transition:transform .45s}.project-image-link:hover .sprite-image{transform:scale(1.025)}.project-tag{background:var(--off-white);border-radius:99px;padding:.35rem .65rem;font-size:.72rem;font-weight:700;position:absolute;bottom:.8rem;right:.8rem}.project-card-body{padding:1.5rem}.project-place{color:var(--copper-dark);text-transform:uppercase;margin:0 0 .45rem;font-size:.78rem;font-weight:700}.project-card h3 a{text-decoration:none}.project-meta{border-top:1px solid var(--grey);gap:1.5rem;margin:1.2rem 0 0;padding-top:1rem;display:flex}.project-meta div{display:grid}.project-meta dt{color:var(--text-muted);text-transform:uppercase;font-size:.72rem}.project-meta dd{margin:0;font-weight:600}.steps{counter-reset:step;display:grid}.step{counter-increment:step;border-bottom:1px solid #f5f3ee2e;padding:1.5rem 1.5rem 1.5rem 4rem;position:relative}.step:before{color:#ef9a67;font:800 1.7rem/1 var(--font-title);content:"0" counter(step);position:absolute;left:.4rem}.step h3{margin-bottom:.4rem}.step p{color:#c9cdcd;margin:0}.testimonials-marquee{--marquee-gap:1rem}.testimonials-toolbar{width:min(calc(100% - 2rem), var(--container));justify-content:space-between;align-items:center;gap:1rem;margin:0 auto 1.2rem;display:flex}.testimonials-toolbar p{color:var(--text-muted);margin:0;font-size:.82rem}.testimonials-toolbar p span{color:var(--copper);font-size:.62rem}.marquee-toggle{min-height:40px;color:var(--anthracite);background:var(--paper);cursor:pointer;border:1px solid #2024262e;border-radius:99px;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.76rem;font-weight:700;display:inline-flex}.marquee-toggle:hover{border-color:var(--copper)}.marquee-toggle-icon{color:#fff;background:var(--copper);border-radius:50%;place-items:center;width:23px;height:23px;font-size:.62rem;display:grid}.testimonials-viewport{padding-block:1rem 2.5rem;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.testimonials-track{will-change:transform;width:max-content;animation:46s linear infinite testimonials-scroll;display:flex}.testimonials-set{gap:var(--marquee-gap);padding-right:var(--marquee-gap);display:flex}.testimonials-marquee[data-paused=true] .testimonials-track,.testimonials-viewport:hover .testimonials-track,.testimonials-viewport:focus-within .testimonials-track{animation-play-state:paused}.quote-card{background:var(--paper);border-radius:var(--radius-lg);border:1px solid #2024261f;flex:0 0 clamp(290px,31vw,430px);min-height:300px;margin:0;padding:1.7rem;transition:border-color .3s,box-shadow .3s,transform .3s cubic-bezier(.2,.8,.2,1);position:relative;box-shadow:0 12px 35px #20242612}.quote-card:before{color:var(--beige);font:800 4.5rem/1 var(--font-title);content:"“";position:absolute;top:3.25rem;right:1.4rem}.quote-card:hover{border-color:#c86b36a6;transform:translateY(-10px)rotate(-.4deg);box-shadow:0 22px 48px #20242629}.quote-topline{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.quote-index{color:var(--beige);font:800 1.2rem/1 var(--font-title)}.quote-card blockquote{margin:1.6rem 0 1.7rem;font-size:1.08rem;line-height:1.65;position:relative}.quote-card figcaption{gap:.15rem;font-weight:700;display:grid}.quote-card figcaption span{color:var(--text-muted);font-size:.78rem;font-weight:400}.fiction-pill{color:var(--copper-dark);background:var(--beige-light);text-transform:uppercase;border-radius:99px;margin-bottom:.8rem;padding:.25rem .55rem;font-size:.68rem;font-weight:700;display:inline-flex}@keyframes testimonials-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.commitments-intro{color:#c9cdcd;max-width:680px;margin:-1.2rem 0 2.5rem}.commitments{gap:1.4rem;display:grid}.commitments-grid{background:#f5f3ee29;border:1px solid #f5f3ee29;gap:1px;display:grid}.commitment-card{min-height:170px;color:var(--off-white);cursor:pointer;text-align:left;background:#272c2e;border:0;grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;padding:1.4rem;transition:background .3s,box-shadow .3s,transform .3s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden}.commitment-card:after{content:"";border:24px solid #f5f3ee0d;border-radius:50%;width:135px;height:135px;transition:transform .4s;position:absolute;bottom:-50px;right:-35px}.commitment-card:hover,.commitment-card:focus-visible{z-index:2;background:var(--anthracite-soft);transform:translateY(-5px)}.commitment-card:hover:after,.commitment-card:focus-visible:after{transform:scale(1.25)}.commitment-card.is-active{z-index:1;color:#fff;background:var(--copper-dark);box-shadow:inset 0 0 0 2px #ef9a67}.commitment-number{color:#ef9a67;font:800 1.25rem/1 var(--font-title)}.commitment-card.is-active .commitment-number{color:#fff}.commitment-copy{gap:.65rem;display:grid}.commitment-copy strong{max-width:250px;font:700 1.17rem/1.12 var(--font-title);letter-spacing:-.025em}.commitment-copy>span{color:#c9cdcd;font-size:.84rem;line-height:1.5}.commitment-card.is-active .commitment-copy>span{color:#f8ddd0}.commitment-arrow{z-index:1;transition:transform .3s;position:relative}.commitment-card:hover .commitment-arrow,.commitment-card.is-active .commitment-arrow{transform:translate(3px,-3px)}.commitment-focus{color:var(--anthracite);background:var(--off-white);border-radius:var(--radius-lg);gap:2rem;padding:clamp(1.5rem,4vw,3rem);display:grid}.commitment-focus-count{align-items:baseline;gap:.35rem;margin-bottom:1.5rem;display:flex}.commitment-focus-count strong{color:var(--copper);font:800 clamp(3rem, 7vw, 5.5rem)/.8 var(--font-title)}.commitment-focus-count span{color:var(--text-muted);font-weight:700}.commitment-focus h3{max-width:650px;font-size:clamp(1.7rem,3vw,2.8rem)}.commitment-focus p:last-of-type{max-width:700px;color:var(--text-muted);margin-bottom:0;font-size:1.03rem}.commitment-meter{background:var(--grey);border-radius:99px;height:4px;overflow:hidden}.commitment-meter span{background:var(--copper);width:16.66%;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1);display:block}.artisan-story{gap:var(--space-5);align-items:center;display:grid}.artisan-story-image{border-radius:var(--radius-lg);min-height:430px;box-shadow:var(--shadow);position:relative;overflow:hidden}.artisan-story-image img{object-fit:cover;object-position:50% 38%;width:100%;height:100%;position:absolute;inset:0}.artisan-story-image span{color:var(--off-white);border-radius:var(--radius-sm);text-align:center;backdrop-filter:blur(8px);background:#202426c7;padding:.55rem .7rem;font-size:.68rem;position:absolute;bottom:.8rem;left:.8rem;right:.8rem}.artisan-facts{background:#2024261f;border:1px solid #2024261f;gap:1px;margin:2rem 0;display:grid}.artisan-facts li{background:var(--paper);gap:.25rem;padding:1rem;display:grid}.artisan-facts strong{color:var(--copper-dark);font:800 1.35rem/1 var(--font-title)}.artisan-facts span{color:var(--text-muted);font-size:.78rem}.zone-wrap{gap:var(--space-5);align-items:center;display:grid}.service-area-map{background:var(--anthracite);border-radius:var(--radius-lg);isolation:isolate;opacity:.35;border:1px solid #20242629;justify-self:center;width:min(100%,680px);min-height:560px;transition:opacity .65s,transform .65s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;transform:translateY(22px)scale(.985);box-shadow:0 24px 70px #2024262e}.service-area-map.is-visible{opacity:1;transform:none}.service-area-map:after{z-index:480;pointer-events:none;content:"";opacity:0;background:linear-gradient(#0000,#c86b3621,#0000);height:80px;position:absolute;top:76px;left:0;right:0;transform:translateY(-120px)}.service-area-map.is-visible:after{animation:5.5s cubic-bezier(.4,0,.2,1) 1s infinite map-scan}.service-area-map--large{min-height:600px}.service-area-map__canvas{z-index:1;background:#d8d2c6;position:absolute;inset:0}.service-area-map .leaflet-tile-pane{filter:grayscale(.94)sepia(.18)saturate(.55)brightness(.87)contrast(1.08)}.service-area-map .leaflet-control-container{font-family:var(--font-body)}.service-area-map .leaflet-top.leaflet-left{top:86px}.service-area-map .leaflet-left{left:10px}.service-area-map .leaflet-control-zoom{border:0;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px #2024262e}.service-area-map .leaflet-control-zoom a{width:38px;height:38px;color:var(--anthracite);font:500 1.2rem/38px var(--font-body);background:#fffdf8f0;border-color:#2024261a}.service-area-map .leaflet-control-zoom a:hover,.service-area-map .leaflet-control-zoom a:focus-visible{color:#fff;background:var(--copper-dark)}.service-area-map .leaflet-bottom{bottom:58px}.service-area-map .leaflet-control-attribution{color:#515859;backdrop-filter:blur(6px);background:#fffdf8c7;font-size:.58rem}.service-area-map__toolbar,.service-area-map__footer{z-index:500;color:#fff;backdrop-filter:blur(14px);background:#202426e0;border:1px solid #ffffff24;align-items:center;display:flex;position:absolute;left:14px;right:14px;box-shadow:0 12px 32px #20242638}.service-area-map__toolbar{border-radius:15px;justify-content:space-between;gap:1rem;padding:.8rem .85rem .8rem 1rem;top:14px}.service-area-map__toolbar>div{gap:.22rem;display:grid}.service-area-map__toolbar strong{font:700 clamp(.92rem, 2vw, 1.1rem)/1.1 var(--font-title)}.service-area-map__live{color:#d5c4a7;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;font-size:.64rem;font-weight:700;display:flex}.service-area-map__live i{background:#ef9a67;border-radius:50%;width:7px;height:7px;animation:2.2s ease-out infinite map-live;box-shadow:0 0 #ef9a6780}.service-area-map__toolbar button{color:#fff;cursor:pointer;background:#ffffff17;border:1px solid #ffffff2e;border-radius:10px;align-items:center;gap:.5rem;min-height:42px;padding:.55rem .75rem;font-weight:700;transition:background .25s,transform .25s;display:inline-flex}.service-area-map__toolbar button:hover,.service-area-map__toolbar button:focus-visible{background:var(--copper-dark);transform:translateY(-2px)}.service-area-map__toolbar button span{color:#ef9a67}.service-area-map__toolbar button:hover span,.service-area-map__toolbar button:focus-visible span{color:#fff}.service-area-map__footer{color:#e1e4e3;border-radius:13px;flex-wrap:wrap;gap:.45rem 1rem;padding:.72rem 1rem;font-size:.67rem;bottom:14px}.service-area-map__footer>span{white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.service-area-map__explore{margin-left:auto}.service-area-map__explore select{color:#fff;cursor:pointer;max-width:190px;min-height:34px;font:700 .65rem/1 var(--font-body);background-color:#ffffff17;border:1px solid #ffffff2e;border-radius:8px;padding:.38rem 2rem .38rem .65rem}.service-area-map__explore select:hover,.service-area-map__explore select:focus-visible{background-color:var(--copper-dark)}.service-area-map__explore option{color:var(--anthracite);background:#fff}.service-area-map__key{flex:none;width:12px;height:12px;display:block}.service-area-map__key--radius{border:2px solid var(--copper);background:#c86b3640;border-radius:50%}.service-area-map__key--city{border:2px solid var(--anthracite-soft);background:#fff;border-radius:50%;width:9px;height:9px}.service-area-map__radius{stroke-dasharray:12 8;animation:3.6s linear infinite map-radius}.service-area-map__marker-shell{background:0 0;border:0}.service-area-map__marker{--marker-delay:0s;opacity:0;background:#fffdf8eb;border:1px solid #2024264d;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:relative;transform:scale(.45);box-shadow:0 5px 16px #20242647}.is-visible .service-area-map__marker{animation:map-marker-in .45s var(--marker-delay) cubic-bezier(.2, .8, .2, 1) forwards}.service-area-map__marker i{background:var(--anthracite);border-radius:50%;width:8px;height:8px}.service-area-map__marker--center{background:var(--copper);border:6px solid #fffdf8b8;width:36px;height:36px}.service-area-map__marker--center:after{content:"";border:2px solid #c86b3699;border-radius:50%;animation:2.4s ease-out infinite map-center-pulse;position:absolute;inset:-9px}.service-area-map__marker--center i{background:#fff;width:7px;height:7px}.service-area-map .leaflet-tooltip.service-area-map__dijon-label,.service-area-map .leaflet-tooltip.service-area-map__radius-label{color:#fff;background:var(--anthracite);font:800 .68rem/1 var(--font-title);letter-spacing:.08em;border:0;border-radius:8px;box-shadow:0 8px 20px #20242633}.service-area-map .leaflet-tooltip-right.service-area-map__dijon-label:before{border-right-color:var(--anthracite)}.service-area-map .leaflet-tooltip.service-area-map__radius-label{color:var(--anthracite);background:var(--off-white);font-family:var(--font-body);letter-spacing:0;font-weight:700}.service-area-map .leaflet-popup-content-wrapper{color:var(--anthracite);background:var(--off-white);border-radius:12px;box-shadow:0 14px 36px #2024263d}.service-area-map .leaflet-popup-tip{background:var(--off-white)}.service-area-map .leaflet-popup-content{gap:.23rem;min-width:145px;margin:.9rem 1rem;display:grid}.service-area-map .leaflet-popup-content strong{font:800 .95rem/1.1 var(--font-title)}.service-area-map .leaflet-popup-content small{color:var(--text-muted);font-size:.67rem}.service-area-map__popup-kicker{color:var(--copper-dark);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:800}@keyframes map-scan{0%,18%{opacity:0;transform:translateY(-120px)}28%{opacity:1}62%{opacity:.65}78%,to{opacity:0;transform:translateY(520px)}}@keyframes map-live{0%{box-shadow:0 0 #ef9a678c}70%,to{box-shadow:0 0 0 7px #0000}}@keyframes map-radius{to{stroke-dashoffset:-40px}}@keyframes map-marker-in{to{opacity:1;transform:scale(1)}}@keyframes map-center-pulse{0%{opacity:.8;transform:scale(.7)}75%,to{opacity:0;transform:scale(1.45)}}.zone-list{flex-wrap:wrap;gap:.6rem;display:flex}.zone-list li{background:var(--paper);border:1px solid #2024261f;border-radius:99px;padding:.55rem .8rem;font-size:.86rem}.zone-personalization{max-width:560px;color:var(--text-muted);border-left:3px solid var(--copper);margin-top:1.2rem;padding-left:.8rem;font-size:.78rem}.zone-page-grid{gap:var(--space-6);align-items:center;display:grid}.zone-list-large{margin-top:1.5rem}.zone-page-note,.client-placeholder{color:var(--anthracite);border-left:4px solid var(--copper);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#fffdf8b8;gap:.25rem;margin-top:1.5rem;padding:1rem;display:grid}.zone-page-note span,.client-placeholder span{color:var(--text-muted);font-size:.82rem}.zone-services{background:#2024261f;border:1px solid #2024261f;gap:1px;display:grid}.zone-services a{background:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem 1rem;padding:1.4rem;text-decoration:none;transition:color .25s,background .25s,transform .25s;display:grid;position:relative}.zone-services a:hover,.zone-services a:focus-visible{z-index:1;color:#fff;background:var(--anthracite);transform:translateY(-4px)}.zone-services a>span{color:var(--copper);font:800 .85rem/1 var(--font-title)}.zone-services a>strong{font:700 1.15rem/1.2 var(--font-title)}.zone-services a>small{color:var(--text-muted);grid-column:2/3;line-height:1.45}.zone-services a:hover>small,.zone-services a:focus-visible>small{color:#c9cdcd}.zone-services a>b{grid-area:1/3/3/4}.faq-list{border-top:1px solid #2024262e}.faq-list details{border-bottom:1px solid #2024262e}.faq-list summary{cursor:pointer;min-height:72px;font-family:var(--font-title);justify-content:space-between;align-items:center;gap:1rem;font-weight:700;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{color:var(--copper-dark);content:"+";flex:none;font-size:1.5rem}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:780px;color:var(--text-muted);padding:0 2rem 1.5rem 0}.faq-hero{position:relative;overflow:hidden}.faq-hero:after{aspect-ratio:1;content:"";border:9vw solid #c86b361f;border-radius:50%;width:48vw;position:absolute;bottom:-52%;right:-12vw}.faq-page{max-width:1000px}.faq-tools{background:var(--beige-light);border-radius:var(--radius-lg);gap:1.5rem;margin-bottom:3.5rem;padding:clamp(1.2rem,3vw,2rem);display:grid}.faq-search{gap:.55rem;font-weight:700;display:grid}.faq-search-field{display:block;position:relative}.faq-search-field input{width:100%;min-height:56px;color:var(--anthracite);border-radius:var(--radius-sm);background:#fff;border:1px solid #2024263d;padding:.8rem 3rem .8rem 1rem}.faq-search-field>span{color:var(--copper-dark);font-size:1.5rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.faq-filter-label{margin-bottom:.55rem;font-weight:700;display:block}.faq-filters{flex-wrap:wrap;gap:.5rem;display:flex}.faq-results-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.faq-results-heading>p:last-child{color:var(--text-muted);font-size:.84rem}.faq-list-large summary{grid-template-columns:auto 1fr auto auto;gap:1rem;min-height:88px;display:grid;position:relative}.faq-list-large .faq-question-number{color:var(--copper-dark);font:800 .78rem/1 var(--font-title)}.faq-category{color:var(--text-muted);background:var(--off-white);border-radius:99px;padding:.25rem .55rem;font-size:.68rem;font-weight:700}.faq-list-large details[hidden]{display:none}.faq-list-large details[open]{background:linear-gradient(90deg,#c86b3612,#0000)}.faq-list-large details p{padding-left:2.6rem}.faq-empty{background:var(--beige-light);border-radius:var(--radius);text-align:center;padding:1.5rem}.cta-band{color:var(--off-white);background:var(--copper-dark);padding:4rem 0;position:relative;overflow:hidden}.cta-band:after{content:"";border:60px solid #f5f3ee14;border-radius:50%;width:380px;height:380px;position:absolute;top:-45%;right:-5%}.cta-inner{z-index:1;align-items:end;gap:1.5rem;display:grid;position:relative}.cta-inner h2{max-width:760px;margin-bottom:.35rem}.cta-inner p{color:#f6dfd2;margin:0}.cta-actions{flex-wrap:wrap;gap:.8rem;display:flex}.cta-actions .button{color:var(--anthracite);background:var(--off-white);border-color:var(--off-white)}.page-hero{color:var(--off-white);background:var(--anthracite);padding:4.5rem 0 3.5rem}.page-hero h1{max-width:930px;font-size:clamp(2.4rem,6vw,5rem)}.page-hero p:not(.eyebrow){color:#d2d6d5;max-width:700px;font-size:1.15rem}.breadcrumbs{color:#b9bfbd;margin-bottom:2.5rem;font-size:.82rem}.breadcrumbs a{color:inherit}.breadcrumbs span{margin-inline:.4rem}.stat-row{background:#f5f3ee29;gap:1px;margin-top:2rem;display:grid}.stat{background:var(--anthracite);padding:1.1rem}.stat strong{color:var(--beige);font:800 1.5rem/1.2 var(--font-title);display:block}.stat span{color:#cdd1d0;font-size:.8rem}.content-grid{gap:var(--space-6);display:grid}.check-list{gap:.8rem;display:grid}.check-list li{padding-left:1.8rem;position:relative}.check-list li:before{color:var(--copper-dark);content:"✓";font-weight:800;position:absolute;left:0}.number-list{counter-reset:detail;gap:1rem;display:grid}.number-list li{background:var(--paper);border-radius:var(--radius-sm);counter-increment:detail;border:1px solid #2024261a;padding:1.2rem 1.2rem 1.2rem 3.8rem;position:relative}.number-list li:before{color:var(--copper-dark);font:800 1.2rem/1 var(--font-title);content:"0" counter(detail);position:absolute;left:1.2rem}.aside-card{background:var(--beige-light);border-radius:var(--radius);padding:1.6rem}.aside-card h2{font-size:1.45rem}.aside-card .button{width:100%}.filter-bar{flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;display:flex}.filter-button{color:var(--anthracite);cursor:pointer;background:0 0;border:1px solid #2024263d;border-radius:99px;padding:.65rem .9rem;font-weight:600}.filter-button[aria-pressed=true]{color:#fff;background:var(--anthracite);border-color:var(--anthracite)}.project-card[hidden]{display:none}.legal-content h2{margin-top:2.4rem;font-size:1.7rem}.legal-content h3{margin-top:1.5rem;font-size:1.15rem}.legal-content ul{padding-left:1.2rem;list-style:outside}.legal-content .demo-box{background:var(--beige-light);border-left:4px solid var(--copper);padding:1.2rem}.contact-grid{gap:var(--space-5);display:grid}.contact-card{background:var(--paper);border-radius:var(--radius);border:1px solid #2024261a;padding:1.5rem}.contact-card strong{font-family:var(--font-title);margin-bottom:.35rem;display:block}.form-card{background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(1.2rem,4vw,2.5rem)}.form-section+.form-section{border-top:1px solid var(--grey);margin-top:2.5rem;padding-top:2rem}.form-section h2{font-size:1.55rem}.form-grid{gap:1rem;display:grid}.field{gap:.35rem;display:grid}.field-full{grid-column:1/-1}.field label,.field legend{font-weight:600}.required{color:var(--danger)}.field small{color:var(--text-muted)}.field input,.field select,.field textarea{width:100%;min-height:50px;color:var(--anthracite);border-radius:var(--radius-sm);background:#fff;border:1px solid #a8aeae;padding:.75rem .85rem}.field textarea{resize:vertical;min-height:150px}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border:2px solid var(--danger)}.field-error{min-height:1.2em;color:var(--danger);margin:0;font-size:.8rem}.checkbox-field{grid-template-columns:auto 1fr;align-items:start;gap:.7rem;display:grid}.checkbox-field input{width:20px;height:20px;accent-color:var(--copper);margin-top:.2rem}.honeypot{position:absolute!important;left:-10000px!important}.form-status{border-radius:var(--radius-sm);padding:1rem;display:none}.form-status.is-visible{display:block}.form-status.is-success{color:#174a37;background:#dcefe6}.form-status.is-error{color:#7a241e;background:#f6dfdc}.upload-drop{border-radius:var(--radius-sm);border:2px dashed #a8aeae;padding:1rem}.privacy-hint{color:var(--text-muted);background:var(--off-white);border-radius:var(--radius-sm);padding:1rem;font-size:.86rem}.quiz{background:var(--anthracite);border-radius:var(--radius-lg);color:var(--off-white);padding:1.5rem}.quiz-step{display:none}.quiz-step.is-active{display:block}.quiz-options{gap:.65rem;margin:1.5rem 0;display:grid}.quiz-option{color:var(--off-white);border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #f5f3ee59;padding:.8rem 1rem}.quiz-option:hover,.quiz-option:focus{background:var(--anthracite-soft)}.quiz-progress{background:#f5f3ee24;border-radius:99px;height:5px;margin-bottom:1.5rem;overflow:hidden}.quiz-progress span{width:var(--progress,25%);background:var(--copper);height:100%;transition:width .2s;display:block}.quiz-result{background:var(--anthracite-soft);border-radius:var(--radius);padding:1rem}.site-footer{color:#d7dcda;background:#171a1b;padding:4rem 0 6.5rem}.brand-light{color:var(--off-white)}.footer-grid{gap:var(--space-5);display:grid}.footer-lead{max-width:420px;margin-top:1.4rem;font-size:1.1rem}.fiction-note{color:#9ea5a3;max-width:500px;font-size:.78rem}.site-footer h2{color:var(--off-white);letter-spacing:.03em;font-size:1rem}.site-footer li+li{margin-top:.55rem}.site-footer a{color:inherit}.site-footer small{color:#9ea5a3}.footer-zones{color:#9ea5a3;margin-top:1rem;font-size:.75rem}.footer-bottom{color:#9ea5a3;border-top:1px solid #f5f3ee26;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;font-size:.76rem;display:flex}.footer-bottom span:last-child{gap:1rem;display:flex}.mobile-actions{z-index:60;background:var(--off-white);border:1px solid #20242624;border-radius:.75rem;grid-template-columns:1fr 1.2fr;gap:.35rem;padding:.35rem;display:grid;position:fixed;bottom:.7rem;left:.7rem;right:.7rem;box-shadow:0 8px 30px #2024263d}.mobile-actions a{border-radius:.5rem;justify-content:center;align-items:center;gap:.4rem;min-height:48px;font-weight:700;text-decoration:none;display:flex}.mobile-actions a:last-child{color:#fff;background:var(--copper)}@media (width>=680px){.main-nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav.is-open .button{grid-column:1/-1}.grid-2,.contact-grid,.form-grid,.grid-3,.projects-grid,.service-grid,.commitments-grid{grid-template-columns:repeat(2,1fr)}.commitment-focus{grid-template-columns:1fr minmax(160px,310px);align-items:end}.faq-tools{grid-template-columns:minmax(280px,.85fr) 1.15fr;align-items:end}.artisan-facts,.zone-services{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-item:nth-child(2n){border-right:1px solid #2024261a}.trust-item:last-child{border-right:0}.stat-row{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.step{border-right:1px solid #f5f3ee2e}.comparison-before .sprite-image{width:min(calc(100vw - 2rem), var(--container))}}@media (width>=920px){.section{padding-block:var(--space-8)}.hero{padding-top:5.5rem}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:end}.hero-visual{border-radius:var(--radius-lg) var(--radius-lg) 0 0;min-height:570px}.service-grid,.projects-grid,.grid-3,.commitments-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(5,1fr)}.step{border-bottom:0;min-height:260px;padding:5rem 1.3rem 1.5rem}.step:before{top:1.5rem;left:1.3rem}.zone-wrap{grid-template-columns:.85fr 1.15fr}.zone-page-grid{grid-template-columns:1fr 1fr}.artisan-story{gap:var(--space-7);grid-template-columns:.82fr 1.18fr}.artisan-story-image{min-height:620px}.cta-inner{grid-template-columns:1fr auto}.content-grid{grid-template-columns:minmax(0,1fr) 330px}.aside-card{position:sticky;top:115px}.contact-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1.35fr .65fr .75fr .85fr}.mobile-actions{display:none}.site-footer{padding-bottom:3rem}}@media (width>=1080px){.nav-toggle{display:none}.main-nav{box-shadow:none;background:0 0;border:0;align-items:center;gap:.2rem;padding:0;display:flex;position:static}.main-nav>a:not(.button){padding:.6rem .42rem;font-size:.8rem}.main-nav .header-phone{border-left:1px solid #20242629;margin-left:.2rem;padding-left:.7rem;font-size:.76rem}}@media (width<=479px){.hero-actions .button,.conversion-nudge .button{width:100%}.faq-list-large summary{grid-template-columns:auto 1fr auto;gap:.65rem}.faq-list-large .faq-category{display:none}.faq-list-large details p{padding-left:0}.service-area-map{min-height:470px}.service-area-map--large{min-height:510px}.service-area-map__toolbar{left:9px;right:9px}.service-area-map__toolbar button{min-width:42px;padding-inline:.65rem;font-size:0}.service-area-map__toolbar button span{font-size:1rem}.service-area-map__footer{gap:.35rem .7rem;bottom:9px;left:9px;right:9px}.service-area-map__footer>span:nth-of-type(2){display:none}.service-area-map__explore{flex:150px}.service-area-map__explore select{width:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.testimonials-viewport{scroll-snap-type:x mandatory;overflow-x:auto;mask-image:none}.testimonials-track{animation:none}.testimonials-set[aria-hidden=true]{display:none}.quote-card{scroll-snap-align:start}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
