:root { --ink:#182b2c; --muted:#637173; --paper:#f6f5f0; --sage:#dce8d2; --lime:#c8e862; --line:#d7d9d2; --orange:#ff7549; --white:#fff; --shadow:0 18px 50px rgba(24,43,44,.08); }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans", sans-serif; min-height:100vh; }
a { color:inherit; text-underline-offset:3px; }
.site-header,.site-footer { max-width:1180px; margin:auto; padding:24px 32px; display:flex; align-items:center; justify-content:space-between; }
.brand { font-size:22px; font-weight:700; letter-spacing:-1.2px; text-decoration:none; }.brand span,.site-footer span span { color:#5f8a37; }
.header-note { font-size:13px; color:var(--muted); }.lock { color:#5f8a37; font-size:20px; vertical-align:-2px; }
.shell { width:min(100% - 48px, 920px); margin:54px auto 82px; }.intro { max-width:730px; padding:50px 0; }.eyebrow,.step-kicker { color:#5c7b3d; letter-spacing:1.6px; font-size:12px; font-weight:700; }
h1,h2 { font-family:Fraunces,serif; letter-spacing:-1.8px; margin:11px 0 18px; line-height:1.06; } h1 { font-size:clamp(45px,7vw,76px); } h1 em { color:#5d843a; font-style:normal; } h2 { font-size:clamp(33px,5vw,50px); max-width:650px; }
.lead { color:var(--muted); font-size:19px; line-height:1.55; max-width:660px; }.trust-row { display:flex; flex-wrap:wrap; gap:12px 23px; color:#405153; margin:30px 0; font-size:14px; }.trust-row span::first-letter { color:#6b963f; }
.button { appearance:none; border:0; border-radius:99px; cursor:pointer; font:600 15px "DM Sans",sans-serif; padding:15px 24px; transition:transform .2s, background .2s; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--ink); color:white; }.button-primary span { margin-left:12px; font-size:19px; }.button-large { padding:18px 28px; font-size:16px; }.button-ghost { background:transparent; border:1px solid var(--line); color:var(--ink); }.microcopy { font-size:12px; line-height:1.5; color:var(--muted); margin-top:16px; }.hidden { display:none !important; }
.flow { background:var(--white); box-shadow:var(--shadow); border-radius:24px; padding:40px 48px; }.progress-meta { display:flex; justify-content:space-between; color:var(--muted); font-size:13px; margin-bottom:9px; }.progress-track { height:7px; background:#edf0e8; border-radius:9px; overflow:hidden; }.progress-value { width:12.5%; height:100%; background:var(--lime); border-radius:9px; transition:width .3s; }
.question { display:none; padding:52px 0 28px; }.question.active { display:block; animation:in .32s ease-out; }.question p { color:var(--muted); margin:0 0 28px; } @keyframes in { from {opacity:0; transform:translateX(10px)} to {opacity:1; transform:none} }
.option-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; max-width:690px; }.purpose-options { grid-template-columns:repeat(3,1fr); }.option-list { display:grid; gap:10px; max-width:620px; }.option-card { min-height:78px; text-align:left; border:1px solid var(--line); background:var(--white); border-radius:13px; padding:15px 17px; color:var(--ink); font:500 15px "DM Sans",sans-serif; cursor:pointer; transition:border .18s,transform .18s,background .18s; }.option-card:hover { border-color:#7ea557; transform:translateY(-1px); }.option-card.selected { background:var(--sage); border-color:#628d3e; box-shadow:inset 0 0 0 1px #628d3e; }.purpose-options .option-card { min-height:120px; display:flex; flex-direction:column; justify-content:space-between; }.icon { font-size:26px; color:#5a8239; }.compact-grid .option-card { min-height:70px; }.two-columns { grid-template-columns:repeat(2,1fr); }
.currency-input { display:flex; align-items:center; width:min(100%,500px); border-bottom:2px solid var(--ink); padding:7px 0; gap:10px; }.currency-input span { font:36px Fraunces,serif; color:#5c7b3d; }.currency-input input { min-width:0; border:0; outline:0; font:36px Fraunces,serif; width:100%; color:var(--ink); background:transparent; }.currency-input input::placeholder { color:#b0b5ae; }.currency-input small { color:var(--muted); font-size:12px; }.amount-hints { display:flex; flex-wrap:wrap; gap:8px; margin-top:17px; }.amount-hints button { background:#eef1e9; border:0; border-radius:99px; padding:8px 12px; color:#4c5a56; cursor:pointer; }
.currency-input b { font:26px Fraunces,serif; color:#5c7b3d; white-space:nowrap; }.asset-fields { display:grid; grid-template-columns:1.6fr .8fr; gap:18px; max-width:690px; align-items:end; }.asset-fields .text-input { margin:0; }.asset-fields .currency-input { width:100%; }.percent-input { display:flex; align-items:center; border:1px solid var(--line); border-radius:10px; padding:0 14px; height:61px; }.percent-input input { width:100%; min-width:0; border:0; outline:0; font:25px Fraunces,serif; background:transparent; }.percent-input b { color:#5c7b3d; font:25px Fraunces,serif; }.financing-summary { max-width:690px; margin-top:21px; border-radius:12px; padding:15px 17px; background:#eef4e8; color:#405153; font-size:14px; }.financing-summary strong { color:#31512d; }
.text-input { display:block; margin-bottom:19px; max-width:560px; }.text-input span { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }.text-input input { width:100%; border:1px solid var(--line); border-radius:10px; padding:14px; font:16px "DM Sans",sans-serif; outline-color:#6a943f; background:var(--white); }.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }.contact-fields .text-input:first-child { grid-column:span 2; max-width:none; }
.consents { border-top:1px solid var(--line); margin-top:20px; padding-top:20px; display:grid; gap:14px; }.consent { display:flex; align-items:flex-start; gap:10px; color:#405153; font-size:13px; line-height:1.45; cursor:pointer; }.consent input { accent-color:#5e8c3b; margin-top:3px; }.consent.optional { color:var(--muted); }.flow-actions { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--line); padding-top:25px; margin-top:31px; }.flow-actions .button-primary { margin-left:auto; }.form-error { min-height:18px; color:#c63f20; font-size:13px; margin:0; }
.success { text-align:center; padding:82px 0 34px; max-width:720px; margin:auto; }.success .lead { margin-inline:auto; }.success-badge { width:62px; height:62px; border-radius:50%; display:grid; place-items:center; background:var(--lime); font-size:29px; margin:0 auto 25px; }.next-steps { margin:40px auto; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; font-size:13px; color:#405153; }.next-steps span { background:var(--white); padding:10px 13px; border-radius:99px; }.next-steps i { width:18px; height:1px; background:#93a68a; }
.site-footer { border-top:1px solid var(--line); font-size:12px; color:var(--muted); }.site-footer nav { display:flex; flex-wrap:wrap; gap:10px 18px; }.site-footer a { text-decoration:none; }.site-footer a:hover { text-decoration:underline; }
@media (max-width:650px) { .site-header,.site-footer { padding:19px 24px; }.header-note { display:none; }.shell { width:min(100% - 32px,920px); margin-top:20px; }.intro { padding-top:30px; }.trust-row { display:grid; gap:8px; }.flow { padding:28px 22px; border-radius:18px; }.question { padding-top:38px; }.purpose-options,.option-grid,.contact-fields,.asset-fields { grid-template-columns:1fr; }.contact-fields .text-input:first-child { grid-column:auto; }.purpose-options .option-card { min-height:80px; flex-direction:row; align-items:center; }.currency-input input,.currency-input span { font-size:28px; }.site-footer { align-items:flex-start; gap:15px; flex-direction:column; }.next-steps { flex-direction:column; }.next-steps i { width:1px; height:12px; }.flow-actions { margin-top:22px; } }
