:root{font-family:'DM Sans',sans-serif;color:#0b1f3a;background:#f7f8f9;font-synthesis:none;--navy:#152953;--gold:#f5bf21;--muted:#718099;--line:#dce1eb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#eef1f5 0%,#f8f9fa 60%,#fafaf7 100%);min-height:100vh;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--navy)}.demo-bar{background:#142953;color:#e8eaf0;min-height:28px;display:flex;justify-content:center;align-items:center;gap:20px;font-size:11px;padding:5px 16px}.demo-bar button{background:none;border:0;color:inherit;text-decoration:underline;font:inherit}.brand{padding-top:32px;text-align:center}.brand img{display:block;object-fit:contain;margin:auto;box-shadow:0 3px 6px #0002}.brand-label{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:8px 16px;border-radius:999px;background:#1529531a;color:var(--navy);font-weight:500}.brand-label span{font-size:21px;line-height:20px}main{max-width:640px;margin:48px auto 0;outline:none}.card{background:#fff;border-radius:12px;box-shadow:0 10px 15px -5px #0002,0 5px 7px -5px #0002;overflow:hidden;position:relative;border:1px solid #fff}.card::before{content:'';height:6px;display:block;background:linear-gradient(90deg,#152953,#efbd23,#152953)}.pad{padding:24px}.intro{text-align:center}.intro .pad{padding:32px 24px 24px}.pill{display:inline-block;padding:3px 12px;border-radius:999px;background:#fdf8e8;color:#da9a00;font-size:12px;font-weight:500}.intro h1{font-size:30px;line-height:1.2;margin:18px 0 10px;letter-spacing:-1px;color:#0a172b}.lead{font-size:18px;line-height:28px;color:var(--muted);margin:0 0 24px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.feature{background:#f5f6f8;padding:17px 8px 15px;border-radius:12px;color:var(--muted);font-size:14px}.feature .symbol{font-size:24px;line-height:28px;color:var(--navy);display:block;margin-bottom:7px}.feature:nth-child(2) .symbol{color:var(--gold)}.notice{background:#f4f4f7;border:1px solid #c6cddd;border-radius:12px;padding:16px;display:flex;gap:14px;text-align:left;margin:24px 0}.notice .symbol{font-size:20px}.notice p{margin:0;color:var(--muted);font-size:12px;line-height:16px}.notice strong{display:block;font-weight:500;margin-bottom:3px}.primary,.secondary,.danger{display:inline-flex;justify-content:center;align-items:center;gap:10px;border-radius:10px;padding:10px 16px;min-height:42px;font-weight:500;text-decoration:none;border:1px solid transparent;transition:background .15s,transform .15s}.primary{background:var(--navy);color:#fff}.primary:hover{background:#233d6c}.secondary{background:#f8f9fb;border-color:var(--line);color:#0b1f3a}.secondary:hover{background:#eceff5}.danger{background:#fff0f0;color:#a32020;border:1px solid #ffcaca}.wide{width:100%}.intro .primary{font-size:18px;min-height:44px}h2{font-size:20px;line-height:1.35;margin:0 0 8px;letter-spacing:-.3px;font-weight:600}h3{font-size:15px;margin:0 0 18px;font-weight:600}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.5}.description{margin:0 0 22px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}label{font-weight:500;font-size:14px}.span2{grid-column:1/-1}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;min-width:0;background:#f7f9fb;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:40px;color:#0b1f3a;outline:none}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:focus,textarea:focus,select:focus{border-color:#465e8e;box-shadow:0 0 0 3px #15295315}textarea{resize:vertical;min-height:90px}input[type=checkbox]{accent-color:var(--navy);width:18px;height:18px;flex-shrink:0;margin-top:2px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:400}.phone{display:flex;gap:8px}.phone select{width:115px;flex-shrink:0}.actions{display:flex;gap:8px;margin-top:28px}.actions .primary{flex:1}.section-box{border:1px solid var(--line);background:#f7faff;border-radius:12px;padding:16px;margin:20px 0}.section-box h3{margin:0 0 20px}.section-box.finance{background:#f8f8fa}.section-box.company{background:#fffdf6}.section-box.savings{background:#f5fbf9}.privacy-note{font-size:12px;color:var(--muted);padding:12px;background:#f7f8fa;border-radius:10px}.progress-wrap{margin:0 0 32px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-bottom:8px}.progress{height:8px;border-radius:8px;background:#f5c121;overflow:hidden}.progress span{display:block;background:var(--navy);height:100%;transition:width .25s}.question h2{margin:10px 0 24px;font-size:22px;line-height:1.35}.question-number{font-size:12px;color:var(--muted)}.choices{display:grid;gap:12px}.choice{padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;gap:12px;align-items:center;text-align:left;min-height:56px;color:#0b1f3a;transition:border .15s,background .15s}.choice:hover{background:#f7f8fb;border-color:#7889a6}.choice[aria-checked=true]{background:#edf0f7;border-color:var(--navy)}.radio{width:17px;height:17px;border:1px solid #9eabc0;border-radius:50%;flex-shrink:0}.choice[aria-checked=true] .radio{border:5px solid var(--navy);background:white}.choice-label{flex:1}.context{margin-top:20px}.error{color:#ac2f2f;font-size:13px;margin:12px 0 0}.error:empty{display:none}.resume{border:1px solid #d6ddeb;border-radius:12px;padding:16px;text-align:left;background:#f7f9fd;margin:20px 0}.resume h3{margin:0 0 6px}.resume p{margin:0 0 12px;color:var(--muted);font-size:13px}.upload{border:2px dashed #d6ddea;padding:24px;border-radius:12px;background:#fafbfe;text-align:center}.upload input{max-width:100%;font-size:12px}.upload strong{display:block;font-size:14px;margin:8px 0}.file-row{padding:12px;background:#f3f6fa;border-radius:10px;margin-top:10px;display:flex;gap:10px;align-items:center;overflow-wrap:anywhere}.file-row span{flex:1;min-width:0}.file-row button[data-remove]{border:0;background:none;color:#9f2424}.audio-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.recording{color:#b22c2c;font-weight:600}audio{width:100%;margin:12px 0}.count{text-align:right;color:var(--muted);font-size:12px}.result-banner{background:var(--navy);color:white;padding:32px 24px;text-align:center;border-bottom:4px solid var(--gold)}.result-banner h1{font-family:'DM Serif Display',serif;font-size:32px;line-height:1.25;margin:12px 0}.result-banner p{color:#e1e6ef;margin-bottom:0}.result-banner .pill{color:#ffd35c;background:#ffffff14}.result-name{font-size:18px}.result-card{margin-top:20px}.route-card{border:1px solid var(--line);border-radius:12px;padding:20px;margin:12px 0}.route-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.route-top h3{margin:0;font-size:20px}.score{font-size:24px;font-weight:700}.route-bar{height:7px;border-radius:10px;background:#edf0f5;margin:14px 0}.route-bar span{height:100%;display:block;background:#3f857a;border-radius:10px}.route-card p{margin:8px 0 0}.status{font-size:12px;padding:4px 9px;border-radius:20px;display:inline-block;background:#f0f3f7;color:#69778a}.status.strong{background:#e5f4e8;color:#27663a}.status.medium{background:#fff3d6;color:#8b6315}.route-card.blocked{background:#f8f8f9;color:#727b8a}.warning{padding:16px;background:#fff7e5;border:1px solid #efd49b;border-radius:10px;color:#7c5d28;margin:16px 0}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.summary-grid div{padding:15px;background:#f5f7fa;border-radius:10px;text-align:center}.summary-grid strong{display:block;font-size:21px}.summary-grid span{font-size:12px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:14px 0}summary{cursor:pointer;font-weight:600}details p{color:var(--muted)}.steps{display:grid;gap:15px;margin:20px 0}.steps div{display:flex;gap:12px;align-items:center}.steps b{background:#edf1f7;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.download-actions{display:flex;flex-wrap:wrap;gap:10px}.end-note{font-size:12px;color:var(--muted);text-align:center}.result-layout{max-width:800px}footer{text-align:center;color:var(--muted);font-size:11px;padding:30px 16px 35px;line-height:1.7}dialog{max-width:460px;width:calc(100% - 32px);border:1px solid var(--line);padding:25px;border-radius:16px;color:#0b1f3a;box-shadow:0 25px 80px #0003}dialog::backdrop{background:#0b1f3a88}dialog .primary,dialog .secondary,dialog .danger{width:100%;margin-top:10px}dialog p{color:var(--muted)}#toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#142953;color:white;padding:12px 20px;border-radius:10px;box-shadow:0 6px 20px #0002;display:none;max-width:90vw;z-index:10}.fade{animation:appear .18s ease-out}@keyframes appear{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}:focus-visible{outline:3px solid #dba925;outline-offset:3px}[hidden]{display:none!important}.loading{text-align:center;color:var(--muted)}.export-note{padding:16px;background:#f7f9fc;border-radius:10px;border:1px solid var(--line)}@media(max-width:680px){.brand{padding-top:24px}.brand img{width:112px;height:112px}.brand-label{margin-top:18px;font-size:13px}main{margin:30px 16px 0}.pad{padding:22px 20px}.intro .pad{padding:28px 20px 24px}.intro h1{font-size:26px}.lead{font-size:16px;line-height:25px}.features{gap:8px}.feature{font-size:12px;padding:14px 7px}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.progress-wrap{margin-bottom:24px}.question h2{font-size:20px}.choice{padding:14px}.actions{margin-top:24px}.result-banner h1{font-size:27px}.summary-grid{gap:6px}.summary-grid div{padding:12px 7px}.summary-grid strong{font-size:19px}.section-box{padding:15px}.route-top h3{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.demo-bar,.brand,footer,.actions,.download-actions,.no-print,dialog{display:none!important}body{background:white}main,main.result-layout{max-width:none;margin:0}.card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}.route-card{break-inside:avoid}.result-banner{background:white;color:#142953}.result-banner p{color:#333}.result-banner .pill{color:#333}.result-card details{display:block}.result-card details p{display:block}}
