@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--green:#203d2b;--cream:#f8f5ec;--ink:#25372b;--gold:#dac89a;--line:#ced2c5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{opacity:.8}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b77c2f;outline-offset:4px}.skip{position:absolute;left:16px;top:-80px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}header{max-width:1440px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.4}.brand-name{font-family:Georgia,serif;font-size:27px;letter-spacing:3px}.brand>span:last-child{font-size:11px;letter-spacing:1.8px;margin-top:5px}nav{display:flex;align-items:center;gap:32px}nav>a{font-size:14px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;padding:15px 23px;font-weight:500;text-decoration:none;cursor:pointer;min-height:48px}.button:hover{background:#31583e;opacity:1}.button.small{padding:10px 20px;gap:15px}.hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;padding:12px 3% 42px 7%;gap:5%}.hero-copy{padding:42px 0 18px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin:0 0 23px}h1,h2,blockquote{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02}h1{font-size:clamp(64px,6.7vw,104px);letter-spacing:-2px;margin:0 0 28px}.hero-copy>p:not(.eyebrow){max-width:440px}.intro{font-size:21px;line-height:1.5}.hero-copy .button{margin-top:22px}.location{display:block;margin:15px 0 0;font-size:13px}.logo{display:block;width:180px;height:auto;mix-blend-mode:multiply;margin:25px 0 0}.hero-photo{position:relative;min-height:690px;overflow:hidden;border-radius:150px 4px 4px 4px}.hero-photo>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 56%}.photo-note{position:absolute;bottom:24px;left:24px;color:white;font-family:'Libre Caslon Display',Georgia,serif;font-size:35px;line-height:1.1;text-shadow:0 2px 12px #000;background:#203d2b99;padding:14px 20px;border-radius:2px}.services{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding:95px 8%;max-width:1440px;margin:auto;border-top:1px solid var(--line)}h2{font-size:clamp(44px,4.3vw,66px);margin:0 0 25px}.section-heading>p:last-child{max-width:370px}.service-list article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.number{font-size:13px;padding-top:6px;color:#6a786b}h3{font-size:23px;font-weight:500;margin:0 0 8px}.service-list p{margin:0}.testimonial{background:var(--green);color:var(--cream);text-align:center;padding:65px 10%}.testimonial blockquote{font-size:clamp(29px,3.4vw,47px);max-width:870px;margin:25px auto;line-height:1.2}.testimonial>p:not(.eyebrow){font-size:14px}.testimonial>p>span{color:#cad2c4}.testimonial>a{display:inline-block;font-size:14px;margin-top:20px;color:#e9d9b0}.contact{max-width:1440px;margin:auto;padding:95px 8%;display:grid;grid-template-columns:1fr 1.25fr;gap:9%}.contact>div>p{max-width:350px}.email{display:inline-block;overflow-wrap:anywhere;font-size:16px;margin-top:12px}.muted{font-size:14px;color:#576456}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px;font-weight:500}label span{font-weight:400;color:#647062}input,select,textarea{display:block;width:100%;border:1px solid #b7bfb2;background:#fffefa;color:var(--ink);border-radius:3px;margin:6px 0 0;padding:11px 12px;min-height:48px}textarea{resize:vertical}form>label{margin-top:20px}.privacy,.form-note{font-size:13px;line-height:1.6;color:#566352}.privacy{margin:19px 0}form>.button{width:100%}#form-status{padding:15px;border-left:3px solid var(--green);background:#e6ebdf}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:13px}footer>span:first-child{letter-spacing:2px;font-family:Georgia,serif;font-size:18px}footer small{display:block;font:12px 'DM Sans',Arial,sans-serif;letter-spacing:0;margin-top:6px}@media(min-width:1500px){.hero-photo{min-height:800px}}@media(max-width:850px){header{padding:22px 5%}nav{gap:18px}nav>a:first-child{display:none}.hero{padding:12px 5% 40px;gap:5%}.hero-copy{padding-top:22px}h1{font-size:64px}.hero-photo{min-height:630px}.services,.contact{padding:60px 6%;gap:6%}.email{font-size:14px}}@media(max-width:620px){header{gap:10px}.brand-name{font-size:20px;letter-spacing:2px}.brand>span:last-child{font-size:9px;letter-spacing:1px}nav{gap:12px}nav>a:nth-child(2){display:none}.button.small{padding:9px 14px}.hero{grid-template-columns:1fr;gap:25px}.hero-copy{padding:18px 2% 0}h1{font-size:68px}.intro{font-size:20px}.logo{width:125px;float:right;margin:-72px 0 0}.hero-copy .button{max-width:calc(100% - 110px);gap:15px;padding:13px 16px}.hero-photo{min-height:500px;border-radius:95px 4px 4px 4px}.hero-photo>img{object-position:center 60%}.hero .eyebrow{font-size:11px}.services,.contact{grid-template-columns:1fr;gap:30px;padding:50px 7%}.form-grid{grid-template-columns:1fr}.testimonial{padding:48px 7%}.testimonial .eyebrow{font-size:11px}.photo-note{font-size:29px}.email{font-size:16px}footer{flex-direction:column;align-items:flex-start;padding:28px 7%;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
