:root{--red:#e2231a;--red2:#b91812;--ink:#171717;--soft:#f5f5f3;--line:#e5e4e1;--muted:#72726e}*{box-sizing:border-box}body{margin:0;background:#f3f3f0;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.top{height:82px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:13px}.asn{background:var(--red);color:#fff;font-size:22px;font-weight:900;padding:12px 10px;border-radius:4px}.brand b{font-size:18px}.brand small{display:block;color:var(--muted);margin-top:2px}.trust{font-size:12px;color:var(--muted)}main{max-width:1180px;margin:auto}.hero{padding:62px 0 38px;display:flex;justify-content:space-between;align-items:end;gap:30px}.pill{font-size:10px;font-weight:900;letter-spacing:.09em;color:var(--red)}.hero h1{font-size:66px;line-height:.92;letter-spacing:-4px;margin:13px 0 18px}.hero h1 i{font-style:normal;color:var(--red)}.hero p{font-size:18px;line-height:1.55;color:var(--muted);max-width:690px}.hero-stat{background:var(--ink);color:#fff;border-radius:20px;padding:24px;min-width:270px}.hero-stat small,.hero-stat span{display:block;color:#aaa}.hero-stat strong{display:block;font-size:40px;margin:7px 0}.shell{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:start;padding-bottom:60px}.wizard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:28px}.pt{border:0;background:#efefec;padding:12px;border-radius:11px;font-weight:bold;color:#777}.pt.on{background:var(--red);color:#fff}.pt span{margin-left:5px}.step{display:none}.step.on{display:block}.title{display:flex;gap:14px;align-items:flex-start}.title>b{background:#ffe8e6;color:var(--red);padding:10px;border-radius:10px}.title h2{font-size:30px;margin:2px 0 5px;letter-spacing:-1px}.title p,.step>p{margin:0;color:var(--muted);line-height:1.5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}label{font-size:12px;font-weight:bold}input,select{display:block;width:100%;margin-top:7px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff;font:inherit}.primary{background:var(--red);color:#fff;border:0;border-radius:11px;padding:14px 18px;font-weight:bold;cursor:pointer}.primary:hover{background:var(--red2)}.status{font-size:12px;color:var(--muted);margin-top:10px}.house,.conditional{background:#f7f7f4;border:1px solid var(--line);border-radius:15px;padding:17px;margin:18px 0}.house b{font-size:17px}.house-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.house-grid div{background:#fff;padding:11px;border-radius:9px}.house-grid small{display:block;color:var(--muted)}.conditional h3{margin:0;font-size:16px}.hide{display:none}.goals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.goals label{border:1px solid var(--line);border-radius:13px;padding:15px;cursor:pointer}.goals label:has(input:checked){border-color:var(--red);background:#fff1f0}.goals input{width:auto;display:inline;margin:0 8px 0 0}.goals b{font-size:14px}.goals small{display:block;color:var(--muted);margin:5px 0 0 24px}.nav{display:flex;justify-content:space-between;margin-top:28px}.nav>button:first-child{border:0;background:#eee;padding:13px 18px;border-radius:11px}.result{background:var(--ink);color:#fff;border-radius:24px;padding:28px;position:sticky;top:102px}.eyebrow,.subsidy>span,.locked>span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#aaa}.result h2{font-size:29px;margin:10px 0}.money{font-size:66px;font-weight:900;letter-spacing:-4px;margin-top:20px}.muted{color:#aaa}.costs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.costs div{border:1px solid #383838;border-radius:12px;padding:13px}.costs small{display:block;color:#999;margin-bottom:5px}.rec{padding:14px 0;border-top:1px solid #363636}.rec-top{display:flex;justify-content:space-between;gap:8px}.score{background:#fff;color:#111;border-radius:999px;padding:4px 7px;font-size:10px}.rec p{font-size:12px;color:#aaa;line-height:1.45;margin:5px 0}.subsidy{background:#252525;border-radius:14px;padding:16px;margin-top:13px;border-left:4px solid var(--red)}.subsidy h3{margin:6px 0}.subsidy p{font-size:12px;color:#aaa;line-height:1.5}.locked{margin-top:14px;border:1px solid #444;border-radius:15px;padding:17px;background:linear-gradient(145deg,#202020,#171717)}.locked h3{font-size:20px;margin:7px 0}.locked ul{padding-left:19px;color:#c8c8c8;font-size:12px;line-height:1.7}.locked button{width:100%;background:var(--red);color:#fff;border:0;border-radius:11px;padding:14px;font-weight:bold}.advice{width:100%;background:transparent;border:1px solid #555;color:#fff;border-radius:11px;padding:13px;margin-top:9px}.legal{display:block;color:#777;line-height:1.4;margin-top:13px}.modal{display:none;position:fixed;inset:0;background:#000b;z-index:50;align-items:center;justify-content:center}.modal.on{display:flex}.modalbox{background:#fff;width:min(520px,92vw);border-radius:20px;padding:28px;position:relative}.modalbox h2{font-size:30px}.modalbox p{color:var(--muted);line-height:1.5}.modalbox label{display:block;margin:12px 0}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}@media(max-width:850px){main{margin:0 14px}.trust{display:none}.hero{display:block}.hero h1{font-size:48px}.hero-stat{margin-top:20px}.shell{grid-template-columns:1fr}.result{position:static}.grid,.goals{grid-template-columns:1fr}.pt span{display:none}}
.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.secondary{background:#f0f0ed;color:#171717;border:1px solid #deded9;border-radius:11px;padding:14px 18px;font-weight:bold;cursor:pointer}
.consent{display:grid!important;grid-template-columns:20px 1fr;gap:10px;align-items:start;margin:16px 0!important}
.consent input{width:18px!important;height:18px!important;margin:1px 0 0!important}
.consent span{font-size:12px;line-height:1.45;color:#666}
.status a{color:#e2231a;font-weight:bold}
@media(max-width:600px){.modal-actions{grid-template-columns:1fr}}
