:root{--ink:#14213d;--accent:#2364d2;--soft:#eef4ff;--line:#dce3ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.55 system-ui,sans-serif;background:#fafcff}footer,header{padding:1.2rem max(5vw,1rem);border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);border-bottom:0;margin-top:4rem;color:#596579}.brand{font-weight:800;color:var(--ink);text-decoration:none}main{max-width:1120px;margin:auto;padding:3rem max(5vw,1rem)}h1{font-size:clamp(2rem,5vw,4rem);line-height:1.08;max-width:900px}.hero{padding:5rem 0}.hero p{font-size:1.25rem;max-width:720px}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.button,button{display:inline-block;border:0;border-radius:.65rem;background:var(--accent);color:white;padding:.85rem 1.2rem;font-weight:700;text-decoration:none;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.cta-grid,.grid,.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:1rem;gap:1rem}.card,.grid article,.result-grid article{background:white;border:1px solid var(--line);border-radius:1rem;padding:1.5rem;box-shadow:0 10px 30px #1724420a}.narrow{max-width:850px;margin:auto}.narrow>h1{font-size:clamp(2rem,5vw,3rem)}.form{margin-top:2rem}.form section{display:grid;grid-gap:1rem;gap:1rem}.form label{display:grid;grid-gap:.35rem;gap:.35rem;font-weight:700}.form small{font-weight:400;color:#596579}input,select,textarea{width:100%;padding:.8rem;border:1px solid #aeb9ca;border-radius:.5rem;font:inherit;background:white}textarea{min-height:100px}.progress{height:.5rem;background:var(--soft);border-radius:1rem;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}.actions{display:flex;justify-content:space-between;margin-top:2rem}.error{padding:1rem;background:#fff0f0;color:#9d2020}.market{display:grid;grid-template-columns:2fr 1fr auto;grid-gap:.5rem;gap:.5rem;margin:.5rem 0}.score{font-size:4rem;font-weight:900;color:var(--accent)}.score small{font-size:1rem}.result-grid{margin:2rem 0}.cta-grid{margin-top:2rem}@media(max-width:600px){main{padding-top:1.5rem}.hero{padding:2rem 0}.market{grid-template-columns:1fr}.actions button{min-width:45%}}