
:root{
  --green:#0b4f3d;
  --green-2:#477f74;
  --green-3:#dfeae6;
  --ink:#17211d;
  --muted:#66736d;
  --paper:#fbfbf8;
  --white:#ffffff;
  --sand:#c7bcae;
  --line:#dce3df;
}
*{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;
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.topbar{
  height:84px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 5vw;
  background:rgba(251,251,248,.94);
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(12px);
}
.brand img{width:150px;height:62px;object-fit:contain;object-position:left center}
nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:650}
nav a:hover{color:var(--green)}
.nav-cta{border:1px solid var(--green);padding:10px 16px;border-radius:999px;color:var(--green)}
.hero{
  min-height:720px;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  overflow:hidden;
}
.hero-copy{
  padding:110px 7vw 80px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.eyebrow{
  color:var(--green-2);
  font-size:13px;
  font-weight:800;
  letter-spacing:.15em;
  margin:0 0 16px;
}
h1,h2,h3,p{margin-top:0}
h1{
  max-width:780px;
  font-size:clamp(44px,6vw,82px);
  line-height:.97;
  letter-spacing:-.045em;
  margin-bottom:28px;
}
.lead{
  max-width:700px;
  font-size:20px;
  color:var(--muted);
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 22px;
  border-radius:10px;
  font-weight:750;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.primary{background:var(--green);color:white}
.secondary{border:1px solid var(--line);background:white}
.quick-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}
.quick-points span{
  font-size:13px;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 12px;
  background:white;
}
.hero-visual{
  position:relative;
  min-height:620px;
  background:linear-gradient(145deg,var(--green-3),#f4f0ea);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px;
}
.logo-card{
  width:min(560px,95%);
  background:white;
  padding:40px;
  box-shadow:0 30px 80px rgba(7,57,43,.13);
  border-radius:32px 32px 110px 32px;
  z-index:2;
}
.shape{position:absolute;border-radius:50%}
.shape-one{width:290px;height:290px;background:var(--green-2);right:-80px;top:60px;opacity:.18}
.shape-two{width:210px;height:210px;border:28px solid var(--green);left:-80px;bottom:60px;opacity:.12}
.section{
  width:min(1180px,90vw);
  margin:0 auto;
  padding:110px 0;
}
.intro{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}
.intro h2,.section-heading h2,.flyer-copy h2,.contact h2{
  font-size:clamp(34px,4.5vw,58px);
  line-height:1.05;
  letter-spacing:-.03em;
}
.intro>p{font-size:20px;color:var(--muted)}
.section-heading{max-width:850px;margin-bottom:46px}
.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.card{
  background:white;
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  min-height:280px;
}
.card .number{display:block;color:var(--green-2);font-size:13px;font-weight:800;margin-bottom:55px}
.card h3{font-size:22px;margin-bottom:12px}
.card p{color:var(--muted)}
.process-wrap{background:var(--green);color:white}
.process{padding-top:100px;padding-bottom:100px}
.light .eyebrow{color:#a8c7bd}
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.step{
  display:flex;gap:20px;
  padding:26px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}
.step b{
  width:42px;height:42px;flex:0 0 42px;border-radius:50%;
  display:grid;place-items:center;
  background:white;color:var(--green);
}
.step h3{margin-bottom:5px}
.step p{color:#d1e1dc;margin-bottom:0}
.flyer-section{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  align-items:start;
}
.flyer-copy{position:sticky;top:130px}
.flyer-copy p{color:var(--muted);font-size:18px}
.flyer-frame{
  background:white;
  padding:14px;
  border:1px solid var(--line);
  box-shadow:0 20px 65px rgba(24,48,40,.08);
  border-radius:18px;
}
.flyer-frame img{border-radius:10px;width:100%}
.contact{
  background:#e7e1d9;
  padding:110px 5vw;
  text-align:center;
}
.contact-inner{max-width:850px;margin:auto}
.contact-inner>p{font-size:19px;color:#5f645f}
.mail-link{
  display:block;
  font-size:clamp(24px,4vw,46px);
  font-weight:800;
  color:var(--green);
  margin:32px 0 26px;
  word-break:break-word;
}
.inverted{background:var(--green);min-width:190px}
.small-note{font-size:13px!important;margin-top:22px!important}
footer{
  min-height:150px;
  width:min(1180px,90vw);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  color:var(--muted);
  font-size:14px;
}
footer img{width:130px;height:75px;object-fit:contain;object-position:left center}

@media (max-width: 900px){
  nav a:not(.nav-cta){display:none}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:80px 6vw 60px}
  .hero-visual{min-height:420px;padding:40px 6vw}
  .intro,.flyer-section{grid-template-columns:1fr;gap:34px}
  .flyer-copy{position:static}
  .cards{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
}
@media (max-width: 600px){
  .topbar{height:72px;padding:0 18px}
  .brand img{width:118px;height:52px}
  .nav-cta{padding:8px 12px}
  .hero-copy{padding:62px 20px 50px}
  h1{font-size:46px}
  .lead{font-size:18px}
  .hero-visual{min-height:340px}
  .logo-card{padding:18px;border-radius:20px 20px 65px 20px}
  .section{width:calc(100% - 40px);padding:80px 0}
  .cards{grid-template-columns:1fr}
  .card{min-height:auto}
  .card .number{margin-bottom:30px}
  .contact{padding:80px 20px}
  footer{padding:30px 0;flex-direction:column;align-items:flex-start}
}
