:root{
--black:#0b0d0c;
--ink:#151816;
--green:#79b83a;
--green2:#a2d45e;
--cream:#f4f3ed;
--white:#fff;
--muted:#aeb5af}
*{
box-sizing:border-box}
html{
scroll-behavior:smooth}
body{
margin:0;
background:var(--cream);
color:var(--ink);
font-family:"DM Sans",sans-serif;
font-size:16px}
a{
color:inherit;
text-decoration:none}
.site-header{
height:92px;
background:var(--black);
color:white;
display:flex;
align-items:center;
padding:0 clamp(22px,5vw,78px);
gap:44px;
position:sticky;
top:0;
z-index:50;
border-bottom:1px solid #252825}
.brand{
display:flex;
align-items:center}
.brand img{
display:block;
width:176px;
height:76px;
object-fit:contain;
clip-path:polygon(50% 0,91% 28%,91% 72%,50% 100%,9% 72%,9% 28%)}
.site-header nav{
display:flex;
gap:30px;
margin-left:auto}
.site-header nav a{
font-size:12px;
text-transform:uppercase;
letter-spacing:.16em;
color:#d9ded9}
.site-header nav a:hover{
color:var(--green2)}
.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:48px;
padding:0 24px;
border:1px solid transparent;
border-radius:2px;
text-transform:uppercase;
letter-spacing:.06em;
font-weight:800;
font-size:13px;
transition:.2s}
.primary,.header-cta{
background:var(--green);
color:#0a1007}
.button:hover{
transform:translateY(-2px);
filter:brightness(1.1)}
.header-cta{
white-space:nowrap}
.menu-toggle{
display:none;
background:none;
border:1px solid #495049;
color:white;
padding:10px 13px}
.hero{
min-height:670px;
background:radial-gradient(circle at 76% 52%,#294322 0,transparent 26%),linear-gradient(110deg,#050706 0%,#101611 58%,#161b17 100%);
color:white;
position:relative;
overflow:hidden;
display:grid;
align-items:center;
padding:90px clamp(24px,6vw,92px)}
.hero-grid{
position:absolute;
inset:0;
background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
background-size:44px 44px;
mask-image:linear-gradient(to right,black,transparent)}
.hero:after{
content:"";
position:absolute;
width:460px;
height:460px;
border:1px solid rgba(121,184,58,.35);
border-radius:50%;
right:8%;
top:15%;
box-shadow:0 0 0 80px rgba(121,184,58,.035),0 0 0 160px rgba(121,184,58,.02)}
.hero-copy{
position:relative;
z-index:2;
max-width:760px}
.eyebrow{
text-transform:uppercase;
letter-spacing:.3em;
font-weight:700;
font-size:12px}
.eyebrow.dark{
color:#566058}
.hero h1,.section h2{
font-family:"Manrope",sans-serif;
text-transform:uppercase;
letter-spacing:-.045em;
margin:18px 0;
font-weight:800}
.hero h1{
font-size:clamp(54px,7vw,100px);
line-height:.93}
.hero h1 span,.section h2 span{
color:var(--green)}
.hero-text{
font-size:clamp(17px,2vw,21px);
line-height:1.55;
max-width:640px;
color:#d7dcd7}
.hero-actions{
display:flex;
gap:16px;
margin:34px 0}
.secondary{
border-color:#ddd;
color:white}
.trust-row{
display:flex;
flex-wrap:wrap;
gap:28px;
margin-top:52px;
text-transform:uppercase;
letter-spacing:.11em;
font-size:11px}
.section{
padding:90px clamp(24px,6vw,92px)}
.services{
text-align:center}
.section h2{
font-size:clamp(34px,4.3vw,64px);
line-height:1.04}
.section-intro{
font-size:18px;
color:#58605b;
max-width:760px;
margin:0 auto 42px}
.service-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:14px;
text-align:left}
.service-grid article{
min-height:275px;
background:var(--ink);
color:white;
padding:28px;
display:flex;
flex-direction:column;
border-top:4px solid var(--green);
transition:.2s}
.service-grid article:hover{
transform:translateY(-6px);
background:#1e261f}
.service-grid b{
color:var(--green);
font-size:13px}
.service-grid h3{
text-transform:uppercase;
font:700 18px/1.2 "Manrope";
margin-top:auto}
.service-grid p{
color:#bfc5bf;
font-size:14px;
line-height:1.5}
.why{
background:linear-gradient(115deg,#0a110c,#16301e);
color:white;
display:grid;
grid-template-columns:1fr 1fr;
gap:90px}
.why>div:first-child{
max-width:580px}
.why h2{
font-size:clamp(46px,5vw,76px)}
.why>div>p:not(.eyebrow){
font-size:18px;
color:#cad3ca;
line-height:1.7}
.text-link{
display:inline-block;
margin-top:22px;
color:var(--green2);
font-weight:800;
text-transform:uppercase;
letter-spacing:.08em}
.feature-list{
border-left:1px solid #526055;
padding-left:56px;
display:grid;
align-content:center;
gap:30px}
.feature-list article{
display:flex;
gap:20px}
.feature-list i{
font-style:normal;
color:var(--green2);
font-size:32px}
.feature-list h3{
margin:0 0 5px;
text-transform:uppercase;
font-size:14px;
letter-spacing:.11em}
.feature-list p{
margin:0;
font-size:15px!important}
.reviews{
text-align:center}
.review-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:42px}
.review-grid blockquote{
margin:0;
background:white;
border:1px solid #daddd7;
padding:36px;
text-align:left;
font-size:20px;
line-height:1.5}
.review-grid cite{
display:block;
margin-top:22px;
color:#6a716b;
font-size:14px;
font-style:normal}
.quote{
background:#0d0f0e;
color:white;
display:grid;
grid-template-columns:.8fr 1.2fr;
gap:80px}
.quote-copy p{
color:#c6ccc7;
line-height:1.6}
.contact-note{
margin-top:34px;
color:var(--green2);
font-weight:700}
.quote form{
display:grid;
grid-template-columns:1fr 1fr;
gap:18px}
.quote label{
display:grid;
gap:8px;
font-size:13px;
text-transform:uppercase;
letter-spacing:.1em;
font-weight:700}
.quote input,.quote select,.quote textarea{
width:100%;
border:1px solid #4a504b;
background:#171a18;
color:white;
padding:14px;
font:inherit;
border-radius:0}
.quote textarea{
resize:vertical}
.full{
grid-column:1/-1}
.quote button{
border:0}
.form-status{
margin:0;
color:var(--green2);
min-height:24px}
footer{
background:#050605;
color:#d8dcd8;
padding:64px clamp(24px,6vw,92px);
display:grid;
grid-template-columns:1fr 1fr auto;
gap:30px;
align-items:start}
footer p{
max-width:470px;
color:#9ca39d;
margin:0}
footer>div{
display:flex;
flex-direction:column;
gap:10px}
footer small{
grid-column:1/-1;
border-top:1px solid #2c302d;
padding-top:28px;
color:#737a74}
.footer-brand{
width:max-content}
.footer-brand img{
width:220px;
height:145px}
@media(max-width:1050px){
.site-header nav{
display:none;
position:absolute;
top:92px;
left:0;
right:0;
background:#0b0d0c;
padding:22px;
flex-direction:column}
.site-header nav.open{
display:flex}
.menu-toggle{
display:block;
margin-left:auto}
.header-cta{
display:none}
.service-grid{
grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
.site-header{
height:78px}
.brand img{
width:142px;
height:66px}
.site-header nav{
top:78px}
.hero{
min-height:700px;
padding-top:76px}
.hero h1{
font-size:54px}
.hero-actions{
flex-direction:column;
align-items:stretch}
.trust-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px}
.service-grid,.why,.review-grid,.quote{
grid-template-columns:1fr}
.why,.quote{
gap:48px}
.service-grid article{
min-height:220px}
.feature-list{
border-left:0;
border-top:1px solid #526055;
padding:42px 0 0}
.quote form{
grid-template-columns:1fr}
.full{
grid-column:auto}
footer{
grid-template-columns:1fr}
}
