:root{--ink:#10211d;--forest:#14362d;--green:#1d5b48;--lime:#c7ff4a;--paper:#f7f7f2;--line:#cfd8d2;--muted:#596a64}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.header{position:absolute;z-index:10;width:100%;height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.16)}
.logo{display:flex;align-items:center;gap:12px;font-size:14px;letter-spacing:.12em;font-weight:700}
.logo small{display:block;margin-top:2px;font-size:8px;letter-spacing:.25em;font-weight:500}
.logo-mark{position:relative;display:block;width:32px;height:32px;border:2px solid var(--lime);transform:rotate(45deg)}
.logo-mark:before,.logo-mark i{content:"";position:absolute;width:8px;height:18px;background:var(--lime)}
.logo-mark:before{left:4px;top:5px}.logo-mark i{right:4px;bottom:5px}
nav{display:flex;align-items:center;gap:34px;font-size:13px}nav a{opacity:.82}nav a:hover{opacity:1}
.nav-button{padding:12px 18px;border:1px solid rgba(255,255,255,.45);opacity:1}
.hero{position:relative;overflow:hidden;min-height:760px;padding:180px 5vw 90px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.6fr);gap:9vw;align-items:end;background:var(--forest);color:#fff}
.hero:after{content:"";position:absolute;right:-160px;top:80px;width:580px;height:580px;border:1px solid rgba(199,255,74,.18);border-radius:50%;box-shadow:0 0 0 100px rgba(199,255,74,.025),0 0 0 200px rgba(199,255,74,.018)}
.hero-grid{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:80px 80px}
.hero-copy,.hero-aside{position:relative;z-index:2}.overline,.section-label{text-transform:uppercase;letter-spacing:.19em;font-size:11px;font-weight:700}
.overline{display:flex;align-items:center;gap:12px;color:#dce9e3}.overline span{width:33px;height:2px;background:var(--lime)}
.hero h1{max-width:960px;margin:34px 0;font-size:clamp(52px,6.5vw,100px);line-height:.98;letter-spacing:-.055em;font-weight:500}.hero h1 em{color:var(--lime);font-style:normal}
.lead{max-width:710px;font-size:18px;line-height:1.65;color:#ccdad5}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.button{min-height:54px;padding:0 22px;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border:1px solid rgba(255,255,255,.45);font-size:13px;transition:.2s}.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:700}
.hero-aside{padding-left:30px;margin-bottom:16px;border-left:1px solid rgba(255,255,255,.22)}.hero-aside>p{color:var(--lime);font-size:11px;text-transform:uppercase;letter-spacing:.16em}.hero-aside h2{font-size:23px;line-height:1.45;font-weight:500}.rule{height:1px;margin:32px 0 22px;background:rgba(255,255,255,.2)}.hero-aside>span{color:#a9bbb4;font-size:12px}
.intro{padding:120px 5vw 80px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.section-label{color:var(--green)}.intro h2{max-width:1100px;margin:0;font-size:clamp(34px,4.2vw,64px);line-height:1.13;letter-spacing:-.04em;font-weight:500}.intro h2 span{color:var(--green)}
.services{padding:0 5vw 120px;display:grid;grid-template-columns:repeat(3,1fr)}.services article{min-height:340px;padding:34px 36px 38px 0;display:flex;flex-direction:column;border-top:1px solid var(--line);border-right:1px solid var(--line)}.services article+article{padding-left:36px}.services article:last-child{border-right:0}.services article>span{color:var(--green);font-size:12px;font-weight:700}.services h3{margin:55px 0 18px;font-size:26px}.services p{margin:0;color:var(--muted);line-height:1.7}.services a{margin-top:auto;font-size:13px;font-weight:700}
.focus{padding:110px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--forest);color:#fff}.section-label-light{color:var(--lime)}.focus h2{max-width:650px;font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:-.04em;font-weight:500}.focus-copy>p:last-child{max-width:600px;color:#b8c8c2;line-height:1.8}.focus-list{border-top:1px solid rgba(255,255,255,.22)}.focus-list div{padding:22px 0;display:flex;align-items:center;gap:30px;border-bottom:1px solid rgba(255,255,255,.22);font-size:17px}.focus-list span{color:var(--lime);font-size:10px}
.process{padding:110px 5vw}.process-grid{margin-top:50px;display:grid;grid-template-columns:repeat(4,1fr)}.process article{padding:5px 30px 20px;border-left:1px solid var(--line)}.process article>span{color:var(--green);font-size:11px;font-weight:700}.process h3{margin:42px 0 18px;font-size:22px}.process article p{color:var(--muted);font-size:14px;line-height:1.75}
.enquiry{padding:110px 5vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;background:#e8ede6}.enquiry-copy h2{margin:25px 0;font-size:clamp(40px,5vw,70px);line-height:1;letter-spacing:-.045em;font-weight:500}.enquiry-copy>p{color:var(--muted);line-height:1.7}.contact-card{margin-top:55px;padding-top:25px;display:grid;gap:9px;border-top:1px solid #bac6be}.contact-card small{margin-top:12px;color:#6a7873;text-transform:uppercase;letter-spacing:.13em;font-size:9px}.contact-card a{font-weight:700}.contact-card strong{color:var(--forest);font-size:18px}
form{padding:42px;background:#fff;box-shadow:0 18px 60px rgba(31,52,45,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{margin-bottom:22px;display:flex;flex-direction:column;gap:9px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:700}input,select,textarea{width:100%;padding:12px 2px;border:0;border-bottom:1px solid #b8c3bc;border-radius:0;background:transparent;color:var(--ink);font:14px Arial,Helvetica,sans-serif;outline:none}textarea{padding:14px;border:1px solid #b8c3bc;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green)}.consent{flex-direction:row;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400;color:#63716c}.consent input{width:15px;margin-top:1px}button{width:100%;padding:17px 20px;display:flex;justify-content:space-between;border:0;background:var(--forest);color:#fff;font-weight:700;cursor:pointer}button:hover{background:var(--green)}.form-note{margin:12px 0 0;color:#73807b;font-size:10px;line-height:1.5}
footer{padding:70px 5vw 35px;display:grid;grid-template-columns:1fr .9fr 1.2fr .6fr;gap:30px;align-items:start;background:#0d1d19;color:#fff}footer p{margin:0;color:#9fb1aa;font-size:13px;line-height:1.6}footer address{display:grid;gap:10px;color:#b8c8c2;font-size:12px;line-height:1.6;font-style:normal}footer address a{color:#fff;font-weight:700}footer>div{display:flex;justify-content:flex-end;gap:25px;font-size:12px}footer>small{grid-column:1/-1;margin-top:35px;padding-top:25px;border-top:1px solid rgba(255,255,255,.13);color:#73867f;font-size:10px;line-height:1.6}
@media(max-width:900px){.header{height:72px}nav a:not(.nav-button){display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px}.hero-aside{max-width:420px}.intro,.focus,.enquiry{grid-template-columns:1fr}.services{grid-template-columns:1fr}.services article{min-height:270px;padding:30px 0;border-right:0}.services article+article{padding-left:0}.process-grid{grid-template-columns:1fr 1fr;gap:40px 0}footer{grid-template-columns:1fr}footer>div{justify-content:flex-start}}
@media(max-width:560px){.header{padding:0 20px}.nav-button{padding:10px 12px;font-size:11px}.hero{padding:135px 20px 70px}.hero h1{font-size:51px}.button{width:100%}.intro,.services,.process{padding-left:20px;padding-right:20px}.focus,.enquiry{padding:80px 20px}.process-grid{grid-template-columns:1fr}.process article{padding-left:20px}.form-row{grid-template-columns:1fr;gap:0}form{padding:28px 22px}footer{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}
