:root{
  --bg:#0d1209; --surface:#141a10; --surface-2:#1a2213; --border:#233019; --text:#e6ead9;
  --dim:#8a9678; --green:#7aaa60; --green-dk:#4a7030; --brass:#e0a743; --ink:#14180d; --cream:#f2ecd9;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{ background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.6; }
.wrap{ max-width:42rem; margin:0 auto; padding:0 1.25rem 3.5rem; }
h1,h2,h3,.kicker{ font-family:'Oswald',sans-serif; }
a{ color:var(--green); }
strong{ color:var(--text); }

header.hero{ text-align:center; padding:3.5rem 1rem 2rem; }
.kicker{ text-transform:uppercase; letter-spacing:.22em; color:var(--brass); font-size:.78rem; font-weight:600; }
header.hero h1{ font-weight:700; text-transform:uppercase; letter-spacing:.02em; font-size:clamp(2.3rem,7vw,3.4rem); margin:.4rem 0 .3rem; }
header.hero .tag{ font-family:'Oswald',sans-serif; font-weight:600; color:var(--green); font-size:clamp(1rem,3vw,1.25rem); }

/* Tight campaign-copy pull card */
.pitch{ background:linear-gradient(160deg,var(--surface-2),var(--surface)); border:1px solid var(--green-dk);
  border-radius:14px; padding:1.6rem 1.5rem; margin-top:1.25rem; }
.pitch .k{ text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; color:var(--green); font-weight:600; margin-bottom:.6rem; }
.pitch p{ margin:0 0 .8rem; font-size:1rem; }
.pitch p:last-of-type{ margin-bottom:1.1rem; }
.pitch .oneliner{ font-family:'Oswald',sans-serif; font-weight:600; font-size:1.1rem; color:var(--cream); margin-bottom:.9rem; }

.btn{ display:inline-block; text-decoration:none; font-family:'Oswald',sans-serif; text-transform:uppercase;
  letter-spacing:.05em; font-weight:600; font-size:.95rem; background:var(--green); color:#0b1206;
  border-radius:8px; padding:.8rem 1.6rem; }
.btn:hover{ filter:brightness(1.1); }
.btn.venmo{ background:#3d95ce; color:#fff; }
.btn.zeffy{ background:var(--brass); color:#14180d; }
.btn.ghost{ background:transparent; color:var(--text); border:1px solid var(--border); }
.row{ display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; }
.soon{ font-size:.82rem; color:var(--dim); }
.soon b{ color:var(--brass); }

section{ padding:2.3rem 0; border-top:1px solid var(--border); }
section h2{ text-transform:uppercase; letter-spacing:.05em; font-size:1.4rem; margin:0 0 1rem; }
.muted{ color:var(--dim); }
section > p{ font-size:.97rem; }

ol.flow{ list-style:none; counter-reset:s; margin:0; padding:0; display:flex; flex-direction:column; gap:.85rem; }
ol.flow li{ counter-increment:s; display:flex; gap:.8rem; align-items:flex-start; }
ol.flow li::before{ content:counter(s); flex:none; width:1.7rem; height:1.7rem; border-radius:50%;
  background:var(--green-dk); color:var(--cream); font-family:'Oswald'; font-weight:700; font-size:.95rem;
  display:flex; align-items:center; justify-content:center; margin-top:.05rem; }
ol.flow span{ color:var(--dim); font-size:.95rem; }
ol.flow b{ color:var(--text); }

/* FAQ */
.faq details{ background:var(--surface); border:1px solid var(--border); border-radius:10px;
  padding:.9rem 1.1rem; margin-bottom:.7rem; }
.faq details:last-child{ margin-bottom:0; }
.faq summary{ cursor:pointer; font-family:'Oswald',sans-serif; font-weight:600; font-size:.98rem;
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:.8rem; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; color:var(--green); font-size:1.3rem; line-height:1; flex:none; }
.faq details[open] summary::after{ content:'\2212'; }
.faq details p{ margin:.7rem 0 0; color:var(--dim); font-size:.93rem; }

.cta-final{ text-align:center; }
.cta-final .row{ justify-content:center; margin:1.1rem 0 .3rem; }

footer{ border-top:1px solid var(--border); padding:2rem 0 1rem; text-align:center; font-size:.82rem; color:var(--dim); }
footer a{ color:var(--dim); }
