:root{
  --green:#143f18;
  --green-soft:#46723d;
  --cream:#fffdf3;
  --lime:#e9f0bd;
  --red:#c8102e;
  --text:#17391a;
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  min-height:100vh;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 15% 12%,rgba(151,190,92,.35),transparent 28%),
    radial-gradient(circle at 85% 20%,rgba(255,211,94,.28),transparent 30%),
    linear-gradient(180deg,#f3f4c9 0%,#fffdf4 52%,#eef3d2 100%);
}

body::before,
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  width:240px;
  height:70vh;
  top:8vh;
  opacity:.17;
  background:
    radial-gradient(ellipse at center,#315d2f 0 8%,transparent 9%),
    repeating-linear-gradient(75deg,transparent 0 24px,#315d2f 25px 27px,transparent 28px 54px);
  filter:blur(.2px);
}

body::before{left:-120px;transform:rotate(-10deg)}
body::after{right:-120px;transform:rotate(10deg)}

.landing{
  width:min(100%,980px);
  margin:0 auto;
  min-height:100vh;
  background:rgba(255,255,247,.76);
  box-shadow:0 0 55px rgba(38,64,30,.10);
  backdrop-filter:blur(2px);
}

.hero{
  padding:42px 24px 18px;
  text-align:center;
}

.brand-logo{
  width:min(86%,620px);
  height:auto;
  margin:0 auto 32px;
  display:block;
}

h1{
  margin:0;
  color:var(--green);
  font-size:clamp(42px,8vw,82px);
  line-height:.98;
  letter-spacing:-2.5px;
  font-weight:800;
}

h2{
  margin:16px 0 24px;
  color:var(--green);
  font-size:clamp(25px,4vw,44px);
  line-height:1.1;
}

.divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:min(84%,620px);
  margin:0 auto 24px;
}

.divider::before,
.divider::after{
  content:"";
  height:3px;
  flex:1;
  background:var(--green);
}

.divider span{
  color:var(--green-soft);
  font-size:17px;
}

.claim{
  margin:0 auto 12px;
  max-width:760px;
  font-size:clamp(20px,3vw,31px);
  font-weight:700;
  line-height:1.35;
}

.description{
  max-width:720px;
  margin:0 auto;
  font-size:clamp(17px,2.4vw,25px);
  line-height:1.45;
}

.benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:700px;
  margin:38px auto 12px;
}

.benefit{
  min-height:125px;
  padding:16px 10px;
  border:1px solid rgba(20,63,24,.28);
  border-radius:50% 50% 18px 18px;
  background:rgba(255,255,255,.55);
  font-weight:700;
  text-transform:uppercase;
  font-size:13px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
}

.benefit-icon{
  font-size:31px;
  line-height:1;
}

.social{
  padding:22px 24px 42px;
}

.social h3{
  margin:0 0 24px;
  text-align:center;
  color:var(--green);
  font-size:clamp(25px,4vw,39px);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:1px;
}

.links{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.card{
  min-height:235px;
  padding:24px 17px;
  border-radius:18px;
  color:white;
  text-decoration:none;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 30px rgba(20,44,22,.18);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}

.card:hover,
.card:focus{
  transform:translateY(-5px);
  box-shadow:0 18px 34px rgba(20,44,22,.25);
  filter:brightness(1.04);
  outline:3px solid rgba(255,255,255,.85);
  outline-offset:-7px;
}

.facebook{background:linear-gradient(145deg,#1c5da8,#143b79)}
.instagram{background:linear-gradient(145deg,#7437ad,#d62c74 53%,#fa8c2e)}
.website{background:linear-gradient(145deg,#d31338,#a90827)}

.social-icon{
  width:68px;
  height:68px;
  margin-bottom:18px;
  border:5px solid white;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:Arial,sans-serif;
  font-size:48px;
  font-weight:800;
  line-height:1;
}

.instagram-icon{font-size:45px;font-weight:400}

.card strong{
  font-size:22px;
  text-transform:uppercase;
}

.card small{
  margin-top:7px;
  font-size:16px;
  word-break:break-word;
}

.arrow{
  margin-top:18px;
  font-size:34px;
  font-weight:300;
}

.partners{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:28px 24px;
  border-top:1px solid rgba(20,63,24,.18);
  background:rgba(255,255,255,.40);
  text-align:center;
  color:var(--green);
  font-weight:700;
  line-height:1.35;
}

footer{
  padding:20px;
  background:var(--red);
  color:#fff;
  text-align:center;
}

footer a{
  color:#fff;
  text-decoration:none;
  margin:0 16px;
}

footer a:hover{text-decoration:underline}

@media(max-width:720px){
  .landing{box-shadow:none}
  .hero{padding-top:28px}
  .brand-logo{margin-bottom:24px}
  .benefits{gap:9px}
  .benefit{font-size:11px;min-height:108px;padding:10px 5px}
  .links{grid-template-columns:1fr;gap:16px}
  .card{min-height:165px}
  .partners{grid-template-columns:1fr;gap:18px}
}

@media(max-width:430px){
  h1{letter-spacing:-1.5px}
  .hero,.social{padding-left:16px;padding-right:16px}
  .description{font-size:16px}
  .benefits{grid-template-columns:1fr}
  .benefit{border-radius:14px;min-height:auto}
  footer a{margin:0 8px}
}
