.rf-planner{max-width:780px;margin:2rem auto;background:#050505;padding:2rem;color:#181818;font-family:Arial,sans-serif}
.rf-planner *{box-sizing:border-box}
.rf-planner form{background:#fff;border-top:6px solid #df2429;padding:2rem}
.rf-step{display:none}
.rf-step.is-active{display:block}
.rf-eyebrow{color:#d92329;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.rf-planner h2{font-size:clamp(2rem,5vw,3.25rem);letter-spacing:-.06em;line-height:1.05;margin:.45rem 0 1rem}
.rf-lead{color:#424242;line-height:1.55;max-width:42rem}
.rf-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.6rem 0}
.rf-choice-grid label,.rf-choice{border:1px solid #aaa;background:#fff;padding:1rem;text-align:left;color:#181818;font:inherit;cursor:pointer;min-width:0;max-width:100%;width:100%;overflow-wrap:anywhere}
.rf-choice:hover,.rf-choice:focus-within,.rf-choice.is-selected{border-color:#df2429;background:#f6f6f6}
.rf-choice strong,.rf-choice span{display:block}
.rf-choice span{font-size:.84rem;color:#4b4b4b;margin-top:.35rem;line-height:1.35}
.rf-choice-grid input{accent-color:#df2429}
.rf-field{display:block;font-size:.82rem;font-weight:700;letter-spacing:.02em;margin:1rem 0}
.rf-field input,.rf-field textarea,.rf-field select{display:block;width:100%;margin-top:.4rem;border:1px solid #9c9c9c;padding:.72rem;font:400 1rem Arial,sans-serif}
.rf-field span,.rf-upload span{font-weight:400}
.rf-note{font-size:.78rem;color:#555}
.rf-brief{border-left:4px solid #df2429;background:#f4f4f4;padding:1.2rem;line-height:1.55}
.rf-actions{display:flex;gap:.9rem;justify-content:space-between;border-top:1px solid #ccc;margin-top:1.8rem;padding-top:1.2rem}
.rf-actions button{border:0;padding:.8rem 1.1rem;font-weight:800;cursor:pointer}
.rf-next,.rf-submit{background:#df2429;color:#fff}
.rf-back{background:none;color:#222;text-decoration:underline}
.rf-submit{display:none}
.rf-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.rf-upload{display:block;border:1px dashed #777;padding:1rem;margin:1rem 0;font-weight:700}
.rf-upload input{display:block;margin-top:.6rem}
.rf-consent{font-size:.84rem;line-height:1.4}
.rf-fieldset{border:0;padding:0;margin:1.35rem 0}.rf-fieldset legend{font-size:.88rem;font-weight:800;margin-bottom:.55rem}.rf-fieldset label{display:block;margin:.5rem 0;line-height:1.4}.rf-website-infrastructure [data-rf-domain-owned],.rf-website-infrastructure [data-rf-domain-wanted],.rf-website-infrastructure [data-rf-existing-hosting]{display:none}
.rf-planner__progress{display:flex;gap:.35rem;margin:0 0 1rem}
.rf-planner__progress span{display:block;width:2rem;height:.25rem;background:#555}
.rf-planner__progress .is-active{background:#df2429}
@media(max-width:620px){
  .rf-planner{padding:1rem;max-width:100%;overflow:hidden}
  .rf-planner form{padding:1.3rem;min-width:0}
  .rf-choice-grid,.rf-contact-grid{grid-template-columns:minmax(0,1fr);width:100%}
  .rf-choice-grid>*{min-width:0}
  .rf-actions{flex-wrap:wrap}
  .rf-actions button{flex:1}
}

/* App presentation; step visibility and conditional fields remain JS-owned. */
.rf-planner.rf-planner{max-width:860px;padding:clamp(18px,4vw,36px);background:#f5f5f7;border:1px solid #e2e3e7;border-radius:22px;box-shadow:0 18px 55px #1719230a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rf-planner form{padding:clamp(22px,4vw,40px);border:1px solid #e2e3e7;border-radius:16px;box-shadow:0 3px 10px #17192304}
.rf-planner .rf-planner__progress{gap:8px;margin-bottom:22px}
.rf-planner .rf-planner__progress span{flex:1;width:auto;height:4px;border-radius:9px;background:#dedee4}
.rf-planner .rf-planner__progress .is-active{background:#bc2430;box-shadow:0 2px 5px #bc243020}
.rf-planner .rf-eyebrow{color:#a6212c;font-size:11px;letter-spacing:.14em}
.rf-planner h2{font-size:clamp(28px,4vw,42px);letter-spacing:-.045em;line-height:1.12}
.rf-planner .rf-lead{color:#62646c;font-size:16px;line-height:1.65}
.rf-planner .rf-choice-grid{gap:12px}
.rf-planner .rf-choice-grid label,.rf-planner .rf-choice{border:1px solid #d9dae1;border-radius:12px;padding:20px;background:linear-gradient(145deg,#fff,#fafafb);box-shadow:0 2px 3px #17192304;transition:border-color .15s,box-shadow .15s}
.rf-planner .rf-choice:hover,.rf-planner .rf-choice-grid label:hover{border-color:#bc2430;box-shadow:0 4px 14px #1719230a}
.rf-planner .rf-choice.is-selected,.rf-planner .rf-choice-grid label:has(input:checked){border-color:#bc2430;background:#fff7f7;box-shadow:inset 0 0 0 1px #bc2430}
.rf-planner .rf-choice strong{font-size:17px;letter-spacing:-.02em}
.rf-planner .rf-choice span{line-height:1.6;color:#62646c;margin-top:9px}
.rf-planner .rf-field :is(input,textarea,select){border-color:#aeb1bb;border-radius:9px;padding:12px;font-family:inherit;background:#fff;color:#202126}
.rf-planner .rf-brief{border-left:3px solid #d4aa31;border-radius:10px;background:#fff9e6;padding:22px}
.rf-planner .rf-upload{border-color:#aeb1bb;border-radius:10px;background:#fafafb}
.rf-planner input[type=file]{max-width:100%}
.rf-planner .rf-actions{border-color:#e2e3e7;align-items:center;gap:12px}
.rf-planner .rf-actions button{min-height:46px;border-radius:9px;padding:12px 20px;font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.rf-planner .rf-next,.rf-planner .rf-submit{background:#bc2430;box-shadow:inset 0 1px #ffffff30,0 3px 6px #9f19231a}
.rf-planner .rf-next:hover,.rf-planner .rf-submit:hover{background:#991d28}
.rf-planner .rf-back{color:#62646c;text-underline-offset:4px}
@media(max-width:620px){.rf-planner.rf-planner{padding:12px;border-radius:16px;overflow:visible}.rf-planner form{padding:22px 18px}.rf-planner .rf-choice-grid label,.rf-planner .rf-choice{padding:17px}.rf-planner .rf-field :is(input,textarea,select){font-size:16px}}
