/* Seven distinct examples on an open editorial stage. */
.tour-section { position: relative; overflow: clip; padding-block: 82px 84px; background: #fafbff; }
.tour-shell { position: relative; }
.tour-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: end; margin: 0 0 42px; text-align: left; }
.tour-heading h2 { font-size: clamp(2.8rem, 4vw, 3.7rem); line-height: 1.03; }
.tour-heading .eyebrow { margin-bottom: 18px; }
.tour-heading-copy { max-width: 385px; padding-bottom: 5px; }
.tour-heading-copy p { color: var(--muted); font-size: 1.04rem; line-height: 1.65; }

.tour-section .feature-tabs { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; max-width: none; margin: 0 0 43px; padding: 0 0 17px; border: 0; border-bottom: 1px solid #dce1ef; border-radius: 0; background: transparent; box-shadow: none; }
.tour-section .feature-tabs button { display: flex; flex-direction: row; justify-content: center; gap: 9px; min-height: 54px; padding: 12px 10px; border: 0; border-radius: 12px; color: #596480; background: transparent; font-size: .85rem; font-weight: 700; transition: color .18s, background .18s; }
.tour-section .feature-tabs button:hover { color: var(--ink); background: #eceffc; }
.tour-section .feature-tabs button[aria-selected="true"] { color: #fff; background: var(--brand); }
.tour-section .tab-icon { display: grid; place-items: center; color: #7984a5; line-height: 1; }
.tour-section .tab-icon .hero-icon { width: 20px; height: 20px; }
.tour-section .feature-tabs button[aria-selected="true"] .tab-icon { color: #fff; }
.feature-stage-shell { position: relative; }
.tour-concept-label { margin-top: 20px; color: #68738e; font-size: .72rem; text-align: right; }
.tour-section .feature-panel { --tour-accent: #505de2; display: grid; grid-template-columns: minmax(250px, .67fr) minmax(0, 1.33fr); grid-template-rows: auto 1fr; gap: 26px 64px; align-items: stretch; width: 100%; height: auto; min-height: 0; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; transition: opacity .14s, transform .14s; }
.tour-section .feature-panel.is-changing { opacity: .2; transform: translateY(7px); }
.feature-panel[data-tour-state="plan"] { --tour-accent: #7668d2; }
.feature-panel[data-tour-state="goals"] { --tour-accent: #438d70; }
.feature-panel[data-tour-state="spend"] { --tour-accent: #a16a30; }
.feature-panel[data-tour-state="health"] { --tour-accent: #a6547c; }
.feature-panel[data-tour-state="nutrition"] { --tour-accent: #4f8c69; }
.tour-intro { grid-column: 1; grid-row: 1; align-self: start; padding-top: 26px; }
.tour-intro .eyebrow { margin-bottom: 18px; color: var(--tour-accent); font-size: .7rem; }
.tour-intro h3 { max-width: 390px; font-size: clamp(2.25rem, 3.4vw, 3.05rem); line-height: 1.02; }
.tour-intro > p:not(.eyebrow) { max-width: 350px; margin-top: 24px; color: var(--muted); font-size: 1rem; line-height: 1.68; }
.tour-details { grid-column: 1; grid-row: 2; align-self: start; padding-bottom: 17px; }
.tour-detail-list { display: grid; margin-bottom: 24px; border-top: 1px solid #dce1ef; }
.tour-detail-list > div { display: grid; grid-template-columns: 28px 1fr; gap: 10px; padding-block: 14px; border-bottom: 1px solid #dce1ef; }
.tour-detail-list > div > span { padding-top: 2px; color: var(--tour-accent); font-size: .7rem; font-weight: 700; }
.tour-detail-list strong, .tour-detail-list small { display: block; }
.tour-detail-list strong { font-size: .88rem; line-height: 1.35; }
.tour-detail-list small { margin-top: 4px; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.tour-details .text-link { gap: 12px; font-size: .87rem; min-height: 44px; }
.tour-visual { grid-column: 2; grid-row: 1 / 3; position: relative; min-width: 0; height: 510px; overflow: hidden; border: 1px solid #e2e6f0; border-radius: 22px; box-shadow: 0 16px 35px #303e6b0a; }
.scene-kicker { color: var(--tour-accent); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

/* Home gives the connected day tangible detail instead of a decorative path. */
.tour-visual--home { height: auto; min-height: 510px; border-color: #dfe3ef; background: #fff; }
.home-board { padding: 24px 28px 20px; }
.home-board-heading { display: flex; justify-content: space-between; align-items: center; }
.home-board-heading h4 { margin-top: 5px; font-size: 1.85rem; }
.home-board-date { display: grid; min-width: 64px; padding: 8px 10px; border-radius: 13px; text-align: center; color: var(--brand); background: #eff1fe; font: 700 1.5rem/1 var(--font-display); }
.home-board-date span { margin-top: 4px; color: #69718f; font: 400 .6rem/1 var(--font-body); }
.home-board-navigation { display: flex; gap: 27px; margin-top: 20px; padding-bottom: 10px; border-bottom: 1px solid #e3e6ef; color: #7b849f; font-size: .74rem; }
.home-board-navigation .is-current { position: relative; color: var(--brand); font-weight: 700; }
.home-board-navigation .is-current::after { content: ""; position: absolute; bottom: -11px; inset-inline: 0; height: 2px; background: var(--brand); }
.home-board-navigation b { margin-left: 4px; padding: 2px 5px; border-radius: 5px; background: #eff1f8; font-size: .6rem; }
.home-board-content { display: grid; grid-template-columns: 1.12fr .88fr; gap: 24px; margin-top: 18px; }
.home-board-focus { position: relative; padding: 18px 20px; background: #f4f1e8; border-radius: 16px; }
.home-focus-symbol { position: absolute; top: 16px; right: 17px; color: #bc9562; font-size: 1rem; }
.home-board-focus > small { display: block; color: #897650; font-size: .57rem; font-weight: 700; letter-spacing: .08em; }
.home-board-focus strong { display: block; max-width: 230px; margin-top: 8px; font: 700 1.3rem/1.12 var(--font-display); }
.home-board-focus p { margin-top: 8px; color: #7a756a; font-size: .67rem; }
.home-focus-progress { display: flex; align-items: center; gap: 5px; margin-top: 15px; }
.home-focus-progress > span { width: 18px; height: 4px; background: #b5a075; border-radius: 3px; }
.home-focus-progress > span:last-of-type { background: #dfd7c7; }
.home-focus-progress > small { margin-left: 3px; color: #85775d; font-size: .58rem; }
.home-board-agenda { margin-top: 17px; }
.home-board-agenda h5 { margin: 0 0 9px; font: 700 .84rem/1.25 var(--font-display); }
.home-board-agenda ol { display: grid; gap: 13px; padding: 0; margin: 0; list-style: none; }
.home-board-agenda li { display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-items: start; }
.home-board-agenda time { color: #7d86a2; font-size: .63rem; }
.home-board-agenda li > span { padding-left: 10px; border-left: 2px solid #aba5e7; }
.home-board-agenda li:nth-child(2) > span { border-color: #74a58b; }
.home-board-agenda li:nth-child(3) > span { border-color: #7d8bd6; }
.home-board-agenda strong, .home-board-agenda small { display: block; }
.home-board-agenda strong { font-size: .75rem; line-height: 1.3; }
.home-board-agenda small { margin-top: 3px; color: #7d86a0; font-size: .61rem; }
.home-board-recipe { overflow: hidden; border-radius: 16px; background: #eff4ed; }
.home-board-recipe img { width: 100%; height: 149px; object-fit: cover; object-position: 50% 59%; }
.home-board-recipe figcaption { padding: 13px 16px 15px; }
.home-board-recipe small, .home-board-recipe strong, .home-board-recipe span { display: block; }
.home-board-recipe small { color: #668573; font-size: .54rem; letter-spacing: .09em; font-weight: 700; }
.home-board-recipe strong { margin-top: 6px; font: 700 1rem/1.16 var(--font-display); }
.home-board-recipe span { margin-top: 7px; color: #6c7d71; font-size: .61rem; }
.home-board-movement { display: flex; gap: 12px; align-items: center; margin-top: 14px; padding: 10px; border: 1px solid #e3e6ef; border-radius: 14px; }
.home-board-movement img { width: 62px; height: 75px; object-fit: cover; object-position: 50% 37%; border-radius: 8px; }
.home-board-movement small { color: #6b7595; font-size: .54rem; letter-spacing: .09em; }
.home-board-movement strong { display: block; margin-top: 4px; font: 700 .97rem/1.2 var(--font-display); }
.home-board-footer { display: flex; align-items: center; gap: 10px; margin-top: 15px; padding-top: 12px; border-top: 1px solid #e5e7f0; color: #78829f; font-size: .6rem; }
.home-board-footer > span { color: #6771c6; font-size: 1.2rem; }
.home-board-footer p strong { margin-left: 5px; color: #545e7d; font-weight: 600; }

/* Plan: a time spine with the surrounding notes that give it context. */
.tour-visual--plan { background: linear-gradient(145deg, #f4f1ff, #fff 72%); }
.plan-canvas { position: absolute; inset: 0; padding: 24px 26px; }
.plan-date h4, .goals-canvas h4, .spend-heading h4, .health-heading h4 { margin-top: 6px; font-size: 1.55rem; }
.plan-week { position: absolute; top: 23px; right: 25px; display: grid; grid-template-columns: repeat(7, 34px); gap: 3px; text-align: center; }
.plan-week > span { display: grid; place-items: center; gap: 2px; height: 46px; border-radius: 13px; color: #8a91a9; font-size: .66rem; }
.plan-week small { font-size: .68rem; }
.plan-week .is-today { color: #fff; background: var(--tour-accent); box-shadow: 0 7px 16px #7668d22b; }
.plan-agenda { position: absolute; top: 91px; bottom: 23px; left: 25px; width: 65%; padding-left: 18px; border-left: 2px solid #d7d1f1; }
.plan-slot { display: grid; grid-template-columns: 46px 1fr; gap: 9px; min-height: 72px; padding: 8px 11px; border-bottom: 1px solid #e5e3ef; }
.plan-slot time { padding-top: 2px; color: #8b91a9; font-size: .7rem; }
.plan-slot p { padding-left: 10px; border-left: 4px solid #d8d4f2; }
.plan-slot--focus p { border-left-color: #7a6dd7; }
.plan-slot--move p { border-left-color: #6979df; }
.plan-slot strong, .plan-slot small { display: block; }
.plan-slot strong { font-size: .82rem; }
.plan-slot small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.plan-breathing, .plan-inbox { position: absolute; right: 21px; width: 190px; border: 1px solid #fff; background: #ffffffed; box-shadow: 0 14px 31px #594f8618; }
.plan-breathing { top: 121px; padding: 18px; border-radius: 20px 20px 20px 4px; transform: rotate(2deg); }
.plan-breathing small, .plan-breathing strong { display: block; }
.plan-breathing small { color: var(--tour-accent); font-size: .6rem; letter-spacing: .08em; }
.plan-breathing strong { margin-top: 8px; font: 700 .88rem/1.25 var(--font-display); }
.plan-inbox { bottom: 31px; display: flex; align-items: center; gap: 12px; padding: 15px; border-radius: 18px; }
.plan-inbox > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 auto; border-radius: 12px; color: #fff; background: var(--tour-accent); font-weight: 700; }
.plan-inbox small, .plan-inbox strong { display: block; }
.plan-inbox small { color: var(--tour-accent); font-size: .6rem; letter-spacing: .08em; }
.plan-inbox strong { margin-top: 4px; font-size: .75rem; line-height: 1.3; }

/* Goals: a milestone trail instead of a score or streak dashboard. */
.tour-visual--goals { background: radial-gradient(circle at 52% 50%, #fff 0 8%, transparent 38%), linear-gradient(145deg, #edf7f1, #fbfdfa); }
.goals-canvas { position: absolute; inset: 0; padding: 25px 27px; }
.goal-trail { position: absolute; inset: 62px 8px 25px; width: calc(100% - 16px); height: calc(100% - 87px); }
.goal-trail path { fill: none; stroke: #72af93; stroke-width: 8; stroke-linecap: round; stroke-dasharray: 4 18; }
.goal-trail circle { fill: #fff; stroke: #4f9677; stroke-width: 5; }
.goal-steps { list-style: none; margin: 0; padding: 0; }
.goal-step { position: absolute; width: 166px; padding: 14px 15px; border: 1px solid #fff; border-radius: 18px; background: #ffffffee; box-shadow: 0 13px 27px #4f7d6716; }
.goal-step > span, .goal-step strong, .goal-step small { display: block; }
.goal-step > span { color: var(--tour-accent); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.goal-step strong { margin-top: 6px; font-size: .82rem; }
.goal-step small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.goal-step--one { left: 2%; bottom: 8%; }
.goal-step--two { top: 39%; left: 38%; transform: translateX(-25%); border-color: #82b89f; }
.goal-step--three { top: 19%; right: 2%; }
.goal-next { position: absolute; right: 7%; bottom: 7%; width: 200px; padding: 17px 18px; border-radius: 20px 4px 20px 20px; background: #4f8f73; color: #fff; box-shadow: 0 15px 30px #3f755b25; }
.goal-next small, .goal-next strong, .goal-next span { display: block; }
.goal-next small { font-size: .6rem; letter-spacing: .08em; }
.goal-next strong { margin-top: 7px; font: 700 .95rem/1.2 var(--font-display); }
.goal-next span { margin-top: 5px; color: #e4f5ec; font-size: .7rem; }

/* Spend: sample categories read as a month story, with no live account data. */
.tour-visual--spend { background: linear-gradient(145deg, #fff7ef, #fffdfa); }
.spend-canvas { position: absolute; inset: 0; padding: 25px 27px; }
.spend-streams { position: absolute; top: 116px; left: 27px; width: calc(100% - 284px); display: grid; gap: 15px; }
.spend-streams > div { display: grid; grid-template-columns: 90px 1fr 54px; gap: 11px; align-items: center; min-height: 28px; font-size: .74rem; }
.spend-streams i { position: relative; height: 20px; border-radius: 999px; background: #f1e8df; overflow: hidden; }
.spend-streams i::after { content: ""; display: block; width: var(--share); height: 100%; border-radius: inherit; background: var(--stream); }
.spend-streams small { color: var(--muted); font-size: .67rem; }
.spend-repeat { position: absolute; top: 83px; right: 22px; bottom: 25px; display: flex; flex-direction: column; width: 214px; padding: 22px 20px; border: 1px solid #fff; border-radius: 22px; background: #ffffffed; box-shadow: 0 14px 31px #805b3818; transform: rotate(1deg); }
.spend-repeat > small { color: var(--tour-accent); font-size: .61rem; font-weight: 700; letter-spacing: .08em; }
.spend-repeat ul { display: grid; grid-template-rows: repeat(3, 1fr); flex: 1; list-style: none; margin: 18px 0 0; padding: 0; }
.spend-repeat li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 14px; border-top: 1px solid #eee4dc; font-size: .75rem; }
.spend-repeat b { color: var(--muted); font-size: .66rem; font-weight: 400; }
.spend-room { position: absolute; left: 27px; right: auto; bottom: 25px; display: flex; align-items: center; gap: 14px; width: calc(100% - 284px); min-height: 88px; padding: 16px 18px; border: 1px solid #efdccb; border-radius: 18px; background: #fff9f1; }
.spend-room > span { width: 11px; height: 45px; border-radius: 999px; background: linear-gradient(#d69a58 54%, #e9ded1 54%); }
.spend-room small, .spend-room strong { display: block; }
.spend-room small { color: var(--tour-accent); font-size: .6rem; letter-spacing: .08em; }
.spend-room strong { margin-top: 5px; font-size: .87rem; }

/* Health: qualitative rhythms and an explicit connection boundary. */
.tour-visual--health { background: linear-gradient(145deg, #faeef5, #f7f8ff 72%); }
.health-canvas { position: absolute; inset: 0; padding: 25px 27px; }
.rhythm-legend { position: absolute; top: 29px; right: 28px; display: flex; gap: 12px; color: var(--muted); font-size: .66rem; }
.rhythm-legend span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: currentColor; }
.rhythm-legend .is-move { color: #6f74dd; }.rhythm-legend .is-rest { color: #b96f9c; }.rhythm-legend .is-food { color: #5a9b7b; }
.rhythm-chart { position: absolute; top: 87px; left: 24px; width: calc(100% - 48px); height: 210px; overflow: visible; }
.rhythm-chart path { fill: none; stroke-linecap: round; }
.rhythm-grid { stroke: #dddce9; stroke-width: 1; stroke-dasharray: 2 10; }
.rhythm-move { stroke: #7177df; stroke-width: 5; }.rhythm-rest { stroke: #c77aa5; stroke-width: 5; }.rhythm-food { stroke: #63a184; stroke-width: 5; }
.rhythm-days { position: absolute; top: 281px; left: 34px; right: 34px; display: flex; justify-content: space-between; color: #959ab0; font-size: .64rem; }
.health-choice { position: absolute; left: 29px; bottom: 24px; display: flex; align-items: center; gap: 14px; width: 330px; padding: 15px 17px; border: 1px solid #fff; border-radius: 20px; background: #ffffffeb; box-shadow: 0 13px 29px #6b537018; }
.health-lock { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 auto; border-radius: 14px; color: #a65e88; background: #f7e2ed; }
.health-lock svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.health-choice small, .health-choice strong, .health-choice p > span { display: block; }
.health-choice small { color: var(--tour-accent); font-size: .59rem; letter-spacing: .08em; }
.health-choice strong { margin-top: 4px; font-size: .8rem; }
.health-choice p > span { margin-top: 2px; color: var(--muted); font-size: .69rem; }
.health-disclaimer { position: absolute; right: 27px; bottom: 32px; max-width: 210px; color: var(--muted); font-size: .67rem; text-align: right; }

/* Movement: a human image beside a clear log-rest-continue sequence. */
.tour-visual--workouts { background: #e9edfb; }
.movement-canvas { display: grid; grid-template-columns: .83fr 1.17fr; height: 100%; }
.movement-photo { position: relative; height: 100%; overflow: hidden; }
.movement-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 39%; }
.movement-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, #1c244fbb); }
.movement-photo figcaption { position: absolute; z-index: 1; left: 18px; right: 18px; bottom: 18px; color: #fff; font-size: .69rem; line-height: 1.4; }
.session-sheet { padding: 26px 25px 20px; background: linear-gradient(150deg, #fff, #f4f6ff); }
.session-sheet h4 { margin-top: 6px; font-size: 1.65rem; }
.session-progress { display: grid; gap: 7px; margin-top: 15px; color: var(--muted); font-size: .69rem; }
.session-progress i { height: 5px; overflow: hidden; border-radius: 99px; background: #e2e5f3; }
.session-progress b { display: block; width: 40%; height: 100%; border-radius: inherit; background: var(--brand); }
.current-exercise { margin-top: 17px; padding: 15px 16px; border: 1px solid #e2e5f3; border-radius: 18px; background: #fff; }
.current-exercise small, .current-exercise strong, .current-exercise span { display: block; }
.current-exercise small { color: var(--brand); font-size: .59rem; letter-spacing: .08em; }
.current-exercise strong { margin-top: 5px; font: 700 .94rem/1.2 var(--font-display); }
.current-exercise span { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.set-fields { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8px; margin-top: 9px; }
.set-fields > span { padding: 10px 12px; border-radius: 14px; background: #eceeff; }
.set-fields small, .set-fields b { display: block; }
.set-fields small { color: var(--brand); font-size: .58rem; letter-spacing: .08em; }
.set-fields b { margin-top: 3px; font-size: .76rem; }
.rest-readout { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 10px; padding: 10px 13px; border-radius: 15px; color: #fff; background: var(--brand); }
.rest-readout small, .rest-readout b { display: block; }
.rest-readout small { font-size: .57rem; letter-spacing: .08em; }.rest-readout b { font: 700 .98rem/1 var(--font-display); margin-top: 3px; }.rest-readout p { color: #e8eaff; font-size: .68rem; }
.session-sequence { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: session; }
.session-sequence li { color: #9299b0; font-size: .64rem; text-align: center; }
.session-sequence li::before { counter-increment: session; content: counter(session); display: grid; place-items: center; width: 19px; height: 19px; margin: 0 auto 4px; border-radius: 50%; background: #e6e8f2; }
.session-sequence .is-done::before { color: #fff; background: #8a91df; }.session-sequence .is-current { color: var(--brand); font-weight: 700; }.session-sequence .is-current::before { color: #fff; background: var(--brand); }

/* Food: a recipe spread that moves naturally into a grocery note. */
.tour-visual--nutrition { background: #eef4e9; }
.food-canvas { position: absolute; inset: 0; overflow: hidden; }
.food-scene-main { position: absolute; top: 0; right: 0; width: 53%; height: 100%; object-fit: cover; object-position: 52% 58%; }
.food-scene-small { position: absolute; z-index: 3; top: 20px; right: 18px; width: 96px; height: 96px; object-fit: cover; border: 6px solid #eef4e9; border-radius: 50%; box-shadow: 0 10px 25px #4d684f20; }
.recipe-sheet { position: absolute; z-index: 2; top: 25px; bottom: 24px; left: 24px; width: 55%; padding: 23px 23px 18px; border: 1px solid #fff; border-radius: 24px 7px 24px 24px; background: #fffffff2; box-shadow: 0 17px 38px #536b4e1c; transform: rotate(-1.3deg); }
.recipe-sheet h4 { margin-top: 7px; font-size: 1.55rem; }
.recipe-sheet > p { max-width: 260px; margin-top: 9px; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.ingredient-list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin: 17px 0 0; padding: 15px 0 0; border-top: 1px solid #e6eadf; list-style: none; }
.ingredient-list li { color: #4d5c4e; font-size: .72rem; }
.ingredient-list li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #65a17e; }
.macro-legend { display: flex; gap: 7px; margin-top: 17px; }
.macro-legend span { padding: 6px 8px; border-radius: 999px; color: #52725b; background: #e8f2e8; font-size: .62rem; }
.grocery-slip { position: absolute; z-index: 4; right: 21px; bottom: 21px; width: 205px; padding: 17px 18px; border-radius: 4px 20px 20px; background: #fffdf3; box-shadow: 0 14px 32px #625c371f; transform: rotate(2deg); }
.grocery-slip > small { color: #8a7c41; font-size: .6rem; font-weight: 700; letter-spacing: .08em; }
.grocery-slip strong { display: block; margin-top: 5px; font: 700 .79rem/1.2 var(--font-display); }
.grocery-slip ul { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; padding: 0; list-style: none; }
.grocery-slip li { color: var(--muted); font-size: .66rem; }.grocery-slip li + li::before { content: "·"; margin-right: 8px; }

.no-script-note { padding: 18px; border-radius: 16px; background: #fff; }

/* Each example keeps its own scale and responsive layout. */
.tour-visual--plan { height: 485px; }
.tour-visual--goals { height: 470px; }
.tour-visual--spend { height: 455px; }
.tour-visual--health { height: 455px; }
.tour-visual--workouts { height: 500px; }
.tour-visual--nutrition { height: 480px; }
.no-script-note { padding: 18px 0; color: var(--muted); }
.no-script-note a { color: var(--brand); text-decoration: underline; }
@media (max-width: 1100px) {
  .tour-heading { gap: 45px; }
  .tour-section .feature-panel { column-gap: 38px; grid-template-columns: minmax(235px, .75fr) minmax(0, 1.25fr); }
  .tour-intro h3 { font-size: 2.5rem; }
  .home-board { padding-inline: 23px; }
  .home-board-content { gap: 17px; }
  .home-board-focus { padding: 16px; }
  .home-board-focus strong { font-size: 1.14rem; }
  .home-board-recipe img { height: 157px; }
  .home-board-recipe figcaption { padding-inline: 12px; }
  .plan-week { grid-template-columns: repeat(7, 28px); }
  .plan-breathing, .plan-inbox { width: 163px; }
  .spend-repeat { width: 190px; }
  .spend-streams, .spend-room { width: calc(100% - 252px); }
  .health-disclaimer { width: 135px; }
  .health-choice { width: 290px; }
  .session-sheet { padding-inline: 19px; }
}
@media (max-width: 950px) {
  .tour-section { padding-block: 84px 85px; }
  .tour-heading { grid-template-columns: 1.1fr .9fr; gap: 36px; }
  .tour-heading h2 { font-size: 3rem; }
  .tour-heading-copy p { font-size: .94rem; }
  .tour-section .feature-tabs { display: flex; overflow-x: auto; gap: 7px; margin-right: -20px; padding: 0 20px 17px 0; scrollbar-width: thin; }
  .tour-section .feature-tabs button { flex: 0 0 auto; min-width: 95px; font-size: .8rem; }
  .tour-section .feature-panel { grid-template-columns: 1fr; grid-template-rows: auto auto auto; gap: 28px; }
  .tour-intro { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: 1fr .85fr; gap: 15px 35px; padding: 0; align-items: start; }
  .tour-intro .eyebrow { grid-column: 1 / -1; margin: 0; }
  .tour-intro h3 { max-width: 480px; font-size: 2.65rem; }
  .tour-intro > p:not(.eyebrow) { margin: 0; font-size: .96rem; }
  .tour-visual { grid-column: 1; grid-row: 2; }
  .tour-details { grid-column: 1; grid-row: 3; padding-bottom: 0; }
  .tour-detail-list { grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 14px; }
  .tour-detail-list > div { border-bottom: 0; }
  .tour-concept-label { margin-top: 16px; }
}
@media (max-width: 620px) {
  .tour-section { padding-block: 63px 65px; }
  .tour-heading { display: block; margin-bottom: 29px; }
  .tour-heading h2 { font-size: clamp(2.5rem, 10.5vw, 3.2rem); }
  .tour-heading .eyebrow { font-size: .67rem; margin-bottom: 16px; }
  .tour-heading-copy { margin-top: 20px; }
  .tour-heading-copy p { font-size: .95rem; }
  .tour-section .feature-tabs { margin-bottom: 31px; gap: 5px; }
  .tour-section .feature-tabs button { min-width: 94px; min-height: 50px; padding-inline: 13px; font-size: .78rem; }
  .tour-section .feature-panel { gap: 26px; }
  .tour-intro { display: block; }
  .tour-intro .eyebrow { margin-bottom: 14px; font-size: .65rem; }
  .tour-intro h3 { font-size: 2.25rem; max-width: 340px; }
  .tour-intro > p:not(.eyebrow) { margin-top: 14px; font-size: .94rem; }
  .tour-visual { border-radius: 19px; }
  .tour-detail-list { grid-template-columns: 1fr; gap: 0; margin-bottom: 17px; }
  .tour-detail-list > div { border-bottom: 1px solid #dce1ef; padding-block: 13px; }
  .tour-detail-list strong { font-size: .9rem; }
  .tour-detail-list small { font-size: .83rem; }
  .tour-details .text-link { font-size: .85rem; }
  .tour-concept-label { margin-top: 19px; text-align: left; font-size: .7rem; }
  .tour-visual--home { min-height: 0; }
  .home-board { padding: 22px 21px 19px; }
  .home-board-heading h4 { font-size: 1.75rem; }
  .home-board-content { grid-template-columns: 1fr; gap: 18px; }
  .home-board-focus { padding: 19px; }
  .home-board-focus > small { font-size: .63rem; }
  .home-board-focus strong { max-width: 240px; font-size: 1.4rem; }
  .home-board-focus p { font-size: .76rem; }
  .home-focus-progress > small { font-size: .65rem; }
  .home-board-agenda { margin-top: 21px; }
  .home-board-agenda h5 { margin-bottom: 15px; font-size: .95rem; }
  .home-board-agenda ol { gap: 16px; }
  .home-board-agenda li { grid-template-columns: 45px 1fr; gap: 13px; }
  .home-board-agenda time { font-size: .72rem; }
  .home-board-agenda strong { font-size: .87rem; }
  .home-board-agenda small { font-size: .71rem; }
  .home-board-recipe { display: grid; grid-template-columns: 110px 1fr; }
  .home-board-recipe img { height: 100%; min-height: 128px; }
  .home-board-recipe figcaption { display: flex; flex-direction: column; justify-content: center; padding: 14px; }
  .home-board-recipe small { font-size: .56rem; }
  .home-board-recipe strong { font-size: 1rem; }
  .home-board-recipe span { font-size: .64rem; }
  .home-board-movement { display: none; }
  .home-board-footer { margin-top: 19px; font-size: .65rem; line-height: 1.5; }
  .home-board-footer p strong { display: block; margin-left: 0; }
  .tour-visual--plan { height: 500px; }
  .plan-canvas, .goals-canvas, .spend-canvas, .health-canvas { padding: 22px 20px; }
  .plan-date h4, .goals-canvas h4, .spend-heading h4, .health-heading h4 { font-size: 1.45rem; }
  .plan-week { top: 83px; left: 17px; right: 17px; grid-template-columns: repeat(7, 1fr); }
  .plan-agenda { top: 142px; left: 20px; width: calc(100% - 40px); bottom: auto; padding-left: 0; }
  .plan-slot { grid-template-columns: 39px 1fr; min-height: 56px; padding: 7px 6px; }
  .plan-slot strong { font-size: .83rem; }
  .plan-slot small { font-size: .69rem; }
  .plan-slot time { font-size: .68rem; }
  .plan-breathing { left: 18px; right: auto; top: auto; bottom: 18px; width: calc(50% - 25px); min-height: 95px; padding: 13px; transform: none; border-radius: 15px; }
  .plan-breathing small { font-size: .62rem; letter-spacing: .02em; }
  .plan-breathing strong { font-size: .8rem; }
  .plan-inbox { right: 18px; bottom: 18px; width: calc(50% - 25px); min-height: 95px; padding: 13px; gap: 7px; align-items: flex-start; }
  .plan-inbox > span { width: 25px; height: 25px; border-radius: 8px; font-size: .8rem; }
  .plan-inbox small { font-size: .62rem; }
  .plan-inbox strong { font-size: .73rem; }
  .tour-visual--goals { height: 450px; }
  .goal-trail:not(.goal-trail--mobile) { display: none; }
  .goal-trail--mobile { display: block; inset: 57px 6px 0; width: calc(100% - 12px); height: 365px; }
  .goal-step { width: 140px; padding: 14px; border-radius: 15px; }
  .goal-step strong { font-size: .85rem; }
  .goal-step small { font-size: .7rem; }
  .goal-step > span { font-size: .62rem; }
  .goal-step--one { left: 7%; bottom: 15%; }
  .goal-step--two { left: 37%; top: 35%; }
  .goal-step--three { left: auto; right: 5%; top: 20%; }
  .goal-next { right: 5%; bottom: 6%; width: 154px; padding: 14px; }
  .goal-next small { font-size: .62rem; }
  .goal-next strong { font-size: .83rem; }
  .goal-next > span { font-size: .67rem; }
  .tour-visual--spend { height: 465px; }
  .spend-scale-note { font-size: .62rem; }
  .spend-streams { top: 110px; left: 20px; width: calc(100% - 40px); gap: 15px; }
  .spend-streams > div { grid-template-columns: 82px 1fr 47px; gap: 8px; font-size: .7rem; }
  .spend-streams small { font-size: .59rem; }
  .spend-repeat { top: 268px; right: 18px; bottom: auto; display: block; width: calc(55% - 23px); padding: 15px; }
  .spend-repeat > small { font-size: .6rem; }
  .spend-repeat ul { margin-top: 12px; }
  .spend-repeat li { padding-block: 8px; font-size: .72rem; }
  .spend-room { left: 20px; right: auto; bottom: 18px; width: calc(45% - 28px); padding: 13px 11px; gap: 9px; }
  .spend-room > span { flex: 0 0 8px; }
  .spend-room small { font-size: .59rem; }
  .spend-room strong { font-size: .78rem; }
  .tour-visual--health { height: 420px; }
  .rhythm-legend { top: 89px; left: 20px; right: auto; gap: 13px; font-size: .67rem; }
  .rhythm-chart { top: 119px; height: 155px; left: 20px; width: calc(100% - 40px); }
  .rhythm-days { top: 274px; left: 27px; right: 27px; font-size: .68rem; }
  .health-choice { left: 18px; bottom: 43px; width: calc(100% - 36px); padding: 12px; gap: 11px; border-radius: 15px; }
  .health-choice small { font-size: .62rem; }
  .health-choice strong { font-size: .82rem; }
  .health-choice p > span { font-size: .72rem; }
  .health-disclaimer { left: 20px; right: auto; bottom: 15px; max-width: none; width: auto; font-size: .68rem; text-align: left; }
  .tour-visual--workouts { height: 490px; }
  .movement-canvas { grid-template-columns: .68fr 1.32fr; }
  .session-sheet { padding: 23px 14px 19px; }
  .session-sheet h4 { font-size: 1.4rem; }
  .session-progress { margin-top: 18px; font-size: .69rem; }
  .movement-photo figcaption { left: 11px; right: 11px; font-size: .66rem; }
  .current-exercise { padding: 13px 12px; }
  .current-exercise small { font-size: .53rem; }
  .current-exercise strong { font-size: 1rem; }
  .current-exercise span { font-size: .72rem; }
  .set-fields { grid-template-columns: 1fr; }
  .set-fields > span { padding: 9px 11px; }
  .set-fields small { font-size: .53rem; }
  .set-fields b { font-size: .8rem; }
  .rest-readout { padding: 10px 12px; }
  .rest-readout p { display: none; }
  .rest-readout small { font-size: .53rem; }
  .rest-readout b { font-size: 1.15rem; }
  .session-sequence li { font-size: .68rem; }
  .tour-visual--nutrition { height: 430px; }
  .food-scene-main { width: 58%; }
  .recipe-sheet { left: 16px; top: 21px; bottom: 20px; width: 62%; padding: 20px 17px; }
  .recipe-sheet h4 { font-size: 1.4rem; }
  .recipe-sheet > p { font-size: .75rem; }
  .ingredient-list { grid-template-columns: 1fr; gap: 7px; margin-top: 14px; padding-top: 13px; }
  .ingredient-list li { font-size: .72rem; }
  .macro-legend { flex-wrap: wrap; max-width: 132px; margin-top: 15px; }
  .macro-legend span { font-size: .64rem; }
  .food-scene-small { width: 83px; height: 83px; top: 15px; right: 11px; border-width: 5px; }
  .grocery-slip { right: 12px; bottom: 17px; width: 143px; padding: 13px; }
  .grocery-slip > small { font-size: .62rem; }
  .grocery-slip strong { font-size: .81rem; }
  .grocery-slip li { font-size: .67rem; }
}
@media (max-width: 360px) {
  .home-board { padding-inline: 17px; }
  .home-board-recipe { grid-template-columns: 90px 1fr; }
  .tour-intro h3 { font-size: 2.3rem; }
  .plan-inbox { padding: 11px 9px; }
  .plan-inbox > span { display: none; }
  .spend-streams > div { grid-template-columns: 70px 1fr 38px; }
  .session-sheet { padding-inline: 12px; }
  .session-sheet h4 { font-size: 1.3rem; }
}
