:root{--harbor:#2e4257;--cloud:#c2d0d8;--sand:#e0d9cd;--linen:#f7f6f5;--harbor-80:#4a5c6f;--harbor-12:#2e42571f;--harbor-06:#2e42570f;--surface:#fff;--ink:var(--harbor);--slate:var(--harbor-80);--faint:#5e6e7e;--stone:var(--harbor-12);--stone-2:#2e425738;--font-display:"IvyPresto",Georgia,serif;--font-body:"Aileron",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;--shadow:0 2px 18px #2e425712;--r-chip:7px;--r:18px;--r-lg:28px}*{box-sizing:border-box}html{color-scheme:light}body{background:var(--linen);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:400;line-height:1.15}p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--harbor-80);outline-offset:3px;border-radius:2px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--harbor-80);font-size:10.5px;font-weight:600}body{padding-top:80px}.topbar{z-index:30;background:var(--linen);border-bottom:1px solid var(--stone);position:sticky;top:80px}.steps{grid-template-columns:repeat(5,1fr);max-width:1100px;margin:0 auto;padding:0 44px;display:grid}.step{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:12px 4px 13px;font-size:10.5px;position:relative}.step[aria-current=step]{color:var(--ink);font-weight:600}.step:after{content:"";background:var(--stone);height:2px;position:absolute;bottom:0;left:0;right:0}.step-fill{background:var(--harbor);z-index:1;height:2px;transition:width .45s cubic-bezier(.2,.7,.3,1);position:absolute;bottom:0;left:0}.app{min-height:calc(100dvh - 124px)}.stage{min-width:0;padding:0 44px 110px}.stage-inner{max-width:680px;margin:0 auto}.stage-head{border-bottom:1px solid var(--stone);padding:34px 0 30px}.stage-head .eyebrow{margin-bottom:14px;display:block}.stage-head h2{font-size:28px}.stage-note{color:var(--slate);max-width:56ch;margin-top:10px;font-size:12.5px}.q{border-bottom:1px solid var(--stone);padding:32px 0}.q-num{letter-spacing:.1em;color:var(--faint);font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:11px;display:block}.q-label{font-size:15px;font-weight:500;line-height:1.4}.q-opt-flag{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-left:8px;font-size:10.5px;font-weight:400}.q-body{flex-direction:column;gap:9px;margin-top:14px;display:flex}.consent{color:var(--ink);cursor:pointer;align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;line-height:1.5;display:flex}.consent input{border-color:var(--stone-2);color:var(--harbor);border-radius:3px;flex-shrink:0;margin-top:3px}.consent input:focus{box-shadow:none}.consent a{color:var(--harbor)}.q-hint{color:var(--slate);font-size:13px}.reassure{letter-spacing:.04em;color:var(--slate);padding-top:22px;font-size:13px}.cap-opt{text-transform:none;letter-spacing:0;color:var(--faint);margin-left:6px}.q-label:focus{outline:none}.opts{flex-direction:column;gap:10px;display:flex}.opt{background:var(--surface);cursor:pointer;touch-action:manipulation;border-radius:6px;min-height:56px;padding:17px 22px;font-size:16px;line-height:1.45;transition:box-shadow .15s,background .15s;display:block;position:relative;box-shadow:inset 0 0 0 1px #0000}.opt:hover{box-shadow:inset 0 0 0 1px var(--stone-2)}.opt[data-on="1"]{box-shadow:inset 0 0 0 1.5px var(--harbor)}.opt:has(input:focus-visible){outline:2px solid var(--harbor-80);outline-offset:3px}.opt input{opacity:0;width:0;height:0;position:absolute}.field{background:var(--surface);border:1px solid var(--stone);width:100%;min-height:48px;font:inherit;color:var(--ink);border-radius:6px;padding:12px 16px;font-size:16px}.field::-moz-placeholder{color:var(--faint)}.field::placeholder{color:var(--faint)}.field:focus{border-color:var(--harbor);box-shadow:none;outline:none}textarea.field{resize:vertical;min-height:104px;line-height:1.6}.err{color:#b3261e;font-size:12px;line-height:1.4}.field.bad{border-color:#b3261e}.pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.pair label{flex-direction:column;gap:6px;display:flex}.cap{letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-size:10.5px}.nav{justify-content:space-between;align-items:center;gap:16px;padding:38px 0 0;display:flex}.btn{border-radius:var(--r-chip);touch-action:manipulation;letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--harbor);min-height:48px;color:var(--harbor);padding:14px 26px;font-size:13px;transition:background .16s,color .16s}.btn:hover,.btn.solid{background:var(--harbor);color:var(--linen)}.btn.solid:hover{background:var(--harbor-80);border-color:var(--harbor-80)}.btn.ghost{border-color:var(--stone-2);color:var(--slate)}.btn[disabled]{opacity:.4;cursor:not-allowed}.recap-sec{border-bottom:1px solid var(--stone);padding:24px 0}.recap-sec h3{letter-spacing:.12em;text-transform:uppercase;font-size:11.5px;font-family:var(--font-body);margin-bottom:14px;font-weight:500}.ra{border-top:1px solid var(--stone);grid-template-columns:44px 1fr;gap:14px;padding:9px 0;font-size:13px;display:grid}.ra:first-of-type{border-top:none}.ra .rid{color:var(--faint);padding-top:3px;font-size:11px}.ra .rq{color:var(--slate);font-size:12px;display:block}.ra .rv{margin-top:3px;display:block}.ra .rv.empty{color:var(--harbor);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:600}.ra a{color:inherit;cursor:pointer;text-decoration:underline}.resto{flex-direction:column;gap:18px;padding-top:30px;display:flex}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px 30px}.card h3{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-family:var(--font-body);color:var(--harbor-80);margin-bottom:10px;font-weight:600}.card p{font-size:15px;line-height:1.68}.card.sand{background:var(--sand);box-shadow:none}.card .btn{margin-top:20px;text-decoration:none;display:inline-block}.wait{text-align:center;color:var(--slate);padding:60px 0}.indice{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-top:30px;padding:32px 34px}.indice .sub{color:var(--slate);margin:8px 0 26px;font-size:16px}.ind-row{margin-bottom:22px}.ind-top{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:9px;display:flex}.ind-name{font-size:15px}.ind-lab{color:var(--slate);white-space:nowrap;font-size:14px;font-weight:600}.ind-lab.crit{color:#b3261e}.ind-track{background:#ececea;border-radius:7px;height:7px;overflow:hidden}.ind-fill{background:var(--harbor-80);border-radius:7px;width:0;height:100%;transition:width .9s cubic-bezier(.2,.7,.3,1)}.ind-fill.crit{background:#f3d9d4}.ind-fill.low{background:var(--cloud)}.ind-goal{border-radius:var(--r-chip);color:var(--slate);background:#f3f2f0;grid-template-columns:28px 1fr;gap:16px;margin-top:8px;padding:22px 24px;font-size:14.5px;line-height:1.65;display:grid}.ind-goal svg{margin-top:3px}@media (width<=560px){.step{letter-spacing:0;font-size:0}.step[aria-current=step]{letter-spacing:.1em;font-size:10px;overflow:visible}}@media (width<=900px){.steps{padding:0 12px}.stage{padding:0 20px 90px}.stage-head h2{font-size:25px}.nav{flex-direction:column-reverse;align-items:stretch}.btn{text-align:center}.pair{grid-template-columns:1fr}.card{padding:22px 20px}}.qstep{animation:.28s both qin}@keyframes qin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.qstep{text-align:center;max-width:600px;margin:0 auto;padding-top:44px}.qstep .reassure{padding:0 0 18px}.qstep .q-num{display:none}.qstep .q{border-bottom:none;padding:14px 0 0}.qstep .q-label{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-size:32px;font-weight:300;line-height:1.18}.qstep .q-body{text-align:left;max-width:460px;margin:34px auto 0}.qstep .q-body:has(.pair){max-width:560px}.qstep .nav{justify-content:center;padding-top:30px}.qstep .nav .btn{min-width:240px}.back{z-index:20;background:var(--harbor);width:48px;height:48px;color:var(--linen);box-shadow:var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:background .16s;display:flex;position:fixed;bottom:28px;left:28px}.back:hover{background:var(--harbor-80)}@media (width<=900px){.qstep{padding-top:30px}.qstep .q-label{font-size:26px}.back{margin:28px auto 0;position:static}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
