/* Local October content: keep existing routes, brand geometry and screen layout. */
.metrika-pixel{position:absolute;left:-9999px;width:1px;height:1px}
/* Keep the kids cover in normal vertical flow and clear of the diagonal photo. */
.kids-cover .dir-cover-copy>*{flex-shrink:0}
.kids-cover .dir-features{flex:none;min-height:auto}
@media(min-width:1201px) and (min-height:651px){
 .kids-cover .dir-cover-copy{width:36%;top:3%;bottom:3%;gap:1.5cqh}
 .kids-cover h1{font-size:min(5.15vw,10.8cqh);line-height:1.05;margin:0}
 .kids-cover .kids-lead{font-size:min(2.15vw,4.2cqh);line-height:1.12;margin:0;max-width:100%}
 .kids-cover .kids-intro{font-size:min(1.15vw,2.35cqh);line-height:1.4;max-width:100%;margin:0}
 .kids-cover .dir-features{width:100%;max-width:100%;padding:0;margin:0;gap:1.7cqh}
 .kids-cover .dir-feature{gap:1.2vw}
 .kids-cover .feature-icon{width:6.8cqh;height:6.8cqh}
 .kids-cover .dir-feature h3{font-size:min(1.5vw,3cqh)}
 .kids-cover .dir-feature p{font-size:min(1vw,2cqh)}
 .kids-cover .kids-camera-note{width:100%;max-width:100%;font-size:min(1vw,2.05cqh);padding:1cqh .8vw;gap:.7vw;line-height:1.35;margin:0}
 .kids-cover .kids-camera-note svg{width:2.7cqh;height:2.7cqh}
 .kids-cover .dir-cover-action{margin-top:auto;font-size:min(1.5vw,3.1cqh)}
 .kids-cover .dir-cover-photos{width:59%;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}
}
@media(min-width:981px) and (max-width:1200px),(min-width:981px) and (max-height:650px){
 .kids-cover .dir-cover-copy{width:37%;gap:20px}
 .kids-cover .kids-intro,.kids-cover .kids-lead,.kids-cover .dir-features,.kids-cover .kids-camera-note{max-width:100%;width:100%;margin:0}
 .kids-cover .dir-features{gap:22px}
 .kids-cover .dir-cover-photos{width:56%;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
}
.contact-team:has(.contact-channel){display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.contact-team .administrator-list{justify-content:flex-end}
.contact-channel{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:10px 0;font-size:18px;font-weight:550;line-height:1.2;white-space:nowrap;max-width:100%}
.contact-channel img{width:90px;height:32px;object-fit:contain;flex:none}
.contact-channel>svg{width:18px;height:18px;color:var(--lime)}
.contact-channel:hover span{text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:5px}
@media(min-width:1201px) and (min-height:651px){
 .contact-channel{font-size:min(1vw,2.3cqh);gap:1vw}
 .contact-channel img{width:min(5vw,12cqh);height:min(1.8vw,4.3cqh)}
}
@media(max-width:980px){
 .contact-team:has(.contact-channel){display:flex}
 .contact-channel{align-self:center;margin:8px 0;font-size:17px}
}
/* Four equal tariff panels and a certificate offer inside the existing screen. */
.memberships-four .plan-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:2vw}
.memberships-four .plan-unlimited{font-size:clamp(18px,1.6vw,30px);gap:10px;line-height:1.15}
.plan-unlimited:before{display:none}
.plan-price-note{color:var(--muted);font-size:clamp(14px,1vw,19px)}
.gift-certificates{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(340px,auto);align-items:center;gap:24px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;flex:none}
.gift-certificates>img{width:100%;height:auto;aspect-ratio:740/449;object-fit:cover;border-radius:3px}
.gift-copy h3{font-size:clamp(28px,2.2vw,42px);margin-bottom:8px}
.gift-copy p{font-size:clamp(14px,1.03vw,20px);line-height:1.4}
.gift-actions{display:flex;flex-direction:column;gap:12px}
.gift-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gift-months button{font-size:clamp(14px,.9vw,17px);padding:9px 12px;border:1px solid var(--line);background:#fff;white-space:nowrap;border-radius:2px}
.gift-months button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);font-weight:700}
.gift-months button:hover{border-color:var(--ink)}
.gift-order{min-height:48px;font-size:clamp(20px,1.3vw,25px);padding:12px 20px}
@media(min-width:1201px) and (min-height:651px){
 .memberships-four{container-type:size;padding-top:3cqh;padding-bottom:12px}
 .memberships-four .section-heading{margin-bottom:3cqh}
 .memberships-four h2{font-size:min(5.8vw,11.6cqh)}
 .memberships-four .plan-grid{container-type:size;gap:2vw;padding:0 12px}
 .memberships-four .plan,.memberships-four .plan.featured{padding:2.6cqh 1vw;grid-template-rows:1.1fr .65fr .55fr 1.4fr .65fr .8fr}
 .memberships-four .plan h3{font-size:min(3.85vw,15cqh);letter-spacing:-.04em}
 .memberships-four .plan .discount{font-size:min(1.95vw,7cqh);gap:12px}
 .memberships-four .plan .discount:before{width:2.4vw;height:5px}
 .memberships-four .plan .plan-unlimited{font-size:min(1.75vw,6.5cqh)}
 .memberships-four .plan del{font-size:min(2vw,6.8cqh)}
 .memberships-four .plan .price{font-size:min(5.85vw,22cqh)}
 .memberships-four .plan-caption{font-size:min(1.12vw,4.6cqh)}
 .memberships-four .plan .button{font-size:min(1.25vw,4.6cqh);gap:12px;padding:8px 8px}
 .memberships-four .plan-price-note{font-size:min(1vw,4.3cqh)}
 .memberships-four .gift-certificates{grid-template-columns:min(16vw,26cqh) minmax(0,1fr) minmax(360px,29vw);gap:2vw;margin-top:2.5cqh;padding-top:2cqh}
 .memberships-four .gift-copy h3{font-size:min(2.8vw,5.8cqh)}
 .memberships-four .gift-copy p{font-size:min(1.1vw,2.5cqh)}
 .memberships-four .gift-actions{gap:10px}
 .memberships-four .gift-months button{padding:7px 8px}
 .memberships-four .gift-order{min-height:0;font-size:min(1.6vw,3.8cqh);padding:10px 20px}
 .memberships-four .terms{font-size:min(.8vw,1.8cqh);margin-top:1.3cqh;line-height:1.35}
}
@media(max-width:1200px),(max-height:650px){
 .memberships-four .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .memberships-four .plan h3{font-size:clamp(38px,5vw,64px)}
 .memberships-four .price{font-size:clamp(58px,7vw,90px)}
 .memberships-four .plan .button{font-size:23px;gap:16px}
 .memberships-four .plan .plan-unlimited{font-size:25px}
 .gift-certificates{grid-template-columns:180px minmax(0,1fr)}
 .gift-actions{grid-column:1/-1}
}
@media(max-width:700px){
 .memberships-four .plan-grid{grid-template-columns:1fr;gap:24px}
 .memberships-four .plan h3{font-size:58px}
 .memberships-four .price{font-size:93px}
 .memberships-four .plan-price-note{margin:15px 0 0;font-size:17px}
 .gift-certificates{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:24px;margin-top:30px}
 .gift-certificates>img{max-width:100%}
 .gift-copy h3{font-size:38px}
 .gift-copy p{font-size:17px}
 .gift-months{gap:6px}
 .gift-months button{font-size:13px;padding:10px 6px}
 .gift-order{font-size:23px;min-height:58px;padding:14px 18px}
}
.inline-video{position:relative;width:100%;height:100%;overflow:hidden;background:#111}
.inline-video-media{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.video-toggle{position:absolute;right:8%;bottom:14px;padding:8px 14px;color:#fff;background:#0b0c0de6;border:1px solid #ffffff55;border-radius:2px;font-family:var(--body);font-size:14px;line-height:1.25}
.video-toggle:hover{background:#111}.video-toggle:focus-visible{outline-color:var(--lime)}
.kids-format-photo .video-toggle{right:9%;bottom:15px}
.trainers-grid:not(.trainers-single) .trainer-card:has(.has-photo) .trainer-info h3{font-size:clamp(24px,1.85vw,36px);max-width:9em}
.trainer-portrait.has-photo img{object-position:50% 34%}
.locker-inset img[src*="showers"]{object-position:50% 55%}
.contact-team{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:18px var(--gutter);border-top:1px solid #303232;flex-shrink:0;background:var(--ink)}
.contact-team-intro{max-width:540px}.contact-team-intro h3{font-size:clamp(26px,2vw,38px);margin-bottom:8px}.contact-team-intro p{font-size:clamp(15px,1vw,19px);color:#c4c7c7}
.administrator-list{display:flex;gap:40px}.administrator{display:flex;align-items:center;gap:20px;min-width:230px}.administrator img{width:110px;height:120px;object-fit:cover;object-position:50% 40%;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.administrator h3{font-size:32px}.administrator p{color:#c4c7c7;font-size:17px}
.class-hours{font-weight:650!important;color:var(--ink)!important;line-height:1.35}
.class-contact{display:block;font-family:var(--body);font-style:normal;font-weight:600;line-height:1.4;text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:5px;font-size:clamp(15px,1.1vw,21px)}
.schedule-coach,.schedule-phone{display:block;font-size:.85em;margin-top:12px;font-weight:500}.schedule-phone{text-align:right;text-decoration:underline;text-underline-offset:4px}
.dir-details-group .dir-details-list{grid-template-rows:repeat(2,minmax(0,1fr))}.dir-details-group .dir-detail-row .class-hours{margin-top:15px}.dir-details-group .class-contact{margin-top:10px}
.dir-schedule .schedule-table th:first-child{width:27%}.dir-schedule .schedule-table th:nth-child(2){width:17%}.dir-schedule .schedule-table th:nth-child(3){width:29%}
.dir-schedule-note{align-items:flex-start;line-height:1.45}
.kids-format>p:not(.class-hours){min-height:0;margin-bottom:10px}.kids-format .class-hours{min-height:0;margin-bottom:7px}.kids-format .class-contact{margin-bottom:12px}.kids-format .button{margin-top:auto}
.kids-parents-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.kids-parents .dir-visit-action>a.button{flex:1;border:0;justify-content:center;font-size:clamp(22px,2.2vw,40px);padding:12px}
@media(min-width:1201px) and (min-height:651px){
 .trainers-section .trainer-info{height:clamp(95px,11.5vh,124px);flex:none}
 .contacts-section{container-type:size}.contacts-section footer{height:max(68px,8cqh);padding-top:10px;padding-bottom:10px}.contacts-section .footer-brand{width:min(11vw,180px)}
 .contact-team{height:18cqh;padding-top:1.5cqh;padding-bottom:1.5cqh}.administrator img{height:14cqh;width:12cqh}.administrator{gap:1.2vw;min-width:0}.administrator-list{gap:3vw}
 .contact-team-intro h3{font-size:min(2vw,4cqh)}.contact-team-intro p{font-size:min(1vw,2.2cqh)}.administrator h3{font-size:min(1.9vw,3.9cqh)}.administrator p{font-size:min(1vw,2.2cqh)}
 .contact-copy{padding-top:3cqh;padding-bottom:3cqh}.contact-copy h2{font-size:min(6.7vw,12cqh);margin-bottom:2cqh}.contact-phone{font-size:min(1.8vw,3.7cqh);margin:1.5cqh 0}.contact-copy>p{font-size:min(1.3vw,2.7cqh)}.contact-copy .floor-note{font-size:min(1.15vw,2.5cqh);margin-bottom:2cqh}.contact-copy .button{min-height:6cqh;padding:1.3cqh 1.5vw;font-size:min(1.5vw,3cqh);margin-bottom:2cqh}.contact-copy .text-link{font-size:min(1.4vw,2.9cqh)}
 .kids-format h3{font-size:min(2.4vw,5cqh)}.kids-format>p:not(.class-hours){font-size:min(1.15vw,2.35cqh);line-height:1.35}.kids-format .class-hours{font-size:min(1.15vw,2.35cqh)}.kids-format .class-contact{font-size:min(1.1vw,2.25cqh)}
 .dir-details-group .dir-detail-row h3{font-size:min(1.9vw,3.7cqh)}.dir-details-group .dir-detail-row p{font-size:min(1.1vw,2.2cqh)}.dir-details-group .class-contact{font-size:min(1.05vw,2.15cqh)}
 .dir-cover-group .dir-about-text{font-size:min(1.4vw,2.8cqh);max-width:78%}
}
/* One trainer fills the existing section; multiple trainers retain the card grid. */
.trainer-phone{display:inline-block;font-family:var(--body);font-weight:650;font-size:clamp(17px,1.2vw,23px);font-style:normal;margin-top:20px;text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:6px;white-space:nowrap}
.trainers-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.trainers-pair .trainer-card{display:grid;grid-template-columns:48% minmax(0,1fr);background:#f5f5f3}
.trainers-pair .trainer-portrait{width:100%;height:100%;aspect-ratio:auto;max-height:none;min-height:0;min-width:0;clip-path:polygon(0 0,100% 0,91% 100%,0 100%)}
.trainers-pair .trainer-info{height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:24px 1.5vw 24px 1vw}
.trainers-grid.trainers-pair .trainer-card:has(.has-photo) .trainer-info h3{font-size:clamp(30px,2.55vw,49px);line-height:1.1;max-width:7em;margin-bottom:14px;overflow-wrap:normal}
.trainers-pair .trainer-info p{font-size:clamp(17px,1.1vw,21px)}
.trainers-pair .trainer-info .button{min-height:56px;font-size:clamp(20px,1.35vw,26px);padding:14px 20px;gap:24px}
@media(min-width:1201px) and (max-height:850px){
 .trainers-pair .trainer-info{gap:20px;padding:18px 1.4vw 18px .8vw}
 .trainers-grid.trainers-pair .trainer-card:has(.has-photo) .trainer-info h3{font-size:clamp(30px,2.35vw,45px);margin-bottom:10px}
 .trainers-pair .trainer-phone{margin-top:16px;font-size:19px}
}
@media(max-width:1200px),(max-height:650px){
 .trainers-pair .trainer-card{min-height:430px}
 .trainers-pair .trainer-portrait{min-height:430px}
 .trainers-pair .trainer-info{padding:22px 18px 22px 12px;gap:24px}
 .trainers-grid.trainers-pair .trainer-card:has(.has-photo) .trainer-info h3{font-size:32px}
 .trainers-pair .trainer-info .button{font-size:20px;gap:16px;padding:12px 14px}
}
@media(max-width:980px){
 .trainers-pair{grid-template-columns:minmax(0,1fr);gap:24px}
 .trainers-pair .trainer-card{grid-template-columns:44% minmax(0,1fr);min-height:400px}
 .trainers-pair .trainer-portrait{min-height:400px}
 .trainers-pair .trainer-info{padding:28px 24px}
 .trainers-grid.trainers-pair .trainer-card:has(.has-photo) .trainer-info h3{font-size:40px}
}
@media(max-width:700px){
 .trainers-pair .trainer-card{grid-template-columns:minmax(0,1fr);min-height:0}
 .trainers-pair .trainer-portrait{height:400px;min-height:0;clip-path:polygon(0 0,100% 0,94% 100%,0 100%)}
 .trainers-pair .trainer-info{padding:24px 22px;gap:22px}
 .trainers-grid.trainers-pair .trainer-card:has(.has-photo) .trainer-info h3{font-size:37px}
 .trainers-pair .trainer-phone{font-size:20px;margin-top:14px}
 .trainers-pair .trainer-info .button{font-size:22px;padding:14px 20px}
}
.trainers-single{grid-template-columns:1fr;gap:0}
.trainers-single .trainer-card{display:grid;grid-template-columns:46% minmax(0,1fr);gap:0;background:#f5f5f3}
.trainers-single .trainer-portrait{height:100%;max-height:none;min-height:0;min-width:0;width:100%;clip-path:polygon(0 0,100% 0,91% 100%,0 100%)}
.trainers-single .trainer-info{height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;flex-wrap:nowrap;gap:22px;padding:30px 4vw 30px 2vw}
.trainers-single .trainer-info h3{font-size:clamp(44px,4.7vw,90px);max-width:none;line-height:1.05;margin-bottom:14px}
.trainers-single .trainer-info>div>p{font-size:clamp(20px,1.5vw,28px)}
.trainers-single .trainer-info .trainer-intro{font-size:clamp(20px,1.55vw,30px);max-width:30em}
.trainers-single .trainer-info .trainer-contact-help{font-size:clamp(17px,1.15vw,22px);color:var(--muted);max-width:29em}
.trainers-single .trainer-info .button{font-size:clamp(22px,1.6vw,31px);min-height:64px;margin-top:6px;padding:16px 26px;gap:30px}
@media(min-width:1201px) and (max-height:850px){
 .trainers-single .trainer-info{gap:14px;padding:22px 3vw 22px 2vw}
 .trainers-single .trainer-info h3{font-size:clamp(42px,4vw,64px);margin-bottom:10px}
 .trainers-single .trainer-info .button{min-height:54px;font-size:24px;padding:12px 22px}
}
@media(max-width:1200px),(max-height:650px){
 .trainers-single .trainer-card{min-height:410px}
 .trainers-single .trainer-portrait{min-height:410px}
 .trainers-single .trainer-info h3{font-size:clamp(40px,4.5vw,66px)}
 .trainers-single .trainer-info .button{font-size:22px;gap:20px}
}
@media(max-width:700px){
 .trainers-single .trainer-card{grid-template-columns:minmax(0,1fr);min-height:0}
 .trainers-single .trainer-portrait{height:320px;min-height:0}
 .trainers-single .trainer-info{padding:28px 22px;gap:18px}
 .trainers-single .trainer-info h3{font-size:44px}
 .trainers-single .trainer-info .button{font-size:20px;padding:14px 12px;gap:12px;max-width:100%;white-space:normal;line-height:1.15;text-align:left}
}
@media(max-width:1200px),(max-height:650px){
 .contact-team{gap:24px}.administrator-list{gap:20px}.administrator{min-width:0;gap:12px}.administrator img{width:85px;height:100px}.administrator h3{font-size:27px}
 .dir-details-group .dir-detail-row>img{display:block}.class-contact{font-size:16px}
}
@media(max-width:980px){
 .contact-team{flex-direction:column;align-items:flex-start;padding:25px}.administrator-list{width:100%;justify-content:space-between}.contact-team-intro{max-width:100%}
 .dir-details-group .dir-detail-row>img{height:200px}.schedule-phone{text-align:left}
}
@media(max-width:700px){
 .hero-inset{right:0}
 .administrator-list{gap:20px;flex-wrap:wrap}.administrator{flex:1;min-width:200px}.administrator img{width:95px;height:105px}
 .contact-team-intro h3{font-size:30px}.contact-team-intro p{font-size:17px}.administrator p{font-size:16px}
 .schedule-table td:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.schedule-phone{margin:0}.schedule-coach{font-size:17px}
 .dir-details-group .dir-detail-row{grid-template-columns:35% minmax(0,1fr)}.dir-details-group .dir-detail-row>img{height:200px}
 .kids-format .class-contact{font-size:18px}.kids-format .class-hours{font-size:18px}.kids-parents .dir-visit-action>a.button{font-size:23px;width:100%}
 .direction-page:has(.kids-direction) .header-book{font-size:14px;padding:10px;min-height:42px}
}
