/* Dosy quiz. Layout, color and motion; typography stays on Dosy tokens. */
:root{--q-ink:#1B2E21;--q-muted:#5B6760;--q-dark:#1C4024;--q-dark-2:#2F5736;--q-lime:#C3E29A;--q-lime-b:#A9D37A;--q-green:#0E8A45;--q-card:rgba(255,255,255,.6);--q-card-b:rgba(255,255,255,.95);--q-track:rgba(28,64,36,.12);--q-ease:cubic-bezier(.2,.8,.2,1);--q-spring:cubic-bezier(.34,1.4,.5,1)}
html{background:#F7F4EA}
body.dosy-quiz{margin:0;min-height:100vh;min-height:100dvh;color:var(--q-ink);font-family:var(--dosy-font-ui);background:transparent;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.dosy-quiz::before,body.dosy-quiz::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transition:opacity .6s var(--q-ease)}
body.dosy-quiz::before{background:radial-gradient(70% 45% at 50% -8%,#DCE8D2 0%,rgba(220,232,210,0) 70%),radial-gradient(45% 35% at 0% 42%,rgba(231,238,223,.9) 0%,rgba(231,238,223,0) 72%),radial-gradient(55% 40% at 100% 100%,rgba(242,224,186,.75) 0%,rgba(242,224,186,0) 70%),linear-gradient(180deg,#F4F4EB 0%,#F8F4E9 55%,#FAF6EC 100%)}
body.dosy-quiz::after{opacity:0;background:radial-gradient(80% 50% at 50% 0%,#2F5736 0%,rgba(47,87,54,0) 70%),radial-gradient(60% 40% at 50% 105%,rgba(198,161,91,.35) 0%,rgba(198,161,91,0) 70%),linear-gradient(180deg,#153420 0%,#122C19 60%,#10261A 100%)}
body.q-is-dark::after{opacity:1}
body.q-is-solid::after{background:radial-gradient(80% 45% at 50% 0%,#1F4527 0%,rgba(31,69,39,0) 70%),#122C19}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-999px;top:8px;z-index:99;background:#fff;color:var(--q-ink);padding:8px 12px;border-radius:8px}.skip-link:focus{left:8px}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--q-green);outline-offset:3px}

/* Header */
.q-header{position:fixed;inset:0 0 auto;z-index:20;padding:calc(env(safe-area-inset-top,0px) + 14px) 20px 12px;pointer-events:none}
.q-header[hidden]{display:none}
.q-nav{max-width:448px;margin:0 auto;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;pointer-events:auto}
.q-back{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--q-ink);display:grid;place-items:center;cursor:pointer;margin-left:-10px;transition:background .2s}
.q-back:hover{background:rgba(29,50,41,.07)}.q-back svg{width:22px;height:22px}.q-back[hidden]{visibility:hidden;display:grid}
.q-progress{justify-self:center;width:180px;height:8px;border-radius:99px;background:var(--q-track);overflow:hidden}
.q-progress span{display:block;height:100%;width:0;border-radius:inherit;background:var(--q-dark);transition:width .6s var(--q-ease)}

/* Screens */
main#quiz{min-height:100vh;min-height:100dvh}
.q-screen{max-width:448px;margin:0 auto;padding:108px 20px 48px;box-sizing:content-box;animation:q-in .5s var(--q-ease) both}
.q-screen.is-back{animation-name:q-in-back}
@keyframes q-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes q-in-back{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes q-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes q-fade{from{opacity:0}to{opacity:1}}
@keyframes q-pop{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
.q-head{margin-bottom:22px}
.q-head h1,.q-screen h1{font:500 34px/1.12 var(--dosy-font-ui);letter-spacing:-.045em;color:var(--q-ink);margin:0;outline:none}
.q-sub{font-size:14px;line-height:1.45;color:var(--q-muted);margin:8px 0 0;font-weight:500}
.q-head>*{animation:q-up .5s var(--q-ease) both}.q-head>*+*{animation-delay:.06s}

/* Buttons */
.q-cta{margin-top:24px;position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);z-index:5;animation:q-up .5s .18s var(--q-ease) both}
.q-options.is-long~.q-cta::before{content:"";position:absolute;inset:-40px -20px -20px;z-index:-1;background:linear-gradient(180deg,rgba(241,238,232,0),rgba(250,246,236,.94) 50%);pointer-events:none}
.q-btn{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--q-dark);color:#fff;font:700 15px/1 var(--dosy-font-ui);display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;box-shadow:0 12px 26px rgba(29,50,41,.2);transition:background .25s,box-shadow .25s,transform .15s}
.q-btn:hover:not(:disabled){background:#2F5736}.q-btn:active:not(:disabled){transform:scale(.985)}
.q-btn:disabled{background:#A9BCA6;color:rgba(255,255,255,.92);box-shadow:none;cursor:not-allowed}
.q-chip{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;flex:none}.q-chip svg{width:15px;height:15px}
.q-btn.is-plain{padding:8px 20px;line-height:1.3;text-align:center}
.q-btn.is-pill{width:auto;min-height:44px;padding:0 22px;border-radius:14px;font-size:15px;box-shadow:0 6px 16px rgba(28,64,36,.18)}
.q-link{display:block;margin:14px auto 0;background:none;border:0;color:#5E6962;font:500 14px/1.3 var(--dosy-font-ui);cursor:pointer;padding:6px}
.q-link.is-light{color:#fff;text-decoration:underline;text-underline-offset:4px;font-size:15px;margin-top:40px}

/* Options */
.q-options{display:grid;gap:10px}
.q-opt{position:relative;display:flex;align-items:center;gap:12px;min-height:54px;padding:0 20px;border-radius:14px;border:1px solid var(--q-card-b);background:linear-gradient(180deg,rgba(255,253,247,.86),rgba(255,251,242,.64));box-shadow:0 1px 2px rgba(28,64,36,.04);color:var(--q-ink);font:700 15px/1.3 var(--dosy-font-ui);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s,transform .15s;animation:q-up .45s var(--q-ease) both}
.q-opt:nth-child(1){animation-delay:.08s}.q-opt:nth-child(2){animation-delay:.12s}.q-opt:nth-child(3){animation-delay:.16s}.q-opt:nth-child(4){animation-delay:.2s}.q-opt:nth-child(5){animation-delay:.24s}.q-opt:nth-child(6){animation-delay:.28s}.q-opt:nth-child(7){animation-delay:.32s}.q-opt:nth-child(n+8){animation-delay:.36s}
.q-opt:hover{border-color:#A9BCA6}.q-opt:active{transform:scale(.99)}
.q-opt-text{flex:1;padding:14px 0}.q-opt-text strong{display:block;font-size:15px}.q-opt-text small{display:block;font-size:12px;font-weight:500;color:#737D76;margin-top:3px}
.q-radio{width:20px;height:20px;border-radius:50%;border:1.5px solid #A9BCA6;flex:none;display:grid;place-items:center;color:transparent;transition:all .2s}
.q-radio svg,.q-tick svg{width:12px;height:12px}
.q-tick{display:none;width:22px;height:22px;border-radius:50%;background:var(--q-dark);color:#fff;flex:none;place-items:center}
.q-opt.is-on{background:var(--q-lime);border-color:var(--q-lime-b)}
.q-opt.is-on .q-radio{background:var(--q-dark);border-color:var(--q-dark);color:#fff}
.q-single .q-opt.is-on .q-tick,.q-detail .q-opt.is-on .q-tick,.q-body .q-opt.is-on .q-tick{display:grid;animation:q-pop .3s var(--q-spring)}
.is-picking .q-opt:not(.is-on){opacity:.6;transition:opacity .25s}
.q-options.has-img .q-opt{min-height:64px;padding-right:0}
.q-opt-img{position:relative;width:104px;height:64px;flex:none;align-self:stretch;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%);background:linear-gradient(90deg,rgba(255,255,255,0),#F1EEE8)}
.q-opt-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.q-body .q-tick{position:absolute;right:112px}
.q-help{display:flex;align-items:center;gap:8px;margin:22px auto 0;background:none;border:0;color:#6B756F;font:500 14px var(--dosy-font-ui);cursor:pointer}
.q-help span{width:20px;height:20px;border-radius:50%;border:1.3px solid currentColor;display:grid;place-items:center;font-size:12px}
.q-sheet{border:0;border-radius:24px;padding:28px 24px 24px;max-width:400px;width:calc(100% - 40px);box-shadow:0 30px 80px rgba(0,0,0,.25);color:var(--q-ink)}
.q-sheet::backdrop{background:rgba(20,32,26,.35);backdrop-filter:blur(3px)}
.q-sheet h2{font:600 20px/1.2 var(--dosy-font-ui);letter-spacing:-.03em;margin:0 0 10px}.q-sheet p{font-size:15px;line-height:1.55;color:var(--q-muted);margin:0 0 22px}

/* Wheel */
.q-wheel{position:relative;display:grid;grid-template-columns:repeat(var(--cols),1fr);max-width:312px;margin:30px auto 0;animation:q-up .5s .1s var(--q-ease) both}
.q-wheel-band{position:absolute;left:-24px;right:-24px;top:100px;height:50px;border-radius:12px;background:var(--q-lime);z-index:0}
.q-wheel-col{position:relative;z-index:1;height:250px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;padding:100px 0;box-sizing:border-box;outline:none;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,.25) 0,#000 32%,#000 68%,rgba(0,0,0,.25) 100%)}
.q-wheel-col::-webkit-scrollbar{display:none}
.q-wheel-col:focus-visible{outline:2px solid var(--q-green);outline-offset:-2px;border-radius:12px}
.q-wheel-item{height:50px;display:grid;place-items:center;scroll-snap-align:center;font:500 25px/1 var(--dosy-font-ui);letter-spacing:-.02em;color:#A9BCA6;cursor:pointer;transition:color .15s,transform .15s;user-select:none;font-variant-numeric:tabular-nums}
.q-wheel-item.is-far{color:#B7C6B4}.q-wheel-item.is-near{color:var(--q-ink)}.q-wheel-item.is-center{color:var(--q-ink);font-weight:600}
.q-wheel-col.is-left .q-wheel-item{justify-content:start;padding-left:10px}
.q-wheel-col.is-unit{flex:1.4}.q-wheel-col.is-unit .q-wheel-item{font-size:24px}
.q-pace .q-wheel,.q-frequency .q-wheel{grid-template-columns:1fr 1.4fr}

/* Measurement inputs */
.q-measure-wrap{margin-top:36px;animation:q-up .5s .08s var(--q-ease) both}
.q-measure{display:flex;align-items:center;justify-content:center;border-bottom:2px solid #2B3A33;padding:6px 0 10px;gap:8px}
.q-measure.is-split{gap:24px}.q-measure.is-split label{display:flex;align-items:baseline;gap:6px}
.q-big:focus-visible{outline:none}
.q-big{width:100%;border:0;background:transparent;text-align:center;font:500 40px/1.1 var(--dosy-font-ui);letter-spacing:-.03em;color:var(--q-ink);caret-color:var(--q-green);outline:none;padding:0;font-variant-numeric:tabular-nums}
.q-measure.is-split .q-big{width:64px}
.q-suffix{font:500 18px var(--dosy-font-ui);color:var(--q-muted)}
.q-seg{display:flex;width:164px;margin:22px auto 0;padding:4px;border-radius:99px;background:rgba(28,64,36,.07);animation:q-up .5s .12s var(--q-ease) both}
.q-seg button{flex:1;border:0;background:none;border-radius:99px;min-height:36px;font:700 14px var(--dosy-font-ui);color:#3C4842;cursor:pointer;transition:background .25s}
.q-seg button.is-on{background:#A8DC78;color:var(--q-ink)}
.q-feedback{margin-top:30px}
.q-card-note{border-radius:16px;padding:16px 16px 18px;border:1px solid var(--q-lime-b);background:linear-gradient(180deg,#C7E6A2 0%,#E8F4DA 60%,#F9FCF4 100%);animation:q-up .45s var(--q-ease) both;box-shadow:0 8px 22px rgba(58,94,32,.08)}
.q-card-note strong{display:block;font-size:14px;font-weight:700}.q-card-note em{font-style:normal;color:var(--q-green);margin-left:4px}
.q-card-note p{margin:6px 0 0;font-size:14px;line-height:1.45;color:#5E6962}.q-card-note b{color:var(--q-green);font-weight:600}
.q-card-note.is-warn{border-color:#EAC77E;background:linear-gradient(180deg,#F7E2B2 0%,#FBF1DC 60%,#FFFBF3 100%)}.q-card-note.is-warn em{color:#9A5A0A}
.q-note-extra{font-weight:600;color:#8A5410!important}

/* Shape interstitial */
.q-shape{text-align:center;padding-top:10px}
.q-logo-tile{width:40px;height:40px;margin:0 auto 22px;border-radius:10px;background:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(29,50,41,.1);animation:q-pop .6s .1s var(--q-spring) both}
.q-logo-tile img{width:26px;height:26px}
.q-shape h1{font-size:30px!important;animation:q-up .6s .35s var(--q-ease) both}

/* Dark screens */
.q-dark-wrap{color:#fff}
.q-dark-wrap h1,.q-feature-copy h1,.q-loading h1{color:#fff!important}
.q-chart .q-dark-wrap h1{font-size:30px;animation:q-up .6s var(--q-ease) both}
.q-eyebrow{font:700 12px/1 var(--dosy-font-ui);letter-spacing:.12em;color:rgba(255,255,255,.55);margin:16px 0 0;animation:q-fade .5s .2s both}
.q-bigchart{position:relative;aspect-ratio:450/200;margin:34px -30px 0;font-size:12px}
.q-bigchart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.q-line-diet{stroke:#16261E;stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:q-draw 1.5s .4s ease-out forwards}
.q-line-main{stroke:#fff;stroke-width:6;fill:none;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:q-draw 1.7s .9s ease-in-out forwards}
@keyframes q-draw{to{stroke-dashoffset:0}}
.q-stem{stroke:rgba(255,255,255,.55);stroke-width:1.5;transform-origin:top;transform:scaleY(0);animation:q-stem .5s .9s ease-out forwards}.q-stem-end{animation-delay:2.5s}
@keyframes q-stem{to{transform:scaleY(1)}}
.q-dot{fill:#7ED957;stroke:#fff;stroke-width:3.5;transform-box:fill-box;transform-origin:center;opacity:0;animation:q-pop .45s .8s var(--q-spring) forwards}.q-dot-end{animation-delay:2.5s}
.q-bigchart>span{position:absolute;animation:q-fade .5s both}
.q-lbl-diet{right:7%;top:12%;text-align:right;font:700 12px/1.35 var(--dosy-font-ui);color:rgba(255,255,255,.9);animation-delay:1.6s!important}
.q-lbl-with{left:10%;top:54%;font:700 12px/1.35 var(--dosy-font-ui);animation-delay:2.1s!important}
.q-pill{background:#F2F4F1;color:var(--q-ink);border-radius:99px;padding:4px 10px;font:700 11px/1 var(--dosy-font-ui);white-space:nowrap;transform:translateX(-50%)}
.q-pill-now{left:6.2%;top:88%;animation-delay:1.1s!important}.q-pill-end{left:82.7%;top:91%;animation-delay:2.7s!important}
.q-glass-card{margin-top:54px;border-radius:16px;padding:18px 20px;background:rgba(250,246,236,.9);border:1px solid rgba(255,255,255,.7);color:var(--q-ink);backdrop-filter:blur(8px);opacity:0;animation:q-up .6s 3.3s var(--q-ease) forwards}
.q-glass-card strong{font-size:15px}.q-glass-card p{margin:6px 0 0;font-size:13px;line-height:1.5;color:#55615A}
.q-chart .q-cta{margin-top:24px;animation-delay:2.7s}
.q-chart .q-btn,.q-feature .q-btn,.q-alone .q-btn{box-shadow:0 16px 30px rgba(8,18,13,.3)}
.q-chart .q-btn,.q-feature .q-btn,.q-alone .q-btn{box-shadow:0 0 0 1px rgba(255,255,255,.14) inset,0 16px 30px rgba(8,18,13,.3)}

/* Feature slides */
.q-screen.q-feature{padding-top:0;max-width:460px}
.q-feature-stage{position:relative;height:min(62vh,540px);margin:0 -40px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 72%,transparent 100%),linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 14%,#000 72%,transparent 100%);-webkit-mask-composite:source-in}
.q-feature-copy{text-align:center;margin-top:-18px;position:relative}
.q-feature-copy h1{font-size:30px!important;animation:q-up .6s .3s var(--q-ease) both}
.q-feature-copy p{color:rgba(255,255,255,.82);font-size:15px;line-height:1.5;margin:10px auto 0;max-width:380px;font-weight:500;animation:q-up .6s .38s var(--q-ease) both}
.q-feature-copy .q-cta{position:static;margin-top:28px;animation-delay:.5s}
.m-card{position:absolute;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#E9EEEA;box-shadow:0 20px 50px rgba(0,0,0,.18);box-sizing:border-box;font-size:12px}
.f-tilt{position:absolute;inset:0;transform:perspective(900px) rotateX(10deg) rotateZ(-4deg);animation:f-float 7s ease-in-out infinite alternate}
@keyframes f-float{from{transform:perspective(900px) rotateX(10deg) rotateZ(-4deg) translateY(6px)}to{transform:perspective(900px) rotateX(10deg) rotateZ(-4deg) translateY(-10px)}}
.m-ghost{opacity:.55;filter:blur(.5px)}
.m-g1{left:24%;top:-4%;width:60%;height:24%;padding:24px}.m-g1 svg{width:100%}
.m-g-left{left:-12%;top:26%;width:26%;height:50%}.m-g-right{right:-14%;top:22%;width:24%;height:44%}
.m-g2{left:26%;top:84%;width:58%;height:30%;padding:18px}.m-g2 small{color:rgba(255,255,255,.5)}.m-g2 p{font-size:15px;color:rgba(255,255,255,.55);margin:14px 0 0}
.m-main{left:20%;top:23%;width:62%;padding:20px 20px 16px;background:#26332B;border-color:rgba(255,255,255,.18);animation:q-up .7s .15s var(--q-ease) both}
.m-kicker{font-weight:600;color:rgba(255,255,255,.7);font-size:12px}
.m-text{font-size:15px;line-height:1.35;margin:10px 0 12px;color:#F1F4F2;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.m-stats{display:flex;gap:26px}.m-stats span{display:block;font-size:12px;color:#E9EEEA}.m-stats strong{font-size:17px;font-weight:600}.m-stats .is-blue{color:#7B9CFF}.m-stats .is-blue span{color:#7B9CFF}
.m-water{width:100%;margin-top:10px;overflow:visible}.m-water text{font-size:9px;fill:#A9B2AC;font-family:var(--dosy-font-ui)}
.m-avg,.m-today{stroke-dasharray:1;stroke-dashoffset:1;animation:q-draw 1.4s .5s ease-out forwards}.m-today{animation-delay:1s}
.m-area{opacity:0;animation:q-fade .8s 2s forwards}.m-pulse{animation:m-pulse 1.8s 2.2s ease-in-out infinite}
@keyframes m-pulse{50%{stroke-width:6}}
.f-grid{position:absolute;inset:-20% -30%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:perspective(1000px) rotateX(18deg) rotateZ(-14deg)}
.m-col{position:relative;overflow:visible}.m-track{display:grid;gap:14px;animation:m-scroll 26s linear infinite}.m-col:nth-child(2) .m-track{animation-duration:32s;animation-direction:reverse}.m-col:nth-child(3) .m-track{animation-duration:29s}
@keyframes m-scroll{to{transform:translateY(-50%)}}
.f-grid .m-card{position:relative;padding:16px;min-height:160px;background:rgba(255,255,255,.1)}
.m-title{display:flex;align-items:center;gap:6px;justify-content:space-between;font-weight:600;font-size:12px;color:#E4E9E5}.m-title b{opacity:.5}
.m-row{display:flex;gap:10px;align-items:center;margin:8px 0}.m-bars{flex:1}.m-bars p{margin:6px 0 3px;font-size:10px;color:#C8D0CA}.m-bars em{font-style:normal;font-weight:700}
.m-bars i{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.14);position:relative}.m-bars i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--c);border-radius:4px}
.m-rings{width:74px;height:74px;transform:rotate(-90deg)}.m-rings circle{fill:none;stroke-width:6;stroke-linecap:round}
.m-card strong{display:block;font-size:22px;font-weight:600;color:#fff;margin-top:10px}.m-card small{display:block;color:#AEB8B1;font-size:10px;margin-top:4px}
.m-pills{display:flex;gap:4px;margin:10px 0}.m-pills span{display:grid;justify-items:center;gap:3px}.m-pills i{width:11px;height:18px;border-radius:6px;background:rgba(255,255,255,.18)}.m-pills i.on{background:#6F93FF}.m-pills i.ring{border:2px solid #6F93FF;background:none;box-sizing:border-box}
.m-dotb{width:10px;height:10px;border-radius:3px;background:#6F93FF;display:inline-block}.m-sq{width:10px;height:10px;border-radius:2px;background:#F2A93B;display:inline-block}
.m-badge{display:inline-block;margin-top:8px;padding:2px 6px;border-radius:6px;background:rgba(242,169,59,.2);color:#F2B85B;font-size:10px}
.m-weight svg{width:100%;margin-top:6px}
.m-prog{display:block;height:5px;border-radius:5px;background:rgba(255,255,255,.14);margin-top:8px}.m-prog b{display:block;width:55%;height:100%;border-radius:5px;background:#6F93FF}
.m-vbars{display:flex;align-items:end;gap:5px;height:70px;margin-top:10px}.m-vbars i{flex:1;height:var(--h);border-radius:4px 4px 2px 2px;background:var(--c,rgba(111,147,255,.38))}.m-vbars.is-gold i{background:var(--c,rgba(242,169,59,.4))}
.f-stack{position:absolute;left:50%;top:10%;width:268px;transform:translateX(-50%)}
.m-best{position:relative;z-index:3;border-radius:18px;padding:16px 16px 18px;text-align:center;color:var(--q-ink);background:radial-gradient(90% 70% at 50% 30%,#B7EE8F,#86D25A 70%,#7CC853);box-shadow:0 24px 50px rgba(0,0,0,.25);animation:m-drop .7s .1s var(--q-spring) both}
@keyframes m-drop{from{opacity:0;transform:translateY(-40px) scale(.94)}to{opacity:1;transform:none}}
.m-best-k{font:700 9px/1 var(--dosy-font-ui);letter-spacing:.06em}.m-thumb{position:absolute;right:14px;top:12px;font-size:16px;display:grid;justify-items:center}.m-thumb small{font-size:8px;font-weight:600}
.m-plate{position:relative;margin:8px auto 4px;width:120px}.m-plate svg{width:120px}.m-top{position:absolute;left:50%;top:-4px;transform:translateX(-50%);background:#F7D55A;border-radius:6px;padding:2px 8px;font-size:9px;font-weight:700;z-index:1}
.m-tags{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:8px 0 10px}.m-tags span{background:rgba(255,255,255,.55);border-radius:99px;padding:4px 8px;font-size:9px;font-weight:600}
.m-best strong{display:block;font:600 17px/1.2 var(--dosy-font-ui);letter-spacing:-.02em}.m-best small{display:block;font-size:10px;color:#2F4A36;margin:6px 8px 10px}
.m-more{display:inline-block;background:var(--q-dark);color:#fff;border-radius:99px;padding:6px 14px;font-size:11px;font-weight:600}
.m-alt{position:relative;z-index:2;margin:-6px 10px 0;border-radius:0 0 14px 14px;background:#fff;color:var(--q-ink);padding:14px 14px 12px;box-shadow:0 12px 30px rgba(0,0,0,.18);animation:m-drop .6s .5s var(--q-ease) both}
.m-alt strong{display:block;font-size:14px;font-weight:600}.m-alt small{display:block;font-size:10px;color:#7A847D;margin-top:3px}.m-alt-k{font-size:9px;color:var(--q-green);font-weight:700}
.m-score{position:absolute;right:14px;top:18px;font-size:10px;color:var(--q-green);font-weight:700}
.m-alt2{z-index:1;margin:-4px 22px 0;filter:blur(1px);opacity:.85;animation-delay:.75s}.m-alt3{z-index:0;margin:-4px 34px 0;height:34px;filter:blur(2.5px);opacity:.6;animation-delay:.95s}

/* You're not alone */
.q-photos{position:relative;height:190px;margin:0 auto 18px;max-width:340px}
.q-photos img{position:absolute;top:10px;width:120px;height:150px;object-fit:cover;border-radius:18px;border:2px solid #fff;box-shadow:0 18px 36px rgba(28,43,36,.18);left:50%;margin-left:-60px;animation:q-fan .8s var(--q-spring) both}
.q-photos img:nth-child(1){--r:-7deg;--x:-104px;--y:0px;height:136px;animation-delay:.15s}
.q-photos img:nth-child(3){--r:8deg;--x:104px;--y:18px;height:160px;animation-delay:.25s}
.q-photos img:nth-child(2){z-index:2;width:146px;height:118px;margin-left:-73px;top:24px;--r:0deg;--x:0px;--y:0px}
@keyframes q-fan{from{opacity:0;transform:translate(0,20px) rotate(0) scale(.9)}to{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r))}}
.q-center{text-align:center}
.q-center h1{font-size:30px!important;margin-bottom:14px!important;animation:q-up .5s .3s var(--q-ease) both}
.q-center p{font-size:15px;line-height:1.55;color:#56615A;margin:0 0 14px;font-weight:500;animation:q-up .5s .38s var(--q-ease) both}
.q-hl{color:var(--q-green);font-weight:700}

/* Plan ready */
.q-ready{text-align:center}
.q-badge-check{width:50px;height:50px;border-radius:50%;background:var(--q-green);color:#fff;display:grid;place-items:center;margin:0 auto 14px;animation:q-pop .6s .1s var(--q-spring) both}.q-badge-check svg{width:24px;height:24px}
.q-kicker{font-size:14px;color:var(--q-muted);font-weight:500;margin:0 0 6px;animation:q-up .5s .2s both}
.q-ready h1{font-size:32px!important;animation:q-up .5s .28s var(--q-ease) both}
.q-planchart{position:relative;height:190px;margin:26px -20px 6px;font-family:var(--dosy-font-ui)}
.q-planchart svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:150px}
.q-pc-line{stroke-dasharray:1;stroke-dashoffset:1;animation:q-draw 1.6s .5s ease-in-out forwards}.q-pc-area{opacity:0;animation:q-fade 1s 1.2s forwards}
.q-pc-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--q-green);transform:translate(-50%,-50%) scale(0);animation:q-dot .45s var(--q-spring) forwards}
@keyframes q-dot{to{transform:translate(-50%,-50%) scale(1)}}
.q-pc-dot.d1{left:14.5%;top:70px;animation-delay:.6s}.q-pc-dot.d2{left:82.9%;top:151px;width:18px;height:18px;box-shadow:0 0 0 8px rgba(14,138,69,.2);animation-delay:1.9s}
.q-pc-stem{position:absolute;width:0;border-left:1.5px dashed #BFC7C1;opacity:0;animation:q-fade .4s forwards}.q-pc-stem.s1{left:14.5%;top:32px;height:60px;animation-delay:.7s}.q-pc-stem.s2{left:82.9%;top:118px;height:62px;animation-delay:2s}
.q-pc-v{position:absolute;font:700 17px/1 var(--dosy-font-ui);color:#3C4842;transform:translateX(-50%);opacity:0;animation:q-up .4s forwards}.q-pc-v.v1{left:14.5%;top:8px;animation-delay:.7s}.q-pc-v.v2{left:82.9%;top:94px;animation-delay:2s}
.q-pc-today{position:absolute;left:14.5%;top:88px;transform:translateX(-50%);font-size:12px;color:#8C958F;opacity:0;animation:q-fade .4s .8s forwards}
.q-pc-date{position:absolute;right:4%;bottom:0;font:700 14px var(--dosy-font-ui);color:var(--q-green);opacity:0;animation:q-fade .4s 2.1s forwards}
.q-checks{list-style:none;padding:0;margin:26px 0 0;text-align:left;display:grid;gap:14px}
.q-checks li{display:flex;gap:14px;align-items:center;font-size:14px;font-weight:500;color:#4F5A53;line-height:1.45;opacity:0;animation:q-up .45s calc(1.2s + var(--i)*.2s) var(--q-ease) forwards}
.q-checks li span{width:30px;height:30px;border-radius:50%;background:var(--q-lime);color:var(--q-green);display:grid;place-items:center;flex:none}.q-checks li span svg{width:16px;height:16px}

.q-soft-card{text-align:left;margin-top:20px;border-radius:16px;padding:18px 20px;background:rgba(255,255,255,.62);border:1px solid var(--q-card-b);opacity:0;animation:q-up .5s 1.4s var(--q-ease) forwards}
.q-soft-card strong{font-size:18px;font-weight:600;letter-spacing:-.02em}.q-soft-card p{font-size:13px;line-height:1.55;color:var(--q-muted);margin:6px 0 0}

/* Loading */
.q-screen.q-loading{padding-top:70px}
.q-loading{position:relative;color:#fff}
.q-loading h1{text-align:center;font-size:32px!important}
.q-loading>.q-sub{text-align:center;color:rgba(255,255,255,.6);margin-top:6px}
.q-load-list{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:22px;transition:opacity .3s,filter .3s}
.q-load-list.is-dim{opacity:.4}
.q-load-label{display:flex;align-items:center;gap:10px;font:600 14px var(--dosy-font-ui);color:rgba(255,255,255,.55);transition:color .3s}
.q-load-row.is-active .q-load-label,.q-load-row.is-done .q-load-label{color:#fff}
.q-load-ico{width:18px;height:18px;display:grid;place-items:center}.q-load-ico svg{width:18px;height:18px}
.q-spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;animation:q-rot .8s linear infinite}
@keyframes q-rot{to{transform:rotate(360deg)}}
.q-load-bar{display:block;height:10px;margin-top:10px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);overflow:hidden}
.q-load-bar b{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#93B8F5,#F6D9A6 25%,#CFE6B9 50%,#F6D9A6 75%,#93B8F5);background-size:200% 100%;animation:q-sheen 2.4s linear infinite}
@keyframes q-sheen{to{background-position:-200% 0}}
.q-social{margin-top:40px;text-align:center}
.q-social h2{font:500 19px var(--dosy-font-ui);letter-spacing:-.02em;margin:0 0 14px}
.q-review{border-radius:22px;background:rgba(255,255,255,.08);padding:22px 22px 20px;min-height:96px}
.q-stars{color:#F6B73C;letter-spacing:2px;font-size:20px}.q-stars.is-tip{color:var(--q-lime)}
.q-review p{font-size:14px;line-height:1.55;margin:10px 0 0;color:rgba(255,255,255,.9)}.q-review p.is-in{animation:q-up .4s both}.q-review small{display:block;margin-top:8px;color:rgba(255,255,255,.5);font-size:12px}
.q-pop{position:absolute;left:-16px;right:-16px;top:250px;z-index:10;transform:translateY(40px);opacity:0;transition:transform .45s var(--q-spring),opacity .3s}
.q-pop.is-open{transform:none;opacity:1}
.q-pop-card{border-radius:30px;padding:24px 24px 20px;background:rgba(250,246,236,.97);border:2px solid rgba(255,255,255,.9);box-shadow:0 40px 80px rgba(0,0,0,.35);color:var(--q-ink)}
.q-pop-card h2{font:500 27px/1.2 var(--dosy-font-ui);letter-spacing:-.04em;margin:20px 0 20px;color:var(--q-ink)}
.q-pop-art{position:relative;height:160px;border-radius:22px;background:#122C19;overflow:hidden}
.art-protein .b1,.art-protein .b2{position:absolute;bottom:0;width:90px;display:grid;justify-items:center;padding-top:14px;border-radius:14px 14px 0 0;font:700 20px var(--dosy-font-ui)}
.art-protein .b1{left:24%;height:64px;background:#40544A;border:1px solid rgba(255,255,255,.5);color:#fff;animation:q-grow .6s .3s var(--q-ease) both}
.art-protein .b2{left:52%;height:134px;background:linear-gradient(180deg,#FBF1D6,#E7F2CC);color:var(--q-ink);box-shadow:0 0 30px rgba(244,235,201,.45);animation:q-grow .8s .6s var(--q-spring) both}
@keyframes q-grow{from{transform:scaleY(.2);transform-origin:bottom;opacity:0}to{transform:none;opacity:1}}
.arrow-up{position:absolute;left:36%;top:14px;width:80px;animation:q-fade .5s 1s both}
.art-shield{display:grid;place-items:center}.art-shield svg{width:92px;position:relative;z-index:1;filter:drop-shadow(0 0 22px rgba(255,240,190,.4));animation:q-pop .7s .2s var(--q-spring) both}
.art-shield i{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;width:170px;height:170px}.art-shield i+i{width:230px;height:230px}
.art-commit svg{position:absolute;inset:0;width:100%;height:100%}.art-commit small{position:absolute;left:14%;top:32%;font-size:10px;font-weight:700;color:var(--q-ink)}
.art-commit span{position:absolute;width:10px;height:10px;border-radius:50%;background:#7ED957;border:2px solid #1D3129;box-shadow:0 0 0 2px #fff}.art-commit .d1{left:10%;top:22%}.art-commit .d2{left:88%;top:80%}
.q-pop .q-btn{min-height:52px}

/* Email */
.q-email-box{text-align:center;padding-top:10vh}
.q-lime-check{width:56px;height:56px;border-radius:14px;background:var(--q-lime);display:grid;place-items:center;margin:0 auto 14px;color:var(--q-ink);animation:q-pop .6s var(--q-spring) both}.q-lime-check svg{width:24px;height:24px}
.q-email h1{font-size:32px!important}
.q-email-box>.q-sub{max-width:330px;margin:10px auto 0}
.q-email .contact-step{padding:0;margin:0;max-width:none}
.q-email form{display:grid;gap:12px;margin:22px auto 0;text-align:left}
.q-email .q-field{display:block;font-size:0;color:transparent;margin:0}
.q-email .q-field input,.q-email .phone-field input{width:100%;box-sizing:border-box;min-height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.95);background:rgba(255,253,247,.8);padding:0 18px;font:500 16px var(--dosy-font-ui);color:var(--q-ink);outline:none;transition:border-color .2s,box-shadow .2s}
.q-email input::placeholder{color:#A5ACA7}
.q-email input:focus{border-color:#7F8A83;box-shadow:0 0 0 3px rgba(29,50,41,.06)}
.q-email label[for=contact-phone]{display:none}
.q-email .phone-field{display:flex;gap:8px}
.q-email .phone-country{position:relative;display:flex;align-items:center;gap:6px;padding:0 12px;min-height:52px;border-radius:14px;border:1px solid rgba(255,255,255,.95);background:rgba(255,253,247,.8);font:600 14px var(--dosy-font-ui);flex:none}
.q-email .phone-country select{position:absolute;inset:0;opacity:0;cursor:pointer}
.q-email .phone-flag{width:20px;border-radius:3px}
.q-email #phone-help{font-size:11px;color:#8A938D;line-height:1.4;margin-top:-4px}
.q-email .contact-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.4;color:#65706A}
.q-email .contact-consent input{margin-top:2px;accent-color:var(--q-dark)}
.q-email .contact-error{color:#A63732;font-size:13px;margin:0;min-height:0}.q-email .contact-error:empty{display:none}
.q-email .q-btn{margin-top:4px;min-height:52px}
.q-email .contact-note{text-align:center;font-size:12px;color:#7A847D;margin:4px 0 0;line-height:1.5}.q-email .contact-note a{color:var(--q-ink);font-weight:700;text-decoration:none}
.q-join{display:flex;align-items:center;gap:12px;justify-content:center;margin:24px auto 0;max-width:340px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.62);border:1px solid var(--q-card-b);font-size:14px;font-weight:500}
.q-join p{margin:0}.q-avatars{display:flex}.q-avatars i{width:22px;height:22px;border-radius:50%;border:2px solid #fff;margin-left:-6px;background:linear-gradient(135deg,#C99374,#7A4E3A)}.q-avatars i:nth-child(2){background:linear-gradient(135deg,#E9B8A5,#B77B66)}.q-avatars i:nth-child(3){background:linear-gradient(135deg,#8C5B45,#4A2E22)}

/* Tickets */
.q-dark-wrap.is-center{text-align:center}
.q-scratch h1,.q-congrats h1{font-size:30px!important;line-height:1.2!important;animation:q-up .5s var(--q-ease) both}
.q-ticket{position:relative;width:min(360px,100%);aspect-ratio:360/366;margin:44px auto 0;border-radius:22px;-webkit-mask:radial-gradient(circle 20px at 0 64%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 20px at 100% 64%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 20px at 0 64%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 20px at 100% 64%,transparent 98%,#000) right/51% 100% no-repeat}
.q-ticket-inner,.q-prize{background:linear-gradient(135deg,#FBF4E4 0%,#F4F6EC 45%,#E7EEF6 100%);color:#2E4136;display:flex;flex-direction:column;align-items:center}
.q-ticket-inner{position:absolute;inset:0;border-radius:inherit}
.q-scratch-card canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab;transition:opacity .6s}
.q-scratch-card{animation:q-pop .7s .2s var(--q-spring) both;box-shadow:0 0 0 2px rgba(255,255,255,.85) inset}
.q-scratch-card.is-revealed canvas,.q-scratch-card.is-revealed .q-scratch-hint{opacity:0;pointer-events:none}
.q-scratch-card::after{content:"";position:absolute;inset:8px;border:1.5px solid rgba(214,140,30,.35);border-radius:16px;pointer-events:none;transition:opacity .4s}.q-scratch-card.is-revealed::after{opacity:0}
.q-scratch-hint{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:6px;color:#3E4F55;pointer-events:none;transition:opacity .3s}
.q-scratch-hint svg{width:48px;height:48px;animation:q-wiggle 1.6s ease-in-out infinite}.q-scratch-hint b{font:700 15px var(--dosy-font-ui)}
.q-scratch-card.is-scratching .q-scratch-hint{opacity:0}
@keyframes q-wiggle{25%{transform:translateX(-6px) rotate(-8deg)}75%{transform:translateX(6px) rotate(8deg)}}
.q-tk-limited{margin-top:13%;border:1.5px solid #3E5146;border-radius:99px;padding:5px 12px;font:600 13px var(--dosy-font-ui)}
.q-tk-pct{display:flex;align-items:center;gap:8px;margin-top:4%}.q-tk-pct b{font:500 104px/1 var(--dosy-font-ui);letter-spacing:-.06em;color:#2E4136}.q-tk-pct span{display:grid;text-align:left;font:500 36px/1 var(--dosy-font-ui);letter-spacing:-.03em}
.q-tk-perf{position:absolute;left:12%;right:12%;top:64%;border-top:6px dotted #C6CBC8;height:0}
.q-tk-code{position:absolute;bottom:13%;font:700 30px var(--dosy-font-ui);letter-spacing:-.02em;color:#26382E}
.q-tk-star{position:absolute;color:#D8D6CE;font-style:normal;font-size:18px}.q-tk-star.s1{left:6%;top:4%}.q-tk-star.s2{right:6%;top:4%}.q-tk-star.s3{left:6%;bottom:4%}.q-tk-star.s4{right:6%;bottom:4%}
.q-prize{width:min(360px,100%);box-shadow:0 0 0 2px rgba(255,255,255,.9) inset;animation:q-prize .9s .15s var(--q-spring) both}
@keyframes q-prize{0%{opacity:0;transform:scale(.4) rotate(-8deg)}60%{opacity:1;transform:scale(1.06) rotate(2deg)}100%{transform:none}}
.q-note{color:rgba(255,255,255,.82);font-size:13px;line-height:1.5;margin:26px auto 0;max-width:300px;animation:q-fade .5s .9s both}
.q-confetti{position:fixed;inset:0;pointer-events:none;z-index:0}
.q-congrats .q-dark-wrap>*:not(canvas){position:relative;z-index:1}

/* Paywall */
.q-screen.q-paywall{max-width:600px;padding-top:0}
.q-paybar{position:fixed;inset:0 0 auto;z-index:30;padding-top:env(safe-area-inset-top,0px);pointer-events:none}.q-paybar-in>*{pointer-events:auto}
.q-paybar-in{max-width:560px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;min-height:48px}
.q-timer{display:grid;grid-template-columns:auto auto auto;font:600 18px/1 var(--dosy-font-ui);font-variant-numeric:tabular-nums;color:var(--q-ink)}
.q-timer small{grid-column:1/-1;display:flex;justify-content:space-between;font-size:10px;font-weight:500;color:#7A847D;margin-top:3px}
.q-timer[hidden]{display:none}.q-timer[hidden]+.q-btn{margin-left:auto}
.q-pay{padding-top:96px}
.q-pay-hero{text-align:center;margin-bottom:34px}
.q-pay-hero h1{font-size:clamp(34px,6vw,44px)!important;line-height:1.1!important;animation:q-up .5s both}
.q-pay-hero p{font-size:15px;line-height:1.55;color:#5E6962;margin:14px auto 0;max-width:520px;animation:q-up .5s .08s both}
.q-pcard{border-radius:28px;padding:26px 30px;margin:0 auto 22px;max-width:540px;background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.62));border:1px solid var(--q-card-b);box-shadow:0 14px 40px rgba(28,43,36,.07);animation:q-up .55s .12s var(--q-ease) both}
.q-pcard-k{display:flex;align-items:center;gap:8px;font:600 15px var(--dosy-font-ui);margin:0}.q-pcard-k svg{width:18px;height:18px}
.q-pcard h2{font:500 22px/1.25 var(--dosy-font-ui);letter-spacing:-.03em;margin:8px 0 18px}
.q-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.q-tag{display:inline-block;border-radius:99px;padding:5px 12px;font:700 12px var(--dosy-font-ui);margin-bottom:12px}.q-tag.is-dark{background:var(--q-dark);color:#fff}.q-tag.is-lime{background:var(--q-lime)}
.q-fig{aspect-ratio:3/4;border-radius:18px;overflow:hidden}.q-fig img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 12%;mix-blend-mode:multiply;transform:scale(1.18);transform-origin:50% 20%}
.q-fig.is-warm{background:linear-gradient(160deg,#FCE7C1,#F4EAD0 60%,#EDE7D8)}.q-fig.is-mint{background:linear-gradient(160deg,#D7EBCB,#CBE3D6 60%,#C2DCD3)}
.q-compare p{margin:12px 0 0;font-size:14px}.q-compare p+p{margin-top:6px}
.q-level{display:flex;gap:4px;margin-top:8px}.q-level i{flex:1;height:5px;border-radius:5px;background:#E3E4E0}.q-level i.on{background:var(--q-green)}.q-level.is-gold i.on{background:#EDB23A}
.q-muted{color:var(--q-muted);font-size:14px;margin:16px 0 2px}
.q-bignum{font:500 36px/1.1 var(--dosy-font-ui);letter-spacing:-.04em;margin:0;font-variant-numeric:tabular-nums}.q-bignum small{font-size:16px;color:var(--q-muted);letter-spacing:0}
.q-macro{display:flex;gap:3px;height:24px;margin:18px 0 10px}.q-macro i{width:var(--w);background:var(--c);border-radius:4px;transform-origin:left;animation:q-bar .9s .3s var(--q-ease) both}.q-macro i:first-child{border-radius:99px 4px 4px 99px}.q-macro i:last-child{border-radius:4px 99px 99px 4px}
@keyframes q-bar{from{transform:scaleX(0)}}
.q-macros{display:flex;justify-content:space-between}.q-macros span{display:flex;align-items:center;gap:6px;font-size:13px;color:#56615A}.q-macros span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c)}
.q-macros b{display:block;font:500 30px/1.2 var(--dosy-font-ui);letter-spacing:-.03em}.q-macros b small{font-size:15px;color:var(--q-muted)}.q-macros div:last-child{text-align:right}.q-macros div:last-child span{justify-content:flex-end}
.q-small{font-size:13px;line-height:1.55;color:#5E6962;margin:14px 0 0}
.q-water{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.q-cups{display:flex;gap:6px}.q-cups i{width:22px;height:28px;background:#3E7BEF;clip-path:polygon(0 0,100% 0,86% 100%,14% 100%);border-radius:2px;animation:q-up .4s both}.q-cups i:nth-child(2){animation-delay:.08s}.q-cups i:nth-child(3){animation-delay:.16s}.q-cups i:nth-child(4){animation-delay:.24s}.q-cups i:nth-child(5){animation-delay:.32s}
.q-how,.q-why{list-style:none;padding:0;margin:18px 0 0}
.q-how li{display:flex;gap:18px;padding:16px 0;border-top:1px solid #E4E6E2}.q-how li:first-child{border:0;padding-top:0}.q-how li>span{font-size:26px;line-height:1}
.q-how strong{font:500 18px var(--dosy-font-ui);letter-spacing:-.02em}.q-how p{font-size:13px;color:#5E6962;margin:4px 0 0;line-height:1.5}
.q-why li{display:flex;gap:12px;align-items:center;padding:14px 0;border-top:1px solid #E4E6E2;font-size:16px;font-weight:500}.q-why li:first-child{border:0}
.q-offer{margin:44px auto 30px;max-width:540px;border-radius:32px;padding:34px 24px 30px;background:var(--q-dark);color:#fff;box-shadow:0 30px 60px rgba(29,50,41,.28);scroll-margin-top:70px}
.q-offer h2{text-align:center;font:500 clamp(28px,5vw,36px)/1.15 var(--dosy-font-ui);letter-spacing:-.04em;margin:0 0 26px}
.q-coupon{position:relative;border-radius:20px;padding:22px 24px 20px;background:linear-gradient(120deg,#FFF6E4,#F5F7EF 50%,#E6EEF6);color:var(--q-ink);-webkit-mask:radial-gradient(circle 12px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 12px at 0 50%,transparent 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 12px at 100% 50%,transparent 98%,#000) right/51% 100% no-repeat}
.q-coupon p{text-align:center;margin:0;font-size:17px;font-weight:500}
.q-coupon-perf{display:block;border-top:5px dotted #D3D7D4;margin:16px 6px}
.q-coupon-row{display:flex;align-items:center;gap:14px}.q-coupon-code{flex:1;display:flex;gap:8px;align-items:center;background:rgba(255,255,255,.85);border-radius:8px;padding:9px 12px;font-size:15px}.q-coupon-code svg{width:14px;height:14px}
.q-coupon-time{font-size:16px;font-variant-numeric:tabular-nums}
.q-plans{border:0;padding:0;margin:26px 0 0;display:grid;gap:12px}
.q-plan{position:relative;display:grid;grid-template-columns:24px 1fr auto;gap:14px;align-items:center;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.08);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden}
.q-plan input{position:absolute;opacity:0;pointer-events:none}
.q-plan:has(input:focus-visible){outline:2px solid var(--q-lime);outline-offset:2px}
.q-plan.is-on{background:rgba(255,255,255,.17);border-color:#B7DC8C}
.q-plan-ribbon{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;height:30px;background:var(--q-lime);color:var(--q-dark);font:600 12px/1 var(--dosy-font-ui);letter-spacing:.04em}
.q-plan-ribbon b{font-weight:800;letter-spacing:.06em}
.q-plan-ribbon>span{padding:4px 8px;border-radius:99px;background:var(--q-dark);color:var(--q-lime);font-weight:700}
.q-plan:has(.q-plan-ribbon){padding-top:46px;border-color:var(--q-lime);box-shadow:0 10px 28px -14px rgba(195,226,154,.55)}
.q-plan-radio{width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);display:grid;place-items:center;color:transparent}.q-plan-radio svg{width:13px;height:13px}
.q-plan.is-on .q-plan-radio{background:#A7D873;border-color:#A7D873;color:var(--q-dark)}
.q-plan-name strong{display:block;font:500 19px/1.2 var(--dosy-font-ui);letter-spacing:-.02em}.q-plan-name small{font-size:13px;color:rgba(255,255,255,.7)}.q-plan-name s{color:rgba(255,255,255,.5)}
.q-plan-day{text-align:right}.q-plan-day strong{display:block;font:500 19px/1.2 var(--dosy-font-ui);font-variant-numeric:tabular-nums}.q-plan-day small{font-size:13px;color:rgba(255,255,255,.6)}
.q-renew{display:flex;justify-content:center;align-items:center;gap:8px;font:600 13px var(--dosy-font-ui);margin:22px 0 12px}.q-renew span{width:18px;height:18px;border-radius:50%;background:#2FA05A;display:grid;place-items:center}.q-renew svg{width:11px;height:11px}
.q-paybtns{display:grid;gap:10px}
.q-paybtns button{min-height:48px;border-radius:12px;font:600 17px var(--dosy-font-ui);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:transform .15s,filter .2s}
.q-paybtns button:hover{filter:brightness(1.15)}.q-paybtns button:active{transform:scale(.985)}
.q-apple,.q-gpay{background:#000;color:#fff;border:1px solid rgba(255,255,255,.25)}.q-apple svg{width:16px;height:19px;margin-top:-3px}
.q-other{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);font-size:14px!important}
.q-pay-logos{display:flex;justify-content:center;gap:8px;margin:22px 0 4px;flex-wrap:wrap}
.q-pay-logos span{height:30px;min-width:44px;padding:0 8px;border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;font:900 13px var(--dosy-font-ui);color:#1A1F71;box-sizing:border-box}
.lg-secure{flex-direction:column;font-size:9px!important;color:#1E6F37!important;line-height:1.1}.lg-secure small{font-size:6px;color:#333}
.lg-visa{font-style:italic;letter-spacing:-.02em}
.lg-mc i,.lg-maestro i{width:16px;height:16px;border-radius:50%;background:#EB001B;display:block}.lg-mc i+i{background:#F79E1B;margin-left:-7px;mix-blend-mode:multiply}.lg-maestro i{background:#0099DF}.lg-maestro i+i{background:#ED0006;margin-left:-7px;mix-blend-mode:multiply}
.lg-amex{background:#2E77BC!important;color:#fff!important;font-size:10px!important}
.q-terms{font-size:9.5px;line-height:1.45;color:rgba(255,255,255,.5);margin:12px 0 0}
/* Paywall member cases (same carousel as quiz B's preview). */
.q-pay-cases{max-width:560px;margin-left:auto;margin-right:auto}.q-proof.q-pay-cases h2{text-align:center;font:500 clamp(28px,5vw,36px)/1.15 var(--dosy-font-ui);letter-spacing:-.04em;margin:40px 0 24px;color:var(--q-ink)}
.q-offer .paywall-inline-checkout{margin-top:20px;border-radius:18px;background:#fff;color:var(--q-ink);padding:18px}
.q-offer .inline-checkout-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.q-offer .inline-checkout-heading h2{font:600 18px var(--dosy-font-ui);margin:0;text-align:left;color:var(--q-ink)}
.q-offer .paywall-inline-checkout .text{background:none;border:0;color:var(--q-green);font:600 13px var(--dosy-font-ui);cursor:pointer}
.q-offer .checkout-contact-summary{display:flex;justify-content:space-between;font-size:13px;margin:8px 0}.q-offer .checkout-next-step,.q-offer .checkout-legal-note,.q-offer .inline-checkout-status{font-size:12px;color:#5E6962}.q-offer .checkout-legal-note a{color:var(--q-ink)}
.q-offer [data-checkout-retry]{margin-top:10px;min-height:44px;border-radius:12px;border:1px solid #A6ADA7;background:#fff;font:600 14px var(--dosy-font-ui);width:100%}
.inline-checkout-open .q-paybtns,.inline-checkout-open .q-pay-logos{display:none}
.q-gift{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:rgba(40,56,48,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s}
.q-gift.is-open{opacity:1}
.q-gift-card{position:relative;width:min(460px,100%);box-sizing:border-box;border-radius:32px;padding:120px 32px 32px;margin-top:120px;text-align:center;background:linear-gradient(180deg,#FBF8F0,#F2ECDD);border:2px solid #fff;box-shadow:0 40px 80px rgba(0,0,0,.25);transform:translateY(30px) scale(.95);transition:transform .5s var(--q-spring)}
.q-gift.is-open .q-gift-card{transform:none}
.q-gift-box{position:absolute;left:50%;top:-150px;width:270px;transform:translateX(-50%);filter:drop-shadow(0 20px 30px rgba(0,0,0,.2));animation:q-gift 1s .2s var(--q-spring) both}
@keyframes q-gift{from{transform:translate(-50%,40px) scale(.6) rotate(-10deg);opacity:0}to{transform:translateX(-50%);opacity:1}}
.q-gift-card h2{font:500 25px/1.25 var(--dosy-font-ui);letter-spacing:-.03em;margin:0;color:var(--q-ink)}
.q-gift-pct{display:flex;justify-content:center;align-items:center;gap:16px;margin:6px 0 4px;color:#2E4E3E}.q-gift-pct b{font:500 104px/1 var(--dosy-font-ui);letter-spacing:-.06em}.q-gift-pct span{display:grid;text-align:left;font:600 42px/1 var(--dosy-font-ui);letter-spacing:-.03em}
.q-gift-time{display:flex;justify-content:center;gap:12px;align-items:start;margin:4px 0 26px;font-variant-numeric:tabular-nums}.q-gift-time span{display:grid}.q-gift-time b{font:600 22px var(--dosy-font-ui)}.q-gift-time small{font-size:11px;color:#8A938D}.q-gift-time em{font-style:normal;font-weight:700;font-size:20px}

/* Exit discount dialog (back button on the paywall, 2026-10-20): same card and gift box, a list of the discounted plans. */
.q-exit .q-gift-card{padding:112px 26px 22px}
.q-exit .q-gift-pct{margin:4px 0 0}.q-exit-line{margin:4px 0 18px;font-size:15px;color:#5B6660}.q-exit-line b{font:700 20px var(--dosy-font-ui);color:#2E4E3E}.q-exit-line s{font-size:13px;color:#8A938D}
.q-exit-sub{margin:8px 0 16px;font-size:15px;line-height:1.45;color:#5B6660}
.q-exit-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px;text-align:left}
.q-exit-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid rgba(27,46,33,.08);font-size:15px;color:var(--q-ink)}
.q-exit-list li>span:last-child{display:grid;justify-items:end;font-variant-numeric:tabular-nums}
.q-exit-list s{font-size:12px;color:#8A938D}.q-exit-list b{font:700 18px/1.15 var(--dosy-font-ui);color:#2E4E3E}.q-exit-list small{font-size:11px;color:#5B6660}
.q-exit-no{display:block;margin:12px auto 0;padding:6px 10px;border:0;background:none;font:500 14px var(--dosy-font-ui);color:#5B6660;text-decoration:underline;cursor:pointer}
.q-exit-note{margin:10px 0 0;font-size:11px;line-height:1.4;color:#8A938D}
.q-plan-day small.q-plan-permonth{display:block;margin-top:4px;font-size:12px;font-weight:600;color:rgba(255,255,255,.82);font-variant-numeric:tabular-nums}
/* Price per day leads the price column (2026-10-20). */
.q-plans .q-plan-day strong{font-size:24px;font-weight:700;letter-spacing:-.02em}
/* The recommended plan stands out (2026-10-20): a solid lime card with dark text among the dark ones, dark ribbon, glow,
   slightly larger. Selected or not, it keeps its colours. */
.q-plans .q-plan.is-rec{background:linear-gradient(180deg,#D6EEB0,#BFE08F);border:2px solid #E4F5C6;color:var(--q-dark);box-shadow:0 0 0 4px rgba(195,226,154,.22),0 22px 44px -16px rgba(195,226,154,.75);transform:scale(1.035);z-index:1}
.q-plans .q-plan.is-rec .q-plan-ribbon{height:34px;font-size:13px;background:var(--q-dark);color:var(--q-lime)}
.q-plans .q-plan.is-rec .q-plan-ribbon>span{background:var(--q-lime);color:var(--q-dark)}
.q-plans .q-plan.is-rec:has(.q-plan-ribbon){padding-top:50px}
.q-plans .q-plan.is-rec .q-plan-name strong{font-size:20px;font-weight:700;color:var(--q-dark)}
.q-plans .q-plan.is-rec .q-plan-name small,.q-plans .q-plan.is-rec .q-plan-day small{color:rgba(28,64,36,.78)}
.q-plans .q-plan.is-rec .q-plan-name s{color:rgba(28,64,36,.5)}
.q-plans .q-plan.is-rec .q-plan-save{background:var(--q-dark);color:var(--q-lime)}
.q-plans .q-plan.is-rec .q-plan-intro,.q-plans .q-plan.is-rec.is-exit .q-plan-name small b{color:var(--q-dark)}
.q-plans .q-plan.is-rec .q-plan-day strong{font-size:28px;color:var(--q-dark)}
.q-plans .q-plan.is-rec .q-plan-day small.q-plan-permonth{color:var(--q-dark)}
.q-plans .q-plan.is-rec .q-plan-radio{border-color:rgba(28,64,36,.55)}
.q-plans .q-plan.is-rec.is-on .q-plan-radio{background:var(--q-dark);border-color:var(--q-dark);color:var(--q-lime)}
.q-plan.is-exit .q-plan-name small b{color:var(--q-lime);font-weight:700}

/* Legal footer */
.dosy-quiz-legal{margin-top:10px!important;border:0!important}
body:not([data-step=paywall]) .dosy-quiz-legal{display:none}

@media (max-width:480px){
 .q-screen{padding:92px 18px 36px}
 .q-head h1,.q-screen h1{font-size:30px}
 .q-bigchart{margin-inline:-18px}
 .q-feature-stage{height:58vh;margin:0 -18px}
 .q-pcard{padding:22px 20px;border-radius:24px}
 .q-offer{margin-inline:-6px;padding:28px 16px 24px}
 .q-plan{padding:16px 14px;gap:10px}.q-plan-name strong,.q-plan-day strong{font-size:17px}
 .q-tk-pct b,.q-gift-pct b{font-size:84px}
 .q-pop{top:200px;left:-8px;right:-8px}
 .q-email-box{padding-top:2vh}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .q-line-diet,.q-line-main,.q-pc-line,.m-avg,.m-today{stroke-dashoffset:0}
}
.q-tk-pct span i,.q-gift-pct span i{font-style:normal}

/* Dosy identity: editorial serif on the second half of moment headings, logo marks. */
.q-screen h1 em,.q-offer h2 em{font-family:var(--dosy-font-editorial);font-style:normal;font-weight:400;letter-spacing:-.045em}
.q-load-logo{display:block;margin:0 auto 14px;filter:brightness(0) invert(1)}
.q-paylogo{height:24px;width:auto;margin-right:auto}
.q-paybar-in{gap:16px}
.q-timer[hidden]+.q-btn{margin-left:0}
@media (max-width:380px){.q-paylogo{height:18px}}

.q-brand{display:block;width:max-content;margin:0 auto 10px;pointer-events:auto;line-height:0}
.q-brand img{height:22px;width:auto}.q-brand-light{display:none}
body.q-is-dark .q-brand-dark{display:none}body.q-is-dark .q-brand-light{display:block}
.q-nav[hidden]{display:none}
.q-screen{padding-top:128px}
.q-header.is-bare+main .q-screen,.q-screen.q-feature{padding-top:0}
body.q-is-dark .q-screen.q-chart,body.q-is-dark .q-screen.q-scratch,body.q-is-dark .q-screen.q-congrats{padding-top:84px}
.q-screen.q-loading{padding-top:70px}
.q-screen.q-email,.q-screen.q-named{padding-top:64px}
.q-feature-stage{margin-top:48px}
@media (max-width:480px){.q-screen{padding-top:112px}.q-brand img{height:20px}}

.q-coupon-badge{position:absolute;left:18px;top:0;z-index:2;display:grid;justify-items:center;padding:6px 10px 14px;background:linear-gradient(180deg,#2E7A4A,#1C4024);color:#fff;font:600 22px/1 var(--dosy-font-ui);clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);animation:q-pop .6s var(--q-spring) both}
.q-coupon-badge small{font-size:13px;font-weight:500;margin-bottom:2px}
.q-coupon.is-gift p{padding-left:64px;text-align:left}

/* Paywall hero: the animated Dosy symbol above the title. */
.q-hero-logo{display:block;width:64px;height:auto;margin:0 auto 18px;animation:q-pop .7s var(--q-spring) both}
/* Mobile: the next-step button stays pinned to the bottom of the screen. */
@media (max-width:600px){
 .q-screen{animation-name:q-fade;padding-bottom:128px}
 .q-cta,.q-feature-copy .q-cta{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:15;padding:28px 18px calc(env(safe-area-inset-bottom,0px) + 16px);background:linear-gradient(180deg,rgba(250,246,236,0),rgba(250,246,236,.95) 40%)}
 body.q-is-dark .q-cta{background:linear-gradient(180deg,rgba(16,38,26,0),rgba(16,38,26,.95) 40%)}
 .q-options.is-long~.q-cta::before{display:none}
 .q-feature-copy{padding-bottom:20px}
}

.q-screen h1:focus,.q-screen h1:focus-visible{outline:none}
/* One corner language with the app: design-system control radius for every text button and option. */
.q-btn,.q-btn.is-pill,.q-opt,.q-pill,.q-seg button{border-radius:var(--dosy-radius-control,12px)}

/* Paywall, compact daily plan */
.q-water-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px;padding-top:16px;border-top:1px solid rgba(28,64,36,.1);font-size:14px;color:#56615A}
.q-water-row b{font:500 22px var(--dosy-font-ui);color:var(--q-ink);letter-spacing:-.02em}.q-water-row b small{font-size:13px;color:var(--q-muted)}
/* Stripe wallet buttons and card form */
.q-wallets{min-height:50px}
#q-express{min-height:0}
.q-pay-status{font-size:13px;line-height:1.5;color:rgba(255,255,255,.7);text-align:center;margin:10px 0 0}.q-pay-status[hidden]{display:none}
.q-other{display:block;width:100%;min-height:50px;margin-top:10px;border-radius:12px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);font:600 14px var(--dosy-font-ui);cursor:pointer}
.q-other[aria-expanded=true]{background:rgba(255,255,255,.08)}
.q-card-pay{margin-top:12px;padding:18px;border-radius:16px;background:#fff;color:var(--q-ink);animation:q-up .35s var(--q-ease) both}.q-card-pay[hidden]{display:none}
.q-card-pay .q-btn{margin-top:16px}
.q-pay-error{color:#A63732;font-size:13px;margin:10px 0 0}.q-pay-error:empty{display:none}
/* What you'll get */
.q-receive{max-width:560px;margin:56px auto 0;text-align:center}
.q-receive h2,.q-proof h2{font:500 clamp(28px,5vw,36px)/1.15 var(--dosy-font-ui);letter-spacing:-.04em;margin:0 0 24px;color:var(--q-ink)}
.q-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:32px;outline:none}
.q-slides::-webkit-scrollbar{display:none}
.q-slide{flex:0 0 100%;scroll-snap-align:center;box-sizing:border-box;padding:12px}
.q-slide>*{position:relative}
.q-slide{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.q-slide::before{content:"";position:absolute}
.q-slide{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.9);border-radius:32px}
.q-slide-tag,.q-slide h3,.q-phones{margin-inline:18px}
.q-slide-tag{margin-top:18px;background:rgba(255,255,255,.85);border-radius:99px;padding:6px 12px;font:700 13px var(--dosy-font-ui)}
.q-slide h3{font:500 clamp(20px,4vw,24px)/1.25 var(--dosy-font-ui);letter-spacing:-.03em;margin:14px 18px 20px}
.q-phones{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-self:stretch;padding:0 6px 22px;background-clip:padding-box}
.q-phones img{width:100%;border-radius:18px;border:4px solid #fff;box-shadow:0 14px 30px rgba(28,64,36,.14);aspect-ratio:360/779;object-fit:cover;object-position:top;box-sizing:border-box}
.q-slide.tone-blue{background:linear-gradient(160deg,rgba(214,228,242,.9),rgba(236,242,238,.8))}
.q-slide.tone-peach{background:linear-gradient(160deg,rgba(247,226,206,.9),rgba(238,242,230,.8))}
.q-slide.tone-green{background:linear-gradient(160deg,rgba(212,234,196,.9),rgba(236,242,230,.8))}
.q-slide-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:22px}
.q-slide-nav button{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--q-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(28,64,36,.1)}
.q-dots{display:flex;gap:8px;align-items:center}.q-dots i{width:8px;height:8px;border-radius:99px;background:rgba(28,64,36,.2);transition:width .3s,background .3s}.q-dots i.on{width:28px;background:var(--q-dark)}
/* Social proof (verified data only) */
.q-proof{max-width:540px;margin:56px auto 0;text-align:center}
.q-story,.q-review-card{border-radius:24px;padding:22px;margin-bottom:18px;background:rgba(255,253,247,.82);border:1px solid #fff;box-shadow:0 14px 34px rgba(28,64,36,.07)}
.q-ba{display:grid;grid-template-columns:1fr 1fr;gap:12px}.q-ba figure{margin:0}.q-ba img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px}.q-ba figcaption{font-size:13px;font-weight:600;color:#56615A;margin-top:6px}
.q-story blockquote{font:500 17px/1.5 var(--dosy-font-ui);margin:16px 0 8px}.q-story p{font-size:13px;color:#56615A;margin:0}
.q-review-card{text-align:left}.q-review-card header{display:flex;align-items:center;gap:12px}.q-review-card img{width:40px;height:40px;border-radius:50%;object-fit:cover}.q-review-card strong{flex:1}.q-review-card span{color:#F2A93B;letter-spacing:2px}.q-review-card p{font-size:14px;line-height:1.55;color:#56615A;margin:12px 0 0}
@media (max-width:480px){.q-phones{gap:8px}.q-phones img{border-width:3px;border-radius:14px}}

.q-btn.is-light{background:#F4F1E6;color:#1C4024;margin-top:12px;box-shadow:0 12px 26px rgba(0,0,0,.2)}.q-btn.is-light:hover:not(:disabled){background:#fff}.q-btn.is-light .q-chip{background:rgba(28,64,36,.1)}
.q-btn.is-light[hidden]{display:none}.q-wallets[hidden]{display:none}
.q-card-pay .q-btn{width:100%}
.q-paylogo,.q-paybar .q-timer{transition:opacity .25s,transform .25s}.q-paybar.is-scrolled .q-paylogo,.q-paybar.is-scrolled .q-timer{opacity:0;transform:translateY(-8px);pointer-events:none}
.q-sim-sub{font-size:15px;color:#56615A;margin:-12px 0 22px}
.q-sim .q-ba img{aspect-ratio:5/4;object-position:center}
.q-sim-note{font-size:12px;line-height:1.5;color:#7A847D;margin:4px 12px 0}
.q-ba figure{position:relative}.q-ai-badge{position:absolute;left:8px;top:8px;z-index:1;background:rgba(18,44,25,.72);color:#fff;font:600 10px/1 var(--dosy-font-ui);padding:5px 7px;border-radius:6px;backdrop-filter:blur(4px)}
.q-sim .q-ai-badge{background:rgba(255,255,255,.9);color:var(--q-ink);font-size:11px;padding:5px 9px}
.q-offer-2{margin-top:48px}.q-offer-2 .q-btn.is-light{margin-top:6px}

/* Mobile paywall: pinned "Get my plan" button that follows the scroll. */
.q-paydock{display:none}
@media (max-width:600px){
 .q-paydock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:25;padding:24px 18px calc(env(safe-area-inset-bottom,0px) + 16px);background:linear-gradient(180deg,rgba(250,246,236,0),rgba(250,246,236,.95) 40%);transition:transform .3s var(--q-ease),opacity .3s}
 .q-paydock.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
 .q-paybar .q-btn.is-pill{display:none}
 .q-screen.q-paywall{padding-bottom:110px}
}
.q-plan-intro{display:block;font-style:normal;font-size:12px;font-weight:700;color:#B7DC8C;margin-top:3px}
/* Trial test arm B: the $1 leads the annual card's price column. */
.q-plan-day.is-trial strong{font-size:26px;font-weight:700;color:var(--q-lime)}.q-plan-day.is-trial small{color:var(--q-lime);font-weight:600}

/* Cover (quiz arm B): the ad's promise before the first question. */
.q-screen.q-cover{padding-top:84px}
.q-cover-art{border-radius:24px;overflow:hidden;aspect-ratio:1/1;max-height:min(46vh,448px);margin:0 auto 22px;background:#EFE9DC;box-shadow:0 18px 40px -24px rgba(27,46,33,.35);animation:q-up .6s var(--q-ease) both}
.q-cover-art img{display:block;width:100%;height:100%;object-fit:cover}
.q-cover-copy{text-align:center}
.q-screen.q-cover h1{font-size:30px;line-height:1.14;animation:q-up .6s .12s var(--q-ease) both}
.q-cover h1 em{display:block;color:#2E6B3F;font-size:.86em;margin-top:6px}
.q-cover-sub{font-size:15px;line-height:1.5;color:var(--q-muted,#5B6B60);margin:12px auto 0;max-width:380px;font-weight:500;animation:q-up .6s .2s var(--q-ease) both}
.q-cover-note{font-size:13px;color:var(--q-muted,#5B6B60);margin:16px 0 0;animation:q-up .6s .26s var(--q-ease) both}
.q-cover .q-cta{margin-top:22px}
@media (max-width:480px){.q-screen.q-cover{padding-top:72px}.q-screen.q-cover h1{font-size:26px}.q-cover-art{max-height:40vh;border-radius:20px;margin-bottom:18px}}

/* Pay button stays hidden until the Stripe form is ready (see mountPay). */
.q-card-pay [data-pay][hidden]{display:none}
/* Language switcher (top right of the quiz header): globe + code, native picker on tap. */
.q-lang{position:absolute;top:calc(env(safe-area-inset-top,0px) + 12px);right:16px;display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border-radius:99px;border:1px solid rgba(27,46,33,.14);background:rgba(255,255,255,.7);color:var(--q-ink);font:600 12px/1 var(--dosy-font-ui);letter-spacing:.04em;pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.q-lang select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}
.q-lang:focus-within{outline:2px solid var(--q-dark);outline-offset:2px}
body.q-is-dark .q-lang{color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1)}
/* Cover: two real member cases (before/after), stacked, with the permission/results note. */
.q-cover-cases{margin:0 auto 20px;display:grid;gap:8px;animation:q-up .6s var(--q-ease) both}
.q-cover-cases img{display:block;width:100%;height:auto;aspect-ratio:1440/652;object-fit:cover;border-radius:16px;background:#EFE9DC;box-shadow:0 14px 30px -22px rgba(27,46,33,.4)}
.q-cover-cases figcaption{font-size:11px;line-height:1.4;color:var(--q-muted);text-align:center;margin-top:2px}
@media (max-width:480px){.q-cover-cases{gap:6px;margin-bottom:14px}.q-cover-cases img{border-radius:12px}}
@media (min-width:481px){.q-cover-cases{max-width:360px;gap:6px;margin-bottom:16px}.q-screen.q-cover h1{font-size:28px}}

/* ---------- Quiz B ---------- */
.q-kicker-top{font:600 13px/1.35 var(--dosy-font-ui);color:var(--q-green);margin:0 0 8px;letter-spacing:-.005em}
.q-b-note{font-size:12px;color:var(--q-muted);text-align:center;margin:14px 0 0;animation:q-fade .5s .6s both}

/* A8: journey chart */
.q-eyebrow.is-top{margin:0 0 10px}
.q-jr h1{font-size:30px!important;line-height:1.15;animation:q-up .6s var(--q-ease) both}.q-jr h1 em{font-style:normal;color:var(--q-lime)}
.q-jr-chart{position:relative;aspect-ratio:340/190;margin:30px -6px 0}
.q-jr-chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.q-jr-grid line{stroke:rgba(255,255,255,.1);stroke-dasharray:3 6}
.q-jr-area{opacity:0;animation:q-fade .8s 1.3s forwards}
.q-jr-line{fill:none;stroke:var(--q-lime);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:q-draw 1.5s .35s cubic-bezier(.4,0,.2,1) forwards;filter:drop-shadow(0 6px 14px rgba(195,226,154,.35))}
@keyframes q-draw{to{stroke-dashoffset:0}}
.q-jr-dot{fill:#fff;transform-box:fill-box;transform-origin:center;animation:q-pop .5s var(--q-spring) both}.q-jr-dot.a{animation-delay:.2s}.q-jr-dot.b{fill:var(--q-lime);stroke:#fff;stroke-width:3;animation-delay:1.75s}
.q-jr-ring{fill:none;stroke:var(--q-lime);stroke-width:2;transform-box:fill-box;transform-origin:center;opacity:0;animation:q-ring 2s 2s ease-out infinite}
@keyframes q-ring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.q-jr-run{fill:#fff;filter:drop-shadow(0 0 8px #C3E29A);animation:q-fade .2s .3s both,q-hide .3s 1.85s forwards}
@keyframes q-hide{to{opacity:0}}
.q-jr-tag{position:absolute;display:grid;gap:2px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);white-space:nowrap;animation:q-up .5s var(--q-ease) both}
.q-jr-tag small{font-size:11px;color:rgba(255,255,255,.6);font-weight:600;letter-spacing:.04em}.q-jr-tag b{font-size:16px;color:#fff}
.q-jr-tag.t1{left:3%;top:-14%;animation-delay:.4s}
.q-jr-tag.t2{right:0;top:30%;background:var(--q-lime);border-color:var(--q-lime);animation-delay:1.9s}.q-jr-tag.t2 small{color:var(--q-dark);opacity:.7}.q-jr-tag.t2 b{color:var(--q-dark)}
.q-jr-delta{position:absolute;left:44%;top:30%;padding:6px 12px;border-radius:99px;background:#fff;color:var(--q-dark);font:700 15px/1 var(--dosy-font-ui);box-shadow:0 10px 26px rgba(0,0,0,.25);animation:q-pop .6s 1.25s var(--q-spring) both}
.q-jr-note{font-size:12px;color:rgba(255,255,255,.5);text-align:center;margin:18px 0 0;animation:q-fade .5s 2s both}
.q-jr .q-glass-card{margin-top:22px;animation-delay:2.1s}
.q-jr .q-cta{animation-delay:2.3s}
.q-jr .q-btn,.q-bridge .q-btn{background:var(--q-lime);color:var(--q-dark);box-shadow:0 16px 30px rgba(8,18,13,.35)}
.q-jr .q-btn:hover:not(:disabled),.q-bridge .q-btn:hover:not(:disabled){background:#D3EDB1}
.q-jr .q-chip,.q-bridge .q-chip{background:rgba(28,64,36,.12)}

/* A10–A12: medication chips */
.q-chips{display:flex;flex-wrap:wrap;gap:8px}
.q-chipopt{min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--q-card-b);background:linear-gradient(180deg,rgba(255,253,247,.9),rgba(255,251,242,.7));color:var(--q-ink);font:600 14px/1.2 var(--dosy-font-ui);cursor:pointer;box-shadow:0 1px 2px rgba(28,64,36,.05);transition:background .2s,border-color .2s,transform .15s;animation:q-up .4s calc(.05s + var(--i)*.03s) var(--q-ease) both}
.q-chipopt:hover{border-color:#A9BCA6}.q-chipopt:active{transform:scale(.97)}
.q-chipopt.is-on{background:var(--q-dark);border-color:var(--q-dark);color:#fff;animation:q-chip-on .35s var(--q-spring)}
@keyframes q-chip-on{0%{transform:scale(.94)}60%{transform:scale(1.05)}100%{transform:scale(1)}}
.q-chips.is-days .q-chipopt:last-child,.q-chips .q-chipopt:only-child{flex-basis:100%}
.q-meds-more{min-height:8px}
.q-meds-sec{margin-top:26px;padding-top:20px;border-top:1px solid rgba(28,64,36,.1);animation:q-up .45s calc(var(--d)*.12s) var(--q-ease) both}
.q-meds-sec h2{font:600 16px/1.3 var(--dosy-font-ui);letter-spacing:-.02em;margin:0 0 12px}.q-meds-sec h2 small{font-weight:500;color:var(--q-muted);font-size:13px}
.q-free input{width:100%;box-sizing:border-box;min-height:50px;border-radius:14px;border:1px solid var(--q-card-b);background:rgba(255,253,247,.85);padding:0 16px;font:500 16px var(--dosy-font-ui);color:var(--q-ink);outline:none}
.q-free input:focus{border-color:var(--q-green);box-shadow:0 0 0 3px rgba(14,138,69,.12)}
.q-meds-note,.q-meds-later{font-size:12px;line-height:1.45;color:var(--q-muted);margin:18px 0 0;animation:q-fade .4s .2s both}
.q-meds-later{font-size:14px;margin-top:22px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.55);animation:q-up .4s var(--q-ease) both}

/* A14: details + research card */
.q-report h1{font-size:28px!important;line-height:1.16;animation:q-up .5s .55s var(--q-ease) both}
.q-report>.q-sub{animation:q-up .5s .65s var(--q-ease) both}
.q-recap{margin-bottom:22px}
.q-recap-k{font:700 11px/1 var(--dosy-font-ui);letter-spacing:.12em;color:var(--q-muted);margin:0 0 10px;animation:q-fade .4s both}
.q-recap-chips{display:flex;flex-wrap:wrap;gap:6px}
.q-recap-chips span{padding:7px 12px;border-radius:99px;background:var(--q-lime);color:var(--q-dark);font:600 12.5px/1.2 var(--dosy-font-ui);animation:q-pop .45s calc(.1s + var(--i)*.1s) var(--q-spring) both}
.q-rpts{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.q-rpt{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:rgba(255,253,247,.78);border:1px solid #fff;box-shadow:0 8px 22px rgba(28,64,36,.05);opacity:0;animation:q-slide .5s calc(.85s + var(--i)*.22s) var(--q-ease) forwards}
@keyframes q-slide{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}
.q-rpt.is-focus{background:#fff;border-color:var(--q-lime-b);box-shadow:0 0 0 3px rgba(195,226,154,.55),0 10px 26px rgba(28,64,36,.08)}
.q-rpt em{position:absolute;top:-9px;right:12px;padding:3px 9px;border-radius:99px;background:var(--q-dark);color:#fff;font:700 10.5px/1.2 var(--dosy-font-ui);font-style:normal;letter-spacing:.02em}
.q-rpt-txt{flex:1}.q-rpt-txt strong{display:block;font-size:14.5px}.q-rpt-txt small{display:block;font-size:12.5px;color:var(--q-muted);margin-top:2px;line-height:1.4}
.q-rpt-ico{width:42px;height:42px;border-radius:12px;background:#EEF4E4;display:grid;place-items:center;flex:none}
.q-rpt-ico svg{width:30px;height:30px;stroke:var(--q-green);fill:var(--q-green)}
.q-rpt .ic-gauge path:first-child{fill:none}.q-rpt .ic-gauge .needle{transform-origin:20px 27px;animation:q-needle 2.4s calc(1.1s + var(--i)*.22s) ease-in-out infinite}
@keyframes q-needle{0%,100%{transform:rotate(-55deg)}50%{transform:rotate(50deg)}}
.q-rpt .ic-bars rect{stroke:none;transform-box:fill-box;transform-origin:bottom;animation:q-bar 1.8s ease-in-out infinite}.q-rpt .ic-bars rect:nth-child(1){animation-delay:calc(1.1s + var(--i)*.22s)}.q-rpt .ic-bars rect:nth-child(2){animation-delay:calc(1.3s + var(--i)*.22s)}.q-rpt .ic-bars rect:nth-child(3){animation-delay:calc(1.5s + var(--i)*.22s)}
@keyframes q-bar{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.q-rpt .ic-drop path:first-child{fill:none}.q-rpt .ic-drop .wave{stroke:none;animation:q-wave 2.2s linear infinite}
@keyframes q-wave{0%{transform:translate(0,6px)}50%{transform:translate(-15px,0)}100%{transform:translate(-30px,6px)}}
.q-rpt .ic-pulse path{fill:none;stroke-dasharray:1;stroke-dashoffset:1;animation:q-pulse 2s calc(1.1s + var(--i)*.22s) ease-in-out infinite}
@keyframes q-pulse{0%{stroke-dashoffset:1}50%,70%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.q-rpt .ic-days circle{stroke:none;opacity:.25;animation:q-dot 2.4s ease-in-out infinite}.q-rpt .ic-days circle:nth-child(2){animation-delay:.3s}.q-rpt .ic-days circle:nth-child(3){animation-delay:.6s}
@keyframes q-dot{0%,100%{opacity:.25;transform:none}30%{opacity:1}}
.q-after{font:600 19px/1.3 var(--dosy-font-ui);letter-spacing:-.025em;margin:34px 0 14px;opacity:0;animation:q-up .5s 2.1s var(--q-ease) forwards}
.q-news{position:relative;border-radius:18px;padding:20px 20px 18px;background:#FFFDF8;border:1px solid #E9E2D2;box-shadow:0 18px 40px -20px rgba(28,64,36,.28);overflow:hidden;opacity:0;transform:translateY(16px);transition:opacity .6s var(--q-ease),transform .6s var(--q-ease)}
.q-news::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--q-dark),var(--q-green),var(--q-lime))}
.q-news.is-in{opacity:1;transform:none}
.q-news.is-focus{box-shadow:0 0 0 3px rgba(195,226,154,.6),0 18px 40px -20px rgba(28,64,36,.28)}
.q-news header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.q-news-src{font:800 10.5px/1 var(--dosy-font-ui);letter-spacing:.14em;color:var(--q-green)}
.q-news-tag{font:600 11px/1 var(--dosy-font-ui);color:var(--q-muted);padding:5px 9px;border-radius:99px;background:#F2EEE3}
.q-news h3{font:500 21px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.01em;margin:0 0 16px;color:var(--q-ink)}
.q-news-bars{display:grid;gap:10px;margin-bottom:12px}
.q-nb span{display:block;font-size:12px;font-weight:600;color:var(--q-muted);margin-bottom:5px}
.q-nb i{position:relative;display:block;height:30px;border-radius:8px;background:#F1EDE3;overflow:hidden}
.q-nb i::before{content:"";position:absolute;inset:0 auto 0 0;width:0;border-radius:8px;transition:width 1.2s cubic-bezier(.3,.7,.2,1)}
.q-nb.is-lost i::before{background:var(--q-green)}.q-nb.is-back i::before{background:#D9874A;transition-delay:.5s}
.q-news.is-in .q-nb.is-lost i::before{width:100%}.q-news.is-in .q-nb.is-back i::before{width:67%}
.q-nb b{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--q-ink);opacity:0;transition:opacity .4s 1.3s}
.q-nb.is-lost b{color:#fff}.q-nb.is-back b{right:auto;left:calc(67% + 8px)}.q-news.is-in .q-nb b{opacity:1}
.q-news-cite{font-size:11px;line-height:1.45;color:#8A8F86;margin:0;font-style:italic}
.q-news-2{font-size:13.5px;line-height:1.5;color:#46524B;margin:14px 0 4px;padding-top:12px;border-top:1px dashed #E5DECC}
.q-news-print{margin:0 0 14px}.q-news-print img{display:block;width:100%;border-radius:10px;border:1px solid #E9E2D2}.q-news-print figcaption{font-size:11px;color:#8A8F86;margin-top:6px}
.q-news-vary{font-size:11.5px;line-height:1.45;color:var(--q-muted);margin:12px 2px 0}

/* A15: product bridge with fanned app screens */
.q-bridge{text-align:center}
.q-fan{position:relative;height:250px;margin:0 auto 22px;max-width:360px}
.q-fan img{position:absolute;left:50%;bottom:0;width:116px;aspect-ratio:360/779;object-fit:cover;object-position:top;border-radius:16px;border:3px solid rgba(255,255,255,.9);box-shadow:0 20px 40px rgba(0,0,0,.35);transform:translateX(-50%) translateY(30px) scale(.85);opacity:0;animation:q-fan .9s calc(.15s + var(--i)*.1s) var(--q-spring) forwards}
.q-fan img:nth-child(1){--x:-138%;--r:-12deg;--y:18px}.q-fan img:nth-child(2){--x:-82%;--r:-4deg;--y:0px;z-index:2}.q-fan img:nth-child(3){--x:-18%;--r:4deg;--y:0px;z-index:2}.q-fan img:nth-child(4){--x:38%;--r:12deg;--y:18px}
@keyframes q-fan{to{opacity:1;transform:translateX(var(--x)) translateY(var(--y)) rotate(var(--r))}}
.q-bridge h1{font-size:25px!important;line-height:1.2;animation:q-up .6s .7s var(--q-ease) both}
.q-bridge-sub{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.72);margin:12px 0 0;animation:q-up .6s .8s var(--q-ease) both}
.q-bridge .q-checks{margin-top:22px;gap:10px}
.q-bridge .q-checks li{color:#fff;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);animation-delay:calc(1.05s + var(--i)*.16s)}
.q-bridge .q-checks li span{background:var(--q-lime);color:var(--q-dark)}
.q-bridge .q-cta{animation-delay:1.6s}

/* A20: preview — loading ring, then the plan */
.q-pv-load{text-align:center;padding-top:6vh;transition:opacity .35s,transform .35s}
.q-pv-load.is-out{opacity:0;transform:scale(.96)}
.q-ring{position:relative;width:132px;height:132px;margin:0 auto 26px}
.q-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.q-ring circle{fill:none;stroke-width:9}.q-ring .bg{stroke:var(--q-track)}.q-ring .fg{stroke:var(--q-green);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100}
.q-ring b{position:absolute;inset:0;display:grid;place-items:center;font:600 28px/1 var(--dosy-font-ui);letter-spacing:-.03em}
.q-pv-load h1{font-size:26px!important}
.q-pv-steps{list-style:none;padding:0;margin:26px auto 0;max-width:320px;text-align:left;display:grid;gap:12px}
.q-pv-steps li{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:500;color:#9AA39C;transition:color .3s}
.q-pv-steps li i{width:24px;height:24px;border-radius:50%;border:1.5px solid #C9D2C5;display:grid;place-items:center;color:transparent;flex:none;transition:all .3s}.q-pv-steps li i svg{width:13px;height:13px}
.q-pv-steps li.is-on{color:var(--q-ink)}.q-pv-steps li.is-on i{border-color:var(--q-green);border-top-color:transparent;animation:q-spin-b .8s linear infinite}
.q-pv-steps li.is-done{color:var(--q-ink)}.q-pv-steps li.is-done i{background:var(--q-green);border-color:var(--q-green);color:#fff;animation:q-pop .4s var(--q-spring)}
@keyframes q-spin-b{to{transform:rotate(360deg)}}
.q-pv-ready{text-align:center}
.q-pv-ready h1{font-size:28px!important;animation:q-up .5s .15s var(--q-ease) both}
.q-pv-chart{display:flex;align-items:flex-end;justify-content:center;gap:18px;height:190px;margin:26px auto 0;max-width:300px}
.q-pv-bar{flex:1;max-width:96px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}
.q-pv-bar i{display:block;width:100%;height:calc(var(--h)*130px);border-radius:14px 14px 6px 6px;transform-origin:bottom;animation:q-grow .9s .35s var(--q-spring) both}
.q-pv-bar.is-now i{background:linear-gradient(180deg,#CBD3C6,#AEB9A9)}.q-pv-bar.is-goal i{background:linear-gradient(180deg,#A9D37A,var(--q-green));animation-delay:.55s}
@keyframes q-grow{from{transform:scaleY(0)}to{transform:none}}
.q-pv-bar b{font-size:16px;animation:q-fade .4s .9s both}.q-pv-bar small{font-size:12px;color:var(--q-muted);font-weight:600}
.q-pv-diff{align-self:center;padding:6px 12px;border-radius:99px;background:var(--q-lime);color:var(--q-dark);font:700 13px/1 var(--dosy-font-ui);animation:q-pop .5s 1.1s var(--q-spring) both}
.q-pv-chartnote{font-size:11.5px;color:var(--q-muted);margin:10px 0 0}
.q-pv-sum{margin:22px 0 0;text-align:left;border-radius:18px;background:rgba(255,253,247,.85);border:1px solid #fff;padding:6px 18px;box-shadow:0 12px 30px rgba(28,64,36,.06)}
.q-pv-sum div{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(28,64,36,.08);animation:q-up .4s calc(1.2s + var(--i)*.1s) var(--q-ease) both}.q-pv-sum div:last-child{border:0}
.q-pv-sum dt{font-size:13px;color:var(--q-muted);font-weight:500}.q-pv-sum dd{margin:0;font-size:14px;font-weight:700;text-align:right}
.q-pv-bodies{display:flex;align-items:center;justify-content:center;gap:10px;margin:26px 0 0}
.q-pv-bodies figure{margin:0;flex:1;max-width:150px}.q-pv-bodies img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:#EFE9DC}
.q-pv-bodies figcaption{font-size:12px;font-weight:600;color:var(--q-muted);margin-top:6px}
.q-pv-arrow .q-chip{background:var(--q-dark);color:#fff}
.q-pv-ready>h2,.q-pv-reviews h2{font:600 19px/1.3 var(--dosy-font-ui);letter-spacing:-.02em;margin:30px 0 14px}
.q-pv-ready .q-phones{padding:0}
.q-pv-blocks{display:grid;gap:10px;margin-top:22px;text-align:left}
.q-pv-blocks div{display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:center;padding:14px 16px;border-radius:16px;background:rgba(255,253,247,.8);border:1px solid #fff}
.q-pv-blocks span{grid-row:span 2;width:40px;height:40px;border-radius:12px;background:#EEF4E4;color:var(--q-green);display:grid;place-items:center}.q-pv-blocks span svg{width:22px;height:22px}
.q-pv-blocks strong{font-size:14.5px}.q-pv-blocks small{font-size:12.5px;color:var(--q-muted)}
.q-pv-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:0 20px 6px}
.q-pv-track::-webkit-scrollbar{display:none}
.q-pv-review{flex:0 0 82%;scroll-snap-align:center;margin:0;text-align:left;padding:18px;border-radius:18px;background:rgba(255,253,247,.9);border:1px solid #fff}
.q-pv-review .q-stars{color:#F2A93B;letter-spacing:2px}.q-pv-review blockquote{margin:8px 0 10px;font-size:14px;line-height:1.5;color:#46524B}.q-pv-review figcaption{font-size:12.5px;color:var(--q-muted)}.q-pv-review figcaption small{display:block;margin-top:2px}
@media (prefers-reduced-motion:reduce){.q-jr-line{stroke-dashoffset:0}.q-news{opacity:1;transform:none}.q-cover-cases.is-fade img+img{animation:none;opacity:0}}
/* Long screens (quiz B medication, report, preview): the header scrolls away instead of covering the content. */
body.q-static-head .q-header{position:absolute}
.q-age .q-measure .q-big{width:64px;flex:none}

/* Scroll gate: the continue button waits for the end of the screen; a floating hint asks to scroll. */
.q-gate-end{display:block;height:1px}
.q-cta.is-gated{display:none}
.q-cta.is-open{animation:q-up .45s var(--q-ease) both}
.q-scrollhint{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);z-index:30;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:12px 18px 12px 20px;border:0;border-radius:99px;background:var(--q-dark);color:#fff;font:700 14px/1 var(--dosy-font-ui);box-shadow:0 14px 30px rgba(18,44,25,.35);cursor:pointer;animation:q-hint-in .5s .6s var(--q-spring) both}
.q-scrollhint svg{width:18px;height:18px;animation:q-hint-bob 1.2s ease-in-out infinite}
@keyframes q-hint-in{from{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes q-hint-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}

/* Testimonials that look like what people actually sent: a taped screenshot, or a plain chat message. */
.q-pv-reviews h2{text-align:center}
.q-shot{flex:0 0 78%;scroll-snap-align:center;margin:10px 0 14px;position:relative;transform:rotate(var(--r));background:#fff;padding:8px 8px 12px;border-radius:6px;box-shadow:0 10px 24px rgba(28,64,36,.14);text-align:left}
.q-shot::before{content:"";position:absolute;top:-9px;left:50%;width:70px;height:20px;transform:translateX(-50%) rotate(-3deg);background:rgba(240,228,190,.75);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.q-shot img{display:block;width:100%;border-radius:3px}
.q-shot figcaption{font:500 11px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#8a8f86;margin-top:8px;padding:0 4px}
.q-chat{background:#F2F2F7;border-radius:4px;padding:12px 12px 10px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.q-chat-top{display:flex;align-items:center;gap:8px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #E1E1E6;font-size:13px}
.q-chat-av{width:26px;height:26px;border-radius:50%;background:#C7C7CC;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}
.q-bubble{display:inline-block;max-width:92%;margin:0;padding:9px 12px;border-radius:18px 18px 18px 4px;background:#E5E5EA;color:#111;font-size:14.5px;line-height:1.38}
.q-chat-meta{display:block;margin-top:6px;font-size:11px;color:#8E8E93}
/* Quiz B first screen: headline + gender, no photos */
.q-screen.q-sexIntro{padding-top:92px}
.q-intro-copy{text-align:center}
.q-sexIntro h1{font-size:28px!important;line-height:1.14;animation:q-up .6s .05s var(--q-ease) both}
.q-sexIntro h1 em{display:block;color:#2E6B3F;font-size:.86em;margin-top:6px}
.q-b-question{font:600 18px/1.3 var(--dosy-font-ui);letter-spacing:-.02em;margin:26px 0 12px;text-align:center;animation:q-up .5s .2s var(--q-ease) both}
.q-pv-cases{margin-top:8px}
.q-pv-cases h2{font:600 19px/1.3 var(--dosy-font-ui);letter-spacing:-.02em;margin:30px 0 14px}
.q-pv-cases img{display:block;width:100%;height:auto;aspect-ratio:1440/652;object-fit:cover;border-radius:16px;margin-bottom:10px;background:#EFE9DC;box-shadow:0 14px 30px -22px rgba(27,46,33,.4)}

/* Checkout: discount countdown pinned on top (stays when the header fades on scroll). */
.q-offerbar{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;background:linear-gradient(90deg,#1C4024,#2F5736);color:#fff;font:600 13px/1.2 var(--dosy-font-ui);pointer-events:auto;box-shadow:0 6px 18px rgba(18,44,25,.25)}
.q-offerbar[hidden]{display:none}
.q-offerbar b{padding:4px 8px;border-radius:8px;background:var(--q-lime);color:var(--q-dark);font-variant-numeric:tabular-nums;font-weight:800}
.q-offerbar-dot{width:8px;height:8px;border-radius:50%;background:#FF8A5B;box-shadow:0 0 0 0 rgba(255,138,91,.7);animation:q-live 1.6s ease-out infinite}
@keyframes q-live{0%{box-shadow:0 0 0 0 rgba(255,138,91,.7)}100%{box-shadow:0 0 0 9px rgba(255,138,91,0)}}
body.q-has-offerbar .q-pay{padding-top:132px}
body.q-has-offerbar .q-paybar .q-timer{display:none}
.q-pv-ready .q-join{margin-top:14px;animation:q-up .5s .3s var(--q-ease) both}.q-join b{font-weight:800;color:var(--q-dark)}
.q-scrollhint{white-space:nowrap}
/* Scroll gate v2: the pinned button itself asks to scroll (no hidden button, no separate pill). */
.q-cta.is-gated{display:block}
.q-cta.is-gated .q-btn{background:var(--q-dark)}
.q-chip-down svg{animation:q-hint-bob 1.2s ease-in-out infinite}

/* Continue button pinned to the bottom on wider screens too (phones already do this), centred on the quiz column. */
@media (min-width:601px){
 /* The slide-in must not keep a transform after it ends, or the fixed button would stay inside the screen. */
 .q-screen{padding-bottom:140px;animation-fill-mode:backwards}
 .q-cta,.q-feature-copy .q-cta{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:15;padding:30px max(20px,calc((100% - 448px)/2)) calc(env(safe-area-inset-bottom,0px) + 22px);background:linear-gradient(180deg,rgba(250,246,236,0),rgba(250,246,236,.95) 40%)}
 body.q-is-dark .q-cta{background:linear-gradient(180deg,rgba(16,38,26,0),rgba(16,38,26,.95) 40%)}
 .q-options.is-long~.q-cta::before{display:none}
}
.q-avatars img,.q-avatars .q-av-more{width:30px;height:30px;border-radius:50%;border:2px solid #fff;margin-left:-8px;object-fit:cover;box-sizing:border-box;flex:none}
.q-avatars img:first-child{margin-left:0}
.q-avatars .q-av-more{display:grid;place-items:center;background:var(--q-lime);color:var(--q-dark);font:800 9.5px/1 var(--dosy-font-ui);font-style:normal;padding:0 2px;width:auto;min-width:34px;border-radius:99px}
.q-join .q-avatars i.q-av-more{background:var(--q-lime);color:var(--q-dark);margin-left:-8px}
/* Preview loading: member cases slide by while the plan builds (3 slides incl. a loop copy, ~8 s). */
.q-pv-carousel{margin:26px auto 0;max-width:360px;overflow:hidden;border-radius:16px;box-shadow:0 14px 30px -22px rgba(27,46,33,.4);animation:q-up .6s .3s var(--q-ease) both}
.q-pv-slides{display:flex;width:300%;animation:q-slides 8s cubic-bezier(.6,0,.2,1) both}
.q-pv-slides img{width:33.3333%;height:auto;aspect-ratio:1440/652;object-fit:cover;display:block;background:#EFE9DC}
@keyframes q-slides{0%,30%{transform:translateX(0)}40%,70%{transform:translateX(-33.3333%)}80%,100%{transform:translateX(-66.6667%)}}
.q-pv-load .q-ring{width:112px;height:112px;margin-bottom:20px}
.q-pv-load{padding-top:2vh}
/* Loading v3: 5 steps with the person's data, carousel of cases + real testimonials (~10 s). */
.q-pv-steps{gap:14px}
.q-pv-steps li{align-items:flex-start}.q-pv-steps li i{margin-top:1px}
.q-pv-steps li span small{display:block;font-size:12.5px;font-weight:600;color:var(--q-green);margin-top:3px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s}
.q-pv-steps li.is-on span small,.q-pv-steps li.is-done span small{max-height:40px;opacity:1}
.q-pv-slides{animation:none!important;width:auto!important;display:flex;transition:transform .7s cubic-bezier(.6,0,.2,1)}
.q-pv-slide{flex:0 0 100%;aspect-ratio:1440/652;display:grid;place-items:stretch;background:#FFFDF8}
.q-pv-slide img{width:100%!important;height:100%;object-fit:cover}
.q-pv-slide-q{display:grid;align-content:center;gap:6px;padding:14px 18px;text-align:left}.q-pv-slide-q p{margin:0;font-size:14px;line-height:1.4;color:#33403A}.q-pv-slide-q small{font-size:12px;color:var(--q-muted)}.q-pv-slide-q .q-stars{color:#F2A93B;letter-spacing:2px;font-size:12px}
.q-pv-carousel{position:relative}
.q-pv-dots{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:center;gap:5px}.q-pv-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);transition:all .3s}.q-pv-dots i.on{width:16px;border-radius:99px;background:#fff}

/* Member before/afters (5) and reviews in app-store style */
.q-case{position:relative;flex:0 0 100%;aspect-ratio:1440/810;overflow:hidden;border-radius:14px;background:#EFE9DC}
.q-case img{display:block;width:100%;height:100%;object-fit:cover}
.q-case-tag{position:absolute;top:8px;padding:4px 8px;border-radius:99px;font:800 9px/1 var(--dosy-font-ui);letter-spacing:.08em;text-transform:uppercase}
.q-case-tag.is-before{left:8px;background:#fff;color:var(--q-ink)}.q-case-tag.is-after{left:calc(50% + 8px);background:var(--q-dark);color:#fff}
.q-pv-track.is-cases .q-case{flex-basis:88%;scroll-snap-align:center}
.q-pv-cases .q-pv-track{margin:0 -20px;padding:0 20px 6px}
.q-pv-slide .q-case{border-radius:0;height:100%;aspect-ratio:auto}
.q-pv-slide{aspect-ratio:1440/810}
.q-rev{flex:0 0 84%;scroll-snap-align:center;margin:0;padding:16px 18px;border-radius:16px;background:#F7F7F7;text-align:left;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
.q-rev header,.q-pv-slide-q header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.q-rev-stars{color:#F7A01D;font-size:18px;letter-spacing:1px}
.q-rev-name{font-size:13px;color:#8E8E93}
.q-rev blockquote{margin:0;font-size:14.5px;line-height:1.45;color:#1C1C1E}
.q-pv-slide-q{background:#F7F7F7;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;padding:16px 18px}
.q-pv-slide-q p{font-size:13.5px;line-height:1.42;color:#1C1C1E;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.q-case.is-wide{aspect-ratio:1440/652}
.q-pv-track.is-cases{align-items:center}
.q-pv-slide .q-case.is-wide{background:#FFFDF8}.q-pv-slide .q-case.is-wide img{object-fit:contain}
/* Loading: three short testimonials, text only */
.q-pv-carousel{box-shadow:none;border-radius:16px;background:#F7F7F7}
.q-pv-slide{aspect-ratio:auto;background:transparent}
.q-pv-slide-q{padding:16px 18px 30px;background:transparent}
.q-pv-slide-q p{font-size:16px;line-height:1.4;-webkit-line-clamp:3;font-weight:500}
.q-pv-dots i{background:#D6D6DA}.q-pv-dots i.on{background:var(--q-dark)}
.q-pv-track.is-cases .q-case{flex-basis:100%;aspect-ratio:1672/941}
.q-pv-cases .q-pv-track{margin:0;padding:0 0 6px;gap:12px}
.q-track-nav{margin-top:10px}
.q-agree{display:block;margin-bottom:6px}
.contact-consent[hidden]{display:none!important}

/* Report card as an alert: regain risk after stopping GLP-1 */
.q-news{border-color:#F1C7B8;background:#FFFAF7;box-shadow:0 18px 40px -20px rgba(196,62,28,.35)}
.q-news::before{height:5px;background:linear-gradient(90deg,#C8371A,#E8632B,#F2A93B)}
.q-news.is-focus{box-shadow:0 0 0 3px rgba(232,99,43,.28),0 18px 40px -20px rgba(196,62,28,.35)}
.q-news-alert{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:99px;background:#C8371A;color:#fff;font:800 11px/1 var(--dosy-font-ui);letter-spacing:.12em;animation:q-alert 1.8s ease-in-out infinite}
.q-news-alert svg{width:14px;height:14px}
@keyframes q-alert{0%,100%{box-shadow:0 0 0 0 rgba(200,55,26,.45)}50%{box-shadow:0 0 0 8px rgba(200,55,26,0)}}
.q-news-tag{background:#FBE4DA;color:#9C2C12;font-weight:700}
.q-news p.q-news-src{margin:0 0 8px;font:800 10.5px/1 var(--dosy-font-ui);letter-spacing:.14em;color:#9C2C12}
.q-nb.is-back i::before{background:linear-gradient(90deg,#E8632B,#C8371A)}
.q-nb.is-back b{color:#9C2C12}
/* Medication screen: each new question scrolls clear of the pinned button */
.q-meds-sec{scroll-margin:24px 0 150px}
.q-screen.q-meds{padding-bottom:190px}

/* First-question test (arm B): headline + GLP-1 journey question, one drawing per answer */
.q-screen.q-whereIntro{padding-top:88px}
.q-whereIntro h1{font-size:27px!important;line-height:1.14;animation:q-up .6s .05s var(--q-ease) both}
.q-whereIntro h1 em{display:block;color:#2E6B3F;font-size:.86em;margin-top:6px}
.q-whereIntro .q-b-question{margin-bottom:4px}
.q-where-help{font-size:13px;color:var(--q-muted);text-align:center;margin:0 0 14px;animation:q-up .5s .24s var(--q-ease) both}
.q-whereIntro .q-opt{min-height:70px}.q-whereIntro .q-opt-img{width:122px;height:70px}.q-whereIntro .q-opt-img img{object-position:center 28%}

/* Headline test H2: a research-news headline (red label and source), as a question, in Dosy's own type like H1 */
.q-newshead{margin:0 0 4px;text-align:center;animation:q-up .6s .05s var(--q-ease) both}
.q-newshead-meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:0 0 14px}
.q-newshead-tag{display:inline-block;padding:5px 9px;border-radius:6px;background:#C8102E;color:#fff;font:700 11px/1 var(--dosy-font-ui);letter-spacing:.1em}
.q-newshead-src{font:700 10.5px/1.3 var(--dosy-font-ui);letter-spacing:.06em;color:#C8102E}
.q-screen .q-newshead h1{font-size:27px!important;line-height:1.14}
.q-newshead h1 em{display:block;color:#2E6B3F;font-size:.86em;margin-top:6px}
.q-newshead-sub{font-size:15px;line-height:1.5;color:var(--q-muted,#5B6B60);margin:12px auto 0;max-width:380px;font-weight:500}
/* Annual plan: savings against paying monthly, prominent */
.q-plan-save{display:table;margin:6px 0 4px;padding:4px 9px;border-radius:99px;background:var(--q-lime);color:var(--q-dark);font:800 12px/1.2 var(--dosy-font-ui);letter-spacing:.01em}

/* Simpler plan cards (2026-10-20): one discount chip on the left, the price per day as a tag on the right. */
.q-plans .q-plan{padding:16px 0 16px 18px;overflow:hidden}
.q-plans .q-plan-name small{display:block;margin-top:2px;font-size:14px;color:rgba(255,255,255,.85)}
.q-plans .q-plan-name small s{margin-right:4px}
.q-plan-off{display:inline-block;margin-top:6px;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.14);color:#fff;font:800 11px/1.2 var(--dosy-font-ui);letter-spacing:.04em}
.q-plans .q-plan-day{align-self:stretch;display:grid;align-content:center;justify-items:end;min-width:92px;margin:-16px 0;padding:0 16px 0 28px;background:rgba(255,255,255,.08);clip-path:polygon(18px 0,100% 0,100% 100%,18px 100%,0 50%)}
.q-plans .q-plan-day strong{font-size:26px;line-height:1.1}
.q-plans .q-plan-day small{font-size:12px}
.q-plans .q-plan.is-on .q-plan-day{background:var(--q-lime);color:var(--q-dark)}.q-plans .q-plan.is-on .q-plan-day small{color:rgba(28,64,36,.75)}
.q-plans .q-plan.is-rec .q-plan-off{background:var(--q-dark);color:var(--q-lime)}
.q-plans .q-plan.is-rec .q-plan-day{background:rgba(28,64,36,.12)}
.q-plans .q-plan.is-rec.is-on .q-plan-day{background:var(--q-dark)}.q-plans .q-plan.is-rec.is-on .q-plan-day strong{color:var(--q-lime)}.q-plans .q-plan.is-rec.is-on .q-plan-day small{color:rgba(195,226,154,.85)}
.q-plans .q-plan.is-exit .q-plan-off{background:#F2B777;color:var(--q-dark)}
.q-plans .q-plan.is-rec:has(.q-plan-ribbon){padding-top:46px}
.q-plans .q-plan.is-rec:has(.q-plan-ribbon) .q-plan-day{margin-top:-46px;padding-top:30px}
.q-gift-terms{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07);font-size:12px;line-height:1.45;color:rgba(255,255,255,.75);text-align:center}
@media (max-width:480px){.q-plans .q-plan{padding-left:14px}.q-plans .q-plan-day{min-width:84px;padding-right:12px}.q-plans .q-plan-day strong{font-size:24px}}

/* Sign your commitment (before the plan is unlocked, as in the native app). */
.q-commit h1{margin:0}
.q-commit-lead{margin:18px 0 8px;font-weight:700;font-size:15px;color:var(--q-ink)}
.q-commit-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.q-commit-list li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.4;color:var(--q-ink)}
.q-commit-list li>span{flex:0 0 22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--q-dark);color:#fff;margin-top:1px}.q-commit-list li>span svg{width:12px;height:12px}
.q-sign{position:relative;height:170px;margin-top:18px;border-radius:18px;background:#fff;border:1.5px dashed #DCE5D6;overflow:hidden;touch-action:none}
.q-sign canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}
.q-sign-hint{position:absolute;top:46px;left:0;right:0;margin:0;text-align:center;font-size:14.5px;font-weight:500;color:#9AAA96;pointer-events:none}
.q-sign-line{position:absolute;left:18px;right:18px;bottom:34px;display:flex;align-items:flex-end;gap:8px;pointer-events:none}.q-sign-line b{font-size:16px;color:#9AAA96}.q-sign-line i{flex:1;height:1.5px;background:#C9D4C4;margin-bottom:5px}
.q-sign-clear{position:absolute;top:10px;right:12px;padding:5px 10px;border:0;border-radius:99px;background:#F1F4EE;font:600 12.5px var(--dosy-font-ui);color:#5B6660;cursor:pointer}
.q-cta .q-btn:disabled{opacity:.45;cursor:not-allowed}
