// How it Works, Comparison, Before/After slider const { useState: useStateS2, useRef: useRefS2 } = React; const HowItWorks = () => { const steps = [ { n: "01", title: "Tell us your situation", body: "Fill out our quick form or give us a call. Two minutes, no pressure, no info sold. The more we know, the better the solution we can build.", icon: , time: "~2 min", }, { n: "02", title: "We map out your options", body: "A fair cash offer if that's the right move. Or a mortgage modification, short sale, probate strategy, or MLS listing, whichever actually fits. You see every path side-by-side.", icon: , time: "24 hrs", }, { n: "03", title: "You pick. We handle it.", body: "Close in 7 days or 70. Keep the house. List for top dollar. Whatever you decide, we run point on the paperwork, the lender, the title work, so you don't have to.", icon: , time: "You choose", }, ]; return (
How it works

Three steps.
Zero surprises.

Most buyers only have a hammer, so everything looks like a cash sale. We carry a whole toolkit, cash, mortgage modification, short sale, MLS listing, and we'll tell you straight up which one is right, even when it's not us buying.

{steps.map((s, i) => (
{i === 1 && (
)}
{s.n}
{s.icon}

{s.title}

{s.body}

{s.time}
))}
); }; const Comparison = () => { const rows = [ ["Commissions & fees", "0%", "6% (≈$18, 000)"], ["Repairs & cleaning", "None, as-is", "$10K, $40K out of pocket"], ["Showings & open houses", "Zero", "20+ strangers in your home"], ["Appraisal & inspection", "Waived", "Can kill the deal"], ["Time to close", "7, 21 days", "60, 90 days average"], ["Financing fall-through risk", "None (cash)", "~30% of deals collapse"], ["Moving date", "You pick", "Dictated by buyer"], ["Paperwork", "We handle it", "You chase it"], ]; return (
When a cash sale is the right fit

The honest math.

Cash isn't always the answer, but when speed, certainty, or an as-is sale matters most, here's what it actually saves you. On a $300, 000 home, traditional sellers leave $30, 000+ on the table. If an MLS listing is a better fit for your situation, we'll tell you that too, and help you list.

{/* Header */}
What you get
Capital Home Solutions
DIRECT CASH BUYER
Traditional MLS listing
REALTOR / AGENT
{rows.map((r, i) => (
{r[0]}
{r[1]}
{r[2]}
))} {/* Footer total */}
Estimated net
$287, 400
IN YOUR POCKET
~$252, 000
AFTER FEES & REPAIRS
); }; const BeforeAfter = () => { const [pos, setPos] = useStateS2(50); const wrapRef = useRefS2(null); const dragging = useRefS2(false); const move = (clientX) => { const el = wrapRef.current; if (!el) return; const rect = el.getBoundingClientRect(); const x = Math.min(Math.max(clientX - rect.left, 0), rect.width); setPos((x / rect.width) * 100); }; return (
Before & After

The ones that scare other buyers off? That's our specialty.

Mold. Fire damage. Hoarder situation. Inherited from a relative you haven't been inside in years? Any condition is a condition we have a solution for. You don't have to clean, fix, or even sweep. Leave what you don't want and take what you do.

{[ "Fire / water / mold damage", "Code violations & liens", "Hoarder homes", "Inherited / probate", "Tenants still in place", "Foundation issues", ].map(t => (
{t}
))}
↔ Drag the slider
{dragging.current=true; move(e.clientX);}} onMouseMove={e=>{if(dragging.current) move(e.clientX);}} onMouseUp={()=>dragging.current=false} onMouseLeave={()=>dragging.current=false} onTouchStart={e=>{dragging.current=true; move(e.touches[0].clientX);}} onTouchMove={e=>move(e.touches[0].clientX)} onTouchEnd={()=>dragging.current=false} style={{ position:"relative", aspectRatio:"4 / 3", borderRadius:24, overflow:"hidden", background: "linear-gradient(135deg, #7A715A, #3A3428)", cursor:"ew-resize", userSelect:"none", boxShadow:"var(--shadow-lg)", border:"1px solid var(--line)", }}> {/* Rehabbed (after), bottom layer */}
After · We rehab
{/* Distressed (before), clipped top layer */}
Before · You sell as-is
{/* Handle */}
); }; Object.assign(window, { HowItWorks, Comparison, BeforeAfter });