*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
body{background:#F8F5F0;color:#1B2D1B;font-family:'DM Sans',sans-serif;overflow-x:hidden}
.header{padding:20px 24px}.logo{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:700;color:#1B2D1B}.a{color:#3DAA68}
.hero{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px;background:radial-gradient(ellipse at center,#E8EEE8 0%,#F8F5F0 70%)}
.title{font-family:'Outfit',sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1.05;color:#3DAA68}
.sub{font-size:clamp(.9rem,1.3vw,1.05rem);color:#1B2D1B;opacity:.6;max-width:480px;line-height:1.7;margin-top:20px}
.grid{max-width:900px;margin:0 auto;padding:60px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:#E8EEE8;border:1px solid #C8E6D460;border-radius:16px;padding:32px;transition:border-color .3s,transform .3s}
.card:hover{border-color:#3DAA68;transform:translateY(-4px)}
.tag{font-family:'Caveat',cursive;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#7B5EA7;display:block;margin-bottom:8px}
.card h2{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:10px;color:#1B2D1B}
.card p{font-size:.88rem;line-height:1.7;color:#1B2D1B;opacity:.6}
.c1{border-top:3px solid #3DAA68}.c2{border-top:3px solid #7B5EA7}.c3{border-top:3px solid #D4A340}
.footer{text-align:center;padding:40px 24px;border-top:1px solid #C8E6D430}
.footer p{font-size:.75rem;color:#1B2D1B;opacity:.2}
