
:root{
  --green:#5f9f3a;
  --deep-green:#17391f;
  --gold:#cbb45b;
  --cream:#fbfff7;
  --text:#17351f;
  --muted:#64748b;
  --card:#ffffff;
  --border:rgba(23,57,31,.12);
  --shadow:0 18px 46px rgba(23,57,31,.10);
  --soft-shadow:0 8px 24px rgba(23,57,31,.08);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter","Nunito Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 15%, rgba(95,159,58,.12), transparent 24rem),
    radial-gradient(circle at 82% 18%, rgba(203,180,91,.13), transparent 25rem),
    linear-gradient(180deg,#fff 0%,#fbfff8 55%,#fff 100%);
}
a{text-decoration:none}
.site-header{
  padding:26px 0 0;
}
.site-logo{
  max-width:420px;
  width:min(100%,420px);
  height:auto;
  display:block;
}
.hero{
  position:relative;
  padding:42px 0 86px;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 72% 42%, rgba(95,159,58,.13), transparent 17rem),
    radial-gradient(circle at 92% 48%, rgba(203,180,91,.14), transparent 16rem);
  pointer-events:none;
}
.hero .container{position:relative;z-index:1}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.5rem .85rem;
  border-radius:999px;
  background:rgba(95,159,58,.12);
  color:var(--green);
  font-size:.92rem;
  font-weight:900;
  border:1px solid rgba(95,159,58,.16);
}
.hero-title{
  font-weight:950;
  letter-spacing:-.065em;
  line-height:.96;
  font-size:clamp(3rem,6vw,6.4rem);
  margin:28px 0;
}
.hero-title .green{color:var(--green)}
.hero-title .gold{color:#9b7f24}
.hero-copy{
  color:#526079;
  font-size:clamp(1.05rem,1.3vw,1.3rem);
  line-height:1.75;
  max-width:640px;
}
.feature-row{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:34px;
}
.mini-feature{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  padding:.86rem 1rem;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--soft-shadow);
  font-weight:850;
  color:#203b27;
}
.mini-feature .icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#ecf7e8;
}
.hero-visual{
  position:relative;
}
.hero-img{
  width:100%;
  max-width:780px;
  border-radius:34px;
  display:block;
  margin-inline:auto;
  box-shadow:var(--shadow);
  object-fit:cover;
}
.section-padding{padding:88px 0}
.wave{
  background:linear-gradient(135deg,#224e29,#6aa343);
  color:#fff;
  position:relative;
  padding:60px 0 42px;
  overflow:hidden;
}
.wave::before{
  content:"";
  position:absolute;
  top:-54px;
  left:-8%;
  width:116%;
  height:100px;
  border-radius:0 0 50% 50%;
  background:#fff;
}
.trust-item{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:14px;
}
.trust-icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}
.section-title{
  font-size:clamp(2.2rem,4vw,4rem);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}
.section-subtitle{
  color:#64748b;
  line-height:1.75;
  font-size:1.08rem;
}
.card-soft{
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--soft-shadow);
}
.offer-card{
  height:100%;
  padding:34px;
}
.offer-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  background:#ecf7e8;
  display:grid;
  place-items:center;
  font-size:2.2rem;
}
.offer-price{
  font-size:2.15rem;
  font-weight:950;
  color:var(--green);
}
.badge-soft{
  background:rgba(203,180,91,.16);
  color:#856a19;
  padding:.45rem .7rem;
  border-radius:999px;
  border:1px solid rgba(203,180,91,.28);
  font-weight:850;
}
.check-list{
  list-style:none;
  padding:0;
  margin:1.25rem 0 0;
}
.check-list li{
  display:flex;
  gap:.7rem;
  margin:.75rem 0;
  color:#536271;
}
.tick{color:var(--green);font-weight:950}
.gradient-panel{
  border-radius:36px;
  padding:46px;
  background:
    radial-gradient(circle at 90% 10%, rgba(203,180,91,.13), transparent 18rem),
    radial-gradient(circle at 10% 85%, rgba(95,159,58,.16), transparent 18rem),
    linear-gradient(135deg,#fcfff8,#fff);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
}
.step-card,.feature-card{
  height:100%;
  padding:28px;
}
.step-number{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--green),#2f6f2e);
  font-weight:950;
  margin-bottom:18px;
}
.feature-icon-large{
  width:64px;height:64px;border-radius:22px;
  display:grid;place-items:center;
  background:#ecf7e8;
  color:var(--green);
  margin-bottom:18px;
  font-size:1.6rem;
}
.link-card{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:112px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--border);
  box-shadow:var(--soft-shadow);
  color:var(--text);
  transition:.25s ease;
}
.link-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  color:var(--text);
}
.link-card strong{display:block;font-size:1.02rem;line-height:1.25}
.link-card small{display:block;color:#667085;margin-top:4px;word-break:break-word}
.link-icon{
  width:54px;height:54px;flex:0 0 54px;
  display:grid;place-items:center;
  border-radius:18px;
  background:#ecf7e8;
  font-size:1.55rem;
}
.accordion-item{
  border:1px solid var(--border)!important;
  border-radius:20px!important;
  overflow:hidden;
  margin-bottom:14px;
  box-shadow:var(--soft-shadow);
}
.accordion-button{font-weight:850;color:var(--text);background:#fff}
.accordion-button:not(.collapsed){color:var(--green);background:#fbfff8}
.footer{
  background:#17351f;
  color:rgba(255,255,255,.78);
  padding:54px 0 24px;
}
.footer-logo{max-width:360px;width:100%;height:auto}
.footer a{color:#fff}
@media(max-width:991.98px){
  .site-header{text-align:center}
  .site-logo{margin-inline:auto}
  .hero{text-align:center;padding-top:34px}
  .hero-copy{margin-inline:auto}
  .feature-row{justify-content:center}
  .hero-visual{margin-top:46px}
  .section-padding{padding:72px 0}
}
@media(max-width:575.98px){
  .site-logo,.footer-logo{max-width:300px}
  .hero-title{font-size:3rem}
  .offer-card,.step-card,.feature-card{padding:24px}
  .gradient-panel{padding:28px;border-radius:28px}
}
