@font-face{font-family:DM;src:url(/assets/dm-sans.woff2) format("woff2");font-display:swap}@font-face{font-family:Editorial;src:url(/assets/dm-serif-display.ttf) format("truetype");font-display:swap}:root{--forest:#163e33;--sage:#698650;--ink:#08090c;--muted:#59616f;--line:#bcc5b9;--serif:Editorial,Georgia,serif;font-family:DM,Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--sage);outline-offset:5px}h1,h2,h3,p{margin-top:0}p{line-height:1.55}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,h2{letter-spacing:-.045em;line-height:1.04}h2{font-size:clamp(40px,5.5vw,79px);margin-bottom:27px}.shell{width:90.4%;max-width:1440px;margin:auto}header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--ink);gap:25px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand img{width:47px;height:64px;object-fit:contain}.brand>span{font-family:var(--serif);font-size:35px;letter-spacing:4px;line-height:1}.brand small{font-family:DM,Arial,sans-serif;display:block;font-size:13px;letter-spacing:7.5px;margin:8px 0 0 5px;color:var(--sage)}nav{display:flex;align-items:center;gap:42px;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:29px;background:var(--forest);color:#fff;padding:17px 28px;border:1px solid var(--forest);font-size:16px;transition:background .15s}.button:hover{background:#285744}.button svg{flex-shrink:0}nav .button{font-size:15px}.hero{display:grid;grid-template-columns:2.13fr 1fr;gap:5.5%;padding-top:61px;padding-bottom:31px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:650;color:var(--forest);margin-bottom:18px}.hero h1{font-size:clamp(70px,9.65vw,149px);line-height:1;letter-spacing:-.055em;margin:0;white-space:nowrap}.hero-aside{padding-top:25px}.hero-aside>p:first-child{font-size:clamp(18px,1.78vw,26px);line-height:1.4;margin-bottom:24px}.caption{font-size:13px;color:var(--muted);margin:14px 0 0}.hero-photo{display:block;width:100%;height:auto;aspect-ratio:2.38;object-fit:cover}.section{padding-top:72px;padding-bottom:72px}.repairs{padding-top:35px}.repairs h2{white-space:nowrap;margin-bottom:27px}.repair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;border-top:1px solid #58635c;padding-top:26px}.repair-grid h3{font-size:clamp(25px,2.85vw,40px);letter-spacing:-.04em;margin-bottom:8px;line-height:1.2}.repair-grid p{font-size:16px;color:var(--muted);margin-bottom:20px}.text-link{display:inline-flex;align-items:center;gap:15px;color:var(--forest);font-size:13px;border-bottom:1px solid var(--sage);padding-bottom:5px}.repair-grid a:hover .text-link{gap:22px}.service-area{display:grid;grid-template-columns:1.2fr 1fr;gap:12%;border-top:1px solid var(--line)}.service-area h2,.request h2{font-size:clamp(42px,4.4vw,67px)}.service-area>div>p:last-child,.request-grid>div>p:not(.eyebrow){font-size:16px;color:var(--muted);max-width:405px}.towns>a{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.towns>a>span{font-size:11px;color:var(--sage)}.towns h3{font-size:39px;margin:0}.towns svg{margin-left:auto;color:var(--forest)}.towns>p{font-size:10px;letter-spacing:1.7px;color:var(--forest);margin-top:24px}.request{background:#f1f5ed}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.request-note{margin-top:50px;line-height:1.6!important;color:var(--forest)!important}.request form{display:flex;flex-direction:column}.request label{font-size:13px;margin-bottom:8px}.request label span{color:var(--muted)}.request input,.request select,.request textarea{width:100%;min-width:0;background:#fff;color:var(--ink);border:1px solid #aab5a4;border-radius:0;padding:13px;font-size:16px;margin-bottom:19px}.request textarea{resize:vertical}.request textarea::placeholder{color:#697265}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-row label{display:block}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.request .button:disabled{opacity:.55;cursor:not-allowed}.form-note{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.5}.sent-message h3{font-size:40px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:10%}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;font-size:16px;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary svg{flex-shrink:0}.faq details[open] svg{transform:rotate(45deg)}.faq details p{color:var(--muted);font-size:15px;margin:17px 30px 0 0}footer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px 0;border-top:1px solid var(--line)}footer .brand{transform-origin:left center;transform:scale(.8)}footer p,footer>span{font-size:12px;margin:0;color:var(--muted)}.menu-toggle{display:none}.skip{position:absolute;left:20px;top:-70px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1600px){.hero{padding-top:80px;padding-bottom:55px}}@media(max-width:950px){nav{gap:22px;font-size:13px}.brand>span{font-size:28px}.brand small{font-size:10px;letter-spacing:6px}.brand img{width:39px;height:54px}.brand{gap:10px}nav .button{padding:14px 18px;font-size:13px;gap:18px}.hero-aside{padding-top:22px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero h1{font-size:9.5vw}.hero-aside>p:first-child{font-size:17px}.hero-aside .button{font-size:13px;padding:15px 17px;gap:16px}.caption{font-size:11px}.hero{padding-top:45px}.repair-grid{gap:5%}.repair-grid p{font-size:14px}}@media(max-width:700px){.shell{width:88%}header{height:93px;position:relative}.menu-toggle{display:block;background:#fff;border:1px solid var(--line);padding:11px 14px;color:var(--forest);font-size:13px}nav{display:none;position:absolute;top:86px;left:0;right:0;padding:24px;background:#fff;z-index:5;border:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:24px}.hero{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:30px}.hero .eyebrow{font-size:9px;line-height:1.7;letter-spacing:1.3px;max-width:310px;margin-bottom:16px}.hero h1{font-size:clamp(47px,11.7vw,80px);line-height:1.04}.hero-aside{padding-top:0}.hero-aside>p:first-child{font-size:18px;max-width:460px;margin-bottom:22px}.hero-aside .button{font-size:15px;padding:16px 22px;gap:28px}.caption{font-size:12px}.hero-photo{aspect-ratio:1.35;object-position:30% center}.section{padding-top:45px;padding-bottom:45px}.repairs h2{white-space:normal;font-size:42px}.eyebrow{font-size:10px}.repair-grid{grid-template-columns:1fr;gap:27px;padding-top:25px}.repair-grid h3{font-size:30px}.repair-grid p{font-size:16px}.service-area,.request-grid,.faq{grid-template-columns:1fr;gap:27px}.service-area h2,.request h2{font-size:43px}.towns h3{font-size:35px}.request-note{margin-top:26px}.contact-row{grid-template-columns:1fr;gap:0}.faq{gap:10px}.faq summary{font-size:15px}footer{flex-wrap:wrap;gap:22px}footer .brand{transform:none}footer>span{width:100%}footer p{font-size:11px}.brand>span{font-size:25px}.brand small{font-size:9px;letter-spacing:5.3px}.brand img{width:34px;height:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.repair-intro{max-width:760px;font-size:18px;color:var(--muted);line-height:1.6;margin-bottom:30px}@media(max-width:700px){.repair-intro{font-size:16px}}
