:root{
  --green:#DDECC8;
  --blue:#D8ECF0;
  --beige:#F8F1E5;
  --text:#2a4735;
  --cta:#f48c06;
  --cta-hover:#e07b00;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#333;line-height:1.5;}
/* HERO */
.hero{
  min-height: 88vh;
  padding: 8vh 1rem 10vh;
  background: url('fond-hero.png') center/cover no-repeat, var(--green);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
}
.logo{max-width: 340px; width: 60vw; height:auto; display:block;}
.hero h1{font-size: clamp(1.6rem, 3.6vw, 2.4rem); margin: 1rem 0 .25rem; color: var(--text); font-weight:600;}
.subtitle{max-width: 58ch; margin: 0 auto 1.25rem; opacity:.9;}
.cta{background: var(--cta); color:#fff; text-decoration:none; display:inline-block; padding:.9rem 1.6rem; border-radius:999px; font-weight:600; transition: background .2s ease;}
.cta:hover{background: var(--cta-hover);}
/* BENEFITS */
.benefits{
  background: var(--blue);
  display:grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem; padding: 3rem 1rem; place-items: center;
}
.benefit{max-width: 360px; text-align:center; background: #fff; padding: 1.25rem; border-radius: 16px; border:1px solid #e6e6e6;}
.benefit img{max-width: 160px; width: 42vw; height:auto; margin: 0 auto .75rem; display:block; background: transparent !important; border: none; box-shadow:none;}
.benefit h2{margin: .5rem 0 .25rem; font-size: 1.15rem;}
.benefit p{margin: 0; font-size: .98rem;}
/* CONTACT */
.contact{
  background: var(--beige);
  padding: 3rem 1rem; text-align:center;
}
.contact h2{margin:0 0 .5rem; color: var(--text);}
.contact-form{
  max-width: 460px; margin: 1.25rem auto 0; display:flex; flex-direction:column; gap:.85rem;
}
.contact-form input,.contact-form textarea{
  padding:.9rem 1rem; border:1px solid #d6d6d6; border-radius:12px; font-size:1rem; font-family:inherit; background:#fff;
}
.contact-form button{
  background: var(--cta); color:#fff; border:0; padding:.95rem 1.2rem; border-radius:999px; font-weight:600; cursor:pointer;
}
.contact-form button:hover{background: var(--cta-hover);}
.small-note{font-size:.9rem; opacity:.85; margin-top:.75rem;}
/* Footer */
.site-footer{
  background:#fff; border-top:1px solid #ececec; text-align:center; padding: 1.2rem; font-size:.95rem;
}
.site-footer p{margin:.25rem 0;}
.site-footer nav{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
.site-footer nav a{color:#2a2a2a; text-decoration: underline;}
/* a11y & spam */
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.hp{position:absolute; left:-9999px; opacity:0; height:0; width:0; pointer-events:none;}
