/* MW app product story. Scoped to /app/ so the rest of the Site stays intact. */
.app-page main { overflow: clip; }
.app-page .mw-app-hero { background: #10151c; color: #fff; padding-block: clamp(46px, 6vw, 88px); }
.app-page .mw-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 74px); align-items: center; }
.app-page .mw-hero-grid > *, .app-page .mw-feature-layout > *, .app-page .mw-membership-grid > * { min-width: 0; }
.app-page .mw-hero-copy h1 { max-width: 14ch; font-size: clamp(2.6rem, 4.3vw, 4rem); line-height: 1.15; letter-spacing: -.045em; }
.app-page .mw-hero-copy h1 em { color: var(--orange); }
.app-page .mw-app-hero .kicker { color: #c5cdd5; }
.app-page .mw-hero-copy .lede { color: #d0d7df; max-width: 46ch; font-size: 1.05rem; }
.app-page .mw-hero-price { display: flex; align-items: center; gap: 14px; margin: 28px 0 0; }
.app-page .mw-hero-price > strong { font-size: 2.65rem; letter-spacing: -.045em; line-height: 1.15; }
.app-page .mw-hero-price > span { font-size: .9375rem; color: #d0d7df; }
.app-page .mw-hero-price small { display: block; font-size: .75rem; color: #c2cbd5; }
.app-page .mw-film-button { display: inline-flex; gap: 10px; align-items: center; min-height: 48px; padding: 8px 0; border: 0; background: none; color: #e5e9ed; font-size: .9rem; text-decoration: underline; text-underline-offset: 5px; }
.app-page .mw-film-button span { font-size: .75rem; color: var(--orange); }
.app-page .mw-hero-visual { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, .9fr); gap: 20px; align-items: center; width: 100%; max-width: 500px; justify-self: end; }
.app-page .mw-hero-phone .iphone-pro { max-width: 260px; }
.app-page .mw-hero-watch { padding-top: 115px; }
.app-page .mw-hero-watch figcaption { color: #c4ced8; font-size: .8rem; line-height: 1.55; padding-top: 18px; text-align: center; }
.app-page .mw-hero-visual > .mw-screen-note { grid-column: 1 / -1; margin-top: 0; text-align: center; }
.app-page .mw-screen-note, .app-page .mw-small { font-size: .8125rem; color: var(--muted); line-height: 1.75; }
.app-page .mw-app-hero .mw-small, .app-page .mw-app-hero .mw-screen-note { color: #b7c1cc; }
.app-page .mw-app-nav { position: sticky; top: var(--mw-header-height, 72px); z-index: 50; background: #fff; border-bottom: 1px solid #dedede; }
.app-page .mw-app-nav-track { display: flex; gap: 24px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; padding-block: 6px; }
.app-page .mw-app-nav a { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; padding: 3px 0; border-bottom: 2px solid transparent; color: #4c535a; font-size: .8125rem; text-decoration: none; white-space: nowrap; }
.app-page .mw-app-nav a:hover, .app-page .mw-app-nav a[aria-current="location"] { color: #8c4a00; border-color: var(--orange); }
.app-page .mw-app-section { padding-block: clamp(64px, 7.6vw, 108px); scroll-margin-top: calc(var(--mw-header-height, 72px) + 74px); }
.app-page .mw-app-section h2 { font-size: clamp(2rem, 3.2vw, 2.85rem); letter-spacing: -.04em; line-height: 1.22; }
.app-page .mw-feature-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(36px, 8vw, 104px); }
.app-page .mw-feature-copy > p:not(.kicker) { max-width: 48ch; color: var(--muted); }
.app-page .mw-feature-copy h2 { max-width: 19ch; }
.app-page .mw-feature-copy .mw-small { margin-top: 22px; }
.app-page .mw-media-first > :first-child { grid-column: 2; grid-row: 1; }
.app-page .mw-media-first > :nth-child(2) { grid-column: 1; grid-row: 1; }
.app-page .mw-section-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: end; margin-bottom: 44px; }
.app-page .mw-section-heading h2 { margin-bottom: 0; }
.app-page .mw-section-heading > p { max-width: 46ch; margin: 0; color: var(--muted); }
.app-page .mw-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.app-page .mw-paths article { padding-top: 22px; border-top: 1px solid #c8c8c8; }
.app-page .mw-path-number { display: block; margin-bottom: 28px; color: #8a4b00; font-size: .8rem; }
.app-page .mw-paths h3 { font-size: 1.15rem; margin-bottom: 14px; }
.app-page .mw-paths p { color: var(--muted); font-size: .9375rem; }
.app-page .mw-path-detail { display: block; color: #454b52; font-size: .8125rem; }
.app-page .mw-readiness-note { padding-top: 26px; margin-top: 28px; margin-bottom: 0; border-top: 1px solid var(--line); font-size: .8125rem; color: var(--muted); max-width: 104ch; }
.app-page .mw-training, .app-page .mw-watch-section, .app-page .mw-start { background: #f5f5f3; }
.app-page .mw-feature-points { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.app-page .mw-feature-points li { position: relative; padding-left: 20px; line-height: 1.7; font-size: .9375rem; }
.app-page .mw-feature-points li::before { content: ''; position: absolute; left: 0; top: .75em; width: 5px; height: 5px; background: #a15b00; }
.app-page .mw-three-steps { display: grid; gap: 10px; margin-top: 30px; padding-top: 22px; border-top: 1px solid #d7d7d5; font-size: .8125rem; }
.app-page .mw-three-steps b { color: #855000; margin-right: 12px; font-weight: 500; }
.app-page .mw-product-demo { width: 100%; min-width: 0; }
.app-page .mw-product-demo .iphone-pro { width: min(100%, 272px); border-width: 2px; }
.app-page .mw-product-demo .showreel-caption { display: grid; gap: 4px; margin: 22px auto 0; max-width: 40ch; text-align: center; min-height: 70px; }
.app-page .mw-product-demo .showreel-caption strong { font-size: .9375rem; color: inherit; }
.app-page .mw-product-demo .showreel-caption span { font-size: .8125rem; color: var(--muted); }
.app-page .mw-product-demo .showreel-tabs { gap: 8px; margin-top: 16px; }
.app-page .mw-product-demo .showreel-tabs button { color: #3a424c; border: 1px solid #bbc1c7; border-radius: 6px; background: none; min-height: 44px; padding: 7px 13px; font-size: .8125rem; }
.app-page .mw-product-demo .showreel-tabs button.is-active { color: #101010; background: var(--orange); border-color: var(--orange); }
.app-page .mw-product-demo .showreel-toggle { color: #5c6671; font-size: .75rem; margin-top: 5px; }
.app-page .mw-product-demo .showreel-toggle { min-height: 44px; }
.app-page .mw-challenge-options { margin-top: 38px; }
.app-page .mw-challenge-options .mw-paths article { border: 0; padding-top: 0; }
.app-page .mw-challenge-options .mw-paths p { margin-bottom: 0; }
.app-page .mw-challenge-options .mw-small { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--line); }
.app-page .mw-fitness-extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(32px, 7vw, 88px); margin-top: 58px; padding-top: 36px; border-top: 1px solid #c8c8c8; }
.app-page .mw-fitness-extra { min-width: 0; scroll-margin-top: 150px; }
.app-page .mw-fitness-extra > h3 { font-size: 1.3rem; }
.app-page .mw-fitness-extra > p { color: var(--muted); font-size: .9375rem; max-width: 44ch; }
.app-page .mw-fitness-extra .mw-session-demo { width: min(100%, 400px); margin: 24px auto 0; }
.app-page .mw-fitness-extra .mw-watch-demo { margin-top: 22px; }
.app-page .mw-fitness-extra .mw-watch-demo .watch-ultra { width: min(100% - 24px, 200px); }
.app-page .mw-fitness-extra > .mw-small { margin-top: 20px; font-size: .8125rem; }
.app-page .mw-mindset-photo { overflow: hidden; border-radius: 12px; width: min(100%, 360px); justify-self: center; }
.app-page .mw-mindset-photo img { width: 100%; height: auto; }
.app-page .mw-app-faq details[id], .app-page .mw-challenge-options { scroll-margin-top: 150px; }
.app-page .mw-product-demo > .mw-screen-note { text-align: center; max-width: 48ch; margin: 14px auto 0; }
.app-page .mw-dark { background: #111925; color: #fff; }
.app-page .mw-dark .kicker { color: #bac6d3; }
.app-page .mw-dark .mw-feature-copy > p:not(.kicker), .app-page .mw-dark .showreel-caption span, .app-page .mw-dark .mw-screen-note { color: #bbc7d4; }
.app-page .mw-dark .mw-feature-points li::before { background: var(--orange); }
.app-page .mw-dark .showreel-tabs button, .app-page .mw-app-hero .showreel-tabs button { color: #e3e9f0; border-color: #677687; }
.app-page .mw-dark .showreel-tabs button.is-active, .app-page .mw-app-hero .showreel-tabs button.is-active { color: #101010; border-color: var(--orange); }
.app-page .mw-dark .showreel-toggle, .app-page .mw-app-hero .showreel-toggle { color: #b9c5d2; }
.app-page .mw-habit-list { display: grid; gap: 0; margin: 30px 0 0; }
.app-page .mw-habit-list > div { padding: 18px 0 18px 20px; border-top: 1px solid #e1e1e1; position: relative; }
.app-page .mw-habit-list > div::before { content: ''; position: absolute; left: 0; top: 26px; width: 7px; height: 7px; border-radius: 50%; background: #bd7100; }
.app-page .mw-habit-list > .mw-habit-mindset::before { background: #178d89; }
.app-page .mw-habit-list > .mw-habit-water::before { background: #3973ad; }
.app-page .mw-habit-list dt { font-weight: 600; font-size: .9375rem; }
.app-page .mw-habit-list dd { margin: 3px 0 0; color: var(--muted); font-size: .875rem; }
.app-page .mw-wellbeing-visual { position: relative; padding: 0 0 70px 62px; }
.app-page .mw-wellbeing-photo { overflow: hidden; border-radius: 12px; background: #111; }
.app-page .mw-wellbeing-photo img { width: 100%; height: 450px; object-fit: cover; object-position: center 20%; }
.app-page .mw-wellbeing-watch { position: absolute; left: 0; bottom: 0; width: 184px; }
.app-page .mw-wellbeing-watch figcaption { margin-top: 12px; max-width: 23ch; font-size: .75rem; line-height: 1.5; color: var(--muted); }
.app-page .mw-session-window { position: relative; overflow: hidden; width: 100%; aspect-ratio: 707 / 706; border: 1px solid #b47639; border-radius: 20px; background: #101112; }
.app-page .mw-session-window .showreel-slide img { width: 100%; height: auto; max-width: none; transform: translateY(-27.02%); }
.app-page .mw-watch-demo .watch-ultra { width: min(100% - 24px, 240px); margin-inline: auto; }
.app-page .mw-watch-demo .showreel-caption { margin-top: 26px; }
.app-page .mw-support-list { border-top: 1px solid #ccc; }
.app-page .mw-support-list article { padding: 24px 0; border-bottom: 1px solid #ddd; }
.app-page .mw-support-list h3 { margin: 16px 0 8px; }
.app-page .mw-support-list p { color: var(--muted); font-size: .9375rem; margin-bottom: 0; }
.app-page .mw-status { display: inline-block; padding: 5px 9px; border: 1px solid #d9bd95; color: #7c4d0a; font-size: .75rem; letter-spacing: .025em; }
.app-page .mw-start-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; counter-reset: mw-start; }
.app-page .mw-start-steps li { padding: 22px 0 0; border-top: 1px solid #c5c5c2; counter-increment: mw-start; }
.app-page .mw-start-steps li::before { content: '0' counter(mw-start); display: block; color: #8a4b00; font-size: .8rem; margin-bottom: 24px; }
.app-page .mw-start-steps h3 { font-size: 1.15rem; }
.app-page .mw-start-steps p { color: var(--muted); font-size: .9375rem; margin-bottom: 0; }
.app-page .mw-comparison-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 52px; padding-top: 28px; border-top: 1px solid #ccc; }
.app-page .mw-comparison-label { color: #6a6a6a; font-size: .75rem; letter-spacing: .04em; }
.app-page .mw-comparison-grid h3 { margin: 14px 0; font-size: 1.5rem; }
.app-page .mw-comparison-grid p { max-width: 48ch; color: var(--muted); }
.app-page .mw-scope-line { padding-top: 22px; margin-top: 30px; margin-bottom: 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .8125rem; }
.app-page .mw-membership { background: #f5f5f3; }
.app-page .mw-membership-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(28px, 7vw, 92px); align-items: start; }
.app-page .mw-safety-fold { margin-top: 30px; }
.app-page .mw-safety-fold p { margin-bottom: 0; font-size: .875rem; color: var(--muted); }
.app-page .mw-membership-box { padding: 34px; border-top: 3px solid var(--orange); background: #10151c; color: #fff; }
.app-page .mw-membership-box .mw-status { border-color: #7f633b; color: #e8c799; }
.app-page .mw-membership-box .price { margin: 26px 0 22px; gap: 10px; flex-wrap: wrap; }
.app-page .mw-membership-box .price strong { font-size: clamp(3.25rem, 5vw, 4.2rem); }
.app-page .mw-membership-box .price span { color: #c4cfda; font-size: .875rem; }
.app-page .mw-membership-box > p { color: #c7d0db; font-size: .875rem; }
.app-page .mw-membership-box .button { width: 100%; }
.app-page .mw-membership-box .mw-checkout-note { margin-top: 18px; color: #bbc6d2; font-size: .8125rem; }
.app-page .mw-membership-box .membership-terms-link { margin-top: 22px; font-size: .8125rem; }
.app-page .mw-membership-box .membership-help { border-color: #3a4654; }
.app-page .mw-membership-box .membership-help a { color: #d8e0e8; }
.app-page .mw-app-faq .faq-grid { gap: clamp(28px, 7vw, 92px); }
.app-page .mw-app-faq .questions { gap: 0; }
.app-page .mw-app-faq .questions details { border-width: 0 0 1px; border-color: #d5d5d5; border-radius: 0; padding: 20px 0; background: none; }
.app-page .mw-app-faq .questions details:first-child { border-top-width: 1px; }
.app-page .mw-app-faq .questions summary { gap: 20px; }
.app-page .mw-app-faq .questions details p { font-size: .9375rem; }
.app-page .mw-app-section :focus-visible, .app-page .mw-app-nav :focus-visible { outline-color: #a35b00; }
.app-page .mw-dark :focus-visible, .app-page .mw-app-hero :focus-visible, .app-page .mw-membership-box :focus-visible { outline-color: var(--orange); }
@media (max-width: 980px) {
  .app-page .mw-hero-grid { gap: 30px; }
  .app-page .mw-hero-visual { gap: 15px; }
  .app-page .mw-hero-watch { padding-top: 75px; }
  .app-page .mw-feature-layout { gap: 40px; }
  .app-page .mw-section-heading { gap: 32px; }
  .app-page .mw-paths, .app-page .mw-start-steps { gap: 24px; }
  .app-page .mw-wellbeing-visual { padding-left: 34px; }
  .app-page .mw-wellbeing-watch { width: 160px; }
  .app-page .mw-wellbeing-photo img { height: 410px; }
  .app-page .mw-membership-box { padding: 26px; }
}
@media (max-width: 760px) {
  .app-page .mw-app-hero { padding-block: 40px 34px; }
  .app-page .mw-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .app-page .mw-hero-copy h1 { font-size: clamp(2.35rem, 7.5vw, 3.2rem); max-width: 16ch; }
  .app-page .mw-hero-copy .lede { font-size: 1rem; }
  .app-page .mw-hero-copy .actions { margin-top: 26px; }
  .app-page .mw-film-button { justify-self: start; }
  .app-page .mw-hero-price > strong { font-size: 2.35rem; }
  .app-page .mw-hero-visual { width: min(100%, 420px); justify-self: center; gap: 16px; }
  .app-page .mw-hero-watch { padding-top: 85px; }
  .app-page .mw-hero-watch figcaption { font-size: .75rem; }
  .app-page .mw-app-nav-track { gap: 20px; }
  .app-page .mw-app-section { padding-block: 52px; scroll-margin-top: calc(var(--mw-header-height, 72px) + 74px); }
  .app-page .mw-app-section h2 { font-size: 2rem; }
  .app-page .mw-section-heading, .app-page .mw-feature-layout, .app-page .mw-membership-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .app-page .mw-fitness-extras { grid-template-columns: minmax(0, 1fr); gap: 38px; margin-top: 36px; padding-top: 28px; }
  .app-page .mw-fitness-extra + .mw-fitness-extra { padding-top: 28px; border-top: 1px solid #d5d5d5; }
  .app-page .mw-challenge-options { margin-top: 28px; }
  .app-page .mw-challenge-options .mw-paths { gap: 24px; }
  .app-page .mw-fitness-extra .mw-session-demo { width: min(100%, 360px); }
  .app-page .mw-mindset-photo { width: min(100%, 290px); }
  .app-page .mw-section-heading { margin-bottom: 30px; gap: 18px; }
  .app-page .mw-feature-copy h2 { max-width: 22ch; }
  .app-page .mw-feature-copy > p:not(.kicker) { max-width: none; }
  .app-page .mw-paths, .app-page .mw-start-steps { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .app-page .mw-path-number { margin-bottom: 15px; }
  .app-page .mw-paths article { padding-top: 18px; }
  .app-page .mw-readiness-note { margin-top: 26px; padding-top: 20px; }
  .app-page .mw-media-first > :first-child, .app-page .mw-media-first > :nth-child(2) { grid-column: auto; grid-row: auto; }
  .app-page .mw-product-demo .iphone-pro { width: min(100%, 256px); }
  .app-page .mw-product-demo .showreel-caption { min-height: 0; }
  .app-page .mw-product-demo .showreel-tabs button { flex-basis: auto; min-height: 44px; }
  .app-page .mw-wellbeing-visual { width: min(100%, 440px); margin-inline: auto; padding: 0 0 64px 46px; }
  .app-page .mw-wellbeing-photo img { height: 360px; }
  .app-page .mw-wellbeing-watch { width: 160px; }
  .app-page .mw-session-demo { width: min(100%, 480px); margin-inline: auto; }
  .app-page .mw-session-window { border-radius: 14px; }
  .app-page .mw-watch-demo .watch-ultra { width: 220px; }
  .app-page .mw-start-steps li::before { margin-bottom: 15px; }
  .app-page .mw-comparison-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .app-page .mw-comparison-grid article + article { border-top: 1px solid var(--line); padding-top: 26px; }
  .app-page .mw-comparison-grid h3 { font-size: 1.35rem; }
  .app-page .mw-membership-box { padding: 26px; }
}
@media (max-width: 380px) {
  .app-page .mw-hero-visual { gap: 12px; }
  .app-page .mw-hero-watch figcaption { font-size: .7rem; }
  .app-page .mw-hero-phone .showreel-tabs { gap: 4px; }
  .app-page .mw-hero-phone .showreel-tabs button { padding-inline: 7px; font-size: .75rem; }
  .app-page .mw-hero-price { gap: 10px; }
  .app-page .mw-wellbeing-watch { width: 145px; }
  .app-page .mw-membership-box { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .app-page .showreel-slide { transition: none; }
}

/* October product captures keep their original pixels and proportions. */
.app-page .mw-hero-copy h1 { max-width: 17ch; }
.app-page .mw-hero-copy .lede { max-width: 42ch; }
.app-page .mw-hero-phone .iphone-pro { max-width: 280px; }
.app-page .mw-product-demo .iphone-pro { width: min(100%, 290px); }
.app-page .iphone-screen > img, .app-page .watch-screen > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.app-page .mw-single-screen { margin: 0; }
.app-page .mw-single-screen .showreel-caption { margin-top: 22px; }
.app-page .mw-nutrition .mw-habit-list > div { border-color: #374454; }
.app-page .mw-nutrition .mw-habit-list dd { color: #bbc7d4; }
.app-page .mw-nutrition .mw-habit-list > div::before { background: var(--orange); }
.app-page .mw-watch-detail { display: grid; grid-template-columns: minmax(0, 1fr) 150px; gap: 22px; align-items: center; }
.app-page .mw-watch-detail > div { min-width: 0; }
.app-page .mw-watch-detail h3 { font-size: 1.3rem; }
.app-page .mw-watch-detail p { color: var(--muted); font-size: .9375rem; }
.app-page .mw-watch-detail p.mw-small { font-size: .8125rem; }
.app-page .mw-watch-detail figure { margin: 0; min-width: 0; }
.app-page .mw-watch-detail figcaption { margin-top: 10px; text-align: center; }
.app-page .mw-membership-label { font-size: .75rem; letter-spacing: .08em; color: #c9d2dc; }
.app-page .mw-app-faq .mw-film-button { color: #353e48; }
.app-page .mw-feature-copy .mw-habit-list { max-width: 45ch; }
@media (max-width: 1100px) and (min-width: 761px) {
  .app-page .mw-watch-detail { grid-template-columns: minmax(0, 1fr); }
  .app-page .mw-watch-detail figure { width: 160px; justify-self: center; }
}
@media (max-width: 760px) {
  .app-page .mw-hero-copy h1 { max-width: 17ch; }
  .app-page .mw-watch-detail { grid-template-columns: minmax(0, 1fr) 150px; }
  .app-page .mw-product-demo .iphone-pro { width: min(100%, 272px); }
}
@media (max-width: 420px) {
  .app-page .mw-watch-detail { grid-template-columns: minmax(0, 1fr); }
  .app-page .mw-watch-detail figure { width: 180px; justify-self: center; }
}
