:root{--bg:#f7f6f1;--ink:#0f1a2a;--sub:#5d6675;--em:#0b7a57;--em2:#12a273;--gold:#f7c04a;--line:#e6e3da;--card:#fff;--soft:0 1px 2px #0f1a2a0d,0 6px 18px #0f1a2a0f;--serif:'Fraunces',Georgia,serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}
body{font-family:'Manrope',system-ui,sans-serif;background:var(--bg);color:var(--ink);min-height:100svh;padding-bottom:calc(84px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}
section{width:100%}.hidden{display:none!important}
.wrap{padding:14px 18px 0;max-width:760px;margin:0 auto}
/* sticky top bar, full-bleed */
.top{position:sticky;top:0;z-index:30;background:#f7f6f1e6;backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid #0f1a2a0f;padding-top:env(safe-area-inset-top)}
.topIn{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;max-width:1100px;margin:0 auto}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:18px;letter-spacing:-.01em}.brand b{color:var(--em)}.mark{width:30px;height:30px;filter:drop-shadow(0 3px 6px #0b7a5733)}
.pill{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--em);background:#e4f3ec;border:1px solid #b9e2cf;padding:6px 10px;border-radius:99px;white-space:nowrap}
.prog{position:relative;height:18px;display:flex;align-items:center;padding:0 18px 6px;max-width:1100px;margin:0 auto}
.pbar{flex:1;height:6px;background:#e8e5dc;border-radius:9px;overflow:hidden}.pbar i{display:block;height:100%;width:8%;background:linear-gradient(90deg,var(--em),var(--em2));border-radius:9px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
#pt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--sub);margin-left:10px;white-space:nowrap}
/* readiness ring card */
.gaugeRow{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:var(--soft);margin-bottom:16px}
.gWrap{position:relative;width:72px;height:72px;flex:none}.gauge{width:72px;height:72px;transform:rotate(-90deg)}.g0,.g1{fill:none;stroke-width:6}.g0{stroke:#ecebe4}.g1{stroke:var(--em);stroke-dasharray:195;stroke-dashoffset:179;stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.2,.8,.2,1)}
.gIn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:17px}.gIn small{font-family:var(--mono);font-size:8px;letter-spacing:.14em;color:var(--sub);font-weight:500}
.gNum{font-family:var(--serif);font-weight:600;font-size:18px;margin-bottom:6px}
.chips{display:flex;gap:6px;flex-wrap:wrap}.chips span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;padding:4px 9px;border-radius:99px;background:#f2f1ec;border:1px solid var(--line);color:#8a8f98;transition:.3s}.chips span.on{background:var(--em);border-color:var(--em);color:#fff}
/* question area: no box, full width */
.card{animation:slide .42s cubic-bezier(.2,.8,.2,1)}@keyframes slide{from{opacity:0;transform:translateY(12px)}}
.eyebrow{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--em);background:#e4f3ec;border:1px solid #b9e2cf;padding:7px 12px;border-radius:10px}
.h1{font-family:var(--serif);font-size:clamp(30px,8.4vw,46px);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:14px 0 8px}.h1 u{text-decoration:none;background:linear-gradient(transparent 62%,#f7c04a88 0)}
.hsub{color:var(--sub);margin:0 0 18px;font-size:16px;line-height:1.5}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--em);margin-bottom:8px;display:flex;align-items:center;gap:8px}.tag b{border:1px solid #b9e2cf;background:#e4f3ec;border-radius:8px;padding:3px 8px;font-weight:600}
.qt{font-family:var(--serif);font-size:clamp(26px,7vw,36px);font-weight:800;line-height:1.12;letter-spacing:-.015em}.qs{color:var(--sub);font-size:15px;margin:6px 0 14px}
.opt{display:flex;gap:14px;align-items:center;width:100%;text-align:left;margin:10px 0;padding:16px 16px;min-height:72px;border-radius:16px;border:1.5px solid var(--line);background:#fff;color:inherit;font:inherit;cursor:pointer;box-shadow:var(--soft);transition:transform .12s,border-color .2s,background .2s,box-shadow .2s}
.opt:active{transform:scale(.975)}@media(hover:hover){.opt:hover{border-color:#9fd6bf;box-shadow:0 2px 4px #0f1a2a10,0 10px 24px #0b7a571a;transform:translateY(-1px)}}
.opt.picked{border-color:var(--em);background:#effaf5;box-shadow:0 0 0 3px #0b7a5722}.opt.picked::after{content:'✓';margin-left:auto;width:24px;height:24px;flex:none;border-radius:50%;background:var(--em);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;animation:pop .25s}
.opt .ico{font-size:26px;width:30px;text-align:center;flex:none}.opt .l{font-weight:800;display:block;font-size:16.5px}.opt .d{font-size:14px;color:var(--sub);display:block;margin-top:2px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid2 .opt{margin:0}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile{padding:14px 6px;min-height:86px;border-radius:16px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:13px;font-weight:700;color:inherit;cursor:pointer;box-shadow:var(--soft);transition:transform .12s,border-color .2s,background .2s}.tile:active{transform:scale(.95)}.tile .ico{display:block;font-size:26px;margin-bottom:4px}.tile.picked{border-color:var(--em);background:#effaf5;box-shadow:0 0 0 3px #0b7a5722}
.next,.buy{display:block;width:100%;margin-top:16px;padding:18px;border:0;border-radius:16px;background:linear-gradient(180deg,#0e8a62,#0b7a57);color:#fff;font:inherit;font-size:17px;font-weight:800;letter-spacing:.01em;cursor:pointer;box-shadow:0 1px 0 #ffffff40 inset,0 10px 24px #0b7a5740;transition:transform .12s,box-shadow .2s,opacity .2s}
.next:active,.buy:active{transform:scale(.98);box-shadow:0 4px 12px #0b7a5740}.next:disabled{opacity:.4}
.back{background:none;border:0;color:var(--sub);font:inherit;font-size:14px;margin-top:12px;padding:8px 0;cursor:pointer}
.trust{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.trust span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--sub);background:#fff;border:1px solid var(--line);border-radius:99px;padding:6px 10px}
input{width:100%;padding:16px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:17px;margin:6px 0 4px;box-shadow:var(--soft);transition:border-color .2s,box-shadow .2s}input:focus{outline:0;border-color:var(--em);box-shadow:0 0 0 4px #0b7a5722}
label{font-size:14px;font-weight:700;color:var(--ink);display:block;margin-top:6px}.err{color:#c62f2f;font-size:13px;min-height:16px}.disc{font-size:12px;color:var(--sub);margin-top:12px;line-height:1.5}
.foot{text-align:center;font-size:12px;color:var(--sub);margin:22px 0 8px}.foot a{color:var(--sub)}
.toast{position:fixed;top:calc(70px + env(safe-area-inset-top));left:50%;transform:translate(-50%,-140px);background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px;font-size:14px;font-weight:600;transition:transform .45s cubic-bezier(.2,.9,.3,1.3);z-index:50;box-shadow:0 10px 30px #0f1a2a40;white-space:nowrap}.toast span{color:var(--gold)}.toast.on{transform:translate(-50%,0)}
.voiceDock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:620px;margin:0 auto;display:flex;align-items:center;gap:12px;background:#0f1a2af2;backdrop-filter:blur(10px);color:#fff;padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.4;z-index:40;box-shadow:0 16px 40px #0f1a2a4d;animation:up .35s cubic-bezier(.2,.8,.2,1)}@keyframes up{from{transform:translateY(30px);opacity:0}}
.voiceDock span{flex:1}.voiceDock button{background:#ffffff1a;border:0;color:#fff;font-size:14px;width:34px;height:34px;border-radius:10px;cursor:pointer}
.eq{display:flex;gap:3px;align-items:flex-end;height:18px}.eq i{width:3px;background:var(--gold);border-radius:2px;animation:eq .7s infinite alternate}.eq i:nth-child(2){animation-delay:.15s}.eq i:nth-child(3){animation-delay:.3s}.eq i:nth-child(4){animation-delay:.45s}@keyframes eq{from{height:4px}to{height:18px}}
.overlay{position:fixed;inset:0;background:#f7f6f1f2;backdrop-filter:blur(6px);display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:60;padding:24px}.overlay.on{display:flex;animation:fade .3s}@keyframes fade{from{opacity:0}}.overlay h3{font-family:var(--serif);font-size:24px;margin:18px 0 4px}.overlay p{color:var(--sub)}
.spin{width:56px;height:56px;border-radius:50%;border:5px solid #e4e2da;border-top-color:var(--em);animation:sp .9s linear infinite}@keyframes sp{to{transform:rotate(360deg)}}
/* VSL */
#vsl .wrap{padding:12px 0 0;max-width:900px}
.gate{margin:12px 14px 0;min-height:calc(100svh - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;background:radial-gradient(600px 400px at 50% 30%,#14563f,#0f1a2a);color:#fff;border-radius:26px;padding:40px 24px;box-shadow:0 20px 50px #0f1a2a40}
.gate h2{font-family:var(--serif);font-size:30px;margin:22px 0 6px;line-height:1.15}.gate p{opacity:.8}
.playBtn{width:100px;height:100px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:38px;padding-left:6px;box-shadow:0 0 0 0 #f7c04a80;animation:ring 1.8s infinite}.gate:active .playBtn{transform:scale(.94)}
.loader{padding:30px 18px}.loader h3{font-family:var(--serif);font-size:26px;text-align:center;margin:0 0 14px}.lrow{display:flex;gap:10px;align-items:center;padding:14px;margin:9px 0;background:#fff;border:1px solid var(--line);box-shadow:var(--soft);border-radius:14px;opacity:0;transform:translateY(8px);transition:.35s cubic-bezier(.2,.8,.2,1);font-size:15px}.lrow.v{opacity:1;transform:none}.lrow b{margin-left:auto}
.player{margin:0}.vprog{height:4px;background:#e4e2da;overflow:hidden;margin:0 14px 10px;border-radius:4px}.vprog i{display:block;height:100%;width:0;background:var(--em);transition:width .4s}
.screen{position:relative;margin:0 14px;background:radial-gradient(500px 340px at 50% 20%,#17503d,#0f1a2a 70%);border-radius:26px;min-height:calc(100svh - 150px);overflow:hidden;color:#fff;display:flex;flex-direction:column;box-shadow:0 20px 50px #0f1a2a40}
.visual{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:34px 20px 6px;text-align:center;min-height:300px}
.caption{padding:16px 22px 70px;font-size:clamp(21px,5.6vw,28px);line-height:1.4;font-weight:800;letter-spacing:-.01em;transition:opacity .2s}
.w{color:#ffffff40;transition:color .12s}.w.s{color:#fff}.w.a{color:var(--gold)}.w.nm{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:3px;text-underline-offset:5px}.w.mo.s,.w.mo.a{color:#7ef0c4}
.ctrls{position:absolute;right:14px;bottom:14px;display:flex;gap:8px}.ctrls button{background:#ffffff1f;backdrop-filter:blur(6px);border:1px solid #ffffff22;color:#fff;border-radius:12px;width:44px;height:44px;cursor:pointer;font-size:15px}.ctrls button:active{transform:scale(.92)}
.ctaSec{display:none;margin:16px 14px 0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px 18px;box-shadow:0 2px 4px #0f1a2a0d,0 20px 40px #0f1a2a14;animation:slide .5s}.ctaSec.on{display:block}
.deadline{background:linear-gradient(180deg,#fff8e6,#fff3d6);border:1px solid #f3dfa6;border-radius:16px;padding:14px;text-align:center;font-weight:700}.deadline b{font-family:var(--mono);font-size:24px;color:#a8670b;display:block;margin-top:2px}.deadline small{display:block;font-weight:500;color:var(--sub);margin-top:4px}
.guar{display:flex;gap:12px;align-items:center;margin-top:14px;font-size:14px;line-height:1.45;background:#f3faf6;border:1px solid #cfe9dd;border-radius:16px;padding:14px}.guar span{font-size:32px}.fine{font-size:12px;color:var(--sub);line-height:1.5;margin:14px 2px 0}
.modal{position:fixed;inset:0;background:#0f1a2a99;backdrop-filter:blur(4px);display:none;align-items:flex-end;justify-content:center;z-index:70}.modal.on{display:flex;animation:fade .25s}
.mbox{background:#fff;border-radius:26px 26px 0 0;padding:26px 20px calc(22px + env(safe-area-inset-bottom));width:100%;max-width:520px;text-align:center;animation:up .35s cubic-bezier(.2,.8,.2,1)}.mbox h2{font-family:var(--serif);font-size:25px;line-height:1.15;margin:4px 0 10px}.mbox ul{text-align:left;padding:0;list-style:none;margin:0}.mbox li{margin:0;padding:10px 2px;border-bottom:1px solid #f0eee8;font-weight:600}
@media(min-width:640px){.modal{align-items:center}.mbox{border-radius:26px}}
.lnk{background:none;border:0;color:var(--sub);margin-top:12px;font:inherit;cursor:pointer;text-decoration:underline;padding:8px}.big{font-size:46px}
.chat{position:fixed;right:14px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:45}#chatBtn{width:56px;height:56px;border-radius:50%;border:0;background:var(--ink);font-size:24px;cursor:pointer;position:relative;box-shadow:0 10px 24px #0f1a2a40}#chatBtn:active{transform:scale(.92)}#chatBadge{position:absolute;top:-2px;right:-2px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:800;font-style:normal;border-radius:99px;padding:2px 6px}
.cpanel{display:none;position:absolute;right:0;bottom:66px;width:min(330px,calc(100vw - 28px));max-height:440px;background:#fff;border-radius:20px;box-shadow:0 20px 50px #0f1a2a40;flex-direction:column;overflow:hidden}.cpanel.open{display:flex;animation:up .3s}
.chead{background:var(--ink);color:#fff;padding:12px 14px;font-weight:700;display:flex;gap:6px;align-items:center}.chead small{color:#7ef0c4;flex:1}.chead button{background:none;border:0;color:#fff;cursor:pointer}
.cmsgs{padding:12px;overflow:auto;flex:1;font-size:14px}.cm{background:#f2f1ec;border-radius:14px;padding:9px 12px;margin:6px 0}.cm.u{background:var(--em);color:#fff;margin-left:30px}.cqr{padding:6px 12px 12px;display:flex;flex-wrap:wrap;gap:6px}.cqr button{font:inherit;font-size:12px;border:1.5px solid var(--em);color:var(--em);background:#fff;border-radius:99px;padding:6px 10px;cursor:pointer}
@keyframes ring{70%{box-shadow:0 0 0 24px #f7c04a00}}@keyframes pop{from{opacity:0;transform:scale(.85)}}@keyframes pulse{50%{transform:scale(1.05)}}
/* desktop */
@media(min-width:900px){.wrap{padding-top:28px}.screen{min-height:620px}.gate{min-height:560px}.qcardWide{}}
/* visuals library */
.vz{animation:pop .5s ease}@keyframes pop{from{opacity:0;transform:scale(.85)}}
.vEmoji{font-size:96px;animation:float 2.4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px)}}
.vName{font-size:52px;font-weight:800;background:linear-gradient(90deg,var(--gold),#7ef0c4);-webkit-background-clip:text;color:transparent}
.vBig{font-size:62px;font-weight:800;color:var(--gold)}.vBig.g{color:#5ee3b0}.vBig.x{text-decoration:line-through;color:#ff8080}.vLbl{opacity:.8;margin-top:6px}
.vList{list-style:none;padding:0;margin:0;text-align:left;width:100%;max-width:330px}.vList li{background:#ffffff14;border-radius:12px;padding:10px 12px;margin:7px 0;opacity:0;animation:in .4s forwards;font-weight:700}.vList li.x::before{content:'✕ ';color:#ff8080}.vList li.c::before{content:'✓ ';color:#5ee3b0}@keyframes in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.vBot{width:110px;height:110px;border-radius:30px;background:linear-gradient(135deg,var(--gold),#0b7a57);display:flex;align-items:center;justify-content:center;font-size:54px;box-shadow:0 0 0 0 #f7c04a88;animation:ring 1.6s infinite}@keyframes ring{70%{box-shadow:0 0 0 22px #f7c04a00}}
.vSay{margin-top:14px;background:#fff;color:var(--ink);padding:8px 14px;border-radius:14px;font-weight:800}
.vSearch{background:#fff;color:#333;border-radius:99px;padding:12px 18px;width:100%;max-width:330px;text-align:left;font-weight:600}.vSearch::after{content:'|';animation:bl 1s infinite}@keyframes bl{50%{opacity:0}}
.vSite{width:100%;max-width:320px;background:#fff;color:var(--ink);border-radius:14px;overflow:hidden;text-align:left}.vSite .hd{background:var(--gold);color:#fff;padding:8px 12px;font-weight:800}.vSite .rw{display:flex;gap:8px;align-items:center;padding:8px 12px;border-top:1px solid #eee;font-size:13px;opacity:0;animation:in .4s forwards}.vSite .rw b{margin-left:auto;color:var(--mint)}
.vFlow{display:flex;gap:6px;align-items:center;font-size:14px;font-weight:700;flex-wrap:wrap;justify-content:center}.vFlow span{background:#ffffff1c;padding:10px;border-radius:12px;opacity:0;animation:in .4s forwards}
.vPhone{width:170px;height:240px;border:6px solid #fff;border-radius:26px;overflow:hidden;position:relative;background:#000}.vPhone .clip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:58px;animation:swipe 2.2s infinite}@keyframes swipe{0%{transform:translateY(100%)}20%,80%{transform:none}100%{transform:translateY(-100%)}}
.vPhone .cap{position:absolute;bottom:14px;left:8px;right:8px;font-size:12px;font-weight:800;background:#0008;border-radius:8px;padding:4px}
.vCal{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;max-width:300px}.vCal i{width:34px;height:34px;border-radius:8px;background:#ffffff14;font-style:normal;font-size:11px;display:flex;align-items:center;justify-content:center;opacity:0;animation:in .3s forwards}.vCal i.on{background:var(--gold)}
.vStack .row{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px dashed #ffffff33;opacity:0;animation:in .4s forwards;text-align:left}
.vSeal{width:150px;height:150px;border-radius:50%;border:6px dashed #5ee3b0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:800;animation:spinS 12s linear infinite}@keyframes spinS{to{transform:rotate(360deg)}}.vSeal b{font-size:38px;color:#5ee3b0}
.vDoors{display:flex;gap:12px}.vDoors div{width:130px;height:170px;border-radius:14px;padding:12px;display:flex;align-items:flex-end;font-weight:800}.vDoors .d1{background:#ffffff14}.vDoors .d2{background:linear-gradient(160deg,var(--gold),#0b7a57);animation:pulse 1.4s infinite}
.vBar{display:flex;align-items:flex-end;gap:8px;height:150px}.vBar i{width:28px;background:linear-gradient(0deg,var(--gold),var(--gold));border-radius:6px 6px 0 0;animation:grow .8s ease both}@keyframes grow{from{height:0!important}}

.optTag{font-weight:500;color:var(--sub);font-size:12px;margin-left:4px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:12px 0 4px;font-size:13px;line-height:1.45;color:var(--sub);font-weight:500;cursor:pointer}
.consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--em);box-shadow:none}
.consent span{flex:1}
