/* Quiet editorial motion, with the original photographs and identity. */
:root{--ease-out:cubic-bezier(.2,.7,.2,1)}
.header{height:116px;position:sticky;top:0;max-width:none;padding-left:max(40px,calc((100vw - 1128px)/2));padding-right:max(40px,calc((100vw - 1128px)/2));background:rgba(244,243,235,.95);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:height .4s var(--ease-out),border-color .4s,box-shadow .4s}
.header.is-scrolled{height:86px;border-color:var(--line);box-shadow:0 8px 30px #182e2508}
.brand-logo{width:158px;transition:width .4s var(--ease-out)}.is-scrolled .brand-logo{width:128px}
.nav a:not(.pill){position:relative}.nav a:not(.pill):after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.nav a:hover{text-decoration:none}.nav a:hover:after{transform:scaleX(1)}
.pill{border-radius:100px;gap:24px;transition:transform .3s var(--ease-out),background .3s,box-shadow .3s}.pill:hover{transform:translateY(-3px);box-shadow:0 8px 24px #10221918}.pill span{transition:transform .3s}.pill:hover span{transform:translate(3px,-2px)}
.hero{grid-template-columns:48% 52%;isolation:isolate;min-height:740px}
.hero-media{grid-column:2;grid-row:1;overflow:hidden;min-height:740px;position:relative;background:#304934}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}
.hero .wrap.hero-copy{grid-column:1;grid-row:1;align-self:center;padding:80px clamp(28px,5.4vw,100px) 104px;position:relative;z-index:2}
.hero h1{font-size:clamp(46px,4.25vw,72px);line-height:1.06;letter-spacing:-2.2px;margin-top:28px;max-width:610px}
.hero h1 em{display:block;color:var(--lime);font-size:.64em;line-height:1.25;letter-spacing:-1px;margin-top:18px;font-style:italic}
.hero .eyebrow{color:#cfdfbe}.hero p{color:#dce5d9;max-width:440px;font-size:15px;line-height:1.9}.hero-foot{z-index:3;bottom:27px;left:clamp(28px,5.4vw,100px);font-size:9px;opacity:.65}
.services.wrap{padding:112px 56px 104px}.section-head{margin-bottom:52px}.section-head h2{font-size:clamp(38px,3.9vw,58px)}
.grid{gap:28px}.service{padding:25px 0 15px;transition:border-color .4s}.service:hover{border-color:#536d42}.service .number{margin-bottom:30px;color:#5b685e}.service h3{font-size:31px}.service p{font-size:14px;max-width:320px}.service a{padding-bottom:10px}
.feature{border-radius:10px}.feature figure{overflow:hidden;min-height:560px}.feature-copy{padding:65px 48px}.feature h2{font-size:clamp(34px,3.5vw,48px)}.feature figcaption{z-index:1;border-radius:30px;bottom:24px;left:24px;font-size:9px;padding:12px 17px}
.qualification{padding-top:48px;margin-top:48px;margin-bottom:112px}.photo-gallery{padding-bottom:110px}.gallery-filters{gap:8px;margin-bottom:24px}.gallery-filters button{transition:background .25s,color .25s,transform .25s}.gallery-filters button:hover{transform:translateY(-2px)}.photo-grid{column-gap:26px}.gallery-card{margin-bottom:30px}.gallery-open{border-radius:9px}.gallery-card img{transition:filter .4s}.gallery-open:hover img{filter:brightness(1.06)}
.work-film{padding-bottom:110px}.work-film video{border-radius:12px}.process{padding:100px 0}.process h2{font-size:clamp(40px,4vw,58px)}.steps{gap:42px;margin-top:58px}.step h3{font-size:28px}
.related-services.wrap{padding-top:64px;padding-bottom:64px}.related-services>p{font-size:14px;line-height:1.9;max-width:850px;color:#516052}.related-services nav{gap:18px 30px;font-size:13px}
.faq.wrap{padding-top:90px;padding-bottom:90px}.contact{border-radius:12px;padding:68px 50px;margin-bottom:80px}.contact h2{font-size:clamp(36px,3.9vw,52px)}
.service-photo{overflow:hidden;border-radius:12px;align-self:stretch;min-height:480px;position:relative}.service-photo img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0}.service-intro{padding-top:45px;padding-bottom:85px}.service-body section{margin-bottom:52px}
@media(min-width:1600px){.hero,.hero-media{min-height:850px}}
@media(max-width:1000px){.header{padding-left:28px;padding-right:28px}.hero,.hero-media{min-height:720px}.hero .wrap.hero-copy{padding-left:28px;padding-right:28px}.hero h1{font-size:45px}.hero p{font-size:14px}.actions{gap:10px}.actions .pill{padding:15px 18px;font-size:12px}.services.wrap{padding:80px 28px}.feature-copy{padding:40px 28px}.service-photo{min-height:440px}.contact{gap:20px;padding:45px 32px}}
@media(max-width:700px){.header,.header.is-scrolled{height:88px;padding:0 22px}.brand-logo,.is-scrolled .brand-logo{width:118px}.hero{display:flex;flex-direction:column;min-height:0}.hero-media{order:0;min-height:0;width:100%;aspect-ratio:1057/1281}.hero-media img{position:relative;width:100%;height:auto;object-fit:contain}.hero .wrap.hero-copy{order:1;padding:38px 22px 46px}.hero h1{font-size:clamp(39px,8.8vw,57px);letter-spacing:-1.5px}.hero h1 em{font-size:.65em;line-height:1.3}.hero p{font-size:14px}.hero-foot{display:none}.services.wrap{padding:62px 22px}.section-head{margin-bottom:32px}.grid{grid-template-columns:1fr;gap:20px}.service{padding:22px 0 12px}.service .number{margin-bottom:17px}.service h3{font-size:30px}.service p{max-width:100%;font-size:14px}.feature figure{min-height:370px}.feature-copy{padding:36px 26px}.qualification{margin-top:30px;margin-bottom:65px;gap:30px}.photo-gallery,.work-film{padding-bottom:65px}.gallery-card{margin-bottom:24px}.process{padding:65px 0}.steps{margin-top:36px;gap:28px}.related-services.wrap{padding-top:45px;padding-bottom:45px}.faq.wrap{padding-top:60px;padding-bottom:60px}.contact{padding:38px 26px;margin-bottom:50px}.contact-links{align-items:flex-start}.service-photo{min-height:0;aspect-ratio:4/3}.service-photo img{position:absolute;height:100%;object-fit:cover}.service-intro{padding-bottom:50px}.service-lead{grid-template-columns:1fr}.footer-services{line-height:1.8}.mobile-call{backdrop-filter:blur(14px);background:#182e25f5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Insurance statement supplied by the business owner. */
.hero .insurance-note{font-size:12px;line-height:1.7;color:var(--lime);margin:14px 0 0;max-width:100%}.insurance-note strong{font-weight:600;white-space:nowrap}.contact .insurance-detail{margin-top:20px;font-size:12px;line-height:1.8}.insurance-detail strong{font-weight:600}

/* Prominent certification on the homepage. */
.hero .certification{gap:12px;margin-top:27px;padding:14px 18px;border:1px solid #d5e7a580;border-radius:9px;background:#d5e7a518;color:var(--lime);letter-spacing:.2px}.hero .certification svg{width:27px;height:27px}.hero .certification strong{display:block;font-size:16px;line-height:1.3;font-weight:600}.hero .certification small{display:block;margin-top:4px;font-size:10px;line-height:1.4;letter-spacing:1.1px;text-transform:uppercase;color:#dce5d9}
