:root{--orange:#ed3303;--orange2:#fa9e2a;--mid:#fd5b16;--shadow:#a81905;--ink:#161311;--ink2:#221e1b;--line:#3a332e;--txt:#f7f3f0;--muted:#a79e97;--ok:#2fb37d;--err:#ff8a6b}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--ink);color:var(--txt);font:16px/1.5 Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.bg{position:fixed;inset:0;z-index:0;background:radial-gradient(900px 520px at 115% -10%,#fa9e2a2e,transparent 60%),radial-gradient(700px 420px at -25% 110%,#ed33031f,transparent 60%),linear-gradient(180deg,#1f1c19,#110f0d)}
.shell{position:relative;z-index:1;max-width:620px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;padding:20px 20px calc(20px + env(safe-area-inset-bottom))}
.top{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}
.logo{display:inline-flex;align-items:center}.logo img{display:block;height:44px;width:auto}
.progress{height:4px;background:#ffffff14;border-radius:4px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--orange2),var(--orange));transition:width .35s ease}
form{flex:1;display:flex;flex-direction:column}
.step{display:none;animation:in .35s ease}
.step.active{display:block}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.eyebrow{display:inline-block;margin:6px 0 14px;padding:6px 12px;border-radius:30px;background:#fa9e2a1f;color:var(--orange2);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
h1{font-size:clamp(28px,7.5vw,40px);line-height:1.12;letter-spacing:-1px;margin:0 0 16px}
h2{font-size:clamp(21px,5.6vw,27px);line-height:1.25;letter-spacing:-.4px;margin:0 0 18px}
.lead{color:#d6cdc6;font-size:17px;margin:0 0 12px}.lead.strong{color:var(--txt);font-weight:600}
.meta{color:var(--muted);font-size:13px;margin-top:14px}
.qn{color:var(--orange2);font-size:13px;font-weight:800;letter-spacing:.06em;margin:0 0 8px}
.hint{color:var(--muted);font-size:14px;margin:-8px 0 16px}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{text-align:left;font:inherit;font-size:16px;color:var(--txt);background:var(--ink2);border:1.5px solid var(--line);border-radius:14px;padding:15px 16px 15px 48px;cursor:pointer;position:relative;transition:border-color .15s,background .15s,transform .1s;min-height:54px}
.opt::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border:2px solid #6b615a;border-radius:50%}
[data-type=check] .opt::before{border-radius:6px}
.opt:active{transform:scale(.99)}
.opt.sel{border-color:var(--mid);background:#fd5b1614}
.opt.sel::before{border-color:var(--mid);background:var(--mid);box-shadow:inset 0 0 0 4px var(--ink2)}
[data-type=check] .opt.sel::before{box-shadow:none;background:var(--mid) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
@media(hover:hover){.opt:hover{border-color:#fd5b1699}}
.txt{width:100%;font:inherit;font-size:18px;color:var(--txt);background:var(--ink2);border:1.5px solid var(--line);border-radius:14px;padding:15px 16px;outline:none;transition:border-color .15s}
.txt:focus{border-color:var(--mid)}
.txt::placeholder{color:#7a706a}
textarea.txt{resize:vertical;min-height:110px}
.other{margin-top:10px}
.sub{display:block;margin:20px 0 8px;color:#d6cdc6;font-size:14px;font-weight:600}.sub span{color:var(--muted);font-weight:400}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:18px;font-size:14px;color:#d6cdc6;cursor:pointer}
.consent input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--mid);flex:none}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;width:100%;min-height:58px;border:0;border-radius:14px;background:linear-gradient(160deg,var(--orange2),var(--mid) 55%,var(--orange));color:#fff;text-shadow:0 1px 0 #a8190555;font:inherit;font-size:18px;font-weight:800;cursor:pointer;box-shadow:0 10px 30px #ed330340;transition:transform .1s,filter .15s}
.cta:active{transform:scale(.99)}.cta:disabled{filter:grayscale(.6) brightness(.8);cursor:wait}
.cta.small{margin:0;width:auto;flex:1;min-height:54px;font-size:17px}
.nav{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding:22px 0 4px;background:linear-gradient(180deg,transparent,#110f0d 30%)}
.back{width:54px;height:54px;border-radius:14px;border:1.5px solid var(--line);background:var(--ink2);color:var(--txt);font-size:20px;cursor:pointer;flex:none}
.err{flex-basis:100%;order:-1;margin:0;color:var(--err);font-size:14px;min-height:0}
.err:empty{display:none}
.check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:900;color:#08140e;background:var(--ok);margin:10px 0 22px;box-shadow:0 10px 30px #2fb37d55}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.foot{margin-top:28px;color:#7a706a;font-size:12px;text-align:center}.foot a{color:#a79e97}
@media(min-width:700px){.shell{padding-top:48px}.top{margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.nav[hidden],[hidden]{display:none!important}

/* ===== Tema claro ===== */
:root{--ink:#ffffff;--ink2:#ffffff;--line:#e6dfda;--txt:#1f1c19;--muted:#7a706a;--err:#c42d0a}
html,body{background:#fbf8f6;color:var(--txt)}
.bg{background:radial-gradient(900px 520px at 115% -10%,#fa9e2a26,transparent 60%),radial-gradient(700px 420px at -25% 110%,#ed330314,transparent 60%),linear-gradient(180deg,#fffdfb,#f6f1ed)}
.progress{background:#1f1c1914}
.eyebrow{background:#ed330312;color:#c42d0a}
.qn{color:#d9480f}
.lead{color:#5b524c}.lead.strong{color:var(--txt)}
.sub,.consent{color:#5b524c}
.opt{background:#fff;border-color:var(--line);color:var(--txt);box-shadow:0 1px 2px #1f1c190a}
.opt::before{border-color:#c9bfb8}
.opt.sel{background:#fd5b160d}
.opt.sel::before{box-shadow:inset 0 0 0 4px #fff}
.txt{background:#fff;border-color:var(--line);color:var(--txt)}
.txt::placeholder{color:#a59b94}
.back{background:#fff;border-color:var(--line);color:var(--txt)}
.nav{background:linear-gradient(180deg,transparent,#f6f1ed 30%)}
.foot,.foot a{color:#8a807a}
.check{color:#fff}
