/* QNTS content modules: coaches, memberships, schedule and branch conversion. */
/* Contain off-screen motion on Safari without creating a horizontal page. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
main,.footer,.site-header{max-width:100%}
.hero,.kinetic-band,.intro,.join{contain:paint}
.wrap,.wrap>*{min-width:0}
.services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{min-width:0}
.service-card h3{overflow-wrap:anywhere}
.location-card{min-width:0}
.location-details h3{overflow-wrap:anywhere}
@media(max-width:760px){
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .location-grid{grid-template-columns:minmax(0,1fr)}
  .location-details>div{min-width:0}
  .location-details h3{font-size:clamp(28px,8vw,40px)}
  .hero .eyebrow{min-width:0;overflow-wrap:anywhere}
  .hero .rule{flex-shrink:0}
  .location-card dl>div{grid-template-columns:95px minmax(0,1fr)}
}
.team-banner{overflow:hidden;border:1px solid #3b3029;background:#0b0b0b;margin:0 0 18px}
.team-banner img{display:block;width:100%;height:auto}
.coach-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.coach-card{position:relative;display:block;overflow:hidden;border:1px solid #4b3b30;background:#080808;text-align:left;color:#fff;padding:0;cursor:pointer;transition:transform .3s,border-color .3s}
.coach-card:hover,.coach-card:focus-visible{transform:translateY(-5px);border-color:var(--orange)}
.coach-image{display:block;overflow:hidden;aspect-ratio:1/1.02;background:#080808}
.coach-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s}
.coach-card:hover img{transform:scale(1.055)}
.coach-info{position:relative;display:flex;flex-direction:column;min-height:110px;padding:18px;background:linear-gradient(125deg,#1d1612,#101010)}
.coach-info small{font-size:9px;letter-spacing:.16em;color:var(--orange)}
.coach-info strong{font:700 33px/1 var(--display);text-transform:uppercase;margin:8px 0 4px}
.coach-info>span{font-size:12px;color:#c5bbb0}
.roster-hidden{display:none}
.coach-roster.expanded .roster-hidden{display:block}
.roster-toggle{margin-top:24px}
.coach-dialog{position:fixed;max-width:min(96vw,1000px);width:100%;max-height:94vh;background:#111;color:#fff;border:1px solid var(--orange);padding:20px;overflow:auto}
.coach-dialog::backdrop{background:#000d}
.coach-dialog form{position:absolute;right:16px;top:10px;z-index:2}
.coach-dialog form button{border:0;background:var(--orange);font-size:26px;width:38px;height:38px;cursor:pointer}
.coach-dialog h2{font-size:32px;line-height:1.1;margin:0 48px 12px 0}
.coach-dialog img{display:block;width:100%;height:auto}
.coach-dialog p{font-size:12px;color:#bbb;margin:12px 0 0}
.offer-banner{position:relative;background:linear-gradient(112deg,#ff9a24 0%,#ed7611 65%,#d65b00 100%);color:#16100b;padding:34px 38px;margin-bottom:18px;overflow:hidden}
.offer-banner:after{content:'2×';position:absolute;right:2%;top:-50px;font:800 220px/1 var(--display);color:#0001;pointer-events:none}
.offer-kicker{position:relative;z-index:1;display:block;font-size:11px;letter-spacing:.16em;font-weight:800}
.offer-banner strong{position:relative;z-index:1;display:block;font:800 clamp(52px,8vw,110px)/.85 var(--display);letter-spacing:-.025em;margin:14px 0}
.offer-banner p{position:relative;z-index:1;max-width:650px;font-size:14px;line-height:1.5;margin:0}
.membership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.plan{min-height:0}
.plan h3{margin:30px 0 0}
.plan>p{margin-bottom:20px}
.price-table{border-top:1px solid #645247}
.price-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid #3b332d}
.price-row strong{display:block;font-size:14px;color:#f4eee8}
.price-row small{display:block;font-size:10px;color:#a99e92;margin-top:4px}
.price-row b{font:700 25px/1 var(--display);color:var(--orange);white-space:nowrap}
.plan ul{margin-top:25px}
.review-links{align-self:center;border-left:2px solid var(--orange)}
.review-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;color:#f2eee9;border-bottom:1px solid #59463a;font:700 clamp(22px,3vw,36px)/1 var(--display);transition:color .2s,background .2s}
.review-links a:hover{background:#302018;color:var(--orange)}
.review-links p{margin:20px 25px 0;font-size:12px}
.schedule-list{border-top:1px solid #746355}
.schedule-row{display:grid;grid-template-columns:45px 200px 1fr 30px;gap:20px;align-items:center;border-bottom:1px solid #5e5045;padding:27px 0}
.schedule-row>span:first-child{font-size:12px;color:var(--orange)}
.schedule-row>strong{font:700 27px/1 var(--display);color:#eee}
.schedule-row h3{font:700 clamp(30px,4vw,55px)/1 var(--display);margin:0}
.schedule-row p{font-size:12px;color:#aaa;margin:7px 0 0}
.schedule-arrow{font-size:25px;color:var(--orange)}
.schedule-foot{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:22px;font-size:11px;color:#b9ada1}
.schedule-foot>span:first-child{color:var(--orange);font-weight:800;letter-spacing:.07em}
.location-actions{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.location-actions button{border:0;background:none;padding:0;cursor:pointer}
.location-card dd a{color:#a83b0c;text-decoration:underline}
.location-phones{display:flex;flex-wrap:wrap;gap:8px 18px}
.location-phones a{color:#ffad4d!important}
.site-header{top:0}
.hero{height:100svh}
@media(max-width:760px){.site-header{top:0}.hero{height:100svh}.hero-bottom>.image-disclosure{display:block;left:0;bottom:40px}}
@media(max-width:760px){
  .coach-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .coach-info{padding:13px;min-height:102px}
  .coach-info strong{font-size:27px}
  .coach-info>span{font-size:10px}
  .offer-banner{padding:25px}
  .offer-banner strong{font-size:60px}
  .offer-banner:after{font-size:150px;top:-25px}
  .membership-grid{grid-template-columns:1fr}
  .schedule-row{grid-template-columns:28px 1fr 25px;gap:12px}
  .schedule-row>strong{grid-column:2;grid-row:1;font-size:22px}
  .schedule-row>div{grid-column:2;grid-row:2}
  .schedule-row>.schedule-arrow{grid-column:3;grid-row:1/3}
  .schedule-row h3{font-size:35px}
}
@media(max-width:440px){
  .coach-info strong{font-size:24px}
  .offer-banner strong{font-size:52px}
  .price-row b{font-size:23px}
}

.plan-inclusions{font:800 10px/1.3 var(--body);letter-spacing:.13em;color:var(--orange);margin:25px 0 0}.plan li:before{content:"↗"}
.plan-paid{border-top:1px solid #51443a;margin:0 0 28px;padding-top:16px}
.plan-paid h4{font:800 10px/1.3 var(--body);letter-spacing:.13em;color:#b8a99b;margin:0}
.plan-paid ul{margin:12px 0 0}
.plan-paid li:before{content:"+"}
.pause-terms{display:grid;grid-template-columns:minmax(170px,.45fr) 1fr;gap:28px;align-items:start;border:1px solid #6b4b37;background:#1d1713;padding:24px 28px;margin-top:18px}
.pause-terms strong{font:800 26px/1 var(--display);color:var(--orange)}
.pause-terms p{margin:0;color:#d2c6bc;font-size:13px;line-height:1.65}
.branch-tabs{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}
.branch-tab{background:transparent;color:#e6dcd3;border:1px solid #6d594a;padding:12px 19px;min-height:44px;font:800 11px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.branch-tab:hover,.branch-tab.active{background:var(--orange);border-color:var(--orange);color:#14100d}
.branch-tab:focus-visible,.review-card a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.review-card{display:flex;flex-direction:column;min-height:230px;background:#231b16;border:1px solid #564236;padding:22px 24px;transition:transform .25s,border-color .25s}
.review-card:hover{transform:translateY(-3px);border-color:var(--orange)}
.review-card-top,.review-card-bottom{display:flex;justify-content:space-between;align-items:start;gap:15px}
.review-card-top{font-size:10px;letter-spacing:.12em;color:#b9a699;font-weight:700}
.review-card-top span:last-child{font-size:15px;letter-spacing:.1em;color:var(--orange);white-space:nowrap}
.review-card>p{color:#f0e9e1;font:700 clamp(24px,2.2vw,34px)/1.08 var(--display);margin:28px 0 30px;max-width:550px}
.review-card-bottom{margin-top:auto;border-top:1px solid #604b3f;padding-top:15px;align-items:end}
.review-card-bottom strong{display:block;font-size:12px;color:#fff}
.review-card-bottom small{display:block;color:#ad9b8e;font-size:10px;margin-top:5px}
.review-card-bottom a{color:var(--orange);font-size:10px;font-weight:800;letter-spacing:.09em;white-space:nowrap}
.review-disclosure{font-size:11px!important;max-width:none!important;margin-top:18px!important;color:#aaa!important}
@media(max-width:760px){.pause-terms{grid-template-columns:1fr;gap:10px;padding:20px}.review-grid{grid-template-columns:1fr}.review-card{min-height:205px}.review-card>p{font-size:27px}.review-card-bottom a{font-size:9px}}
