:root{--ink:#0b0d0c;--charcoal:#151a17;--silver:#c7cecc;--mist:#edf0ef;--green:#6d8b62;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f7f6;color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.site-header{height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:14px;font:700 16px/1 "Manrope",sans-serif;letter-spacing:.02em}.brand img{width:58px;height:58px;object-fit:cover;border-radius:50%}.site-header nav{display:flex;align-items:center;gap:34px;font-weight:600;font-size:15px}.site-header nav>a:not(.nav-cta){color:#d8dcdb}.site-header nav>a:hover{color:white}.nav-cta{border:1px solid #9fa8a5;padding:12px 18px}.menu-button{display:none}.hero{min-height:760px;height:calc(100vh - 88px);position:relative;color:white;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(4,6,5,.9) 0%,rgba(4,6,5,.68) 44%,rgba(4,6,5,.1) 78%),linear-gradient(0deg,rgba(4,6,5,.45),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 48px));margin:auto;padding-bottom:40px}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font:700 13px/1.4 "Manrope",sans-serif;color:#d2d9d6;margin:0 0 22px}.eyebrow.dark{color:#597051}.hero h1{font:800 clamp(48px,7.1vw,100px)/.95 "Manrope",sans-serif;letter-spacing:-.055em;margin:0 0 28px;max-width:850px}.intro{font-size:20px;line-height:1.55;max-width:610px;color:#e6e9e8;margin:0 0 36px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:0 24px;font-weight:700;border:1px solid transparent;transition:.2s}.button-light{background:white;color:var(--ink)}.button-light:hover{background:var(--silver)}.button-ghost{border-color:rgba(255,255,255,.55);color:white}.button-ghost:hover{background:rgba(255,255,255,.1)}.service-strip{position:absolute;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:0;background:rgba(10,13,11,.92);border-top:1px solid rgba(255,255,255,.2)}.service-strip span{padding:20px 5vw;color:#d7dcda;font-size:14px;border-right:1px solid rgba(255,255,255,.16)}.service-strip span:last-child{border:0}.section{max-width:var(--max);margin:auto;padding:120px 24px}.section-heading{max-width:650px;margin-bottom:62px}.section-heading h2,.about h2,.quote-section h2{font:700 clamp(36px,4.8vw,64px)/1.05 "Manrope",sans-serif;letter-spacing:-.045em;margin:0 0 22px}.section-heading>p:last-child{font-size:18px;color:#5d625f;max-width:580px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cdd2d0;border-left:1px solid #cdd2d0}.service-grid article{padding:34px 30px 38px;border-right:1px solid #cdd2d0;border-bottom:1px solid #cdd2d0;min-height:245px}.service-grid article>span{font:600 13px "Manrope";color:#78916d}.service-grid h3{font:700 22px/1.2 "Manrope";margin:34px 0 14px}.service-grid p{margin:0;color:#5d625f}.work-section{background:var(--charcoal);color:white}.work-inner{padding-bottom:130px}.section-heading.light{margin-bottom:50px}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.gallery figure{grid-column:span 4;margin:0;position:relative;overflow:hidden;height:410px}.gallery figure.wide{grid-column:span 8}.gallery img{height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;left:0;bottom:0;background:rgba(7,10,8,.86);padding:12px 18px;font-weight:600}.about{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:center}.about-image img{height:650px;object-fit:cover}.about-copy>p:not(.eyebrow){font-size:18px;color:#555d59}.about ul{list-style:none;padding:0;margin:30px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:13px 24px}.about li:before{content:"";display:inline-block;width:7px;height:7px;background:var(--green);margin-right:11px}.text-link{font-weight:700;border-bottom:1px solid #9da5a1;padding-bottom:8px}.text-link span{margin-left:8px}.quote-section{background:#1e2a22;color:white;padding:100px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:end;gap:50px}.quote-section>div:first-child{max-width:710px}.quote-section p{color:#d6ded9;font-size:18px}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px;text-align:center}.email{font-weight:600;color:#d8dedb;border-bottom:1px solid #87958b;padding-bottom:6px}footer{background:var(--ink);color:#aeb5b2;padding:48px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr 1.7fr auto;gap:40px;align-items:center;font-size:14px}.footer-brand{display:flex;align-items:center;gap:12px;color:white;font-weight:700}.footer-brand img{width:52px;height:52px;border-radius:50%;object-fit:cover}.mobile-call{display:none}
@media(max-width:900px){.site-header{height:76px}.brand img{width:48px;height:48px}.brand span{font-size:14px}.menu-button{display:flex;width:44px;height:44px;background:none;border:0;flex-direction:column;justify-content:center;gap:5px;padding:10px}.menu-button span:not(.sr-only){height:2px;background:white;width:24px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#0b0d0c;padding:22px 24px 30px;flex-direction:column;align-items:stretch;gap:6px}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.hero{height:auto;min-height:680px}.hero-content{padding:90px 0 130px}.service-strip span{padding:16px 18px;text-align:center}.service-grid{grid-template-columns:1fr 1fr}.gallery figure,.gallery figure.wide{grid-column:span 6}.about{gap:45px}.about-image img{height:550px}.quote-section{align-items:flex-start;flex-direction:column}.contact-actions{width:100%;max-width:420px}footer{grid-template-columns:1fr 1fr}footer>p:last-child{grid-column:1/-1}}
@media(max-width:620px){body{padding-bottom:60px}.section{padding:80px 20px}.hero{min-height:690px}.hero-content{width:calc(100% - 40px);padding-top:58px}.hero h1{font-size:50px}.intro{font-size:17px}.hero-actions{flex-direction:column;align-items:stretch}.service-strip{justify-content:stretch}.service-strip span{flex:1;padding:14px 5px;font-size:11px}.section-heading{margin-bottom:38px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0;padding:27px 24px}.service-grid h3{margin-top:20px}.gallery{display:block}.gallery figure,.gallery figure.wide{height:330px;margin-bottom:14px}.about{display:flex;flex-direction:column;padding-top:0}.about-image{width:calc(100% + 40px);margin-left:-20px}.about-image img{height:430px}.about ul{grid-template-columns:1fr}.quote-section{padding:76px 20px}.quote-section h2{font-size:43px}footer{grid-template-columns:1fr;padding:44px 20px}.mobile-call{display:flex;position:fixed;z-index:30;bottom:0;left:0;right:0;height:60px;background:white;color:#0b0d0c;justify-content:center;align-items:center;font-weight:800;box-shadow:0 -4px 20px rgba(0,0,0,.18)}}
.reviews-section{background:#202723;color:white}.reviews-inner{padding-top:100px;padding-bottom:110px}.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:52px}.reviews-heading h2{font:700 clamp(36px,4.5vw,60px)/1.08 "Manrope",sans-serif;letter-spacing:-.045em;margin:0;max-width:780px}.rating{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 14px;min-width:225px}.rating strong{font:800 44px "Manrope";grid-row:span 2}.rating span,.stars{color:#afc99e;letter-spacing:.15em}.rating small{color:#bdc6c1}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reviews-grid blockquote{margin:0;background:#f4f6f4;color:var(--ink);padding:34px;display:flex;min-height:360px;flex-direction:column}.reviews-grid blockquote>p{font-size:17px;line-height:1.65;margin:24px 0 30px}.reviews-grid blockquote footer{margin-top:auto;background:none;color:var(--ink);padding:0;display:flex;flex-direction:column;gap:2px;font-size:15px}.reviews-grid blockquote footer span{color:#66706a;font-size:13px}@media(max-width:900px){.reviews-heading{align-items:flex-start;flex-direction:column}.reviews-grid{grid-template-columns:1fr}.reviews-grid blockquote{min-height:0}}@media(max-width:620px){.reviews-inner{padding-top:72px;padding-bottom:80px}.rating{min-width:0}}

section[id]{scroll-margin-top:24px}.aftercare-inline{margin-top:16px!important;color:#36512d!important;font-weight:600}.selection-note{color:#555d59}.selection-group{border:0;padding:0;margin:40px 0}.selection-group legend{font:700 26px Manrope;margin-bottom:18px}.selection-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.selection-card{display:block;border:1px solid #bec7c0;background:white;padding:20px;cursor:pointer}.selection-card:has(input:checked){border-color:#36512d;box-shadow:0 0 0 2px #36512d}.selection-card p{font-size:16px;color:#555d59;margin-bottom:0}.selection-card input{width:18px;height:18px;accent-color:#36512d}.pattern-diagram{display:block;width:100%;height:120px;background:#e6e9e6;margin-bottom:20px}.button-dark{background:#1e2a22;color:white;cursor:pointer;font-size:16px}.button-dark:hover{background:#344a3b}.aftercare{border-left:4px solid #466c3a;background:#e4ebe2;padding:24px;margin-bottom:32px}.aftercare strong{font-size:23px}.aftercare p{margin:6px 0 0}.request-section{border-top:1px solid #ccd2cd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}#visit-form label{display:flex;flex-direction:column;gap:8px;font-weight:600}#visit-form input,#visit-form select,#visit-form textarea{font:inherit;width:100%;padding:13px;border:1px solid #9ba79e;background:white;border-radius:0;color:#0b0d0c}#visit-form .full{grid-column:1/-1}#visit-form small{font-weight:400;font-size:14px}.honeypot{position:absolute;left:-10000px}#form-status:not(:empty){padding:20px;background:#e4ebe2}button:disabled{opacity:.6;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #779b60;outline-offset:4px}.email{overflow-wrap:anywhere} @media(max-width:1000px){.selection-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.selection-grid,.form-grid{grid-template-columns:1fr}.selection-card{padding:20px}.site-header{padding:0 16px}.brand{gap:8px}}
