@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:#363e39;font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}::selection{background:#b5e66d;color:#284737}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #528032;outline-offset:5px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:112px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.04em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(56px,6.3vw,88px)}h2{font-size:clamp(36px,4vw,56px)}h3{font-size:23px}p{color:#626a64}header{height:108px;max-width:1440px;padding:0 48px;margin:auto;display:flex;align-items:center;gap:40px}.brand{display:block;flex-shrink:0}.brand img{display:block;object-fit:contain;width:196px;height:auto;border-radius:5px}header nav{display:flex;gap:30px;margin-left:auto;font-size:14px;font-weight:600}nav a{position:relative}nav a:after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:#528032;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after{transform:scaleX(1)}.button{display:inline-flex;gap:26px;align-items:center;justify-content:center;background:#b5e66d;color:#283b2d;font-size:14px;font-weight:700;padding:16px 23px;border:0;border-radius:40px;line-height:1.4;transition:background .2s,transform .2s}.button svg{width:20px}.button:hover{background:#284737;color:white;transform:translateY(-2px)}.nav-cta{white-space:nowrap}.menu{display:none}.hero-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:44px 0 43px;gap:60px}.hero-intro{max-width:390px;padding-bottom:5px}.hero-intro p{font-size:16px;margin-bottom:24px}.hero-photo{position:relative;height:530px;border-radius:16px 16px 100px 16px;overflow:hidden;background:#dce4d3}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 58%;animation:hero-unfold 1.2s cubic-bezier(.16,1,.3,1)}@keyframes hero-unfold{from{clip-path:inset(0 0 10% 0);transform:scale(1.04)}to{clip-path:inset(0);transform:scale(1)}}.photo-link{position:absolute;right:28px;bottom:28px;background:#fff;padding:20px 22px;border-radius:14px;display:flex;align-items:center;gap:40px;font-size:16px;line-height:1.4;font-weight:600}.circle{width:48px;height:48px;border-radius:50%;background:#b5e66d;display:grid;place-items:center}.photo-link:hover .circle{background:#284737;color:#fff}.hero-caption{position:absolute;bottom:25px;left:30px;color:#fff;font-size:12px;letter-spacing:.1em;background:#364137d9;padding:6px 12px;border-radius:3px}.trust-line{display:flex;justify-content:space-between;padding:26px 0;border-bottom:1px solid #e0e4df;font-size:14px;color:#59635a}.about{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.about-copy p{margin-bottom:22px}.about-copy .large{font-size:24px;line-height:1.55;color:#363e39;letter-spacing:-.02em}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:15px;font-weight:700;padding:10px 0;border-bottom:1px solid #8b9d82}.text-link:hover{color:#528032}.services{background:#f2f4f1}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:52px}.section-heading>p,.section-heading>div{max-width:420px}.section-heading .text-link{margin-top:14px}.service-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.service-feature{position:relative;min-height:600px;overflow:hidden;border-radius:16px 90px 16px 16px}.service-feature>img{width:100%;height:100%;object-fit:cover;position:absolute}.service-feature>div{position:absolute;bottom:0;padding:28px;width:100%;display:flex;align-items:center;gap:20px;background:#284737}.service-feature>div svg{width:46px;height:46px;color:#b5e66d}.service-feature p{color:#fff;font-size:23px;line-height:1.3}.service-list details{border-bottom:1px solid #cbd2c8}.service-list details:first-child{border-top:1px solid #cbd2c8}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}summary::-webkit-details-marker{display:none}.service-list summary{font-size:23px;letter-spacing:-.025em;padding:23px 0}.service-list summary>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid #bdc8b7;border-radius:50%;flex-shrink:0}.service-list details[open] summary>span{background:#b5e66d;border-color:#b5e66d}.service-list details[open] summary svg{transform:rotate(45deg)}.service-body{padding:0 40px 27px 0}.service-body a{font-size:14px;font-weight:700;display:flex;align-items:center;gap:16px;margin-top:19px}.service-body p{font-size:15px}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px 28px}.project-card:nth-child(4n+2){padding-top:65px}.project-card:nth-child(4n+3){margin-top:-40px}.project-card button{position:relative;width:100%;border:0;padding:0;background:none;overflow:hidden;border-radius:16px;display:block}.project-card img{width:100%;height:390px;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.project-card:nth-child(4n+2) img{height:340px}.project-card button:hover img{transform:scale(1.035)}.project-card .zoom{position:absolute;right:16px;bottom:16px;background:#fff;color:#363e39;border-radius:50%;width:44px;height:44px;display:grid;place-items:center}.project-card h3{font-size:21px;margin:18px 0 5px;letter-spacing:-.025em}.project-card p{font-size:14px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:36px}.secondary{background:#eef2eb}.evening{position:relative;min-height:600px;border-radius:16px;overflow:hidden;display:flex;align-items:center}.evening>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.evening:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,48,42,.89),rgba(34,48,42,.55) 46%,transparent 90%)}.evening-content{position:relative;z-index:1;max-width:590px;padding:64px}.evening h2{font-size:46px;color:#fff}.evening p{color:#eef2ea;margin:24px 0 30px;max-width:390px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach>div>p{max-width:450px;margin:24px 0 20px}.approach ol{list-style:none;margin:0;padding:0}.approach li{display:flex;gap:28px;padding:28px 0;border-bottom:1px solid #d9dfd6}.approach li:first-child{padding-top:0}.approach li>span{color:#638554;font-size:14px;padding-top:6px}.approach h3{margin-bottom:14px}.approach li p{font-size:15px}.faq{background:#f2f4f1}.faq-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.faq details{border-bottom:1px solid #d0d9cb}.faq summary{padding:23px 0;font-size:18px;font-weight:600}.faq details:first-child summary{padding-top:0}.faq details p{padding:0 25px 24px 0;font-size:15px}.faq details[open] svg{transform:rotate(45deg)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact>div>p{margin:25px 0}.contact-phone{display:block;font-size:29px;letter-spacing:-.03em;margin-top:38px}.contact-email{display:inline-block;margin-top:8px;border-bottom:1px solid #c1cbbd}.contact-location{font-size:14px}form{padding:38px;background:#f2f4f1;border-radius:16px}form h3{margin-bottom:28px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:13px;font-weight:600;display:block;margin-bottom:17px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #bfc9ba;background:transparent;border-radius:0;padding:10px 0;font-size:15px;color:#363e39;caret-color:#528032}input::placeholder,textarea::placeholder{color:#70796f}textarea{resize:vertical}form .button{margin-top:6px}.form-note{font-size:12px;margin-top:15px}#form-status{font-size:14px;margin-top:10px}footer{background:#3b443e;color:white;padding:56px 0 23px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:45px}.footer-top p{font-size:25px;color:#fff;line-height:1.3;letter-spacing:-.02em}.footer-bottom{border-top:1px solid #69716a;padding-top:22px;display:flex;justify-content:space-between;font-size:12px;color:#e1e6df}.footer-bottom>div{display:flex;gap:24px}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:#b5e66d;padding:15px}.skip:focus{top:10px}dialog{border:0;background:#303b34;width:94vw;max-width:1250px;height:90vh;max-height:950px;padding:55px 70px 25px;color:white;border-radius:14px}dialog::backdrop{background:#202923e8}dialog figure{margin:0;display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center}dialog figure img{max-width:100%;max-height:calc(100% - 55px);object-fit:contain}dialog figcaption{padding-top:18px;font-size:15px}dialog>button{background:none;border:0;color:#fff;font-size:36px;position:absolute;width:44px;height:44px;line-height:1}dialog .close{right:12px;top:10px}dialog .previous{left:12px;top:48%}dialog .next{right:12px;top:48%}body:has(dialog[open]){overflow:hidden}[hidden]{display:none!important}
@media(min-width:1600px){header{max-width:1416px;padding-inline:0}}@media(max-width:1100px){header{gap:22px;padding-inline:32px}.wrap{width:calc(100% - 64px)}header nav{gap:19px}.nav-cta{display:none}.hero-heading{gap:30px}.hero-intro{max-width:330px}.service-layout,.about,.approach,.contact,.faq-grid{gap:45px}.hero-photo{height:470px}.section{padding-block:85px}.service-list summary{font-size:21px}.evening-content{padding:44px}.project-card img{height:330px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}header{height:85px;padding-inline:20px;justify-content:space-between}.brand img{width:162px}.menu{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;border:1px solid #d3dcd0;background:white;border-radius:50%;padding:12px}.menu span{height:1px;background:#363e39;width:100%}header nav{display:none;position:absolute;top:75px;left:20px;right:20px;z-index:5;background:#f2f4f1;padding:25px;border-radius:14px;box-shadow:0 12px 20px #34412a12}header nav.open{display:flex;flex-direction:column;gap:20px}header nav a{font-size:17px}.hero-heading{display:block;padding:28px 0 30px}h1{font-size:clamp(47px,10.8vw,70px);letter-spacing:-.04em}.hero-intro{max-width:none;margin-top:22px}.hero-intro p{font-size:15px;margin-bottom:22px}.hero-photo{height:420px;border-radius:14px 14px 64px 14px}.hero-photo>img{object-position:53% 50%}.photo-link{right:15px;bottom:18px;gap:28px;padding:14px 16px;font-size:14px}.circle{width:40px;height:40px}.hero-caption{top:18px;bottom:auto;left:15px;font-size:11px}.trust-line{font-size:12px;gap:18px;align-items:flex-start}.trust-line span{max-width:110px}.trust-line span:last-child{display:none}.section{padding-block:65px}h2{font-size:38px;line-height:1.15}.about,.service-layout,.approach,.contact,.faq-grid{grid-template-columns:1fr;gap:30px}.about-copy .large{font-size:21px}.about-copy p{font-size:15px}.section-heading{display:block;margin-bottom:32px}.section-heading>p,.section-heading>div{margin-top:20px;font-size:15px}.service-feature{min-height:310px;border-radius:14px 64px 14px 14px}.service-feature>img{object-position:50% 58%}.service-feature>div{padding:18px 24px}.service-feature p{font-size:20px}.service-feature>div svg{width:34px;height:34px}.service-list summary{font-size:20px;padding:20px 0}.service-body{padding-right:8px}.project-grid{grid-template-columns:1fr;gap:30px}.project-card:nth-child(n){padding-top:0;margin-top:0}.project-card:nth-child(n) img{height:285px}.project-card h3{font-size:20px}.gallery-bottom{align-items:flex-start;gap:20px;flex-direction:column}.gallery-bottom p{font-size:14px}.evening{min-height:590px}.evening:after{background:linear-gradient(0deg,#24382dea,#24382d5e 85%)}.evening-content{padding:32px 24px;align-self:flex-end}.evening h2{font-size:36px}.evening p{font-size:15px}.approach li{gap:20px}.approach>div>p{font-size:15px}.faq summary{font-size:16px}.contact{gap:35px}.contact-phone{font-size:27px}.contact-email{font-size:15px}form{padding:25px 22px}.field-row{grid-template-columns:1fr;gap:0}footer{padding-top:38px}.footer-top{flex-wrap:wrap;gap:28px}.footer-top p{font-size:19px;margin-left:auto}.footer-top .button{width:100%}.footer-bottom{flex-wrap:wrap;gap:20px}.footer-bottom>div{gap:20px}.footer-bottom>a{margin-left:auto}dialog{padding:55px 35px 20px;height:75vh}dialog .previous{left:0}dialog .next{right:0}dialog figure img{max-height:calc(100% - 70px)}dialog figcaption{text-align:center;font-size:14px}.button{min-height:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.brand{background:#3b443e;border-radius:5px}.brand img{mix-blend-mode:screen}nav a:after{width:100%;transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after{transform:scaleX(1)}
/* Old Oak's livelier lime and garden journal accents */
@font-face{font-family:Caveat;src:url('assets/caveat.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
:root{--lime:#42e522;--lime-soft:#e3fade;--deep:#244632;--ink:#343d36;--muted:#626d64;--line:#d9e2d6}
.button{background:var(--lime);color:#173b20;box-shadow:0 8px 18px #22522b17}.button:hover{background:var(--deep);color:#fff}.circle,.service-list details[open] summary>span{background:var(--lime)}
.brand{width:226px;height:63px;overflow:hidden;position:relative;border-radius:7px;background:#26452f;box-shadow:0 5px 14px #24352716}.brand img{position:absolute;left:0;top:-85px;width:226px;height:226px;max-width:none;mix-blend-mode:normal;object-fit:contain;border-radius:0}
.script{font-family:Caveat,"Segoe Script",cursive;font-weight:600;letter-spacing:-.035em;color:#38852a;font-size:1.12em;white-space:nowrap}.hero-script{color:#287a20;font-size:1.1em}.evening .section-tag,.process .section-tag{color:#183d25}.section-tag{display:inline-flex;align-items:center;gap:9px;padding:7px 13px;border-radius:4px;background:var(--lime);color:#1c411f;font-size:11px;font-weight:800;letter-spacing:.075em;line-height:1.3;margin-bottom:22px}.section-tag svg{width:15px;height:15px;stroke-width:2}.about .section-tag{margin-bottom:22px}.section-heading>div:first-child .section-tag,.faq-grid>div:first-child .section-tag{margin-bottom:20px}.services .section-heading>div:first-child h2,.projects .section-heading>div:first-child h2{max-width:560px}.hero-heading h1{max-width:710px}.hero-intro .button{box-shadow:0 10px 24px #56c83a2c}
.trust-line span{display:flex;align-items:center;gap:10px}.trust-line span:before{content:"";width:30px;height:30px;display:block;border-radius:50%;background:#e3fade url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b6c27' stroke-width='1.7'%3E%3Cpath d='M20 4C9 2 3 7 5 14s14 7 15-10ZM4 21 16 9'/%3E%3C/svg%3E") center/17px no-repeat}
.service-feature>div{background:var(--deep)}.service-feature>div svg{color:var(--lime)}.service-list summary{transition:color .2s}.service-list details[open] summary{color:#285d24}.service-list details[open] summary>span{color:#183b20}.service-icon{width:31px;height:31px;margin-right:13px;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e3fade;color:#287d20}.service-icon svg{width:17px;height:17px}.service-list summary{justify-content:flex-start}.service-list summary>span:last-child{margin-left:auto}.service-body a{color:#2e7027}.service-body a svg{transition:transform .2s}.service-body a:hover svg{transform:translateX(4px)}
.section{overflow:clip}.section-heading{align-items:flex-end}.project-card button{box-shadow:0 14px 35px #23332613}.project-card .zoom{transition:background .2s,transform .2s}.project-card button:hover .zoom{background:var(--lime);transform:rotate(45deg)}.gallery-bottom .button{box-shadow:none}
.reviews{background:#e9f9e4;overflow:hidden}.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.reviews-heading h2{color:var(--deep)}.reviews-heading .section-tag{margin-bottom:19px}.review-controls{display:flex;gap:10px}.review-controls button{width:48px;height:48px;border-radius:50%;border:1px solid #799477;background:#fff;color:var(--deep);font-size:30px;line-height:1;transition:background .2s,color .2s,transform .2s}.review-controls button:hover{background:var(--lime);border-color:var(--lime);transform:translateY(-2px)}.review-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{position:relative;padding:29px 28px 25px;border-radius:15px;background:#fff;min-height:300px;display:flex;flex-direction:column;box-shadow:0 15px 38px #234b2610;transition:transform .3s,box-shadow .3s}.review-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px #234b2618}.review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.review-mark{width:37px;height:37px;display:grid;place-items:center;background:var(--lime);border-radius:50%;color:#21452a}.review-mark svg{width:19px;height:19px}.stars{font-size:16px;letter-spacing:.12em;color:#3d8b28}.review-card blockquote{font-size:17px;line-height:1.65;color:#414b43;margin:0 0 26px;flex:1}.review-by{display:flex;align-items:center;gap:12px;border-top:1px solid #e4ebe1;padding-top:17px}.review-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e2f8dc;color:#225c24;font-weight:800;font-size:12px}.review-by strong,.review-by div span{display:block}.review-by strong{font-size:14px}.review-by div span{font-size:12px;color:#777f77;margin-top:2px}.reviews-note{font-size:12px;margin-top:18px;color:#68716a}
.evening{isolation:isolate}.evening>img{will-change:transform;transform:scale(1.06)}.evening .section-tag{position:absolute;top:28px;left:30px;z-index:2}.evening .evening-content{padding-top:88px}.evening h2 .script{color:#75ed55}.evening .button{box-shadow:0 10px 24px #1d311e40}
.process{position:relative;background:var(--deep);color:#fff;overflow:clip}.process:before{content:"";position:absolute;inset:0 0 auto;height:420px;background:radial-gradient(ellipse at 17% 12%,#3a6744 0%,transparent 58%);pointer-events:none}.process .wrap{position:relative;z-index:1}.process-intro{max-width:770px;margin-bottom:54px}.process-intro h2{font-size:clamp(38px,5vw,64px);max-width:740px}.process-intro h2 .script{color:var(--lime);font-size:1.15em}.process-intro>p{color:#d8e4d8;margin-top:19px;font-size:17px}.process-grid{display:grid;grid-template-columns:1fr .88fr;gap:72px;align-items:start}.process-visual{height:500px;position:sticky;top:40px;overflow:hidden;border-radius:16px 100px 16px 16px;background:#506348;isolation:isolate}.process-image,.process-photo-shade{position:absolute;inset:0;width:100%;height:100%}.process-image{object-fit:cover;transform:scale(1.05);transition:opacity .4s,transform .6s}.process-photo-shade{z-index:1;background:linear-gradient(0deg,#1e382fea 0%,#24463205 66%)}.process-photo-caption{position:absolute;z-index:2;left:28px;bottom:45px;display:grid;gap:8px}.process-photo-caption span:first-child{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--lime)}.process-photo-caption span:last-child{font-size:22px;color:white;font-weight:600}.process-progress{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.process-progress span{height:5px;background:#ffffff75;transition:background .4s}.process-progress span.progress-active{background:var(--lime)}.process-watermark{position:absolute;right:19px;bottom:80px;z-index:2;color:#ffffff2d;transform:rotate(-21deg)}.process-watermark svg{width:90px;height:90px;stroke-width:.8}.process-steps{display:flex;flex-direction:column}.process-step{min-height:220px;padding:27px 25px 32px 0;border-top:1px solid #ffffff44;display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;transition:background .3s,border-radius .3s}.process-step:last-child{border-bottom:1px solid #ffffff44}.step-icon{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:#ffffff13;color:#d2e5cd;transition:background .25s,color .25s,transform .25s}.step-icon svg{width:21px;height:21px}.process-step.is-active .step-icon{background:var(--lime);color:var(--deep);transform:rotate(-8deg)}.step-no{font-size:11px;font-weight:800;letter-spacing:.08em;color:#bfe7ae}.process-step h3{margin:10px 0 12px;color:#fff;font-size:24px}.process-step p{color:#d5e0d4;font-size:15px;max-width:420px}.process-step.is-active h3{color:var(--lime)}
.faq summary>svg{transition:transform .25s,color .25s}.faq details[open] summary>svg{color:#377e2c}.faq .section-tag{margin-bottom:20px}.contact .section-tag{margin-bottom:22px}.contact form{box-shadow:0 17px 45px #24382c11;border:1px solid #e5ebe1}.contact form h3{display:flex;align-items:center;gap:11px}.contact form h3:before{content:"";width:32px;height:32px;background:var(--lime);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23244732' stroke-width='1.6'%3E%3Cpath d='M20 4C9 2 3 7 5 14s14 7 15-10ZM4 21 16 9'/%3E%3C/svg%3E");background-position:center;background-size:17px;background-repeat:no-repeat}.contact .button{box-shadow:0 8px 18px #42e5222d}.footer-top .brand{box-shadow:none}.footer-top .button{box-shadow:none}
.motion-ready .reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.motion-ready .review-card.reveal:nth-child(2){transition-delay:100ms}.motion-ready .review-card.reveal:nth-child(3){transition-delay:180ms}
@media(max-width:1100px){.process-grid{gap:40px}.process-visual{height:440px}.process-step{min-height:190px}.review-card{padding:25px 22px}.review-card blockquote{font-size:16px}}
@media(max-width:700px){.section-tag{font-size:10px;padding:7px 11px;margin-bottom:17px}.script{white-space:normal}.hero-script{white-space:nowrap}.brand{width:181px;height:53px}.brand img{width:181px;height:181px;top:-68px}.hero-heading{padding-top:23px}.hero-photo{height:400px}.trust-line span:before{width:25px;height:25px;background-size:15px}.trust-line{align-items:center}.section-heading{display:block}.section-heading>div:first-child h2{max-width:360px}.review-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px;margin-right:-20px;padding:0 20px 12px 0;scrollbar-width:thin;scrollbar-color:#42e522 #c7e5c0}.review-card{flex:0 0 min(87vw,370px);scroll-snap-align:center;min-height:285px}.reviews-heading{align-items:flex-end;gap:12px}.reviews-heading h2{font-size:35px}.review-controls{gap:6px}.review-controls button{width:42px;height:42px}.reviews-note{padding-right:15px}.process{padding-block:68px}.process-intro{margin-bottom:30px}.process-intro h2{font-size:40px}.process-intro>p{font-size:15px}.process-grid{display:flex;flex-direction:column;gap:18px}.process-visual{position:sticky;top:8px;z-index:5;width:100%;height:270px;border-radius:14px 60px 14px 14px;box-shadow:0 9px 30px #132b2040}.process-steps{width:100%;gap:0}.process-step{position:relative;z-index:1;min-height:185px;background:#294b36;padding:22px 16px 25px;border-bottom:1px solid #ffffff35!important;border-radius:12px;grid-template-columns:42px 1fr;gap:14px;margin:0 0 15px;scroll-margin-top:300px}.process-step.is-active{background:#31563e}.step-icon{width:38px;height:38px}.process-step h3{font-size:20px;margin:8px 0 9px}.process-step p{font-size:14px}.step-no{font-size:10px}.process-photo-caption{left:20px;bottom:33px}.process-photo-caption span:last-child{font-size:18px}.process-watermark{bottom:65px}.process-watermark svg{width:66px;height:66px}.evening{min-height:570px}.evening .section-tag{left:16px;top:17px}.evening-content{padding:28px 22px 33px}.evening h2{font-size:34px}.contact form{padding:23px 20px}.brand{flex:0 0 auto}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1;transform:none;transition:none!important}.process-image,.evening>img{transform:none!important}html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.review-controls{display:none}.service-list details[open] .service-icon{background:#e3fade}.reviews-note{display:none}
@media(max-width:700px){.review-controls{display:flex}.process-visual{position:relative;top:auto;z-index:0}}

/* Final logo and script colour adjustment */
.brand{background:transparent;box-shadow:none}
.script,.hero-script,.process-intro h2 .script,.evening h2 .script{color:#42e522}
/* More depth in the service journey and trust strip */
.trust-band{position:relative;overflow:hidden;background:#42e522;color:#183b20}
.trust-stats{display:grid;grid-template-columns:repeat(4,1fr);padding-block:32px 35px}
.trust-stat{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #183b203b}
.trust-stat:last-child{border-right:0}
.trust-stat strong{font-size:clamp(33px,4vw,48px);font-weight:700;line-height:1.05;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.trust-stat span{font-size:13px;font-weight:700;letter-spacing:.04em;margin-top:8px}
.services{position:relative;isolation:isolate;background:#244632;color:#fff}
.services:before{content:"";position:absolute;z-index:-1;inset:-8% 0;background:linear-gradient(105deg,#1e372ef2 4%,#254834de 56%,#22412fd9),url("assets/service-source-11.webp") center 46%/cover no-repeat;will-change:transform}
.services .wrap{position:relative;z-index:1}
.services .section-heading>p{color:#e0e9df}
.services .section-heading h2{color:#fff}
.services .section-heading h2 .script{color:#42e522}
.service-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.service-card{min-width:0;background:#f4f6f1;color:#354239;border-radius:15px;overflow:hidden;box-shadow:0 16px 42px #10271927;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .3s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 54px #0f271b42}
.service-card-photo{position:relative;height:225px;overflow:hidden;background:#dce7d7}
.service-card-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(0deg,#142d20a8,transparent)}
.service-card-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.service-card:hover .service-card-photo img{transform:scale(1.055)}
.service-card-number{position:absolute;z-index:1;top:14px;left:15px;padding:6px 9px;border-radius:4px;background:#42e522;color:#183b20;font-size:12px;font-weight:800}
.service-card-badge{position:absolute;z-index:1;right:14px;bottom:13px;width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:#42e522;color:#1d4225;transition:transform .3s}
.service-card-badge svg{width:21px;height:21px}
.service-card:hover .service-card-badge{transform:rotate(-9deg) scale(1.06)}
.service-card-copy{padding:22px 23px 24px;display:flex;flex-direction:column;min-height:207px}
.service-card-copy h3{font-size:21px;letter-spacing:-.035em;color:#28392d}
.service-card-copy p{font-size:14px;line-height:1.65;margin:11px 0 19px;color:#58645a}
.service-card-link{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;color:#276e24;font-size:13px;font-weight:800}
.service-card-link svg{width:19px;height:19px;transition:transform .25s}
.service-card-link:hover svg{transform:translateX(4px)}
.reviews{background-color:#e9f9e4;background-image:linear-gradient(#e9f9e4cc,#e9f9e4cc),url("assets/garden.webp");background-size:cover;background-position:center}
@media(max-width:1000px){.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card:last-child{grid-column:1/-1}.service-card:last-child .service-card-photo{height:285px}.trust-stats{width:calc(100% - 48px)}}
@media(max-width:700px){.trust-stats{width:calc(100% - 40px);grid-template-columns:repeat(2,1fr);padding-block:12px}.trust-stat{min-height:85px;border-right:1px solid #183b203b;border-bottom:1px solid #183b203b}.trust-stat:nth-child(2){border-right:0}.trust-stat:nth-child(3),.trust-stat:nth-child(4){border-bottom:0}.trust-stat strong{font-size:36px}.trust-stat span{font-size:12px;margin-top:5px}.service-cards{grid-template-columns:1fr;gap:17px}.service-card:last-child{grid-column:auto}.service-card-photo{height:228px}.service-card:last-child .service-card-photo{height:228px}.service-card-copy{min-height:180px;padding:20px 21px}.services .section-heading>p{color:#e0e9df}}
/* Layered garden tones carry through the quieter content sections */
.about{position:relative;isolation:isolate;background:linear-gradient(132deg,#f2f9ed 0%,#fff 61%,#f2f7ee 100%);border-radius:22px;padding:66px 64px;margin-top:40px;margin-bottom:28px}
.projects{background:#f4f8f1;border-radius:22px;padding:64px;margin-top:22px;margin-bottom:30px}
.contact{position:relative;isolation:isolate;background:linear-gradient(135deg,#eff8e9 0%,#fff 53%,#f1f7ed 100%);border-radius:24px;padding:70px 64px;margin-top:36px;margin-bottom:30px}
.services:before{transform:translate3d(0,var(--service-shift,0px),0) scale(1.08)}
.service-card{border:1px solid #ffffff7a}
.review-track{scrollbar-color:#42e522 #c7e5c0}
::selection{background:#42e522;color:#183b20}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#2e7a25}
@media(max-width:1100px){.about,.contact{padding-inline:40px}.projects{padding:45px 38px}}
@media(max-width:700px){.about,.projects,.contact{width:calc(100% - 24px);padding:38px 24px;margin-top:24px;margin-bottom:16px;border-radius:16px}.about{gap:28px}.contact{gap:32px}.projects .project-card:nth-child(n) img{height:270px}}

/* Hero fit and resilient section motion */
.hero-heading{display:block;padding-top:46px;padding-bottom:42px}
.hero-heading h1{font-size:clamp(37px,4.45vw,62px);line-height:1.08;letter-spacing:-.052em;max-width:none}
.hero-first-line,.hero-script{display:block}
.hero-first-line{white-space:nowrap}
.hero-heading .hero-script{font-size:1.16em;line-height:1.02;margin-top:3px}
.hero-intro{max-width:none;padding:25px 0 0;display:flex;align-items:center;justify-content:space-between;gap:30px}
.hero-intro p{max-width:670px;margin:0;color:#59645c;font-size:17px}
.hero-intro .button{flex-shrink:0;background:#42e522;color:#203a25;box-shadow:0 12px 26px #42e52230}
.hero-intro .button:hover{background:#244632;color:#fff}
.trust-band{box-shadow:0 10px 35px #24532a14}
@media(max-width:900px){.hero-heading h1{font-size:clamp(36px,5.4vw,52px)}.hero-intro{align-items:flex-start;flex-direction:column;gap:17px}.hero-intro p{max-width:610px}}
@media(max-width:700px){.hero-heading{padding:27px 0 27px}.hero-heading h1{font-size:clamp(34px,8vw,43px);line-height:1.02}.hero-first-line{white-space:normal;text-wrap:balance}.hero-heading .hero-script{font-size:1.13em;white-space:nowrap;margin-top:5px}.hero-intro{padding-top:18px;gap:18px}.hero-intro p{font-size:15px}.hero-photo{height:400px}}
@media(max-width:375px){.hero-heading h1{font-size:32px}.hero-heading .hero-script{font-size:1.08em}}

/* Final layout balance: shared outer frame, inset surfaces, and tablet review rail. */
@media(min-width:1101px){
  .wrap{width:min(1280px,calc(100% - 96px))}
  .about,.projects,.contact{padding-inline:40px}
}
@media(max-width:1000px){
  .review-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:#42e522 #c7e5c0;-webkit-overflow-scrolling:touch}
  .review-card{flex:0 0 min(42vw,420px);scroll-snap-align:start}
  .review-controls{display:flex}
}
@media(max-width:700px){
  .review-card{flex:0 0 min(87vw,370px)}
  html{scroll-padding-top:84px}
}
@media(max-width:375px){
  .hero-heading .hero-script{white-space:normal}
}

.review-controls button{display:grid;place-items:center;font-size:0}
.review-controls button svg{width:20px;height:20px;transition:transform .2s}
#reviews-prev svg{transform:rotate(180deg)}
.review-controls button:hover svg{transform:translateX(2px)}
#reviews-prev:hover svg{transform:rotate(180deg) translateX(2px)}
.hero-heading h1{letter-spacing:-.04em}
@media(max-width:900px){.hero-first-line{white-space:normal;text-wrap:balance}}

/* Services carousel */
.service-heading-aside{display:flex;flex-direction:column;align-items:flex-end;gap:20px}
.service-heading-aside>p{align-self:flex-end;color:#e0e9df}
.service-controls{display:flex;align-items:center;gap:12px}
.service-controls button{width:46px;height:46px;display:grid;place-items:center;border:1px solid #b6cfb6a8;border-radius:50%;background:#ffffff0d;color:#fff;transition:background .2s,color .2s,border-color .2s,transform .2s}
.service-controls button svg{width:19px;height:19px}
#service-prev svg{transform:rotate(180deg)}
.service-controls button:hover:not(:disabled){background:#42e522;border-color:#42e522;color:#183b20;transform:translateY(-2px)}
.service-controls button:disabled{opacity:.38;cursor:not-allowed}
.service-carousel{position:relative}
.service-cards{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:12px 0 22px;scroll-behavior:smooth}
.service-cards::-webkit-scrollbar{display:none}
.service-card{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
.service-card:last-child{grid-column:auto}
.service-card:last-child .service-card-photo{height:225px}
.service-card:hover{transform:translateY(-3px)}
.service-card-copy p{font-size:14px}

/* Full-bleed evening feature follows the gallery as a visual breath */
.evening{width:100%;max-width:none;min-height:650px;margin:0;border-radius:0;isolation:isolate;overflow:hidden}
.evening:after{background:linear-gradient(90deg,#172c23ed 0%,#1d372bd9 39%,#1d372b72 72%,#1d372b20 100%)}
.evening>img{transform:scale(1.04);object-position:center 57%}
.evening-inner.wrap{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center;padding-block:70px}
.evening-content{max-width:630px;padding:0}
.evening .section-tag{position:static;margin-bottom:24px}
.evening h2{font-size:clamp(42px,5.1vw,64px);max-width:640px;color:#fff}
.evening p{max-width:440px;font-size:17px;margin:25px 0 30px;color:#edf3eb}
.evening .button{background:#42e522;color:#193b25;box-shadow:0 12px 26px #0d211b45}
.evening .button:hover{background:#fff;color:#244632}

/* Footer with a clearer invitation, useful links and contact details */
footer{position:relative;overflow:hidden;background:linear-gradient(135deg,#1c3829 0%,#294b35 100%);box-shadow:inset 0 4px #42e522;padding:68px 0 24px}
.footer-top{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px;padding-bottom:55px}
.footer-brand-block .brand{width:max-content;padding:8px 12px;border-radius:12px;background:#f4f8ef}
.footer-brand-block .brand img{width:218px}
.footer-brand-block>p{max-width:295px;margin:24px 0 17px;color:#eff5eb;font-size:17px;line-height:1.55}
.footer-location{display:inline-flex;align-items:center;gap:9px;color:#cfe0ce;font-size:14px}
.footer-location svg{width:18px;height:18px;color:#42e522}
.footer-invitation{position:relative;padding-left:46px;border-left:1px solid #ffffff35}
.footer-invitation .section-tag{margin-bottom:20px}
.footer-invitation h2{max-width:660px;color:#fff;font-size:clamp(38px,4.3vw,56px)}
.footer-invitation h2 .script{color:#42e522}
.footer-invitation .button{margin-top:26px;background:#42e522;color:#193b25}
.footer-invitation .button:hover{background:#fff;color:#244632}
.footer-bottom{border-top:1px solid #ffffff32;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#d9e5d8;font-size:13px}
.footer-bottom nav,.footer-contact{display:flex;align-items:center;gap:22px}
.footer-bottom nav a,.footer-contact a,.back-top{transition:color .2s}
.footer-bottom nav a:hover,.footer-contact a:hover,.back-top:hover{color:#42e522}
.footer-contact a:first-child{color:#fff;font-weight:700}
.footer-contact a:first-child:hover{color:#42e522}
@media(max-width:1000px){
 .service-card{flex-basis:calc((100% - 20px)/2)}
 .service-card:last-child .service-card-photo{height:225px}
 .footer-top{gap:50px}
 .footer-bottom{flex-wrap:wrap}
}
@media(max-width:700px){
 .section-heading .service-heading-aside{align-items:flex-start;flex-direction:row;justify-content:space-between;gap:12px;margin-top:22px}
 .service-heading-aside>p{align-self:center;font-size:14px;line-height:1.5}
 .service-controls{gap:8px;flex-shrink:0}
 .service-controls button{width:42px;height:42px}
 .service-cards{gap:17px;padding-bottom:18px}
 .service-card{flex-basis:87vw}
 .service-card:last-child .service-card-photo{height:228px}
 .evening{min-height:590px}
 .evening:after{background:linear-gradient(0deg,#172c23f0 0%,#1d372bdc 51%,#1d372b4d 100%)}
 .evening>img{object-position:61% center}
 .evening-inner.wrap{align-items:flex-end;padding-block:40px 34px}
 .evening-content{max-width:none}
 .evening h2{font-size:clamp(36px,9.1vw,44px)}
 .evening p{font-size:15px;margin:19px 0 23px}
 footer{padding-top:52px}
 .footer-top{grid-template-columns:1fr;gap:40px;padding-bottom:38px}
 .footer-brand-block .brand img{width:190px}
 .footer-brand-block>p{margin-top:18px}
 .footer-invitation{padding:0;border:0}
 .footer-invitation h2{font-size:40px}
 .footer-invitation .section-tag{font-size:9px}
 .footer-bottom{display:grid;grid-template-columns:1fr;gap:18px;padding-top:20px}
 .footer-bottom nav{flex-wrap:wrap;gap:12px 22px}
 .footer-contact{flex-wrap:wrap;gap:10px 20px}
 .back-top{justify-self:start}
}

@media(min-width:701px) and (max-width:850px){.footer-top{grid-template-columns:1fr;gap:34px}.footer-invitation{padding:28px 0 0;border-left:0;border-top:1px solid #ffffff35}}
@media(prefers-reduced-motion:reduce){.service-cards{scroll-behavior:auto}}

/* Footer wordmark uses the full horizontal mark, not the header's square crop. */
.footer-brand-block .brand{position:relative;display:block;width:250px;height:96px;min-height:96px;padding:0;overflow:hidden;border-radius:12px;background:#f4f8ef}
.footer-brand-block .brand img{position:absolute;left:0;top:-78px;width:250px;height:250px;max-width:none;object-fit:contain;mix-blend-mode:normal;border-radius:0}
@media(max-width:700px){
 .footer-brand-block .brand{width:210px;height:82px;min-height:82px}
 .footer-brand-block .brand img{top:-64px;width:210px;height:210px}
}

/* White, transparent footer wordmark. Header branding remains coloured. */
.footer-brand-block .brand{background:transparent}
.footer-brand-block .brand img{filter:brightness(0) invert(1)}
