@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#242524;--gold:#bf9647;--paper:#faf9f5;--muted:#62645e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#fff;gap:25px}.brand{width:190px;height:90px;overflow:hidden;display:flex;align-items:center}.brand img{width:190px;mix-blend-mode:multiply}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover{color:#906c2d}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--gold);color:#20211f;padding:16px 24px;font-size:14px;font-weight:700;border:1px solid transparent;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#d2ae65;transform:translateY(-2px)}.button span{font-size:21px}.button.small{padding:10px 18px;font-size:12px}.hero{display:grid;grid-template-columns:44% 56%;min-height:660px;background:var(--ink);color:white}.hero-copy{padding:65px 10% 48px 11.4%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin-bottom:24px}.hero .eyebrow{color:#d8b366}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:-2px;line-height:1.1}h1{font-size:clamp(48px,5.5vw,80px)}em{color:var(--gold);font-style:normal}.intro{font-size:16px;color:#dddeda;margin:27px 0 30px;line-height:1.7}.hero-note{font-size:10px;color:#babcb7;margin-top:30px}.hero-photo{position:relative;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55%;position:absolute}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0008,transparent 35%)}figcaption{font-size:9px;position:absolute;bottom:14px;left:20px;right:15px;z-index:2;color:#fff;text-shadow:0 1px 5px #000;background:#171916a8;width:fit-content;padding:3px 7px}.photo-label{position:absolute;bottom:58px;left:27px;font-size:11px;letter-spacing:2px;z-index:2}.service-strip{background:#e9e4d8;padding:23px 10%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:2px;font-weight:700}.service-strip b{color:#997130;font-size:18px}.section{padding:95px 7%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}h2{font-size:clamp(34px,3.5vw,51px)}.section-heading>p{max-width:360px;font-size:15px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #d8d7ce}.services article{padding:33px;border-right:1px solid #d8d7ce;display:flex;flex-direction:column}.services article:last-child{border:0}.service-top{display:flex;justify-content:space-between;font-size:12px;margin-bottom:45px}.service-top span:last-child{font-size:28px;line-height:1;color:#98722e}h3{font-size:27px;letter-spacing:-1px}.services p{font-size:14px;margin:20px 0;color:#55574f}.services ul{padding:0;margin:4px 0 35px;list-style:none;font-size:12px}.services li{padding:8px 0;border-bottom:1px solid #d8d5ca}.services li:before{content:'✓';margin-right:9px}.services a,.text-link{font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:20px;margin-top:auto}.services article:focus-within{background:#ece2cb}@media(hover:hover) and (pointer:fine){.services article:hover{background:#ece2cb}}.seasonal{display:grid;grid-template-columns:1.08fr 1fr;background:#242524;color:white}.seasonal figure{position:relative;min-height:630px}.seasonal img{position:absolute;width:100%;height:100%;object-fit:cover}.seasonal>div{padding:70px 12%}.seasonal .eyebrow{color:#c6a15b}.seasonal p:not(.eyebrow){margin-top:25px;color:#d0d1cc;font-size:14px}.rental-note{font-size:11px;color:#c4c7be;border-left:2px solid var(--gold);padding-left:16px;margin:24px 0}.seasonal .text-link{color:#dfbd7d;margin-top:28px}.planner{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;background:#f0eee7}.planner-intro>p:not(.eyebrow){max-width:350px;margin-top:25px;color:var(--muted);font-size:15px}.pricing-note{border-top:1px solid #d0cbbb;margin-top:35px;padding-top:25px;max-width:350px;font-size:13px}.pricing-note p{margin-top:8px;color:var(--muted)}form{background:#fff;padding:33px;border-top:3px solid var(--gold)}label{display:block;font-size:12px;font-weight:700;margin:18px 0 8px}label:first-child{margin-top:0}input,select,textarea{width:100%;border:1px solid #d2d3cc;background:#fafaf7;padding:12px;color:var(--ink);border-radius:0;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:19px}.help{font-size:10px;color:#666a60;margin-top:9px;line-height:1.6}.optional{font-weight:400;color:#74776f}form .button{width:100%;margin-top:20px;font-size:12px}textarea{resize:vertical}#result{border-top:1px solid #dbd8cc;margin-top:25px;padding-top:25px}#result .eyebrow{margin-bottom:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 'DM Sans',Arial,sans-serif;margin:18px 0}.outline{background:transparent;border-color:#aaa}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:45px}.steps span{display:block;font-size:12px;color:#936d2b;border-top:1px solid #d5d5cd;padding-top:22px;margin-bottom:25px}.steps h3{font-size:21px;letter-spacing:-.6px}.steps p{font-size:14px;color:var(--muted);margin-top:14px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;padding-top:20px}.faq details{border-top:1px solid #d5d5cd;padding:20px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:600}.faq details p{font-size:13px;color:var(--muted);margin-top:14px}.contact{background:var(--ink);color:white;padding:65px 7%;display:flex;justify-content:space-between;gap:40px}.contact .eyebrow{color:#d4ac63}.contact p{font-size:13px;color:#c8cbc2;margin-top:20px}.contact-details>span{font-size:10px;letter-spacing:1px;color:#cbb788}.contact-details .button{margin-top:20px}footer{padding:35px 7%;display:flex;align-items:center;gap:30px;flex-wrap:wrap;font-size:11px}footer strong{font-size:17px;letter-spacing:-.5px}footer strong span{color:#977131;font-size:10px;letter-spacing:2px;display:block}footer p{flex:1;color:var(--muted)}footer small{color:var(--muted)}[hidden]{display:none!important}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:50px 10%}.hero{min-height:580px}.services article{padding:23px}.seasonal>div{padding:50px 10%}.planner{gap:5%}.section{padding:70px 5%}.hero-note{line-height:1.8}.brand{width:150px}.brand img{width:150px}.services h3{font-size:24px}}@media(max-width:700px){header{height:85px;padding:0 5%;gap:10px}nav{display:none}.brand{width:135px;height:80px}.brand img{width:135px}.button.small{font-size:10px;padding:9px 12px;gap:12px}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 40px}h1{font-size:57px}.hero-photo{height:350px}.hero-note{margin-top:23px}.hero .eyebrow{font-size:9px}.service-strip{padding:19px 5%;gap:10px;font-size:8px;letter-spacing:.8px}.service-strip b{font-size:12px}.service-strip span:last-child,.service-strip b:nth-child(4){display:none}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}.services{grid-template-columns:1fr}.services article{padding:28px;border-right:0;border-bottom:1px solid #d8d7ce}.service-top{margin-bottom:25px}.services h3{font-size:29px}.services ul{margin-bottom:25px}.seasonal{display:flex;flex-direction:column}.seasonal figure{min-height:330px}.seasonal>div{padding:45px 7%}.seasonal h2 br:nth-of-type(2){display:none}.planner{display:block}.planner-intro>p:not(.eyebrow),.pricing-note{max-width:none}form{margin-top:30px;padding:24px}.steps{grid-template-columns:1fr;gap:30px}.steps span{margin-bottom:15px}.faq{display:block;padding-top:0}.faq>div+div{margin-top:30px}.contact{display:block;padding:50px 7%}.contact-details{margin-top:35px}footer{gap:20px}footer p{min-width:120px}footer small{width:100%}h2{font-size:39px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-details a[href^="mailto:"]{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-details{min-width:0}#email-project{display:flex}

.spam-field{display:none!important}form>label{margin-top:18px}

.estimate-box{margin:24px 0;padding:24px;background:#f3eddf;border-left:3px solid var(--gold)}.estimate-box .eyebrow{margin-bottom:12px}.estimate-amount{font-family:Manrope,Arial,sans-serif;font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:800;overflow-wrap:anywhere}#estimate-rate{font-size:12px;font-weight:700;margin-top:15px}#estimate-detail,#estimate-scope{font-size:12px;margin-top:10px}.area-options{border:0;margin:25px 0;padding:0;min-width:0}.area-options legend{font-size:12px;font-weight:700;margin-bottom:14px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-label{display:flex;align-items:center;gap:9px;margin:0!important;font-size:12px;cursor:pointer}.check-label input{width:18px;height:18px;flex:0 0 18px;padding:0;accent-color:var(--gold)}.unsure{margin-top:16px!important}.planner form{min-width:0}.form-row>div{min-width:0}input[type=month]{min-width:0;max-width:100%}@media(max-width:380px){.check-grid{grid-template-columns:1fr}.estimate-box{padding:18px}}

.form-stage .eyebrow{margin-bottom:10px}.form-stage>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:22px}.followup-stage{border-top:1px solid #d8d5ca;padding-top:28px;margin-top:28px}.contact-fields{border-top:1px solid #d8d5ca;margin-top:28px;padding-top:24px}.contact-fields h3{font-size:22px}.contact-fields label{margin-top:18px}header .button.small{white-space:nowrap}@media(max-width:380px){header .button.small{gap:7px;padding:9px;font-size:9px}}

.arrow-icon{display:inline-block;width:20px;height:20px;flex:0 0 20px;vertical-align:middle}.button.small .arrow-icon{width:16px;height:16px;flex-basis:16px}.services a,.text-link{align-items:center}footer a{display:inline-flex;align-items:center;gap:6px}footer .arrow-icon{width:14px;height:14px;flex-basis:14px}

/* Keep descriptive headings readable on narrow screens. */
h1{font-size:clamp(40px,4.6vw,70px)}@media(max-width:700px){h1{font-size:clamp(36px,9.8vw,57px)}}

.contact h2{letter-spacing:-.5px;word-spacing:.1em}.contact>div:first-child{min-width:0}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.social-links a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 16px;border:1px solid var(--gold);color:#e1bd77;font-size:13px;font-weight:700}.social-links a:hover{background:var(--gold);color:var(--ink)}.social-links .arrow-icon{width:16px;height:16px;flex-basis:16px}
