html{scroll-behavior:smooth}.fitness-redesign{background:#0b1012;color:#f3f5f4}.fitness-redesign .container{max-width:1240px;margin:auto;padding-left:26px;padding-right:26px}.fit-hero{min-height:650px;position:relative;overflow:hidden;background:linear-gradient(110deg,#0a0e10 0%,#10191b 100%);display:flex;align-items:center}.fit-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d0ff2 0%,#080d0fe8 44%,#080d0f55 72%,transparent 100%);z-index:1}.fit-hero-photo{position:absolute;right:0;top:0;bottom:0;width:59%;background:url('gym.jpg') center/cover;filter:brightness(.7) saturate(.8)}.fit-hero:after{content:"";position:absolute;width:3px;height:135%;top:-15%;left:70%;background:#b7f52c;transform:rotate(23deg);box-shadow:0 0 25px #b7f52c8c;z-index:2}.fit-hero-inner{position:relative;z-index:3;width:100%;padding-top:110px;padding-bottom:90px}.fitness-redesign .eyebrow,.fit-kicker{font-size:12px;font-weight:800;letter-spacing:3px;color:#b7f52c}.fit-hero h1,.fitness-redesign h2{font-size:clamp(42px,6vw,88px);line-height:1.03;letter-spacing:-2.5px;font-weight:900;margin:24px 0}.fitness-redesign h2{font-size:clamp(32px,4.3vw,60px)}.fitness-redesign em{font-style:normal;color:#b7f52c}.fit-hero p{max-width:500px;font-size:18px;color:#c4ccca;line-height:1.7}.fit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.fit-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:#b7f52c;color:#101510!important;border:1px solid #b7f52c;text-decoration:none!important;padding:14px 21px;font-size:13px;font-weight:900;letter-spacing:.4px;border-radius:5px;transition:transform .2s,background .2s}.fit-btn:hover{transform:translateY(-3px);background:#d1ff68}.fit-outline{background:transparent;color:#fff!important;border-color:#4b5858}.fit-outline:hover{background:#1b2628}.fit-hero-label{font-size:11px;letter-spacing:2px;color:#a7b2b0;margin-top:65px}.fit-quick{background:#131b1d;border-top:1px solid #344044;border-bottom:1px solid #344044}.fit-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.fit-quick a{display:flex;gap:13px;align-items:center;padding:25px 15px;color:white;text-decoration:none;border-right:1px solid #354043}.fit-quick a span{color:#b7f52c;font-size:11px}.fit-quick a strong{font-size:13px}.fit-quick a b{margin-left:auto;color:#b7f52c}.fit-section{padding:90px 0;border-bottom:1px solid #273234}.fit-about{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:start}.fit-about p,.fit-section-head p,.fit-video p,.fit-schedule>div>p,.fit-cta p{font-size:16px;line-height:1.75;color:#b3bdbb}.fit-facts{display:grid;gap:14px}.fit-facts>div{background:#141d20;border:1px solid #344143;border-radius:9px;padding:23px}.fit-facts span{font-size:11px;letter-spacing:1.7px;color:#b7f52c}.fit-facts h3{font-size:22px;margin:9px 0}.fit-facts p{margin:0;font-size:14px}.fit-media-section{background:#0e1517}.fit-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.fit-section-head h2{margin-bottom:0}.fit-section-head p{max-width:350px}.fit-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:220px 220px;gap:14px}.fit-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:9px;background:#1b2628}.fit-gallery-main{grid-row:span 2}.fit-gallery img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .4s}.fit-gallery figure:hover img{transform:scale(1.04)}.fit-gallery figcaption{position:absolute;bottom:16px;left:18px;font-size:11px;letter-spacing:1.5px;font-weight:800;background:#0a0f10bf;padding:8px 11px}.fit-video{margin-top:18px;border:1px solid #39474a;border-radius:9px;padding:28px;background:#172124;display:flex;justify-content:space-between;align-items:center;gap:20px}.fit-video h3{font-size:22px;margin:9px 0}.fit-video p{font-size:14px;max-width:680px;margin:0}.fit-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fit-price{padding:28px;background:#141d20;border:1px solid #354145;border-radius:10px}.fit-price h3{font-size:23px;margin:0 0 22px}.fit-price-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #334043;font-size:14px}.fit-price-row span{color:#c5cecc}.fit-price-row strong{color:#b7f52c;white-space:nowrap}.fit-note{margin-top:19px;font-size:12px;color:#9ca9a6}.fit-schedule{background:#111a1d}.fit-schedule>div>p{max-width:750px}.fit-schedule-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:28px}.fit-schedule-links a{background:#1a2427;border:1px solid #394749;padding:26px;border-radius:9px;display:grid;gap:13px;text-decoration:none;color:white}.fit-schedule-links a:hover{border-color:#b7f52c}.fit-schedule-links span{font-size:11px;color:#b7f52c;letter-spacing:1.5px}.fit-schedule-links strong{font-size:18px}.fit-cta{display:flex;justify-content:space-between;align-items:center;gap:24px}.fit-cta h2{margin-bottom:16px}.fit-last{border-bottom:0}@media(max-width:900px){.fit-about{grid-template-columns:1fr;gap:25px}.fit-quick-grid{grid-template-columns:repeat(2,1fr)}.fit-hero-photo{width:85%}.fit-hero:before{background:linear-gradient(90deg,#080d0ff5 0%,#080d0fdc 60%,#080d0f6b)}.fit-schedule-links{grid-template-columns:1fr}.fit-cta{align-items:start;flex-direction:column}}@media(max-width:650px){.fit-hero{min-height:560px}.fit-hero:after{left:92%}.fit-hero h1{font-size:49px}.fit-hero p{font-size:15px}.fit-section{padding:62px 0}.fit-section-head{display:block}.fit-gallery{grid-template-columns:1fr;grid-template-rows:240px 190px 190px}.fit-gallery-main{grid-row:auto}.fit-prices{grid-template-columns:1fr}.fit-video{display:block}.fit-video .fit-btn{margin-top:20px}.fit-quick a{padding:17px 8px}.fit-quick a strong{font-size:11px}.fit-quick a b{display:none}}
/* Hero: same clean dark diagonal treatment as instructors / activities */
.fitness-redesign .fit-hero{min-height:490px;background:radial-gradient(ellipse at 78% 20%,#26342c 0%,transparent 45%),linear-gradient(115deg,#080c0e,#172023);border-bottom:1px solid #293337}
.fitness-redesign .fit-hero:before{display:none}
.fitness-redesign .fit-hero:after{left:auto;right:8%;top:-20%;height:160%;transform:rotate(25deg);background:linear-gradient(transparent,#b7f52c,transparent)}
.fitness-redesign .fit-hero-inner{padding-top:125px;padding-bottom:75px}
.fitness-redesign .fit-hero-label{margin-top:34px}
.schedule-panel{margin-top:26px;border:1px solid #344244;border-radius:18px;background:#141d20;padding:24px}
.schedule-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.schedule-day{background:#263135;border:1px solid #38494b;color:#dbe2e0;border-radius:10px;padding:14px 4px;cursor:pointer;font-weight:800;font-size:13px}
.schedule-day[aria-pressed="true"]{background:#b7f52c;color:#111711;border-color:#b7f52c}
.schedule-controls{display:grid;grid-template-columns:1fr 2fr auto;align-items:end;gap:12px;margin-top:22px}
.schedule-controls label{display:grid;gap:7px;font-size:12px;color:#aebfbc;font-weight:700}
.schedule-controls select,.schedule-controls input{width:100%;border-radius:9px;border:1px solid #405054;background:#202b2e;color:#fff;padding:13px;font:inherit;min-height:46px}
.schedule-controls button{background:#263135;border:1px solid #465558;color:#f1f4f3;padding:13px;border-radius:9px;cursor:pointer}
.schedule-summary{font-size:13px;color:#b7f52c;margin:24px 0 12px;font-weight:700}
.schedule-items{display:grid;gap:9px}
.schedule-entry{display:grid;grid-template-columns:85px minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px;background:#202b2e;border:1px solid #354549;border-radius:12px}
.schedule-time{font-size:21px;color:#b7f52c;font-weight:900;font-variant-numeric:tabular-nums}
.schedule-entry h3{margin:0 0 5px;font-size:17px;color:#fff}
.schedule-entry p{margin:0;color:#afbfbc;font-size:13px}
.schedule-room{font-size:12px;font-weight:700;border:1px solid #4c6060;border-radius:30px;padding:7px 11px;color:#d4dfdd;white-space:nowrap}
.schedule-empty{padding:30px;text-align:center;color:#bac5c2}
.schedule-footnote{font-size:12px;color:#aab8b5;margin-top:18px;line-height:1.7}
.schedule-footnote a{color:#b7f52c}
@media(max-width:720px){.schedule-panel{padding:14px}.schedule-days{gap:4px}.schedule-day{font-size:11px;padding:12px 1px}.schedule-controls{grid-template-columns:1fr}.schedule-entry{grid-template-columns:66px 1fr;gap:10px;padding:13px}.schedule-time{font-size:17px}.schedule-room{grid-column:2;justify-self:start}.fitness-redesign .fit-hero{min-height:450px}.fitness-redesign .fit-hero:after{right:4%}}

/* Fitness V4 — photo hero, home-style icon navigation, early schedule */
.fitness-redesign .fit-hero{min-height:570px;background:#0b1012;isolation:isolate}
.fitness-redesign .fit-hero-photo{display:block;position:absolute;inset:0 0 0 auto;width:72%;background:url('gym.jpg') center center/cover no-repeat;filter:brightness(.78) saturate(.82);z-index:-2}
.fitness-redesign .fit-hero:before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d0ffa 0%,#080d0ff2 30%,#080d0fb8 53%,#080d0f36 100%);z-index:-1}
.fitness-redesign .fit-hero:after{z-index:0;right:16%;left:auto;top:-22%;height:150%;width:3px;transform:rotate(23deg);background:#b7f52c;box-shadow:0 0 22px #b7f52c80}
.fitness-redesign .fit-hero-inner{position:relative;z-index:1;padding-top:155px;padding-bottom:85px}
.fitness-redesign .fit-quick{background:#131719;border-color:#ffffff25}
.fitness-redesign .fit-home-icons{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:17px 22px}
.fitness-redesign .fit-home-icons a{border-right:1px solid #ffffff35;display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center;padding:11px 8px;color:white;text-decoration:none;font-size:13px;font-weight:650;transition:color .2s}
.fitness-redesign .fit-home-icons a:last-child{border-right:0}
.fitness-redesign .fit-home-icons svg{width:31px;height:31px;stroke:#b7f52c;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fitness-redesign .fit-home-icons a:hover{color:#b7f52c}
.fitness-redesign #schedule{scroll-margin-top:85px}
@media(max-width:720px){.fitness-redesign .fit-hero{min-height:510px}.fitness-redesign .fit-hero-photo{width:100%;background-position:58% center}.fitness-redesign .fit-hero:before{background:linear-gradient(90deg,#080d0ff0,#080d0fbd 70%,#080d0f80)}.fitness-redesign .fit-hero:after{right:5%}.fitness-redesign .fit-hero-inner{padding-top:135px;padding-bottom:60px}.fitness-redesign .fit-home-icons{padding:12px 4px}.fitness-redesign .fit-home-icons a{font-size:10px;padding:9px 2px;gap:7px}.fitness-redesign .fit-home-icons svg{width:25px;height:25px}}

/* Use the same quick-link component as the homepage, with matching interactive motion. */
.fitness-redesign .fit-quicklinks{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px max(4%,calc((100vw - 1350px)/2));}
.fitness-redesign .fit-quicklinks a{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;border-right:1px solid #ffffff35;padding:10px 8px;color:#fff;font-size:13px;font-weight:400;transition:color .25s ease,background .25s ease;}
.fitness-redesign .fit-quicklinks a:last-child{border-right:0}
.fitness-redesign .fit-quicklinks svg{width:30px;height:30px;stroke:var(--lime);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .28s cubic-bezier(.2,.8,.2,1),filter .28s ease;}
.fitness-redesign .fit-quicklinks a:hover,.fitness-redesign .fit-quicklinks a:focus-visible{color:var(--lime);background:#ffffff08}
.fitness-redesign .fit-quicklinks a:hover svg,.fitness-redesign .fit-quicklinks a:focus-visible svg{transform:translateY(-5px) scale(1.12);filter:drop-shadow(0 0 7px #b7f52c88)}
.fitness-redesign .fit-quicklinks a:focus-visible{outline:2px solid var(--lime);outline-offset:-2px}
@media(max-width:720px){.fitness-redesign .fit-quicklinks{padding:12px 2%;grid-template-columns:repeat(4,minmax(0,1fr))}.fitness-redesign .fit-quicklinks a{font-size:10px;padding:9px 3px}.fitness-redesign .fit-quicklinks svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.fitness-redesign .fit-quicklinks svg{transition:none}}

.fitness-redesign .fit-quicklinks a,.fitness-redesign .fit-quicklinks a:link,.fitness-redesign .fit-quicklinks a:visited{color:#fff;background:transparent}
.fitness-redesign .fit-quicklinks a:hover,.fitness-redesign .fit-quicklinks a:focus-visible{color:var(--lime);background:transparent}
.fitness-redesign .fit-quicklinks a span{color:inherit}

/* V52 - Fitness photo gallery */
.fit-gallery-expanded{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,180px)}
.fit-gallery-expanded .fit-gallery-main{grid-column:span 2;grid-row:span 2}
.fit-gallery-expanded figure{min-height:0}
.rlx-photo-button{display:block;width:100%;height:100%;border:0;background:transparent;padding:0;cursor:zoom-in}
.rlx-photo-lightbox[hidden]{display:none!important}
.rlx-photo-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(4,7,8,.96);display:flex;align-items:center;justify-content:center;padding:55px 70px}
.rlx-photo-lightbox img{max-width:100%;max-height:100%;object-fit:contain}
.rlx-photo-lightbox button{position:absolute;background:#192124;color:#fff;border:1px solid #53605d;border-radius:50%;width:45px;height:45px;font-size:30px;cursor:pointer}
.rlx-photo-close{top:15px;right:20px}.rlx-photo-prev{left:12px}.rlx-photo-next{right:12px}.rlx-photo-count{position:absolute;bottom:15px;color:#fff;font-size:13px}
@media(max-width:800px){.fit-gallery-expanded{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;grid-auto-rows:170px}.fit-gallery-expanded .fit-gallery-main{grid-column:span 2;grid-row:span 2}.rlx-photo-lightbox{padding:55px 48px}}

/* V151: single-letter weekday buttons on mobile only */
.schedule-day-mobile{display:none}
.schedule-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){
 .schedule-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
 .schedule-day{min-width:0;padding:12px 0;font-size:16px;line-height:1.3;text-align:center}
 .schedule-day-desktop{display:none}
 .schedule-day-mobile{display:inline}
}
