/* Readable text scale across desktop and handheld screens. */
body{font-size:17px;line-height:1.65}
button,input,textarea,select{font-family:inherit}
nav{font-size:15px;gap:17px;line-height:1.4}
.header-actions{font-size:14px}
.btn,.btn.small{font-size:15px;line-height:1.4}
.btn.small{min-height:46px}
.text-link,.eyebrow,.breadcrumbs,.pill{font-size:14px;line-height:1.5}
.hero-content>p,.page-hero>p{font-size:18px;line-height:1.7}
.hero-tabs button,.hero-tabs button.active{font-size:15px;line-height:1.4}
.hero-hint,.hero-tag{font-size:14px;line-height:1.6}
.intro-strip strong{font-size:17px}.intro-strip small{font-size:14px}
.news-card p,.product-card p,.steps p,.trainer-card p,.price-card ul{font-size:16px;line-height:1.7}
.news-card small,.facts small,.price-card small,.voucher>small{font-size:14px;line-height:1.5}
.body-copy,.content-split .body-copy{font-size:17px;line-height:1.85}
.activity-card small,.source-note,.price-note,.summary p{font-size:15px;line-height:1.7}
:is(.tabs,.filters)>button,.calendar-switch.modes button,.calendar-toolbar button,.calendar-shell select{font-size:14px;line-height:1.4;min-height:44px}
.calendar-intro p{font-size:16px}.calendar-legend{font-size:14px;line-height:1.5}
.week-timetable{min-width:1510px}
.week-timetable thead th{font-size:15px}.week-timetable thead small{font-size:14px}
.week-timetable .time-axis{width:80px;font-size:14px}
.week-timetable .cal-event{padding:12px 10px;min-height:98px}
.week-timetable .cal-event time{font-size:13px;line-height:1.5}
.week-timetable .cal-event strong{font-size:15px;line-height:1.4;margin:5px 0}
.cal-event .event-trainer,.cal-event small{font-size:13px;line-height:1.5}
.calendar-note,.calendar-mobile-hint{font-size:14px;line-height:1.7}
.mini-event .event-trainer{font-size:14px;line-height:1.5}
footer .footer-columns p,footer .footer-columns a{font-size:15px;line-height:1.7}
.footer-columns h3{font-size:16px}.footer-bottom{font-size:14px;line-height:1.6}
.chat-toggle,.quick-toggle,.chat-suggestions button,#chat-form .send{font-size:14px}
.chat-notice,.chat-foot{font-size:13px;line-height:1.5}.bubble{font-size:15px;line-height:1.65}
#chat-input,.form-grid input,.form-grid textarea{font-size:16px}
.language-toggle{font-size:14px}.language-options button{font-size:16px}.language-heading,.language-caption{font-size:13px}
.loader-center>small,.intro-loader>button{font-size:14px}
@media(max-width:1250px){nav{font-size:14px;gap:12px}header{gap:15px}.header-actions{gap:9px}.header-actions .btn{font-size:14px;padding:12px 15px}}
@media(max-width:1120px){header nav{display:none;position:absolute;left:0;right:0;top:96px;background:#080808;padding:25px;flex-direction:column;align-items:start;font-size:17px}header nav.open{display:flex}#menu-toggle{display:block}header .shop-link{display:none}}
@media(max-width:600px){
 body{font-size:16px}
 header nav{top:82px}
 .header-actions .btn{font-size:13px;padding:11px 12px}
 .btn,.btn.small{font-size:14px}
 .hero-content>p,.page-hero>p{font-size:17px;line-height:1.65}
 .hero-tabs button,.hero-tabs button.active{font-size:14px}
 .hero-tabs{gap:8px}
 .intro-strip strong{font-size:16px}.intro-strip small{font-size:14px}
 .body-copy,.content-split .body-copy{font-size:16px;line-height:1.8}
 .calendar-intro p{font-size:16px}.calendar-legend{font-size:13px}
 :is(.tabs,.filters)>button,.calendar-switch.modes button,.calendar-toolbar button{font-size:14px;padding:10px 12px}
 .calendar-toolbar{flex-wrap:wrap}.calendar-toolbar h3{font-size:24px}
 .week-timetable{min-width:1450px}.week-timetable .time-axis{width:72px;font-size:14px}
 .calendar-note,.calendar-mobile-hint{font-size:13px}
 .trainer-card p{font-size:15px}.trainer-card h3{font-size:24px}
 footer .footer-columns a,footer .footer-columns p{font-size:15px}.footer-columns h3{font-size:16px}.footer-bottom{font-size:13px}
 .chat-toggle{font-size:13px}.quick-toggle span{display:none}
 .language-caption{font-size:12px}
}

/* Keep the main slogan on three deliberate lines at every viewport. */
.hero h1{max-width:100%;font-size:clamp(48px,7.5vw,120px)}
.hero-energy{white-space:nowrap}
@media(max-width:600px){.hero h1{font-size:clamp(35px,10.5vw,63px)}}
