@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/sora-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/sora-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/sora-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-700-normal.woff2') format('woff2')}
:root{--theme:#DD578D;--opt:#DFA0FF;--opt-dark:#c683e7;--title:#020617;--text:#6b7280;--bg:#fff;--line:#e5e7eb;--ok:#16a34a}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg)}
body{font-family:Montserrat,system-ui,sans-serif;color:var(--text);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.wrap{max-width:34rem;margin:0 auto;padding:0 16px 120px}
header{position:sticky;top:0;z-index:10;background:var(--bg);max-width:34rem;margin:0 auto;padding:14px 16px 10px}
.hrow{display:flex;align-items:center;gap:12px;height:28px}
.back{border:0;background:none;width:28px;height:28px;cursor:pointer;color:var(--title);visibility:hidden;font-size:22px;line-height:1}
.back.show{visibility:visible}
.brand{flex:1;text-align:center;font-family:Sora,sans-serif;font-weight:700;color:var(--title);font-size:15px}
.bar{height:6px;background:#f1f1f4;border-radius:9px;margin-top:10px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--theme);border-radius:9px;transition:width .4s}
.step{animation:fade .35s ease}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.L{margin-top:16px}
.text h1{font-family:Sora,sans-serif;color:var(--title);font-size:1.55rem;line-height:1.25;font-weight:700;margin-bottom:6px}
.text h2{font-family:Sora,sans-serif;color:var(--title);font-size:1.25rem;line-height:1.3;font-weight:700;margin-bottom:4px}
.text p{margin:2px 0}.text strong{color:inherit}
.c{text-align:center}.r{text-align:right}.sm{font-size:.8rem}.lg{font-size:1.2rem}
.imgL img{margin:0 auto;border-radius:16px}
/* opções */
.opts{display:grid;gap:12px}.opts.g2{grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.06);transition:transform .12s,border-color .12s,background .12s;text-align:left;color:var(--title);font:inherit;width:100%}
.opt:active{transform:scale(.98)}
.opt.sel{border-color:var(--theme);background:#fdf2f7}
.opt .lb{flex:1}.opt .lb p{margin:0}
.opt .em{font-size:26px;line-height:1}
.opt .oi{width:64px;height:64px;object-fit:contain;flex:none}
.ic{width:22px;height:22px;border:2px solid #cbd5e1;border-radius:50%;flex:none;display:grid;place-items:center}
.ic.sq{border-radius:6px}
.opt.sel .ic{border-color:var(--theme);background:var(--theme)}
.opt.sel .ic::after{content:'';width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.chev{color:#94a3b8;font-size:22px}
.card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid var(--opt-dark);border-bottom-width:8px;background:var(--opt);cursor:pointer;padding:0;font:inherit;transition:transform .12s}
.card:active{transform:scale(.97)}
.card .ci{aspect-ratio:4/3;background:#fbeefe;width:100%;object-fit:cover}
.card .cl{color:#fff;padding:10px 6px;text-align:center}.card .cl p{margin:0}
/* botões */
.btn{display:block;width:100%;height:56px;border:0;border-radius:16px;background:var(--theme);color:#fff;font:700 1rem Montserrat,sans-serif;cursor:pointer;padding:0 16px}
.btn.success{background:var(--ok)}
.btn:disabled{opacity:.45;cursor:not-allowed;animation:none}
.pulse{animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
.fixed{position:fixed;left:0;right:0;bottom:0;padding:12px 16px 18px;background:linear-gradient(transparent,#fff 30%);z-index:9}
.fixed .btn{max-width:32rem;margin:0 auto}
/* campos */
.inp{display:flex;align-items:center;border:2px solid var(--line);border-radius:16px;height:64px;padding:0 18px;background:#fff}
.inp:focus-within{border-color:var(--theme)}
.inp input{flex:1;border:0;outline:0;font:700 1.5rem Sora,sans-serif;color:var(--title);text-align:center;width:100%;background:none}
.inp span{font-weight:700;color:var(--text)}
.err{color:#dc2626;font-size:.85rem;text-align:center;margin-top:6px;display:none}
/* alerta */
.alert{border-radius:16px;padding:16px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e293b}
.alert.success{border-color:#bbf7d0;background:#f0fdf4}
.alert h2{font-family:Sora,sans-serif;font-size:1.15rem;margin-bottom:4px}
/* loading */
.load .pct{font:800 2.4rem Sora,sans-serif;color:var(--title);text-align:center}
.load .track{height:10px;background:#f1f1f4;border-radius:9px;overflow:hidden;margin:8px 0 12px}
.load .track i{display:block;height:100%;width:0;background:var(--theme)}
/* depoimentos */
.quotes{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.q{flex:0 0 85%;scroll-snap-align:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.q img{border-radius:12px;margin-bottom:10px;width:100%;max-height:260px;object-fit:cover}
.q .st{color:#f59e0b;letter-spacing:2px}.q b{color:var(--title)}.q small{color:#94a3b8;margin-left:6px}
.q p{margin-top:6px;color:#334155}
/* gráficos */
.chart{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}
.chart svg{width:100%;height:auto;display:block}
.bars{display:flex;align-items:flex-end;gap:14px;height:170px;padding-top:24px}
.bars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:6px;font-size:.75rem;font-weight:700;color:var(--title)}
.bars i{display:block;width:100%;border-radius:10px 10px 4px 4px;position:relative}
.bars em{position:absolute;top:-26px;left:50%;transform:translateX(-50%);background:var(--title);color:#fff;font-style:normal;padding:2px 8px;border-radius:8px;white-space:nowrap}
/* antes/depois */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmp figure{position:relative}.cmp img{border-radius:14px;aspect-ratio:1;object-fit:cover;width:100%}
.cmp figcaption{position:absolute;top:8px;left:8px;background:rgba(2,6,23,.75);color:#fff;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:99px}
.cmp figure:last-child figcaption{background:var(--ok)}
/* preço */
.price{border:2px solid var(--ok);border-radius:18px;overflow:hidden;background:#fff}
.price .bd{background:var(--ok);color:#fff;text-align:center;font-weight:700;font-size:.85rem;padding:6px}
.price .in{display:flex;align-items:center;gap:12px;padding:16px}
.price .tt{flex:1;color:var(--title)}.price .tt p{margin:0}
.price .vv{text-align:center;background:#f0fdf4;border-radius:12px;padding:8px 12px;color:var(--title)}
.price .vv small{display:block;font-size:.65rem;font-weight:700;color:var(--text)}
.price .vv b{font:800 1.5rem Sora,sans-serif}
