:root{--pink:#c34878;--pink-dark:#a52e5d;--pink-light:#fbe9f0;--text:#292d35;--muted:#747982;--line:#e9eaf0;--card:#fff;--shadow:0 8px 25px rgba(31,36,45,.09);font-family:'DM Sans',Arial,sans-serif;color:var(--text);background:#f7f5f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #8e2b56;outline-offset:3px}.shell{max-width:440px;min-height:100dvh;margin:auto;background:#fefdfd;box-shadow:0 0 45px rgba(41,45,53,.1);position:relative;display:flex;flex-direction:column;overflow:hidden}.header{height:77px;display:grid;grid-template-columns:68px 1fr 68px;align-items:center;padding:0 16px;background:#fff;flex:none;z-index:4}.brand{font-family:Oswald,sans-serif;font-weight:700;letter-spacing:-.035em;font-size:31px;line-height:1;color:var(--pink);text-align:center;white-space:nowrap}.brand span{font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.01em;color:#6b7078;background:#f1f2f6;padding:6px 7px;border-radius:5px;vertical-align:middle}.back,.header-link,.profile-button{border:0;background:transparent;color:var(--text)}.back{font-size:38px;line-height:1;text-align:left}.header-link{font-size:12px;font-weight:700;text-align:right}.progress{height:4px;background:#f1f2f5;flex:none}.progress>div{height:100%;background:var(--pink);transition:width .35s ease}.quiz-main{flex:1;display:flex;flex-direction:column}.quiz-footer{text-align:center;color:#a4a8ae;font-size:10px;padding:26px 12px 16px}.question{padding:35px 22px 28px;position:relative;flex:1;display:flex;flex-direction:column}.question h1,.story h1,.result h1,.offer h1,.app-main h1,.session h1{font-size:27px;line-height:1.22;letter-spacing:-.035em;font-weight:800;margin:0;text-align:center}.question h2{font-size:21px;text-align:center;margin:16px 0}.subtitle{font-size:16px;color:var(--muted);text-align:center;line-height:1.45;margin:12px 0 25px}.eyebrow{color:var(--pink);font-weight:800;letter-spacing:.12em;font-size:11px;text-align:center;margin:0 0 14px}.options{display:flex;flex-direction:column;gap:13px;margin-top:27px;z-index:1}.option{background:#fff;border:1px solid #f0f0f3;border-radius:18px;min-height:80px;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;text-align:left;padding:15px 18px;width:100%;color:var(--text);font-weight:800;font-size:17px;line-height:1.25;transition:transform .15s,border-color .15s,background .15s}.option:active{transform:scale(.98)}.option.selected{border:2px solid var(--pink);background:#fff8fb}.option span:nth-last-child(2){flex:1}.option-icon{font-size:23px;color:var(--pink);background:#f4f5f8;min-width:47px;height:47px;display:grid;place-items:center;border-radius:12px;font-weight:500}.arrow{font-size:28px;color:#8b9199;font-weight:400}.check{border:2px solid #d5d8df;border-radius:11px;width:28px;height:28px;margin-left:auto;display:grid;place-items:center;color:white;font-size:18px}.selected .check{border-color:var(--pink);background:var(--pink)}.primary{background:var(--pink);border:0;color:white;font-size:17px;font-weight:800;border-radius:16px;width:100%;min-height:59px;padding:16px 20px;box-shadow:0 8px 16px rgba(195,72,120,.16);transition:background .15s,transform .15s}.primary:hover{background:var(--pink-dark)}.primary:active{transform:scale(.99)}.primary.disabled{background:#e7a9bf;box-shadow:none;cursor:not-allowed}.bottom-action{margin-top:auto;padding-top:24px;position:sticky;bottom:10px;background:linear-gradient(transparent,#fff 18%);z-index:2}.text-button{display:block;border:0;background:none;color:var(--muted);font-weight:700;font-size:14px;margin:15px auto 0;padding:8px}.story{padding:17px 22px 30px;min-height:calc(100dvh - 134px);display:flex;flex-direction:column;align-items:center}.story-photo{width:100%;aspect-ratio:1.28;margin:0 0 28px;border-radius:24px}.photo{position:relative;overflow:hidden;background:#f6f1f3}.photo img{position:absolute;max-width:none;object-fit:fill}.story h1{margin:7px 0 17px}.story p{color:var(--muted);text-align:center;font-size:16px;line-height:1.5;margin:0 0 30px}.story .primary{margin-top:auto}.hero{min-height:calc(100dvh - 134px);padding-top:38px}.hero .question-copy h1{font-size:31px}.hero .subtitle{margin:12px 0}.hero h2{margin-top:25px}.hero .options{width:72%;margin-top:18px;gap:10px}.hero .option{background:#f7f7f9;box-shadow:none;border:none;min-height:61px;border-radius:18px}.hero-cutout{position:absolute;right:-8%;bottom:0;width:58%;height:48%;background:white;z-index:0;mask-image:linear-gradient(#000 75%,transparent);pointer-events:none}.question-photo{width:100%;aspect-ratio:1.47;border-radius:22px;margin-top:19px}.split .options{width:58%}.split-photo{position:absolute;right:-10%;bottom:4%;width:57%;height:65%;z-index:0;mask-image:linear-gradient(#000 82%,transparent);pointer-events:none}.measure{align-items:stretch}.measure-box{margin:35px auto 30px;display:flex;align-items:baseline;justify-content:center;gap:6px;border-bottom:2px solid var(--line);padding-bottom:10px;width:100%}.measure-box input{font-size:61px;font-weight:800;max-width:175px;border:0;text-align:right;outline:0;color:var(--text);background:transparent}.measure-box input::placeholder{font-size:18px;color:#b4b6bb}.measure-box span{font-size:17px;color:var(--muted)}.range{width:100%;accent-color:var(--pink)}.measure-help{text-align:center;color:#a7aab0;font-size:13px;margin:14px 0}.measure .bottom-action{margin-top:22px}.result,.offer{padding:20px 22px 50px}.result-intro{text-align:center}.result-photo{width:100%;aspect-ratio:1.65;border-radius:23px;margin-bottom:24px}.result h1,.offer h1{font-size:31px}.result-intro>p:last-child,.offer>p:not(.eyebrow):not(.fineprint){color:var(--muted);line-height:1.5}.profile-card,.plan-preview,.offer-card{background:#fff;border:1px solid var(--line);border-radius:23px;box-shadow:var(--shadow);padding:20px;margin:23px 0}.profile-card>div{display:flex;flex-direction:column;gap:4px;padding:13px 0;border-bottom:1px solid var(--line)}.profile-card>div:last-child{border:0}.profile-card small,.today-card span{font-size:11px;color:var(--pink);font-weight:800;letter-spacing:.08em}.profile-card strong{font-size:17px}.plan-preview h2,.offer-card h2{margin:0 0 7px;font-size:21px}.plan-preview p{color:var(--muted);line-height:1.45;margin:0 0 18px}.day-pills{display:flex;justify-content:space-between;gap:2px}.day-pills span{width:37px;height:37px;border-radius:50%;background:var(--pink-light);display:grid;place-items:center;color:var(--pink);font-weight:800;position:relative}.day-pills small{display:none}.result-actions{display:grid;gap:10px}.secondary{background:#fff;border:2px solid var(--pink);border-radius:16px;color:var(--pink);font-size:16px;font-weight:800;width:100%;min-height:58px;padding:12px}.fineprint{font-size:11px;color:#999da4;line-height:1.45;text-align:center;margin:22px 0}.offer{text-align:center}.offer-art{position:relative;margin:26px 0;border-radius:22px;overflow:hidden}.offer-photo{width:100%;aspect-ratio:1.3}.offer-art>div:last-child{position:absolute;bottom:0;left:0;right:0;color:#fff;background:linear-gradient(transparent,rgba(38,33,39,.75));padding:50px 22px 20px;text-align:left}.offer-art span,.offer-art strong{display:block;font-size:20px}.offer-art strong{font-size:29px}.offer-card{text-align:left}.offer-card ul{padding-left:21px;line-height:2;margin-bottom:0}.app-shell{background:#fbfafb}.app-header{height:76px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;background:#fff}.app-header .brand{text-align:left}.profile-button{font-size:20px;border-radius:50%;background:#f3f3f5;width:38px;height:38px}.app-main{padding:30px 22px 115px}.app-main .eyebrow{text-align:left}.app-main h1{text-align:left;font-size:32px}.app-sub{margin:7px 0 26px;color:var(--muted);font-size:14px}.today-card{display:grid;grid-template-columns:1fr 38%;min-height:260px;border-radius:25px;background:#272a31;color:#fff;overflow:hidden;position:relative}.today-card>div:first-child{padding:23px 0 20px 22px;z-index:1}.today-card span{color:#f3afc8}.today-card h2{font-size:28px;line-height:1.12;margin:19px 0 8px}.today-card p{font-size:13px;line-height:1.35;color:#e5e3e6}.today-card button{border:0;background:#fff;color:#2d2d34;font-weight:800;border-radius:12px;padding:12px 14px;margin-top:9px}.today-card button span{color:var(--pink);font-size:18px}.today-photo{height:100%;width:100%;filter:saturate(.85)}.streak{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;margin:20px 0}.streak strong{display:block;font-size:19px}.streak span{color:var(--muted);font-size:13px}.streak-track{height:8px;background:#f2e4ea;border-radius:8px;margin-top:15px;overflow:hidden}.streak-track i{display:block;height:100%;background:var(--pink);border-radius:8px}.section-title{font-size:22px;margin:28px 0 13px}.day-list{display:grid;gap:10px}.day-row{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px}.day-number{background:#f6eaf0;color:var(--pink);font-weight:800;border-radius:12px;width:43px;height:43px;display:grid;place-items:center}.day-number.done{background:#e0f4ea;color:#328460}.day-row span:nth-child(2){display:grid;gap:3px;flex:1}.day-row small{color:var(--muted)}.day-arrow{font-size:24px;color:var(--muted)}.app-nav{position:fixed;bottom:0;width:min(440px,100%);height:78px;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-around;align-items:center;z-index:5}.app-nav button{border:0;background:none;font-size:23px;color:#9a9da4;min-width:70px;display:grid;justify-items:center}.app-nav button.active{color:var(--pink)}.app-nav small{font-size:11px;font-weight:700}.reset{margin-top:30px}.session{padding:28px 22px 40px;text-align:center}.session h1{font-size:28px}.session-photo{margin:24px 0 20px}.session-image{width:100%;aspect-ratio:1.5;border-radius:22px}.session-count{color:var(--pink);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.session h2{font-size:26px;margin:10px 0}.session>p:not(.eyebrow):not(.fineprint){color:var(--muted);line-height:1.4}.timer{font-size:48px;font-weight:800;margin:25px 0}.timer small{font-size:16px;color:var(--muted);font-weight:500}.session-actions{display:grid;gap:11px}@media(max-width:380px){.question h1{font-size:24px}.option{font-size:15px;min-height:70px}.hero .options{width:76%}.brand{font-size:26px}}@media(min-width:800px){.shell{margin:35px auto;min-height:760px;border-radius:28px}.app-nav{bottom:35px;border-radius:0 0 28px 28px}}
:root{--pink:#9e5980;--pink-dark:#7e4167;--pink-light:#f4e9f0;--text:#302b35;--muted:#78717d;--line:#ece7eb;--card:#fff;background:#f8f3f4}
.shell{background:#fffdfc}
.progress>div{background:linear-gradient(90deg,#ab658c,#d49db0)}
.photo{background:#f2ebee}
.photo img{width:100%;height:100%;left:0;top:0;object-fit:cover}
.hero-cutout{right:-5%;width:55%;height:46%;background:#fffdfc;mask-image:linear-gradient(#000 72%,transparent)}
.hero-cutout img{object-position:51% 9%}
.story-photo img,.question-photo img,.result-photo img,.offer-photo img,.session-image img{object-position:center 45%}
.split-photo{right:-8%;width:56%;height:62%}
.split-photo img{object-position:62% center}
.today-photo img{object-position:63% center}
.result-photo img{object-position:center 22%}
.brand span{background:#f1ebef;color:#5d5360}
.option.selected{background:#faf4f7}
.primary{box-shadow:0 8px 16px rgba(158,89,128,.17)}
.today-card{background:#514052}
.streak-track{background:#eadce4}
.section-note{font-size:13px;line-height:1.45;color:var(--muted);margin:-4px 0 15px}
.premium-banner{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin-top:24px;padding:17px;border:1px solid #dfc7d6;border-radius:18px;background:#f8edf4;color:var(--text)}
.premium-banner .premium-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#ead4e0;color:var(--pink);font-size:23px}
.premium-banner span:nth-child(2){flex:1;display:grid;gap:3px}
.premium-banner b{font-size:16px}
.premium-banner small{font-size:12px;color:var(--muted)}
.premium-banner>span:last-child{font-size:25px;color:var(--pink)}
.upsell-banner{position:relative;overflow:hidden;padding-top:20px}
.upsell-banner:after{content:"+";position:absolute;right:-16px;top:-28px;font-size:92px;line-height:1;color:rgba(195,72,120,.08);font-weight:800}
.premium-banner .upsell-tag{display:inline-flex;width:max-content;color:#fff;background:var(--pink);padding:4px 7px;border-radius:999px;font-size:9px;letter-spacing:.1em;font-weight:800}
.app-nav button{min-width:58px}
.session-intro{font-size:14px;margin:13px 0 0}
.exercise-track{height:7px;border-radius:7px;background:#eee3e9;overflow:hidden;margin:14px 0 8px}
.exercise-track i{display:block;height:100%;border-radius:7px;background:var(--pink)}
.gentle-tip{text-align:left;display:grid;gap:5px;padding:15px 17px;margin-top:18px;border-radius:15px;background:#f8edf4;color:var(--text);font-size:14px;line-height:1.4}
.gentle-tip b{color:var(--pink)}
.session .timer{margin:20px 0}
.session .text-button{margin:0 auto}
.premium-page{padding:35px 22px 115px}
.premium-page h1{font-size:31px;line-height:1.2;letter-spacing:-.035em;text-align:center;margin:0}
.premium-lead{text-align:center;line-height:1.5;color:var(--muted);margin:17px 0 23px}
.premium-hero{position:relative;overflow:hidden;border-radius:22px;margin:0 0 22px;background:#ede2e8}
.premium-photo{width:100%;aspect-ratio:1.55}
.premium-hero>span{position:absolute;left:0;right:0;bottom:0;padding:42px 19px 18px;background:linear-gradient(transparent,rgba(38,31,39,.72));color:#fff;font-size:20px;line-height:1.24}
.premium-module{display:flex;align-items:center;gap:13px;padding:17px 13px;margin:10px 0;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}
.premium-module>span{color:var(--pink);font-weight:800}
.premium-module>div{flex:1}
.premium-module b{font-size:15px}
.premium-module p{font-size:12px;color:var(--muted);line-height:1.35;margin:5px 0 0}
.premium-module strong{font-size:17px}
.premium-note{font-size:13px;line-height:1.5;color:#6d5866;background:#f8edf4;border:1px solid #ecdce6;border-radius:16px;padding:16px;margin:20px 0}
.premium-offer-card{border-radius:20px;border:1px solid var(--line);padding:20px;box-shadow:var(--shadow)}
.premium-offer-card h2{font-size:19px;margin:0 0 10px}
.premium-offer-card ul{padding-left:20px;margin:0;line-height:1.8;font-size:14px}
.premium-offer{padding-bottom:50px}
.upsell-summary{display:grid;gap:5px;padding:20px;margin:4px 0 18px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#39303b,#723d5a 62%,#c34878);box-shadow:0 18px 36px rgba(86,46,69,.2)}
.upsell-summary span{font-size:10px;letter-spacing:.13em;font-weight:800;color:#f7bad1}
.upsell-summary strong{font-size:24px}
.upsell-summary small{font-size:13px;color:#f5e9ee}
.upsell-summary b{font-size:15px;margin-top:8px;color:#fff}
.guide-days{display:flex;justify-content:space-between;gap:6px;margin:17px 0 20px}
.guide-days button{width:39px;height:39px;border:1px solid #e5d5df;border-radius:50%;background:#fff;color:var(--pink);font-weight:800}
.guide-days button.active{background:var(--pink);color:#fff;border-color:var(--pink)}
.guide-heading{border-radius:19px;padding:19px;background:#f8edf4}
.guide-heading>span{font-size:11px;letter-spacing:.12em;font-weight:800;color:var(--pink)}
.guide-heading h2{font-size:21px;margin:7px 0}
.guide-heading p{font-size:13px;line-height:1.4;color:var(--muted);margin:0 0 12px}
.guide-heading button{border:0;background:#fff;color:var(--pink);border-radius:10px;padding:10px 13px;font-weight:800}
.meal-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px;margin:9px 0}
.meal-card b{color:var(--pink);font-size:14px}
.meal-card p{font-size:14px;line-height:1.45;margin:6px 0 0}
.guide-habit{background:#f8edf4;border-radius:17px;padding:17px;margin-top:20px}
.guide-habit b{color:var(--pink)}
.guide-habit p{font-size:14px;line-height:1.45}
.guide-habit button{border:0;background:var(--pink);color:#fff;padding:10px 13px;border-radius:10px;font-weight:800}
.guide-progress{text-align:center;font-size:13px;color:var(--muted);margin:19px 0}
.shopping-section{margin-top:24px}
.shopping-section button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;margin:7px 0;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--text);font-size:13px;font-weight:700}
.shopping-section button span{width:22px;height:22px;border:2px solid #d6bfcd;border-radius:7px;display:grid;place-items:center;color:#fff;flex:none}
.shopping-section button[aria-pressed="true"]{background:#f8edf4}
.shopping-section button[aria-pressed="true"] span{background:var(--pink);border-color:var(--pink)}

/* RITMO Calistenia: cor, quiz visual, checkout e diário */
:root{--pink:#a94470;--pink-dark:#843057;--pink-light:#faeaf1;--peach:#f2a179;--coral:#e7847e;--text:#322937;--muted:#756c77;--line:#eddee5;background:#fff6f3}
.shell{background:#fffcfa}
.header,.app-header{background:#fffaf8}
.brand{letter-spacing:-.025em;color:var(--pink)}
.brand span{background:#ffe6df;color:#844261}
.progress>div{background:linear-gradient(90deg,var(--pink),var(--peach))}
.primary{background:linear-gradient(110deg,#a94470,#c45f7a 65%,#de7e78);box-shadow:0 10px 21px rgba(169,68,112,.2)}
.primary:hover{background:linear-gradient(110deg,#843057,#a94470)}
.option.selected{border-color:var(--coral);background:#fff4f0}
.option-icon{background:#fff0e8}
.today-card{background:linear-gradient(125deg,#704268,#aa6173)}
.today-card span{color:#ffddc7}
.streak-track{background:#fae9e5}
.streak-track i{background:linear-gradient(90deg,var(--pink),var(--peach))}
.social-proof{margin:24px 0 4px;padding:18px;border:1px solid #ead7df;border-radius:21px;background:linear-gradient(145deg,#fff,#fbf1f5);box-shadow:0 8px 24px rgba(77,48,64,.07)}
.social-proof-title{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.social-proof-title>span{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#f3dfe8;color:var(--pink);font-size:21px}
.social-proof-title small{display:block;color:var(--pink);font-size:9px;font-weight:800;letter-spacing:.1em;margin-bottom:2px}
.social-proof-title h2{font-size:19px;margin:0}
.social-proof-list{display:grid;gap:10px}
.social-proof-list article{background:#fff;border:1px solid #eee3e8;border-radius:15px;padding:14px;line-height:1.4}
.social-proof-list article div{font-size:14px;font-weight:700}
.social-proof-list article small{display:block;color:var(--pink);font-size:11px;font-weight:800;margin-top:10px;line-height:1.35}
.body-question .options{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.body-question .option{min-height:0;padding:9px;display:flex;flex-direction:column;align-items:stretch;gap:7px;font-size:14px}
.body-question .option .body-thumb{width:100%;aspect-ratio:1.18;object-fit:cover;border-radius:12px;background:#f6e9e4}
.body-question .option span:nth-last-child(2){padding:2px 4px 4px}
.body-question .option .check{position:absolute;right:17px;margin-top:8px;background:#fff}
.body-question .option.selected .check{background:var(--pink)}
.body-question .bottom-action{grid-column:1/-1}
.checkout{padding:27px 22px 55px}
.checkout h1{font-size:31px;line-height:1.2;letter-spacing:-.035em;text-align:center;margin:0}
.checkout-lead{text-align:center;color:var(--muted);line-height:1.5}
.checkout-photo{margin:21px 0;border-radius:23px;overflow:hidden}
.checkout-photo .photo{width:100%;aspect-ratio:1.75}
.checkout-step{display:flex;align-items:center;gap:7px;color:#9b8d98;font-size:12px;font-weight:700;margin:18px 0}
.checkout-step span,.checkout-step b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#eee3e9;color:var(--pink)}
.checkout-step span{background:var(--pink);color:#fff}
.checkout-plan{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;margin:10px 0;box-shadow:var(--shadow);color:var(--text)}
.checkout-plan.chosen{border:2px solid var(--pink);background:#fff5f8}
.checkout-plan>span{flex:1;display:grid;gap:5px}
.checkout-plan b{font-size:17px}
.checkout-plan small{font-size:13px;color:var(--muted);line-height:1.4}
.checkout-plan strong{font-size:24px;color:var(--pink)}
.checkout-summary{border-radius:18px;background:#fff0e8;padding:18px;margin:23px 0}
.checkout-summary h2{font-size:18px;margin:0 0 13px}
.checkout-summary>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:7px 0}
.checkout-summary span{color:var(--muted)}

/* Conta e privacidade */
.account-shell{min-height:100vh}
.account-header{border-bottom:1px solid rgba(120,95,108,.1)}
.account-page{padding:34px 23px 64px}
.account-page h1{font-size:30px;line-height:1.14;letter-spacing:-.035em;margin:8px 0 13px}
.account-lead{color:var(--muted);font-size:16px;line-height:1.55;margin:0 0 26px}
.account-form{display:grid;gap:12px;margin-top:24px}
.account-form>label:first-child{font-size:14px;font-weight:800}
.account-form>input{width:100%;border:1px solid var(--line);background:#fff;border-radius:17px;padding:17px 16px;font:inherit;color:var(--text);outline:none;box-shadow:0 6px 20px rgba(71,48,62,.05)}
.account-form>input:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(210,73,126,.12)}
.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted);margin:4px 0 8px}
.consent-check input{accent-color:var(--pink);width:19px;height:19px;flex:0 0 auto;margin-top:1px}
.consent-check button,.quiz-footer button{border:0;background:none;padding:0;color:var(--pink);font:inherit;text-decoration:underline;cursor:pointer}
.account-message{border-radius:14px;padding:13px 15px;background:#fff0f5;color:#71364e;font-weight:700;line-height:1.45}
.account-help{margin:22px 0 10px;padding:17px;border-radius:17px;background:#f5f2f4;color:var(--muted);line-height:1.5}
.account-help b{color:var(--text)}
.account-help p{margin:5px 0 0}
.account-loading{text-align:center;padding-top:90px}
.account-loading .loading-track{margin:0 auto 30px}
.account-card{display:grid;gap:4px;background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px 18px;margin:11px 0;box-shadow:var(--shadow)}
.account-card small{font-size:11px;letter-spacing:.09em;color:var(--muted);font-weight:800}
.account-card b{font-size:17px;overflow-wrap:anywhere}
.account-page>.primary,.account-page>.secondary{width:100%;margin-top:16px}
.danger-link{color:#a53650!important;margin-top:23px}
.privacy-page section{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;margin:13px 0;box-shadow:0 7px 24px rgba(71,48,62,.05)}
.privacy-page section h2{font-size:17px;margin:0 0 7px}
.privacy-page section p{margin:0;color:var(--muted);line-height:1.55}
.payment-preview>p:not(.eyebrow):not(.fineprint){text-align:center;line-height:1.5;color:var(--muted)}
.feature-tabs{display:flex;gap:5px;padding:4px;border-radius:14px;background:#f4e9ec;margin:0 0 27px}
.feature-tabs button{flex:1;border:0;background:transparent;color:#866f7d;padding:10px 5px;border-radius:11px;font-size:12px;font-weight:800}
.feature-tabs button.active{background:#fff;box-shadow:0 3px 10px rgba(54,31,46,.1);color:var(--pink)}
.water-card{border-radius:20px;background:linear-gradient(120deg,#fff0e8,#f7eaf2);padding:20px;display:flex;align-items:center;gap:14px}
.water-emoji{font-size:35px}
.water-card small{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--pink)}
.water-card h2{font-size:31px;margin:3px 0}
.water-card p{font-size:13px;color:var(--muted);margin:0}
.water-progress{height:9px;border-radius:9px;background:#e8d7e1;overflow:hidden;margin:13px 0 17px}
.water-progress i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#6baeb8,#a65b95)}
.water-controls{display:flex;gap:7px}
.water-controls button{flex:1;border:0;border-radius:10px;padding:11px 3px;background:#dceff0;color:#286e7a;font-size:12px;font-weight:800}
.field-label{display:grid;gap:7px;margin:18px 0;font-size:13px;font-weight:700;color:var(--text)}
.field-label input,.meal-log input{width:100%;border:1px solid #dfd6dc;border-radius:11px;padding:12px;background:#fff;color:var(--text)}
.field-label small{font-size:11px;color:var(--muted);font-weight:500}
.small-info{font-size:12px;line-height:1.45;color:var(--muted);background:#f7f1ed;border-radius:12px;padding:13px}
.weekly-water{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.weekly-water div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;justify-content:space-between;font-size:12px}
.weekly-water b{color:var(--pink)}
.meal-log{border:1px solid var(--line);border-radius:16px;background:#fff;padding:15px;margin:10px 0}
.meal-log>div{display:flex;align-items:center;gap:12px}
.meal-log time{color:var(--pink);font-weight:800}
.meal-log b{font-size:14px}
.meal-log p{font-size:13px;line-height:1.45;color:var(--muted)}
.meal-log button{margin-top:9px;border:1px solid #d9bfd0;background:#fff;color:var(--pink);padding:8px 10px;border-radius:9px;font-size:12px;font-weight:800}
.meal-log button[aria-pressed="true"]{background:#e7f3e9;border-color:#c4dfcb;color:#347c57}
.export-button{margin:25px 0 10px}
.document-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px;margin:13px 0;box-shadow:var(--shadow)}
.doc-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff0e8;color:var(--pink);font-size:22px}
.document-card h2{font-size:18px;margin:10px 0 5px}
.document-card p{font-size:13px;line-height:1.45;color:var(--muted)}
.upload-zone{display:block;text-align:center;border:1px dashed var(--pink);border-radius:11px;background:#fff7f8;color:var(--pink);font-weight:800;padding:12px;cursor:pointer}
.upload-zone input{display:none}
.doc-attached{display:grid;gap:3px;margin:13px 0;word-break:break-word}
.doc-attached b{font-size:13px}
.doc-attached small{font-size:11px;color:var(--muted)}
.doc-actions{display:flex;gap:5px;flex-wrap:wrap}
.doc-actions button{border:0;border-radius:9px;padding:9px 10px;background:#f7e9f0;color:var(--pink);font-size:11px;font-weight:800}
.doc-feedback{font-size:12px;color:#476e73!important}
.suggestion-box{background:#f7f1ed;border-radius:12px;padding:12px;margin-top:10px;font-size:12px;line-height:1.45}
.suggestion-box ul{padding-left:18px;margin-bottom:0}
@media(max-width:380px){.body-question .option{font-size:12px}.water-controls button{font-size:11px}.feature-tabs button{font-size:11px}}

/* Quiz narrativo inspirado na sequência enviada pelo cliente. */
.quiz-main{background:#fff}
.question{padding-top:31px}
.question h1{max-width:380px;margin-inline:auto}
.question .options{margin-top:30px}
.body-question .options{display:flex;flex-direction:column;gap:12px}
.body-question .option{flex-direction:row;align-items:center;min-height:88px;padding:9px 16px;gap:15px;font-size:17px;position:relative}
.body-question .option span:nth-last-child(2){padding:0}
.body-question .option .check{position:static;margin:0 0 0 auto;flex:none;background:transparent}
.body-question .option.selected .check{background:var(--pink)}
.quiz-tile{display:block;flex:none;width:72px;height:72px;border-radius:14px;background-repeat:no-repeat;background-color:#f4eef0;overflow:hidden}
.body-question .option .quiz-tile{width:73px;height:73px}
.concernAreas .option:first-child{min-height:60px;border:0;box-shadow:none;background:#fff;padding-left:3px}
.concernAreas .option:first-child .check{order:-1;margin:0 2px 0 0;border-radius:20px;width:37px;height:24px;background:#ececf1;border:0}
.concernAreas .option:first-child.selected .check{background:var(--pink)}
.body-question .subtitle{margin-bottom:2px}
.body-question .bottom-action{padding-top:16px}
.sensitive .quiz-tile{background-color:#f7f5f9}
.photo-choice-step .body-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.body-grid-card{border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:12px;color:var(--text);text-align:center;font-size:15px;font-weight:800}
.body-grid-card .quiz-tile{width:100%;aspect-ratio:1.04;height:auto;border-radius:20px;margin-bottom:12px}
.photo-options{display:grid;gap:12px;margin-top:29px}
.quiz-tile-standalone{background-size:215%!important;background-position:center 31%!important;background-repeat:no-repeat}
.back-placeholder{display:block;width:38px;height:38px}
.measure-error{min-height:20px;margin:6px 0 0;color:#a52e5d;font-size:13px;font-weight:700;text-align:center}
.photo-option{min-height:86px;padding:9px 15px}
.photo-option .quiz-tile{width:67px;height:67px}
.photo-option span:nth-last-child(2){flex:1}
.visual-step .subtitle{margin:14px auto 23px;max-width:375px}
.visual-step .bottom-action{margin-top:24px}
.branch-chart{position:relative;height:275px;margin:25px 0 5px}
.branch-chart svg{position:absolute;left:12px;top:33px;width:calc(100% - 24px);height:220px}
.branch-chart>span{position:absolute;z-index:1;padding:8px 10px;border-radius:11px;background:#fff;box-shadow:var(--shadow);font-size:12px;font-weight:800}
.branch-origin{left:0;top:132px}
.branch-good{right:0;top:8px;color:#14855c}
.branch-low{right:0;bottom:2px;color:#d74f61}
.chart-caption{font-size:13px;line-height:1.45;text-align:center;color:var(--muted);margin:15px 0}
.loading-track{height:13px;border-radius:20px;background:#f3edf0;overflow:hidden;margin:12px 0}
.loading-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--pink),#e9a0b6);animation:loadbar 2s ease-out both;transform-origin:left}
@keyframes loadbar{from{transform:scaleX(.15)}to{transform:scaleX(1)}}
.loading-step>strong{display:block;text-align:center;margin:6px 0 22px}
.loading-photo{width:100%;aspect-ratio:1.08;border-radius:22px}
.weight-path-chart{margin:20px 0 7px}
.weight-path-chart svg{width:100%;height:195px}
.weight-path-labels{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:13px;color:var(--muted)}
.weight-path-labels strong{font-size:17px;color:var(--text)}
.gauge-card,.profile-summary,.journey-card{border:1px solid var(--line);background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:17px;margin:20px 0}
.gauge-card p{margin:0 0 10px;text-align:center;font-size:15px}
.gauge-marker{background:var(--text);color:#fff;border-radius:8px;padding:6px 11px;display:table;margin:0 auto 8px;font-size:13px;font-weight:800}
.gauge-bar{height:17px;border-radius:18px;background:linear-gradient(90deg,#4bb4d6,#2db78d,#f3d749,#ff944c,#e35169)}
.gauge-labels{display:flex;justify-content:space-between;gap:3px;font-size:10px;color:var(--muted);margin-top:8px}
.profile-alert{background:#fff0f2;border:1px solid #f0cbd5;border-radius:17px;padding:17px;color:#9c3d5c}
.profile-alert p{margin:5px 0 0;font-size:14px;line-height:1.45}
.profile-summary{padding:5px 17px}
.profile-summary>div{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:3px}
.profile-summary>div:last-child{border:0}
.profile-summary small{font-size:12px;color:var(--muted)}
.profile-summary strong{font-size:15px}
.journey-card{display:flex;align-items:center;gap:7px;padding:12px}
.journey-card>div{width:46%;text-align:center}
.journey-card>span{font-size:25px;color:var(--pink)}
.journey-card small{font-size:10px;color:var(--muted);font-weight:800}
.journey-card .photo{width:100%;aspect-ratio:1.07;margin:7px 0;border-radius:13px}
.journey-card b{font-size:12px;line-height:1.2;display:block}
.comparison-card{display:block;padding:12px;overflow:hidden}
.comparison-card .comparison-head{display:grid;grid-template-columns:1fr 28px 1fr;align-items:center;gap:4px;margin-bottom:9px}
.comparison-card .comparison-head span{width:auto;text-align:center;display:grid;gap:3px}
.comparison-card .comparison-head i{font-style:normal;font-size:24px;color:var(--pink);text-align:center}
.comparison-card .comparison-head b{font-size:12px}
.comparison-card>img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:14px}
.hero .options{width:65%}
.hero .option{background:#fff;box-shadow:var(--shadow);border:1px solid var(--line)}
.hero-cutout{height:62%;width:67%;right:-17%}
.measure .bottom-action{margin-top:25px}
@media(max-width:380px){.body-question .option{font-size:15px}.quiz-tile{width:60px;height:60px}.body-question .option .quiz-tile{width:63px;height:63px}}

/* RITMO Aura — linguagem visual inspirada nas referências em vidro e luz. */
:root{
  --pink:#b33e76;
  --pink-dark:#87305d;
  --pink-light:#f8e4ed;
  --text:#29252d;
  --muted:#6f6873;
  --line:rgba(255,255,255,.62);
  --card:rgba(255,255,255,.68);
  --shadow:0 18px 44px rgba(81,51,72,.13),inset 0 1px 0 rgba(255,255,255,.88);
  background:#f2e8e7;
}
body{
  min-height:100dvh;
  background:
    radial-gradient(circle at 16% 18%,rgba(210,221,156,.9) 0,rgba(210,221,156,.28) 19%,transparent 43%),
    radial-gradient(circle at 83% 24%,rgba(243,199,171,.88) 0,rgba(243,199,171,.25) 23%,transparent 47%),
    radial-gradient(circle at 52% 86%,rgba(190,163,205,.62) 0,rgba(190,163,205,.2) 27%,transparent 53%),
    linear-gradient(145deg,#e7e1d7 0%,#f5e8e7 48%,#ebe5ee 100%);
  background-attachment:fixed;
}
body::before,body::after{
  content:"";
  position:fixed;
  width:34vw;
  height:34vw;
  border-radius:50%;
  filter:blur(72px);
  opacity:.33;
  pointer-events:none;
  z-index:0;
}
body::before{left:-8vw;bottom:8vh;background:#e5a5b4}
body::after{right:-7vw;top:5vh;background:#d9dd9c}
.shell{
  position:relative;
  z-index:1;
  background:linear-gradient(155deg,rgba(255,255,255,.78),rgba(255,249,250,.58));
  border-inline:1px solid rgba(255,255,255,.72);
  box-shadow:0 28px 85px rgba(64,46,58,.2),inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:blur(28px) saturate(1.12);
  -webkit-backdrop-filter:blur(28px) saturate(1.12);
}
.shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 88% 10%,rgba(222,229,154,.32),transparent 25%),
    radial-gradient(circle at 9% 55%,rgba(239,174,188,.25),transparent 30%),
    radial-gradient(circle at 80% 86%,rgba(192,175,214,.26),transparent 31%);
  pointer-events:none;
  z-index:0;
}
.shell>*{position:relative;z-index:1}
.header,.app-header{
  background:rgba(255,255,255,.48);
  border-bottom:1px solid rgba(255,255,255,.58);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.progress{height:3px;background:rgba(255,255,255,.38)}
.progress>div{background:linear-gradient(90deg,#ae3b73,#df8291,#d9db8e);box-shadow:0 0 14px rgba(192,75,122,.38)}
.brand{color:#a9346b;text-shadow:0 2px 16px rgba(184,72,117,.16)}
.brand span{background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 0 #fff}
.quiz-main,.app-shell{background:transparent}
.question,.story,.result,.offer,.app-main,.session,.premium-page,.checkout{background:transparent}
.eyebrow{color:#a93369}
.subtitle,.story p,.app-sub{color:#68616c}
.option,.body-grid-card,.profile-card,.plan-preview,.offer-card,.streak,.day-row,.premium-module,.premium-offer-card,.meal-card,.meal-log,.document-card,.gauge-card,.profile-summary,.journey-card,.checkout-plan{
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.5));
  border:1px solid rgba(255,255,255,.76);
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px) saturate(1.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
}
.option:hover,.day-row:hover{border-color:rgba(179,62,118,.3);transform:translateY(-1px)}
.option.selected,.checkout-plan.chosen{
  background:linear-gradient(145deg,rgba(255,247,251,.92),rgba(247,221,232,.66));
  border-color:rgba(179,62,118,.62);
  box-shadow:0 14px 35px rgba(142,54,94,.16),inset 0 1px 0 #fff;
}
.option-icon,.doc-icon,.premium-banner .premium-icon{
  background:rgba(255,255,255,.56);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 #fff;
}
.primary{
  background:linear-gradient(110deg,#a92f69 0%,#ca5d7d 57%,#e58e83 100%);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 15px 30px rgba(153,47,95,.24),inset 0 1px 0 rgba(255,255,255,.35);
}
.primary:hover{background:linear-gradient(110deg,#8e2859,#b5476f 58%,#d87876)}
.bottom-action{background:linear-gradient(transparent,rgba(255,252,251,.72) 24%,rgba(255,252,251,.88));backdrop-filter:blur(2px)}
.photo,.story-photo,.question-photo,.result-photo,.offer-art,.session-image,.premium-hero,.loading-photo,.quiz-tile{
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 18px 42px rgba(74,49,66,.12),inset 0 1px 0 rgba(255,255,255,.78);
}
.today-card{
  background:
    radial-gradient(circle at 88% 7%,rgba(222,225,151,.62),transparent 42%),
    radial-gradient(circle at 8% 94%,rgba(215,133,164,.55),transparent 48%),
    linear-gradient(145deg,rgba(100,68,93,.91),rgba(151,92,118,.78));
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 22px 48px rgba(74,43,64,.22),inset 0 1px 0 rgba(255,255,255,.35);
  backdrop-filter:blur(18px);
}
.today-card button{background:rgba(255,255,255,.82);box-shadow:0 9px 24px rgba(45,29,41,.16)}
.streak-track,.exercise-track,.water-progress,.loading-track{background:rgba(255,255,255,.48);box-shadow:inset 0 1px 3px rgba(74,48,65,.08)}
.premium-banner,.gentle-tip,.premium-note,.guide-heading,.guide-habit,.water-card,.small-info,.suggestion-box,.social-proof,.profile-alert,.checkout-summary{
  background:linear-gradient(145deg,rgba(255,255,255,.63),rgba(247,224,232,.47));
  border:1px solid rgba(255,255,255,.68);
  box-shadow:0 14px 34px rgba(77,48,65,.1),inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:blur(14px);
}
.social-proof-list article,.shopping-section button,.weekly-water div,.guide-days button{
  background:rgba(255,255,255,.62);
  border-color:rgba(255,255,255,.76);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
}
.app-nav{
  background:rgba(255,255,255,.7);
  border-top:1px solid rgba(255,255,255,.78);
  box-shadow:0 -12px 34px rgba(79,57,72,.08);
  backdrop-filter:blur(24px) saturate(1.1);
  -webkit-backdrop-filter:blur(24px) saturate(1.1);
}
.feature-tabs{background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.58)}
.feature-tabs button.active{background:rgba(255,255,255,.78)}
.branch-chart>span,.gauge-marker{box-shadow:0 10px 28px rgba(66,43,58,.12)}
@media(min-width:800px){
  .shell{margin:30px auto;min-height:calc(100dvh - 60px);border-radius:42px;border:1px solid rgba(255,255,255,.78)}
  .header,.app-header{border-radius:42px 42px 0 0}
  .app-nav{bottom:30px;border-radius:0 0 42px 42px}
}
@media(max-width:799px){
  body{background:linear-gradient(150deg,#f1e9e1,#f8e9eb 52%,#ece7f1)}
  .shell{border:0;box-shadow:none}
  body::before,body::after{width:70vw;height:70vw;opacity:.22}
}
@media(prefers-reduced-motion:reduce){.option,.day-row,.primary{transition:none}}
.movement-demo{display:block;width:100%;height:auto;border-radius:20px}.account-form input[type=password]{display:block;width:100%;padding:14px;border:1px solid #ddd;border-radius:10px;margin:8px 0 16px}.account-page .secondary{margin-top:16px}.comparison-columns{display:grid;grid-template-columns:1fr 1fr;text-align:center}
.ritmo-personal-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px;background:white;border-radius:22px;margin:24px 0;box-shadow:var(--shadow)}.ritmo-personal-card figure{margin:0;min-width:0;display:grid;grid-template-rows:68px auto;gap:10px}.ritmo-personal-card figcaption{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;padding:0 5px;line-height:1.3}.ritmo-personal-card figcaption small{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.02em}.ritmo-personal-card figcaption b{font-size:13px;max-width:160px}.ritmo-personal-photo{aspect-ratio:3/4;border-radius:14px;background-size:200% 100%;background-repeat:no-repeat}.ritmo-personal-photo.start{background-position:left center}.ritmo-personal-photo.active{background-position:right center}.ritmo-body-option{display:block;width:100%;aspect-ratio:3/4;background-size:200% 100%;background-position:left center;border-radius:12px}.final-plan-step h1{text-align:center}
