:root{--color-cream:#faf7f2;--color-cream-dark:#f0ebe3;--color-white:#ffffff;--color-forest:#2c5530;--color-forest-light:#3a7340;--color-forest-pale:#e4ede5;--color-forest-ghost:#f2f7f3;--color-amber:#c4841d;--color-amber-light:#f5e6cc;--color-amber-dark:#a06b14;--color-text:#2d2a26;--color-text-soft:#5c5751;--color-text-muted:#8c857d;--color-border:#ddd6cb;--color-border-light:#e8e2d9;--color-danger:#b33a3a;--color-danger-bg:#fdf0ef;--font-heading:"Libre Baskerville",Georgia,"Times New Roman",serif;--font-body:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:12px;--radius-sm:8px;--shadow-soft:0 2px 12px rgba(44,85,48,0.06);--shadow-card:0 1px 4px rgba(44,85,48,0.08),0 4px 16px rgba(44,85,48,0.04);--shadow-hover:0 2px 8px rgba(44,85,48,0.12),0 8px 24px rgba(44,85,48,0.06);--transition:0.25s cubic-bezier(0.4,0,0.2,1)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-cream);line-height:1.65;min-height:100vh;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c5b99a' fill-opacity='0.03'%3E%3Cpath d='M20 20c0-5.5-4.5-10-10-10S0 14.5 0 20s4.5 10 10 10 10-4.5 10-10zm20 0c0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10 10-4.5 10-10z'/%3E%3C/g%3E%3C/svg%3E")}.container{max-width:720px;margin:0 auto;padding:2rem 1.5rem}h1,h2,h3{font-family:var(--font-heading);color:var(--color-forest);letter-spacing:-0.01em}h1{font-size:2.2rem;line-height:1.25;margin-bottom:1.25rem;font-weight:700}h2{font-size:1.55rem;line-height:1.3;margin-bottom:0.85rem;font-weight:700}h3{font-size:1.15rem;margin-bottom:0.6rem;font-weight:700}h4{font-family:var(--font-body);font-size:1.05rem;font-weight:700;margin-bottom:0.35rem;color:var(--color-text)}p{margin-bottom:1rem}strong{font-weight:700}.lead{font-size:1.15rem;line-height:1.55;color:var(--color-text-soft)}.section{display:none;padding-top:4.5rem;padding-bottom:2rem}.section.active{display:block;animation:fadeInUp 0.4s ease both}#landing.active{animation:none}@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.progress-bar{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-white);height:3.6rem;display:flex;align-items:center;border-bottom:1px solid var(--color-border-light);backdrop-filter:blur(12px);background:rgba(255,255,255,0.92)}.progress-bar.hidden{display:none}.restart-btn{position:absolute;left:0.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0.4rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);min-width:48px;min-height:48px}.restart-btn:hover{color:var(--color-forest);background:var(--color-forest-ghost)}.progress-fill{position:absolute;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--color-forest),var(--color-forest-light));transition:width 0.5s var(--transition);width:20%}.progress-steps{display:flex;justify-content:center;gap:1.5rem;width:100%;padding:0 1rem}@media (max-width:600px){.progress-steps{display:none}.progress-bar{height:2.8rem}}.step-dot{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--color-cream-dark);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;font-family:var(--font-body);transition:all 0.35s ease;position:relative}.step-dot.active{background:var(--color-forest);color:var(--color-white);box-shadow:0 0 0 4px rgba(44,85,48,0.15)}.step-dot.completed{background:var(--color-forest-light);color:var(--color-white)}.step-label{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);font-size:0.75rem;color:var(--color-text-muted);font-weight:600}.progress-steps .step-dot + .step-dot::before{content:"";position:absolute;right:calc(100% + 4px);top:50%;width:calc(1.5rem - 8px);height:2px;background:var(--color-border);transform:translateY(-50%)}.progress-steps .step-dot.completed + .step-dot::before,.progress-steps .step-dot.active::before{background:var(--color-forest-light)}.hero-illustration{margin:-2rem 0 1.5rem;overflow:hidden}.hero-illustration svg{width:100%;height:auto;display:block;min-height:120px}.landing-hero{margin-bottom:2rem}.landing-hero h1{font-size:2.5rem;line-height:1.15;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--color-forest) 0%,#1a4020 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.85rem 1.75rem;font-size:1rem;font-weight:600;font-family:var(--font-body);border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:center;text-decoration:none;transition:all var(--transition);line-height:1.4;min-height:52px;letter-spacing:0.01em}.btn:active{transform:scale(0.97)}.btn-primary{background:var(--color-forest);color:var(--color-white);border-color:var(--color-forest);box-shadow:0 2px 8px rgba(44,85,48,0.2)}.btn-primary:hover{background:var(--color-forest-light);border-color:var(--color-forest-light);box-shadow:0 4px 16px rgba(44,85,48,0.25);transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-text-muted);border-color:var(--color-text-muted);cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--color-white);color:var(--color-text);border-color:var(--color-border);box-shadow:var(--shadow-soft)}.btn-secondary:hover{background:var(--color-cream);border-color:var(--color-text-muted)}.btn-outline{background:transparent;color:var(--color-forest);border-color:var(--color-forest)}.btn-outline:hover{background:var(--color-forest-ghost)}.btn-link{background:none;border:none;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;padding:0.85rem 1rem;min-height:auto}.btn-link:hover{color:var(--color-text)}.btn-large{display:flex;width:100%;padding:1.15rem 2rem;font-size:1.15rem;margin-bottom:1.5rem;border-radius:var(--radius);min-height:58px}.btn-download{font-size:1.2rem;padding:1.2rem 2rem;margin-bottom:1.5rem;gap:0.5rem}.btn-icon{font-size:1.3em}.btn-row{display:flex;gap:0.75rem;margin-top:2rem;flex-wrap:wrap}.btn-row .btn{flex:1;min-width:120px}.btn-row .btn-link{flex:0}.form-group{margin-bottom:1.35rem}.form-group label{display:block;font-weight:600;margin-bottom:0.4rem;font-size:0.95rem;color:var(--color-text-soft)}.form-group input,.form-group textarea{width:100%;padding:0.8rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-body);background:var(--color-white);color:var(--color-text);transition:all var(--transition);min-height:52px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-forest);box-shadow:0 0 0 4px rgba(44,85,48,0.1)}.form-group input.invalid,.form-group textarea.invalid{border-color:var(--color-danger);box-shadow:0 0 0 4px rgba(179,58,58,0.08)}.form-group textarea{resize:vertical;min-height:150px;line-height:1.6}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-group-small{max-width:140px;flex:0 0 140px !important}.error-msg{display:block;color:var(--color-danger);font-size:0.85rem;margin-top:0.3rem;min-height:1.2em;font-weight:500}.char-count{text-align:right;font-size:0.8rem;color:var(--color-text-muted);margin-top:0.3rem}.concerns-list{display:flex;flex-direction:column;gap:0.85rem;margin-bottom:1rem}.concern-card{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem;border:2px solid var(--color-border-light);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);background:var(--color-white);box-shadow:var(--shadow-soft);-webkit-user-select:none;user-select:none}.concern-card:hover{border-color:var(--color-forest);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.concern-card.selected{border-color:var(--color-forest);background:var(--color-forest-ghost);box-shadow:var(--shadow-card),inset 0 0 0 1px var(--color-forest-pale)}.concern-checkbox{flex-shrink:0;width:30px;height:30px;border:2px solid var(--color-border);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-top:3px;transition:all var(--transition);background:var(--color-white)}.concern-card.selected .concern-checkbox{background:var(--color-forest);border-color:var(--color-forest)}.concern-checkbox::after{content:"";display:none;width:7px;height:13px;border:solid var(--color-white);border-width:0 2.5px 2.5px 0;transform:rotate(45deg);margin-bottom:3px}.concern-card.selected .concern-checkbox::after{display:block}.concern-header{display:flex;align-items:center;gap:0.45rem;margin-bottom:0.35rem;flex-wrap:nowrap}.concern-icon{flex-shrink:0;width:22px;height:22px;color:var(--color-forest);display:inline-flex;align-items:center}.concern-icon svg{width:22px;height:22px;min-width:22px;min-height:22px;max-width:22px;max-height:22px}.concern-content h4{font-size:1.02rem;margin-bottom:0;color:var(--color-forest);display:inline}.concern-card.selected .concern-content h4{color:var(--color-forest)}.concern-content p{font-size:0.92rem;color:var(--color-text-soft);margin:0;line-height:1.5}.info-box{background:var(--color-forest-ghost);border:1px solid var(--color-forest-pale);border-radius:var(--radius);padding:1.35rem;margin-bottom:1.75rem}.info-box h3{font-size:1.05rem;margin-bottom:0.6rem}.steps-list{padding-left:1.5rem;margin-top:0.5rem}.steps-list li{margin-bottom:0.45rem;color:var(--color-text-soft)}.steps-list li::marker{color:var(--color-forest);font-weight:700}.example-box{background:var(--color-amber-light);border:1px solid #e6d5b4;border-radius:var(--radius);padding:1.35rem;margin-bottom:1.5rem}.example-box strong{color:var(--color-amber-dark)}.example-box ul{padding-left:1.25rem;margin-top:0.5rem}.example-box li{margin-bottom:0.5rem;font-style:italic;color:var(--color-text-soft);font-size:0.9rem}.reminder-box{background:#fef8ee;border-left:4px solid var(--color-amber);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.25rem;margin-bottom:1.75rem;font-size:1rem}.reminder-box strong{color:var(--color-amber-dark)}.deadline-box{background:var(--color-danger-bg);border-left:4px solid var(--color-danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1rem 1.25rem;margin:1.5rem 0;font-size:1rem}.deadline-box strong{color:var(--color-danger)}.error-box{background:var(--color-danger-bg);border:1px solid var(--color-danger);border-radius:var(--radius);padding:2rem;text-align:center}.error-box h3{color:var(--color-danger);margin-bottom:0.5rem}.error-box .btn{margin-top:1rem;margin-right:0.5rem}.preview-box{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin:1.25rem 0;font-size:0.92rem;line-height:1.7;max-height:500px;overflow-y:auto;white-space:pre-wrap;box-shadow:inset 0 1px 3px rgba(0,0,0,0.04)}.loading-state{text-align:left;padding:2rem 0}.spinner{width:44px;height:44px;border:3px solid var(--color-border-light);border-top:3px solid var(--color-forest);border-radius:50%;margin:0 0 1.5rem;animation:spin 0.9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-sub{color:var(--color-text-muted);font-size:0.9rem}.method-cards-stack{display:flex;flex-direction:column;gap:1rem;margin:1.25rem 0}.method-card{border:1px solid var(--color-border-light);border-radius:var(--radius);padding:1.35rem;background:var(--color-white);position:relative;box-shadow:var(--shadow-soft);transition:all var(--transition);margin-bottom:1.75rem}.method-card:hover{box-shadow:var(--shadow-card)}.method-recommended{border:2px solid var(--color-forest);background:var(--color-forest-ghost);box-shadow:var(--shadow-card)}.method-badge{position:absolute;top:-0.65rem;right:1.25rem;background:var(--color-forest);color:var(--color-white);font-size:0.72rem;font-weight:700;padding:0.25rem 0.85rem;border-radius:4px;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font-body)}.method-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.35rem;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius);cursor:pointer;font-size:0.95rem;font-weight:600;color:var(--color-forest);box-shadow:var(--shadow-soft);transition:all var(--transition);margin-bottom:1.25rem}.method-toggle:hover{box-shadow:var(--shadow-card);border-color:var(--color-forest-light)}.method-toggle-arrow{font-size:1.1rem;transition:transform 0.2s ease}.method-toggle.open .method-toggle-arrow{transform:rotate(90deg)}.method-icon{width:40px;height:40px;margin-bottom:0.5rem}.method-icon svg{width:100%;height:100%}.method-card h4{font-family:var(--font-heading);font-size:1rem;margin-bottom:0.45rem;color:var(--color-forest)}.method-card p{margin-bottom:0.5rem;font-size:0.92rem;color:var(--color-text-soft)}.address-block{background:var(--color-cream);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:0.75rem 1rem;font-weight:600;margin:0.6rem 0;line-height:1.5;color:var(--color-text)}.method-tip{font-size:0.82rem;color:var(--color-text-muted);font-style:italic}.method-steps{padding-left:1.25rem;margin:0.5rem 0}.method-steps li{margin-bottom:0.35rem;font-size:0.9rem;color:var(--color-text-soft)}.share-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--color-border-light);text-align:center}.share-section h3{color:var(--color-forest)}.share-section p{color:var(--color-text-soft)}.share-buttons{display:flex;gap:0.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.share-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.6rem 1.1rem;font-size:0.9rem;font-weight:600;font-family:var(--font-body);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);color:var(--color-white);min-height:44px}.share-btn:hover{transform:translateY(-1px);filter:brightness(1.1)}.share-facebook{background:#1877F2}.share-whatsapp{background:#25D366;color:#fff}.share-copy{background:var(--color-text-soft)}.share-compact{margin-top:1rem;padding-top:1rem;border-top:none}.share-compact p{font-size:0.9rem;margin-bottom:0.5rem}.restart-section{text-align:center;margin-top:1.5rem;padding-top:1rem}.counter-inline{font-weight:400;font-size:0.9em}.edit-toggle{text-align:center;margin:0.75rem 0}.btn-small-text{font-size:0.9rem;padding:0.55rem 1.2rem;min-height:40px}.inline-preview{margin:1rem 0}.preview-box.editable{width:100%;font-family:var(--font-body);font-size:0.9rem;line-height:1.65;padding:1.25rem;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-white);color:var(--color-text);resize:vertical;min-height:300px}.preview-box.editable:focus{border-color:var(--color-forest);outline:none;box-shadow:0 0 0 4px rgba(44,85,48,0.1)}.edit-hint{font-size:0.82rem;color:var(--color-text-muted);font-style:italic;margin-top:0.4rem}.form-divider{border-top:1px solid var(--color-border-light);margin:1.5rem 0}.consent-row{margin-bottom:1.25rem}.consent-label{display:flex;align-items:flex-start;gap:0.6rem;cursor:pointer;font-size:0.9rem;color:var(--color-text-soft);line-height:1.45}.consent-label input[type="checkbox"]{flex-shrink:0;width:20px;height:20px;margin-top:3px;accent-color:var(--color-forest);cursor:pointer}.fundraise-section{margin-top:2rem;padding:1.5rem;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-align:center}.fundraise-section h3{margin-bottom:0.5rem}.fundraise-section p{color:var(--color-text-soft);font-size:0.95rem;margin-bottom:1rem}.btn-fundraise{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;font-family:var(--font-body);background:#e45b3a;color:var(--color-white);border:none;border-radius:var(--radius-sm);text-decoration:none;transition:all var(--transition);cursor:pointer}.btn-fundraise:hover{background:#c94a2d;transform:translateY(-1px);box-shadow:0 4px 12px rgba(228,91,58,0.3)}.contact-section{margin-top:2rem;padding:1.5rem;background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius);box-shadow:var(--shadow-soft);text-align:center}.contact-section h3{margin-bottom:0.5rem}.contact-section p{color:var(--color-text-soft);font-size:0.95rem}.contact-email{display:inline-block;font-size:1.15rem;font-weight:700;color:var(--color-forest);text-decoration:none;padding:0.5rem 1.25rem;border:2px solid var(--color-forest);border-radius:var(--radius-sm);margin:0.5rem 0 1rem;transition:all var(--transition)}.contact-email:hover{background:var(--color-forest);color:var(--color-white)}.contact-extra{text-align:left;border-top:1px solid var(--color-border-light);padding-top:1rem;margin-top:0.5rem}.contact-extra p{font-size:0.9rem;margin-bottom:0.5rem}.privacy-note{background:var(--color-cream-dark);border-radius:var(--radius-sm);padding:0.85rem 1.1rem;font-size:0.82rem;color:var(--color-text-muted);margin-top:1.5rem;line-height:1.5}.footer{margin-top:1rem;padding:1.25rem 0;border-top:1px solid var(--color-border-light);background:var(--color-cream-dark)}.footer .container{padding-top:0.75rem;padding-bottom:0.75rem}.footer .privacy-note{margin-top:0;background:transparent;padding:0}.disclaimer{font-size:0.78rem;color:var(--color-text-muted);margin-top:0.5rem}.hidden{display:none !important}@media (max-width:600px){html{font-size:17px}h1{font-size:1.85rem}.landing-hero h1{font-size:2rem}h2{font-size:1.35rem}.form-row{flex-direction:column;gap:0}.form-group-small{max-width:100%;flex:1 !important}.btn-row{flex-direction:column}.btn-row .btn{min-width:100%}.container{padding:1.5rem 1.1rem}.section{padding-top:4rem}}@media (min-width:900px){html{font-size:19px}.container{padding:2.5rem 2rem}.landing-hero h1{font-size:2.8rem}}.btn-pulse{animation:btn-glow 2.5s ease-in-out infinite;will-change:transform,opacity}@keyframes btn-glow{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:0.92}}.scroll-hint-side{position:fixed;right:1.5rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:0.2rem;z-index:50;opacity:0;transition:opacity 0.4s ease;pointer-events:none}.scroll-hint-side.visible{opacity:0.6}.scroll-hint-side svg{width:32px;height:32px;animation:scroll-bounce 2s ease-in-out infinite}.scroll-hint-side span{font-size:0.7rem;font-weight:600;color:var(--color-forest);text-transform:uppercase;letter-spacing:0.05em}@keyframes scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}