/* RITMO: shared visual layer. Purchase, authentication and access remain in their existing modules. */
:root {
  --pink:#b92775;
  --pink-dark:#92205e;
  --pink-light:#ffe5f0;
  --peach:#ffad85;
  --coral:#f77b89;
  --text:#302439;
  --muted:#6c5b70;
  --line:rgba(255,255,255,.78);
  --card:rgba(255,255,255,.68);
  --shadow:0 16px 36px rgba(127,42,91,.10),inset 0 1px 0 rgba(255,255,255,.95);
  font-family:'DM Sans',Arial,sans-serif;
  color:var(--text);
  background:#f9e8ec;
  -webkit-font-smoothing:antialiased;
}
body {
  background:
    radial-gradient(ellipse at 0% 8%,rgba(255,154,102,.55),transparent 44%),
    radial-gradient(ellipse at 95% 28%,rgba(241,109,177,.38),transparent 42%),
    radial-gradient(ellipse at 22% 85%,rgba(210,132,237,.34),transparent 43%),
    linear-gradient(150deg,#fff1df,#fce6f0 50%,#f4def0);
  background-attachment:fixed;
  min-height:100dvh;
}
body::before,body::after{display:none}
.shell {
  width:100%;max-width:480px;min-height:100dvh;margin:0 auto;
  background:
    radial-gradient(ellipse at 95% 8%,rgba(255,186,141,.30),transparent 32%),
    radial-gradient(ellipse at 6% 38%,rgba(242,117,182,.20),transparent 35%),
    radial-gradient(ellipse at 98% 86%,rgba(208,140,228,.24),transparent 32%),
    linear-gradient(150deg,rgba(255,255,255,.71),rgba(255,251,253,.55));
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 30px 90px rgba(96,36,76,.16),inset 0 1px 0 white;
  /* Keep viewport-fixed navigation independent of the scrolling shell. */
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  overflow:hidden;
}
.shell::before{display:none}
.header,.app-header {
  height:84px;padding-inline:22px;border-radius:0;
  background:rgba(255,255,255,.29);border-bottom:1px solid rgba(255,255,255,.60);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
}
.header{grid-template-columns:44px minmax(0,1fr) 76px}
.brand{font-size:31px;color:#a91f68;text-shadow:none;letter-spacing:-.03em}
.brand span{font-size:10px;letter-spacing:.01em;border-radius:9px;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.85);padding:7px;box-shadow:none}
.back{width:37px;height:37px;border-radius:50%;padding:0;line-height:30px;font-size:30px;display:grid;place-items:center;background:rgba(255,255,255,.60);border:1px solid rgba(255,255,255,.8)}
.header-link{padding:9px 0;font-size:11px;color:#5d3855}
.profile-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.68);color:var(--pink);box-shadow:0 7px 19px #af41731a}
.progress{height:3px;background:rgba(255,255,255,.7)}
.progress>div{background:linear-gradient(90deg,#b92775,#eb7296,#ffaf80);box-shadow:0 0 14px #e95da549}
.question,.story,.result,.offer,.checkout,.premium-page,.session,.app-main{padding-inline:24px}
.question{padding-top:34px;padding-bottom:30px}
.question h1,.story h1,.result h1,.offer h1,.checkout h1,.premium-page h1,.session h1,.app-main h1{
  color:var(--text);font-size:clamp(28px,6.8vw,35px);font-weight:700;letter-spacing:-.045em;line-height:1.16;
}
.subtitle,.story p,.premium-lead,.checkout-lead,.app-sub{font-size:15px;line-height:1.6;color:var(--muted)}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:#a42166}
.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,.account-card,.ritmo-personal-card {
  background:linear-gradient(140deg,rgba(255,255,255,.82),rgba(255,255,255,.52));
  border:1px solid rgba(255,255,255,.91);border-radius:24px;box-shadow:var(--shadow);
  backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);
}
.option{font-size:16px;min-height:76px;padding:16px;gap:13px;font-weight:700}
.options{gap:12px;margin-top:24px}
.option:hover,.day-row:hover{transform:none;border-color:rgba(185,39,117,.42)}
.option.selected,.checkout-plan.chosen{background:linear-gradient(135deg,#fff8fbe8,#ffd8e7b0);border-color:#c44486;box-shadow:0 10px 28px #b9327419,inset 0 1px 0 white}
.option-icon,.doc-icon,.premium-banner .premium-icon{border-radius:16px;background:linear-gradient(135deg,#fff8fc,#ffdfec);color:#ad266b;box-shadow:inset 0 1px 0 white;border:1px solid #fff;min-width:43px;height:43px}
.check{border-color:#ceb2c5}
.selected .check{background:#b92775;border-color:#b92775}
.primary,.action {
  min-height:58px;line-height:1.4;border-radius:21px;font-size:16px;font-weight:800;color:#fff;
  background:linear-gradient(110deg,#b51f70,#bb3373 62%,#c34a62);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 14px 28px #b227722e,inset 0 1px 0 #ffffff52;
}
.primary:hover,.action:hover{background:linear-gradient(110deg,#99205f,#ae2d67 65%,#ad4059)}
.primary:disabled,.primary.disabled{background:#b36b91;box-shadow:none;opacity:.65;cursor:not-allowed}
.secondary{border:1px solid rgba(185,39,117,.27);border-radius:21px;min-height:57px;background:rgba(255,255,255,.72);color:#9c235f;box-shadow:0 9px 25px #8e376410,inset 0 1px 0 white;font-weight:700;font-size:15px}
.text-button{color:#684e63;font-size:13px;font-weight:600;line-height:1.45;min-height:42px}
.fineprint,.quiz-footer,.chart-caption{color:#70616f;line-height:1.6}
.bottom-action{background:linear-gradient(transparent,rgba(255,249,252,.75) 28%);backdrop-filter:none;padding-top:22px}
.photo,.story-photo,.question-photo,.result-photo,.offer-art,.premium-hero,.loading-photo,.session-image{border:1px solid #ffffffc9;border-radius:28px;box-shadow:0 16px 30px #8a335216}
.hero-cutout,.split-photo{box-shadow:none;border:0;background:transparent}
.story-photo{margin-top:8px;margin-bottom:26px}
.hero .question-copy h1{font-size:35px}
.hero .option{border-radius:22px;background:rgba(255,255,255,.80)}
.body-grid-card{overflow:hidden;padding:10px}
.body-grid-card b{font-size:13px;line-height:1.4;padding:9px 5px 2px}
.profile-summary{padding:5px 20px}
.profile-summary>div,.profile-card>div{border-bottom-color:#b63e731c;padding-block:15px}
.ritmo-personal-card{gap:12px;padding:14px}
.ritmo-personal-card figure{grid-template-rows:72px auto;gap:8px}
.ritmo-personal-card figcaption{width:100%;text-align:center;align-items:center;justify-content:center;gap:6px}
.ritmo-personal-card figcaption b{font-size:13px;line-height:1.3;max-width:155px}
.ritmo-personal-card figcaption small{font-size:9px;letter-spacing:.05em;color:#71576b}
.ritmo-personal-photo{border:1px solid #fff;border-radius:19px}
.measure-box input{font-weight:500;letter-spacing:-.07em;color:#78385a}
.account-page{padding:35px 24px 42px;position:relative}
.account-page:before{
  content:'✦';width:63px;height:63px;border-radius:22px;display:grid;place-items:center;
  color:#b92775;font-size:32px;margin:0 0 26px;
  background:linear-gradient(145deg,#fffafc,#ffdeeb);border:1px solid #fff;
  box-shadow:0 13px 30px #c2407c24,inset 0 1px 0 white;
}
.account-page .eyebrow{text-align:left;margin-bottom:13px}
.account-page h1{font-size:36px;line-height:1.12;letter-spacing:-.05em;font-weight:700;margin:0 0 15px;text-align:left;max-width:350px}
.account-page>p{font-size:14px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.account-page .account-lead{font-size:15px;margin-bottom:27px}
.account-form{background:linear-gradient(145deg,#ffffffb8,#fff7fca0);border:1px solid #fff;border-radius:29px;padding:23px 20px;margin-top:21px;box-shadow:0 20px 38px #8d316818,inset 0 1px 0 white;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.account-form label{font-size:13px;font-weight:700;color:#5b3552;line-height:1.45}
.account-form input[type=email],.account-form input[type=password]{display:block;width:100%;min-height:55px;padding:15px 16px;border:1px solid #ffffff;border-radius:17px;background:rgba(255,255,255,.80);color:#302439;font-size:16px;font-weight:500;box-shadow:inset 0 1px 3px #8b31550a;margin:9px 0 20px}
.account-form input:focus{border-color:#ba397b;outline:3px solid #dc4a9224;outline-offset:2px;background:#fff}
.account-form input::placeholder{color:#8b7587}
.account-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px #fff5f9 inset;-webkit-text-fill-color:#302439}
.consent-check{gap:11px;align-items:flex-start;margin:20px 0!important;display:flex;line-height:1.55}
.consent-check input[type=checkbox]{accent-color:#b92775;flex:none;width:19px;height:19px;margin-top:2px}
.account-form .consent-check span{color:#6c5868;font-size:12px;font-weight:400}
.consent-check button{color:#9f2464}
.account-form>.primary{margin-top:4px}
.account-message{border:1px solid #fff;background:#fff6fac7;color:#913459!important;border-radius:18px;padding:16px;box-shadow:0 6px 16px #a93c7010}
.account-page>.text-button{width:100%;margin-top:9px}
.account-page>button[data-action=app],.account-page>button[data-action=premium-guide],.account-page>button[data-action=premium-offer]{text-align:left;position:relative;min-height:98px;padding:22px 60px 22px 22px;border-radius:26px;font-size:18px;line-height:1.3;margin-top:17px}
.account-page>button[data-action=app]:after,.account-page>button[data-action=premium-guide]:after,.account-page>button[data-action=premium-offer]:after{content:'↗';position:absolute;right:17px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:1px solid #ffffffb3;border-radius:50%;font-size:21px;background:#ffffff30}
.account-page>button[data-action=premium-guide]{background:linear-gradient(135deg,#fffafce8,#eed5ffc7);color:#713361;border-color:#fff;box-shadow:0 13px 31px #ae5bac20,inset 0 1px 0 white}
.account-page>button[data-action=premium-guide]:after,.account-page>button[data-action=premium-offer]:after{background:#ffffffad}
.account-card{padding:19px;margin:14px 0;border-radius:22px}
.account-card small{color:#76546d;letter-spacing:.08em;font-size:10px}
.account-help{border:1px solid #fff;border-radius:22px;background:#ffffff80;padding:20px;color:#6f5468}
.app-main{padding-top:29px;padding-bottom:140px}
.app-main .eyebrow{margin-bottom:12px;font-size:10px}
.app-main h1{font-size:38px;line-height:1.08;font-weight:600;max-width:330px}
.app-sub{margin-top:13px;margin-bottom:27px}
.today-card {
  min-height:256px;grid-template-columns:minmax(0,1fr) 38%;border-radius:32px;
  color:#4c2c43;background:linear-gradient(135deg,#fffafcd9,#ffd8e99c 60%,#ffdaa5b5);
  border:1px solid #fff;box-shadow:0 22px 39px #ae3e771f,inset 0 1px 0 white;
}
.today-card>div:first-child{padding:24px 4px 22px 22px}
.today-card span{color:#a6286a;font-size:9px;font-weight:800}
.today-card h2{font-size:33px;font-weight:600;line-height:1.03;letter-spacing:-.05em;margin-top:17px}
.today-card p{font-size:12px;line-height:1.5;color:#6e4860;margin-top:12px}
.today-card button{background:linear-gradient(120deg,#b92775,#b1396f);color:#fff;border-radius:16px;padding:13px 12px;box-shadow:0 9px 22px #ad286b30;line-height:1.4;font-size:12px}
.today-card button span{color:#fff;font-size:18px}
.today-photo{border:0;border-radius:0;box-shadow:none;filter:none;background:#ffdfeb77}
.today-photo img{object-position:54% center}
.streak{padding:22px 22px 19px;margin-top:22px;border-radius:28px}
.streak strong{font-size:21px;line-height:1.15;font-weight:500;letter-spacing:-.025em;color:#573249}
.streak strong:first-letter{font-size:58px;font-weight:500;letter-spacing:-.06em}
.streak>span{font-size:12px;color:#76546b}
.streak-track{height:7px;margin-top:16px;background:#ba5d8b19;box-shadow:none}
.streak-track i,.exercise-track i,.water-progress i{background:linear-gradient(90deg,#bb2c78,#f07b9d,#faab85)}
.section-title{font-size:22px;letter-spacing:-.035em;font-weight:700;margin-top:29px}
.section-note{color:#71586b;font-size:12px;line-height:1.6}
.day-list{gap:11px}
.day-row{padding:13px 15px;border-radius:23px;min-height:79px}
.day-number{border:1px solid #fff;background:linear-gradient(145deg,#fff5fa,#ffdfed);border-radius:15px;color:#ad2569;min-width:45px;height:45px;font-size:17px;font-weight:600}
.day-number.done{background:#e0f6ec;color:#276b52}
.day-row b{font-size:14px;font-weight:700}
.day-row small{font-size:11px;color:#77596b;line-height:1.4}
.day-arrow{width:27px;height:27px;border:1px solid #ffffff;background:#ffffff88;border-radius:50%;display:grid;place-items:center;font-size:21px;color:#aa3972}
.premium-banner{border-radius:25px;padding:19px;background:linear-gradient(120deg,#fff8fccc,#eed9fbb3);border:1px solid #fff;box-shadow:0 14px 29px #ae458815;gap:12px}
.premium-banner b{font-size:16px}.premium-banner small{font-size:11px;line-height:1.5;color:#705065}
.premium-banner .upsell-tag{border-radius:8px;font-size:8px;letter-spacing:.08em;background:#a53279;color:#fff;padding:4px 7px}
.upsell-banner:after{display:none}
.shell>nav.app-nav {
  position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));
  width:min(calc(100vw - 36px),430px);height:83px;border:1px solid rgba(255,255,255,.95);border-radius:32px;
  padding:9px;display:flex;align-items:center;justify-content:space-around;gap:5px;z-index:20;
  background:linear-gradient(140deg,rgba(255,255,255,.85),rgba(255,242,250,.65));
  box-shadow:0 18px 45px #732e6929,inset 0 1px 0 white;
  backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);
}
.app-nav button{border:1px solid transparent;background:transparent;min-width:60px;width:67px;height:63px;border-radius:24px;padding:8px 4px;font-size:0;color:#8a647c;display:grid;justify-items:center;align-content:center;gap:6px;box-shadow:none}
.app-nav button.active{color:#fff;background:linear-gradient(140deg,#be2b7d,#a8388d);border:1px solid #ffffffcf;box-shadow:0 8px 20px #bd38834d,inset 0 1px 0 #ffffff50}
.app-nav button small{font-size:10px;font-weight:700;letter-spacing:0;line-height:1.15}
.app-nav button:before{content:'';display:block;width:22px;height:22px;background:currentColor;-webkit-mask:var(--nav-icon) center/contain no-repeat;mask:var(--nav-icon) center/contain no-repeat}
.app-nav [data-action=app]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10 12 3l9 7v10a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z'/%3E%3C/svg%3E")}
.app-nav [data-action=session]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m10 8 6 4-6 4z'/%3E%3C/svg%3E")}
.app-nav [data-action=premium]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='2'/%3E%3Crect x='14' y='3' width='7' height='7' rx='2'/%3E%3Crect x='3' y='14' width='7' height='7' rx='2'/%3E%3Crect x='14' y='14' width='7' height='7' rx='2'/%3E%3C/svg%3E")}
.app-nav [data-action=result]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-2a8 8 0 0 1 16 0v2'/%3E%3C/svg%3E")}
.session{padding-top:30px;padding-bottom:46px}
.session-photo{padding:10px;background:#ffffffa3;border:1px solid #fff;border-radius:30px;box-shadow:var(--shadow);margin-top:25px}
.movement-demo{display:block;width:100%;height:auto;border-radius:23px;background:#fff;object-fit:contain}
.movement-caption{font-size:10px;line-height:1.5;text-align:center;color:#745568;margin:11px 6px 3px}
.session-count{font-size:10px;letter-spacing:.11em;color:#a32669}
.exercise-track{height:5px;background:#be487b1c;box-shadow:none;margin-top:17px}
.session h2{font-size:28px;line-height:1.15;letter-spacing:-.04em;font-weight:700}
.session .timer{font-size:67px;line-height:1.1;letter-spacing:-.065em;font-weight:500;margin:28px 0;color:#542941}
.session .timer small{font-size:14px;letter-spacing:0;white-space:nowrap;color:#775b6c}
.gentle-tip,.premium-note,.guide-heading,.guide-habit,.water-card,.small-info,.suggestion-box,.checkout-summary {
  background:linear-gradient(145deg,#ffffffba,#ffe5f09c);border:1px solid #fff;border-radius:25px;
  box-shadow:0 13px 30px #a7447312,inset 0 1px 0 white;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.water-card{background:radial-gradient(ellipse at top right,#ffb9d78c,transparent 72%),linear-gradient(135deg,#fff9ffdb,#ebd9f4ad)}
.water-stat{font-weight:500;letter-spacing:-.045em}
.feature-tabs{background:#ffffff70;border:1px solid #fff;padding:6px;border-radius:23px;gap:4px;box-shadow:inset 0 1px 0 white}
.feature-tabs button{border-radius:18px;color:#76516d}
.feature-tabs button.active{background:linear-gradient(120deg,#fff,#ffe7f1);color:#a82467;box-shadow:0 6px 16px #9b36611a}
.guide-days{gap:5px}
.guide-days button{border-radius:15px;width:40px;height:43px;border:1px solid #fff;background:#ffffffa6;color:#a6296d;font-weight:700}
.guide-days button.active{background:#b92775;border-color:#b92775;color:#fff}
.shopping-section button{border:1px solid #fff;border-radius:18px;padding:15px;background:#ffffffa8;font-size:13px}
.shopping-section button[aria-pressed=true]{background:#ffdfecb0}
.meal-card,.document-card{padding:18px;border-radius:24px}
.meal-card b,.doc-icon{color:#a92c69}
.meal-card p{font-size:14px;line-height:1.6}
.weekly-water div{background:#ffffff9c;border-color:#fff}
.upsell-summary{border:1px solid #ffffff8c;border-radius:28px;padding:24px;background:radial-gradient(ellipse at top right,#ec9da883,transparent 60%),linear-gradient(125deg,#9f2568,#b94b85 60%,#ad648c);box-shadow:0 20px 38px #9b2d6726}
.upsell-summary strong{font-size:30px;letter-spacing:-.045em;font-weight:600}
.premium-offer-card ul{line-height:1.9;color:#644a5d}
.checkout{padding-top:30px;padding-bottom:38px}
.checkout-photo{border-radius:28px;overflow:hidden;border:1px solid #fff}
.checkout-step{font-size:10px;color:#75556a;line-height:1.6}
.checkout-plan{border-radius:24px}
.checkout-summary{border-radius:28px;padding:23px}
.checkout-summary h2{font-size:19px;letter-spacing:-.035em}
.checkout-summary>div:last-child b{font-size:28px;font-weight:600;letter-spacing:-.045em;color:#983165}
.offer-art{border-radius:31px}.offer-art>div:last-child{background:linear-gradient(transparent,#4d1834bf)}
.offer-art strong{font-size:31px;letter-spacing:-.05em}
.offer-card li{color:#65495d}
.upsell-page .shell{max-width:560px}
.upsell-page header{padding:23px 25px;background:#ffffff40;border-bottom:1px solid #ffffffb3}
.upsell-page .brand{font-family:'Oswald','DM Sans',Arial,sans-serif;font-weight:700;font-size:31px}
.upsell-page .brand span{font-family:'DM Sans',Arial,sans-serif;padding:7px 8px;font-size:9px;text-transform:uppercase;letter-spacing:.07em;vertical-align:middle}
.upsell-page header a{font-size:12px;color:#853b62}
.upsell-page main{padding:33px 25px 27px}
.upsell-page h1{font-size:37px;line-height:1.08;letter-spacing:-.05em;font-weight:600;margin-bottom:19px}
.upsell-page .lead{font-size:15px;line-height:1.6;max-width:380px;color:#70516a}
.upsell-page figure.hero{border:1px solid #fff;border-radius:31px;margin:26px 0;height:247px;min-height:0;padding:0;box-shadow:0 15px 30px #ad4c741a}
.upsell-page .hero figcaption{font-size:18px;font-weight:600;background:linear-gradient(transparent,#4b203bb3);padding:40px 20px 19px}
.upsell-page section.offer{padding:0;background:linear-gradient(140deg,#ffffffbd,#fff6fbbc);border:1px solid #fff;border-radius:31px;text-align:left;box-shadow:0 20px 40px #ae39751a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.upsell-page .offer-head{background:radial-gradient(ellipse at top right,#efab8580,transparent 67%),linear-gradient(120deg,#a62871,#b64580 60%,#b66989);padding:25px 25px 23px}
.upsell-page .offer-head h2{font-size:29px;font-weight:600;letter-spacing:-.04em}
.upsell-page .offer-head small{font-size:9px;letter-spacing:.13em}
.upsell-page .price{font-size:52px;letter-spacing:-.06em;font-weight:500;line-height:1.1;margin-top:12px}
.upsell-page .price span{font-size:12px;letter-spacing:0;display:block;margin:8px 0 0;line-height:1.4;color:#fff3fa}
.upsell-page .offer-body{padding:23px 24px 7px}
.upsell-page .check{border:1px solid #fff;background:linear-gradient(135deg,#fff,#ffe0ee);color:#b22a73;width:31px;height:31px;border-radius:12px;font-size:14px;box-shadow:0 4px 11px #ae3a7110}
.upsell-page .benefits{gap:22px}
.upsell-page .benefits strong{font-size:15px;font-weight:700;color:#513047}
.upsell-page .benefits p{font-size:13px;color:#71586b;line-height:1.6}
.upsell-page .optional{border-top-color:#bd5c8426;font-size:12px;color:#735c6b;line-height:1.65}
.upsell-page #kiwify-upsell-y8rRkSo{--kiwify-upsell-accept-bg:#b92775;--kiwify-upsell-accept-color:#fff;--kiwify-upsell-decline-color:#725168;--kiwify-upsell-font:'DM Sans',Arial,sans-serif;--kiwify-upsell-radius:20px;padding:8px 24px 24px}
.upsell-page #kiwify-upsell-trigger-y8rRkSo{border-radius:20px!important;box-shadow:0 12px 25px #a8267029!important;font-weight:700!important;background:linear-gradient(110deg,#b51f70,#b73377 65%,#bc465f)!important;color:#fff!important}
.upsell-page #kiwify-upsell-cancel-trigger-y8rRkSo{font-size:13px!important;color:#725168!important;line-height:1.5!important;min-height:42px}
.upsell-page .context-note{padding:8px 24px 25px}
.upsell-page .context-note p{font-size:13px;color:#71556b;line-height:1.6}
.upsell-page .delivery{border:1px solid #fff;background:linear-gradient(135deg,#fffafcc7,#f0daf7ad);border-radius:27px;padding:23px;box-shadow:0 12px 25px #ab4a8c10}
.upsell-page .delivery h2{font-size:18px;font-weight:700;letter-spacing:-.025em;color:#563451}
.upsell-page .delivery p{font-size:13px;color:#70546d;line-height:1.65}
.upsell-page .delivery a{color:#9b2265}
.upsell-page details{border-color:#b83f7729;padding-block:16px}
.upsell-page summary{color:#69455e;font-size:13px}
.upsell-page details p,.upsell-page footer{color:#715869;line-height:1.65}
.upsell-page footer{padding:0 25px 31px;font-size:11px}
@supports not (backdrop-filter:blur(1px)) {
  .shell{background:#fff3f8}.account-form,.option,.day-row,.document-card,.meal-card,.checkout-summary,.ritmo-personal-card{background:#fff8fc}
  .shell>nav.app-nav{background:#fff4fa}
}
@media(min-width:800px){
  .shell{margin:32px auto;border-radius:43px;min-height:calc(100dvh - 64px)}
  .header,.app-header{border-radius:0}
  .shell>nav.app-nav{bottom:32px}
  .upsell-page .shell{min-height:0}
  .upsell-page main{padding:36px 34px 30px}
  .upsell-page figure.hero{height:280px}
}
@media(max-width:799px){
  .shell{border:0;box-shadow:none}.upsell-page .shell{max-width:560px}
}
@media(max-width:370px){
  .header,.app-header{padding-inline:17px}.header{grid-template-columns:36px minmax(0,1fr) 70px}
  .brand{font-size:27px}.brand span{font-size:9px;padding:6px}
  .question,.story,.result,.offer,.checkout,.premium-page,.session,.app-main,.account-page{padding-inline:19px}
  .account-page h1{font-size:32px}.account-form{padding:20px 17px}.app-main h1{font-size:34px}
  .today-card h2{font-size:29px}.today-card>div:first-child{padding-left:18px}.today-card button{font-size:11px;padding-inline:9px}
  .shell>nav.app-nav{width:calc(100vw - 28px);padding:8px;gap:2px}.app-nav button{width:60px;min-width:56px}
  .upsell-page main{padding-inline:20px}.upsell-page h1{font-size:33px}.upsell-page .offer-body{padding-inline:20px}
  .upsell-page .price{font-size:47px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.option,.day-row,.primary{transition:none!important}}
