:root{--green-900:#0a1f12;--green-800:#11321f;--green-700:#17422a;--green-600:#1b5329;--green-500:#204e27;--green-400:#2f7a3a;--green-200:#a9c9ae;--green-100:#dbe8dc;--black-bar:#0b0e0b;--paper:#f5f4f0;--paper-2:#ebe9e3;--paper-3:#ddd9d0;--ink:#15190f;--ink-2:#41463c;--ink-3:#6c7167;--line:#d6d2c8;--white:#fff;--shadow-sm:0 1px 2px #0a1f120f, 0 2px 8px #0a1f120d;--shadow-md:0 2px 6px #0a1f1214, 0 14px 34px #0a1f121a;--shadow-lg:0 10px 24px #0a1f121f, 0 30px 70px #0a1f1229;--font-display:"Chivo", "Helvetica Neue", Arial, sans-serif;--font-body:"Public Sans", "Segoe UI", system-ui, sans-serif;--wrap:1200px;--gut:24px;--r:3px;--header-h:84px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--green-600);text-underline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:800;line-height:1.04}h1{font-size:clamp(2.3rem,6vw,4.1rem)}h2{font-size:clamp(1.8rem,3.8vw,2.9rem)}h3{letter-spacing:-.01em;font-size:clamp(1.15rem,1.9vw,1.45rem)}p{text-wrap:pretty;margin:0 0 1.1em}ul,ol{margin:0 0 1.1em;padding-left:1.15em}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gut);margin-inline:auto}.narrow{max-width:760px}.skip{z-index:100;background:var(--green-800);color:var(--white);padding:12px 18px;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--green-400);outline-offset:2px}.blocks{flex-direction:column;gap:3px;width:34px;margin-bottom:18px;display:flex}.blocks span{background:var(--green-500);height:5px;display:block;transform:skew(-22deg)}.blocks span:nth-child(2){background:var(--green-800);width:78%}.blocks span:nth-child(3){background:var(--green-400);width:56%}.on-dark .blocks span{background:var(--green-200)}.on-dark .blocks span:nth-child(2){background:var(--green-400)}.on-dark .blocks span:nth-child(3){background:var(--green-100)}.eyebrow{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--green-600);margin:0 0 .6em;font-size:.78rem;font-weight:700}.on-dark .eyebrow{color:var(--green-200)}.btn{font-family:var(--font-display);letter-spacing:.01em;border:2px solid var(--green-600);border-radius:var(--r);background:var(--green-600);color:var(--white);cursor:pointer;justify-content:center;align-items:center;gap:9px;padding:14px 24px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.btn:hover{background:var(--green-700);border-color:var(--green-700);transform:translateY(-1px)}.btn svg{flex:none;width:18px;height:18px}.btn-ghost{color:var(--green-700);background:0 0}.btn-ghost:hover{background:var(--green-600);color:var(--white)}.on-dark .btn-ghost{color:var(--white);border-color:#ffffff80}.on-dark .btn-ghost:hover{background:var(--white);color:var(--green-800);border-color:var(--white)}.btn-block{width:100%}.btn[disabled]{opacity:.6;cursor:progress}.site-header{z-index:50;background:var(--black-bar);border-bottom:3px solid var(--green-500);position:sticky;top:0}.site-header .bar{min-height:var(--header-h);align-items:center;gap:24px;display:flex}.brand{flex:none;line-height:0;display:block}.brand img{width:208px;height:auto}nav.main{align-items:center;gap:26px;margin-left:auto;display:flex}nav.main a{font-family:var(--font-display);color:#e6ebe4;border-bottom:2px solid #0000;padding:6px 0;font-size:.97rem;font-weight:600;text-decoration:none}nav.main a:hover{color:var(--white);border-bottom-color:#ffffff59}nav.main a[aria-current=page]{border-bottom-color:var(--green-400);color:var(--white)}.header-cta{flex:none;padding:11px 18px;font-size:.95rem}.burger{border-radius:var(--r);cursor:pointer;background:0 0;border:1.5px solid #ffffff59;flex-direction:column;flex:none;justify-content:space-between;width:46px;height:46px;margin-left:auto;padding:13px 11px;display:none}.burger[aria-expanded=true]{background:var(--green-600);border-color:var(--green-600)}.burger span{background:var(--white);height:2.5px;display:block;transform:skew(-22deg)}.burger span:nth-child(2){width:78%}.burger span:nth-child(3){width:56%}.mobile-nav{background:var(--black-bar);border-top:1px solid #ffffff24;display:none}.mobile-nav[data-open=true]{display:block}.mobile-nav .inner{padding:10px var(--gut) 20px;max-width:var(--wrap);flex-direction:column;gap:2px;margin-inline:auto;display:flex}.mobile-nav a{font-family:var(--font-display);color:#e6ebe4;border-bottom:1px solid #ffffff1f;padding:13px 0;font-weight:600;text-decoration:none}.mobile-nav .btn{color:var(--white);border-bottom:0;margin-top:14px}.hero{background:var(--green-900);color:var(--white);isolation:isolate;position:relative}.hero>img,.hero .hero-img img{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(104deg,#0a1f12ed 0%,#0a1f12c7 44%,#0a1f124d 100%);position:absolute;inset:0}.hero .wrap{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(96px,12vw,150px)}.hero-copy{max-width:44ch}.hero h1{margin-bottom:.4em}.hero .lede{color:#dfe7dd;max-width:46ch;font-size:clamp(1.05rem,1.6vw,1.22rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.rating-chip{color:#eaf1e8;background:#ffffff1a;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:10px;margin-top:26px;padding:9px 15px 9px 12px;font-size:.9rem;text-decoration:none;display:inline-flex}.rating-chip:hover{background:#ffffff2b}.rating-chip .stars{color:#f3c04a;letter-spacing:1px}.promises{z-index:2;margin-top:clamp(-74px,-6vw,-52px);position:relative}.promises ul{background:var(--green-700);border:1px solid var(--green-700);box-shadow:var(--shadow-md);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;padding:0;list-style:none;display:grid}.promises li{background:var(--green-800);color:var(--white);font-family:var(--font-display);align-items:center;gap:11px;padding:22px 20px;font-size:.97rem;font-weight:600;display:flex}.promises svg{width:17px;height:17px;color:var(--green-200);flex:none}.section{padding:clamp(60px,8vw,108px) 0}.section-dark{background:var(--green-900);color:var(--white)}.section-tint{background:var(--paper-2)}.section-head{max-width:62ch;margin-bottom:clamp(32px,4vw,52px)}.section-head p{color:var(--ink-2);margin:0;font-size:1.07rem}.on-dark .section-head p,.section-dark .section-head p{color:#c9d6c7}.section-dark a{color:var(--green-200)}.svc-cards{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;gap:18px;display:grid}.svc-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r);color:inherit;flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;overflow:hidden}.svc-card:hover,.svc-card:focus-visible{box-shadow:var(--shadow-md);border-color:var(--green-200);transform:translateY(-4px)}.svc-card .ph{aspect-ratio:4/3;background:var(--paper-3);overflow:hidden}.svc-card .ph img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.svc-card:hover .ph img{transform:scale(1.05)}.svc-card .body{border-top:3px solid var(--green-500);flex-direction:column;flex:1;padding:22px;display:flex}.svc-card h3{margin:0 0 8px}.svc-card p{color:var(--ink-2);margin:0 0 18px;font-size:.96rem}.svc-card .go{font-family:var(--font-display);color:var(--green-600);align-items:center;gap:8px;margin-top:auto;font-size:.93rem;font-weight:700;display:inline-flex}.svc-card .go svg{width:16px;height:16px;transition:transform .2s}.svc-card:hover .go svg{transform:translate(4px)}.svc-card-wide{flex-direction:row;grid-column:span 2}.svc-card-wide .ph{aspect-ratio:auto;flex:0 0 52%}.svc-card-wide .body{border-top:0;border-left:3px solid var(--green-500);justify-content:center;padding:clamp(22px,3vw,34px)}.svc-card-wide h3{font-size:clamp(1.35rem,2.2vw,1.75rem)}.svc-card-wide p{font-size:1.02rem}.split{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(28px,5vw,68px);display:grid}.split-media img{border-radius:var(--r);width:100%;box-shadow:var(--shadow-md)}.split-media{position:relative}.split-media:before{content:"";border-left:5px solid var(--green-500);border-bottom:5px solid var(--green-500);z-index:-1;width:44%;height:58%;position:absolute;bottom:-14px;left:-14px}.points{gap:18px;margin:26px 0 0;padding:0;list-style:none;display:grid}.points li{grid-template-columns:26px 1fr;gap:14px;display:grid}.points svg{width:20px;height:20px;color:var(--green-500);margin-top:4px}.points b{font-family:var(--font-display);font-size:1.04rem;display:block}.points span{color:var(--ink-2);font-size:.98rem}.on-dark .points span,.section-dark .points span{color:#c2d1c1}.on-dark .points svg,.section-dark .points svg{color:var(--green-200)}.steps{background:#ffffff24;border:1px solid #ffffff24;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.steps>div{background:var(--green-900);padding:clamp(24px,3vw,38px)}.steps .n{font-family:var(--font-display);color:var(--green-400);letter-spacing:-.04em;margin-bottom:16px;font-size:2.6rem;font-weight:800;line-height:1;display:block}.steps h3{color:var(--white);margin-bottom:8px}.steps p{color:#c2d1c1;margin:0;font-size:.98rem}.rev-featured{background:var(--white);border:1px solid var(--line);border-left:6px solid var(--green-500);box-shadow:var(--shadow-sm);padding:clamp(26px,4vw,44px)}.rev-featured blockquote{font-size:clamp(1.1rem,1.8vw,1.38rem);line-height:1.5;font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 20px;font-weight:500}.rev-grid{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:18px;margin-top:18px;display:grid}.rev{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:22px}.rev p{color:var(--ink-2);font-size:.96rem}.rev p:last-of-type{margin-bottom:0}.stars{color:#e0a92c;letter-spacing:2px;margin-bottom:10px;font-size:.95rem;display:block}.who{font-family:var(--font-display);margin-top:14px;font-weight:700;display:block}.who small{font-family:var(--font-body);color:var(--ink-3);font-size:.86rem;font-weight:400;display:block}.gal{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.gal figure{border-radius:var(--r);background:var(--paper-3);margin:0;position:relative;overflow:hidden}.gal img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s}.gal figure:hover img{transform:scale(1.05)}.gal figcaption{color:var(--white);background:linear-gradient(#0000,#0a1f12e0);padding:26px 16px 12px;font-size:.88rem;line-height:1.35;position:absolute;inset:auto 0 0}.gal-tall img{aspect-ratio:3/4}.area-grid{grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px;display:grid}.area-card{background:var(--white);border:1px solid var(--line);border-top:4px solid var(--green-500);color:inherit;padding:24px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-top-color .18s;display:block}.area-card:hover{box-shadow:var(--shadow-md);border-top-color:var(--green-400);transform:translateY(-3px)}.area-card h3{margin-bottom:6px}.area-card p{color:var(--ink-2);margin:0;font-size:.95rem}.area-card .more{font-family:var(--font-display);color:var(--green-600);margin-top:14px;font-size:.92rem;font-weight:700;display:inline-block}.page-hero{background:var(--green-900);color:var(--white);padding:clamp(44px,6vw,76px) 0 clamp(40px,5vw,64px)}.page-hero h1{margin-bottom:.35em}.page-hero p{color:#cedbcc;max-width:62ch;margin:0;font-size:1.08rem}.crumbs{color:#a8bca8;margin-bottom:18px;font-size:.86rem}.crumbs a{color:#cfe0cd;text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs span{opacity:.55;padding:0 7px}.covers{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:2px;margin:0;padding:0;list-style:none;display:grid}.covers li{background:var(--paper);align-items:flex-start;gap:11px;padding:15px 18px;font-size:.98rem;display:flex}.covers svg{width:18px;height:18px;color:var(--green-500);flex:none;margin-top:4px}.note{background:var(--white);border:1px solid var(--line);border-left:5px solid var(--green-500);padding:24px 26px}.note h3{margin-bottom:8px}.note p:last-child{margin-bottom:0}details.faq{border-bottom:1px solid var(--line)}details.faq summary{cursor:pointer;font-family:var(--font-display);padding:20px 44px 20px 0;font-size:1.06rem;font-weight:700;list-style:none;position:relative}details.faq summary::-webkit-details-marker{display:none}details.faq summary:after{content:"";border-right:2.5px solid var(--green-600);border-bottom:2.5px solid var(--green-600);width:11px;height:11px;transition:transform .2s;position:absolute;top:50%;right:12px;transform:translateY(-70%)rotate(45deg)}details.faq[open] summary:after{transform:translateY(-25%)rotate(-135deg)}details.faq p{color:var(--ink-2);max-width:72ch;margin:0 0 20px}.quote-band{background:var(--green-900);color:var(--white)}.quote-grid{grid-template-columns:1fr 1.05fr;align-items:start;gap:clamp(30px,5vw,64px);display:grid}.contact-lines{gap:14px;margin:26px 0 0;padding:0;list-style:none;display:grid}.contact-lines li{grid-template-columns:22px 1fr;align-items:start;gap:13px;display:grid}.contact-lines svg{width:19px;height:19px;color:var(--green-200);margin-top:4px}.contact-lines a{color:var(--white);font-weight:600;text-decoration:none}.contact-lines a:hover{text-decoration:underline}.enquiry{background:var(--paper);color:var(--ink);border-radius:var(--r);box-shadow:var(--shadow-lg);border-top:5px solid var(--green-500);padding:clamp(22px,3vw,34px)}.enquiry h2,.enquiry h3{margin-bottom:6px}.form-intro{color:var(--ink-2);margin-bottom:20px;font-size:.96rem}.field{margin-bottom:15px}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field label{font-family:var(--font-display);margin-bottom:6px;font-size:.89rem;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;background:var(--white);border:1.5px solid var(--paper-3);border-radius:var(--r);color:var(--ink);padding:12px 13px;font-size:1rem}.field textarea{resize:vertical;min-height:118px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-500);outline-offset:0}.field.invalid input,.field.invalid select,.field.invalid textarea{background:#fdf4f2;border-color:#b4321f}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-5000px}.form-note{color:var(--ink-2);margin:14px 0 0;font-size:.9rem}.form-status{color:#96291a;min-height:1px;margin:12px 0 0;font-size:.94rem;font-weight:600}.form-preview{color:var(--ink-3);border-top:1px dashed var(--paper-3);margin:12px 0 0;padding-top:12px;font-size:.86rem}.site-footer{background:var(--green-900);color:#c7d4c5;padding:clamp(46px,6vw,74px) 0 0;font-size:.95rem}.foot-top{grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:42px;display:grid}.foot-top h2{letter-spacing:.15em;text-transform:uppercase;color:var(--green-200);margin-bottom:16px;font-size:.8rem}.foot-top ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.foot-top a{color:#d6e1d4;text-decoration:none}.foot-top a:hover{color:var(--white);text-decoration:underline}.foot-logo img{width:230px;margin-bottom:18px}.foot-brand p{max-width:38ch}.foot-social{align-items:center;gap:9px;display:inline-flex}.foot-social svg{width:17px;height:17px;color:var(--green-200);flex:none}.foot-phone{font-family:var(--font-display);font-size:1.22rem;font-weight:800;color:var(--white)!important}.foot-bottom{color:#98ab96;border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;gap:10px 22px;padding:20px 0 24px;font-size:.85rem;display:flex}.action-bar{z-index:60;background:var(--green-700);border-top:1px solid var(--green-700);gap:1px;padding:0;display:none;position:fixed;inset:auto 0 0}.action-bar .btn{border:0;border-radius:0;flex:1;padding:15px 10px;font-size:1.02rem}.action-bar .btn-ghost{background:var(--green-900);color:var(--white)}.js [data-reveal]{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(14px)}.js [data-reveal].in{opacity:1;transform:none}@media (width<=1060px){.svc-cards{grid-template-columns:repeat(2,1fr)}.svc-card-wide-end{flex-direction:column;grid-column:span 1}.svc-card-wide-end .ph{aspect-ratio:4/3;flex:none}.svc-card-wide-end .body{border-left:0;border-top:3px solid var(--green-500);justify-content:flex-start;padding:22px}.svc-card-wide-end h3{font-size:clamp(1.15rem,1.9vw,1.45rem)}.svc-card-wide-end p{font-size:.96rem}.foot-top{grid-template-columns:1fr 1fr;gap:32px}}@media (width<=980px){nav.main,.header-cta{display:none}.burger{display:flex}.mobile-nav{display:none}.split{grid-template-columns:1fr}.split-media:before{display:none}.quote-grid{grid-template-columns:1fr}.promises ul{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:1fr}}@media (width<=700px){body{padding-bottom:58px}.action-bar{display:flex}.brand img{width:168px}.svc-cards{grid-template-columns:1fr;gap:14px}.svc-card-wide{flex-direction:column;grid-column:span 1}.svc-card-wide .ph{aspect-ratio:4/3;flex:none}.svc-card-wide .body{border-left:0;border-top:3px solid var(--green-500)}.field-row{grid-template-columns:1fr;gap:0}.promises{margin-top:-40px}.promises ul,.foot-top{grid-template-columns:1fr}.hero-actions .btn{flex:100%}}
