:root{--g:#15803d;--gd:#14532d;--gl:#dcfce7;--gx:#f0fdf4;--gb:#86efac;--o:#ea580c;--oh:#c2410c;--ol:#fff7ed;--ink:#1f2937;--mut:#4b5563;--soft:#6b7280;--line:#e5e7eb;--red:#b91c1c;--redl:#fef2f2;--wa:#25D366;--wah:#1ebe5b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:#fff}
body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;color-scheme:light}
body.lock{overflow:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3{color:var(--ink);font-weight:700}
a{color:var(--g)}
img{max-width:100%;display:block}
.hide{display:none!important}
.gr{color:var(--g)}.or{color:var(--o)!important;font-weight:600}
.w{max-width:1100px;margin:0 auto;padding:0 32px}
.sec{padding:80px 0}
.alt{background:var(--gx)}
.dk{background:var(--gd);color:#fff}.dk h2{color:#fff}.dk .sub{color:#bbf7d0}.dk .linkbtn{color:#bbf7d0}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.g3,.g6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.k3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.hl{border:2px solid var(--g)}
.ctr{text-align:center}
.ey{text-align:center;font-size:13px;font-weight:600;color:var(--o);letter-spacing:1.2px;margin:0 0 8px}
.h{text-align:center;font-size:34px;line-height:1.2;margin:0 0 12px;letter-spacing:-.3px}
.sub{text-align:center;color:var(--mut);margin:0 auto 40px;max-width:560px}
.tile{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 12px;background:var(--gl);color:var(--g)}
.ct{font-weight:600}
.ml{font-size:13px;color:var(--mut)}
.mt6{margin-top:6px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mt32{margin-top:32px}.mt40{margin-top:40px}
.mb12{margin-bottom:12px}.mb18{margin-bottom:18px}.mb20{margin-bottom:20px}.mb22{margin-bottom:22px}.mb28{margin-bottom:28px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 28px;border-radius:14px;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;line-height:1.2;border:none;transition:background .15s,transform .15s,box-shadow .15s;text-decoration:none;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn[disabled]{opacity:.75;cursor:wait}
.bo{background:var(--o);color:#fff;box-shadow:0 8px 22px rgba(234,88,12,.3)}.bo:hover{background:var(--oh)}
.bg{background:var(--g);color:#fff}.bg:hover{background:var(--gd)}
.bw{background:#fff;color:var(--g);border:2px solid var(--g)}.bw:hover{background:var(--gx)}
.wa{background:var(--wa);color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.3)}.wa:hover{background:var(--wah);color:#fff}
.full{width:100%}
.linkbtn{background:none;border:none;color:var(--g);font-family:inherit;font-weight:600;font-size:15px;cursor:pointer;padding:10px 4px;display:inline-flex;align-items:center;gap:6px;text-align:left}

.chip{background:#fff;color:var(--ink);border:1.5px solid #d1d5db;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;margin:0 6px 8px 0;cursor:pointer;line-height:1.3;transition:all .15s}
.chip:hover{border-color:var(--g)}
.chip.on{background:var(--g);color:#fff;border-color:var(--g)}
input,select{width:100%;height:50px;padding:0 14px;border:1.5px solid #d1d5db;border-radius:12px;background-color:#fff;color:var(--ink);font-family:inherit;font-size:16px;line-height:normal;outline:none;margin:0}
select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234b5563' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}
input:focus,select:focus{border-color:var(--g);box-shadow:0 0 0 3px var(--gl)}
input::placeholder{color:#9ca3af}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--g);padding:0;margin-top:2px}
.lbl{font-size:13px;color:var(--mut);display:block;margin:0 0 6px;font-weight:500}
.err{font-size:13px;color:var(--red);min-height:18px;margin-top:3px}
.tag{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;background:var(--gl);color:var(--g)}
.tag-o{background:var(--o);color:#fff;font-size:12px}
.tag-g{background:var(--g);color:#fff;font-size:12px}
.li{display:flex;gap:10px;font-size:14px;line-height:1.5;min-height:42px;align-items:flex-start}
.li i{color:var(--g);margin-top:3px}
.no,.no i{color:#9ca3af}
.mc{background:var(--gx);border-radius:14px;padding:18px;text-align:center}
.mw{background:#fff;border:1px solid var(--line)}
.mv{font-size:22px;font-weight:700}
.row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.row .k{color:var(--mut);min-width:120px;font-weight:500}
.spin{display:inline-block;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.offer{background:var(--gd);color:#fff;text-align:center;font-size:14px;font-weight:500;padding:11px 16px}
.offer i,.offer span{color:#fdba74}.offer span{font-weight:700}
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navin{display:flex;justify-content:space-between;align-items:center;height:68px}
.navr{display:flex;align-items:center;gap:20px}
.navl{font-size:14px;color:var(--mut)}
.navbtn{height:42px;padding:0 20px;font-size:14px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:var(--ink);text-decoration:none}
.logo-ic{width:38px;height:38px;font-size:20px;margin:0;background:var(--g);color:#fff}

.hero{background:linear-gradient(180deg,#f0fdf4 0%,#fff 100%);padding:64px 0 80px}
.heroin{align-items:center;gap:56px}
.hero h1{font-size:50px;line-height:1.1;margin:18px 0 16px;letter-spacing:-.8px}
.lead{color:var(--mut);font-size:18px;margin:0 0 28px;max-width:500px}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-meta{font-size:14px;color:var(--mut);margin-top:16px}.hero-meta b{color:var(--ink)}
.hero-vis{position:relative;max-width:440px;width:100%;margin:0 auto}
.media{position:relative;overflow:hidden;background:linear-gradient(135deg,#dcfce7,#fef3c7);display:flex;align-items:center;justify-content:center;color:#15803d;font-size:40px}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media{aspect-ratio:4/5;border-radius:28px;font-size:80px;box-shadow:0 28px 60px rgba(20,83,45,.2)}
.float{position:absolute;background:#fff;border-radius:14px;padding:10px 14px;font-size:13px;font-weight:600;box-shadow:0 12px 30px rgba(0,0,0,.14);display:flex;align-items:center;gap:8px;animation:bob 4s ease-in-out infinite;white-space:nowrap}
.float i{color:var(--o);font-size:18px}
.f1{top:10%;left:-28px}.f2{bottom:10%;right:-22px;animation-delay:2s}
@keyframes bob{50%{transform:translateY(-8px)}}

.vs{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:0 auto}
.vs-col{border-radius:22px;padding:28px}
.vs-col.bad{background:#fff;border:1px solid var(--line)}
.vs-col.good{background:var(--gd);color:#fff;box-shadow:0 20px 44px rgba(20,83,45,.22)}
.vs-h{font-weight:700;font-size:18px;margin-bottom:10px}
.bad .vs-h{color:var(--red)}.good .vs-h{color:#86efac}
.vs ul{list-style:none;padding:0;margin:0}
.vs li{padding:12px 0 12px 32px;position:relative;font-size:15px;border-top:1px solid var(--line)}
.good li{border-top-color:rgba(255,255,255,.14)}
.vs li:before{position:absolute;left:0;top:13px;width:21px;height:21px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.bad li{color:var(--soft)}.bad li:before{content:"✕";background:var(--redl);color:var(--red)}
.good li:before{content:"✓";background:#86efac;color:var(--gd)}

.card.fcard{padding:0;overflow:hidden}
.fcard .media{aspect-ratio:4/3}
.fb{padding:14px 16px 18px}
.dur{display:inline-block;background:var(--ol);color:var(--o);font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;margin-top:6px}
.lift{transition:transform .25s,box-shadow .25s}
.lift:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(20,83,45,.12)}

.mocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:960px;margin:0 auto}
.mock{text-align:center}
.paper{background:#fff;border-radius:18px;box-shadow:0 20px 48px rgba(20,83,45,.16);padding:16px;aspect-ratio:3/4;overflow:hidden;text-align:left;border:1px solid var(--line)}
.mock:nth-child(2) .paper{transform:translateY(-14px)}
.m-cover{background:var(--gd);border-radius:12px;padding:16px;color:#fff}
.m-brand{font-size:11px;font-weight:700}.m-brand span{color:#86efac}
.m-ttl{font-size:18px;font-weight:700;line-height:1.2;margin-top:10px}
.m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}
.m-stats div{background:var(--gx);border:1px solid #bbf7d0;border-radius:8px;padding:6px 4px;text-align:center}
.m-stats b{display:block;font-size:14px;color:var(--gd)}.m-stats span{font-size:9px;color:var(--mut)}
.m-bmi{position:relative;display:flex;height:6px;margin:12px 0 16px}.m-bmi i{display:block;height:6px}
.m-bmi em{position:absolute;top:-4px;width:4px;height:14px;background:var(--ink);border-radius:2px}
.m-lines span{display:block;height:7px;border-radius:4px;background:#eef2ef;margin-bottom:8px}.m-lines .s{width:60%}
.m-h{font-size:12px;font-weight:700;color:var(--gd);margin-bottom:10px;border-bottom:2px solid var(--o);padding-bottom:6px}
.m-t{width:100%;border-collapse:collapse;font-size:10px;margin-bottom:12px}
.m-t th{background:var(--g);color:#fff;text-align:left;padding:5px;font-weight:600}
.m-t td{padding:6px 5px;border-bottom:1px solid #ecfdf5}.m-t tr:nth-child(even) td{background:#f7fdf9}
.m-w{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.m-w div{background:var(--gx);border-radius:8px;padding:9px 6px;text-align:center}
.m-w b{display:block;font-size:10px;color:var(--gd)}.m-w span{font-size:10px;color:var(--o);font-weight:600}
.m-w .r{background:var(--ol)}
.m-cap{font-weight:600;margin-top:16px}
.steps{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:48px}
.steps div{display:flex;align-items:center;gap:10px;background:var(--gx);border:1px solid #d1fae5;border-radius:999px;padding:8px 18px 8px 8px;font-weight:600;font-size:14px}
.sn{width:30px;height:30px;border-radius:50%;background:var(--o);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}

.pricing{align-items:stretch}
.pricing:not(.open) .more{display:none}
.pcard{display:flex;flex-direction:column}
.pcard s{color:var(--soft)}
.pcard .btn{font-size:15px;padding:0 14px}
.tagrow{min-height:36px}
.ghost{visibility:hidden}
.pfree{background:var(--gx);border:2px dashed var(--gb)}
.pn{font-weight:700;font-size:19px}
.pp{font-size:40px;font-weight:700;line-height:1.15}
.perday{font-size:13px;color:var(--o);font-weight:600;margin-bottom:18px}
.fill{flex:1}
.pro{box-shadow:0 20px 44px rgba(20,83,45,.15)}
.secure{font-size:13px;color:var(--soft);margin-top:12px}.secure i{color:var(--g)}

.formcard{max-width:640px;margin:0 auto;padding:28px;box-shadow:0 20px 44px rgba(20,83,45,.1)}
.steptxt{font-size:13px;color:var(--mut);margin:0 0 10px;font-weight:500}
.dots{display:flex;gap:6px;margin-bottom:22px}
.dot{flex:1;height:6px;border-radius:3px;background:#e5e7eb;transition:background .2s}
.dot.on{background:var(--g)}
.fg{gap:2px 16px}
.hrow{display:flex;gap:8px}
.hint{font-size:14px;color:var(--mut);margin:0 0 14px}
.consent{display:flex;gap:10px;font-size:13px;color:var(--mut);align-items:flex-start;cursor:pointer}
.small{font-size:12px;color:var(--soft);margin-top:6px}
.small2{font-size:14px;color:var(--mut)}
.navrow{margin-top:16px;gap:12px;grid-template-columns:minmax(0,1fr)}

.pk{display:grid;gap:10px}
.pk-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1.5px solid #d1d5db;border-radius:14px;padding:14px;font-family:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:all .15s}
.pk-item:hover{border-color:var(--g)}
.pk-item.on{border:2px solid var(--g);background:var(--gx);padding:13.5px}
.pk-item .rsel{width:22px;height:22px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0}
.pk-item.on .rsel{border-color:var(--g);background:var(--g);box-shadow:inset 0 0 0 4px #fff}
.pk-main{flex:1;min-width:0}
.pk-main b{display:block;font-size:16px}
.pk-main em{font-style:normal;background:var(--o);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}
.pk-main small{display:block;font-size:12.5px;color:var(--mut);line-height:1.4}
.pk-price{text-align:right;flex-shrink:0}
.pk-price b{display:block;font-size:20px;line-height:1.2}
.pk-price s{font-size:12px;color:var(--soft)}

.faq{max-width:780px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 56px 18px 20px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--gl);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600}
.faq details[open] summary:after{content:"−"}
.faq details p{padding:0 20px 18px;color:var(--mut);font-size:15px}

.mbar{display:none}

.rsec{background:linear-gradient(180deg,#f0fdf4 0%,#fff 60%)}
.rw{max-width:980px}
.rh{font-size:32px;margin:14px 0 28px}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bmi-card{text-align:center}
.bmi-val{font-size:58px;font-weight:700;line-height:1.1;margin:4px 0}
.bmi-cat{font-weight:700;font-size:18px;margin-bottom:18px}
.gauge{position:relative;display:flex;height:12px;margin:0 6px}
.gz{display:block;height:12px}
.z1{width:17.5%;background:#fbbf24;border-radius:6px 0 0 6px}.z2{width:22.5%;background:#22c55e}.z3{width:10%;background:#fb923c}.z4{width:50%;background:#ef4444;border-radius:0 6px 6px 0}
#rs-mark{position:absolute;top:-7px;left:0;width:6px;height:26px;background:var(--ink);border-radius:3px;transform:translateX(-50%);transition:left 1.2s cubic-bezier(.2,.8,.2,1)}
.glabels{display:flex;justify-content:space-between;font-size:11px;color:var(--soft);margin:10px 0 16px}
.rmsg{color:var(--mut);font-size:15px;margin-bottom:14px}
.range{background:var(--gx);border-radius:12px;padding:12px;font-size:14px}.range i{color:var(--g)}
.xh{font-weight:700;margin-bottom:12px}.xh i{color:var(--g)}
.nut{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.nut div{background:var(--gx);border-radius:12px;padding:14px 6px;text-align:center}
.nut b{display:block;font-size:20px;color:var(--gd);line-height:1.3}.nut b.sm{font-size:14px;line-height:1.4}
.nut span{font-size:12px;color:var(--mut)}
.pace{margin-top:14px;font-size:14px;color:var(--ink);background:var(--ol);border-radius:12px;padding:12px 14px}
.pace:empty{display:none}
.note-box{background:#fff7ed;border-left:4px solid var(--o);border-radius:0 12px 12px 0;padding:14px 16px;margin-top:20px;font-size:14px}
.recbox{margin-top:48px}
.rcards{margin-bottom:12px;align-items:stretch}
.rc{position:relative;background:#fff;border:1.5px solid #d1d5db;border-radius:18px;padding:24px 18px 18px;text-align:left;font-family:inherit;cursor:pointer;transition:all .15s;color:var(--ink)}
.rc:hover{border-color:var(--g)}
.rc.on{border:2px solid var(--g);background:var(--gx);box-shadow:0 14px 30px rgba(20,83,45,.12)}
.rc .rb{position:absolute;top:-12px;left:16px;background:var(--o);color:#fff;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px}
.rc .rsel{position:absolute;top:18px;right:16px;width:22px;height:22px;border-radius:50%;border:2px solid #d1d5db}
.rc.on .rsel{border-color:var(--g);background:var(--g);box-shadow:inset 0 0 0 4px #fff}
.rc .rn{font-weight:700;font-size:17px}
.rc .rp{font-size:28px;font-weight:700;margin:2px 0}.rc .rp s{font-size:14px;color:var(--soft);font-weight:500;margin-left:6px}
.rc .rd{font-size:13px;color:var(--mut);margin-bottom:10px}
.rc ul{list-style:none;padding:0;margin:0}
.rc li{font-size:13px;padding:3px 0 3px 22px;position:relative}
.rc li:before{content:"✓";position:absolute;left:0;color:var(--g);font-weight:700}
.paybtn{min-width:340px}

.gsec{background:linear-gradient(180deg,#f0fdf4,#fff);min-height:100vh}
.gw{max-width:640px}
.gcard{text-align:center;padding:36px 28px;box-shadow:0 20px 44px rgba(20,83,45,.12)}
.gico{width:68px;height:68px;border-radius:50%;background:var(--gl);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:34px;margin:0 auto 16px;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08)}}
.gh{font-size:26px;line-height:1.25}
.gsub{color:var(--mut);font-size:15px;margin:8px 0 22px}
.gbar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}
.gbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--g),#22c55e);border-radius:6px;transition:width .2s linear}
.gpct{font-weight:700;color:var(--g);margin:8px 0 18px;font-size:15px}
.gsteps{list-style:none;padding:0;margin:0 0 20px;text-align:left}
.gsteps li{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;line-height:1.45;color:#9ca3af;transition:color .3s}
.gsteps li i{font-size:18px;flex-shrink:0;margin-top:1px}
.gsteps li.now{color:var(--ink);font-weight:600}.gsteps li.now i{color:var(--o)}
.gsteps li.done{color:var(--mut)}.gsteps li.done i{color:var(--g)}
.gquote{font-style:italic;color:var(--gd);background:var(--gx);border-radius:12px;padding:14px;font-size:15px}

.tw{max-width:900px}
.tcard{padding:32px 20px;background:var(--gx)}
.tick{background:var(--g);color:#fff}
.th{font-size:28px}
.tsub{color:var(--mut);margin:6px 0 22px}
.pid{font-size:14px;word-break:break-all}
.dlrow{max-width:540px;margin:0 auto 10px;gap:12px}
.tmsg{font-size:13px;color:var(--g);min-height:20px;margin-bottom:6px}
.share{margin-top:24px;text-align:center;border:2px dashed var(--gb);background:var(--gx)}
.share .xh{margin-bottom:6px}
.sharerow{max-width:480px;margin:14px auto 0;gap:12px}
.catx{font-size:13px;font-weight:600}
.dayhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.dh{font-size:21px}
.daysel{width:170px}
.phase{font-size:13px;color:var(--o);font-weight:600;margin-bottom:8px;min-height:4px}
.dayg{gap:28px}
.colh{font-weight:700;margin-bottom:4px}.colh i{color:var(--g)}
.dnav{margin-top:18px;gap:12px}
.xcard{margin-top:20px}

.foot{background:var(--gx);border-top:1px solid var(--line);padding:32px 16px}
.fbrand{font-weight:700;font-size:18px;color:var(--g);margin-bottom:8px}
.fdisc{font-size:12px;color:var(--soft);margin:0 auto 10px;max-width:680px}
.flinks{font-size:13px;color:var(--mut)}.flinks a{color:var(--mut);text-decoration:none}.flinks a:hover{color:var(--g);text-decoration:underline}
.fcopy{font-size:12px;color:var(--soft);margin-top:8px}

.ov{position:fixed;inset:0;background:rgba(17,24,39,.6);display:none;z-index:1000;overflow-y:auto;padding:24px 12px}
.ov.open{display:flex}
.modal{position:relative;width:100%;max-width:600px;margin:auto;background:#fff;border-radius:22px;padding:32px;animation:pop .25s ease}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.mtitle{font-size:22px;padding:0 40px;margin-bottom:12px}
.x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:#f3f4f6;color:var(--ink);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}

.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.08s}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}.reveal:nth-child(5){transition-delay:.32s}.reveal:nth-child(6){transition-delay:.4s}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.float,.modal,.gico{animation:none}}

.legal{padding:56px 0 72px}
.legal .w{max-width:820px}
.legal h1{font-size:34px;margin-bottom:6px;color:var(--gd)}
.legal .upd{color:var(--soft);font-size:14px;margin-bottom:28px}
.legal h2{font-size:20px;margin:30px 0 10px;color:var(--gd)}
.legal p,.legal li{color:var(--mut);font-size:15px;margin-bottom:10px}
.legal ul{padding-left:22px;margin:0 0 10px}
.legal .box{background:var(--gx);border:1px solid var(--gl);border-radius:14px;padding:18px 20px;margin:16px 0}
.legal .box p{margin-bottom:6px}

@media(max-width:900px){
  .w{padding:0 24px}.sec{padding:64px 0}.h{font-size:28px}.hero h1{font-size:40px}.heroin{gap:36px}
  .g2,.g3,.g6{gap:16px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card{padding:20px}.card.fcard{padding:0}.f1{left:-10px}.f2{right:-10px}.mocks{gap:18px}
}
@media(max-width:640px){
  .w{padding:0 16px}.sec{padding:52px 0}.hero{padding:32px 0 52px}
  .h{font-size:25px}.sub{margin-bottom:28px;font-size:15px}
  .hero h1{font-size:33px}.lead{font-size:16px;margin-bottom:22px}.heroin{gap:28px}
  .hero-ctas{flex-direction:column;gap:10px}
  .hero-meta{text-align:center}
  .hero-media{aspect-ratio:4/3;border-radius:22px;font-size:60px}
  .float{font-size:12px;padding:8px 11px}.f1{top:12px;left:12px}.f2{bottom:12px;right:12px}
  .g2,.g3,.g4{grid-template-columns:minmax(0,1fr);gap:12px}.g6{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .card{padding:18px}.card.fcard{padding:0}.fb{padding:12px 12px 14px}.fb .ct{font-size:14px}
  .vs{grid-template-columns:1fr;gap:14px}.vs-col{padding:22px}
  .mocks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:6px 16px 22px;margin:0 -16px;-webkit-overflow-scrolling:touch}
  .mock{flex:0 0 74%;scroll-snap-align:center}.mock:nth-child(2) .paper{transform:none}
  .steps{flex-direction:column;align-items:stretch;margin-top:28px}
  .tile{width:48px;height:48px;font-size:22px}
  .pro{order:-1}.pfree{order:9}
  .ov{padding:10px 8px}.modal{padding:24px 16px;border-radius:18px}.mtitle{font-size:20px}
  .pk-item{padding:12px}.pk-item.on{padding:11.5px}.pk-price b{font-size:18px}
  .navl{display:none}.btn{width:100%;padding:0 16px}.navbtn{width:auto}
  .navrow{gap:10px}.navrow .btn{font-size:15px}
  .mv{font-size:19px}.formcard{padding:20px 16px}
  .rh{font-size:25px}.rgrid{grid-template-columns:1fr}.bmi-val{font-size:48px}.paybtn{min-width:0}.rcards{gap:18px}
  .gsec{padding:24px 0 40px}.gcard{padding:28px 18px}.gh{font-size:22px}.gico{width:58px;height:58px;font-size:28px}
  .tcard{padding:26px 16px}.share{padding:20px 16px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s ease}
  .mbar.show{transform:none}
  .mbar b{display:block;font-size:15px}.mbar span{font-size:12px;color:var(--mut)}
  .mbar .btn{width:auto;height:46px;padding:0 22px;font-size:15px;flex-shrink:0}
  .foot{padding-bottom:100px}
  .legal{padding:36px 0 48px}.legal h1{font-size:26px}
}
@media(max-width:380px){.g6{grid-template-columns:minmax(0,1fr)}.k3{grid-template-columns:minmax(0,1fr)}}
.trust{font-size:14px;color:var(--g);font-weight:600;margin-top:8px}
.bmi-note{font-size:12px;color:var(--soft);margin:-12px 0 14px}
.upsell{margin-top:24px;text-align:center;border:2px solid var(--o);background:var(--ol)}
.uh{font-size:21px;margin:12px 0 6px}
.upsell .btn{margin-top:14px;min-width:300px}
.howto{font-size:12px;color:var(--o);font-weight:600;text-decoration:none;margin-left:6px;white-space:nowrap}
.rcw{max-width:560px}
@media(max-width:640px){.upsell .btn{min-width:0}.hero-meta,.trust{text-align:center}}
.inside{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:32px}
.inside span{display:inline-flex;align-items:center;gap:6px;background:var(--gx);border:1px solid #d1fae5;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:500}
.inside i{color:var(--g)}
.live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c55e;margin-right:4px;vertical-align:middle;animation:livep 1.6s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.rvsec{padding-top:0}
.rv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rvc p{font-size:15px;margin:8px 0 12px}
.stars{color:#f59e0b;font-size:18px;letter-spacing:2px}.stars span{color:#e5e7eb}
.who{font-weight:600}
.vb{font-size:12px;color:var(--g);font-weight:600;margin-top:2px}
.toast{position:fixed;left:16px;bottom:16px;z-index:80;display:flex;gap:10px;align-items:center;max-width:330px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.14);padding:12px 36px 12px 12px;font-size:13px;line-height:1.4;transform:translateY(140%);opacity:0;transition:transform .4s ease,opacity .4s ease;pointer-events:none}
.toast.show{transform:none;opacity:1;pointer-events:auto}
.toast b{display:block;font-weight:600}.toast span{color:var(--mut)}
.tic{width:38px;height:38px;border-radius:50%;background:var(--gl);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.tx{position:absolute;top:6px;right:8px;border:none;background:none;font-size:18px;color:var(--soft);cursor:pointer;padding:2px 4px}
textarea{width:100%;min-height:120px;padding:12px 14px;border:1.5px solid #d1d5db;border-radius:12px;font-family:inherit;font-size:16px;color:var(--ink);background:#fff;outline:none;resize:vertical}
textarea:focus{border-color:var(--g);box-shadow:0 0 0 3px var(--gl)}
.starpick{display:flex;gap:6px;justify-content:center;margin:6px 0 4px}
.starpick button{border:none;background:none;font-size:38px;line-height:1;color:#e5e7eb;cursor:pointer;padding:0 2px}
.starpick button.on{color:#f59e0b}
@media(max-width:900px){.rv{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .rv{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 16px}
  .rvc{flex:0 0 82%;scroll-snap-align:center}
  .toast{left:12px;right:12px;bottom:86px;max-width:none}
}
/* ---------- Region section ---------- */
.rg-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.rg-tab{border:1.5px solid #d1d5db;background:#fff;color:var(--ink);border-radius:999px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.rg-tab:hover{border-color:var(--g)}
.rg-tab.on{background:var(--g);border-color:var(--g);color:#fff}
.rg-card{max-width:720px;margin:0 auto;padding:22px 24px;box-shadow:0 16px 36px rgba(20,83,45,.1)}
.rg-row{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.rg-row:last-of-type{border-bottom:none}
.rg-k{min-width:150px;color:var(--mut);font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}
.rg-k i{color:var(--o);font-size:17px}
.rg-v{font-weight:600;font-size:15px}
.rg-sp{margin-top:12px;background:var(--ol);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.55}
.rg-sp i{color:var(--o)}

/* ---------- State picker ---------- */
.fstate{margin-top:2px}
.combo{position:relative}
.combo input{padding-right:42px}
.cico{position:absolute;right:14px;top:15px;color:var(--soft);pointer-events:none;font-size:19px}
.combo-list{list-style:none;margin:6px 0 0;padding:6px;border:1.5px solid var(--g);border-radius:12px;max-height:230px;overflow-y:auto;background:#fff;box-shadow:0 10px 24px rgba(20,83,45,.12)}
.combo-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:15px}
.combo-list li .cn{min-width:0} .combo-list li .cs{font-size:12px;color:var(--soft);white-space:nowrap;flex-shrink:0}
.combo-list li.act,.combo-list li:hover{background:var(--gx)}
.combo-list li b{color:var(--g)}
.combo-list li.none{color:var(--soft);cursor:default;font-size:14px}
.styleline{font-size:14px;color:var(--mut);margin:0 0 10px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.styleline i{color:var(--g)}.styleline b{color:var(--ink)}
.linkbtn.sm{font-size:14px;padding:2px}
.stylepick{background:var(--gx);border-radius:12px;padding:10px 12px 4px;margin-bottom:12px}
.stylepick .small2{margin-bottom:8px;font-size:13px}
.stylepick .chip{font-size:13px;padding:8px 14px}

@media(max-width:640px){
  .rg-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -16px 18px;padding:2px 16px 6px}
  .rg-tab{flex-shrink:0}
  .rg-card{padding:16px 18px}
  .rg-row{flex-direction:column;gap:2px}
  .rg-k{min-width:0}
}
.perday.mute{color:var(--soft)}
.save{display:inline-block;margin:-10px 0 16px;background:var(--gl);color:var(--g);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px}
/* ---------- Hero plan mockup ---------- */
.phone{max-width:340px;margin:0 auto;background:#fff;border:10px solid #1f2937;border-radius:36px;padding:18px 16px 16px;box-shadow:0 28px 60px rgba(20,83,45,.22)}
.ph-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--mut);margin-bottom:12px}
.ph-tag{background:var(--o);color:#fff;font-size:11px;padding:3px 10px;border-radius:999px}
.ph-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.ph-stats div{background:var(--gx);border:1px solid #bbf7d0;border-radius:10px;padding:8px 4px;text-align:center}
.ph-stats b{display:block;font-size:17px;color:var(--gd);line-height:1.2}
.ph-stats span{font-size:10.5px;color:var(--mut)}
.ph-meal{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.ph-meal i{width:30px;height:30px;border-radius:50%;background:var(--ol);color:var(--o);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ph-meal div{flex:1;min-width:0}
.ph-meal b{display:block;font-size:12.5px}
.ph-meal span{display:block;font-size:12px;color:var(--mut);line-height:1.35}
.ph-meal em{font-style:normal;font-size:12px;font-weight:700;color:var(--g);white-space:nowrap}
.ph-total{text-align:right;font-size:12px;font-weight:600;color:var(--mut);margin:8px 0 10px}
.ph-work{display:flex;align-items:center;gap:10px;background:var(--gx);border-radius:12px;padding:10px}
.ph-work i{width:30px;height:30px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ph-work b{display:block;font-size:12.5px}
.ph-work span{display:block;font-size:11.5px;color:var(--mut)}
@media(max-width:640px){.phone{max-width:300px;border-width:8px;border-radius:30px;padding:14px 12px}}
/* ---------- Interactive widgets ---------- */
input[type=range]{width:100%;height:auto;padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--g);cursor:pointer}
input[type=range]:focus{box-shadow:none}

/* Live BMI check */
.bt-card{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:28px}
.bt-ctrl label{display:flex;justify-content:space-between;font-size:14px;color:var(--mut);font-weight:600;margin:6px 0 4px}
.bt-ctrl label b{color:var(--ink);font-size:16px}
.bt-ctrl input{margin-bottom:16px}
.bt-bmi{text-align:center;margin-bottom:14px}
.bt-bmi b{display:block;font-size:52px;line-height:1.1;transition:color .3s}
.bt-bmi span{font-weight:700;font-size:17px}
.bt-mark{position:absolute;top:-7px;left:50%;width:6px;height:26px;background:var(--ink);border-radius:3px;transform:translateX(-50%);transition:left .25s ease}
.bt-range{font-size:14px;background:var(--gx);border-radius:12px;padding:10px 12px;text-align:center}
.bt-cta{grid-column:1/-1;text-align:center}

/* Same food, your portion */
.pt-card{max-width:720px;margin:20px auto 0;padding:22px 24px}
.pt-modes{display:flex;gap:8px;margin:14px 0 12px}
.pt-mode{border:1.5px solid #d1d5db;background:#fff;color:var(--ink);border-radius:999px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pt-mode.on{background:var(--g);border-color:var(--g);color:#fff}
.pt-lbl{display:block;font-size:14px;color:var(--mut);font-weight:600;margin-bottom:4px}
.pt-lbl b{color:var(--ink);font-size:16px}
.pt-row{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}
.pt-k{min-width:110px;color:var(--mut);font-weight:600}
.pt-v{flex:1}.pt-v b{color:var(--g)}
.pt-c{font-weight:700;color:var(--g);white-space:nowrap}
.pt-tot{text-align:right;font-weight:700;margin-top:10px}

/* Your 90 days */
.jr-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.jr-card{max-width:760px;margin:0 auto;padding:24px}
.jr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.jr-head b{display:block;font-size:18px;color:var(--gd)}
.jr-head span{font-size:13px;color:var(--mut)}
.jr-k{background:var(--ol);color:var(--o)!important;font-weight:700;font-size:13px!important;padding:5px 12px;border-radius:999px;white-space:nowrap}
.jr-t{font-size:15px;color:var(--mut);margin:10px 0 8px}
.jr-w{font-size:14px;font-weight:600;margin-bottom:18px}.jr-w i{color:var(--g)}
.jr-lbl{font-size:13px;font-weight:600;color:var(--mut);margin-bottom:6px}
.jr-bars{display:flex;align-items:flex-end;gap:6px;height:160px;border-bottom:2px solid var(--line);padding-top:22px}
.jr-bar{flex:1;background:#d1fae5;border-radius:6px 6px 0 0;position:relative;transition:background .3s}
.jr-bar.on{background:var(--g)}
.jr-bar span{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--soft)}
.jr-bar.on span{color:var(--g)}
.jr-wk{display:flex;gap:6px;margin-top:4px}
.jr-wk span{flex:1;text-align:center;font-size:10.5px;color:var(--soft)}

@media(max-width:640px){
  .bt-card{grid-template-columns:1fr;gap:16px;padding:20px}
  .bt-bmi b{font-size:44px}
  .pt-card{padding:18px}
  .pt-k{min-width:84px;font-size:13px}.pt-row{font-size:13.5px;gap:8px}
  .jr-card{padding:18px}
  .jr-bars{gap:3px;height:130px}
  .jr-bar span{font-size:9.5px}.jr-wk{gap:3px}.jr-wk span{font-size:9px}
}
/* Hero badges: keep them off the plan mockup */
.hero-vis .f1{top:-26px;left:-12px}
.hero-vis .f2{bottom:-26px;right:-12px}
@media(max-width:900px){.hero-vis .f1{left:0}.hero-vis .f2{right:0}}
@media(max-width:640px){
  .hero-vis{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
  .hero-vis .phone{flex:0 0 100%}
  .hero-vis .float{position:static;animation:none;box-shadow:0 4px 14px rgba(0,0,0,.08)}
}
/* ---------- How your plan is built ---------- */
.hw{display:grid;grid-template-columns:1fr auto 1.1fr auto 1fr;align-items:stretch;gap:14px;max-width:1000px;margin:0 auto;padding-top:14px}
.hw-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 20px 22px;text-align:center}
.hw-mid{border:2px solid var(--g);box-shadow:0 18px 40px rgba(20,83,45,.12)}
.hw-n{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:var(--o);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.hw-t{font-weight:700;font-size:17px;margin-bottom:16px}
.hw-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.hw-chips span{background:var(--gx);border:1px solid #bbf7d0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--gd)}
.hw-arrow{display:flex;align-items:center;justify-content:center;color:var(--gb);font-size:28px}
.hw-ring{width:150px;height:150px;border-radius:50%;margin:0 auto 14px;background:conic-gradient(var(--o) 0 17%,var(--g) 0 75%,#fbbf24 0 100%);display:flex;align-items:center;justify-content:center}
.hw-ring div{width:108px;height:108px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.hw-ring b{font-size:25px;color:var(--gd);line-height:1.1}
.hw-ring span{font-size:11.5px;color:var(--mut)}
.hw-legend{display:flex;justify-content:center;gap:6px 12px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-bottom:10px}
.hw-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:middle}
.hw-legend .lp{background:var(--o)}.hw-legend .lc{background:var(--g)}.hw-legend .lf{background:#fbbf24}
.hw-s{font-size:12px;color:var(--soft)}
.hw-list{list-style:none;padding:0;margin:0;text-align:left;display:inline-block}
.hw-list li{display:flex;align-items:center;gap:10px;font-size:14px;padding:5px 0}
.hw-list i{width:28px;height:28px;border-radius:50%;background:var(--gl);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.js .hw.reveal .hw-ring{transform:scale(.7);opacity:.4;transition:transform .8s cubic-bezier(.2,.8,.2,1) .25s,opacity .8s ease .25s}
.js .hw.reveal.in .hw-ring{transform:none;opacity:1}
@media(max-width:820px){
  .hw{grid-template-columns:1fr;gap:6px;max-width:420px}
  .hw-arrow{transform:rotate(90deg);height:34px;font-size:24px}
}
/* ---------- Result page (conversion) ---------- */
.rs-insight{font-size:16px;color:var(--mut);max-width:600px;margin:-14px auto 26px}
.rs-path,.rs-prev{margin-top:20px}
.path{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:26px 0 10px}
.pt-a,.pt-b{text-align:center}
.pt-a b,.pt-b b{display:block;font-size:22px;line-height:1.2}
.pt-a b{color:var(--red)}.pt-b b{color:var(--g)}
.rs-path.under .pt-a b{color:#b45309}
.pt-a span,.pt-b span{font-size:12px;color:var(--mut)}
.path-line{position:relative;height:6px;border-radius:3px;background:linear-gradient(90deg,#fca5a5,#86efac)}
.rs-path.under .path-line{background:linear-gradient(90deg,#fcd34d,#86efac)}
.path-line span{position:absolute;top:-30px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:700;white-space:nowrap}
.pv-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.pv-row b{font-size:12.5px;color:var(--mut)}
.pv-row span{font-size:14.5px}
.pv-row em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-weight:700;color:var(--g);font-size:13px}
.pv-row.lk span,.pv-row.lk em{filter:blur(5px);user-select:none}
.pv-lock{margin-top:12px;background:var(--gl);color:var(--gd);border-radius:12px;padding:12px;text-align:center;font-weight:600;font-size:14px}
.rs-offer{text-align:center;color:var(--o);font-weight:700;font-size:14px;margin-top:10px}
.rs-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-size:13px;color:var(--mut);margin-top:12px}
.rs-trust i{color:var(--g)}
.rs-faq{max-width:640px;margin:32px auto 0}
.rs-bar{display:none}
body:has(#mainPage.hide) .mbar{display:none!important}

/* ---------- Creating your plan ---------- */
.gw2{max-width:960px}
.gen-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:start}
.gring{--p:0;width:116px;height:116px;border-radius:50%;margin:0 auto 14px;background:conic-gradient(var(--g) calc(var(--p) * 1%),#e5e7eb 0);display:flex;align-items:center;justify-content:center}
.gring div{width:92px;height:92px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.gring b{font-size:24px;color:var(--g);line-height:1.1}
.gring span{font-size:11px;color:var(--mut)}
.gprev{padding:20px;box-shadow:0 20px 44px rgba(20,83,45,.12)}
.gp-h{font-weight:700;display:flex;gap:6px;align-items:center;margin-bottom:12px}
.gp-h i{color:var(--g)}.gp-h span{font-weight:500;color:var(--mut);font-size:13px}
.gp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}
.gp-stats div{background:var(--gx);border:1px solid #bbf7d0;border-radius:10px;padding:8px 4px;text-align:center;opacity:.25;transition:opacity .5s}
.gp-stats div.show{opacity:1}
.gp-stats b{display:block;font-size:17px;color:var(--gd)}
.gp-stats span{font-size:11px;color:var(--mut)}
.gp-m{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.gp-m.show{opacity:1;transform:none}
.gp-m b{font-size:12.5px;color:var(--mut)}
.gp-m span{font-size:14px}
.gp-m em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-weight:700;color:var(--g);font-size:13px}
.gp-work{margin-top:10px;background:var(--gx);border-radius:10px;padding:10px;font-size:13px;opacity:0;transition:opacity .5s}
.gp-work.show{opacity:1}.gp-work i{color:var(--g)}
.gsec .gquote{max-width:960px;margin:16px auto 0;text-align:center}

@media(max-width:820px){.gen-grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .rs-insight{font-size:15px}
  .path{gap:10px}.pt-a b,.pt-b b{font-size:18px}
  .rs-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(0,0,0,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px}
  .rs-bar b{display:block;font-size:14px}
  .rs-bar span{font-size:13px;color:var(--o);font-weight:700}
  .rs-bar .btn{width:auto;height:46px;padding:0 20px;font-size:15px;flex-shrink:0}
  #result .rsec{padding-bottom:100px}
}
/* ---------- What you get ---------- */
.wy-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.wy-tab{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #d1d5db;background:#fff;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;transition:all .15s}
.wy-tab i{font-size:18px;color:var(--g)}
.wy-tab:hover{border-color:var(--g)}
.wy-tab.on{background:var(--g);border-color:var(--g);color:#fff}.wy-tab.on i{color:#fff}
.wy-panel{display:none;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;max-width:940px;margin:0 auto}
.wy-panel.on{display:grid;animation:wyIn .45s ease}
@keyframes wyIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wy-stage{background:linear-gradient(135deg,#dcfce7,#fef3c7);border-radius:24px;padding:30px;min-height:390px;display:flex;align-items:center;justify-content:center}
.wy-copy h3{font-size:24px;line-height:1.25;margin-bottom:14px}
.wy-copy ul{list-style:none;padding:0;margin:0 0 16px}
.wy-copy li{position:relative;padding:8px 0 8px 32px;font-size:15.5px}
.wy-copy li:before{content:"✓";position:absolute;left:0;top:9px;width:22px;height:22px;border-radius:50%;background:var(--gl);color:var(--g);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.wy-inc{display:inline-block;background:var(--ol);color:var(--o);font-size:12.5px;font-weight:700;padding:5px 12px;border-radius:999px;line-height:1.5}

/* Phone mockup */
.wy-phone{width:280px;background:#fff;border:9px solid #1f2937;border-radius:32px;padding:14px;box-shadow:0 20px 44px rgba(20,83,45,.2)}
.wy-top{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:700}
.wy-streak{background:var(--ol);color:var(--o);padding:3px 9px;border-radius:999px;font-size:11px}
.wy-bar{height:6px;background:#e5e7eb;border-radius:3px;margin:8px 0 6px;overflow:hidden}
.wy-bar i{display:block;height:100%;background:var(--g)}
.wy-it{display:flex;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.wy-it div{min-width:0}
.wy-it b{display:block;font-size:11px;color:var(--mut)}
.wy-it div span{font-size:12.5px}
.wy-it.on div span{color:var(--soft);text-decoration:line-through}
.wy-ck{width:20px;height:20px;border-radius:50%;border:2px solid #d1d5db;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff}
.wy-it.on .wy-ck,.wy-ck.on{background:var(--g);border-color:var(--g)}
.wy-water{display:flex;gap:4px;margin:10px 0}
.wy-water i{width:18px;height:22px;border:2px solid #bfdbfe;border-radius:3px 3px 7px 7px}
.wy-water i.f{background:linear-gradient(180deg,#fff 25%,#60a5fa 25%);border-color:#60a5fa}
.wy-done{display:flex;gap:8px;align-items:center;font-size:12.5px;font-weight:600}

/* PDF mockup */
.wy-paper{width:300px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 20px 44px rgba(20,83,45,.2);transform:rotate(-2deg)}
.wy-cover{background:var(--gd);color:#fff;border-radius:10px;padding:14px}
.wy-cover small{font-size:10px;font-weight:700}.wy-cover small span{color:#86efac}
.wy-cover b{display:block;font-size:17px;line-height:1.2;margin:8px 0 4px}
.wy-cover em{font-style:normal;font-size:11px;color:#d1fae5}
.wy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0}
.wy-stats div{background:var(--gx);border:1px solid #bbf7d0;border-radius:7px;padding:5px;text-align:center}
.wy-stats b{display:block;font-size:13px;color:var(--gd)}.wy-stats span{font-size:9px;color:var(--mut)}
.wy-t{width:100%;border-collapse:collapse;font-size:10px}
.wy-t th{background:var(--g);color:#fff;padding:5px;text-align:left;font-weight:600}
.wy-t td{padding:5px;border-bottom:1px solid #ecfdf5}

/* Report mockup */
.wy-rep{width:300px;background:#fff;border-radius:18px;padding:18px;box-shadow:0 20px 44px rgba(20,83,45,.2);text-align:center}
.wy-bmi b{display:block;font-size:40px;line-height:1.1;color:#b45309}
.wy-bmi span{font-weight:700;color:#b45309;font-size:14px}
.wy-gauge{position:relative;display:flex;height:8px;margin:12px 0 16px}
.wy-gauge i{display:block;height:8px}
.wy-gauge em{position:absolute;top:-5px;left:45%;width:5px;height:18px;background:var(--ink);border-radius:2px}
.wy-mac{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:12px}
.wy-ring{width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--o) 0 17%,var(--g) 0 75%,#fbbf24 0 100%);display:flex;align-items:center;justify-content:center}
.wy-ring div{width:60px;height:60px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wy-ring b{font-size:14px;color:var(--gd)}.wy-ring span{font-size:9px;color:var(--mut)}
.wy-leg{text-align:left;font-size:11.5px;line-height:1.9}
.wy-leg i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.wy-range{background:var(--gx);border-radius:10px;padding:8px;font-size:12px}

/* Guides mockup */
.wy-guides{width:300px;display:grid;gap:10px}
.wy-g{display:flex;gap:10px;align-items:center;background:#fff;border-radius:14px;padding:12px;box-shadow:0 10px 24px rgba(20,83,45,.12)}
.wy-g:nth-child(2){margin-left:18px}.wy-g:nth-child(3){margin-left:36px}.wy-g:nth-child(4){margin-left:18px}
.wy-g i{width:36px;height:36px;border-radius:10px;background:var(--gl);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.wy-g b{display:block;font-size:13px}.wy-g span{font-size:11.5px;color:var(--mut)}

.wy-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.wy-strip span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}
.wy-strip i{color:var(--g)}

@media(max-width:820px){.wy-panel{grid-template-columns:1fr;gap:22px;max-width:520px}}
@media(max-width:640px){
  .wy-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -16px 18px;padding:2px 16px 6px}
  .wy-tab{flex-shrink:0;padding:9px 14px;font-size:13px}
  .wy-stage{min-height:0;padding:24px 12px}
  .wy-copy h3{font-size:20px}
  .wy-g:nth-child(n){margin-left:0}
  .wy-phone,.wy-paper,.wy-rep,.wy-guides{width:100%;max-width:290px}
}
/* ---------- Compact form on phones ---------- */
.err:empty{display:none}
@media(max-width:640px){
  .modal{padding:20px 16px 16px}
  .mtitle{font-size:19px;margin-bottom:6px}
  .steptxt{margin-bottom:6px;font-size:12px}
  .dots{margin-bottom:12px}
  #formBox .lbl{margin:10px 0 5px;font-size:12.5px}
  #formBox input,#formBox select{height:46px}

  /* Step 1: 2 x 2 option grids */
  #s1 [data-grp]{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  #s1 [data-grp] .chip{margin:0;padding:10px 6px;font-size:13.5px}

  /* Step 2: Age + Weight side by side, equal-width buttons */
  #s2 .fg{grid-template-columns:1fr 1fr;gap:0 10px}
  #s2 .fg>div:nth-child(1){grid-column:1/-1;grid-row:1}
  #s2 .fg>div:nth-child(2){grid-column:1;grid-row:2}
  #s2 .fg>div:nth-child(4){grid-column:2;grid-row:2}
  #s2 .fg>div:nth-child(3){grid-column:1/-1;grid-row:3}
  #s2 .fg>div:nth-child(5){grid-column:1/-1;grid-row:4}
  #s2 .fg>div:nth-child(6){grid-column:1/-1;grid-row:5}
  #s2 [data-grp]{display:flex;gap:6px}
  #s2 [data-grp] .chip{flex:1;margin:0;padding:9px 4px;font-size:13.5px;text-align:center}

  .navrow{margin-top:14px}
  #formBox .small{margin-top:8px}
}
/* ---------- Mobile polish ---------- */
@media(max-width:640px){
  .sec{padding:44px 0}

  /* Why it works: our column first, theirs compact */
  .vs .good{order:-1}
  .vs-col.bad{padding:16px 18px}
  .bad li{padding:8px 0 8px 30px;font-size:13.5px}
  .bad li:before{top:9px;width:19px;height:19px;font-size:10px}
  .good li{padding:10px 0 10px 32px;font-size:14.5px}

  /* 15 minutes at home: swipeable cards */
  .g3:has(> .fcard){display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:4px 16px 12px;-webkit-overflow-scrolling:touch}
  .g3:has(> .fcard) > .fcard{flex:0 0 72%;scroll-snap-align:center}
  .js .g3:has(> .fcard) > .reveal{opacity:1;transform:none}

  /* Pricing: shorter cards */
  .tagrow{min-height:0}
  .pcard .pp{font-size:34px}
  .pcard .li{min-height:0;padding:5px 0;font-size:13.5px}
  .pricing:not(.open) .li.no{display:none}

  /* FAQ */
  .faq summary{padding:14px 48px 14px 16px;font-size:15px}
  .faq details p{padding:0 16px 14px;font-size:14px}

  /* Your 90 days */
  .jr-head{flex-wrap:wrap}

  /* Thank-you page */
  #thanks .g3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  #thanks .tcard .g3{grid-template-columns:1fr 1fr}
  #thanks .tcard .g3 .mc:last-child{grid-column:1/-1}
  #thanks .mc{padding:12px 8px}
  #thanks .mc .ml{font-size:11.5px}
}
/* ---------- What you get: phone polish ---------- */
@media(max-width:640px){
  .wy-panel{gap:16px}
  .wy-stage{padding:20px 14px;border-radius:20px}
  .wy-copy h3{font-size:19px;margin-bottom:8px}
  .wy-copy ul{margin-bottom:12px}
  .wy-copy li{font-size:14.5px;padding:6px 0 6px 30px}
  .wy-copy li:before{top:7px}
  .wy-range{font-size:11.5px}
  .wy-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}
  .wy-strip span{flex-direction:column;justify-content:center;text-align:center;gap:4px;padding:10px 6px;border-radius:14px;font-size:11.5px;line-height:1.3}
  .wy-strip i{font-size:20px}
}
/* ---------- How your plan is built: two-person example ---------- */
.hb-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hb-tab{border:1.5px solid #d1d5db;background:#fff;color:var(--ink);border-radius:999px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.hb-tab:hover{border-color:var(--g)}
.hb-tab.on{background:var(--g);border-color:var(--g);color:#fff}
.hb-card{max-width:960px;margin:0 auto;display:grid;grid-template-columns:.8fr auto 1.4fr;gap:22px;align-items:center;padding:26px;box-shadow:0 20px 44px rgba(20,83,45,.12)}
.hb-h{font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.hb-h i{color:var(--g);font-size:19px}
.hb-chips{display:flex;flex-direction:column;gap:8px}
.hb-chip{display:flex;align-items:center;gap:10px;background:var(--gx);border:1px solid #d1fae5;border-radius:12px;padding:10px 12px;font-weight:600;font-size:14.5px}
.hb-c1{--c:#64748b}.hb-c2{--c:#7c3aed}.hb-c3{--c:#ea580c}.hb-c4{--c:#15803d}.hb-c5{--c:#2563eb}
.hb-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--c)}
.hb-arrow{width:46px;height:46px;border-radius:50%;background:var(--o);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 8px 20px rgba(234,88,12,.3)}
.hb-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateX(10px);transition:opacity .35s,transform .35s}
.hb-row.in{opacity:1;transform:none}
.hb-row:last-child{border-bottom:0}
.hb-row b{display:block;font-size:16px;color:var(--gd);line-height:1.35}
.hb-row span{font-size:13px;color:var(--mut)}
.hb-why{flex-shrink:0;font-style:normal;font-size:12px;font-weight:600;color:var(--c);background:#fff;border:1.5px solid var(--c);border-radius:999px;padding:3px 10px;white-space:nowrap}
.hb-why:before{content:"from ";font-weight:500;opacity:.8}
.hb-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:960px;margin:22px auto 0}
.hb-proof>span{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.35}
.hb-proof i{color:var(--g);font-size:22px;flex-shrink:0}
@media(max-width:820px){
  .hb-card{grid-template-columns:1fr;gap:14px;max-width:560px}
  .hb-arrow{margin:0 auto;transform:rotate(90deg);width:40px;height:40px;font-size:20px}
  .hb-chips{flex-direction:row;flex-wrap:wrap;gap:6px}
  .hb-chip{padding:7px 11px;font-size:13.5px}
  .hb-proof{grid-template-columns:1fr 1fr;max-width:560px}
}
@media(max-width:640px){
  .hb-card{padding:18px}
  .hb-row{flex-direction:column;align-items:flex-start;gap:6px}
  .hb-row b{font-size:15px}
  .hb-proof>span{padding:10px;font-size:12.5px}
}
.hb-proof>span>span{display:flex;flex-direction:column;gap:2px}
.hb-proof b{font-size:14px;color:var(--ink);line-height:1.3}
.hb-proof small{font-size:12px;color:var(--mut);line-height:1.4}
@media(max-width:640px){.hb-proof b{font-size:13px}.hb-proof small{font-size:11.5px}}
.logo-mk{height:36px;width:auto;display:block;flex-shrink:0}
.fbrand{display:inline-flex;align-items:center;gap:8px}
.fbrand img{height:24px;width:auto}
@media(max-width:640px){.logo-mk{height:32px}}
/* Spacing above buttons that follow an error line */
#rcBtn{margin-top:16px}
#recover a.linkbtn{text-decoration:none}
.chg .g2.cbtns{margin-top:14px}
/* ---------- How your plan is built: answer → result rows ---------- */
.hx-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hx-tab{border:1.5px solid #d1d5db;background:#fff;color:var(--ink);border-radius:999px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}
.hx-tab:hover{border-color:var(--g)}
.hx-tab.on{background:var(--g);border-color:var(--g);color:#fff}
.hx-card{max-width:820px;margin:0 auto;padding:22px 26px;box-shadow:0 20px 44px rgba(20,83,45,.12)}
.hx-who{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.hx-av{width:46px;height:46px;border-radius:50%;background:var(--ol);color:var(--o);font-weight:700;font-size:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hx-who b{display:block;font-size:17px}
.hx-who span{font-size:13px;color:var(--mut)}
.hx-c1{--c:#64748b}.hx-c2{--c:#7c3aed}.hx-c3{--c:#ea580c}.hx-c4{--c:#15803d}.hx-c5{--c:#2563eb}
.hx-row{display:grid;grid-template-columns:170px 22px 1fr;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.hx-row.in{opacity:1;transform:none}
.hx-row:last-child{border-bottom:0;padding-bottom:4px}
.hx-in{justify-self:start;font-size:13px;font-weight:600;color:var(--c);background:#fff;border:1.5px solid var(--c);border-radius:999px;padding:5px 12px;white-space:nowrap}
.hx-ar{color:var(--soft);font-size:18px}
.hx-out b{display:block;font-size:16px;color:var(--gd);line-height:1.35}
.hx-out span{font-size:13px;color:var(--mut)}
.hx-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:960px;margin:22px auto 0}
.hx-proof>div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.hx-proof i{color:var(--g);font-size:22px;flex-shrink:0}
.hx-proof span{display:flex;flex-direction:column;gap:2px}
.hx-proof b{font-size:14px;line-height:1.3}
.hx-proof small{font-size:12px;color:var(--mut);line-height:1.4}
@media(max-width:900px){.hx-proof{grid-template-columns:1fr 1fr;max-width:640px}}
@media(max-width:640px){
  .hx-card{padding:16px}
  .hx-row{grid-template-columns:1fr;gap:6px;padding:12px 0}
  .hx-ar{display:none}
  .hx-in{font-size:12px;padding:3px 10px}
  .hx-in:before{content:"Because: ";font-weight:500}
  .hx-out b{font-size:15px}
  .hx-proof{grid-template-columns:1fr;gap:8px}
  .hx-proof>div{padding:10px 12px}
}
.fbrand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:20px;margin-bottom:10px}
.fbrand img{height:26px;width:auto}