:root{--coal:#222827;--ink:#252a28;--paper:#f7f6f2;--line:#d6d7d0;--copper:#b76642;--sand:#e9e6dd;--muted:#626a65}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b76642;outline-offset:4px}.site-header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--paper)}.wordmark{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:15px;font-weight:800;letter-spacing:1px;line-height:1.3}.wordmark svg{color:var(--copper);flex-shrink:0}.wordmark small{display:block;letter-spacing:3px;font-size:8px;font-weight:400;margin-top:6px}nav{display:flex;gap:25px;font-size:13px}nav a{text-decoration:none}.header-contact{font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:7px}.header-contact span{margin-left:20px}.hero{background:var(--coal);color:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;min-height:650px}.hero-copy{padding:75px 10% 40px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.6;margin:0 0 25px}h1{font-size:clamp(56px,6.7vw,100px);font-weight:500;letter-spacing:-5px;line-height:1.04;margin:28px 0}h2{font-size:clamp(32px,3.9vw,54px);font-weight:500;line-height:1.12;letter-spacing:-2px;margin:0 0 25px}h3{font-size:22px;font-weight:500;line-height:1.25;margin:15px 0}p{margin:0 0 20px}.intro{font-size:18px;color:#d1d6d0;max-width:430px;line-height:1.6}.hero-actions{margin:32px 0;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;text-decoration:none;padding:16px 21px;border:0;font-size:13px;font-family:inherit;font-weight:700;cursor:pointer}.copper{background:var(--copper);color:white}.dark{background:var(--coal);color:white}.outline{border:1px solid #7d8781;color:var(--paper)}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid;padding:5px 0}.hero-location{font-size:9px;letter-spacing:2px;color:#b7c0b8;margin-top:55px;display:flex;align-items:center;gap:16px}.hero-location i{height:1px;width:25px;background:var(--copper)}.hero-image{position:relative;min-height:550px;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;display:block}.image-label{position:absolute;bottom:20px;right:25px;left:25px;padding:12px 15px;background:#222827d9;color:white;font-size:9px;letter-spacing:2px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);padding:25px 5%;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.credentials span{padding:8px 0}.credentials span+span{border-left:1px solid var(--line);padding-left:35px}.credentials b{font-weight:700}.section{padding:95px 6%;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end;margin-bottom:45px}.section-heading>p{color:var(--muted);max-width:360px;margin-left:auto}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.service-list article{border-top:1px solid var(--ink);padding-top:23px}.index{font-size:11px;color:var(--copper)}.service-list p{font-size:14px;color:var(--muted);min-height:95px}.service-list a{font-size:11px;display:flex;justify-content:space-between;gap:8px;text-decoration:none;padding:15px 0;border-bottom:1px solid var(--line)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--coal);color:var(--paper)}.approach-title>p:not(.eyebrow){color:#bec5bf;max-width:400px}.approach-title .button{margin-top:15px}.approach-details article{display:flex;gap:30px;padding:26px 0;border-top:1px solid #65706a}.approach-details article>span{font-size:11px;color:#d18b68;padding-top:5px}.approach-details h3{margin:0 0 10px;font-size:21px}.approach-details p{color:#bec5bf;font-size:14px;margin:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}.owner-names{border-top:1px solid var(--line);padding-top:25px;margin-top:45px;display:flex;gap:25px;flex-wrap:wrap}.owner-names span{font-size:25px;letter-spacing:2px}.owner-names small{flex-basis:100%;font-size:8px;letter-spacing:1.6px}.about-copy p{font-size:15px;color:var(--muted)}.about-copy .lead{font-size:22px;line-height:1.45;color:var(--ink)}.owner-contacts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.owner-contacts a{text-decoration:none;font-size:17px;border-top:1px solid var(--line);padding-top:15px}.owner-contacts small{display:block;font-size:9px;letter-spacing:2px;color:var(--copper);margin-bottom:7px}.areas{background:var(--sand);display:grid;grid-template-columns:1fr 1fr;gap:10%}.areas>div>p:not(.eyebrow){max-width:370px;color:var(--muted)}.area-columns article{border-top:1px solid #adb4ab;padding:20px 0}.area-columns article>span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.area-columns p{font-size:14px;margin-bottom:0}.season{text-align:center;background:#f1eee6}.season h2{max-width:850px;margin:0 auto 25px}.season>p:not(.eyebrow){max-width:650px;margin:0 auto 25px;color:var(--muted)}.estimate{display:grid;grid-template-columns:1fr 1fr;gap:10%}.estimate-info>p:not(.eyebrow){max-width:390px}.contact-main{display:flex;justify-content:space-between;text-decoration:none;padding:18px 0;border-top:1px solid var(--line);font-size:14px;gap:15px}.contact-main span{font-weight:700}.email-address{display:block;font-size:14px;margin:20px 0;overflow-wrap:anywhere}.small{font-size:11px;color:var(--muted);line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:11px;font-weight:700;display:block}input,select,textarea{display:block;width:100%;font:14px/1.5 Arial,sans-serif;border:1px solid #bbc2b8;background:transparent;border-radius:0;padding:12px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.full{grid-column:1/-1}form .button{margin-top:20px;width:100%}form>.small{margin-top:15px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:50px}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-size:16px;list-style-position:outside}.faq details p{font-size:14px;color:var(--muted);margin:20px 0 0}.referral{background:var(--copper);color:white;padding:40px 6%;display:flex;gap:50px;align-items:center;justify-content:space-between}.referral p{font-size:25px;line-height:1.2;margin:0;max-width:400px}.referral span{font-size:13px;max-width:440px}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:25px;align-items:center}footer>div,footer>a:last-child{font-size:11px}.mobile-contact{display:none}@media(min-width:1500px){.hero-copy{padding-top:100px}.hero{min-height:740px}}@media(max-width:1000px){nav{gap:15px}.header-contact{display:none}.hero-copy{padding:55px 8% 35px}.hero{grid-template-columns:1fr 1fr;min-height:580px}h1{font-size:65px}.intro{font-size:16px}.hero-location{letter-spacing:1px;font-size:8px;gap:9px}.service-list{grid-template-columns:1fr 1fr}.service-list p{min-height:65px}.section{padding:70px 6%}.owner-contacts{grid-template-columns:1fr}.contact-main{display:block}.contact-main span{display:block;margin-top:5px}}@media(max-width:650px){body{padding-bottom:54px}.site-header{padding:20px 6%}.wordmark{font-size:12px;gap:9px}.wordmark svg{width:27px}nav{gap:14px;font-size:11px}nav a:nth-child(2),nav a:nth-child(4){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 30px}h1{font-size:66px;letter-spacing:-3px}.hero-location{margin-top:32px}.hero-image{min-height:0;height:350px}.hero-image img{object-position:50% 58%}.credentials{grid-template-columns:1fr;padding:18px 6%;gap:0}.credentials span+span{border-left:0;padding-left:0}.credentials span{padding:5px 0}.section{padding:55px 6%}.section-heading,.approach,.about,.areas,.estimate,.faq{grid-template-columns:1fr;gap:35px}.section-heading{margin-bottom:30px}.section-heading>p{margin-left:0}.service-list{gap:28px 20px}.service-list h3{font-size:20px}.service-list p{font-size:13px;min-height:110px}.service-list a{font-size:10px}.owner-names{margin-top:30px}.owner-contacts{grid-template-columns:1fr 1fr}.owner-contacts a{font-size:14px}.referral{display:block}.referral p{margin-bottom:18px}.referral span{display:block}footer{display:block}footer>div{margin:25px 0}h2{font-size:38px}.form-grid{gap:15px}.contact-main{display:flex}.mobile-contact{position:fixed;display:flex;bottom:0;left:0;right:0;background:var(--coal);color:white;z-index:30;box-shadow:0 -2px 12px #0002}.mobile-contact a{flex:1;text-align:center;text-decoration:none;font-size:12px;padding:17px 5px;border-right:1px solid #ffffff2b}.email-address{font-size:13px}}

.local-contact{padding-top:15px;margin-top:18px;border-top:1px solid #adb4ab}.local-contact strong{font-size:12px}.local-contact a{font-size:14px}.estimate-info .contact-main{flex-wrap:wrap}.estimate-info .contact-main span{white-space:nowrap}
/* Refinements: preserve the established warm, architectural visual system. */
:root{--copper:#a95231}a,button{-webkit-tap-highlight-color:transparent}.button{min-height:48px;transition:background .2s,color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.copper:hover{background:#934423}.dark:hover{background:#3b4641}.skip-link{position:absolute;left:20px;top:-80px;padding:12px 18px;background:var(--paper);z-index:100}.skip-link:focus{top:10px}.menu-toggle{display:none}.site-header{position:relative}.availability-banner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:13px 5%;background:#ece8dd;font-size:12px}.availability-banner b{font-size:10px;letter-spacing:1.25px;margin-right:16px;color:#8d4327}.availability-banner a{white-space:nowrap;text-decoration:none;border-bottom:1px solid #888f84}.hero-image img{object-position:50% 48%}.image-label{display:grid;grid-template-columns:1fr auto;gap:3px 16px;padding:18px 20px;background:#222827ed}.image-label>span{font-size:8px;color:#dbb59f;grid-column:1/-1}.image-label strong{font-size:21px;letter-spacing:0;font-weight:400}.image-label a{font-size:10px;letter-spacing:0;align-self:center;text-decoration:none}.season{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;text-align:left;background:#eae5d9}.season h2{margin:0 0 25px}.season-heading>p:not(.eyebrow){max-width:440px;color:var(--muted)}.season-next{border-left:1px solid #bdbeb2;padding-left:35px}.season-tag{font-size:9px;letter-spacing:1.8px;color:#8d4327;font-weight:700}.season-next h3{font-size:26px;line-height:1.3;margin-top:18px}.season-next p{font-size:14px;color:var(--muted)}.season-next .text-link{display:table;margin-top:18px}.contact-options{display:grid;gap:17px;margin:28px 0}.contact-options article{border:1px solid #c9cfc4;background:#f0f0e9;padding:23px}.contact-region{font-size:9px;letter-spacing:1.8px;color:#8d4327;margin-bottom:8px;font-weight:700}.contact-options h3{font-size:20px;margin:0 0 7px}.owner-phone{font-size:26px;letter-spacing:-.6px;text-decoration:none}.contact-buttons{display:flex;gap:12px;margin-top:18px}.contact-buttons a{display:flex;align-items:center;justify-content:center;padding:10px 16px;border:1px solid #a8b0a3;min-height:44px;font-size:12px;text-decoration:none;flex:1}.contact-buttons a:first-child{background:var(--coal);color:var(--paper);border-color:var(--coal)}.form-title{margin:0 0 8px;font-size:26px}.form-intro{font-size:14px;color:var(--muted);margin-bottom:25px}input,textarea,select{background:#fffefa;font-size:16px;min-height:48px}.estimate{gap:7%}.estimate form{padding:30px;background:#efeee7;align-self:start;border-top:2px solid var(--copper)}.small{font-size:12px}.mobile-contact small{display:block;font-size:8px;letter-spacing:1px;color:#d8b39d;margin-bottom:2px}
@media(max-width:1000px){.site-header{gap:18px}.site-header nav{gap:17px}.hero-copy{padding-top:48px}.hero-image{min-height:530px}.season{gap:6%}.estimate form{padding:23px}}
@media(max-width:650px){html{scroll-padding-top:18px}body{padding-bottom:74px}.site-header{padding:18px 6%;flex-wrap:wrap;gap:0}.wordmark small{font-size:7px;letter-spacing:2px}.menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;background:none;border:1px solid #b7beb2;padding:10px 12px;min-height:44px;font:12px Arial,sans-serif;color:var(--ink)}.site-header nav{display:none;flex-basis:100%;flex-direction:column;gap:0;margin-top:16px;padding-top:8px;border-top:1px solid var(--line)}.site-header nav.is-open{display:flex}.site-header nav a,.site-header nav a:nth-child(n){display:block!important;padding:12px 0;font-size:15px;min-height:44px}.availability-banner{padding:13px 6%;display:block;font-size:12px;line-height:1.65}.availability-banner b{display:block;font-size:9px;margin:0 0 3px}.availability-banner a{display:inline-block;font-size:11px;margin-top:5px}.hero-copy{padding:36px 6% 28px}h1{font-size:clamp(52px,14vw,72px);letter-spacing:-3px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;max-width:270px}.hero-actions{gap:19px}.hero-image{height:390px;min-height:0}.hero-image img{object-position:50% 52%}.hero-location{margin-top:28px}.image-label{left:6%;right:6%;bottom:18px}.section{padding-top:54px;padding-bottom:54px}.service-list p{min-height:0}.service-list article{display:flex;flex-direction:column}.service-list a{margin-top:auto;font-size:11px;min-height:46px}.season{display:block}.season-next{border-left:0;border-top:1px solid #bdbeb2;padding:26px 0 0;margin-top:28px}.season-next h3{font-size:25px}.owner-contacts{gap:12px}.owner-contacts a{font-size:14px}.estimate form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.mobile-contact{padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{font-size:11px;padding:12px 4px;min-height:64px;display:flex;flex-direction:column;justify-content:center}.mobile-contact a:last-child{background:var(--copper)}.mobile-contact a:last-child small{color:#f8e7dc}.local-page .header-contact{display:block;margin-top:12px;flex-basis:100%;font-size:13px}.local-page .intro{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.arrow-icon{display:inline-block;width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.4;flex-shrink:0;vertical-align:-1px}.wordmark .arrow-icon{width:13px}.completed-arrows .arrow-icon{width:18px;height:18px;vertical-align:middle}

@media(max-width:650px){.availability-banner>span{display:block}.availability-banner a{margin-top:6px}}
