.vcp-flow{--red:#e21c21;--ink:#111;--paper:#f8f7f5;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);padding:clamp(24px,5vw,64px);background:var(--paper);color:var(--ink);border-radius:24px;max-width:1200px;margin:40px auto;font-family:Nunito,Arial,sans-serif;line-height:1.6;box-sizing:border-box}.vcp-flow *{box-sizing:border-box}.vcp-flow [hidden]{display:none!important}.vcp-flow .vcp-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#b31519}.vcp-flow h2,.vcp-flow h3{font-family:Montserrat,Arial,sans-serif;font-weight:800;letter-spacing:-.04em;color:#111;line-height:1.12;margin:16px 0 24px}.vcp-flow h2{font-size:clamp(36px,4.5vw,62px)}.vcp-flow h3{font-size:clamp(26px,3vw,34px)}.vcp-flow-intro>p{font-size:18px;max-width:440px}.vcp-promises{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.vcp-promises span{background:#fff;border:1px solid #ddd6d1;padding:7px 14px;border-radius:99px;font-size:13px;font-weight:800}.vcp-flow-panel{background:#fff;border:1px solid #e5e1dc;border-radius:18px;padding:clamp(22px,3vw,36px);box-shadow:0 12px 32px #11111108}.vcp-progress{display:flex;gap:16px;font-size:11px;color:#666;font-weight:700;margin-bottom:30px}.vcp-progress span{border-top:3px solid #ddd;padding-top:10px;flex:1}.vcp-progress .is-current{border-color:var(--red);color:#b31519}.vcp-signup>label,.vcp-phone>label{display:block;font-size:14px;font-weight:800;margin:18px 0 7px}.vcp-flow label small{display:block;font-weight:400;color:#666}.vcp-flow input:not([type=checkbox]):not([type=radio]){width:100%;padding:13px 14px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#111;font:inherit;font-size:16px;min-height:48px}.vcp-flow label.vcp-choice{display:flex;gap:10px;font-size:13px;font-weight:400;line-height:1.6}.vcp-choice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--red);margin:3px 0 0}.vcp-flow a{color:#b31519;text-decoration:underline}.vcp-flow button{font:inherit;cursor:pointer}.vcp-primary{width:100%;margin:24px 0 0;background:var(--red);color:white;border:0;border-radius:9px;min-height:52px;padding:14px 18px;font-weight:800!important;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}.vcp-primary:hover{background:#b31519}.vcp-primary:disabled{opacity:.6;cursor:wait}.vcp-text-button{background:transparent;border:0;text-decoration:underline;padding:8px 0;margin-top:12px;color:#555;font-size:13px!important}.vcp-flow .vcp-footnote{font-size:12px;color:#666;line-height:1.6}.vcp-independent{border-top:1px solid #eee;padding-top:18px;margin-top:24px}.vcp-response,.vcp-payment-response{font-size:14px;color:#8d1013}.vcp-success{background:#f0f6ef;color:#205b2b;padding:14px;border-radius:8px;font-size:14px}.vcp-preview{grid-column:1/-1;margin:0;padding:12px;background:#111;color:#fff;font-size:13px}.vcp-flow .vcp-amounts{display:flex;gap:12px;border:0;margin:24px 0 0;padding:0}.vcp-amounts legend{font-size:13px;margin-bottom:12px;font-weight:bold}.vcp-amounts label{flex:1;position:relative;cursor:pointer}.vcp-amounts input{position:absolute;opacity:0}.vcp-amounts span{display:block;border:2px solid #ddd;border-radius:9px;padding:16px;text-align:center;font-size:25px;font-weight:800}.vcp-amounts input:checked+span{border-color:var(--red);background:#fff3f3;color:#b31519}.vcp-flow :is(a,button,input):focus-visible,.vcp-amounts input:focus-visible+span{outline:3px solid #111;outline-offset:3px}.vcp-flow h3:focus{outline:none}.vcp-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}@media(max-width:800px){.vcp-flow{grid-template-columns:1fr;padding:24px;gap:30px}.vcp-flow h2{font-size:40px}.vcp-flow-panel{padding:24px}}@media(prefers-reduced-motion:no-preference){.vcp-flow-panel{transition:box-shadow .2s}}
.vcp-amounts small{display:block;font-size:12px;font-weight:600}.vcp-flow [data-step=donate]>.vcp-choice{display:flex;gap:10px;font-size:13px;margin-top:24px}
.vcp-custom-amount{margin-top:20px}.vcp-custom-amount label{font-weight:700;font-size:14px;display:block;margin-bottom:8px}.vcp-flow .vcp-amounts{flex-wrap:wrap}.vcp-amounts label{min-width:70px}.vcp-amounts span{padding:14px 8px}

@media(max-width:600px){.vcp-flow .vcp-amounts{flex-wrap:wrap;gap:10px}.vcp-flow .vcp-amounts label{flex:1 1 calc(50% - 10px);min-width:0}.vcp-flow .vcp-amounts span{padding:12px 8px;font-size:24px}}
