/* karmabadge.com */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #fef7ee; color: #292524; font-family: 'Lato', sans-serif; line-height: 1.8; }
.hero { min-height: 70vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; position: relative; overflow: hidden; }
.confetti { position: absolute; inset: 0; }
.dot { position: absolute; width: 4px; height: 4px; border-radius: 50%; }
.dot.gold { background: #f59e0b; }
.dot.green { background: #16a34a; }
.dot.rose { background: #e11d48; }
.dot.blue { background: #2563eb; }
.badge-main { width: 80px; height: 80px; border-radius: 50%; border: 3px solid #f59e0b; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; }
.star { clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); width: 32px; height: 32px; background: #f59e0b; }
.star.small { width: 20px; height: 20px; }
.brand { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: clamp(2rem, 5vw, 3rem); color: #292524; }
.tagline { font-size: 0.9rem; color: #78716c; }
.section-title { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1.2rem; text-align: center; margin-bottom: 1.5rem; }
.gallery { max-width: 600px; margin: 0 auto; padding: 3rem 1.5rem; }
.badge-row { display: flex; justify-content: center; gap: 1.5rem; flex-wrap: wrap; }
.badge-item { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.badge-item > div:first-child { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.gold-badge > div:first-child { border: 3px solid #f59e0b; }
.green-badge > div:first-child { border: 3px solid #16a34a; }
.rose-badge > div:first-child { border: 3px solid #e11d48; }
.blue-badge > div:first-child { border: 3px solid #2563eb; }
.heart-icon { width: 16px; height: 16px; background: #16a34a; clip-path: polygon(50% 100%, 0% 35%, 15% 0%, 50% 20%, 85% 0%, 100% 35%); }
.leaf-icon { width: 16px; height: 24px; background: #e11d48; border-radius: 50% 0 50% 0; }
.hand-icon { width: 20px; height: 20px; background: #2563eb; border-radius: 50% 50% 10% 10%; }
.badge-name { font-family: 'Inter', sans-serif; font-weight: 500; font-size: 0.7rem; color: #78716c; }
.stories { max-width: 600px; margin: 0 auto; padding: 2rem 1.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
.story-card { background: #ffffff; border-radius: 16px; padding: 1.5rem; box-shadow: 0 2px 12px rgba(0,0,0,0.05); }
.story-title { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1rem; margin-bottom: 0.5rem; }
.story-text { font-size: 0.85rem; color: #57534e; margin-bottom: 0.75rem; }
.impact-stat { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1.1rem; color: #f59e0b; }
.community { background: #f59e0b; text-align: center; padding: 3rem 2rem; }
.heart-accent { width: 16px; height: 16px; background: #ffffff; clip-path: polygon(50% 100%, 0% 35%, 15% 0%, 50% 20%, 85% 0%, 100% 35%); margin: 0 auto 1rem; }
.community-text { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 1.1rem; color: #ffffff; }
.community-brand { font-size: 0.65rem; color: rgba(255,255,255,0.7); display: block; margin-top: 0.5rem; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
