@font-face{font-family:Inter;src:url("assets/inter-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-500.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url("assets/inter-700.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--green:#206345;--ink:#172820;--muted:#5d6d63;--pale:#f2f7f1;--yellow:#f4cc4c;--border:#e1e8df}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.35}p,h1,h2,h3,blockquote{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ad8015;outline-offset:4px}img{display:block}button{background:none;color:inherit}.container{max-width:1200px;width:calc(100% - 80px);margin-inline:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border-radius:24px;padding:0 26px;background:var(--yellow);font-size:14px;font-weight:600;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:#f7d970;transform:translateY(-1px)}.green{background:var(--green);color:#fff}.green:hover{background:#174b34}.eyebrow{font-size:12px;font-weight:700;color:var(--green)}h2{font-size:32px;line-height:1.2;font-weight:700}h3{font-size:16px}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;min-width:230px}.brand img{flex:none}.brand strong{font-size:25px;color:var(--green);display:block}.brand small{display:block;font-size:10px;font-weight:500;color:var(--muted)}.nav nav{display:flex;gap:28px;align-items:center;font-size:12px;font-weight:600}.nav nav a:hover,.nav nav a:first-child{color:var(--green)}.nav>.button{width:156px;padding:0 16px}.menu-toggle{display:none}
.hero{height:500px;position:relative;background:#f5faf5;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:62.5%;height:500px}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-wash{position:absolute;inset:0 auto 0 0;width:59.03%;background:linear-gradient(90deg,#f5faf5 0%,#f5faf5 68%,rgba(245,250,245,0) 100%)}.hero-inner{position:relative;height:100%}.hero-copy{padding-top:40px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}.hero h1{font-size:55px;line-height:1.08;letter-spacing:0;font-weight:700}.hero h1 span{color:var(--green)}.hero-description{font-size:17px;color:var(--muted)}.hero-buttons{display:flex;align-items:center;gap:26px;height:46px}.hero-buttons .button{width:220px}.work-link{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.play{background:var(--green);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:17px}.trust{display:flex;gap:24px;position:absolute;left:0;top:426px;height:48px}.trust>div{display:flex;align-items:center;gap:9px;width:140px;font-size:12px;font-weight:500}.hero-callout{position:absolute;right:5.7%;top:314px;border-radius:16px;background:var(--green);padding:22px;width:238px;color:#fff;display:flex;flex-direction:column;gap:12px}.hero-callout h3{font-size:20px;line-height:1.35}.hero-callout p{font-size:13px;color:#e0ebdc}.hero-callout button{padding:0;text-align:left;font-size:15px;font-weight:700;color:var(--yellow)}
.section-heading{text-align:center;display:flex;flex-direction:column;gap:7px}.section-heading>p:last-child:not(.eyebrow){font-size:15px;color:var(--muted)}.services{padding-top:30px;padding-bottom:47px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 24px;margin-top:26px}.service-card{display:grid;grid-template-columns:minmax(0,1fr) 148px;min-height:162px;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px #001f0f14}.service-copy{padding:14px 15px;display:flex;flex-direction:column;gap:9px}.service-copy h3{display:flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}.icon-circle{display:grid;place-items:center;background:var(--green);border-radius:50%;width:36px;height:36px;flex:none}.service-copy p{font-size:13px;color:var(--muted)}.text-link{padding:0;color:var(--green);font-size:12px;font-weight:700;text-align:left;width:fit-content}.text-link:hover{text-decoration:underline}.service-photo{width:148px;height:162px;object-fit:cover}
.about{background:var(--pale);height:352px;overflow:hidden}.about-grid{display:grid;grid-template-columns:370px minmax(0,1fr) 238px;gap:45px;padding-top:30px;align-items:start}.about-photo{width:370px;height:322px;object-fit:cover;border-radius:22px}.about-copy{padding-top:10px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.about-copy h2{font-size:31px;line-height:1.15}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--muted)}.checks{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;color:var(--green);font-size:13px;font-weight:500}.about-copy .button{width:185px}.stats{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 8px #001f0f14;display:flex;flex-direction:column;gap:20px;margin-top:-2px}.stats>div{display:flex;gap:14px;align-items:center;height:48px}.stats strong{display:block;font-size:22px}.stats small{display:block;font-size:11px;color:var(--muted)}
.process{padding-top:36px;padding-bottom:45px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:32px;height:115px;align-items:center}.steps article{display:flex;gap:18px;height:112px}.steps .icon-circle{width:60px;height:60px}.steps article>div{display:flex;flex-direction:column;gap:7px}.step-number{font-size:20px;color:var(--green)}.steps h3{font-size:16px;font-weight:600}.steps p{font-size:13px;color:var(--muted)}.why{background:#103e2c;min-height:263px;position:relative;color:#fff;overflow:hidden}.why-copy{padding-block:34px;display:flex;flex-direction:column;gap:13px;max-width:850px}.why .eyebrow{color:#d9e7d8;font-weight:600}.why-copy>p:not(.eyebrow){font-size:16px;color:#d9e7d8}.why h2{line-height:1.35}.why-points{display:flex;gap:20px;align-items:center;height:75px}.why-points>div{width:144px;display:flex;flex-direction:column;gap:10px}.why-points p{font-size:12px;font-weight:500}.why-photo{position:absolute;right:0;top:0;width:22.22%;height:263px;object-fit:cover}
.faq{max-width:1288px;width:calc(100% - 80px);margin:30px auto 0;padding:20px;background:var(--pale);border-radius:18px;display:grid;grid-template-columns:280px 368px minmax(0,1fr);gap:34px;align-items:center;min-height:216px}.faq-photo{width:280px;height:176px;object-fit:cover;border-radius:12px}.faq-copy{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.faq-copy h2{font-size:25px;line-height:1.15}.faq-copy .eyebrow{font-size:11px}.faq-copy>p:not(.eyebrow){font-size:13px;color:var(--muted)}.faq-copy .button{width:160px}.faq-list{padding:12px;border-radius:12px;background:#fff}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:38px;font-size:12px;font-weight:500;cursor:pointer;gap:10px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;color:var(--green);font-weight:400}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details>p{font-size:12px;color:var(--muted);padding:0 20px 12px 0;line-height:1.6}
.testimonials{padding-top:27px;padding-bottom:61px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:22px;min-height:180px;align-items:center}.review{padding:20px;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 8px #001f0f14;display:flex;flex-direction:column;gap:12px}.stars{font-size:16px;font-weight:700;color:#ad8015}.review blockquote{font-size:13px;color:var(--muted);min-height:53px}.review-person{display:flex;align-items:center;gap:12px;min-height:38px}.review-person>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--pale);font-size:15px;font-weight:700;color:var(--green)}.review-person strong{display:block;font-size:13px}.review-person small{display:block;font-size:11px;color:var(--muted)}
.cta{background:var(--green);color:#fff}.cta>.container{min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta h2{line-height:1.35}.cta p{font-size:16px;color:#e0ebdc;margin-top:10px}.cta .button{width:225px}.cta-contact{display:flex;flex-direction:column;gap:7px;min-width:250px}.cta-contact small{font-size:11px;color:#e0ebdc;font-weight:500}.cta-contact strong{font-size:17px;font-weight:600}footer{background:#0d2f22;color:#cfddd2}.footer-inner{max-width:1332px;margin:auto;display:grid;grid-template-columns:270px repeat(4,minmax(0,1fr));gap:66px;padding:54px 0;min-height:228px}.footer-brand{display:flex;flex-direction:column;gap:14px}.footer-brand>strong{font-size:27px;color:#fff}.footer-brand p{font-size:13px}.footer-brand small{font-size:11px}.footer-inner h3{font-size:14px;color:#fff;margin-bottom:18px}.footer-inner a,.footer-inner>div:not(.footer-brand) p,.footer-contact{display:block;font-size:12px;line-height:1.65;padding:0;text-align:left}.footer-inner a:hover,.footer-contact:hover{color:var(--yellow)}
dialog{border:0;border-radius:18px;padding:36px;width:min(520px,calc(100% - 32px));color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#0d2f2280;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:10px;font-size:28px}.dialog-intro{margin:12px 0 18px;color:var(--muted);font-size:14px}dialog h2{font-size:27px;margin-top:10px}form{display:flex;flex-direction:column;gap:14px}label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:6px}input,select,textarea{width:100%;border:1px solid #b9cbbd;border-radius:7px;padding:10px;background:#fff;color:var(--ink);font-size:14px}textarea{resize:vertical}.form-note{font-size:12px;color:var(--muted)}#enquiry-result{margin-top:18px}#enquiry-result textarea{margin:14px 0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1400px){.about-grid{grid-template-columns:370px 502px 238px}.about-copy{max-width:490px}.about-copy>p:not(.eyebrow){max-width:470px}}
@media(max-width:1399px){.nav nav{gap:18px}.brand{min-width:180px}.service-card{grid-template-columns:minmax(0,1fr) 36%}.service-photo{width:100%}.service-copy{padding:14px 12px}.service-copy h3{font-size:12px;gap:6px}.service-copy p{font-size:12px}.about-grid{grid-template-columns:31% minmax(0,1fr) 20%;gap:30px}.about-photo{width:100%}.about-copy h2{font-size:27px}.checks{font-size:11px}.faq{grid-template-columns:23% 29% minmax(0,1fr);gap:24px}.faq-photo{width:100%}.footer-inner{padding:54px 40px;gap:35px;grid-template-columns:230px repeat(4,1fr)}.cta-contact{min-width:220px}.why-copy{max-width:72%}.why-points{gap:10px}.why-points>div{width:130px}.steps{gap:16px}.steps article{gap:12px}.steps h3{font-size:14px}}
@media(max-width:1050px){.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;z-index:5;padding:24px 40px;flex-wrap:wrap;box-shadow:0 6px 12px #0001}.nav nav.open{display:flex}.menu-toggle{display:block;margin-left:auto;margin-right:20px;font-size:24px}.hero-callout{right:4%;width:210px}.hero-copy{max-width:65%}.hero h1{font-size:48px}.hero-description br{display:none}.trust{gap:10px}.trust>div{width:120px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-copy h3{font-size:14px}.service-copy p{font-size:13px}.about{height:auto}.about-grid{grid-template-columns:34% 1fr;gap:28px;padding-bottom:30px}.about-photo{height:320px}.stats{grid-column:1/-1;flex-direction:row;justify-content:space-between;padding:20px;gap:12px}.stats>div{gap:8px}.stats small{font-size:10px}.steps{grid-template-columns:repeat(2,1fr);height:auto;gap:20px}.why-photo{width:26%}.why-copy>p:not(.eyebrow){font-size:14px}.why-points>div{width:auto;flex:1}.faq{grid-template-columns:32% 1fr}.faq-photo{width:100%}.faq-list{grid-column:1/-1}.cta>.container{flex-wrap:wrap;padding-block:28px}.cta-contact{display:none}.footer-inner{grid-template-columns:repeat(4,1fr);gap:24px}.footer-brand{grid-column:1/-1}.review blockquote{min-height:88px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}h2{font-size:26px}.nav{height:76px}.brand{min-width:0}.brand strong{font-size:21px}.brand small{font-size:9px}.nav>.button{display:none}.menu-toggle{margin-right:0}.hero{height:auto;padding-bottom:24px}.hero-photo{width:100%;height:280px;position:relative}.hero-wash{top:170px;bottom:auto;width:100%;height:110px;background:linear-gradient(0deg,#f5faf5,transparent)}.hero-inner{margin-top:-10px}.hero-copy{padding-top:0;max-width:none;position:relative;gap:16px}.hero h1{font-size:42px}.hero-description{font-size:15px}.hero-buttons{gap:14px;width:100%}.hero-buttons .button{width:auto;padding-inline:20px;font-size:12px}.work-link{font-size:12px}.play{width:36px;height:36px}.trust{position:static;display:grid;grid-template-columns:1fr 1fr;margin-top:25px;height:auto;gap:14px}.trust>div{width:auto}.hero-callout{position:static;width:calc(100% - 40px);margin:24px auto 0}.hero-callout h3 br{display:none}.services{padding-block:36px}.section-heading>p:last-child:not(.eyebrow){font-size:14px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{grid-template-columns:minmax(0,1fr) 38%}.service-copy{padding:14px 15px}.service-copy h3{font-size:13px}.service-copy p{font-size:12px}.about-grid{grid-template-columns:1fr;padding-block:24px;gap:24px}.about-photo{height:300px}.about-copy{padding-top:0}.about-copy h2{font-size:27px}.checks{font-size:12px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.process{padding-block:36px}.steps{grid-template-columns:1fr;margin-top:28px;gap:20px}.steps article{height:auto;min-height:100px;gap:18px}.steps h3{font-size:16px}.why-copy{max-width:none;padding-block:30px}.why h2{font-size:27px}.why-points{height:auto;flex-wrap:wrap;gap:22px;margin-top:5px}.why-points>div{flex:0 0 calc(33.333% - 15px)}.why-photo{position:static;width:100%;height:220px}.faq{width:calc(100% - 40px);padding:18px;grid-template-columns:1fr;gap:22px}.faq-photo{width:100%;height:190px}.faq-list{grid-column:auto}.faq-copy h2{font-size:27px}.testimonials{padding-block:36px}.review-grid{grid-template-columns:1fr;gap:18px}.review blockquote{min-height:0}.cta>.container{align-items:flex-start;gap:22px}.cta h2{font-size:27px}.cta p{font-size:14px}.footer-inner{grid-template-columns:1fr 1fr;padding:36px 20px;gap:30px}.footer-brand{grid-column:1/-1}.footer-inner>div:last-child{grid-column:1/-1}dialog{padding:30px 24px}}
[hidden]{display:none!important}.button{color:var(--ink)}.button.green{color:#fff}
.why-points img{align-self:flex-start}
@media(min-width:1051px){.services{padding-bottom:18px}.process{padding-bottom:33px}.testimonials{padding-bottom:18px}.service-card{height:162px;min-height:162px}.review blockquote{min-height:0}}
/* Spacious section rhythm, with room for content to grow. */
.services,.process,.testimonials{padding-block:72px}
.service-grid,.steps,.review-grid{margin-top:38px}
.about{height:auto;overflow:visible}
.about-grid{padding-block:48px}
.why{min-height:340px}
.why-copy{padding-block:64px;gap:18px}
.why-photo{height:100%}
.why-points{margin-top:10px}
.faq{margin-top:64px;padding-block:40px;min-height:280px}
.faq-copy{gap:12px}
.faq-list{padding:16px}
.faq-list summary{min-height:46px}
.review{padding:26px 20px;gap:16px}
@media(max-width:700px){
  .services,.process,.testimonials{padding-block:48px}
  .service-grid,.steps,.review-grid{margin-top:30px}
  .about-grid{padding-block:36px;gap:28px}
  .why-copy{padding-block:44px}
  .why-photo{height:220px}
  .faq{margin-top:48px;padding-block:28px;gap:28px}
  .review{padding:24px 20px}
}
/* Taller hero stage for a future cinematic background. */
@media(min-width:701px){
  .hero{height:clamp(640px,78vh,880px)}
  .hero-photo{height:100%}
  .hero-copy{padding-top:clamp(80px,14vh,160px)}
  .trust{top:auto;bottom:32px}
  .hero-callout{top:auto;bottom:48px}
}
@media(max-width:700px){
  .hero-photo{height:420px}
  .hero-wash{top:310px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
