
:root{--ink:#1E3A29;--green:#35B34A;--green-d:#2A8F3C;--sand:#E8E7E3;--body:#44514A;--muted:#5A665D;--rule:#BEBCB6;--dark:#152A1E}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Work Sans',system-ui,sans-serif;background:var(--sand);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:var(--green-d)}
a:hover{color:var(--ink)}
::selection{background:var(--green);color:#0F2117}
img{max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px}
.page{min-height:100vh;display:flex;flex-direction:column}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--ink)}
.hdr-in{max-width:1280px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hdr-in img{height:40px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:32px}
.nav a{font:700 12px 'Work Sans';text-transform:uppercase;letter-spacing:.08em;color:#6B756D;border-bottom:3px solid transparent;padding-bottom:3px;text-decoration:none}
.nav a:hover{color:var(--ink)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--green)}
.callbtn{display:flex;align-items:center;gap:8px;background:var(--green);color:#0F2117;padding:11px 18px;font:800 12px 'Archivo';letter-spacing:.02em;text-decoration:none;white-space:nowrap}
.callbtn:hover{background:#2fa042;color:#0F2117}
.burger{display:none;background:none;border:none;padding:6px;cursor:pointer}
.mnav{display:none;flex-direction:column;padding:8px 32px 20px;gap:14px;border-top:1px solid var(--rule)}
.mnav.open{display:flex}
.mnav a{font:700 13px 'Work Sans';text-transform:uppercase;letter-spacing:.08em;color:#6B756D;text-decoration:none}
.mnav a[aria-current="page"]{color:var(--ink)}
@media(max-width:1023px){.nav{display:none}.burger{display:flex}}
@media(max-width:479px){.callbtn{display:none}}

/* buttons */
.btn{display:inline-block;background:var(--ink);color:#fff;padding:15px 26px;font:800 13px 'Archivo';text-transform:uppercase;letter-spacing:.03em;text-decoration:none;border:none;cursor:pointer}
.btn:hover{background:#0F2117;color:#fff}
.btn-out{display:inline-block;border:2px solid var(--ink);color:var(--ink);padding:13px 24px;font:800 13px 'Archivo';text-transform:uppercase;letter-spacing:.03em;text-decoration:none}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-green{display:inline-block;background:var(--green);color:#0F2117;padding:15px 26px;font:800 13px 'Archivo';text-transform:uppercase;letter-spacing:.03em;text-decoration:none;border:none;cursor:pointer}
.btn-green:hover{background:#2fa042;color:#0F2117}

/* hero + bands */
.hero{padding:clamp(44px,6vw,72px) 32px clamp(34px,4vw,48px);text-align:center;border-bottom:8px solid var(--green)}
.hero-in{max-width:900px;margin:0 auto}
.pill{font:800 11px 'Work Sans';color:#0F2117;background:var(--green);display:inline-block;padding:6px 13px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:24px}
h1.big{font:900 clamp(34px,5vw,56px)/1.02 'Archivo';color:var(--ink);margin:0 auto 20px;max-width:760px;text-transform:uppercase;letter-spacing:-.02em;text-wrap:balance}
.lede{font:400 16px/1.65 'Work Sans';color:var(--body);margin:0 auto 30px;max-width:520px}
.btnrow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.pagehead{background:var(--ink);padding:clamp(48px,6vw,76px) 32px;border-bottom:8px solid var(--green)}
.pagehead h1{font:900 clamp(30px,4.5vw,50px) 'Archivo';margin:0 0 12px;color:#fff;text-transform:uppercase;letter-spacing:-.02em}
.pagehead p{font:400 16px/1.6 'Work Sans';color:#B9CBBE;margin:0;max-width:560px}

.secthead{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.secthead span{width:34px;height:4px;background:var(--green);display:block;flex:none}
.secthead h2{font:900 clamp(24px,3vw,34px) 'Archivo';margin:0;color:var(--ink);text-transform:uppercase}
.secthead.sm h2{font-size:20px;letter-spacing:.02em}

.trust{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 40px;justify-content:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:18px 0}
.trust div{display:flex;align-items:center;gap:10px}
.trust span{font:700 12px 'Work Sans';color:var(--ink);text-transform:uppercase;letter-spacing:.06em}

/* service lists */
.slist{display:flex;flex-direction:column}
.slist a,.slist .row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--rule);text-decoration:none}
.slist a:first-child,.slist .row:first-child{border-top:2px solid var(--ink)}
.slist a:last-child,.slist .row:last-child{border-bottom:2px solid var(--ink)}
.slist a:hover{background:rgba(53,179,74,.1)}
.num{font:600 12px 'IBM Plex Mono',monospace;color:var(--green-d)}
.slist a span.t{display:flex;gap:18px;align-items:baseline;min-width:0}
.slist a h3,.slist a .t b{font:700 clamp(16px,2vw,20px) 'Archivo';color:var(--ink);text-transform:uppercase;font-weight:700;margin:0}
.arw{font:700 14px 'Archivo';color:var(--ink)}
.dlist .row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:8px 28px;padding:20px 0;align-items:baseline}
.dlist .row>div{display:flex;gap:16px;align-items:baseline;min-width:0}
.dlist h3{font:700 19px 'Archivo';margin:0;color:var(--ink);text-transform:uppercase}
.dlist p{font:400 14px/1.65 'Work Sans';color:var(--muted);margin:0;min-width:0}
@media(max-width:759px){.dlist .row{grid-template-columns:1fr}}

.secthead.on-dark h2{color:#fff}
.capband{background:var(--ink);padding:clamp(48px,6vw,80px) 32px}
.capgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.capgrid>div{border-top:3px solid var(--green);padding-top:16px;min-width:0}
.capgrid h3{font:700 17px 'Archivo';margin:0 0 10px;color:#fff;text-transform:uppercase}
.capgrid p{font:400 14px/1.65 'Work Sans';color:#B9CBBE;margin:0}

.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.why div{border-top:3px solid var(--ink);padding-top:16px;min-width:0}
.why .num{display:block;margin-bottom:8px}
.why h3{font:700 16px 'Archivo';margin:0 0 8px;color:var(--ink);text-transform:uppercase}
.why p{font:400 14px/1.6 'Work Sans';color:var(--muted);margin:0}

.ctaband{background:var(--green);padding:clamp(48px,6vw,76px) 32px;text-align:center;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}
.ctaband h2{font:900 clamp(24px,3.4vw,38px)/1.05 'Archivo';margin:0 0 14px;color:#0F2117;text-transform:uppercase}
.ctaband p{font:500 16px/1.6 'Work Sans';color:#12301C;margin:0 0 28px}

.split{display:grid;grid-template-columns:minmax(0,1fr);gap:44px;align-items:center;max-width:760px}
.split.has-photo{max-width:none}
.split h2{font:900 clamp(22px,3vw,32px)/1.1 'Archivo';margin:0 0 18px;color:var(--ink);text-transform:uppercase}
.split p{font:400 15px/1.75 'Work Sans';color:var(--body);margin:0 0 14px}
@media(min-width:1024px){.split.has-photo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* contact */
.cgrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px}
@media(max-width:1023px){.cgrid{grid-template-columns:minmax(0,1fr)}}
form.q{display:flex;flex-direction:column;gap:18px;min-width:0}
form.q label{font:700 11px 'Work Sans';color:var(--ink);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.1em}
form.q input,form.q select,form.q textarea{width:100%;padding:13px 14px;border:2px solid var(--ink);background:#fff;font:400 15px 'Work Sans';box-sizing:border-box}
form.q textarea{resize:vertical}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
@media(max-width:499px){.two{grid-template-columns:1fr}}
.cbox{display:flex;flex-direction:column;gap:18px;min-width:0}
.emerg{background:var(--ink);padding:26px;border-left:8px solid var(--green)}
.emerg h2{font:700 11px 'Work Sans';color:var(--green);margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em}
.emerg a{font:900 26px 'Archivo';color:#fff;text-decoration:none}
.cdetails{background:#fff;padding:26px;border-top:3px solid var(--ink);display:flex;flex-direction:column;gap:16px}
.cdetails h3{font:700 11px 'Work Sans';color:#6B756D;margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em}
.cdetails p{font:600 15px 'Work Sans';color:var(--ink);margin:0}
.cdetails p.sub{font:400 14px 'Work Sans';color:#6B756D;margin:2px 0 0}
.cdetails a{font:600 15px 'Work Sans';text-decoration:none}

/* footer */
.ftr{background:var(--dark);margin-top:auto;padding:52px 32px 28px;border-top:8px solid var(--green)}
.ftr-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:36px}
@media(max-width:1023px){.ftr-grid{grid-template-columns:minmax(0,1fr)}}
.ftr img{height:34px;width:auto;margin-bottom:16px;display:block;filter:brightness(0) invert(1)}
.ftr p.blurb{font:400 14px/1.6 'Work Sans';color:#96A79B;margin:0;max-width:320px}
.ftr h2{font:700 11px 'Work Sans';color:var(--green);text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}
.ftr-col{display:flex;flex-direction:column;gap:10px}
.ftr-col a{display:flex;align-items:center;gap:8px;font:400 14px 'Work Sans';color:#96A79B;text-decoration:none}
.ftr-col a:hover{color:#fff}
.ftr-col svg{flex:none}
.ftr-bot{max-width:1280px;margin:30px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;justify-content:space-between}
.ftr-bot p{font:600 13px 'Work Sans';color:#96A79B;margin:0}
.ftr-bot p span{color:#fff}
.ftr-bot p.copy{font-weight:400;color:#6D7D72}
.legal{display:flex;flex-wrap:wrap;gap:10px 24px}
