:root{--bg:#191b18;--panel:#22251f;--ink:#f0f0e8;--muted:#b1b6aa;--line:#41463c;--acid:#dcf85b;--paper:#e9eae1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acid);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}[hidden]{display:none!important}img{display:block;width:100%;height:auto}p{margin:0 0 1.3em}h1,h2,h3,figure{margin-top:0}h1,h2{font-weight:900;line-height:.94;letter-spacing:-.065em}h2{font-size:clamp(36px,4.8vw,72px);margin-bottom:30px}h2 em{font-style:normal;color:var(--acid)}h3{line-height:1.12;letter-spacing:-.04em;font-size:30px}strong{color:var(--ink)}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;background:var(--acid);color:var(--bg);padding:15px}.skip-link:focus{top:10px}.micro,.eyebrow,.section-tag,.portrait-label{font:11px/1.6 Consolas,'Courier New',monospace;letter-spacing:.09em}.section-tag{color:var(--muted);margin-bottom:28px}.site-header{padding:18px 4%;height:91px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--bg);border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.brand:hover{text-decoration:none}.brand-mark{font-size:35px;font-weight:900;letter-spacing:-.08em;line-height:1}.brand-mark span{color:var(--acid);font-size:22px;vertical-align:top;display:inline-block;margin-left:3px}.brand-name{font-size:15px;font-weight:800;line-height:1.3;letter-spacing:.03em}.brand-name small{display:block;font:9px/1.6 Consolas,monospace;letter-spacing:.03em;color:var(--muted)}nav{display:flex;gap:30px;font-size:13px}nav a{padding:12px 0}.header-phone{font-size:14px;font-weight:bold;white-space:nowrap}.header-phone span{display:inline-block;color:var(--acid);font-size:22px;margin-right:8px}.hero{padding:28px 4% 0}.hero-top{display:flex;justify-content:space-between;align-items:center}.hero-top p{margin:0}.hero-top>.micro{color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--acid);margin-right:8px}.hero-heading{display:grid;grid-template-columns:1fr 285px;gap:40px;align-items:end;margin:39px 0 35px}.hero h1{font-size:clamp(56px,8vw,122px);margin:0;white-space:nowrap}.h1-location{display:block;white-space:normal;font:12px/1.5 Consolas,monospace;letter-spacing:.02em;margin-bottom:20px;color:var(--muted)}.outline{color:var(--bg);-webkit-text-stroke:1px var(--ink)}.hero-intro{padding-bottom:3px;font-size:16px;line-height:1.6}.hero-intro p{margin-bottom:22px;color:var(--muted)}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;min-height:56px;border:1px solid transparent;font-size:13px;font-weight:bold;line-height:1.3;text-decoration:none}.button:hover{text-decoration:none;filter:brightness(.92)}.button span{font-size:24px;line-height:1}.acid{background:var(--acid);color:var(--bg)}.dark{background:var(--bg);color:var(--ink);max-width:290px}.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.hero-photo{position:relative;height:clamp(270px,33vw,505px);overflow:hidden}.hero-photo>img{height:100%;object-fit:cover;object-position:50% 63%}.hero-photo:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#10120dd9);pointer-events:none}.photo-label{position:absolute;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;font:10px/1.5 Consolas,monospace;letter-spacing:.07em;z-index:1}.photo-label span{background:var(--bg);padding:7px 10px}.photo-call{position:absolute;bottom:25px;left:24px;z-index:1;display:flex;gap:40px;align-items:center;font-size:14px;padding:9px 0}.photo-call span{font-size:23px;color:var(--acid)}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-bottom:1px solid var(--line);padding:26px 0;font-size:12px}.trust-strip span:nth-child(2){text-align:center}.trust-strip span:nth-child(3){text-align:right}.trust-strip b{font:11px Consolas,monospace;color:var(--acid);margin-right:10px}.section{padding:90px 4%;border-bottom:1px solid var(--line)}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.copy{color:var(--muted);font-size:15px}.copy p:last-child{margin-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}.section-head h2{margin-bottom:0}.section-aside{font-size:13px;color:var(--muted);line-height:1.7}.service-grid{display:grid;grid-template-columns:repeat(4,1fr)}.service{padding:28px 25px;border:1px solid var(--line);margin-left:-1px;display:flex;flex-direction:column;transition:background .2s}.service:hover{background:var(--panel)}.service-number{font:12px Consolas,monospace;color:var(--acid);margin-bottom:40px}.service h3{margin-bottom:24px}.service p{font-size:13px;color:var(--muted);line-height:1.75}.service a{display:flex;justify-content:space-between;gap:15px;font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:auto}.service a span{color:var(--acid);font-size:22px}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.project{margin:0;overflow:hidden}.project-large{grid-row:span 2}.project img{height:230px;object-fit:cover;transition:transform .5s}.project-large img{height:calc(100% - 88px);min-height:460px}.project:hover img{transform:scale(1.015)}.project figcaption{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.project strong{font-size:17px;font-weight:500}.project small{display:block;color:var(--muted);font:10px/1.7 Consolas,monospace;margin-top:6px}.project figcaption>span:last-child{font-size:28px;color:var(--acid)}.artisan-section{margin:40px 4%;display:grid;grid-template-columns:38% 1fr;background:var(--paper);color:var(--bg)}.artisan-photo{position:relative;min-height:540px;background:#a7a99e}.artisan-photo img{height:100%;object-fit:cover;object-position:50% 35%}.portrait-label{position:absolute;bottom:25px;left:25px;background:var(--bg);color:var(--ink);padding:8px 12px}.artisan-copy{padding:55px 9%}.artisan-copy .section-tag{color:#51554b}.artisan-copy h2{font-size:clamp(36px,4.3vw,62px)}.artisan-copy h2 em{color:#586321}.artisan-copy p{font-size:14px}.artisan-copy a:focus-visible{outline-color:#586321}.budget-list{padding:0;list-style:none;counter-reset:budget}.budget-list li{padding:19px 0 19px 43px;border-top:1px solid var(--line);position:relative;counter-increment:budget}.budget-list li:before{content:'0' counter(budget);position:absolute;left:0;top:20px;color:var(--acid);font:12px Consolas,monospace}.budget-list strong{display:block;font-size:15px}.budget-list span{display:block;font-size:13px;line-height:1.65;margin-top:5px}.area{display:grid;grid-template-columns:1fr 1fr;gap:9%}.area>div>p:not(.section-tag){color:var(--muted);font-size:14px;max-width:440px}.text-link{display:inline-block;background:transparent;border:0;padding:12px 0;color:var(--ink);font-size:13px;text-align:left}.towns{display:grid;grid-template-columns:1fr 1fr;align-content:start}.towns>span{padding:17px 12px;border-bottom:1px solid var(--line);font-size:13px}.towns .town-primary{grid-column:span 2;display:flex;justify-content:space-between;color:var(--acid);font-size:17px;gap:20px}.town-primary b{font:11px Consolas,monospace;align-self:center}.reviews{background:var(--panel)}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%}.review-grid figure{margin:0;border-top:1px solid var(--line);padding-top:28px}.review-grid blockquote{font-size:25px;line-height:1.3;letter-spacing:-.025em;margin:0 0 35px;max-width:490px}.review-grid figcaption{font-size:13px}.review-grid small{display:block;font:10px/1.6 Consolas,monospace;color:var(--muted);margin-top:4px}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:9%}.faq-section>div>p:not(.section-tag){color:var(--muted);font-size:14px;max-width:300px}details{border-bottom:1px solid var(--line)}details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;padding:24px 35px 24px 0;font-size:15px;list-style:none;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';color:var(--acid);position:absolute;right:5px;top:17px;font-size:27px;font-weight:300}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding-bottom:10px}.estimate{display:grid;grid-template-columns:1fr 1fr;gap:9%}.estimate-intro>p:not(.section-tag){color:var(--muted);font-size:14px;max-width:370px}.big-phone{display:flex;align-items:center;gap:25px;font-size:clamp(23px,3vw,40px);font-weight:bold;letter-spacing:-.04em;margin:35px 0 10px}.big-phone span{color:var(--acid)}.estimate-form{background:var(--panel);padding:35px}.estimate-form label{display:block;font-size:13px;margin:0 0 9px}.estimate-form input,.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #646b5a;background:var(--bg);color:var(--ink);padding:14px;margin:0 0 24px;border-radius:0;font-size:14px}.estimate-form textarea{resize:vertical}.estimate-form textarea::placeholder{color:var(--muted)}.estimate-form button.button{width:100%}.form-note{font-size:11px;color:var(--muted);line-height:1.65;margin:18px 0 0}.estimate-form h3{font-size:28px}.estimate-form pre{font:14px/1.7 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);padding:18px;color:var(--muted)}.result-actions{display:flex;flex-wrap:wrap;gap:15px}.result-actions>.button{width:100%}.result-actions>.text-link{flex:1}.final-contact{padding:70px 4%;background:var(--acid);color:var(--bg)}.final-contact h2{font-size:clamp(62px,11vw,170px);position:relative;margin:30px 0 45px}.final-contact h2>span{-webkit-text-stroke:1px var(--bg);color:var(--acid)}.final-contact h2>a{position:absolute;right:3%;top:0;font-weight:400;line-height:1}.final-contact>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #707e34;padding-top:22px;font-size:14px}.final-contact a:focus-visible{outline-color:var(--bg)}.site-footer{padding:50px 4% 25px}.footer-main{display:flex;justify-content:space-between;gap:30px;padding-bottom:40px}.footer-main address,.footer-main>p{font-size:12px;color:var(--muted);font-style:normal}.footer-main address a{display:inline-block;padding:8px 0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--muted)}.footer-bottom a,.footer-bottom button{padding:12px 0}.footer-bottom button{color:inherit;background:none;border:0;font-size:inherit}.contact-widget{position:fixed;bottom:24px;right:24px;z-index:30}#contact-widget-toggle{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:var(--acid);border:1px solid var(--bg);color:var(--bg);box-shadow:0 4px 24px #0005}#contact-widget-menu{position:absolute;bottom:74px;right:0;width:260px;padding:18px;background:var(--ink);color:var(--bg);border:1px solid var(--bg);box-shadow:0 8px 35px #0004}#contact-widget-menu p{font-size:12px;font-weight:bold;margin-bottom:12px}#contact-widget-menu a{display:block;padding:12px;border-top:1px solid #bbbfb0;font-size:14px}.widget-whatsapp span{color:#13733b}#contact-widget-menu a:focus-visible{outline-color:#52601c}.consent-banner{position:fixed;bottom:20px;left:20px;z-index:40;max-width:460px;padding:24px;background:var(--paper);color:var(--bg);border:1px solid var(--bg);box-shadow:0 5px 30px #0005}.consent-banner p{font-size:13px;margin:10px 0}.consent-banner div{display:flex;gap:12px}.consent-banner button{padding:12px;background:var(--bg);color:var(--ink);border:0;flex:1;font-size:12px}.consent-banner a{font-size:12px;display:inline-block;padding-top:15px}.consent-banner a:focus-visible,.consent-banner button:focus-visible{outline-color:#586321}.legal{max-width:900px;margin:auto;padding:75px 4%}.legal h1{font-size:clamp(42px,6vw,70px);line-height:1.03;margin-bottom:35px}.legal h2{font-size:26px;letter-spacing:-.03em;line-height:1.2;margin:45px 0 18px}.legal p{font-size:15px;color:var(--muted)}.legal a{text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:1100px){.hero-heading{grid-template-columns:minmax(0,1fr) 220px;gap:25px}.hero h1{font-size:6.3vw}.service-grid{grid-template-columns:1fr 1fr}.service-number{margin-bottom:25px}.service{margin-top:-1px}.artisan-photo{min-height:500px}.artisan-copy{padding:40px 7%}.local-grid,.area,.faq-section,.estimate{gap:5%}.section{padding-top:65px;padding-bottom:65px}nav{gap:18px}}
@media(max-width:760px){html{scroll-padding-top:90px}.site-header{height:78px;padding:15px 5%;gap:10px}.brand-name{font-size:12px}.brand-name small{font-size:7px}.brand-mark{font-size:30px}.brand{gap:8px}nav{display:none}.header-phone{font-size:12px}.header-phone span{display:none}.hero{padding:24px 5% 0}.hero-top>.micro{display:none}.eyebrow{font-size:9px}.hero-heading{display:block;margin:28px 0}.hero h1{font-size:clamp(42px,10.5vw,80px);white-space:normal;letter-spacing:-.065em}.h1-location{font-size:10px;margin-bottom:20px;letter-spacing:0}.hero-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.hero-intro p{font-size:12px;margin:0}.hero-intro .button{max-width:200px;font-size:11px;padding:15px;gap:15px}.hero-photo{height:320px}.photo-label{top:12px;left:12px;right:12px;font-size:8px}.photo-label>span:first-child{max-width:200px}.photo-label>span:last-child{display:none}.photo-call{bottom:20px;left:18px;font-size:12px;gap:25px}.trust-strip{grid-template-columns:1fr;gap:14px;padding:23px 0;font-size:12px}.trust-strip span:nth-child(n){text-align:left}.section{padding:55px 5%}.local-grid,.area,.faq-section,.estimate{grid-template-columns:1fr;gap:25px}h2{font-size:clamp(36px,9vw,56px);margin-bottom:25px}.section-tag{font-size:10px;margin-bottom:22px}.copy{font-size:14px}.section-head{display:block;margin-bottom:30px}.section-aside{margin:22px 0 0}.section-head>.text-link{margin-top:20px}.service{padding:22px 18px}.service h3{font-size:25px}.service p{font-size:12px}.service a{font-size:11px}.project-grid{grid-template-columns:1fr;gap:28px}.project-large{grid-row:auto}.project-large img{height:330px;min-height:0}.project img{height:280px}.project figcaption{height:80px}.project strong{font-size:16px}.artisan-section{margin:20px 5%;grid-template-columns:1fr}.artisan-photo{height:370px;min-height:0}.artisan-photo img{object-position:50% 28%}.artisan-copy{padding:32px 25px}.artisan-copy h2{font-size:clamp(35px,8vw,55px)}.towns>span{padding:15px 5px;font-size:12px}.towns .town-primary{font-size:14px}.review-grid{grid-template-columns:1fr;gap:30px}.review-grid blockquote{font-size:23px;margin-bottom:20px}.faq-section>div>p:not(.section-tag){max-width:none}.estimate-form{padding:25px}.big-phone{font-size:29px;margin:20px 0 10px}.estimate-intro>p:not(.section-tag){max-width:none}.final-contact{padding:45px 5%}.final-contact h2{font-size:13.5vw;letter-spacing:-.065em;margin-bottom:35px}.final-contact h2>a{right:0}.final-contact>div{flex-direction:column;gap:2px;font-size:13px}.final-contact>div a{min-height:44px;display:flex;align-items:center;padding-right:65px}.site-footer{padding:35px 5% 100px}.footer-main{flex-direction:column;gap:25px;padding-bottom:20px}.footer-main>p{margin-bottom:0}.footer-bottom{flex-wrap:wrap;gap:8px 25px}.contact-widget{bottom:18px;right:18px}.consent-banner{left:12px;right:12px;bottom:12px;max-width:none;padding:20px}}
@media(max-width:380px){.hero-intro{align-items:stretch;flex-direction:column;gap:15px}.hero-intro .button{max-width:none}.service-grid{grid-template-columns:1fr}.header-phone{font-size:11px}.brand-name small{font-size:6px}.hero-photo{height:270px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.towns>span:not(.town-primary){display:flex;justify-content:space-between;align-items:center;gap:12px}.towns small{font:10px Consolas,monospace;color:var(--muted);white-space:nowrap}.area-note{margin-top:18px!important;font-size:11px!important}.header-phone{padding:12px 0}