@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Nunito:wght@400;600;700;800;900&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#26352b;background:#edf6ee;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf5eb,#f5f8f4);padding:28px 14px}
.page{max-width:680px;margin:auto}.campaign{background:#fff;border:1px solid #e5eee5;border-radius:22px;box-shadow:0 12px 45px #244b2a12;overflow:hidden;padding:clamp(20px,5vw,42px)}
.brand{display:flex;align-items:center;justify-content:center;gap:10px;color:#246c3c;font-weight:900;letter-spacing:1.5px;margin-bottom:30px}
.logo-placeholder{width:42px;height:42px;border-radius:14px;background:#e8f5e9;display:grid;place-items:center;color:#2c8a4c;font-size:26px}
.hero{text-align:center}.eyebrow{color:#36814a;font-weight:800;letter-spacing:2px;font-size:11px}
h1{font-family:Nunito,sans-serif;font-size:clamp(25px,5vw,36px);line-height:1.18;margin:12px 0 16px;color:#213c2a}
.lead{font-size:16px;line-height:1.7;color:#526457;margin:0 auto 22px;max-width:560px}
.photo-placeholder{height:300px;border-radius:17px;background:linear-gradient(135deg,#e6f2e7,#c9e1ce);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#42684a;font-weight:800;gap:8px}
.photo-placeholder small{font-weight:500;font-size:12px}.photo-caption{font-size:12px;color:#7b897e;margin:9px 0 0}
.progress-card{margin:26px 0 32px;background:#f4faf4;border:1px solid #e2efe3;border-radius:18px;padding:22px}
.progress-top,.progress-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-top{font-size:14px;color:#657367}.progress-top strong:first-child{font-size:25px;color:#236b3b}
.progress-track{height:12px;border-radius:30px;background:#dce9dd;margin:15px 0 10px;overflow:hidden}.progress-fill{height:100%;width:0;background:#36a45a;border-radius:30px;transition:width .3s}
.progress-bottom{font-size:12px;color:#647368}.primary-button{display:block;width:100%;border:0;border-radius:12px;background:#278b49;color:#fff;font-weight:900;text-align:center;text-decoration:none;padding:17px 16px;margin-top:20px;cursor:pointer;font-size:15px;box-shadow:0 5px 14px #278b4930}.primary-button:hover{background:#207b3f}
.trust-note{text-align:center;color:#718174;font-size:11px;margin:12px 0 0}
.story{padding:8px 2px 18px}.story h2,.donate h2,.supporters h2{font-family:Nunito,sans-serif;color:#264c31;font-size:23px;line-height:1.25;margin:10px 0 14px}.story p{font-size:15px;line-height:1.8;color:#536257}.highlight{background:#fff7e8;border-left:4px solid #e6b24e;padding:13px 15px;border-radius:7px;color:#68502a!important}
blockquote{margin:18px 0;background:#f3f8f3;border-radius:12px;padding:18px;color:#405847;line-height:1.7}cite{display:block;font-style:normal;font-size:12px;color:#7b897e;margin-top:10px}
.donate{border-top:1px solid #edf1ed;padding-top:25px}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}.amount{border:1px solid #d9e7db;background:#fff;color:#386144;border-radius:10px;padding:13px 6px;font-weight:800;cursor:pointer}.amount.selected{background:#e8f5e9;border:2px solid #3b9a56;color:#216c38}
label{display:block;font-size:13px;font-weight:700;margin:14px 0 7px;color:#405647}input,textarea{width:100%;border:1px solid #d7e2d8;border-radius:10px;padding:13px;font:inherit;color:#26352b;background:#fff}input:focus,textarea:focus{outline:2px solid #9acba5;border-color:#40945a}
.form-message{font-size:12px;color:#7a887c;text-align:center;line-height:1.5}.pix-result{margin-top:20px;padding:18px;border:1px solid #d9e9dc;border-radius:14px;background:#f7fbf7}.pix-result img{display:block;width:220px;max-width:100%;margin:10px auto}.secondary-button{margin-top:10px;border:1px solid #31844a;border-radius:9px;background:#fff;color:#286e3d;padding:12px 16px;font-weight:800;cursor:pointer}
.supporters{border-top:1px solid #edf1ed;margin-top:28px;padding-top:22px}.supporters p{font-size:13px;line-height:1.6;color:#6c7a6e}.supporter-list{padding:16px;border-radius:12px;background:#f6faf6;color:#728075;font-size:13px}
footer{border-top:1px solid #edf1ed;margin-top:28px;padding-top:20px;text-align:center;color:#68786b;font-size:12px;line-height:1.7}footer strong{color:#31583a}footer a{color:#287442}footer small{display:block;margin-top:14px;color:#929d94}
@media(max-width:480px){body{padding:0;background:#fff}.campaign{border:0;border-radius:0;padding:22px 17px}.photo-placeholder{height:240px}.progress-card{padding:17px}.story h2,.donate h2,.supporters h2{font-size:21px}.amounts{grid-template-columns:repeat(2,1fr)}}
html{scroll-behavior:smooth}
.help-button{background:#d96b14;box-shadow:0 5px 14px #d96b1440;font-size:16px}.help-button:hover{background:#c25d0f}
.pix-modal{position:fixed;inset:0;background:#1d2a2088;backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.pix-modal[hidden]{display:none}
.pix-dialog{position:relative;width:100%;max-width:400px;max-height:94vh;overflow:auto;background:#fffaf4;border-radius:22px;padding:26px 22px 22px;text-align:center;box-shadow:0 20px 60px #0004;color:#6b4a2b}
.pix-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:10px;background:#fff;box-shadow:0 2px 8px #0001;font-size:15px;cursor:pointer;color:#6b4a2b}
.pix-logo{display:flex;flex-direction:column;align-items:center;gap:6px;color:#5a3f2c;font-weight:900;letter-spacing:1px;line-height:1.1;font-size:15px}
.pix-logo .logo-placeholder{background:#fdecdc;color:#e0592a}
.pix-dialog h3{font-family:Nunito,sans-serif;color:#8a5a2b;font-size:19px;margin:16px 0 14px}
.pix-label{font-size:12px;margin:0}
.pix-amount{font-family:Nunito,sans-serif;font-size:36px;font-weight:900;color:#d96b14;margin:6px 0 18px}
.pix-qr-box{width:220px;height:220px;max-width:100%;margin:0 auto;border:1px solid #f1d9bf;border-radius:16px;background:#fff;display:grid;place-items:center;padding:12px}
.pix-qr-box.loading{border:1px dashed #f0c79e;background:#fff3e8}
.pix-qr-box img{width:100%;height:100%;object-fit:contain}
.spinner{width:44px;height:44px;border-radius:50%;border:4px solid #f6d9bf;border-top-color:#d96b14;animation:spin .9s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pix-bar{width:160px;height:5px;margin:16px auto 0;border-radius:9px;background:#f6e2cf;overflow:hidden}
.pix-bar span{display:block;height:100%;width:40%;background:#d96b14;border-radius:9px;animation:bar 1.4s ease-in-out infinite}
@keyframes bar{0%{margin-left:-40%}100%{margin-left:100%}}
.pix-hint{font-size:12px;line-height:1.7;margin:12px 0 0}
.pix-code{margin-top:18px;border:1px solid #e8a66a;border-radius:12px;font-family:monospace;font-size:12px;text-overflow:ellipsis;background:#fff}
.pix-copy{display:block;width:100%;margin-top:14px;border:0;border-radius:12px;background:#d96b14;color:#fff;font-weight:800;font-size:15px;padding:15px;cursor:pointer;box-shadow:0 5px 14px #d96b1440}
.pix-copy:hover{background:#c25d0f}
.pix-check{width:84px;height:84px;margin:6px auto 0;border-radius:50%;background:#e3f4e6;color:#2c8a4c;font-size:44px;font-weight:900;display:grid;place-items:center}
.pix-thanks{font-size:15px;line-height:1.6;color:#2f5a3a;margin:16px 0 0}
.pix-error{font-size:14px;line-height:1.6;color:#a2401a;background:#fdeee6;border-radius:12px;padding:14px;margin:0}
body.modal-open{overflow:hidden}
.hero-photo{display:block;width:100%;height:auto;border-radius:17px;background:#e6f2e7}
.donate h2{font-family:Georgia,'Times New Roman',serif;text-align:center;color:#2a2118}
.donate .amounts{grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0 8px}
.donate .amount{position:relative;border:0;border-radius:10px;background:#d96b14;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:700;padding:16px 6px;box-shadow:0 4px 10px #d96b1433;transition:transform .1s,background .15s}
.donate .amount:hover{background:#c25d0f}
.donate .amount:active{transform:scale(.97)}
.donate .badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:#f2a531;color:#fff;font-family:inherit;font-size:9px;letter-spacing:.5px;padding:3px 8px;border-radius:20px;white-space:nowrap}
.optional{font-weight:400;color:#8a968c}
.custom-row{display:flex;gap:10px}
.custom-row input{flex:1}
.custom-button{border:0;border-radius:10px;background:#d96b14;color:#fff;font-weight:800;padding:0 18px;cursor:pointer;white-space:nowrap}
.custom-button:hover{background:#c25d0f}
