/* Opening composition only; the following sections keep their existing design. */
.gym-header,.gym-hero{--gym-accent:var(--orange);--gym-white:#f5f5f0;--gym-header-height:72px}
.gym-header .container,.gym-hero .container{width:min(1500px,calc(100% - clamp(40px,13.6vw,240px)))}
.gym-header{height:var(--gym-header-height);padding:0;background:#171717;border-bottom:1px solid #ffffff0a}
.gym-header .header-inner{gap:26px}
.gym-header .logo{font-family:'DM Sans',Arial,sans-serif;font-size:25px;font-style:normal;font-weight:900;letter-spacing:-1.2px;align-items:center;gap:5px}
.gym-header .logo .gym-brand-word{font-weight:900;color:var(--gym-white)}
.gym-header .logo i{background:var(--gym-accent);width:5px;height:5px;margin:0 0 0 3px;border-radius:50%}
.gym-header .logo .gym-brand-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--gym-accent);color:#111;border-radius:50%;margin-right:7px;flex-shrink:0}
.gym-brand-icon svg{width:20px;height:20px}
.gym-header nav{margin-inline:auto;gap:32px;color:#aaa9a6;font-weight:700}
.gym-header-status{margin:0;color:#969591;font:700 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px;white-space:nowrap}
.gym-header .gym-opening-button,.gym-hero .gym-opening-button{border:1px solid var(--gym-accent);background:var(--gym-accent);color:#111;min-height:52px;border-radius:99px;padding:10px 12px 10px 22px;gap:12px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .2s,transform .2s,border-color .2s}
.gym-header .gym-opening-button>span,.gym-hero .gym-opening-button>span{display:grid;place-items:center;background:#111;color:var(--gym-accent);border-radius:50%;width:27px;height:27px;font-size:17px;flex-shrink:0;transition:transform .25s}
.gym-hero{min-height:680px;height:calc(100svh - var(--gym-header-height));background:#111;display:flex;align-items:flex-end}
.gym-hero .hero-photo{background-image:url('assets/hero-battle-ropes.webp');background-position:center 42%;filter:saturate(.45);transform:none}
.gym-hero .hero-shade{background:linear-gradient(0deg,#0c0c0c 0%,rgba(12,12,12,.9) 10%,rgba(12,12,12,.36) 48%,rgba(12,12,12,.18) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 65%)}
.gym-hero .hero-content{position:relative;padding:250px 0 48px}
.gym-hero-badges{display:flex;gap:10px;align-items:center;margin-bottom:30px;flex-wrap:wrap}
.gym-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #ffffff2b;border-radius:99px;padding:7px 12px;color:#efefea;font:600 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1px}
.gym-badge-accent{background:var(--gym-accent);color:#111;border-color:var(--gym-accent)}
.gym-badge i{width:6px;height:6px;border-radius:50%;background:currentColor}
.gym-hero h1{max-width:none;font-family:'DM Sans',Arial,sans-serif;font-size:clamp(80px,9.2vw,160px);font-weight:900;line-height:.93;letter-spacing:-.055em;margin:0 0 32px;color:var(--gym-white)}
.gym-hero h1 span{color:var(--gym-accent)}
.gym-hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.gym-hero .hero-description{max-width:510px;font-size:clamp(15px,1.15vw,19px);line-height:1.6;color:#e3e3de;margin:0}
.gym-hero .hero-actions{display:flex;flex-direction:row;gap:10px;flex-shrink:0;align-items:center}
.gym-hero .gym-opening-button-outline{background:transparent;border-color:#ffffff26;color:var(--gym-white)}
.gym-hero .gym-opening-button-outline>span{background:var(--gym-white);color:#111}
.gym-hero:after{content:none}
.gym-header a:focus-visible,.gym-header button:focus-visible,.gym-hero a:focus-visible{outline-color:var(--gym-accent)}
@media(hover:hover) and (pointer:fine){.gym-header nav a:hover{color:var(--gym-accent)}.gym-header .gym-opening-button:hover,.gym-hero .gym-opening-button:hover{background:#ff794d;border-color:#ff794d;transform:translateY(-2px)}.gym-hero .gym-opening-button-outline:hover{background:#ffffff12;color:var(--gym-white);border-color:#ffffff66}.gym-opening-button:hover>span{transform:rotate(45deg)}}
@media(max-width:1200px){.gym-header-status{display:none}.gym-header nav{gap:24px}.gym-hero-bottom{gap:24px}.gym-hero .hero-description{max-width:450px}.gym-hero .gym-opening-button{font-size:12px}}
@media(max-width:900px){.gym-header .container,.gym-hero .container{width:calc(100% - 48px)}.gym-header .header-inner{gap:16px}.gym-header nav{gap:19px;font-size:12px}.gym-header .logo{font-size:21px}.gym-header .gym-opening-button{font-size:11px;padding-left:16px}.gym-hero h1{font-size:clamp(64px,8.7vw,85px)}.gym-hero-bottom{align-items:flex-start;flex-direction:column}.gym-hero .hero-description{max-width:490px}}
@media(max-width:700px){
  .gym-header,.gym-hero{--gym-header-height:70px}
  .gym-header .container,.gym-hero .container{width:calc(100% - 40px)}
  .gym-header .header-inner{gap:12px}
  .gym-header .logo{font-size:23px;gap:4px;letter-spacing:-1.1px}
  .gym-header .logo .gym-brand-icon{width:28px;height:28px;margin-right:4px}
  .gym-header .header-cta{display:none}
  .gym-header .menu-toggle{margin-left:auto;width:42px;height:42px;border:1px solid #ffffff2b;border-radius:50%;align-items:center;padding:10px}
  .gym-header .menu-toggle span{width:18px;height:2px;transition:transform .25s}
  .gym-header .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
  .gym-header .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .gym-header nav{top:70px;margin:0;padding:12px 20px 20px;font-size:15px;gap:0;border-bottom:1px solid #ffffff26}
  .gym-header nav a{width:100%;padding:15px 0;border-bottom:1px solid #ffffff12}
  .gym-hero{min-height:680px;height:calc(100svh - 70px);max-height:1000px}
  .gym-hero .hero-photo{background-position:15% center}
  .gym-hero .hero-shade{background:linear-gradient(0deg,#0c0c0c 1%,rgba(12,12,12,.9) 20%,rgba(12,12,12,.3) 62%,rgba(12,12,12,.16) 100%)}
  .gym-hero .hero-content{padding:285px 0 38px}
  .gym-hero-badges{gap:7px;margin-bottom:22px}
  .gym-badge{font-size:8px;letter-spacing:.6px;padding:7px 9px}
  .gym-hero h1{font-size:clamp(44px,11.55vw,80px);letter-spacing:-.055em;line-height:.99;margin-bottom:25px}
  .gym-hero-bottom{gap:24px}
  .gym-hero .hero-description{font-size:14px;line-height:1.65;max-width:380px}
  .gym-hero .hero-actions{gap:8px;flex-wrap:wrap}
  .gym-hero .gym-opening-button{font-size:11px;min-height:47px;padding:9px 10px 9px 15px;gap:8px}
  .gym-hero .gym-opening-button>span{width:24px;height:24px;font-size:15px}
}
@media(max-width:360px){.gym-header .container,.gym-hero .container{width:calc(100% - 32px)}.gym-hero .hero-actions{gap:10px}.gym-hero .gym-opening-button{font-size:10px;padding-left:12px;gap:6px}.gym-hero .gym-opening-button>span{width:21px;height:21px}.gym-hero h1{font-size:11.4vw}}
@media(max-height:600px) and (min-width:701px){.gym-hero{height:auto;min-height:630px}.gym-hero .hero-content{padding-top:225px}}

/* The moving orange ribbon rises gently toward the right. */
.benefit-marquee{position:relative;isolation:isolate;background:var(--paper);padding:50px 0;overflow:hidden;color:var(--ink)}
.benefit-marquee:before{content:'';position:absolute;z-index:-1;inset:-80px -4% 50%;background:#0c0c0c;transform:skewY(-2deg);transform-origin:center;pointer-events:none}
.benefit-marquee__viewport{background:var(--orange);width:106%;margin-left:-3%;padding:20px 0;transform:rotate(-2deg);transform-origin:center;overflow:hidden;box-shadow:0 10px 20px rgba(21,21,21,.12)}
.benefit-marquee__track{animation-duration:65s}
.benefit-marquee__group{gap:24px;padding-right:24px}
.benefit-marquee__group span{font-family:'DM Sans',Arial,sans-serif;font-size:clamp(22px,2.2vw,36px);font-weight:900;letter-spacing:-.04em;line-height:1.12}
.benefit-marquee__group b{font-size:26px;line-height:1}
@media(max-width:700px){.benefit-marquee{padding:27px 0}.benefit-marquee:before{transform:skewY(-2.5deg)}.benefit-marquee__viewport{width:110%;margin-left:-5%;padding:17px 0;transform:rotate(-2.5deg);box-shadow:0 7px 15px rgba(21,21,21,.12)}.benefit-marquee__track{animation-duration:60s}.benefit-marquee__group{gap:16px;padding-right:16px}.benefit-marquee__group span{font-size:20px}.benefit-marquee__group b{font-size:19px}}
@media(prefers-reduced-motion:reduce){.benefit-marquee__track{animation:none}}
