:root{
  --green:#234b36;
  --green-2:#3f6b51;
  --cream:#f6f3eb;
  --ink:#1e2621;
  --muted:#657067;
  --line:#dfe5df;
  --white:#fff;
  --shadow:0 16px 40px rgba(20,47,31,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--white);line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1100px,calc(100% - 40px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:850;font-size:1.2rem;letter-spacing:.01em}.brand span{color:var(--green-2);font-weight:700}
.nav{display:flex;gap:26px;align-items:center;font-size:.95rem}.nav a:hover,.nav a.active{color:var(--green-2)}
.nav-cta{padding:10px 17px;border-radius:999px;background:var(--green);color:#fff!important}
.menu-btn{display:none;border:0;background:transparent;font-size:1.5rem}
.hero{padding:96px 0 82px;background:linear-gradient(135deg,#f8f6ef 0%,#edf3ed 100%)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.eyebrow{color:var(--green-2);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem}
h1,h2,h3{line-height:1.12;margin:0 0 18px}h1{font-size:clamp(2.7rem,5.7vw,5.1rem);letter-spacing:-.045em;max-width:900px}h2{font-size:clamp(2rem,3.6vw,3.3rem);letter-spacing:-.03em}h3{font-size:1.35rem}
.lead{font-size:1.22rem;color:var(--muted);max-width:760px}.muted{color:var(--muted)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-weight:800;border:1px solid transparent}.btn-primary{background:var(--green);color:#fff}.btn-secondary{border-color:var(--green);color:var(--green);background:#fff}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.hero-card strong{font-size:1.08rem;display:block;margin-bottom:8px}
.section{padding:82px 0}.section.alt{background:var(--cream)}.section-head{margin-bottom:34px;max-width:760px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.card img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-body{padding:26px}.card p{color:var(--muted);margin:0 0 22px}.text-link{font-weight:850;color:var(--green-2)}
.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:54px;align-items:center}.about img{width:100%;max-height:610px;object-fit:cover;object-position:center 28%;border-radius:28px;background:#e8eee8}.about p{color:var(--muted)}
.page-hero{padding:76px 0 62px;background:var(--cream)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.5rem)}.narrow{max-width:820px}
.service-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}.service-image{border-radius:24px;width:100%;aspect-ratio:1/1;object-fit:cover}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.feature{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.feature h3{font-size:1.08rem;margin-bottom:8px}.feature p{margin:0;color:var(--muted)}
.notice{margin-top:24px;padding:19px 21px;border-radius:17px;background:#eef4ef;border:1px solid #d5e3d7}.cta-band{padding:34px;border-radius:28px;background:var(--green);color:white}.cta-band p{color:#e7efe9;max-width:680px}.cta-band .btn-secondary{border-color:white;color:white;background:transparent}
ul.clean{padding-left:20px;color:var(--muted)}ul.clean li{margin:8px 0}
footer{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:.92rem}.footer-wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:860px){.hero-grid,.about,.service-grid{grid-template-columns:1fr}.cards,.feature-list{grid-template-columns:1fr}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-btn{display:block}.section{padding:62px 0}.hero{padding:70px 0 58px}.brand span{display:none}}
