:root{
  --bg:#fdf8f3; --fg:#2a1b14; --muted:#7a6357;
  --ember:#e2510f; --ember-2:#f97316; --hope:#f2b23a;
  --card:#fffdfa; --border:#eadcd0; --dark:#20130d;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:Barlow,system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.val{font-family:"Archivo Black",Barlow,sans-serif;font-weight:400;letter-spacing:-.01em;line-height:1.08;margin:0}
h1{font-size:clamp(2.1rem,7vw,3.6rem)}
h2{font-size:clamp(1.6rem,4.5vw,2.4rem)}
h3{font-size:1.35rem}
p{margin:0}
.muted{color:var(--muted)}
.sm{font-size:.9rem}
.big{font-size:1.1rem;margin-top:1.2rem}
.center{text-align:center}
.hidden{display:none !important}
.light{color:#fdf6ee}
.light-2{color:#e6d7c9;margin-top:.6rem}

/* HERO */
.hero{position:relative;min-height:92vh;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,12,7,.35) 0%,rgba(24,12,7,.55) 45%,rgba(24,12,7,.92) 100%)}
.hero-inner{position:relative;min-height:92vh;max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:0 20px 64px}
.badge{background:var(--ember);color:#fff;border-radius:999px;padding:7px 16px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.22em}
.hero h1{margin-top:20px;color:#fffaf3}
.hero-lead{margin-top:16px;max-width:34rem;color:#f0e2d5;font-size:1.06rem}
.cta-wrap{display:block;width:100%;max-width:24rem;margin-top:32px;text-decoration:none}

.cta{width:100%;border:0;cursor:pointer;border-radius:14px;background:linear-gradient(180deg,var(--ember-2),var(--ember));color:#fff;font-family:Barlow,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.06rem;height:62px;box-shadow:0 12px 30px rgba(226,81,15,.42)}
.cta:hover{filter:brightness(1.05)}
.cta:disabled{opacity:.6;cursor:not-allowed}
.big-cta{margin-top:20px;height:58px}
@keyframes pulseCta{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.pulse{animation:pulseCta 1.8s ease-in-out infinite}

.progress-card{margin-top:32px;width:100%;max-width:28rem;background:rgba(32,19,13,.72);backdrop-filter:blur(6px);border-radius:14px;padding:16px}
.progress-top{display:flex;justify-content:space-between;align-items:flex-end;color:#fdf6ee}
.progress-top strong{font-size:1.5rem}
.progress-top span{font-size:.86rem;opacity:.8}
.bar{margin-top:12px;height:10px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:var(--hope)}
.progress-note{margin-top:8px;text-align:left;font-size:.78rem;color:#e6d7c9}

/* SECTIONS */
.narrow{max-width:760px;margin:0 auto;padding:80px 20px}
.wide{max-width:1100px;margin:0 auto;padding:80px 20px}
.dark{background:var(--dark)}
.gallery-wrap{padding:6px 0}
.gallery{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:0 4px}
.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:grayscale(25%);transition:filter .4s}
.gallery img:hover{filter:none}
@media(min-width:640px){.gallery{grid-template-columns:repeat(5,1fr)}}

.impact{margin-top:40px;display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.impact{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.impact{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:24px;text-align:center;box-shadow:0 6px 18px rgba(42,27,20,.06)}
.val{font-size:1.55rem;margin-bottom:8px}

/* FORM */
.donate-section{padding:80px 20px}
.donate-inner{max-width:620px;margin:0 auto}
.panel{margin-top:28px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.amt{cursor:pointer;border:2px solid var(--border);background:#fff;border-radius:12px;padding:14px 6px;font-weight:700;font-family:Barlow,sans-serif;font-size:1rem;color:var(--fg)}
.amt.active{border-color:var(--ember);background:#fff2e8;color:var(--ember)}
.lbl{display:block;margin-top:16px;margin-bottom:6px;font-size:.82rem;font-weight:600;color:var(--muted)}
.inp{width:100%;border:1px solid var(--border);border-radius:11px;padding:13px 14px;font-size:1rem;font-family:Barlow,sans-serif;background:#fff;color:var(--fg)}
.inp:focus{outline:2px solid var(--ember-2);outline-offset:1px}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:.8rem;word-break:break-all}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:22px;background:#f4e9df;padding:5px;border-radius:12px}
.tab{cursor:pointer;border:0;background:transparent;border-radius:9px;padding:11px;font-weight:700;font-family:Barlow,sans-serif;font-size:.95rem;color:var(--muted)}
.tab.active{background:#fff;color:var(--ember);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.grid2{display:grid;grid-template-columns:1fr;gap:0 14px}
@media(min-width:520px){.grid2{grid-template-columns:1fr 1fr}.span2{grid-column:span 2}}
.error{margin-top:12px;color:#b3200f;font-size:.9rem;font-weight:600;text-align:center}
.secure{margin-top:14px;text-align:center;font-size:.78rem;color:var(--muted)}
.qr{display:flex;justify-content:center;margin:22px 0;padding:14px;background:#fff;border-radius:14px;border:1px solid var(--border)}
.qr img,.qr canvas{display:block}

footer{max-width:1100px;margin:0 auto;padding:48px 20px;text-align:center}
.brand{font-size:1.05rem}
footer .muted{margin-top:8px}
