.rrf { --green:#329737; --green-dark:#246c2d; --green-pale:#ecf5ee; --ink:#1d1e1c; --muted:#59655a; --line:#cfe1d1; display:block; width:auto; max-width:880px; min-width:0; margin:24px auto; overflow:hidden; color:var(--ink); font-family:Avenir,"Avenir Next",Montserrat,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.5; }
.rrf * { box-sizing:border-box; }
.rrf > *, .rrf__step > *, .rrf__content > * { max-width:100%; min-width:0; }
.rrf__head { display:grid; width:100%; max-width:100%; min-width:0; grid-template-columns:minmax(0,1fr) minmax(260px,40%); align-items:center; gap:22px; min-height:290px; padding:34px 20px 28px 34px; overflow:hidden; color:#fff; background:var(--green); border-radius:18px 18px 0 0; }
.rrf__head-copy { position:relative; z-index:1; }
.rrf__head h2 { margin:3px 0 9px; color:#fff; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.08; }
.rrf__head p:last-child { margin-bottom:0; color:#f0f8f1; }
.rrf__eyebrow { margin:0; color:#fff; text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; font-weight:800; }
.rrf__campaign-image { display:block; width:115%; max-width:none; height:auto; margin:-16px -12% -20px -3%; filter:drop-shadow(0 10px 12px rgba(20,70,27,.24)); }
.rrf__form { display:grid; width:100%; min-width:0; gap:16px; padding:24px; background:#f4f7fb; border-radius:0 0 18px 18px; }
.rrf__step { display:grid; width:100%; min-width:0; grid-template-columns:44px minmax(0,1fr); gap:20px; padding:26px; background:#fff; border:1px solid var(--line); border-radius:14px; }
.rrf__content { min-width:0; }
.rrf__number { width:42px; height:42px; display:grid; place-items:center; border-radius:11px; background:var(--green); color:#fff; font-weight:900; }
.rrf h3 { margin:4px 0 18px; color:var(--green-dark); font-size:1.35rem; }
.rrf__grid { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.rrf__wide { grid-column:1/-1; }
.rrf__field { display:grid; min-width:0; gap:7px; font-size:.9rem; font-weight:750; }
.rrf__field input { display:block; width:100%; max-width:100%; min-width:0; min-height:49px; padding:11px 13px; border:1px solid #bbc5d1; border-radius:8px; background:#fff; color:var(--ink); font:inherit; }
.rrf__field input:focus { outline:3px solid rgba(50,151,55,.18); border-color:var(--green); }
.rrf__trap { position:absolute!important; left:-9999px!important; }
.rrf__hint { margin:19px 0 0; padding:12px 15px; border-left:4px solid var(--green); background:var(--green-pale); color:var(--green-dark); font-size:.9rem; }
.rrf__statement { padding:18px; background:var(--green-pale); border-radius:10px; }
.rrf__check { display:flex; min-width:0; gap:11px; margin-top:18px; font-size:.92rem; overflow-wrap:anywhere; }
.rrf__check span { min-width:0; }
.rrf__check input { flex:0 0 20px; width:20px; height:20px; margin-top:2px; accent-color:var(--green); }
.rrf__privacy-consent { margin-top:18px; padding:16px 18px; border:2px solid var(--green); border-radius:10px; background:var(--green-pale); }
.rrf__privacy-consent > strong { display:block; margin-bottom:8px; color:var(--green-dark); }
.rrf__privacy-consent .rrf__check { margin-top:0; }
.rrf__signature-head { display:flex; justify-content:space-between; gap:16px; }
.rrf__signature-head h3 { margin-bottom:2px; }
.rrf__signature-head p { margin:0 0 15px; color:var(--muted); }
.rrf__clear { align-self:flex-start; border:0; background:none; color:var(--green-dark); font:inherit; font-weight:750; text-decoration:underline; cursor:pointer; }
.rrf__canvas-wrap { position:relative; width:100%; max-width:100%; min-width:0; height:210px; border:1.5px dashed #9eabba; border-radius:10px; background:#fbfcfe; overflow:hidden; touch-action:none; }
.rrf__canvas-wrap.rrf--invalid { border:2px solid #b42318; }
.rrf__canvas { display:block; width:100%!important; max-width:100%!important; min-width:0!important; height:100%; cursor:crosshair; }
.rrf__canvas-wrap span { position:absolute; left:8%; right:8%; bottom:22px; padding-top:4px; border-top:1px solid #c9d0d9; color:#87919e; font-size:.78rem; pointer-events:none; }
.rrf__privacy { padding:15px 18px; border:1px solid var(--line); border-radius:10px; background:var(--green-pale); color:var(--muted); font-size:.88rem; }
.rrf__status { min-height:1.5em; text-align:center; font-weight:700; }
.rrf__status--error { color:#b42318; }
.rrf__submit { justify-self:end; min-height:52px; padding:0 23px; border:0; border-radius:9px; background:var(--green); color:#fff; font:inherit; font-weight:850; cursor:pointer; }
.rrf__submit:hover { background:var(--green-dark); }
.rrf__submit:disabled { opacity:.6; cursor:wait; }
.rrf__submit--sent, .rrf__submit--sent:disabled { background:var(--green-dark); opacity:1; cursor:default; }
.rrf__success { padding:44px 28px; border:1px solid #bcdcca; border-radius:16px; background:#f0faf5; text-align:center; }
.rrf__success > span { width:54px; height:54px; margin:auto; display:grid; place-items:center; border-radius:50%; background:var(--green); color:#fff; font-size:1.6rem; }
.rrf__success h3 { margin:16px 0 5px; }
.rrf__success p { margin:0; }
@media (max-width:640px) { .rrf{width:auto!important;max-width:100%!important;min-width:0!important;margin:12px 0!important;border-radius:14px;overflow-x:hidden}.rrf *{min-width:0}.rrf__head{grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 16px 26px}.rrf__campaign-image{grid-row:1;width:100%;max-width:390px;min-width:0;height:auto;object-fit:contain;margin:-12px auto -4px}.rrf__head-copy{grid-row:2;min-width:0}.rrf__head h2{overflow-wrap:anywhere}.rrf__form{width:100%;max-width:100%;padding:8px}.rrf__step{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr);padding:18px 12px}.rrf__grid{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)}.rrf__wide{grid-column:auto}.rrf__field input,.rrf__field input[type=date]{width:100%!important;max-width:100%!important;min-width:0!important;-webkit-appearance:none;appearance:none}.rrf__statement,.rrf__privacy-consent,.rrf__privacy,.rrf__check,.rrf__check span{max-width:100%;overflow-wrap:anywhere;word-break:break-word}.rrf__signature-head{min-width:0;flex-direction:column}.rrf__canvas-wrap{width:100%!important;max-width:100%!important;min-width:0!important;height:180px}.rrf__submit{width:100%;max-width:100%} }
