:root{--g:#0b7d4a;--o:#ff6a00;--ink:#171d1a;--mut:#5b6660;--bg:#f4f6f4;--f:Roboto,"Segoe UI",Arial,sans-serif;--max:1180px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}
body{font:400 1rem/1.65 var(--f);color:var(--ink);background:#fff;overflow-x:hidden}
img{max-width:100%;display:block;object-fit:cover}a{color:inherit}
:focus-visible{outline:3px solid var(--o);outline-offset:2px}
.wrap{width:min(var(--max),100% - 2.5rem);margin-inline:auto}
h1,h2,h3{line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,6vw,4rem);font-weight:800}h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800}h3{font-size:1.2rem;font-weight:700}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--o);margin-bottom:.8rem}
.btn{display:inline-block;padding:.85rem 1.5rem;font-weight:700;text-decoration:none;border:2px solid var(--o);background:var(--o);color:#fff;transition:.2s;cursor:pointer;font-family:inherit;font-size:1rem}
.btn:hover{background:#d95a00;border-color:#d95a00}.btn.ghost{background:transparent;border-color:#fff}.btn.ghost:hover{background:#fff;color:var(--ink)}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e3e8e4;transition:box-shadow .3s}
header.s{box-shadow:0 4px 18px rgba(0,0,0,.1)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:1rem}
.nav img{height:46px;width:auto;object-fit:contain}
nav ul{display:flex;gap:1.6rem;list-style:none;padding:0;align-items:center}
nav a{text-decoration:none;font-weight:500;font-size:.95rem;padding:.4rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--g);color:var(--g)}nav a.btn{color:#fff;border-color:var(--o);padding:.55rem 1.1rem}
.tg{display:none;background:var(--ink);color:#fff;border:0;padding:.6rem .8rem;font-size:1rem;cursor:pointer}
@media(max-width:860px){.tg{display:block}nav{position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid #ddd;display:none}nav.open{display:block}nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem}nav a{display:block;padding:.8rem 0}nav a.btn{text-align:center;margin-top:.5rem}}
.hero{background:var(--ink);color:#fff;overflow:hidden}
.hero .wrap{display:grid;gap:2rem;padding-block:3rem;align-items:center}
.hero p{max-width:34rem;color:#d3dbd6;margin:1.2rem 0 1.8rem}.hero h1 span{color:var(--o)}
.acts{display:flex;gap:.8rem;flex-wrap:wrap}
.mosaic{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:200px 200px;gap:.6rem}
.mosaic img{width:100%;height:100%}.mosaic .a{grid-row:span 2}
@media(min-width:900px){.hero .wrap{grid-template-columns:1fr 1fr;padding-block:4.5rem}.mosaic{grid-template-rows:240px 240px}}
.bar{background:var(--o);color:#fff;text-align:center;padding:1.3rem 0;font-weight:500}.bar .btn{background:#111;border-color:#111;margin:.6rem 0 0 1rem}
section{padding-block:clamp(3rem,7vw,5.5rem)}.alt{background:var(--bg)}
.split{display:grid;gap:2.5rem;align-items:center}@media(min-width:860px){.split{grid-template-columns:1fr 1fr}.split.r>:first-child{order:2}}
.split img{width:100%;aspect-ratio:4/3}.split p+p{margin-top:1rem}.lead{color:var(--mut);margin-top:1rem}
.line{width:64px;height:4px;background:var(--g);margin:1rem 0 1.5rem}
.panels{display:grid;gap:1rem;margin-top:2.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pn{position:relative;min-height:320px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;text-decoration:none}
.pn img{position:absolute;inset:0;width:100%;height:100%;transition:transform .6s}.pn:hover img{transform:scale(1.05)}
.pn div{position:relative;padding:1.4rem;width:100%;background:linear-gradient(transparent,rgba(0,0,0,.85))}.pn p{font-size:.9rem;color:#dde}
.crumb{background:var(--ink);color:#fff;padding:3rem 0}.crumb p{color:#bcc8c1;margin-top:.8rem;max-width:40rem}.crumb small{color:var(--o);font-weight:700}
.grp{display:grid;gap:2rem;padding-block:2.5rem;border-bottom:1px solid #e3e8e4}@media(min-width:860px){.grp{grid-template-columns:280px 1fr}}
.grp ul{columns:1;list-style:none;padding:0}@media(min-width:700px){.grp ul{columns:2;column-gap:2rem}}
.grp li{padding:.45rem 0 .45rem 1.4rem;position:relative;break-inside:avoid}.grp li::before{content:"";position:absolute;left:0;top:.95rem;width:9px;height:9px;background:var(--g)}
.gal{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:2rem}
.gal figure img{width:100%;aspect-ratio:4/3}.gal figcaption{padding:.7rem 0;font-weight:500}
.clients{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.clients span{border:1px solid #cfd8d2;padding:.6rem 1.1rem;font-weight:700;background:#fff}
.cta{background:var(--g);color:#fff;text-align:center}.cta p{margin:1rem auto 1.8rem;max-width:36rem}
form{display:grid;gap:1rem}label{font-weight:500;font-size:.9rem;display:grid;gap:.3rem}
input,select,textarea{font:inherit;padding:.8rem;border:1px solid #aab5ae;width:100%;background:#fff}textarea{min-height:140px}
.err{color:#b3261e;font-size:.85rem;min-height:1em}input.bad,textarea.bad{border-color:#b3261e}#st{padding:.8rem;background:#fff3e8;border-left:4px solid var(--o)}#st:empty{display:none}
.ci{display:grid;gap:1.2rem}.ci b{display:block;color:var(--g)}
footer{background:#2d3330;color:#cfd6d1;padding-top:3rem;font-size:.95rem}
footer .wrap{display:grid;gap:2rem}@media(min-width:800px){footer .wrap{grid-template-columns:1.5fr 1fr 1.3fr}}
footer h4{color:#fff;margin-bottom:.8rem}footer ul{list-style:none;padding:0}footer li{margin:.3rem 0}footer img{background:#fff;padding:6px;height:56px;width:auto;margin-bottom:1rem}
footer a{text-decoration:none}footer a:hover{color:var(--o)}.cp{background:#111;text-align:center;padding:1rem;margin-top:2.5rem;font-size:.85rem}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}.pn img{transition:none}}
:root{--h:"Barlow Condensed","Roboto Condensed","Arial Narrow",sans-serif}
h1,h2{font-family:var(--h);text-transform:uppercase;font-weight:700;letter-spacing:.01em;line-height:1.02}
h1{font-size:clamp(2.6rem,7vw,5rem)}h2{font-size:clamp(2.1rem,4.6vw,3.4rem)}
.eyebrow{display:flex;align-items:center;gap:.7rem}.eyebrow::before{content:"";width:36px;height:2px;background:var(--o)}
.hero2{position:relative;background:#101513;color:#fff;overflow:hidden}
.hphoto{position:relative;height:300px}.hphoto img{width:100%;height:100%;filter:saturate(.9) contrast(1.05)}
.hphoto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#101513)}
.hphoto small{position:absolute;right:1rem;bottom:1rem;z-index:2;font-size:.75rem;color:#cfd8d2;background:rgba(0,0,0,.55);padding:.3rem .6rem}
.hcopy{padding-block:2rem 3rem}.hcopy h1 span{color:var(--o)}.hcopy p{max-width:32rem;color:#c9d3cd;margin:1.3rem 0 2rem;font-size:1.08rem}
.hstrip{border-top:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.hstrip .wrap{display:grid;grid-template-columns:1fr 1fr}.hstrip div{padding:1.2rem 1rem 1.2rem 0;font-size:.85rem;color:#aebbb4}.hstrip b{display:block;font:700 1.5rem var(--h);color:#fff;text-transform:uppercase}
@media(min-width:900px){.hero2{min-height:640px;display:flex;flex-direction:column}.hphoto{position:absolute;top:0;right:0;bottom:78px;width:58%;height:auto;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%)}.hphoto::after{background:linear-gradient(90deg,#101513 0,transparent 40%)}
.hcopy{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:5rem;position:relative;z-index:2}.hcopy>*{max-width:38rem}.hstrip{position:relative;z-index:2}.hstrip .wrap{grid-template-columns:repeat(4,1fr)}.hstrip div{border-left:1px solid rgba(255,255,255,.14);padding:1.2rem 1.5rem}.hstrip div:first-child{border:0;padding-left:0}}
.ab{display:grid;gap:3rem;align-items:center}@media(min-width:900px){.ab{grid-template-columns:1.05fr 1fr;gap:5rem}}
.stack{position:relative;padding:0 2.5rem 2.5rem 0}.stack .m{width:100%;aspect-ratio:4/5;max-height:560px}
.stack .s{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;border:8px solid #fff;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.stack::before{content:"";position:absolute;left:-14px;top:-14px;width:40%;height:40%;border-top:5px solid var(--o);border-left:5px solid var(--o)}
.ab ul{list-style:none;padding:0;margin:1.8rem 0;display:grid;gap:.6rem}.ab li{padding-left:1.6rem;position:relative;font-weight:500}.ab li::before{content:"";position:absolute;left:0;top:.62rem;width:10px;height:10px;background:var(--g)}
.sh{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap;margin-bottom:2.2rem}
.bento{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}.bento figure{position:relative;overflow:hidden;min-height:180px;background:#222}
.bento img{position:absolute;inset:0;width:100%;height:100%;transition:transform .7s}.bento figure:hover img{transform:scale(1.05)}
.bento figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem .9rem .8rem;color:#fff;font-weight:500;font-size:.9rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.bento .big{grid-column:span 2;min-height:300px}
@media(min-width:900px){.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:230px}.bento .big{grid-column:span 2;grid-row:span 2;min-height:0}}
.logos{display:grid;gap:1px;grid-template-columns:1fr 1fr;background:#dde4df;border:1px solid #dde4df}@media(min-width:800px){.logos{grid-template-columns:repeat(4,1fr)}}
.logos div{background:#fff;aspect-ratio:3/2;display:grid;place-items:center;padding:1.2rem}.logos img{width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.3s}.logos div:hover img{filter:none;opacity:1}
.crumb{background:linear-gradient(90deg,rgba(16,21,19,.96) 40%,rgba(16,21,19,.6)),var(--bg) center/cover;padding:4.5rem 0}
.cta{background:linear-gradient(rgba(7,92,54,.92),rgba(7,92,54,.94)),url(../images/grating.jpg) center/cover}
.pn div{padding:1.6rem}.pn h3{font:700 1.6rem var(--h);text-transform:uppercase}
