/* Desktop styles and approved original assets are preserved. */
@media(max-width:760px){
  html{scroll-padding-top:96px}
  body{font-size:16px;line-height:1.65}
  .mobile-hide,.mobile-panel-hidden{display:none!important}
  .rv{opacity:1!important;transform:none!important;transition:none!important}
  .sec,.alt,section.rate-confirmed,#rate.rate-switch,#how,#fittest,#why,#paths,#studio,#map,#faq,#contact{padding-block:40px}
  .wrap,#rate.rate-switch>.wrap,#why>.wrap{padding-inline:20px}
  .sec-head{margin-bottom:24px}
  .h-big{font-size:44px;line-height:1.02}
  .h-th,.lead{font-size:16px;line-height:1.7}
  .kicker{font-size:11px;letter-spacing:.09em}
  .nav,.nav.on{padding:10px 0}
  .nav .brand-v3{width:240px;max-width:calc(100% - 56px)}
  .nav .nav-brand-sub{font-size:12px;line-height:1.5;letter-spacing:.04em}
  .nav .wrap{gap:12px;padding-inline:20px}
  .nav-links a{min-height:46px;font-size:16px}
  #burger{width:44px;height:44px;flex:none}
  #top .gym-stage,#top .hero-v3-inner{min-height:clamp(580px,100svh,700px)}
  #top .hero-v3-inner{padding:112px 20px 38px}
  #top .hero-v3-bottom{padding-top:120px;gap:20px}
  #top .hero-quote{font-size:27px;line-height:1.6}
  #top .hero-v3-bottom .btn{font-size:16px;min-height:54px;padding:12px 16px}
  .hero-context{padding:26px 0}
  .hero-context p,.hero-context .lead{font-size:16px;line-height:1.7}
  .stats{padding-block:24px}
  .stat{padding:14px}
  .stat b{font-size:34px}
  .stat small{font-size:14px;line-height:1.6}
  .mobile-choice-tabs{display:flex;gap:6px;padding:4px;border:1px solid #49443E;border-radius:12px;background:#151413;margin:0 0 14px}
  .mobile-choice-tabs button{flex:1;min-width:0;min-height:46px;padding:8px 6px;border:0;border-radius:8px;background:transparent;color:#C8C2B8;font:500 16px/1.4 var(--sarabun);cursor:pointer}
  .mobile-choice-tabs button[aria-selected="true"],.mobile-choice-tabs button[aria-pressed="true"]{background:#FFC400;color:#111111;font-weight:600}
  .mobile-choice-tabs button:focus-visible,.mobile-fold>summary:focus-visible,.mobile-step>summary:focus-visible,.mobile-private-detail>summary:focus-visible{outline:2px solid #FFC400;outline-offset:3px}
  .mobile-fold{border-top:1px solid #49443E;margin:12px 0 0}
  .mobile-fold>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 0;cursor:pointer;font:500 15px/1.6 var(--sarabun);color:#F4F1E8}
  .mobile-fold>summary:after{content:'+';color:#FFC400;font-size:22px;flex:none}
  .mobile-fold[open]>summary:after{content:'−'}
  .mobile-fold>summary::-webkit-details-marker,.mobile-step>summary::-webkit-details-marker,.mobile-private-detail>summary::-webkit-details-marker{display:none}
  #rate .rate-switch-head{margin-bottom:22px}
  #rate .rate-switch-head h2{font-size:44px;margin:10px 0 12px}
  #rate .rate-switch-head p{font-size:16px;line-height:1.65}
  #rate .package-switch-grid{display:block}
  #rate .package-switch-group{padding:16px;border-radius:16px}
  #rate .package-switch-heading{display:none}
  #rate .package-switch-tabs{margin:0 0 14px}
  #rate .package-switch-tabs button{font-size:16px;min-height:44px;padding:8px 4px}
  #rate .package-switch-panel{min-height:0}
  #rate .package-switch-eyebrow{font-size:13px;margin-bottom:6px}
  #rate .package-switch-panel h4{font-size:30px;line-height:1.1}
  #rate .package-switch-subtitle{font-size:15px;line-height:1.65;margin:6px 0 12px}
  #rate .package-switch-price{margin-bottom:12px;gap:3px 12px}
  #rate .package-switch-price strong{font-size:48px}
  #rate .package-switch-saving{padding:10px 12px;margin-bottom:12px}
  #rate .package-switch-saving b{font-size:16px;line-height:1.6}
  #rate .package-switch-saving span{font-size:14px;line-height:1.6}
  #rate .package-switch-facts{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px}
  #rate .package-switch-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
  #rate .package-switch-facts dt{font-size:14px;margin:0}
  #rate .package-switch-facts dd{font-size:15px;text-align:right;line-height:1.6}
  #rate .package-switch-condition{font-size:14px;line-height:1.6;margin:0 0 8px}
  #rate .mobile-package-details{margin:0 0 12px}
  #rate .mobile-package-details .package-switch-included{margin:4px 0 12px;gap:8px}
  #rate .package-switch-included li{font-size:15px;line-height:1.7}
  #rate .package-switch-cta{min-height:50px;margin:0;padding:12px 14px;font-size:15px}
  #rate .mobile-rate-notes .package-switch-note{margin:4px 0 12px;font-size:14px;line-height:1.7}
  #how .steps{display:grid;grid-template-columns:1fr;gap:10px}
  #how .step{display:block;padding:0;border:1px solid #49443E;border-radius:14px;background:#22201E;overflow:hidden}
  #how .mobile-step>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:86px;padding:12px;cursor:pointer}
  #how .mobile-step>summary>img{width:60px;height:60px;object-fit:contain;flex:none;border-radius:9px;background:#111111}
  #how .mobile-step-title{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
  #how .mobile-step-title b{font:400 26px/1.1 var(--bebas);color:#F4F1E8}
  #how .mobile-step-title>span{font:400 15px/1.5 var(--sarabun);color:#C8C2B8}
  #how .mobile-step>summary:after{content:'+';font-size:22px;color:#FFC400;flex:none}
  #how .mobile-step[open]>summary:after{content:'−'}
  #how .mobile-step-body{padding:0 16px 16px}
  #how .step .mobile-step-body .pic{width:100%;height:180px;aspect-ratio:auto;border:0;border-radius:12px;margin:0 0 14px}
  #how .step .mobile-step-body .pic img{object-fit:contain}
  #how .step .mobile-step-body .body{display:block;padding:0}
  #how .mobile-step-body h3{display:none}
  #how .step .mobile-step-body p{font-size:16px;line-height:1.75;margin:0}
  #how .plan{margin-top:16px;padding:0;border:0}
  #how .mobile-planning{margin:0}
  #how .plan-h{display:block;margin:8px 0 18px}
  #how .plan-h b{display:block;font-size:28px;margin-bottom:8px}
  #how .plan-h>span{font-size:16px;line-height:1.75}
  #how .planning-photo{margin:16px 0;max-width:none;height:180px}
  #how .planning-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
  #how .plan-list summary{grid-template-columns:24px 24px 1fr 16px;gap:8px;padding:12px 0;min-height:54px}
  #how .plan-list summary .t{font-size:16px;line-height:1.6}
  #how .plan-list .body{padding-left:0;font-size:16px}
  #how .plan-list .body div{font-size:16px;line-height:1.75}
  #fittest .test-item summary{padding-block:14px;min-height:68px;gap:10px}
  #fittest .test-item summary b{font-size:24px}
  #fittest .test-item summary span span{font-size:16px}
  #fittest .test-item p{font-size:16px;line-height:1.75}
  #fittest .assessment-inline img{height:170px;object-fit:contain}
  #fittest .ft-cta{margin-top:20px;gap:12px}
  #fittest .ft-cta p{font-size:16px;line-height:1.7}
  #fittest .ft-cta .btn{font-size:16px;min-height:48px}
  #why .priv-grid{gap:20px}
  #why .h1{font-size:44px;line-height:1.05;margin:12px 0 18px!important}
  #why .th{font-size:16px;line-height:1.75}
  #why .private-photo{height:190px;aspect-ratio:auto;border-radius:14px}
  #why .private-photo img{object-fit:cover}
  #why .plist2 li{display:block;padding:0;border-bottom:1px solid #49443E}
  #why .mobile-private-detail>summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:62px;padding:12px 0;cursor:pointer}
  #why .mobile-private-detail>summary .k{font-size:25px;flex:none}
  #why .mobile-private-detail>summary b{font-size:16px;line-height:1.6;flex:1}
  #why .mobile-private-detail>summary:after{content:'+';color:#FFC400;font-size:22px;flex:none}
  #why .mobile-private-detail[open]>summary:after{content:'−'}
  #why .mobile-private-detail>p{font-size:16px;line-height:1.75;margin:0 0 16px;padding-left:36px}
  #why .promise{padding-top:24px!important;margin-top:24px}
  #why .promise p{font-size:18px!important;line-height:1.7}
  #paths .path-head{display:block;margin-bottom:20px}
  #paths .path-head .lead{margin-top:18px;font-size:16px;line-height:1.7}
  #paths .mobile-choice-tabs button{font-size:14px;min-height:52px;padding:8px 4px}
  #paths .paths{display:block}
  #paths .path{display:block;min-height:0;height:auto;aspect-ratio:auto;border:1px solid #49443E;border-radius:16px;background:#22201E}
  #paths .path:before{display:none}
  #paths .path>img{display:block;position:static;width:100%;height:220px;object-fit:cover;object-position:center;transform:none;filter:none;border-radius:0}
  #paths .path .idx,#paths .path .vl{display:none}
  #paths .path .body{padding:16px;background:#22201E;border-top:2px solid #FFC400}
  #paths .path .en{font-size:36px;line-height:1.1;margin-bottom:12px;text-shadow:none}
  #paths .path .en br{display:none}
  #paths .path .en b:before{content:' '}
  #paths .path p{font-size:16px;line-height:1.75;margin-bottom:12px}
  #paths .path .tags{font-size:14px;line-height:1.7}
  #coach .frame{padding:40px 20px}
  #coach .c-loc{font-size:14px}
  #coach .coach-heading{font-size:46px}
  #coach .c-count{font-size:20px}
  #coach .c-bottom{margin-bottom:16px}
  #coach .avatars{gap:6px}
  #coach .av{height:92px;padding-bottom:8px}
  #coach .av img{height:60px}
  #coach .av .av-name{font-size:22px}
  #coach .c-stage{display:grid;grid-template-columns:1fr;gap:18px}
  #coach .coach-profile{position:relative;top:0}
  #coach .c-art{height:310px}
  #coach .c-left{bottom:12px}
  #coach .c-name{font-size:66px}
  #coach .c-role{font-size:15px;line-height:1.6;margin-top:8px}
  #coach .tabs{margin-bottom:16px}
  #coach .tabs button{font-size:15px;min-height:46px}
  #coach .c-panel{padding:0;min-height:0}
  #coach .c-panel h4{font-size:14px;margin-bottom:10px}
  #coach .chips{display:grid;grid-template-columns:1fr;gap:0}
  #coach .chip{min-height:40px;padding:9px 0;font-size:15px;line-height:1.5}
  #coach .c-panel>.btn{min-height:50px;font-size:16px;margin-top:16px;padding:12px 16px}
  #coach .credential-group summary{font-size:16px;min-height:48px;padding:12px}
  #coach .credential-group li{font-size:15px;line-height:1.75}
  #coach .coach-clip{grid-template-columns:1fr}
  #coach .coach-clip video{height:280px;object-fit:contain}
  #coach .coach-clip-copy{padding:14px}
  #coach .coach-clip-copy p,#coach .coach-clip-copy a{font-size:16px}
  #studio .sec-head .h-big{font-size:46px;margin:10px 0 16px!important}
  #studio .h-th{font-size:16px;line-height:1.75}
  #studio .scene{padding-inline:20px}
  #studio .gallery-categories button img{height:60px}
  #studio .gallery-categories button span{font-size:14px;padding:9px 4px;min-height:40px}
  #studio .gallery-categories{margin-bottom:14px}
  #studio .edition-caption{font-size:15px}
  #map .mapig{display:grid;grid-template-columns:1fr;gap:16px}
  #map .mapwrap{aspect-ratio:16/9;height:auto;min-height:0}
  #map .mapcard{border-radius:16px}
  #map .place{padding:18px}
  #map .pl-top{gap:12px}
  #map .pl-id b{font-size:27px}
  #map .pl-id small{font-size:14px;line-height:1.6}
  #map .pl-rate{align-items:flex-start;text-align:left;flex-direction:row;align-items:center;gap:8px}
  #map .pl-rate .num{font-size:26px}
  #map .pl-rate small{font-size:13px;margin:0}
  #map .pl-info{gap:12px;margin-top:14px;padding-top:14px}
  #map .pl-info li{font-size:16px;line-height:1.7;gap:10px}
  #map .acts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
  #map .acts .btn{min-height:48px;font-size:16px}
  #map .pc-ring{width:52px;height:52px;margin-bottom:8px}
  #map .pc-t{font-size:17px}
  #map .pc-s{font-size:13px}
  .mobile-social-link{display:flex;align-items:center;gap:12px;padding:16px;background:#22201E;border:1px solid #49443E;border-radius:14px}
  .mobile-social-link>img{width:48px;height:48px;border-radius:50%;object-fit:cover}
  .mobile-social-link>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
  .mobile-social-link b{font-size:17px;color:#F4F1E8}
  .mobile-social-link span span{font-size:14px;color:#C8C2B8;line-height:1.6}
  #faq .faq-grid{display:block}
  #faq .support-photo{height:140px;margin:20px 0}
  #faq .support-photo img{height:100%;object-fit:cover}
  #faq .h-th{font-size:16px;line-height:1.7}
  #faq .h-big br{display:none}
  #faq .h-big .outline:before{content:' '}
  #faq .faq summary{min-height:58px;padding:13px 0;font-size:16px;line-height:1.65;gap:10px}
  #faq .faq summary .q{font-size:20px;min-width:26px}
  #faq .faq .a{font-size:16px;line-height:1.75;padding:0 0 18px}
  #faq .mobile-faq-more{margin-top:12px}
  #contact .grid{display:block}
  #contact .big-h{font-size:48px;line-height:1.05;margin-top:12px!important}
  #contact .big-h span{display:inline}
  #contact .big-h .o:before{content:' '}
  #contact .pr{font-size:18px;line-height:1.75;margin-top:20px}
  #contact .promise-last{white-space:normal}
  #contact .mobile-contact-lead{font-size:16px;line-height:1.7;color:#C8C2B8!important;margin-top:12px}
  #contact .big{margin:22px 0 12px;gap:10px}
  #contact .big .btn{min-height:50px;font-size:16px;padding:12px 16px}
  #contact .hrs{font-size:14px}
  #contact .prep{margin-top:20px;padding:0;border:0}
  #contact .mobile-prep h4{display:none}
  #contact .mobile-prep p{font-size:16px;line-height:1.75;margin-bottom:14px}
  .mobile-contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .mobile-contact-links a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid #49443E;border-radius:10px;font-size:15px;color:#F4F1E8}
  .mobile-contact-links a:last-child{flex-basis:100%}
  footer{font-size:12px;line-height:1.7;padding-block:20px}
}
