@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--green:#002e25;--gold:#ddbd7d;--ink:#143d34;--muted:#56625d;--paper:#f4f5f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ac8647;outline-offset:5px}.skip{position:absolute;top:-70px;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{padding:52px 5vw 38px;background:var(--green);color:white;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:15px;font-size:clamp(25px,2.7vw,39px);letter-spacing:.02em;white-space:nowrap}.brand small{font-size:.7em;font-weight:400}.brand svg{width:70px;height:70px;color:var(--gold)}nav{display:flex;gap:29px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--gold)}.menu{display:none}.hero{padding:0 3.4vw 48px;background:var(--green)}.hero-picture{height:570px;overflow:hidden;background:#234b43}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.8)}.hero-copy{max-width:1080px;margin:0 auto;padding:65px 20px 30px;color:white;text-align:center}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.2vw,72px);line-height:1.12;font-weight:400;letter-spacing:-.035em;margin-bottom:24px}.hero-copy p{font-size:19px;color:#cbd9d0;margin-bottom:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 26px;font-size:14px;border:1px solid var(--green);border-radius:0;font-weight:500;transition:background .2s}.gold{background:var(--gold);color:var(--green);border-color:var(--gold)}.gold:hover{background:#efd59f}.outline{background:transparent;color:var(--green)}.outline:hover{background:#edf0e8}.section{padding:88px max(calc((100vw - 1180px)/2),6vw)}h2{font-size:clamp(28px,3vw,40px);line-height:1.25;text-align:center;font-weight:400;letter-spacing:-.025em;margin-bottom:24px}.rule{width:58px;height:2px;background:var(--gold);margin:0 auto 55px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:70px}.image-frame{height:410px;overflow:hidden}.image-frame img{display:block;width:100%;height:100%;object-fit:cover}.section-copy h3,.contact h3{font-size:30px;font-weight:400;line-height:1.25;letter-spacing:-.02em;margin-bottom:24px}p{color:var(--muted);font-size:16px;margin-bottom:20px}.text-link{display:inline-flex;gap:28px;border-bottom:1px solid var(--gold);padding:8px 0;font-size:14px}.tinted{background:var(--paper)}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-bottom:35px}.services article{border-top:1px solid #ccd7cd;padding-top:25px}.services article>span{color:#9c7f45;font-size:14px}.services h3{font-size:24px;font-weight:400;margin:16px 0}.approach{background:var(--green);color:white;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px}.approach h2{text-align:left}.approach p{color:#c3d0c7}.approach ol{list-style:none;padding:0;margin:0;counter-reset:step}.approach li{counter-increment:step;border-top:1px solid #426258;padding:20px 0 5px}.approach strong{font-weight:500;font-size:22px}.approach strong:before{content:"0" counter(step);color:var(--gold);font-size:14px;display:inline-block;width:42px}.approach li p{margin:10px 0 15px 42px;font-size:15px}.faq{max-width:1100px;margin:auto}.faq details{border-bottom:1px solid #d5ddd4;padding:23px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{margin:20px 0 0}.contact{background:var(--paper)}.contact .split{align-items:start}.contact-copy{padding:45px 15px}.contact-copy strong{display:block;margin-top:40px;letter-spacing:.08em}label{display:block;font-size:14px;margin-bottom:20px}input,textarea{display:block;width:100%;min-width:0;border:1px solid #bdc9bf;padding:12px;background:#fff;color:var(--ink);border-radius:0;margin-top:6px}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #9d803e;outline-offset:2px}input[aria-invalid=true]{border-color:#c22b2b}.field-error{color:#b42323;font-size:13px;margin-top:4px}.form-note{font-size:12px;margin:14px 0}#form-status{font-size:14px}#enquiry-result{margin-top:20px}footer{background:var(--green);color:white;padding:35px 6vw;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p{color:#c3d0c7;font-size:12px;margin:0}.footer-brand{font-size:20px;letter-spacing:.06em}footer>a:last-child{font-size:12px}@media(max-width:1050px){header{padding:30px 6vw}.brand{font-size:28px}.brand svg{width:52px;height:52px}nav{gap:15px;font-size:11px}.split{gap:35px}.hero-picture{height:470px}}@media(max-width:760px){header{position:relative;padding:24px 6vw}.brand{font-size:24px}.brand svg{width:40px;height:40px}.menu{display:block;background:transparent;color:white;border:1px solid #527368;padding:7px 12px;font-size:13px}nav{display:none;position:absolute;z-index:2;left:0;right:0;top:100%;padding:18px 6vw 25px;background:var(--green);font-size:13px;flex-direction:column;gap:9px}nav.open{display:flex}.hero{padding:0 18px 36px}.hero-picture{height:400px}.hero-copy{padding:42px 5px 10px}.hero-copy p{font-size:16px}h1{font-size:40px}.section{padding:60px 6vw}.rule{margin-bottom:35px}.split{grid-template-columns:1fr;gap:30px}.image-frame{height:300px}.reverse .image-frame{grid-row:1}.section-copy h3,.contact h3{font-size:27px}.services{grid-template-columns:1fr;gap:20px}.services h3{margin-top:10px}.approach{grid-template-columns:1fr;gap:25px}.contact-copy{padding:15px 0}footer{align-items:flex-start;flex-direction:column;gap:13px}}@media(max-width:380px){.brand{font-size:20px;gap:5px}.brand svg{width:32px}.hero-picture{height:330px}h1{font-size:34px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand-image{display:block;position:relative;width:330px;height:68px;overflow:hidden}
.brand-image img{position:absolute;width:133.4%;max-width:none;height:auto;left:-17.2%;top:-58%;display:block}
.footer-brand .brand-image{width:245px;height:51px}
@media(max-width:1050px){.brand-image{width:260px;height:54px}}
@media(max-width:760px){.brand-image{width:220px;height:46px}header{gap:16px}}
@media(max-width:380px){.brand-image{width:185px;height:39px}.menu{padding:7px 9px}}
