/* Final layout layer. Desktop rhythm and shared comparison rows live here. */
:root{--layout-gap:24px;--card-radius:24px;--section-space:72px;--card-padding:28px}
.review-placeholder[hidden]{display:none!important}
/* Reviews carousel. */
#reviews>.wrap{display:block}
#reviews .section-heading{display:block}#reviews h2{margin:0}
#reviews .reviews-gallery{display:block;margin:0;padding:0}
#reviews .review-real,#reviews .review-placeholder{box-sizing:border-box}
#reviews .review-real{max-width:420px;margin:auto;padding:16px;border-radius:var(--card-radius)}
#reviews .review-real h3{font-size:16px;margin:0 0 14px}
#reviews .review-real a{max-width:340px;margin:auto}
#reviews .review-placeholder{max-width:420px;min-height:520px;margin:auto;aspect-ratio:auto}
#reviews .review-carousel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}
#reviews .review-carousel-heading h2{margin:0}
#reviews .review-swipe-hint{font-size:13px;color:#bfa7d0;white-space:nowrap}
#reviews .review-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
#reviews .review-carousel-arrows{display:flex;gap:10px}
#reviews .review-carousel-arrow{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d6baf24a;border-radius:50%;background:#2c2932;color:#f2edf7;font:400 25px/1 Manrope,Arial,sans-serif;cursor:pointer}
#reviews .review-carousel-arrow:disabled{opacity:.36;cursor:default}
#reviews .review-carousel-dots{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}
#reviews .review-carousel-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#716a78;cursor:pointer;transition:width .2s,background .2s}
#reviews .review-carousel-dot[aria-current="true"]{width:25px;border-radius:20px;background:#d6baf2}
#reviews .review-carousel-status{min-width:50px;text-align:right;font-size:13px;color:#bfa7d0;font-variant-numeric:tabular-nums}
#reviews .review-carousel-arrow:focus-visible,#reviews .review-carousel-dot:focus-visible,#reviews .reviews-gallery:focus-visible{outline:2px solid #d6baf2;outline-offset:4px}
/* Keep all stories; a short preview leads to their full, unedited content. */
#story .case-templates{display:grid;grid-template-columns:1fr;gap:var(--layout-gap)}
#story .case-card{display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto auto;column-gap:36px;row-gap:0;padding:var(--card-padding);border:1px solid #d6baf22a;border-radius:var(--card-radius);background:linear-gradient(135deg,#302a36,#27242e);align-items:start;min-width:0}
#story .case-preview figure,#story .case-extra-photos figure{margin:0;min-width:0}
#story .case-preview a,#story .case-extra-photos a{display:block;border-radius:14px;overflow:hidden;background:#fff}
#story .case-preview img,#story .case-extra-photos img{display:block;width:100%;height:auto;object-fit:contain}
#story figcaption{font-size:12px;line-height:1.5;color:#b7aabe;text-align:center;margin-top:9px}
#story .case-heading{grid-column:2;grid-row:1;min-width:0;align-self:end}
#story .case-preview{grid-column:1;grid-row:1 / span 2}
#story .case-details{grid-column:2;grid-row:2;min-width:0;align-self:start}
#story .marina-kicker{font-size:12px;line-height:1.7;color:#bfa7d0;margin:0 0 16px}
#story h2{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:0 0 24px;max-width:none}
#story h2 br{display:none}
.case-details summary{display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;border-top:1px solid #d6baf22a;padding:17px 0 0;font-size:14px;color:#dbc5eb;min-height:44px}
.case-details summary::-webkit-details-marker{display:none}
.case-toggle{font-size:23px;line-height:1;font-weight:400}
.case-collapse-label{display:none}.case-details[open] .case-collapse-label{display:inline}.case-details[open] .case-expand-label{display:none}.case-details[open] .case-toggle{transform:rotate(45deg)}
.case-detail-body{padding-top:23px}
#story .case-detail-body p{font-size:15px;line-height:1.8;color:#c8becf;margin:0 0 18px;max-width:none}
#story .case-detail-body blockquote{margin:24px 0 0;padding-left:20px;border-left:2px solid #c4a0df;font-size:16px;line-height:1.8;font-weight:500;color:#ece2f3}
.case-extra-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.case-extra-photos figure:only-child{max-width:260px}
/* One result at a time, with native touch swiping and visible controls. */
#story .case-carousel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
#story .case-carousel-heading .eyebrow{margin:0}
#story .case-count-label{display:block;margin-top:2px;font-size:13px;line-height:1.5;color:#a9a0b1}
#story .case-swipe-hint{font-size:13px;color:#bfa7d0;white-space:nowrap}
#story .case-swipe-hint span{display:inline-block;margin-left:6px;font-size:18px;line-height:1}
#story .case-templates{display:flex;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;overscroll-behavior-inline:contain;transition:height .25s ease}
#story .case-templates::-webkit-scrollbar{display:none}
#story .case-card{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
#story .case-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
#story .case-carousel-arrows{display:flex;gap:10px}
#story .case-carousel-arrow{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #d6baf24a;border-radius:50%;background:#2c2932;color:#f2edf7;font:400 25px/1 Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
#story .case-carousel-arrow:hover:not(:disabled){background:#3b3244;border-color:#d6baf2;transform:translateY(-2px)}
#story .case-carousel-arrow:disabled{opacity:.36;cursor:default}
#story .case-carousel-dots{display:flex;align-items:center;justify-content:center;gap:10px;flex:1}
#story .case-carousel-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#716a78;cursor:pointer;transition:width .2s,background .2s}
#story .case-carousel-dot[aria-current="true"]{width:25px;border-radius:20px;background:#d6baf2}
#story .case-carousel-status{min-width:50px;text-align:right;font-size:13px;color:#bfa7d0;font-variant-numeric:tabular-nums}
#story .case-carousel-arrow:focus-visible,#story .case-carousel-dot:focus-visible,#story .case-templates:focus-visible,.case-details summary:focus-visible{outline:2px solid #d6baf2;outline-offset:4px}
.case-details summary{margin-top:2px;padding:14px 16px;border:1px solid #d6baf249;border-radius:12px;background:#d6baf213;font-weight:700;color:#f0defc;transition:background .2s,border-color .2s}
.case-details summary:hover{background:#d6baf224;border-color:#d6baf287}
.case-toggle{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #d6baf269;border-radius:50%;background:#d6baf21b}
/* Readable controls and captions. */
#inside .app-screen-hint{font-size:12px;line-height:1.6;color:#c0abcd}
#inside #exercise-detail .app-screen-hint{color:#755983}
#inside .app-feature-label,.technique-step{font-size:12px}
.technique-draft-note{font-size:12px;line-height:1.7}
/* A clear sequence: explanation -> steps -> action. */
#technique .technique-journey{align-self:start}
#technique .technique-journey .technique-lead{margin:0 0 24px;font-size:24px;line-height:1.4}
#technique .technique-bottom{display:block;margin-top:24px;padding-top:0;border:0}
#technique .technique-cta{width:100%;justify-content:space-between}
#technique .technique-draft-note{margin:14px 0 0}
@media(min-width:801px){
  .section,#inside,#custom-program,#for-whom,#how,#technique{padding-top:var(--section-space);padding-bottom:var(--section-space)}
  .section-heading{gap:48px}.section-heading h2{margin-bottom:0}.section-heading>p{margin-bottom:0}
  .audience-section h2,#for-whom h2,#custom-program>h2,#inside .inside-heading h2,#how h2,#plans h2,.faq h2{font-size:clamp(36px,3.3vw,46px);line-height:1.16;letter-spacing:-1.4px}
  #for-whom .audience-item,.personal-program-card,#inside .app-gallery .app-feature,.price-card{border-radius:var(--card-radius)}
  #for-whom .audience-item,.personal-program-card{padding:var(--card-padding)}
  .personal-program-grid,#for-whom .audience-list,#inside .app-gallery{gap:var(--layout-gap)}
  #for-whom .audience-item h3,#custom-program .personal-program-card h3,#inside .app-feature-copy h3{font-size:26px;line-height:1.3}
  .personal-card-top{margin-bottom:20px}.personal-illustration{width:88px;height:88px;border-radius:24px}.personal-illustration svg{width:76px;height:76px}
  .personal-program-card p,#for-whom .audience-item p,#inside .app-feature-copy p{font-size:15px;line-height:1.75}
  #inside .inside-heading{gap:0 48px;margin-bottom:32px}
  #inside .app-gallery .app-feature{padding:28px 28px 0}
  #inside .app-gallery .app-feature:nth-child(-n+2){padding:32px 40px;gap:40px;min-height:0}
  #inside .app-feature:nth-child(-n+2) .app-feature-copy h3{font-size:36px;line-height:1.2}
  #inside .app-screen-stage{margin:24px -28px 0;padding-top:20px}
  #inside .app-feature:nth-child(-n+2) .app-screen-stage{margin:0;padding:0}
  /* Share the height of the copy row: paired screenshots start at the same y. */
  #inside .app-feature:nth-child(n+3){display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:0}
  #inside .app-feature:nth-child(n+3) .app-feature-copy{grid-row:1}
  #inside .app-feature:nth-child(n+3) .app-screen-stage{grid-row:2;align-self:start}
  #inside .app-understanding{padding:20px;margin-top:22px}
  #inside .included-note{font-size:15px;padding:22px 26px}
  #technique .technique-layout{gap:0 48px;grid-template-columns:1.05fr 1fr}
  #technique h2{font-size:40px;line-height:1.18}
  #technique .technique-message{margin-top:24px}
  #technique .technique-message blockquote{padding:22px 24px;font-size:15px;line-height:1.75}
  #technique .technique-cards li{padding:20px;gap:16px}
  #technique .technique-cards p{font-size:14px;line-height:1.65}
  #technique .technique-label{margin-bottom:22px}
  .how-heading{margin-bottom:32px}.how-finish{margin-top:32px;padding:24px 28px}
  /* Synchronized comparison rows; action is visible before the long feature list. */
  #plans .pricing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:12px;align-items:stretch;margin:32px 0 24px}
  #plans .price-card{display:grid;grid-template-rows:subgrid;grid-row:1 / span 8;row-gap:12px;align-items:start;padding:28px;min-width:0}
  #plans .price-card:first-child{grid-column:1}#plans .price-card:nth-child(2){grid-column:2}
  #plans .price-card>span{grid-row:1;justify-self:start;align-self:start;margin:0}
  #plans .price-card h3{grid-row:2;font-size:26px;line-height:1.25;min-height:0;margin:0;letter-spacing:-.65px}
  #plans .price-card .price{grid-row:3;font-size:56px;line-height:1.1;padding-top:16px;margin:0}
  #plans .price-card>p:not(.plan-intro):not(.boundary){grid-row:4;font-size:14px;line-height:1.5;margin:0}
  #plans .price-card .plan-intro{grid-row:5;align-self:start;min-height:0;margin:4px 0;font-size:15px;line-height:1.65}
  #plans .price-card .button{grid-row:6;align-self:stretch;margin:4px 0;min-height:58px;height:100%;padding:14px 16px;font-size:14px;line-height:1.45}
  #plans .price-card ul{grid-row:7;min-height:0;margin:10px 0 0;padding:0}
  #plans .price-card li{padding:12px 0;font-size:15px;line-height:1.6}
  #plans .price-card .boundary{grid-row:8;align-self:start;min-height:0;margin:0;padding-top:14px;font-size:13px;line-height:1.6}
  #plans .restriction-note{padding:24px 28px;border-radius:var(--card-radius)}
  .faq{max-width:980px}.faq h2{margin-bottom:32px}.faq summary{min-height:78px;padding:18px 24px;font-size:19px}
  .final-cta{padding-top:64px;padding-bottom:72px}
  .site-header nav a{font-size:14px}
}
@media(min-width:801px) and (max-width:1100px){
  :root{--section-space:56px;--card-padding:24px;--layout-gap:20px}
  #story .case-card{grid-template-columns:260px minmax(0,1fr);column-gap:28px}
  #story h2{font-size:27px}
  #inside .app-gallery .app-feature:nth-child(-n+2){padding:28px;gap:28px}
  #inside .app-feature:nth-child(-n+2) .app-feature-copy h3{font-size:30px}
  #technique .technique-layout{gap:0 28px}#technique h2{font-size:34px}
  #technique .technique-cards li{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:17px}
  #technique .technique-icon{width:46px;height:46px;border-radius:14px}
  #technique .technique-cards h3{font-size:18px}
  #plans .price-card{padding:24px}#plans .price-card h3{font-size:24px}#plans .price-card .button{font-size:13px;padding:13px}
}
@media(max-width:800px){
  #reviews>.wrap{display:block}#reviews .review-real{margin:0}
  #story .case-card{grid-template-columns:1fr;grid-template-rows:auto;padding:24px;gap:24px}
  #story .case-heading,#story .case-preview,#story .case-details{grid-column:1;grid-row:auto}
  #story .case-preview{max-width:340px;width:100%;justify-self:center}
  #story .case-heading h2{margin-bottom:0}
  #plans .price-card .button{margin:16px 0 8px}
  /* Enlarge body explanations, not the small labels and screen controls. */
  #inside .app-feature-copy p{font-size:15px}
  #inside .app-understanding p{font-size:14px!important}
  #technique .technique-cards p,#how .how-steps p{font-size:14px}
  #story h2{font-size:27px}#story .case-detail-body p{font-size:14px}#story .case-detail-body blockquote{font-size:15px}
  #story .case-carousel-heading{align-items:flex-end;margin-bottom:12px}
  #story .case-count-label{font-size:12px}
  #story .case-swipe-hint{font-size:12px}
  #story .case-templates{gap:14px}
  #story .case-carousel-nav{margin-bottom:14px}
  #story .case-carousel-arrow{width:42px;height:42px}
  #technique .technique-journey .technique-lead{font-size:21px;margin-bottom:22px}
}

/* Technique composition: shared heading line and a lighter process column. */
#technique .technique-layout>.technique-label{grid-column:1/-1;justify-self:start;margin-bottom:22px}
#technique .technique-story{color:#65556f}
#technique .technique-message blockquote{color:#604d6a}
#technique .technique-cards p{color:#65556f}
#technique .technique-step{color:#7c638b}
@media(min-width:801px){
  #technique .technique-copy,#technique .technique-journey{align-self:start}
  #technique .technique-journey .technique-lead{margin-bottom:20px}
  #technique .technique-cards{gap:10px}
  #technique .technique-cards li{grid-template-columns:52px minmax(0,1fr);padding:17px 20px;gap:16px}
  #technique .technique-icon{width:52px;height:52px;border-radius:16px}
  #technique .technique-icon svg{width:37px;height:37px}
  #technique .technique-step{margin-bottom:4px}
  #technique .technique-cards h3{margin-bottom:5px}
  #technique .technique-bottom{margin-top:18px}
  #technique .technique-cta{min-height:56px;padding:16px 22px}
}
@media(min-width:801px) and (max-width:1100px){
  #technique .technique-cards li{grid-template-columns:44px minmax(0,1fr);padding:15px 16px;gap:12px}
  #technique .technique-icon{width:44px;height:44px;border-radius:14px}
  #technique .technique-icon svg{width:32px;height:32px}
}

/* Quiet channel link, separate from the personal support contact. */
footer.channel-footer{display:block;padding:28px 0;border-top:1px solid #d6baf21c;color:#aaa0b4}
.channel-footer>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px}
.channel-footer-info{display:grid;gap:9px;min-width:0}
.channel-footer-brand{color:#e9e1ef;font-size:15px;line-height:1;white-space:nowrap}
.channel-legal-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;margin:0}
.channel-legal-links a{min-height:0!important;color:#9f94a9!important;font-size:11px!important;line-height:1.35;text-decoration:none}
.channel-legal-separator{color:#655c6d;font-size:12px;line-height:1}
.channel-legal-links a:hover{color:#d6baf2!important;text-decoration:underline}
.channel-links{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:nowrap}
.channel-footer a{display:inline-flex;align-items:center;gap:9px;min-height:42px;color:#c7b0d8;text-decoration:none;font-size:13px}
.channel-footer a:hover{color:#f0e4fa}.channel-footer svg{width:20px;height:20px;flex:0 0 20px}
.channel-footer .channel-social-link{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;min-height:42px;border:1px solid #d6baf24a;border-radius:50%;background:#d6baf20a}
.channel-footer .channel-social-link:hover{background:#d6baf21c;border-color:#d6baf2}
.channel-footer .channel-social-link svg{width:21px;height:21px}
@media(max-width:700px){footer.channel-footer{padding:24px 0}.channel-footer>.wrap{grid-template-columns:1fr;gap:18px}.channel-legal-links{display:grid;gap:8px}.channel-legal-separator{display:none}.channel-links{justify-content:flex-start;gap:12px}.channel-links>a:first-child{margin-right:auto}.channel-footer-brand{font-size:14px}}

/* Both layouts: outcome photo in hero, trainer introduction after reviews. */
.hero-outcome-visual{height:530px;overflow:hidden;border-radius:24px;background:#343039}
.hero-outcome-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 29%}
.trainer-after-reviews{width:min(1120px,88%);margin:auto;padding:70px 0 90px;display:flex;justify-content:center}
.trainer-after-reviews .hero-photo{width:min(520px,100%);height:530px;min-height:0;flex:none}
@media(max-width:800px){
  .hero{padding-top:20px;gap:34px}
  .hero-outcome-visual{order:-1;width:100%;height:auto;aspect-ratio:4/5}
  .hero-outcome-visual img{object-position:center 27%}
  .trainer-after-reviews{display:block;width:88%;max-width:520px;padding:24px 0 52px}
  .trainer-after-reviews .hero-photo{width:100%;height:410px;margin:0}
}

/* First audience card visual; other cards remain unchanged. */
#for-whom .audience-item .audience-scene{width:100%;margin:24px 0 0;overflow:hidden;border-radius:18px;background:#e9e1ec}
#for-whom .audience-item .audience-scene img{display:block;width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center 50%}
@media(min-width:801px){
  #for-whom .audience-item:nth-child(3)>div:last-child{display:flex;flex:1;flex-direction:column}
  #for-whom .audience-item:nth-child(3) p{margin-bottom:24px}
  #for-whom .audience-item:nth-child(3) .audience-scene{margin-top:auto}
}
@media(max-width:800px){#for-whom .audience-item .audience-scene{margin-top:20px;border-radius:15px}}

/* Quiet visual pause between the final promise and the program choice. */
.final-cta .final-cta-image{width:min(100%,780px);margin:34px auto 36px;overflow:hidden;border-radius:24px;background:#39323f}
.final-cta .final-cta-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:800px){
  .final-cta .final-cta-image{margin:26px auto 28px;border-radius:18px}
  .final-cta .final-cta-image img{aspect-ratio:4/3;object-position:center}
}

/* Approved trainer portrait in the personal program section. */
.custom-program-trainer{max-width:480px;margin:32px auto 40px}
.custom-program-trainer img{display:block;width:100%;height:auto;border-radius:24px}
.custom-program-trainer figcaption{margin-top:14px;text-align:center;color:#cdb4e2;font-size:16px}
@media(max-width:800px){.custom-program-trainer{max-width:420px;margin:26px auto 32px}.custom-program-trainer img{border-radius:18px}}

/* Narrow phones: let navigation fit instead of overflowing the document. */
@media(max-width:360px){
  .mobile-section-menu{flex-basis:35%}
  .mobile-section-menu summary{padding:12px 10px}
  .mobile-program-link{min-width:0;gap:6px;padding:12px 8px;font-size:11px}
  #reviews .review-carousel-nav,#story .case-carousel-nav{gap:10px}
  #reviews .review-carousel-arrows,#story .case-carousel-arrows{gap:6px}
  #reviews .review-carousel-arrow{width:42px;height:42px}
  #reviews .review-carousel-dots,#story .case-carousel-dots{gap:7px;min-width:0}
  #reviews .review-carousel-status,#story .case-carousel-status{min-width:44px;font-size:12px}
}

/* Mobile hero: compact photo first, without the brand header. */
@media(max-width:800px){
  .hero{padding-top:24px;gap:24px}
  .hero h1{font-size:clamp(32px,8.5vw,48px);line-height:1.12;letter-spacing:-1.1px;margin:0 0 20px}
  .hero .lead{font-size:15px;line-height:1.65;margin:0 0 16px}
  .hero>div>p:not(.lead):not(.muted){font-size:14px;line-height:1.65;margin:0 0 20px}
  .hero .button{width:100%;justify-content:space-between;min-height:52px;padding:14px 20px}
  .hero .muted{font-size:12px;line-height:1.6;margin:12px 0 0}
  header.site-header{display:none}
  .hero-outcome-visual{order:-1;height:clamp(240px,75vw,360px);aspect-ratio:auto}
  .hero-outcome-visual img{object-position:center top}
}

/* Align illustrations within each two-column audience row. */
@media(min-width:601px){
  #for-whom .audience-item:not(:last-child)>.audience-scene{margin-top:auto}
  #for-whom .audience-item:not(:last-child)>div:nth-child(2){padding-bottom:24px}
}

/* Native swipe for reviews; retain the current single-card presentation. */
#reviews .reviews-gallery{display:flex;max-width:420px;margin:0 auto;gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
#reviews .reviews-gallery::-webkit-scrollbar{display:none}
#reviews .reviews-gallery>article{flex:0 0 100%;min-width:0;max-width:none;margin:0;scroll-snap-align:start;scroll-snap-stop:always}
/* 44px touch targets, small visual dots. Separate row prevents narrow overflow. */
#story .case-carousel-nav,#reviews .review-carousel-nav{flex-wrap:wrap;row-gap:4px}
#story .case-carousel-dots,#reviews .review-carousel-dots{order:3;flex:0 0 100%;gap:0;min-width:0}
#story .case-carousel-dot,#reviews .review-carousel-dot,
#story .case-carousel-dot[aria-current="true"],#reviews .review-carousel-dot[aria-current="true"]{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:10px;background:transparent;transition:none}
#story .case-carousel-dot::before,#reviews .review-carousel-dot::before{content:"";width:10px;height:10px;border-radius:50%;background:#716a78;transition:width .2s,background .2s}
#story .case-carousel-dot[aria-current="true"]::before,#reviews .review-carousel-dot[aria-current="true"]::before{width:25px;border-radius:20px;background:#d6baf2}
@media(prefers-reduced-motion:reduce){#story .case-carousel-dot::before,#reviews .review-carousel-dot::before{transition:none}}

.app-carousel-nav{display:none}
@media(max-width:800px){
  #inside .app-carousel-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
  .app-carousel-nav button{width:44px;height:44px;border:1px solid #d6baf24a;border-radius:50%;background:#302b36;color:#f2edf7;font-size:24px;cursor:pointer}
  .app-carousel-nav button:disabled{opacity:.35;cursor:default}
  .app-carousel-status{font-size:14px;color:#cdb4e2;font-variant-numeric:tabular-nums}
  #inside .app-gallery{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:flex-start;overscroll-behavior-inline:contain;padding:0 0 8px}
  #inside .app-gallery::-webkit-scrollbar{display:none}
  #inside .app-gallery::after{content:"";flex:0 0 18px}
  #inside .app-gallery .app-feature,#inside .app-gallery .app-feature:nth-child(-n+2){flex:0 0 100%;display:flex;grid-row:auto;scroll-snap-align:start;scroll-snap-stop:always;padding:20px 18px 0;min-height:0}
  #inside .app-feature-label{margin-bottom:12px;font-size:11px;gap:8px}
  #inside .app-feature-copy h3,#inside .app-feature:nth-child(-n+2) .app-feature-copy h3{font-size:23px;line-height:1.2;margin-bottom:12px}
  #inside .app-feature-copy p{font-size:14px;line-height:1.55}
  #inside .app-screen-stage,#inside .app-feature:nth-child(-n+2) .app-screen-stage{margin:16px -18px 0;padding:0 10px 18px}
  #inside .app-screen-stage a,#inside .app-feature:nth-child(-n+2) .app-screen-stage a{width:min(100%,330px);max-width:100%;border-width:3px;border-radius:18px}
  #inside .app-screen-stage img{width:100%;max-width:none;height:auto;object-fit:contain}
  #inside .app-screen-hint{margin-top:10px;font-size:11px}
  #inside .app-understanding{padding:12px;margin-top:14px}
  #inside .app-understanding h4{font-size:14px;margin-bottom:6px}
  #inside .app-understanding p{font-size:12px!important;line-height:1.5}
  .app-carousel-nav button:focus-visible,#app-carousel:focus-visible{outline:2px solid #d6baf2;outline-offset:3px}
}
@media(max-width:800px){
  #inside .app-gallery .app-feature .app-screen-stage img{width:100%;max-width:none;height:auto;object-fit:contain}
}
#inside .app-understanding summary{font-size:16px;line-height:1.4;color:#674976;font-weight:700;margin-bottom:10px;list-style:none}
@media(min-width:801px){#inside .app-understanding summary{pointer-events:none}}
@media(max-width:800px){
  #inside .app-understanding summary{font-size:14px;margin:0;cursor:pointer;list-style:revert;min-height:32px}
  #inside .app-understanding[open] summary{margin-bottom:8px}
}

.app-carousel-caption{display:grid;gap:4px;text-align:center}
.app-carousel-hint{font-size:13px;line-height:1.4;color:#d6baf2}

/* Stable application carousel: no vertical layout shifts while swiping. */
@media(max-width:800px){
  #inside .app-gallery{align-items:flex-start;overflow-anchor:none}
  #inside .app-gallery .app-feature,#inside .app-gallery .app-feature:nth-child(-n+2){align-self:flex-start}
  #inside .app-gallery .app-feature .app-screen-stage{margin-top:16px;padding-top:0}
}

/* Compact mobile rhythm: avoid doubled 50–60px gaps between sections. */
@media(max-width:800px){
  #for-whom,#story,#reviews,#custom-program,#inside,#technique,#how,#plans,.faq{
    padding-top:36px;
    padding-bottom:36px;
  }
  .trainer-after-reviews{padding-top:20px;padding-bottom:36px}
  .final-cta{padding-top:40px;padding-bottom:40px}
}
