/* Editorial mobile scenes: readable chapters, edge-to-edge film, thumb-sized actions. */
html,body,*,*::before,*::after{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
video::-webkit-media-controls{display:none!important}
.mobile-chapters{display:none}
.mobile-summary{display:none}
.service-play{display:block;margin:18px auto 0;background:#68368a;color:#fff;border-radius:24px;padding:12px 18px;min-height:44px;font:inherit;font-size:14px}
.experiences-motion .service-play{display:none}
@media(max-width:760px),(max-width:1000px) and (max-height:560px){
  :root{scroll-padding-top:76px}
  body{overflow-x:clip;overflow-anchor:none}
  button,a,input{touch-action:manipulation}
  .site-header{padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top));min-height:68px;gap:12px}
  .site-header .brand{font-size:28px;display:flex;align-items:center;min-height:44px}
  .site-header .profile-button{font-size:12px;min-height:44px;padding:10px 14px;border-radius:24px}
  .enhanced .journey{height:280svh}
  .hero-copy{left:6%;top:39%;width:88%}
  .hero-copy h1{font-size:clamp(56px,16vw,84px);letter-spacing:-.06em;line-height:1.02}
  .hero-description{font-size:16px;line-height:1.55;max-width:28ch;margin:22px 0}
  .hero-copy .button,.intro-copy .button{font-size:14px;min-height:48px;padding:13px 20px}
  .hero-bottom{display:none}
  .hero-shade{background:linear-gradient(90deg,#1c1032a0,#1c103230 90%),linear-gradient(0deg,#1c103265,transparent 60%)}
  .motion-control{font-size:12px;min-height:44px;bottom:max(20px,env(safe-area-inset-bottom));border-radius:24px}
  .enhanced .intro-copy{top:90px;left:6%;width:88%}
  .intro-copy h2{font-size:clamp(32px,9vw,42px);line-height:1.08}
  .intro-copy>p{font-size:15px;line-height:1.6;margin:16px 0 20px;max-width:34ch}
  /* Readable mobile chapters, with a tabbed fallback when motion is disabled. */
  html.mobile-stories .experience{height:auto;scroll-margin-top:0!important}
  html.mobile-stories .experience-stage{position:relative;top:auto;height:auto;min-height:0;padding:32px 20px 48px;overflow:clip}
  html.mobile-stories .experience-heading{position:relative;inset:auto;margin:0;display:block}
  html.mobile-stories .experience-heading h2{font-size:21px;line-height:1.3;letter-spacing:-.7px}
  html.mobile-stories .scene-background:after{background:linear-gradient(0deg,#eee5f1 25%,#eee5f1c9 70%,#eee5f185)}
  html.mobile-stories .scene-film,html.mobile-stories .nutrition-film,html.mobile-stories .weight-film{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:16px;width:100%;max-width:none;margin:24px 0 28px;transform:none!important}
  html.mobile-stories .scene-film .film-surface{width:100%;transform:none!important;border-radius:0;overflow:visible;aspect-ratio:496/864;background:transparent}
  html.mobile-stories .nutrition-film .film-surface{aspect-ratio:1;clip-path:circle(50%);mask-image:none;overflow:hidden}
  html.mobile-stories .weight-film{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);max-width:390px;margin-inline:auto}
  html.mobile-stories .weight-film .film-surface{height:250px;max-height:none;aspect-ratio:auto;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(0deg,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}
  html.mobile-stories .weight-film .service-frame{object-fit:contain}
  html.mobile-stories .service-video{display:none}
  html.mobile-stories .service-frame{display:block;position:absolute;inset:0;width:100%;height:100%}
  html.mobile-stories .service-play{display:none}
  html.mobile-stories .scene-film .film-caption-new{position:relative;inset:auto;transform:none;animation:none;width:auto;max-width:none;text-align:left;margin:0!important}
  html.mobile-stories .film-state{font-size:clamp(23px,6.6vw,31px);line-height:1.13;letter-spacing:-1px}
  html.mobile-stories .mobile-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border:1px solid #76499a28;border-radius:16px;padding:5px;background:#fdf7ff99;position:relative;z-index:5;margin-bottom:26px}
  .mobile-chapters button{font:inherit;font-size:12px;font-weight:650;min-width:0;min-height:44px;padding:8px 2px;background:transparent;color:#624575;border-radius:11px;transition:background .2s,color .2s}
  .mobile-chapters button[aria-selected=true]{background:#653481;color:#fff;box-shadow:0 3px 9px #4e245420}
  .mobile-chapters button:focus-visible{outline:2px solid #8e4db8;outline-offset:2px}
  html.mobile-stories .scene-copies{position:relative;min-height:440px}
  html.mobile-stories .scene-step:not(.chat-launch){position:relative;inset:auto;width:100%;max-width:none;margin:0;opacity:1;visibility:visible;transform:none;will-change:auto;animation:mobile-panel-in .25s both;outline-offset:5px}
  html.mobile-stories .scene-step[hidden]{display:none!important}
  html.mobile-stories .scene-step:not(.chat-launch) h3{font-size:clamp(29px,8vw,38px);letter-spacing:-1.5px;line-height:1.12;text-wrap:balance}
  html.mobile-stories .scene-step h3 br{display:block}
  html.mobile-stories .scene-step>p{font-size:15px;line-height:1.65;margin-top:17px;max-width:38ch}
  html.mobile-stories .scene-step .kit-note{font-size:13px}
  .mobile-stories .choice-pills{gap:8px;margin:20px 0 16px;flex-wrap:wrap}
  .mobile-stories .choice-pills button{font-size:13px;min-height:44px;padding:10px 13px}
  .mobile-stories .chapter-promise{font-size:14px;line-height:1.6;margin-top:24px;padding-top:18px}
  .mobile-stories .daily-strip{margin-top:22px;gap:12px}
  .mobile-stories .daily-strip span{font-size:12px;line-height:1.6}
  .mobile-stories .daily-strip b{font-size:13px;margin-bottom:8px}
  .mobile-stories .meal-swap{grid-template-columns:1fr;gap:12px}
  .mobile-stories .meal-swap>div{padding:16px;border-radius:16px}
  .mobile-stories .meal-swap span{font-size:12px}.mobile-stories .meal-swap p{font-size:15px;line-height:1.6}
  .mobile-stories .plate-builder{padding:18px 14px;margin-top:22px;border-radius:20px}
  .mobile-stories .ingredient-row{display:block;margin-bottom:18px}
  .mobile-stories .ingredient-row>span{display:block;font-size:13px;margin-bottom:8px}
  .mobile-stories .ingredient-row>div{display:flex;flex-wrap:wrap;gap:6px}
  .mobile-stories .ingredient-row button{font-size:13px;min-height:44px;padding:9px 12px}
  .mobile-stories .plate-builder output{font-size:14px;line-height:1.6;margin-top:16px}
  .mobile-stories .movement-composition,.mobile-stories .rich-recipe{display:grid;grid-template-columns:40% minmax(0,1fr);gap:18px;align-items:center;margin-top:24px}
  .mobile-stories .movement-composition img,.mobile-stories .rich-recipe img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
  .mobile-stories .movement-composition strong{font-size:24px;line-height:1.15}
  .mobile-stories .movement-composition span,.mobile-stories .rich-recipe p{font-size:13px;line-height:1.6;margin-top:12px}
  .mobile-stories .rich-recipe h4{font-size:19px;line-height:1.3}
  .mobile-stories .plan-receipt{margin-top:22px}.mobile-stories .plan-receipt span{font-size:14px;padding:12px 0}
  .mobile-stories .goal-question{font-size:14px;margin-top:22px}
  .mobile-stories .goal-answer{padding:16px;border-radius:16px;background:#f9f2fc9c}
  .mobile-stories .goal-answer strong{font-size:16px}.mobile-stories .goal-answer p{font-size:14px;line-height:1.6;margin-top:10px}
  .mobile-stories .week-planner,.mobile-stories .takeaway-card,.mobile-stories .checkin-card{padding:20px 16px;border-radius:20px;margin-top:22px}
  .mobile-stories .week-planner h4,.mobile-stories .takeaway-card h4,.mobile-stories .checkin-card h4{font-size:18px;line-height:1.35}
  .mobile-stories .week-planner>p,.mobile-stories .takeaway-card p,.mobile-stories .checkin-card p{font-size:14px;line-height:1.65;margin-top:10px}
  .mobile-stories .week-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0}
  .mobile-stories .week-days button{min-height:64px;font-size:13px;padding:10px 4px}
  .mobile-stories .week-planner output{font-size:14px;line-height:1.5}
  /* Film is the scene itself; full-width footage, no bezel, scrubber or player bar. */
  .theater-layout{display:grid;grid-template-columns:1fr;padding:36px 0 50px;gap:0}
  .theater-projection{grid-row:1;grid-column:1}
  .theater-screen{aspect-ratio:854/480;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}
  .confidence-video,.theater-ending{object-fit:contain;mask-image:linear-gradient(#000 83%,transparent)}
  .theater-copy{grid-row:2;grid-column:1;padding:22px 24px 0}
  .theater-beat h2{font-size:clamp(32px,8.7vw,43px);line-height:1.1;max-width:20ch}
  .theater-beat p{font-size:15px;line-height:1.65;max-width:32ch;margin-top:18px}
  .theater-controls{padding:4px 20px 0;justify-content:flex-end;gap:8px}
  .theater-controls button{min-height:44px;padding:10px 15px;font-size:12px;background:#ffffff0b;border:1px solid #cf9be830;border-radius:24px}
  .theater-progress{display:none}.theater-chapters{margin-top:22px;max-width:100px}
  .theater-question{padding:0 20px 20px}.theater-question p{font-size:26px}
  /* Keep the two arches in one wide composition, with the conversation in a sheet. */
  .connection-layout{padding:38px 20px 44px;min-height:0;display:grid;grid-template-columns:1fr;gap:0}
  .connection-label{font-size:20px;margin-bottom:24px}
  .connection-copy h3{font-size:clamp(35px,9vw,46px);line-height:1.08;max-width:13ch}
  .connection-description{font-size:15px;line-height:1.65;margin-top:18px;max-width:33ch}
  .connection-visual{width:calc(100% + 40px);margin:30px -20px 0}
  .connection-film-wrap{aspect-ratio:854/520}
  #connectionVideo,.connection-kiss{object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(0deg,transparent,#000 9%,#000 90%,transparent);-webkit-mask-composite:source-in}
  .connection-notification{width:128px;font-size:10px;padding:8px 7px;gap:5px;top:0}
  .connection-controls{margin:8px 20px 0;gap:12px;align-items:center}
  .connection-controls button{min-height:44px;font-size:12px;padding:10px 14px;border:1px solid #cfa3ee40;border-radius:24px;background:#ffffff09}
  .connection-controls button:disabled{display:none}.connection-status{font-size:12px;max-width:165px;line-height:1.5}
  .connection-open-chat{min-height:52px;width:100%;justify-content:space-between;font-size:16px;border-radius:18px;margin-top:24px}
  .connection-takeaway{font-size:15px}.connection-restart{min-height:48px;font-size:14px}
  .connection-dialog{inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:calc(100dvh - 30px);border-radius:28px 28px 0 0;border-bottom:0;box-sizing:border-box;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}
  .connection-dialog-header{padding:16px 20px}.connection-dialog-header>span:nth-child(2){font-size:12px}
  #connectionDialogClose{width:44px;height:44px}
  .connection-dialog-body{padding:22px 20px 26px;min-height:390px}
  #connectionDialogTitle{font-size:31px}#connectionDialogHint{font-size:14px;line-height:1.6}
  .connection-dialog .connection-prompt{font-size:14px}.connection-dialog .connection-game{margin-top:22px}
  .connection-dialog .connection-choices{gap:12px}.connection-dialog .connection-choices button{font-size:15px;min-height:60px;padding:15px 16px}
  .connection-dialog .connection-chat{font-size:15px}
  .connection-phone-reply{width:140px;font-size:11px}
  .promises-enabled:not(.promises-still){height:300svh}
  .promises-stage .promises-film,.promises-stage .film-canvas{top:12%;height:50%;object-fit:contain}
  .promise-copy{bottom:14%;width:calc(100% - 48px)}
  .promise-right{right:24px}.promise-left{left:24px}.promise-copy h2{font-size:clamp(33px,9vw,45px);line-height:1.1}
  .promise-copy p{font-size:16px;line-height:1.6;max-width:30ch;margin-top:18px}
  .promises-reading{padding:40px 20px;gap:40px}.promises-reading article{grid-template-columns:35% 1fr;gap:18px}
  .promises-reading h2{font-size:25px}.promises-reading p{font-size:14px;line-height:1.6;margin-top:12px}
  .wellness-finale{min-height:780px;padding:300px 24px 48px;align-items:flex-end}
  .finale-content h2{font-size:clamp(55px,16vw,78px);letter-spacing:-.055em}
  .finale-content>p{font-size:16px;line-height:1.65;max-width:33ch}
  .finale-choices{display:grid;grid-template-columns:1fr;gap:10px}
  .finale-choices button{font-size:16px;min-height:52px;text-align:left;padding:13px 20px;border-radius:16px;display:flex;justify-content:space-between}
  .finale-choices button:after{content:'↗';font-size:20px}
  .first-step-result p{font-size:15px}.first-step-result .button{font-size:15px;min-height:48px}
  footer{padding:28px 20px max(24px,env(safe-area-inset-bottom));gap:14px}
  footer .plain-button,footer>.plain-button{font-size:13px;min-height:44px;text-align:left}
  footer .site-note{font-size:12px;line-height:1.6}
  /* A compact entry sheet leaves the real choices visible even on short phones. */
  .welcome-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}
  .welcome-art{height:105px;padding:18px 22px}.welcome-statement{display:none}
  .welcome-form{padding:22px}.welcome-form h1{font-size:30px}.welcome-form>p{font-size:14px;line-height:1.6}
  .portrait-choices label>span{height:130px}.age-choices span{min-height:48px;font-size:14px}
  .welcome-submit{font-size:16px;min-height:50px}.welcome-form .privacy-note{font-size:12px;line-height:1.5}
  .dialog-close{min-height:44px}
}
@media(max-width:360px){
  html.mobile-stories .experience-stage{padding-inline:16px}.mobile-chapters button{font-size:11px}
  .mobile-stories .movement-composition strong{font-size:21px}
  .connection-notification{width:119px}.connection-app-icon{width:18px;height:18px}
  .connection-dialog-body{padding-inline:16px}.connection-dialog .connection-choices button{font-size:14px}
}
@media(max-height:560px) and (max-width:760px){
  .welcome-art{display:none}.connection-dialog{max-height:calc(100dvh - 12px)}
  html.mobile-stories .scene-film{grid-template-columns:150px minmax(0,1fr);max-width:480px;margin-inline:auto}
  html.mobile-stories .weight-film .film-surface{height:190px}
}
@media(min-width:761px) and (max-width:1000px) and (max-height:560px){
  .site-header .nav-link{display:none}
  html.mobile-stories .experience-stage{display:grid;grid-template-columns:34% minmax(0,1fr);gap:20px 28px;padding:28px}
  html.mobile-stories .experience-heading{grid-column:1;grid-row:1}
  html.mobile-stories .scene-film{grid-column:1;grid-row:2;display:block;align-self:start;margin:0;width:100%}
  html.mobile-stories .scene-film .film-surface{max-height:240px}
  html.mobile-stories .scene-film .film-caption-new{font-size:22px;margin-top:18px!important}
  html.mobile-stories .mobile-chapters{grid-column:2;grid-row:1;margin:0}
  html.mobile-stories .scene-copies{grid-column:2;grid-row:2;min-height:340px}
  .hero-copy{width:49%;left:5%;top:38%}.hero-copy h1{font-size:48px}
  .hero-description{font-size:14px;margin:12px 0;max-width:36ch}
  .enhanced .intro-copy{top:50%;width:43%;left:5%}.intro-copy h2{font-size:32px}.intro-copy>p{font-size:14px;line-height:1.5;margin:12px 0}
  .connection-dialog{width:480px;max-height:calc(100dvh - 12px);margin:0 auto}
}
@keyframes mobile-panel-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Continuous mobile scroll scenes, with readable content beneath a sticky visual. */
@media(max-width:760px),(max-width:1000px) and (max-height:560px){
  html.mobile-stories .nutrition-experience{background:#eee5f1}
  html.mobile-stories{--mobile-sticky-top:4px}
  html.mobile-stories:has(.site-header:not(.header-minimized)){--mobile-sticky-top:calc(68px + env(safe-area-inset-top))}
  html.mobile-stories .nutrition-experience .scene-background{display:none}
  html.mobile-stories .weight-experience{background:linear-gradient(#cabed7,#e5dbea 75%,#eee5f1)}
  html.mobile-stories .weight-experience .scene-background{display:none}
  html.mobile-stories .weight-film .film-surface{height:250px;width:auto;max-width:100%;aspect-ratio:496/864;justify-self:center;mask-image:none;-webkit-mask-image:none}
  html.mobile-stories .weight-film .service-frame{object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 84%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 26%,#000 74%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 84%,transparent);-webkit-mask-composite:source-in}
  html.mobile-scroll-stories .experience-stage{display:block;overflow:clip;padding-bottom:0}
  html.mobile-scroll-stories .mobile-chapters{display:none}
  html.mobile-scroll-stories .scene-film{position:sticky;top:var(--mobile-sticky-top);z-index:6;padding:20px 0 24px;margin:0 0 24px;max-width:none;isolation:isolate;transition:top .28s ease}
  html.mobile-scroll-stories .scene-film:before{content:'';position:absolute;z-index:-1;inset:0 -24px -12px;background:linear-gradient(#eee5f1 0%,#eee5f1 calc(100% - 12px),#eee5f100);pointer-events:none}
  html.mobile-scroll-stories .weight-film:before{background:linear-gradient(#cabed7 0%,#cabed7 85%,#cabed700)}
  html.mobile-scroll-stories .weight-experience{background:#cabed7}
  html.mobile-scroll-stories .scene-copies{min-height:0;position:relative;z-index:4}
  html.mobile-scroll-stories .scene-step:not(.chat-launch){min-height:70svh;padding:22px 0 54px;margin:0;animation:none;box-sizing:border-box;scroll-margin-top:310px}
  html.mobile-scroll-stories .scene-step:not(:last-child){border-bottom:1px solid #76499a20;margin-bottom:28px}
  html.mobile-scroll-stories .scene-step:last-child{min-height:90svh}
  /* Keep the film above its copy, within the same uninterrupted plum surface. */
  .connection-story{background:#342032}
  .connection-story:before{display:none}
  .connection-layout{display:flex;flex-direction:column;align-items:stretch;padding:32px 20px 48px}
  .connection-label{order:0;margin:0 0 20px}
  .connection-visual{order:1;position:sticky;top:var(--mobile-sticky-top,4px);z-index:6;align-self:stretch;width:calc(100% + 40px);margin:0 -20px 24px;padding:16px 0 12px;background:#342032;isolation:isolate;transition:top .28s ease}
  .connection-visual:before{inset:0 0 -12px;background:linear-gradient(#342032 0%,#342032 calc(100% - 12px),#34203200)}
  .connection-film-wrap{height:min(58vw,34svh);aspect-ratio:auto}
  .connection-controls{margin-top:4px}
  .connection-copy{order:2;display:block;align-self:stretch;min-height:60svh;padding:16px 0 48px;box-sizing:border-box}
  .connection-copy h3{max-width:15ch}
  .connection-description{max-width:36ch}
}
@media(min-width:761px) and (max-width:1000px) and (max-height:560px){
  html.mobile-scroll-stories .experience-stage{display:grid;grid-template-columns:34% minmax(0,1fr);gap:20px 28px}
  html.mobile-scroll-stories .scene-film{grid-column:1;grid-row:2;align-self:start;top:var(--mobile-sticky-top);display:block}
  html.mobile-scroll-stories .scene-copies{grid-column:2;grid-row:2}
  html.mobile-scroll-stories .scene-step:not(.chat-launch){min-height:100svh}
  html.mobile-stories .weight-film .film-surface{height:220px;margin:auto}
}
@media(prefers-reduced-motion:reduce){
  .enhanced .journey{height:auto}
  .mobile-stories .scene-step{animation:none!important}
  .mobile-stories .scene-film,.mobile-stories .connection-visual{transition:none!important}
}

/* Mobile QA: compact stories with purposeful interactions instead of tall chapters. */
@media(max-width:760px),(max-width:1000px) and (max-height:560px){
  .enhanced .journey{height:220svh}
  .mobile-summary{display:block}
  .desktop-introduction{display:none}
  html.mobile-stories .experience-stage{padding-top:24px;padding-bottom:24px}
  html.mobile-scroll-stories .scene-step:not(.chat-launch){min-height:0;padding:22px 0 26px;scroll-margin-top:260px}
  html.mobile-scroll-stories .scene-step:not(:last-child){margin-bottom:0}
  html.mobile-scroll-stories .scene-step:nth-child(n+4){display:none}
  html.mobile-scroll-stories .scene-step:nth-child(3){border-bottom:0;padding-bottom:0}
  html.mobile-scroll-stories .scene-film{margin-bottom:0;padding:16px 0 18px}
  html.mobile-stories .nutrition-film .film-surface{width:min(100%,180px,30svh);justify-self:center}
  html.mobile-stories .weight-film .film-surface{height:min(210px,32svh)}
  html.mobile-stories .film-state{font-size:clamp(22px,6vw,28px)}
  html.mobile-stories .scene-step:not(.chat-launch) h3{font-size:clamp(27px,7vw,32px);line-height:1.12;letter-spacing:-1.3px}
  html.mobile-stories .scene-step>p{font-size:15px;line-height:1.6;margin-top:12px}
  .mobile-stories .daily-strip,.mobile-stories .chapter-promise{display:none}
  .mobile-stories .nutrition-experience .scene-step:nth-child(2)>p,
  .mobile-stories .nutrition-experience .scene-step:nth-child(3)>p,
  .mobile-stories .weight-experience .scene-step:nth-child(-n+2)>p{display:none}
  /* A single meal chooser: three equal controls and one joined before/after result. */
  .mobile-stories [aria-label="Choose a meal"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:18px 0 0;padding:6px;background:#faf5fc;border:1px solid #76499a28;border-bottom:0;border-radius:19px 19px 0 0}
  .mobile-stories [aria-label="Choose a meal"] button{min-height:46px;padding:8px 4px;font-size:12px;line-height:1.3;border:0;border-radius:13px;background:transparent}
  .mobile-stories [aria-label="Choose a meal"] button[aria-pressed=true]{background:#7439a7;color:white}
  .mobile-stories .meal-swap{display:block;margin:0;padding:4px 16px 18px;background:#faf5fc;border:1px solid #76499a28;border-top:0;border-radius:0 0 19px 19px}
  .mobile-stories .meal-swap>div{padding:12px 0 0;border:0;border-radius:0;background:none;box-shadow:none}
  .mobile-stories .meal-swap>div:first-child{display:flex;align-items:baseline;gap:10px;padding-bottom:12px;border-bottom:1px solid #76499a20}
  .mobile-stories .meal-swap>div:first-child span{font-size:11px;flex:0 0 70px;margin:0}
  .mobile-stories .meal-swap>div:first-child p{font-size:13px;line-height:1.45;color:#806c8b;margin:0}
  .mobile-stories .meal-swap>div:last-child span{font-size:12px;font-weight:650;color:#7439a7;margin-bottom:5px}
  .mobile-stories .meal-swap>div:last-child p{font-size:15px;line-height:1.5;margin:0}
  .mobile-stories .plate-builder{margin-top:16px;padding:16px}
  .mobile-stories .ingredient-row{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center;margin-bottom:10px}
  .mobile-stories .ingredient-row>span{margin:0;font-size:12px}
  .mobile-stories .ingredient-row>div{gap:4px}
  .mobile-stories .ingredient-row button{font-size:12px;padding:8px 10px}
  .mobile-stories .goal-question{margin-top:14px}
  .mobile-stories .choice-pills[aria-label="Choose what matters to you"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:12px}
  .mobile-stories .choice-pills[aria-label="Choose what matters to you"] button{padding:8px 4px;font-size:12px;line-height:1.3}
  .mobile-stories .goal-answer{padding:14px}
  .mobile-stories .goal-answer p{font-size:13px;line-height:1.5;margin-top:6px}
  .mobile-stories .week-planner{margin-top:16px;padding:16px}
  .mobile-stories .week-planner h4{display:none}
  .mobile-stories .week-planner>p{margin-top:0}
  .mobile-stories .week-days{display:flex;gap:4px;margin:12px 0}
  .mobile-stories .week-days button{flex:1;min-width:0;min-height:52px;font-size:11px;padding:8px 0;border-radius:10px}
  .mobile-stories .week-days button i{font-size:14px}
  .mobile-stories .week-planner output{font-size:13px}
  .mobile-stories .movement-composition{margin-top:16px;grid-template-columns:32% 1fr;gap:16px}
  .mobile-stories .movement-composition strong{font-size:23px}
  .mobile-stories .movement-composition span{font-size:13px;margin-top:8px}
  .connection-layout{padding-top:28px;padding-bottom:28px}
  .connection-copy{min-height:0;padding:12px 0 8px}
  .connection-visual{margin-bottom:8px}
  .connection-copy h3{font-size:clamp(30px,8vw,38px)}
  .connection-description{font-size:14px;margin-top:14px}
  .connection-takeaway{margin-top:18px}
  .theater-layout{padding-top:20px;padding-bottom:30px}
  .theater-copy{padding-top:16px}
  .theater-beat h2{font-size:30px}
  .theater-beat p{font-size:14px;line-height:1.5;margin-top:12px}
  .theater-chapters{margin-top:16px}
  .promises-enabled:not(.promises-still){height:220svh}
  .wellness-finale{min-height:0;padding:210px 24px 36px}
  .finale-content h2{font-size:clamp(48px,14vw,62px)}
  .finale-choices{margin-top:20px}
}
@media(max-width:760px) and (orientation:portrait){
  /* The full wide frame fits above the copy. Fade the actual frame edges, not its letterbox. */
  .promises-stage{--promise-media-height:56.21vw}
  .promises-stage .promises-film,.promises-stage .film-canvas{inset:auto 0 auto;top:calc(42% - var(--promise-media-height));width:100%;height:var(--promise-media-height);object-fit:contain;background:transparent;mask-image:linear-gradient(0deg,transparent,#000 12%,#000 86%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 12%,#000 86%,transparent)}
  .promise-copy{top:46%;bottom:auto;width:calc(100% - 40px);max-width:none}
  .promise-right{right:20px}.promise-left{left:20px}
  .promise-copy h2{font-size:clamp(29px,8vw,38px);line-height:1.1}
  .promise-copy p{font-size:14px;line-height:1.55;margin-top:12px;max-width:30ch}
}
@media(prefers-reduced-motion:reduce){.enhanced .journey{height:auto}}
