:root{--ink:#172927;--green:#3d5d35;--olive:#667c4e;--pale:#f1f6ec;--pale-2:#e8f0df;--line:#dce2d8;--sans:"DM Sans",Arial,sans-serif;--serif:"Playfair Display",Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.45;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:69px;padding:7px 42px;display:flex;align-items:center;gap:25px;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:7px;line-height:.82;white-space:nowrap}.brand>img{width:55px;height:55px;object-fit:contain}.brand span{display:grid;gap:7px}.brand strong{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:-1.2px}.brand small{font-size:9px;letter-spacing:1.8px;font-weight:700}.site-header nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:10.5px}.site-header nav a{padding:8px 0}.site-header nav .active{border-bottom:1px solid var(--green);font-weight:600}.header-contact{display:grid;text-align:center;gap:2px}.header-contact>span{font-size:9px;color:#6b736d}.phone-pill{display:flex;align-items:center;gap:8px;border-radius:20px;padding:7px 15px;background:#e6eddf;font-size:11px;font-weight:700;white-space:nowrap}.phone-pill img{width:16px}.menu-toggle{display:none}.hero{height:438px;display:grid;grid-template-columns:51.5% 48.5%;background:linear-gradient(105deg,#fff 0%,#fcfdfb 60%,#f5f8f0 100%);position:relative;overflow:hidden}.hero-copy{padding:38px 16px 24px 42px;position:relative;z-index:3}.eyebrow{margin:0 0 11px;color:#727e75;font-size:9.5px;line-height:1.2;letter-spacing:2px;font-weight:700}.hero h1,h2{margin:0;font-family:var(--serif);font-weight:500;letter-spacing:-1.1px;line-height:1.02}.hero h1{font-size:37px}.hero h1 em{font-style:normal;color:#567145}.lead{max-width:306px;margin:17px 0 17px;color:#505956;font-size:12.4px;line-height:1.45}.button{display:inline-flex;align-items:center;gap:14px;min-height:38px;padding:9px 20px;border-radius:11px;background:#dce8d4;color:#3e5b34;font-size:11.5px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#cfdfc7}.button svg,.text-link svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.starting{margin:17px 0 20px;font-size:14.5px}.starting strong{color:#385a31}.contact-row{display:flex;align-items:center;gap:22px}.contact-row>i,.cta-details>i{height:27px;width:1px;background:#b9c2b8}.contact-item{display:flex;align-items:flex-start;gap:8px}.contact-item>img{width:19px;height:19px;margin-top:2px}.contact-item p{margin:0;display:grid;gap:1px;font-size:10px;line-height:1.3}.contact-item strong{font-size:10.5px}.contact-item span{color:#545d58}.hero-media{position:relative;height:100%}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:52% center;clip-path:ellipse(72% 58% at 72% 45%)}.hero-sprig{position:absolute;width:88px;opacity:.9;z-index:2}.hero-sprig.top{top:-8px;left:-21px;transform:rotate(42deg)}.hero-sprig.side{left:-13px;bottom:71px;width:78px;transform:rotate(-10deg)}.round-note{position:absolute;width:128px;height:128px;right:-13px;bottom:-5px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#fbfcf7;color:#708d5f;font-family:"Segoe Print",cursive;font-size:16px;line-height:1.05;text-align:center;transform:rotate(-7deg);z-index:4}.round-note span{font-size:20px}.wave-section{position:relative;background:linear-gradient(110deg,#eef4e8,#f8faf5);overflow:hidden}.wave-section:before{content:"";position:absolute;left:-5%;right:-5%;top:-47px;height:77px;border-radius:0 0 50% 50%;background:#fff;z-index:0}.services{height:390px;padding:51px 27px 34px}.section-sprig{position:absolute;width:80px;left:-12px;top:20px;transform:rotate(-23deg);opacity:.72}.section-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 auto 24px;max-width:1060px}.section-head h2,.about h2,.faq h2,.cta h2{font-size:27px}.section-head>p{width:242px;margin:0 35px 2px 0;font-size:11.5px;line-height:1.4;color:#59625d}.service-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:auto;max-width:1060px}.service-grid article,.project-grid article{min-width:0}.service-grid article>img{width:100%;height:138px;object-fit:cover;border-radius:9px}.service-grid h3,.project-grid h3{margin:8px 5px 2px;font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.1;letter-spacing:-.3px}.service-grid p,.project-grid p{margin:0 5px;color:#5d6661;font-size:10.5px;line-height:1.4}.projects{height:360px;padding:41px 41px 36px;background:#fff;position:relative;overflow:hidden}.projects:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-47px;height:72px;border-radius:50% 50% 0 0;background:#f0f5eb}.section-head.compact{margin-bottom:18px}.section-head.compact h2{font-size:27px}.text-link{display:flex;align-items:center;gap:6px;margin:0 5px 3px auto;color:#4c6b40;border-bottom:1px solid #718668;font-size:10px;font-weight:700;white-space:nowrap}.text-link svg{width:14px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:auto;max-width:980px}.project-grid img{width:100%;height:188px;object-fit:cover;border-radius:9px}.project-grid h3{margin-top:8px}.about{height:405px;padding:55px 42px 28px;display:grid;grid-template-columns:49% 51%;gap:10px}.about:before{height:70px;top:-48px}.about-copy{position:relative;z-index:2;max-width:315px}.about-copy>p:not(.eyebrow){margin:15px 0;color:#535d58;font-size:11.5px;line-height:1.45}.signature{margin-top:17px;width:max-content;font-family:"Segoe Print",cursive;font-size:21px;line-height:1;transform:rotate(-4deg)}.signature small{display:block;margin-top:5px;font-family:var(--sans);font-size:8px;line-height:1.35;letter-spacing:1.8px;font-weight:700;transform:rotate(4deg)}.about-media{position:relative;height:315px}.about-media>img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:48% 43% 0 43% / 29% 31% 0 38%}.about-note{width:135px;height:135px;right:-22px;bottom:-14px;font-size:16px}.faq{padding:48px 42px 44px;min-height:310px;text-align:center;background:#fff}.faq h2{margin-bottom:22px}.faq-list{max-width:640px;margin:auto;text-align:left;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:12px 3px}summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:12px;font-weight:700}summary::-webkit-details-marker{display:none}summary span{color:#567047;font-size:18px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}details p{margin:8px 0 2px;max-width:540px;color:#5c655f;font-size:11px}.cta{height:260px;padding:38px 35px 29px;position:relative;overflow:hidden;text-align:center;background:radial-gradient(circle at 46% 42%,#fff 0,#f0f5e8 45%,#dfead5 100%)}.cta h2{font-size:28px}.cta>p{margin:5px 0 13px;color:#58615c;font-size:11.5px}.button.dark{min-height:38px;background:linear-gradient(100deg,#4d6e3e,#2f5430);color:white;border-radius:10px}.button.dark:hover{background:#284729}.cta-details{display:flex;align-items:center;justify-content:center;gap:27px;margin-top:27px;text-align:left}.cta-details .contact-item{min-width:126px}.cta-sprig{position:absolute;width:95px;opacity:.68}.cta-sprig.left{left:-18px;bottom:-27px;transform:rotate(-48deg)}.cta-sprig.right{right:-20px;top:-3px;transform:rotate(52deg)}footer{height:205px;padding:30px 36px 21px;background:#fff}.footer-top{height:93px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #e4e7e1}.footer-top .brand>img{width:49px;height:49px}.footer-top .brand strong{font-size:22px}.footer-top .brand small{font-size:8px}.footer-top nav{display:flex;gap:23px;font-size:9.5px}.footer-phone{display:flex;align-items:flex-start;gap:7px}.footer-phone>img{width:18px}.footer-phone>span{display:grid;line-height:1.2}.footer-phone strong{font-size:11px}.footer-phone small{font-size:9px;color:#66706a}.footer-bottom{display:flex;justify-content:space-between;padding-top:18px;color:#6c756f;font-size:8.5px}
@media(min-width:980px){.site-header{padding-left:max(42px,calc((100vw - 1180px)/2));padding-right:max(42px,calc((100vw - 1180px)/2))}.hero{grid-template-columns:50% 50%;height:660px}.hero-copy{padding-left:max(42px,calc((100vw - 1180px)/2));padding-top:82px}.hero h1{font-size:57px}.lead{max-width:470px;font-size:16px}.button{font-size:14px;padding:13px 24px}.starting{font-size:19px}.services{height:520px;padding-top:75px}.service-grid article>img{height:220px}.section-head h2,.section-head.compact h2,.about h2,.faq h2,.cta h2{font-size:39px}.section-head>p{font-size:15px;width:330px}.service-grid h3,.project-grid h3{font-size:19px}.service-grid p,.project-grid p{font-size:14px}.projects{height:520px}.project-grid img{height:315px}.about{height:610px;padding-left:max(42px,calc((100vw - 1180px)/2));padding-right:max(42px,calc((100vw - 1180px)/2))}.about-copy{max-width:470px}.about-copy>p:not(.eyebrow){font-size:15px}.about-media{height:500px}.faq{min-height:400px}.cta{height:350px}.cta>p{font-size:15px}footer{height:220px;padding-left:max(42px,calc((100vw - 1180px)/2));padding-right:max(42px,calc((100vw - 1180px)/2))}}
@media(max-width:620px){body{font-size:15px}.site-header{height:78px;padding:9px 22px;gap:10px}.brand>img{width:48px;height:50px}.brand strong{font-size:23px}.brand small{font-size:8px}.header-contact{margin-left:auto}.header-contact>span{display:none}.phone-pill{padding:8px;background:transparent;font-size:0}.phone-pill img{width:22px}.menu-toggle{display:grid;gap:4px;border:0;background:transparent;padding:8px;order:2}.menu-toggle span{display:block;width:23px;height:2px;background:var(--ink)}.header-contact{order:3}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;z-index:30;margin:0;padding:18px 23px;background:#fff;box-shadow:0 12px 25px rgba(23,41,39,.12);flex-direction:column;align-items:flex-start;gap:8px;font-size:14px}.site-header nav.is-open{display:flex}.hero{height:auto;display:block}.hero-copy{padding:42px 23px 31px}.hero h1{font-size:39px}.lead{max-width:none;font-size:14px;margin:20px 0}.button{min-height:50px;padding:13px 24px;font-size:13px}.starting{font-size:16px;margin:20px 0 26px}.contact-row{gap:13px}.contact-row>i{height:35px}.contact-item p{font-size:11px}.contact-item strong{font-size:12px}.hero-media{height:390px}.hero-photo{clip-path:ellipse(74% 61% at 69% 43%)}.hero-sprig.top{width:75px}.round-note{width:135px;height:135px;right:-5px;bottom:-4px;font-size:17px}.services{height:auto;padding:73px 23px 58px}.section-head{display:block;margin-bottom:28px}.section-head h2,.section-head.compact h2,.about h2,.faq h2,.cta h2{font-size:31px}.section-head>p{width:auto;margin:16px 0 0;font-size:14px}.service-grid{grid-template-columns:repeat(2,1fr);gap:27px 13px}.service-grid article>img{height:145px}.service-grid h3,.project-grid h3{font-size:17px;margin:9px 0 3px}.service-grid p,.project-grid p{font-size:12px;margin:0}.projects{height:auto;padding:57px 23px 73px}.section-head.compact{display:flex;align-items:flex-end}.section-head.compact h2{max-width:250px}.text-link{font-size:11px}.project-grid{display:block}.project-grid article{margin-bottom:25px}.project-grid img{height:230px}.about{height:auto;padding:77px 23px 62px;display:block}.about-copy{max-width:none}.about-copy>p:not(.eyebrow){font-size:14px;margin:18px 0}.signature{font-size:27px}.about-media{height:385px;margin-top:30px}.about-note{width:145px;height:145px;font-size:17px}.faq{padding:62px 23px 64px;text-align:left}.faq h2{margin-bottom:28px}.faq-list{margin:0}details{padding:18px 4px}summary{font-size:14px}details p{font-size:13px}.cta{height:auto;min-height:475px;padding:64px 23px 54px}.cta h2{font-size:31px}.cta>p{font-size:14px;margin:9px 0 20px}.cta-details{display:block;margin:35px auto 0;max-width:245px}.cta-details>i{display:none}.cta-details .contact-item{margin:0 0 23px}.cta-sprig{width:85px}footer{height:auto;padding:36px 23px 25px}.footer-top{height:auto;display:block;padding-bottom:27px}.footer-top nav{display:none}.footer-phone{margin-top:24px}.footer-bottom{display:block;padding-top:19px;font-size:10px;line-height:1.7}.footer-bottom span{display:block}.footer-bottom span+span{margin-top:8px}}
