/* Focused addition to the existing Studio site; brand tokens and page layout stay in site.css. */
.hero-coach{display:flex;align-items:center;justify-content:center;gap:12px;max-width:430px;margin:10px auto 0;padding:0 20px;text-align:left}
.mascot-button{flex:none;display:block;width:104px;height:104px;margin:0;padding:0;border:0;background:transparent;border-radius:18px;cursor:pointer;touch-action:manipulation}
.mascot-button img{width:100%;height:100%;object-fit:contain;transform-origin:50% 85%;will-change:transform}
.mascot-button:hover img{transform:translateY(-3px)}
.mascot-button.is-lifting img{animation:mascot-lift .8s ease-out}
.mascot-button.is-idle img{animation:mascot-breathe 2.8s ease-in-out infinite}
.mascot-bubble{position:relative;max-width:265px;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:var(--paper);font-size:14px;line-height:1.5;color:var(--graphite)}
.mascot-bubble::before{content:"";position:absolute;top:50%;left:-7px;width:12px;height:12px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);transform:translateY(-50%) rotate(45deg)}
.mascot-bubble b{display:block;margin-bottom:3px;color:var(--ink)}
.coach-character{display:flex;align-items:center;gap:14px;margin-top:16px}
.coach-character .mascot-button{width:88px;height:88px}
.coach-character .mascot-bubble{flex:1;min-width:0;padding:14px;font-size:12.5px}
.c-coach .chat{margin-top:18px}
.coach-examples{margin:48px 0 56px}
.coach-examples-heading{max-width:680px;margin-bottom:26px}
.coach-examples-heading h3{font-size:clamp(27px,3vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
.coach-examples-heading>p{margin-top:12px;font-size:16px;color:var(--grey)}
.coach-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.coach-scenario{min-width:0;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.scenario-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.scenario-top h4{margin:0;font-size:20px;font-weight:500;line-height:1.2;letter-spacing:-.025em}
.scenario-top>span{font:400 10px/1.4 var(--fm);color:var(--grey)}
.scenario-label{margin-top:22px;font:500 10px/1.4 var(--fm);color:var(--grey);text-transform:uppercase;letter-spacing:.06em}
.coach-scenario blockquote{min-height:72px;margin:10px 0 0;padding:12px 14px;border-radius:10px;background:var(--canvas);font-size:14px;line-height:1.55;color:var(--graphite)}
.scenario-prescription{margin-top:12px;border-top:1px solid var(--line-2)}
.scenario-prescription li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line-2);font-size:13px;line-height:1.4}
.scenario-prescription b{flex:none;font:500 11px/1.4 var(--fm);color:var(--graphite)}
.scenario-effect{margin-top:22px;padding-left:12px;border-left:2px solid var(--signal);font-size:13px;line-height:1.5;color:var(--grey)}
.scenario-effect b{display:block;margin-bottom:5px;color:var(--ink)}
.coach-examples-proof{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;margin-top:34px}
.coach-examples-proof img{width:100%;height:auto;border-radius:12px;background:var(--ink)}
.coach-examples-proof h4{margin:0;font-size:clamp(25px,2.6vw,32px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.coach-examples-proof p{margin-top:14px;font-size:14px;line-height:1.6;color:var(--grey)}
.coach-examples-proof .scenario-proof-note{font-size:12px;color:var(--graphite)}
.coach-examples-proof .btn{margin-top:22px}
.feature-explorer{margin-top:clamp(64px,7vw,100px)}
.feature-explorer-heading{max-width:650px;margin:0 auto 30px;text-align:center}
.feature-explorer-heading h3{font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.feature-explorer-heading p{max-width:520px;margin:16px auto 0;font-size:16px;color:var(--grey)}
.tier-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-width:690px;margin:0 auto 36px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--canvas-2)}
.tier-tab{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:12px 16px;border-radius:8px;text-decoration:none;font-size:17px;font-weight:500;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.tier-tab span{font:400 11px/1.3 var(--fm);color:var(--grey)}
.tier-tab.is-active{background:var(--paper);box-shadow:0 2px 7px rgba(16,17,20,.08)}
.tier-tab[data-tier="pro"].is-active,.tier-tab[data-tier="pro-plus"].is-active{background:var(--ink);color:#fff}
.tier-tab[data-tier="pro"].is-active span,.tier-tab[data-tier="pro-plus"].is-active span{color:#fca58e}
.tier-tab:hover{background:rgba(255,255,255,.5)}
.tier-panel{margin-top:36px}
.tier-panel[role="tabpanel"]{margin-top:0}
.tier-panel:focus-visible{outline-offset:8px}
.tier-panel-head{max-width:770px;margin:0 auto 34px;text-align:center}
.tier-panel-head h4{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.025em;line-height:1.2}
.tier-panel-head p{max-width:650px;margin:12px auto 0;font-size:16px;color:var(--grey)}
.tier-panel-head .tier-launch{margin-top:16px;font-size:13px;color:var(--graphite)}
.tier-pro-heading{display:flex;align-items:center;justify-content:center;gap:14px;max-width:600px;margin:0 auto;text-align:left}
.tier-pro-heading .mascot-bubble{max-width:420px}
.tier-pro-heading .mascot-button{width:96px;height:96px}
.plan-pro-heading{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.plan-pro-heading .mascot-button{width:62px;height:62px}
.plan-pro-heading .mascot-bubble{max-width:none;padding:9px 12px}
.plan-pro-heading h3{margin:0;font-size:20px}
.feature-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:38px}
.feature-photo{min-width:0}
.feature-photo figure{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:var(--canvas-2)}
.feature-photo figure>img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.feature-photo:hover figure>img{transform:scale(1.035)}
.feature-copy{padding-top:17px}
.feature-copy h5{margin:0;font-size:18px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.feature-allowance{display:inline-block;margin-top:9px;padding:5px 9px;border-radius:5px;background:var(--canvas-2);font:500 10.5px/1.4 var(--fm);color:var(--graphite)}
.tier-panel[data-tier-panel="pro"] .feature-allowance{background:var(--ink);color:#fff}
.feature-allowance.is-pro-only{background:#fff2e8;color:#8e340b}
.feature-copy p{margin-top:11px;font-size:13.5px;line-height:1.55;color:var(--grey)}
.feature-screenshot{margin-top:15px;border-top:1px solid var(--line)}
.feature-screenshot summary{min-height:44px;padding:12px 0;font:500 11px/1.6 var(--fm);color:var(--ink);cursor:pointer}
.feature-screenshot img{display:block;width:100%;height:auto;max-height:220px;margin-top:4px;border-radius:8px;object-fit:contain;object-position:top;background:var(--canvas-2)}
.feature-screenshot p{font-size:11px;line-height:1.5}
.feature-screenshot .screenshot-full{display:inline-block;min-height:36px;padding-top:8px;font-size:11px;text-underline-offset:3px}
.tier-footer{margin-top:36px;padding:22px 24px;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--graphite);text-align:center}
.tier-footer a{color:var(--ink);text-underline-offset:4px}
.coach-workflow{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:42px;align-items:center;margin-top:48px;padding:32px;border-radius:20px;background:var(--paper)}
.coach-workflow figure{min-width:0}
.coach-workflow figure>img{width:100%;height:auto;border-radius:12px;background:var(--ink)}
.coach-workflow figcaption{margin-top:10px;font-size:11px;line-height:1.5;color:var(--grey)}
.coach-workflow-copy h4{margin:0;font-size:clamp(24px,2.8vw,38px);line-height:1.1;font-weight:400;letter-spacing:-.035em}
.coach-workflow-copy>p{margin-top:18px;font-size:15px;line-height:1.6;color:var(--grey)}
.feature-explorer.is-ready .tier-panel:not([hidden]){animation:feature-panel-in .22s ease-out}
@keyframes feature-panel-in{from{opacity:.65;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes mascot-lift{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-8px) rotate(-3deg)}70%{transform:translateY(-3px) rotate(2deg)}}
@keyframes mascot-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}
@media(max-width:999px){.feature-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.feature-copy h5{font-size:19px}.feature-copy p{font-size:14px}.coach-workflow{gap:26px;padding:24px}}
@media(max-width:639px){.hero-coach{margin-top:0;max-width:340px}.hero-coach .mascot-button{width:86px;height:86px}.hero-coach .mascot-bubble{padding:12px 14px;font-size:12px}.feature-explorer{margin-top:58px}.tier-tabs{margin-bottom:28px}.tier-tab{gap:6px;padding:12px 10px;font-size:16px}.tier-tab span{font-size:10px}.tier-panel-head{margin-bottom:28px}.tier-panel-head p{font-size:15px}.tier-pro-heading{gap:9px}.tier-pro-heading .mascot-button{width:76px;height:76px}.tier-pro-heading .mascot-bubble{padding:12px}.tier-pro-heading h4{font-size:21px}.feature-gallery{gap:30px 16px}.feature-copy{padding-top:13px}.feature-copy h5{font-size:17px}.feature-copy p{font-size:13px}.feature-allowance{font-size:10px;padding:4px 7px}.tier-footer{padding:18px 0;font-size:14px}}
@media(max-width:719px){.coach-workflow{grid-template-columns:1fr;padding:20px;gap:22px}.coach-workflow-copy{grid-row:1}.coach-workflow-copy .coach-character{max-width:360px}}
@media(max-width:999px){.coach-scenarios{gap:14px}.coach-scenario{padding:18px}.scenario-top{align-items:flex-start;flex-direction:column;gap:7px}.scenario-top h4{font-size:19px}.scenario-prescription li{align-items:flex-start;flex-direction:column;gap:4px}.coach-examples-proof{gap:24px}}
@media(max-width:719px){.coach-examples{margin:38px 0 44px}.coach-scenarios{grid-template-columns:1fr}.coach-scenario{padding:22px}.scenario-top{align-items:center;flex-direction:row;gap:10px}.coach-scenario blockquote{min-height:0}.scenario-prescription li{align-items:center;flex-direction:row;gap:10px}.coach-examples-proof{grid-template-columns:1fr;gap:20px}.coach-examples-proof figure{grid-row:2}}
@media(max-width:359px){.feature-gallery{grid-template-columns:1fr}.feature-copy h5{font-size:19px}.feature-copy p{font-size:14px}.tier-tab{flex-direction:column;gap:4px}.hero-coach{gap:8px}.hero-coach .mascot-button{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){.mascot-button img,.feature-photo img{transform:none!important}.mascot-button.is-lifting img,.mascot-button.is-idle img,.feature-explorer.is-ready .tier-panel:not([hidden]){animation:none!important}.tier-tab,.feature-photo img{transition:none!important}}
/* Approved Pro Plus launch offer: the same brand, with three complete choices. */
.membership-notes{max-width:850px;margin:26px auto 0;text-align:center;font-size:13px;line-height:1.65;color:var(--grey)}
.membership-notes p+p{margin-top:10px}
.membership-notes b{color:var(--ink)}
.coaching-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 36px}
.coaching-benefits article{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.coaching-benefits h5{font-size:18px;font-weight:500;letter-spacing:-.02em}
.coaching-benefits p{margin-top:10px;color:var(--grey);font-size:14px;line-height:1.65}
.plan-plus{border:1px solid var(--line)}
.scan-preview{max-width:580px;align-self:center}
.scan-preview img{width:100%;height:auto;border-radius:16px;box-shadow:var(--sh-card)}
.scan-preview figcaption{margin-top:10px;font-size:12px;text-align:center;color:var(--grey)}
@media(max-width:760px){.coaching-benefits{grid-template-columns:1fr;gap:12px}.tier-tab{flex-direction:column;gap:5px;text-align:center;min-width:0;padding:12px 6px}.tier-tab span{font-size:9px}.scan-preview{margin:20px auto}}
.coach-examples-proof .btn svg{width:20px;height:12px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
/* One view of the approved offer, readable without switching feature tabs. */
.membership-comparison{margin:52px 0 0;scroll-margin-top:calc(var(--hdr) + 26px)}
.membership-compare-heading{max-width:730px;margin-bottom:25px}
.membership-compare-heading h3{margin:0;font-size:clamp(27px,3vw,38px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
.membership-compare-heading p{margin-top:13px;font-size:16px;line-height:1.6;color:var(--grey)}
.membership-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:clip;background:var(--paper)}
.membership-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:16px;line-height:1.4}
.membership-table th,.membership-table td{padding:18px 20px;vertical-align:middle}
.membership-table thead{background:var(--ink);color:#fff}
.membership-table thead th{position:sticky;top:var(--hdr);z-index:2;background:var(--ink);font-size:18px;font-weight:600;text-align:center}
.membership-table thead th:first-child{width:46%;text-align:left}
.membership-table thead th:last-child{background:var(--signal);color:var(--ink)}
.membership-table tbody th{font-weight:500;text-align:left}
.membership-table tbody td{text-align:center;border-left:1px solid var(--line-2)}
.membership-table tbody tr:nth-child(even){background:#F7F6F2}
.membership-table .compare-paid-start{border-top:2px solid var(--ink)}
.compare-value{display:flex;justify-content:center;align-items:center;gap:9px;min-height:24px}
.compare-value svg,.membership-table-note svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.compare-included .compare-value svg{color:var(--ember)}
.compare-excluded{color:#716C62}
.compare-text{font-weight:600;color:var(--ink)}
.membership-table-note{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin-top:15px;font-size:13px;line-height:1.5;color:var(--grey)}
.membership-table-note>span{display:flex;align-items:center;gap:7px}
.membership-table-note svg{width:17px;height:17px}
.membership-retention-note{max-width:850px;margin-top:16px;font-size:14px;line-height:1.65;color:var(--grey)}
@media(max-width:639px){.membership-comparison{margin-top:38px}.membership-compare-heading p{font-size:15px}.membership-table{font-size:13px}.membership-table th,.membership-table td{padding:14px 8px}.membership-table thead th{font-size:14px}.membership-table thead th:first-child{width:43%}.compare-value{flex-direction:column;gap:4px}.compare-value svg{width:20px;height:20px}.compare-text{font-size:12px;font-weight:600}.membership-table-note{font-size:12px;gap:10px 16px}.feature-copy p{font-size:14px;line-height:1.6}.feature-screenshot summary{font-size:12px}}

/* Real training screens stay complete inside their frames; every example opens at full size. */
.training-options{background:#eae8e2;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.training-options .sec-hd{max-width:750px;margin-bottom:42px}
.training-options .eyebrow{display:block;margin-bottom:16px}
.training-example-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.training-example{min-width:0}
.training-phone{display:block;width:100%;max-width:264px;margin:0 auto 22px;padding:6px;background:#111;border:1px solid #52514e;border-radius:24px;box-shadow:0 12px 28px #10111412;text-decoration:none}
.training-phone img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px}
.training-allowance{display:inline-block;font:600 10px/1.4 var(--fm);color:var(--ember);margin-bottom:9px}
.training-example h3{font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin-bottom:10px}
.training-example p{font-size:14px;line-height:1.6;color:var(--grey)}
.training-example-note{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--grey)}
.membership-app-preview{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.membership-app-preview summary{width:fit-content;cursor:pointer;font:500 13px/1.5 var(--fm)}
.membership-app-preview a{display:block;max-width:320px;margin:22px 0 12px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#111}
.membership-app-preview img{display:block;width:100%;height:auto;border-radius:6px}
.membership-app-preview p{font-size:12px;color:var(--grey)}
@media(max-width:900px){.training-example-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 22px}.training-phone{max-width:250px}}
@media(max-width:639px){.training-options .sec-hd{margin-bottom:30px}.training-example-grid{gap:34px 16px}.training-phone{padding:4px;border-radius:16px;margin-bottom:18px}.training-phone img{border-radius:12px}.training-example h3{font-size:17px}.training-example p{font-size:14px}.training-allowance{font-size:9px}.training-example-note{font-size:12px;line-height:1.6}.membership-app-preview summary{font-size:12px}}

/* Body Scan uses captures of the real app's photo review and results screens. */
.scan-walkthrough{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px;max-width:780px;margin:0 auto}
.scan-example{min-width:0}
.scan-example figcaption{margin-bottom:20px;min-height:76px}
.scan-example h3{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.025em}
.scan-example p{margin-top:8px;font-size:15px;line-height:1.5;color:var(--grey)}
.scan-example a{display:block;max-width:340px;margin:0 auto;padding:6px;border-radius:24px;background:#151411;border:1px solid #52514e;box-shadow:var(--sh-card)}
.scan-example a:focus-visible{outline:3px solid var(--signal);outline-offset:5px}
.scan-example img{display:block;width:100%;height:auto;border-radius:18px}
.scan-example-label{max-width:780px;margin:24px auto 0;font-size:13px;line-height:1.5;color:var(--grey)}
.scan-sec .honest{max-width:780px;margin-top:36px}
@media(max-width:639px){.scan-walkthrough{grid-template-columns:1fr;gap:36px;max-width:340px}.scan-example figcaption{min-height:0;margin-bottom:16px}.scan-example h3{font-size:21px}.scan-example a{max-width:300px;padding:5px;border-radius:20px}.scan-example img{border-radius:15px}.scan-example-label{max-width:340px;margin-top:24px}.scan-sec .honest{margin-top:28px}}
