@font-face{font-family:"Outfit";src:url(fonts/outfit-bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--green:#1d3d1d;--green-2:#254d25;--green-3:#2f5f2f;--orange:#f7941d;--orange-d:#d97a08;--ink:#17201a;--muted:#55605a;--line:#e3e7e2;--tint:#f5f6f2;--radius:14px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Outfit",-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight:700;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(3rem,13vw,5.6rem);text-transform:uppercase;line-height:.92}
h2{font-size:clamp(1.9rem,6.4vw,2.9rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:#111;padding:10px 14px;z-index:99}
.skip:focus{left:10px;top:10px}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}

.topbar{position:sticky;top:0;z-index:20;background:var(--green);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.topbar-in{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.brand img{width:84px;height:auto}
.brand-sub{font-family:"Outfit",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;line-height:1.1;max-width:6.5em}
.nav{display:none;gap:26px}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:#dfe8dc}
.nav a:hover{color:var(--orange)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;text-decoration:none;border-radius:999px;padding:14px 24px;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;min-height:48px}
.btn-primary{background:var(--orange);color:#1a1205}
.btn-primary:hover{background:#ffa53a}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-ghost:hover{border-color:var(--orange);color:var(--orange)}
.btn-call-sm{background:var(--orange);color:#1a1205;padding:10px 14px;min-height:42px;font-size:.92rem}
.btn-call-sm span{display:none}
.btn-block{width:100%}

.hero{background:linear-gradient(160deg,var(--green) 0%,var(--green-2) 62%,var(--green-3) 100%);color:#fff;padding:44px 0 52px;overflow:hidden}
.hero-in{display:grid;gap:34px}
.eyebrow,.kicker{font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.hero h1{color:#fff}
.hero h1::after{content:"";display:block;width:72px;height:6px;background:var(--orange);border-radius:3px;margin-top:20px}
.lede{font-size:1.14rem;color:#e4ece1;max-width:34em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 24px}
.proof{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.93rem;color:#cfdccb}
.proof li{display:flex;align-items:center;gap:8px}
.proof li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero-photo{margin:0;position:relative}
.hero-photo img{width:100%;aspect-ratio:368/326;object-fit:cover;border-radius:var(--radius);box-shadow:0 18px 40px rgba(0,0,0,.35);border:4px solid rgba(255,255,255,.08)}
.hero-photo figcaption{font-size:.82rem;color:#bfcdbb;margin-top:10px}

.section{padding:64px 0}
.section-dark{background:var(--green);color:#fff}
.section-dark .section-lede,.section-dark p{color:#dbe5d8}
.section-tint{background:var(--tint)}
.section-lede{font-size:1.08rem;color:var(--muted);max-width:38em}

.cards{display:grid;gap:14px;margin-top:28px}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px 10px;background:#fff;position:relative;border-top:4px solid var(--orange)}
.card .num{font-family:"Outfit",sans-serif;font-weight:700;color:var(--orange);font-size:.95rem;letter-spacing:.06em}
.card h3{margin-top:6px}
.card p{color:var(--muted)}

.values{display:grid;gap:22px;margin-top:28px}
.values h3{color:var(--orange);font-size:1.3rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3em}

.clients{display:grid;gap:14px;margin-top:26px}
.client{background:var(--tint);border-radius:var(--radius);padding:22px 22px 8px;border-left:5px solid var(--green-2)}
.client p{color:var(--muted)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
.gallery img{width:100%;aspect-ratio:368/326;object-fit:cover;border-radius:10px}

.quotes{display:grid;gap:16px;margin-top:26px}
blockquote{margin:0;background:#fff;border-radius:var(--radius);padding:22px;border:1px solid var(--line)}
blockquote p{font-size:1.04rem}
blockquote footer{font-weight:700;color:var(--green-2);font-size:.92rem}

.area{display:grid;gap:22px;align-items:center}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{background:var(--green);color:#fff;font-weight:700;border-radius:999px;padding:10px 18px}
.chips li:last-child{background:var(--orange);color:#1a1205}

.quote{display:grid;gap:28px}
.quote-alt a{color:var(--orange);font-weight:700}
.qform{background:#fff;color:var(--ink);border-radius:var(--radius);padding:22px;display:grid;gap:14px}
.qform label{display:grid;gap:6px;font-weight:600;font-size:.93rem}
.qform input:not([type=checkbox]),.qform textarea{font:inherit;font-weight:400;width:100%;padding:12px 14px;border:1.5px solid #cdd4cb;border-radius:10px;background:#fff;color:var(--ink);min-height:48px}
.qform input:focus,.qform textarea:focus{border-color:var(--green-2);outline:none;box-shadow:0 0 0 3px rgba(247,148,29,.35)}
.qform .row2{display:grid;gap:14px}
fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
legend{font-weight:600;font-size:.93rem;margin-bottom:8px;padding:0}
.qform .chk{display:flex;align-items:center;gap:8px;font-weight:500;background:var(--tint);border:1.5px solid var(--line);border-radius:999px;padding:9px 14px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--green-2);margin:0}
.chk:has(input:checked){border-color:var(--green-2);background:#e8f0e6}
.qform .fine{font-size:.85rem;color:var(--muted);margin:0}
.fine a{color:var(--green-2)}
.qform.err input:invalid{border-color:#c0392b}

.contact{display:grid;gap:22px}
address{font-style:normal;font-size:1.1rem;color:var(--muted)}
.contact-list{display:grid;gap:10px}
.contact-item{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;transition:border-color .15s}
.contact-item:hover{border-color:var(--orange)}
.contact-item span{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-d)}
.contact-item strong{font-size:1.2rem;color:var(--green);overflow-wrap:anywhere}

.foot{background:#132a13;color:#b7c6b3;padding:28px 0 96px}
.foot-in{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.foot p{margin:0;font-size:.9rem}

.sticky-call{position:fixed;left:12px;right:12px;bottom:10px;z-index:30;background:var(--orange);color:#1a1205;text-align:center;font-weight:800;text-decoration:none;padding:14px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25)}

@media (min-width:600px){
  .qform .row2{grid-template-columns:1fr 1fr}
  .cards{grid-template-columns:1fr 1fr}
  .values{grid-template-columns:1fr 1fr}
  .btn-call-sm span{display:inline}
}
@media (min-width:900px){
  .foot{padding-bottom:28px}
  .sticky-call{display:none}
  .nav{display:flex}
  .hero{padding:80px 0 90px}
  .hero-in{grid-template-columns:1.25fr 1fr;align-items:center;gap:56px}
  .section{padding:92px 0}
  .cards{grid-template-columns:repeat(3,1fr)}
  .values{grid-template-columns:repeat(4,1fr)}
  .clients{grid-template-columns:repeat(3,1fr)}
  .gallery{grid-template-columns:repeat(4,1fr)}
  .quotes{grid-template-columns:repeat(3,1fr)}
  .area{grid-template-columns:1.3fr 1fr}
  .quote{grid-template-columns:1fr 1.25fr;align-items:start}
  .contact{grid-template-columns:1fr 1fr;align-items:start}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
