.svg-defs{position:absolute;width:0;height:0;overflow:hidden}

.brand>img{object-fit:contain;filter:drop-shadow(0 0 .01px rgba(55,75,42,.25))}
.site-header .brand>img{width:65px;height:62px;margin-left:-4px;margin-right:-7px}
.footer-top .brand>img{width:58px;height:58px;margin-left:-3px;margin-right:-5px}

.hero-media{min-height:0}
.hero-photo{position:absolute;inset:0;clip-path:url(#about-organic-clip);-webkit-clip-path:url(#about-organic-clip);object-position:50% 49%}
.about-media{min-height:0;height:333px;margin-left:-14px;width:calc(100% + 56px);transform:translateY(-18px)}
.about-media>img{position:absolute;inset:0;border-radius:0;clip-path:url(#about-organic-clip);-webkit-clip-path:url(#about-organic-clip);object-position:50% 50%}
.about-note{right:24px}

.hero-sprig,.section-sprig,.cta-sprig{pointer-events:none;filter:saturate(.56) brightness(1.16);mix-blend-mode:multiply}
.hero-sprig{opacity:.48}
.hero-sprig.top{width:76px;top:-31px;left:-20px;transform:rotate(58deg)}
.hero-sprig.side{width:68px;left:-25px;bottom:62px;transform:rotate(-5deg)}
.section-sprig{width:150px;left:-53px;top:-20px;transform:rotate(-8deg);opacity:.31}
.cta-sprig.left{width:168px;left:-48px;bottom:-62px;transform:rotate(76deg) scaleX(-1);opacity:.29}
.cta-sprig.right{width:154px;right:-42px;top:-36px;transform:scaleX(-1) rotate(-8deg);opacity:.3}

@media (min-width:621px) and (max-width:979px){
  .hero{height:420px}
  .hero h1{font-size:34px;letter-spacing:-1.25px}
}

@media (min-width:980px){
  .about-media{height:524px;margin-left:-25px;width:calc(100% + max(42px,calc((100vw - 1180px)/2)) + 25px);transform:translateY(-24px)}
}

@media (max-width:620px){
  .site-header .brand>img{width:56px;height:56px;margin-left:-4px;margin-right:-6px}
  .hero-photo{object-position:50% 47%}
  .hero-sprig.top{width:72px;left:-13px;top:-27px}
  .hero-sprig.side{width:64px;left:-19px;bottom:54px}
  .section-sprig{width:140px;left:-50px;top:-13px}
  .cta-sprig.left{width:154px}
  .cta-sprig.right{width:142px}
  .about-media{height:385px;margin-left:0;width:calc(100% + 23px);transform:none}
  .about-note{right:-5px}
}

/* Readable type scale */
.brand small,
.site-header nav,
.header-contact>span,
.phone-pill,
.eyebrow,
.lead,
.button,
.starting,
.contact-item p,
.contact-item strong,
.section-head>p,
.service-grid h3,
.project-grid h3,
.service-grid p,
.project-grid p,
.text-link,
.about-copy>p:not(.eyebrow),
.signature small,
summary,
details p,
.cta>p,
.footer-top nav,
.footer-phone strong,
.footer-phone small,
.footer-bottom{font-size:15px}

.brand small{letter-spacing:.9px}
.footer-top .brand small{font-size:15px;letter-spacing:.9px}
.brand span{gap:5px}
.eyebrow{line-height:1.35}
.contact-item p{line-height:1.35}
.service-grid p,.project-grid p{line-height:1.42}

/* Larger handwritten notes */
.round-note{width:162px;height:162px;right:-13px;bottom:-5px;font-size:18px;line-height:1.08}
.round-note span{font-size:22px}
.about-note{width:172px;height:172px;right:24px;bottom:-14px;font-size:18px}

/* More visible realistic branches */
.hero-sprig,.section-sprig,.cta-sprig{filter:saturate(.64) brightness(1.08)}
.hero-sprig{opacity:.58}
.hero-sprig.top{width:130px;top:-8px;left:-47px;transform:scaleX(-1) rotate(-38deg)}
.hero-sprig.side{width:118px;left:-38px;bottom:75px;transform:scaleX(-1) rotate(6deg)}
.section-sprig{width:176px;left:-57px;top:-18px;opacity:.4}
.cta-sprig.left{width:190px;left:-52px;bottom:-67px;opacity:.41}
.cta-sprig.right{width:176px;right:-44px;top:-39px;opacity:.42}

/* Layered curved section boundaries */
.wave-section:before{left:-8%;right:-8%;top:-54px;height:92px;border-radius:0 0 58% 44% / 0 0 100% 100%;background:#fff}
.services,.about{background:linear-gradient(112deg,#edf5eb 0%,#f8faf6 58%,#edf4e8 100%)}
.services:after{content:"";position:absolute;z-index:1;left:-8%;right:-8%;bottom:-45px;height:82px;border-radius:54% 46% 0 0 / 100% 100% 0 0;background:#fff}
.projects:after{display:none}
.about:after{content:"";position:absolute;z-index:1;left:-8%;right:-8%;bottom:-46px;height:82px;border-radius:54% 46% 0 0 / 100% 100% 0 0;background:#fff}
.faq{position:relative;overflow:hidden}
.faq:after{display:none}
.faq>*{position:relative;z-index:2}
.cta{isolation:isolate}
.cta:before{content:"";position:absolute;z-index:0;left:-8%;right:-8%;top:-52px;height:86px;border-radius:0 0 56% 44% / 0 0 100% 100%;background:#fff}
.cta:after{content:"";position:absolute;z-index:0;left:-8%;right:-8%;bottom:-48px;height:84px;border-radius:58% 42% 0 0 / 100% 100% 0 0;background:#fff}
.cta h2,.cta>p,.cta>.button,.cta-details{position:relative;z-index:2}
.cta-sprig{z-index:1}

@media (min-width:621px) and (max-width:979px){
  .site-header{height:84px;padding:9px 16px;gap:8px}
  .site-header .brand>img{width:58px;height:58px;margin-left:-3px;margin-right:-8px}
  .brand strong{font-size:24px}
  .site-header nav{gap:10px}
  .site-header nav a{white-space:nowrap}
  .phone-pill{padding:7px 9px}
  .hero{height:500px}
  .hero-copy{padding:34px 14px 24px 32px}
  .lead{max-width:320px;margin:13px 0}
  .starting{margin:13px 0 17px}
  .contact-row{gap:14px}
  .services{height:520px;padding-top:70px;padding-bottom:54px}
  .projects{height:430px;padding-top:48px}
  .about{height:500px;padding-top:67px}
  .faq{min-height:390px;padding-top:68px;padding-bottom:70px}
  .cta{height:330px;padding-top:61px;padding-bottom:52px}
  footer{height:250px;padding-top:38px}
  .footer-top{height:120px;gap:14px}
  .footer-top nav{gap:14px}
  .footer-top nav a{white-space:nowrap}
}

@media (min-width:980px){
  .services{height:570px}
  .projects{height:550px}
  .about{height:660px}
  .faq{min-height:450px;padding-top:78px;padding-bottom:78px}
  .cta{height:410px;padding-top:82px;padding-bottom:66px}
  footer{height:270px;padding-top:42px}
  .footer-top{height:135px}
}

@media (max-width:620px){
  .phone-pill span{display:none}
  .round-note{width:150px;height:150px;right:-6px;font-size:17px}
  .about-note{width:158px;height:158px;right:-5px;font-size:17px}
  .hero-sprig.top{width:86px;left:-8px;top:-10px}
  .hero-sprig.side{width:78px;left:-14px;bottom:47px}
  .section-sprig{width:166px;left:-58px;top:-12px}
  .cta-sprig.left{width:176px}
  .cta-sprig.right{width:164px}
  .faq{padding-top:78px;padding-bottom:82px}
  .cta{padding-top:88px;padding-bottom:78px}
}
