:root{--ink:#12291d;--green:#167a4a;--orange:#f45b3d;--cream:#fffdf8;--mint:#eef8f1;--line:#d4dfd7;--muted:#68746d;--warning:#fff3c8}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(135deg,#f3faf5,#fffaf2);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}
button,input{font:inherit}
.page{max-width:1000px;margin:auto;padding:28px 18px 60px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px;padding:0 0 24px;border-bottom:1px solid #cfe4d6}
.brand-logo{display:block;width:190px;height:auto}
.header-message{min-width:390px;padding:15px 26px 17px 30px;border-left:8px solid var(--green);border-radius:12px;background:#eef8f1}
.header-message span,.header-message strong{display:block}
.header-message span{color:var(--green);font-size:16px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.header-message strong{margin-top:2px;color:var(--ink);font-size:27px;line-height:1.15}
.steps{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;margin-bottom:18px}
.step{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px 14px;text-align:left;color:var(--muted)}
button.step{cursor:pointer}
.step strong{display:block;color:var(--ink);font-size:16px}
.step span{display:block;margin-top:3px}
.step.active{border-color:var(--green);box-shadow:0 0 0 2px #d9efe2;background:#f7fff9}
.redirect-step{background:#eff8f2;border-color:#bdd8c7}
.redirect-step strong{color:var(--green)}
.panel{display:none;background:var(--cream);border:1px solid var(--line);border-radius:25px;padding:42px 50px;box-shadow:0 18px 45px rgba(24,70,45,.1)}
.panel.active{display:block}
.panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:23px;border-bottom:1px solid #e9e3d9}
.eyebrow{color:var(--green);font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
h1{font-size:34px;line-height:1.1;margin:8px 0}
p{color:var(--muted);line-height:1.5}
.time{white-space:nowrap;background:var(--mint);color:var(--green);font-weight:800;padding:10px 14px;border-radius:99px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin-top:26px}
.wide{grid-column:1/-1}
label,legend{font-weight:800;font-size:17px}
input:not([type=radio]):not([type=checkbox]){display:block;width:100%;margin-top:9px;border:1px solid #cbd7cf;border-radius:14px;padding:16px;background:#fff;color:var(--ink)}
fieldset{border:0;padding:0;margin:26px 0 0}
.form-grid fieldset{margin:0}
.option-grid,.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.option{display:flex;align-items:center;gap:10px;border:1px solid #cad7ce;border-radius:14px;padding:15px 16px;background:#fff}
.option input,.payment input,.consent input{width:21px;height:21px;accent-color:var(--green)}
.consent{display:flex;gap:11px;align-items:flex-start;color:var(--muted);font-size:15px;line-height:1.5}
.primary,.secondary{width:100%;border:0;border-radius:14px;padding:18px;font-weight:900;cursor:pointer}
.primary{background:var(--orange);color:#fff;font-size:18px}
.secondary{margin-top:10px;background:transparent;color:var(--green)}
.fine-print{text-align:center;font-size:14px}
.payment-grid{margin-bottom:20px}
.payment{position:relative;display:flex;align-items:center;gap:12px;border:2px solid var(--line);border-radius:17px;background:#fff;padding:18px;cursor:pointer}
.payment.selected{border-color:var(--green);background:#f3fbf5}
.payment input{position:absolute;opacity:0}
.payment-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3ff;color:#1769e0;font-weight:900;font-size:20px}
.zelle{color:#6d35c7;background:#f3edff}
.cashapp{color:#009953;background:#eafff3}
.venmo{color:#1687a7;background:#eafaff}
.payment strong,.payment small{display:block}
.payment small{margin-top:4px;color:var(--muted);font-weight:400}
.transfer-consent{margin:18px 0}
.redirect-note{display:grid;gap:5px;background:var(--warning);border:1px solid #efd37a;border-radius:13px;padding:15px 17px;margin:18px 0}
.redirect-note span{color:#675b38}
.status{text-align:center;margin-bottom:0}
.status.error{color:#a52c1e}
.status.success{color:var(--green)}
.campaign-panel{padding:55px 54px}
.campaign-panel h1{margin:0 0 45px}
.campaign-panel p{margin:0 0 28px;color:#29483a;font-size:21px;line-height:1.55}
.campaign-panel .campaign-match{font-size:23px;line-height:1.5}
.payment-highlight{margin:34px 0 30px;padding:25px 32px;border-left:8px solid var(--orange);border-radius:10px;background:#fff0e7;color:#29483a;font-size:21px;line-height:1.5}
.payment-highlight span{color:#df4328}
.campaign-panel .ready-copy{margin:0 0 24px;text-align:center;color:#547060}
.open-review{display:block;max-width:405px;margin:0 auto;text-align:center;text-decoration:none;font-size:21px}
.campaign-flyer{max-width:520px;margin:34px auto 0}
.campaign-flyer figcaption{margin-bottom:13px;color:#29483a;font-size:18px;font-weight:800;text-align:center}
.campaign-flyer img{display:block;width:100%;height:auto;border:1px solid #d8e3db;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(24,70,45,.12)}

@media(max-width:700px){.page{padding:12px 9px 35px}
.site-header{align-items:stretch;flex-direction:column;gap:16px}
.brand-logo{width:165px;align-self:flex-start}
.header-message{min-width:0;padding:13px 18px 15px 22px}
.header-message span{font-size:14px}
.header-message strong{font-size:24px}
.steps{grid-template-columns:1fr}
.step{display:none}
.step.active,.redirect-step{display:block}
.panel{padding:25px 18px;border-radius:18px}
.panel-heading{display:block}
.time{display:inline-block;margin-top:12px}
.form-grid,.option-grid,.payment-grid{grid-template-columns:1fr}
h1{font-size:28px}
.campaign-panel{padding:32px 22px}
.campaign-panel h1{margin-bottom:30px}
.campaign-panel p,.campaign-panel .campaign-match,.payment-highlight{font-size:18px}
.payment-highlight{padding:20px 22px}
.campaign-flyer{margin-top:26px}
.campaign-flyer figcaption{font-size:16px}
.campaign-flyer img{border-radius:13px}
}
