
/* Design system v8: Sports Activities is the reference page. */
:root{
--rlx-accent:#b7f52c;--rlx-bg:#090d0f;--rlx-panel:#182124;
--rlx-border:#344144;--rlx-text:#f7f8f7;--rlx-muted:#b9c5c3;
--rlx-h1:clamp(48px,6.2vw,86px);--rlx-h2:clamp(30px,3.6vw,52px);
--rlx-body:16px;--rlx-small:13px;--rlx-radius:12px;--rlx-card-radius:16px;
--rlx-control-h:46px;--rlx-icon:30px;
}
body{background:var(--rlx-bg);color:var(--rlx-text)}
/* Shared page headings, including pages that predate the Activities design. */
:where(.activity-hero,.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero) h1{
font-size:var(--rlx-h1)!important;line-height:1.02!important;letter-spacing:-.05em!important;
font-weight:850!important;margin:16px 0 22px!important;text-transform:none;
}
:where(.activity-hero,.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero) h1 em{
color:var(--rlx-accent)!important;font-style:normal!important
}
:where(.activity-hero,.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero) p{
font-size:18px!important;line-height:1.6!important;max-width:660px;color:#d8e0de!important;
}
:where(.activity-kicker,.coach-eyebrow,.pilates-eyebrow,.fit-hero-label,.fit-kicker){
color:var(--rlx-accent)!important;font-size:12px!important;letter-spacing:.2em!important;
font-weight:800!important;text-transform:uppercase
}
:where(.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero){
min-height:370px;padding-top:145px;padding-bottom:72px;
}
:where(.activity-section,.coach-section,.pilates-matching,.fitness-redesign,.section) h2:not(.activity-card h2):not(.coach-card h2):not(.pilates-coach-card h2){
font-size:var(--rlx-h2);line-height:1.09;letter-spacing:-.04em;font-weight:850;
}
:where(.fit-section,.pilates-intro,.pilates-how,.pilates-faq,.pilates-trainers,.section) p{
line-height:1.7
}
/* The cards use a single radius and consistent typographic scale. */
:where(.activity-card,.coach-card,.pilates-coach-card,.data-card,.real-photo-card,.price-card,.schedule-entry){
border-radius:var(--rlx-card-radius)!important;overflow:hidden;
}
:where(.activity-card,.coach-card,.pilates-coach-card) h2{
font-size:22px!important;line-height:1.2!important;letter-spacing:-.025em!important;
}
:where(.activity-card,.coach-card,.pilates-coach-card) p{
font-size:14px;line-height:1.6
}
/* Standard controls: primary / secondary / filter / expand. */
:where(.activity-filter,.coach-filter,.pilates-filter,.activity-expand,
.pilates-primary,.pilates-secondary,.pilates-book-link,.reserve,.btn,.fit-btn,
.schedule-controls button,.schedule-day){
min-height:var(--rlx-control-h)!important;
border-radius:var(--rlx-radius)!important;
font-size:13px!important;font-weight:750!important;
padding:10px 18px!important;line-height:1.25!important;
transition:color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
:where(.activity-filter,.coach-filter,.pilates-filter,.activity-expand,
.pilates-primary,.pilates-secondary,.pilates-book-link,.reserve,.btn,.fit-btn,
.schedule-controls button,.schedule-day):hover{transform:translateY(-2px)}
:where(.activity-filter,.coach-filter,.pilates-filter,.activity-expand,
.pilates-primary,.pilates-secondary,.pilates-book-link,.reserve,.btn,.fit-btn,
.schedule-controls button,.schedule-day):focus-visible{outline:2px solid var(--rlx-accent);outline-offset:3px}
:where(input[type="search"],.schedule-controls select,.schedule-controls input){
min-height:var(--rlx-control-h)!important;border-radius:var(--rlx-radius)!important;
font-size:14px!important;
}
:where(.activity-chip,.coach-chip,.pilates-chip){
font-size:12px!important;border-radius:999px!important;
}
/* Shared navigation icon strip, preserving the requested no-background hover. */
.quicklinks a,.fit-quicklinks a{
background:transparent!important;color:#fff!important;
}
.quicklinks a:hover,.quicklinks a:focus-visible,
.fit-quicklinks a:hover,.fit-quicklinks a:focus-visible{
background:transparent!important;color:var(--rlx-accent)!important
}
.quicklinks svg,.fit-quicklinks svg{
width:var(--rlx-icon)!important;height:var(--rlx-icon)!important;
stroke:var(--rlx-accent)!important;stroke-width:1.6!important;fill:none!important;
transition:transform .28s ease,filter .28s ease!important
}
.quicklinks a:hover svg,.fit-quicklinks a:hover svg{
transform:translateY(-5px) scale(1.1)!important;filter:drop-shadow(0 0 7px #b7f52c88)
}
@media(max-width:700px){
:root{--rlx-h1:clamp(40px,10vw,58px);--rlx-h2:clamp(28px,7vw,40px);--rlx-icon:24px;--rlx-control-h:42px}
:where(.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero){padding-top:112px;padding-bottom:56px;min-height:320px}
:where(.activity-hero,.coach-hero,.pilates-hero,.fit-hero,.page-hero,.mini-hero) p{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){.quicklinks svg,.fit-quicklinks svg{transition:none!important}}
