/* ══════════════════════════════════════════════════════════════
   KABAKAL GYM HUB — style.css v2.0
   Brand: Bold · Dark · Cinematic · High-Energy
   Palette: #FF7A00 · #FFC300 · #1A1A1A · #F5F5F5 · #E63946
   Fonts: Bebas Neue · Oswald · Poppins
══════════════════════════════════════════════════════════════ */

:root {
  --orange:       #FF7A00;
  --orange-dark:  #CC6200;
  --orange-glow:  rgba(255,122,0,0.18);
  --yellow:       #FFC300;
  --red:          #E63946;
  --dark:         #1A1A1A;
  --dark-2:       #222222;
  --dark-3:       #2C2C2C;
  --dark-4:       #363636;
  --light:        #F5F5F5;
  --white:        #ffffff;
  --text-muted:   rgba(255,255,255,0.42);
  --text-dim:     rgba(255,255,255,0.70);
  --border-dim:   rgba(255,122,0,0.14);
  --border-mid:   rgba(255,122,0,0.30);
  --font-display: 'Bebas Neue', sans-serif;
  --font-sub:     'Oswald', sans-serif;
  --font-body:    'Poppins', sans-serif;
  --radius-sm:    4px;
  --radius-md:    10px;
  --radius-lg:    16px;
  --transition:   0.25s ease;
  --shadow-glow:  0 0 32px rgba(255,122,0,0.22);
  --shadow-card:  0 10px 40px rgba(0,0,0,0.50);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { background: var(--dark); color: var(--white); font-family: var(--font-body); line-height: 1.6; min-height: 100vh; }
img { display: block; max-width: 100%; }
a   { text-decoration: none; color: inherit; }
ul  { list-style: none; }
button { cursor: pointer; border: none; background: none; }

/* ── CURSOR GLOW ───────────────────────────────────────────── */
.cursor-glow {
  position: fixed; pointer-events: none; z-index: 9998;
  width: 320px; height: 320px;
  background: radial-gradient(circle, rgba(255,122,0,0.07) 0%, transparent 70%);
  transform: translate(-50%, -50%);
  transition: left 0.1s, top 0.1s;
  border-radius: 50%;
}

/* ── FLASH MESSAGES ────────────────────────────────────────── */
.flash-wrap { position:fixed; top:90px; right:24px; z-index:9999; display:flex; flex-direction:column; gap:10px; }
.flash-msg {
  display:flex; align-items:center; gap:10px;
  padding:14px 20px; border-radius:10px;
  font-family:var(--font-sub); font-size:13px; letter-spacing:1px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.45);
  min-width:260px; max-width:380px;
  animation: flashIn 0.3s ease;
}
@keyframes flashIn { from{opacity:0;transform:translateX(40px)} to{opacity:1;transform:translateX(0)} }
.flash-msg.success { background:#1a3a1a; border:1px solid #2d6a2d; color:#6fcf6f; }
.flash-msg.error   { background:#3a1a1a; border:1px solid #6a2d2d; color:#cf6f6f; }
.flash-msg.info    { background:#1a2a3a; border:1px solid #2d4a6a; color:#6f9fcf; }

/* ── CONTAINER ─────────────────────────────────────────────── */
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 24px; }

/* ── TYPOGRAPHY ────────────────────────────────────────────── */
.accent { color: var(--orange); }
.section-tag {
  display:inline-block; font-family:var(--font-sub); font-size:11px; font-weight:600;
  letter-spacing:4px; text-transform:uppercase; color:var(--orange); margin-bottom:10px;
}
.section-tag.light { color:var(--yellow); }
.section-title {
  font-family:var(--font-display); font-size:clamp(36px,5vw,58px);
  line-height:1.02; letter-spacing:2px; color:var(--white); margin-bottom:16px;
}
.section-desc { font-size:15px; color:var(--text-dim); max-width:580px; line-height:1.75; }
.section-header { text-align:center; margin-bottom:52px; }
.section-header .section-desc { margin:0 auto; }

/* ── SCROLL REVEAL ─────────────────────────────────────────── */
.reveal-el { opacity:0; transform:translateY(28px); transition:opacity 0.55s ease, transform 0.55s ease; }
.reveal-el.revealed { opacity:1; transform:translateY(0); }

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-sub); font-size:13px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase;
  padding:14px 28px; border-radius:var(--radius-sm);
  transition:all var(--transition); white-space:nowrap;
}
.btn-primary { background:var(--orange); color:var(--white); border:2px solid var(--orange); }
.btn-primary:hover { background:var(--orange-dark); border-color:var(--orange-dark); transform:translateY(-2px); box-shadow:0 6px 24px rgba(255,122,0,0.40); }
.btn-primary:active { background:var(--yellow); border-color:var(--yellow); color:var(--dark); transform:translateY(0); }
.btn-outline { background:transparent; color:var(--white); border:2px solid rgba(255,255,255,0.45); }
.btn-outline:hover { border-color:var(--white); background:rgba(255,255,255,0.08); transform:translateY(-2px); }
.btn-outline-light { background:transparent; color:var(--white); border:2px solid var(--white); }
.btn-outline-light:hover { background:var(--white); color:var(--dark); transform:translateY(-2px); }
.btn-lg  { padding:16px 36px; font-size:14px; }
.btn-sm  { padding:10px 20px; font-size:11px; }
.btn-full{ width:100%; }

/* ══════════════════════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════════════════════ */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:transparent; border-bottom:1px solid transparent;
  transition:background var(--transition), border-color var(--transition), backdrop-filter var(--transition);
}
.site-header.scrolled {
  background:rgba(18,18,18,0.96); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--orange);
}
.nav-container { display:flex; align-items:center; justify-content:space-between; height:72px; gap:20px; }
.nav-brand { display:flex; align-items:center; flex-shrink:0; }
.nav-logo-img { height:44px; width:auto; object-fit:contain; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.60)); transition:filter var(--transition), opacity var(--transition); }
.nav-logo-img:hover { opacity:0.85; }
.site-header.scrolled .nav-logo-img { filter:drop-shadow(0 0 8px rgba(255,122,0,0.35)); }
.main-nav { display:flex; }
.nav-links { display:flex; gap:28px; align-items:center; }
.nav-link { font-family:var(--font-sub); font-size:12px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.60); transition:color var(--transition); position:relative; padding-bottom:4px; }
.nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--orange); transition:width var(--transition); }
.nav-link:hover, .nav-link.active { color:var(--orange); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }
.nav-actions { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.nav-cta { padding:10px 18px; font-size:12px; }
.nav-fb { display:none; } /* show on larger screens */
.hamburger {
  display: none;
  flex-direction: column; gap: 5px; padding: 6px;
  cursor: pointer; background: none; border: none;
  z-index: 1600; flex-shrink: 0;
  margin-left: auto;
}
.hamburger span { display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition:all var(--transition); transform-origin:center; }
.hamburger.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════════ */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding-top:72px; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  opacity:0.20; mix-blend-mode:luminosity; z-index:0;
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(ellipse 80% 60% at 15% 50%, rgba(255,122,0,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 85% 20%, rgba(255,195,0,0.06) 0%, transparent 50%),
    linear-gradient(155deg, #0c0c0c 0%, #1a1a1a 45%, #202020 100%);
}
.hero-grid {
  position:absolute; inset:0; z-index:2;
  background-image:linear-gradient(rgba(255,122,0,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,122,0,0.06) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 20%,transparent 100%);
}

/* Floating emoji decorations */
.hero-float {
  position:absolute; font-size:40px; opacity:0.10; z-index:2; pointer-events:none;
  animation:floatDrift 8s ease-in-out infinite;
  user-select:none;
}
.hero-float-1 { top:20%; left:5%;  animation-delay:0s; animation-duration:9s; }
.hero-float-2 { top:60%; left:3%;  animation-delay:2s; animation-duration:11s; font-size:32px; }
.hero-float-3 { top:15%; right:8%; animation-delay:1s; animation-duration:10s; }
.hero-float-4 { top:70%; right:6%; animation-delay:3s; animation-duration:8s; font-size:36px; }
@keyframes floatDrift {
  0%,100% { transform:translateY(0) rotate(-5deg); }
  50%      { transform:translateY(-20px) rotate(5deg); }
}

/* Floating image cards on hero */
.hero-floating-cards { position:absolute; right:20px; top:45%; transform:translateY(-50%); z-index:3; display:flex; flex-direction:column; gap:12px; }
.hfc { width:240px; border-radius:14px; overflow:hidden; box-shadow:0 16px 48px rgba(0,0,0,0.60); animation:hfcFloat 6s ease-in-out infinite; }
.hfc-1 { animation-delay:0s; }
.hfc-2 { animation-delay:1.5s; margin-left:28px; width:200px; }
.hfc-3 { animation-delay:3s;  margin-left:14px; width:180px; }
@keyframes hfcFloat {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-12px); }
}
.hfc-inner { position:relative; }
.hfc-img { width:100%; height:160px; object-fit:cover; object-position:center; opacity:0.85; mix-blend-mode:normal; }
.hfc-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,122,0,0.55),rgba(0,0,0,0.65));
  display:flex; align-items:flex-end; padding:10px 12px;
}
.hfc-overlay span { font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--white); }

.hero-content { position:relative; z-index:4; padding-top:60px; padding-bottom:120px; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,122,0,0.12); border:1px solid var(--border-mid);
  border-radius:100px; padding:6px 16px;
  font-family:var(--font-sub); font-size:11px; letter-spacing:3px; text-transform:uppercase;
  color:var(--orange); margin-bottom:28px;
}
.badge-dot { width:7px; height:7px; background:var(--orange); border-radius:50%; animation:pulse-dot 2s ease-in-out infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(0.65)} }
.hero-title {
  font-family:var(--font-display); font-size:clamp(72px,12vw,140px);
  line-height:0.92; letter-spacing:3px; color:var(--white); margin-bottom:24px;
  text-shadow:0 4px 40px rgba(0,0,0,0.55);
}
.hero-sub { font-size:16px; color:var(--text-dim); margin-bottom:40px; line-height:1.7; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:64px; }
.hero-stats { display:flex; align-items:center; flex-wrap:wrap; }
.stat-item { display:flex; flex-direction:column; padding:0 28px; }
.stat-item:first-child { padding-left:0; }
.stat-num { font-family:var(--font-display); font-size:40px; letter-spacing:1px; color:var(--white); line-height:1; }
.stat-num em { color:var(--orange); font-style:normal; font-size:28px; }
.stat-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-top:4px; }
.stat-divider { width:1px; height:40px; background:rgba(255,255,255,0.14); }
.hero-scroll-hint {
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%); z-index:4;
  display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0.4;
  animation:bounce-hint 2s ease-in-out infinite;
}
.hero-scroll-hint span { font-family:var(--font-sub); font-size:10px; letter-spacing:3px; text-transform:uppercase; }
.scroll-arrow { width:1px; height:32px; background:linear-gradient(to bottom,var(--white),transparent); }
@keyframes bounce-hint { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

/* ══════════════════════════════════════════════════════════════
   MARQUEE
══════════════════════════════════════════════════════════════ */
.marquee-strip { background:var(--orange); overflow:hidden; padding:14px 0; position:relative; z-index:3; }
.marquee-track { display:flex; white-space:nowrap; animation:marquee-scroll 30s linear infinite; width:max-content; }
.marquee-track span { font-family:var(--font-display); font-size:15px; letter-spacing:3px; color:var(--white); padding:0 16px; }
.marquee-track .mx { color:var(--dark); font-size:10px; opacity:0.55; padding:0 4px; }
@keyframes marquee-scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ══════════════════════════════════════════════════════════════
   INTRO REEL SECTION
══════════════════════════════════════════════════════════════ */
.reel-section { padding:100px 0; background:var(--dark); position:relative; overflow:hidden; }
.reel-bg-pattern {
  position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(-45deg,rgba(255,122,0,0.03) 0px,rgba(255,122,0,0.03) 1px,transparent 1px,transparent 24px);
}
.reel-layout { display:grid; grid-template-columns:1fr 1.2fr; gap:72px; align-items:center; }
.reel-desc { font-size:15px; color:var(--text-dim); line-height:1.8; margin-bottom:28px; }
.reel-facts { display:flex; flex-direction:column; gap:16px; margin-bottom:32px; }
.rf-item { display:flex; gap:14px; align-items:flex-start; }
.rf-icon { font-size:20px; flex-shrink:0; margin-top:2px; }
.rf-label { font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:3px; }
.rf-val { font-size:14px; color:var(--text-dim); }

/* Video player mockup */
.reel-video-wrap { position:relative; }
.reel-video-player { border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 24px 64px rgba(0,0,0,0.60); }
.rvp-thumb { position:relative; cursor:pointer; border-radius:var(--radius-lg); overflow:hidden; }
.rvp-poster { width:100%; height:340px; object-fit:cover; object-position:center; opacity:0.45; mix-blend-mode:luminosity; }
.rvp-overlay {
  position:absolute; inset:0;
  background:linear-gradient(160deg,rgba(255,122,0,0.25) 0%,rgba(0,0,0,0.75) 100%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
}
.rvp-gradient { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.80) 0%,transparent 50%); }
.rvp-content { position:relative; z-index:2; text-align:center; }
.rvp-play-btn {
  width:72px; height:72px; border-radius:50%;
  background:var(--orange); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:28px; margin:0 auto 16px;
  box-shadow:0 0 0 0 rgba(255,122,0,0.5);
  animation:pulse-play 2s ease-in-out infinite;
  transition:transform var(--transition);
}
.rvp-play-btn:hover { transform:scale(1.1); }
@keyframes pulse-play {
  0%  { box-shadow:0 0 0 0 rgba(255,122,0,0.50); }
  70% { box-shadow:0 0 0 20px rgba(255,122,0,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,122,0,0); }
}
.rvp-title { font-family:var(--font-display); font-size:22px; letter-spacing:2px; color:var(--white); }
.rvp-sub   { font-family:var(--font-sub); font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--orange); }
/* Audio bars animation */
.rvp-bars {
  position:absolute; bottom:16px; right:16px;
  display:flex; gap:3px; align-items:flex-end; height:24px;
}
.rvp-bars span {
  width:3px; border-radius:2px; background:var(--orange); opacity:0.6;
  animation:barPulse 1.2s ease-in-out infinite;
}
.rvp-bars span:nth-child(1){height:8px;animation-delay:0.0s}
.rvp-bars span:nth-child(2){height:16px;animation-delay:0.1s}
.rvp-bars span:nth-child(3){height:24px;animation-delay:0.2s}
.rvp-bars span:nth-child(4){height:12px;animation-delay:0.3s}
.rvp-bars span:nth-child(5){height:20px;animation-delay:0.4s}
.rvp-bars span:nth-child(6){height:8px;animation-delay:0.5s}
.rvp-bars span:nth-child(7){height:16px;animation-delay:0.6s}
.rvp-bars span:nth-child(8){height:24px;animation-delay:0.7s}
.rvp-bars span:nth-child(9){height:12px;animation-delay:0.8s}
.rvp-bars span:nth-child(10){height:18px;animation-delay:0.9s}
@keyframes barPulse { 0%,100%{transform:scaleY(0.4)} 50%{transform:scaleY(1)} }
.rvp-note { font-size:11px; color:var(--text-muted); text-align:center; padding:10px; background:var(--dark-3); }

/* Floating chips over video */
.reel-chip {
  position:absolute; background:var(--dark-3); border:1px solid var(--border-mid);
  border-radius:100px; padding:8px 16px;
  display:flex; align-items:center; gap:8px;
  box-shadow:var(--shadow-card);
  animation:chipFloat 4s ease-in-out infinite;
}
.reel-chip-1 { top:-18px; right:-18px; animation-delay:0s; }
.reel-chip-2 { bottom:-18px; left:-18px; animation-delay:1.5s; }
@keyframes chipFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.rc-num   { font-family:var(--font-display); font-size:22px; color:var(--orange); line-height:1; }
.rc-icon  { font-size:18px; }
.rc-label { font-family:var(--font-sub); font-size:11px; letter-spacing:1px; color:var(--text-dim); }

/* ══════════════════════════════════════════════════════════════
   REELS CAROUSEL
══════════════════════════════════════════════════════════════ */
.reels-section { padding:100px 0; background:var(--dark-2); position:relative; overflow:hidden; }
.reels-section::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }

.reels-carousel-wrap { position:relative; overflow:hidden; padding:0 48px; }
.reels-carousel {
  display:flex; gap:20px;
  transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
  width:max-content;
}

.reel-card {
  width:260px; flex-shrink:0; cursor:pointer;
  border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid var(--border-dim);
  transition:all var(--transition);
}
.reel-card:hover { border-color:var(--orange); transform:translateY(-6px) scale(1.02); box-shadow:var(--shadow-glow); }
.reel-card-inner { position:relative; height:420px; }
.reel-card-img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0.55; mix-blend-mode:luminosity;
  transition:transform 0.4s ease, opacity 0.4s ease;
}
.reel-card:hover .reel-card-img { transform:scale(1.06); opacity:0.70; }
.zumba-tint   { background:#1a1030 !important; }
.strength-tint{ background:#1a0800 !important; }
.yoga-tint    { background:#001a10 !important; }

.reel-card-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.30) 50%,rgba(0,0,0,0.10) 100%);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:16px;
}
.reel-card-top { display:flex; justify-content:space-between; align-items:flex-start; }
.reel-tag {
  background:rgba(255,122,0,0.85); color:var(--white);
  font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase;
  padding:4px 10px; border-radius:100px;
}
.reel-play-mini {
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,0.20); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; color:var(--white);
  transition:background var(--transition);
}
.reel-card:hover .reel-play-mini { background:var(--orange); }
.reel-card-bot { }
.reel-card-title { font-family:var(--font-sub); font-size:16px; font-weight:600; letter-spacing:1px; color:var(--white); margin-bottom:4px; }
.reel-card-sub   { font-size:12px; color:var(--text-muted); }

/* Bars on reel cards */
.reel-card-bars { position:absolute; top:12px; right:56px; display:flex; gap:2px; align-items:flex-end; height:20px; opacity:0; transition:opacity var(--transition); }
.reel-card:hover .reel-card-bars { opacity:1; }
.reel-card-bars span { width:2px; border-radius:2px; background:var(--orange); animation:barPulse 1.2s ease-in-out infinite; }
.reel-card-bars span:nth-child(1){height:6px;animation-delay:0.0s}
.reel-card-bars span:nth-child(2){height:14px;animation-delay:0.15s}
.reel-card-bars span:nth-child(3){height:20px;animation-delay:0.30s}
.reel-card-bars span:nth-child(4){height:10px;animation-delay:0.45s}
.reel-card-bars span:nth-child(5){height:16px;animation-delay:0.60s}

/* Carousel nav */
.reels-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:44px; height:44px; border-radius:50%;
  background:var(--dark-3); border:1px solid var(--border-mid);
  color:var(--white); font-size:22px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  transition:all var(--transition); cursor:pointer;
}
.reels-nav:hover { background:var(--orange); border-color:var(--orange); transform:translateY(-50%) scale(1.1); }
.reels-nav-prev { left:0; }
.reels-nav-next { right:0; }

/* Dots */
.reels-dots { display:flex; justify-content:center; gap:8px; margin-top:24px; }
.reels-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,0.20); border:none; cursor:pointer;
  transition:all var(--transition);
}
.reels-dot.active { background:var(--orange); transform:scale(1.3); }

/* ══════════════════════════════════════════════════════════════
   SERVICES
══════════════════════════════════════════════════════════════ */
.services { padding:100px 0; background:var(--dark-2); position:relative; overflow:hidden; }
.services::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }

/* Floating image accent */
.services-float-1 {
  position:absolute; right:-60px; top:50%; transform:translateY(-50%);
  width:320px; opacity:0.06; pointer-events:none; border-radius:20px; overflow:hidden;
  filter:saturate(0);
}
.services-float-1 img { width:100%; height:auto; }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.service-card {
  background:var(--dark-3); border:1px solid var(--border-dim);
  border-radius:var(--radius-lg); padding:32px 28px;
  position:relative; transition:all var(--transition); overflow:hidden;
}
.service-card::before { content:''; position:absolute; inset:0; border-radius:var(--radius-lg); background:linear-gradient(135deg,rgba(255,122,0,0.06) 0%,transparent 60%); opacity:0; transition:opacity var(--transition); }
.service-card:hover { border-color:var(--orange); transform:translateY(-6px); box-shadow:var(--shadow-glow); }
.service-card:hover::before { opacity:1; }
.service-card.featured { border-color:var(--orange); background:linear-gradient(135deg,rgba(255,122,0,0.10) 0%,var(--dark-3) 50%); }
.service-badge { position:absolute; top:20px; right:20px; background:var(--orange); color:var(--white); font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:4px 10px; border-radius:100px; }
.service-icon { font-size:36px; margin-bottom:16px; line-height:1; }
.service-card h3 { font-family:var(--font-sub); font-size:20px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:10px; }
.service-card p  { font-size:14px; color:var(--text-dim); line-height:1.7; margin-bottom:20px; }
.card-link { font-family:var(--font-sub); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--orange); display:inline-flex; align-items:center; gap:4px; transition:color var(--transition), gap var(--transition); }
.card-link:hover { color:var(--yellow); gap:8px; }

/* ══════════════════════════════════════════════════════════════
   WHY US
══════════════════════════════════════════════════════════════ */
.why-us { position:relative; background:var(--dark); padding:100px 0; overflow:hidden; }
.why-bg-pattern { position:absolute; inset:0; background-image:repeating-linear-gradient(-45deg,rgba(255,122,0,0.04) 0px,rgba(255,122,0,0.04) 1px,transparent 1px,transparent 24px); pointer-events:none; }

/* Floating images */
.why-float-img {
  position:absolute; border-radius:14px; overflow:hidden;
  box-shadow:0 16px 48px rgba(0,0,0,0.60); pointer-events:none;
}
.why-float-1 { width:180px; top:10%; right:2%; opacity:0.15; filter:saturate(0); animation:hfcFloat 7s ease-in-out infinite; }
.why-float-2 { width:140px; bottom:10%; right:8%; opacity:0.10; filter:saturate(0); animation:hfcFloat 9s ease-in-out infinite; animation-delay:2s; }
.why-float-img img { width:100%; }
.wfi-label { background:var(--orange); color:var(--white); font-family:var(--font-sub); font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:5px 10px; text-align:center; }

.why-inner { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; position:relative; z-index:1; }
.why-desc { font-size:15px; color:var(--text-dim); line-height:1.8; margin-bottom:28px; }
.why-list { display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.why-list li { display:flex; align-items:center; gap:12px; font-size:14px; color:var(--text-dim); }
.check { display:flex; align-items:center; justify-content:center; width:24px; height:24px; background:rgba(255,122,0,0.14); border:1px solid var(--orange); border-radius:50%; color:var(--orange); font-size:12px; font-weight:700; flex-shrink:0; }
.why-ctas { display:flex; gap:12px; flex-wrap:wrap; }

.why-card-stack { display:flex; flex-direction:column; gap:16px; margin-bottom:24px; }
.why-stat-card { background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-md); padding:24px 28px; display:flex; flex-direction:column; gap:4px; transition:border-color var(--transition); }
.why-stat-card:hover { border-color:var(--orange); }
.why-stat-card.accent-card { background:var(--orange); border-color:var(--orange); }
.wsc-num { font-family:var(--font-display); font-size:48px; letter-spacing:1px; color:var(--white); line-height:1; }
.wsc-num em { color:var(--orange); font-style:normal; font-size:28px; }
.accent-card .wsc-num em { color:var(--yellow); }
.wsc-label { font-family:var(--font-sub); font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); }
.why-quote-block { background:var(--dark-3); border-left:3px solid var(--orange); padding:20px 24px; border-radius:0 var(--radius-md) var(--radius-md) 0; }
.wq-text { font-style:italic; font-size:14px; color:var(--text-dim); line-height:1.7; margin-bottom:8px; }
.wq-attr { font-family:var(--font-sub); font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--orange); }

/* ══════════════════════════════════════════════════════════════
   CLASSES
══════════════════════════════════════════════════════════════ */
.classes { padding:100px 0; background:var(--dark-2); position:relative; }
.classes::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }
.class-tabs { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:40px; }
.tab-btn { font-family:var(--font-sub); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; padding:10px 22px; border-radius:100px; border:1px solid rgba(255,255,255,0.15); color:var(--text-dim); background:transparent; transition:all var(--transition); }
.tab-btn:hover { border-color:var(--orange); color:var(--orange); }
.tab-btn.active { background:var(--orange); border-color:var(--orange); color:var(--white); }
.classes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:40px; }
.class-card { display:flex; flex-direction:column; background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-lg); overflow:hidden; transition:all var(--transition); }
.class-card:hover { border-color:var(--orange); transform:translateY(-4px); box-shadow:var(--shadow-glow); }
.class-img { height:220px; position:relative; overflow:hidden; background:var(--dark); }
.class-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0.50; transition:transform 0.4s ease,opacity 0.4s ease; }
.class-card:hover .class-bg-img { transform:scale(1.06); opacity:0.65; }
.class-color-overlay { position:absolute; inset:0; z-index:1; pointer-events:none; }
.hiit-overlay     { background:linear-gradient(160deg,rgba(230,57,70,0.70) 0%,rgba(180,30,10,0.50) 40%,rgba(255,122,0,0.30) 70%,rgba(0,0,0,0.55) 100%); }
.zumba-overlay    { background:linear-gradient(160deg,rgba(255,195,0,0.65) 0%,rgba(255,122,0,0.45) 45%,rgba(100,40,0,0.35) 70%,rgba(0,0,0,0.60) 100%); }
.strength-overlay { background:linear-gradient(160deg,rgba(255,90,0,0.72) 0%,rgba(140,50,0,0.55) 45%,rgba(40,15,0,0.45) 70%,rgba(0,0,0,0.65) 100%); }
.yoga-overlay     { background:linear-gradient(160deg,rgba(0,180,130,0.55) 0%,rgba(0,100,80,0.45) 45%,rgba(0,40,30,0.40) 70%,rgba(0,0,0,0.65) 100%); }
.class-overlay-bar { position:absolute; bottom:0; left:0; right:0; z-index:2; padding:14px 16px; background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,transparent 100%); display:flex; align-items:flex-end; }
.class-level { font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:4px 12px; border-radius:100px; font-weight:600; }
.class-level.high   { background:rgba(230,57,70,0.90); color:var(--white); }
.class-level.medium { background:rgba(255,122,0,0.90); color:var(--white); }
.class-level.low    { background:rgba(255,195,0,0.90); color:var(--dark); }
.class-info { padding:24px; display:flex; flex-direction:column; flex:1; gap:10px; }
.class-info h3 { font-family:var(--font-sub); font-size:20px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); }
.class-info p  { font-size:13px; color:var(--text-dim); line-height:1.6; flex:1; }
.class-meta { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--text-muted); }
.classes-cta { text-align:center; }

/* ══════════════════════════════════════════════════════════════
   MEMBERSHIP
══════════════════════════════════════════════════════════════ */
.membership { padding:100px 0; background:var(--dark); position:relative; overflow:hidden; }
.membership::before { content:''; position:absolute; bottom:-100px; right:-100px; width:500px; height:500px; background:radial-gradient(circle,rgba(255,122,0,0.06) 0%,transparent 70%); pointer-events:none; }

/* Floating image */
.membership-float { position:absolute; left:-40px; top:50%; transform:translateY(-50%); width:220px; opacity:0.08; pointer-events:none; filter:saturate(0); border-radius:16px; overflow:hidden; animation:hfcFloat 8s ease-in-out infinite; }
.membership-float img { width:100%; }
.mf-label { background:var(--orange); color:var(--white); font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; padding:6px; text-align:center; }

.plans-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.plan-card { background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-lg); padding:36px 28px; position:relative; transition:all var(--transition); }
.plan-card:hover { border-color:rgba(255,122,0,0.40); transform:translateY(-4px); }
.plan-card.popular { border-color:var(--orange); background:linear-gradient(160deg,rgba(255,122,0,0.13) 0%,var(--dark-3) 40%); box-shadow:0 0 40px rgba(255,122,0,0.16); transform:scale(1.03); }
.plan-card.popular:hover { transform:scale(1.03) translateY(-4px); }
.plan-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--orange); color:var(--white); font-family:var(--font-sub); font-size:11px; letter-spacing:2px; text-transform:uppercase; padding:5px 16px; border-radius:100px; white-space:nowrap; }
.plan-header { margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--border-dim); }
.plan-name { font-family:var(--font-sub); font-size:14px; letter-spacing:3px; text-transform:uppercase; color:var(--orange); margin-bottom:12px; }
.plan-price { display:flex; align-items:baseline; gap:4px; margin-bottom:6px; }
.currency { font-family:var(--font-display); font-size:28px; color:var(--text-dim); line-height:1; }
.amount   { font-family:var(--font-display); font-size:56px; color:var(--white); line-height:1; letter-spacing:1px; }
.period   { font-size:14px; color:var(--text-muted); }
.plan-save    { font-size:12px; color:var(--yellow); font-weight:500; margin-bottom:4px; }
.plan-tagline { font-size:12px; color:var(--text-muted); font-style:italic; }
.plan-features { display:flex; flex-direction:column; gap:12px; margin-bottom:28px; }
.plan-features li { display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-dim); }
.plan-features li span { font-family:var(--font-sub); font-size:13px; font-weight:700; color:var(--orange); flex-shrink:0; width:16px; }
.plan-features li.disabled { opacity:0.35; }
.plan-features li.disabled span { color:var(--text-muted); }
.plan-btn { width:100%; }

/* ══════════════════════════════════════════════════════════════
   TRAINERS
══════════════════════════════════════════════════════════════ */
.trainers { padding:100px 0; background:var(--dark-2); position:relative; }
.trainers::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }
.trainers-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.trainer-card { background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-lg); overflow:hidden; transition:all var(--transition); }
.trainer-card:hover { border-color:var(--orange); transform:translateY(-6px); box-shadow:var(--shadow-glow); }
.trainer-photo { height:280px; position:relative; overflow:hidden; background:var(--dark); }
.trainer-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0.38; mix-blend-mode:luminosity; transition:transform 0.4s ease,opacity 0.4s ease; }
.trainer-card:hover .trainer-bg-img { transform:scale(1.08); opacity:0.50; }
.trainer-color-overlay { position:absolute; inset:0; z-index:1; pointer-events:none; }
.t-orange { background:radial-gradient(ellipse 70% 80% at 50% 100%,rgba(255,122,0,0.40) 0%,transparent 65%),linear-gradient(170deg,rgba(100,40,0,0.55) 0%,rgba(255,100,0,0.25) 50%,rgba(0,0,0,0.70) 100%); }
.t-yellow { background:radial-gradient(ellipse 70% 80% at 50% 100%,rgba(255,195,0,0.38) 0%,transparent 65%),linear-gradient(170deg,rgba(100,70,0,0.55) 0%,rgba(255,195,0,0.22) 50%,rgba(0,0,0,0.70) 100%); }
.t-red    { background:radial-gradient(ellipse 70% 80% at 50% 100%,rgba(230,57,70,0.38) 0%,transparent 65%),linear-gradient(170deg,rgba(80,10,20,0.55) 0%,rgba(230,57,70,0.22) 50%,rgba(0,0,0,0.70) 100%); }
.trainer-initials { position:absolute; top:50%; left:50%; transform:translate(-50%,-58%); z-index:2; font-family:var(--font-display); font-size:72px; letter-spacing:4px; color:rgba(255,255,255,0.12); pointer-events:none; user-select:none; }
.trainer-social { position:absolute; top:16px; right:16px; display:flex; flex-direction:column; gap:8px; z-index:3; opacity:0; transform:translateX(16px); transition:all var(--transition); }
.trainer-card:hover .trainer-social { opacity:1; transform:translateX(0); }
.trainer-social a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:rgba(255,122,0,0.85); border-radius:50%; font-family:var(--font-sub); font-size:12px; font-weight:600; color:var(--white); transition:background var(--transition); }
.trainer-social a:hover { background:var(--orange-dark); }
.trainer-info { padding:24px; }
.trainer-info h3 { font-family:var(--font-sub); font-size:18px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:4px; }
.trainer-role { font-family:var(--font-sub); font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:12px; }
.trainer-bio  { font-size:13px; color:var(--text-dim); line-height:1.7; margin-bottom:14px; }
.trainer-tags { display:flex; flex-wrap:wrap; gap:6px; }
.trainer-tags span { background:rgba(255,122,0,0.12); border:1px solid var(--border-dim); border-radius:100px; padding:3px 10px; font-family:var(--font-sub); font-size:10px; letter-spacing:1px; text-transform:uppercase; color:var(--orange); }

/* ══════════════════════════════════════════════════════════════
   REVIEWS / TESTIMONIALS
══════════════════════════════════════════════════════════════ */
.reviews-section { padding:100px 0; background:var(--dark); position:relative; overflow:hidden; }
.reviews-section::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }
.reviews-float { position:absolute; right:-80px; top:20%; width:280px; opacity:0.05; pointer-events:none; filter:saturate(0); animation:hfcFloat 10s ease-in-out infinite; border-radius:16px; overflow:hidden; }
.reviews-float img { width:100%; }

/* Rating aggregate */
.rating-aggregate {
  display:flex; align-items:center; gap:32px; justify-content:center;
  background:var(--dark-3); border:1px solid var(--border-dim);
  border-radius:var(--radius-lg); padding:28px 40px;
  margin:0 auto 52px; max-width:600px;
}
.ra-score { font-family:var(--font-display); font-size:80px; color:var(--orange); line-height:1; }
.ra-right { flex:1; }
.ra-stars { display:flex; gap:4px; margin-bottom:6px; }
.star { font-size:22px; }
.star.full { color:var(--yellow); }
.star.half { color:var(--yellow); opacity:0.55; }
.ra-label { font-size:12px; color:var(--text-muted); margin-bottom:12px; }
.ra-bars { display:flex; flex-direction:column; gap:6px; }
.ra-bar-row { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--text-muted); }
.ra-bar { flex:1; height:5px; background:rgba(255,255,255,0.10); border-radius:3px; overflow:hidden; }
.ra-fill { height:100%; background:var(--orange); border-radius:3px; }

.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.testi-card { background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-lg); padding:32px 28px; position:relative; transition:all var(--transition); }
.testi-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; border-radius:var(--radius-lg) var(--radius-lg) 0 0; background:transparent; transition:background var(--transition); }
.testi-card:hover::before, .testi-card.featured-testi::before { background:linear-gradient(90deg,var(--orange),var(--yellow)); }
.testi-card:hover { border-color:rgba(255,122,0,0.30); transform:translateY(-4px); }
.testi-card.featured-testi { border-color:rgba(255,122,0,0.30); background:linear-gradient(160deg,rgba(255,122,0,0.09) 0%,var(--dark-3) 50%); }

.testi-fb-badge { display:flex; align-items:center; gap:6px; font-family:var(--font-sub); font-size:10px; letter-spacing:1px; color:#1877f2; margin-bottom:10px; text-transform:uppercase; }
.testi-stars { color:var(--yellow); font-size:16px; letter-spacing:2px; margin-bottom:14px; }
.testi-quote { font-size:14px; font-style:italic; color:var(--text-dim); line-height:1.75; margin-bottom:20px; }
.testi-author { display:flex; align-items:center; gap:14px; }
.testi-avatar { width:48px; height:48px; border-radius:50%; background:linear-gradient(135deg,var(--orange),var(--yellow)); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:18px; color:var(--dark); flex-shrink:0; border:2px solid var(--orange); }
.testi-name { font-family:var(--font-sub); font-size:14px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:2px; }
.testi-role { font-size:11px; color:var(--orange); letter-spacing:1px; }

/* CTA review card */
.testi-cta-card { background:linear-gradient(160deg,rgba(255,122,0,0.15) 0%,var(--dark-3) 60%) !important; border-color:rgba(255,122,0,0.35) !important; }
.testi-cta-inner { text-align:center; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.testi-cta-stars { font-size:28px; color:var(--yellow); letter-spacing:3px; margin-bottom:12px; }
.testi-cta-inner h3 { font-family:var(--font-display); font-size:28px; letter-spacing:2px; color:var(--white); margin-bottom:10px; }
.testi-cta-inner p  { font-size:13px; color:var(--text-dim); line-height:1.6; }

/* ══════════════════════════════════════════════════════════════
   CTA BANNER
══════════════════════════════════════════════════════════════ */
.cta-banner { position:relative; padding:100px 0; background:var(--dark-2); overflow:hidden; text-align:center; }
.cta-bg-pattern { position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(255,122,0,0.11) 0%,transparent 65%),repeating-linear-gradient(45deg,rgba(255,122,0,0.04) 0px,rgba(255,122,0,0.04) 1px,transparent 1px,transparent 32px); pointer-events:none; }
.cta-watermark { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:80%; max-width:900px; opacity:0.055; mix-blend-mode:overlay; object-fit:contain; pointer-events:none; user-select:none; z-index:1; }
.cta-float-1, .cta-float-2 { position:absolute; font-size:60px; opacity:0.07; pointer-events:none; user-select:none; animation:floatDrift 7s ease-in-out infinite; }
.cta-float-1 { top:20%; left:8%;  }
.cta-float-2 { bottom:20%; right:8%; animation-delay:2s; }
.cta-inner { position:relative; z-index:2; }
.cta-title { font-family:var(--font-display); font-size:clamp(40px,6vw,72px); line-height:1.05; letter-spacing:3px; color:var(--white); margin-bottom:20px; }
.cta-sub { font-size:16px; color:var(--text-dim); margin-bottom:40px; line-height:1.6; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ══════════════════════════════════════════════════════════════
   CONTACT
══════════════════════════════════════════════════════════════ */
.contact { padding:100px 0; background:var(--dark); position:relative; }
.contact::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--orange),transparent); }
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:64px; align-items:start; }
.contact-info .section-title { margin-bottom:32px; }
.contact-details { display:flex; flex-direction:column; gap:22px; margin-bottom:28px; }
.contact-item { display:flex; gap:16px; align-items:flex-start; }
.contact-icon { font-size:22px; flex-shrink:0; margin-top:2px; }
.ci-label { font-family:var(--font-sub); font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--orange); margin-bottom:4px; }
.ci-value { font-size:14px; color:var(--text-dim); line-height:1.6; }

/* Hours visual */
.hours-visual {
  background:var(--dark-3); border:1px solid var(--border-dim);
  border-radius:var(--radius-md); padding:20px 24px; margin-bottom:24px;
}
.hv-title { font-family:var(--font-sub); font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--text-muted); margin-bottom:8px; }
.hv-time  { font-family:var(--font-display); font-size:28px; letter-spacing:2px; color:var(--white); margin-bottom:6px; }
.hv-status{ font-family:var(--font-sub); font-size:12px; letter-spacing:2px; text-transform:uppercase; }

.social-links { display:flex; gap:10px; flex-wrap:wrap; }
.social-btn { display:flex; align-items:center; gap:8px; padding:10px 20px; border-radius:8px; border:1px solid var(--border-mid); font-family:var(--font-sub); font-size:12px; font-weight:600; letter-spacing:1px; color:var(--text-dim); transition:all var(--transition); }
.social-btn:hover { background:var(--orange); border-color:var(--orange); color:var(--white); transform:translateY(-3px); }
.social-fb:hover { background:#1877f2; border-color:#1877f2; }

.contact-form-wrap { background:var(--dark-3); border:1px solid var(--border-dim); border-radius:var(--radius-lg); padding:40px; }
.contact-form h3 { font-family:var(--font-display); font-size:28px; letter-spacing:2px; color:var(--white); margin-bottom:8px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; }
.form-group label { font-family:var(--font-sub); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--text-dim); }
.form-group input, .form-group select, .form-group textarea { background:var(--dark-2); border:1px solid var(--border-dim); border-radius:var(--radius-sm); color:var(--white); font-family:var(--font-body); font-size:14px; padding:14px 16px; outline:none; transition:border-color var(--transition),box-shadow var(--transition); resize:vertical; }
.form-group input::placeholder, .form-group textarea::placeholder { color:rgba(255,255,255,0.22); }
.form-group select { cursor:pointer; appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23FF7A00' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; }
.form-group select option { background:var(--dark-2); color:var(--white); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,122,0,0.12); }

/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
.site-footer { background:#111; border-top:1px solid var(--border-dim); }
.footer-top-bar { height:3px; background:linear-gradient(90deg,var(--orange),var(--yellow),var(--orange)); }
.footer-inner { display:grid; grid-template-columns:1.8fr 1fr 1fr 1.2fr; gap:48px; padding:72px 24px 48px; }
.footer-logo-link { display:inline-block; margin-bottom:16px; }
.footer-logo-img { height:52px; width:auto; object-fit:contain; opacity:0.85; filter:drop-shadow(0 2px 8px rgba(255,122,0,0.25)); transition:opacity var(--transition),filter var(--transition); }
.footer-logo-img:hover { opacity:1; filter:drop-shadow(0 2px 12px rgba(255,122,0,0.45)); }
.footer-tagline { font-family:var(--font-display); font-size:20px; letter-spacing:3px; color:var(--orange); margin-bottom:12px; }
.footer-desc { font-size:13px; color:var(--text-muted); line-height:1.7; max-width:280px; margin-bottom:20px; }
.footer-social { display:flex; flex-direction:column; gap:8px; }
.fs-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:8px; background:rgba(24,119,242,0.15); border:1px solid rgba(24,119,242,0.30); color:#6fb8ff; font-family:var(--font-sub); font-size:12px; font-weight:600; letter-spacing:1px; transition:all var(--transition); }
.fs-btn:hover { background:rgba(24,119,242,0.30); border-color:rgba(24,119,242,0.50); }
.footer-nav-col h4 { font-family:var(--font-sub); font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--white); margin-bottom:20px; }
.footer-nav-col ul { display:flex; flex-direction:column; gap:10px; }
.footer-nav-col ul li a { font-size:13px; color:var(--text-muted); transition:color var(--transition); }
.footer-nav-col ul li a:hover { color:var(--orange); }
.footer-hours { margin-bottom:16px; }
.fh-row { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:13px; color:var(--text-muted); }
.fh-time { color:var(--orange); font-family:var(--font-sub); font-weight:600; }
.fh-note { font-size:11px; color:var(--orange); font-style:italic; margin-top:8px; letter-spacing:1px; }
.footer-address { font-size:13px; color:var(--text-muted); line-height:1.8; }
/* ── FOOTER BOTTOM + CREDITS ──────────────────────────────── */
.fh-time { color:var(--orange); font-family:var(--font-sub); font-weight:600; }
.fh-note { font-size:11px; color:var(--orange); font-style:italic; margin-top:8px; letter-spacing:1px; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding: 20px 24px;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-bottom-left p { font-size:12px; color:rgba(255,255,255,0.22); letter-spacing:0.5px; }
.footer-credits {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.fc-label { font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.25); }
.fc-name  { font-family:var(--font-sub); font-size:12px; font-weight:600; letter-spacing:1px; color:var(--orange); border-bottom:1px solid transparent; padding-bottom:1px; transition:color var(--transition),border-color var(--transition); }
.fc-name:hover { color:var(--yellow); border-bottom-color:var(--yellow); }
.fc-sep { font-size:11px; color:rgba(255,255,255,0.20); }
.fc-tag { font-family:var(--font-sub); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.18); margin-left:4px; }

/* ── BACK TO TOP ─────────────────────────────────────────── */
.back-to-top {
  position:fixed; bottom:32px; right:32px; z-index:999;
  width:48px; height:48px; border-radius:50%;
  background:var(--orange); color:var(--white);
  font-size:20px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(255,122,0,0.40);
  opacity:0; transform:translateY(16px); pointer-events:none;
  transition:all var(--transition); cursor:pointer;
}
.back-to-top.visible { opacity:1; transform:translateY(0); pointer-events:all; }
.back-to-top:hover { background:var(--orange-dark); transform:translateY(-3px); }

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET ≤1024px
══════════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .nav-fb { display:none; }
  .hero-floating-cards { display:none; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .plans-grid { grid-template-columns:repeat(2,1fr); }
  .plan-card.popular { transform:none; grid-column:1/-1; max-width:420px; margin:0 auto; width:100%; }
  .plan-card.popular:hover { transform:translateY(-4px); }
  .trainers-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:repeat(2,1fr); }
  .testi-card:last-child { grid-column:1/-1; max-width:480px; margin:0 auto; width:100%; }
  .reel-layout { grid-template-columns:1fr; gap:48px; }
  .why-inner { gap:48px; }
  .contact-grid { gap:40px; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:40px; }
  .footer-brand { grid-column:1/-1; }
  .rating-aggregate { flex-direction:column; text-align:center; }
  .ra-bars { align-items:stretch; }
  .why-float-1, .why-float-2, .reviews-float, .membership-float, .services-float-1 { display:none; }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE ≤768px
══════════════════════════════════════════════════════════════ */
@media (max-width:768px) {
  .main-nav { position:fixed; top:72px; left:0; right:0; z-index:2000; background:rgba(14,14,14,0.99); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-bottom:2px solid var(--orange); transform:translateY(-110%); opacity:0; transition:transform 0.38s cubic-bezier(0.4,0,0.2,1),opacity 0.3s ease; pointer-events:none; padding:28px 24px 32px; box-shadow:0 8px 40px rgba(0,0,0,0.6); }
  .main-nav.open { transform:translateY(0); opacity:1; pointer-events:all; }
  .nav-links { flex-direction:column; gap:0; }
  .nav-link { display:block; padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.07); font-size:14px; letter-spacing:3px; }
  .nav-link::after { display:none; }
  .hamburger { display:flex; }
  .nav-cta { display:none; }
  .nav-cta.nav-join { display:inline-flex !important; padding:9px 16px; font-size:11px; }
  .hero-float { display:none; }
  .hero-content { padding-top:40px; padding-bottom:80px; text-align:center; }
  .hero-title { font-size:clamp(56px,14vw,96px); }
  .hero-actions { justify-content:center; }
  .hero-stats { justify-content:center; }
  .stat-item { padding:0 16px; }
  .services, .why-us, .classes, .membership, .trainers, .reviews-section, .cta-banner, .contact, .reels-section, .reel-section { padding:72px 0; }
  .services-grid { grid-template-columns:1fr; gap:16px; }
  .plans-grid { grid-template-columns:1fr; }
  .plan-card.popular { max-width:100%; grid-column:auto; }
  .trainers-grid { grid-template-columns:1fr; gap:20px; }
  .testi-grid { grid-template-columns:1fr; }
  .testi-card:last-child { grid-column:auto; max-width:100%; }
  .classes-grid { grid-template-columns:1fr; gap:16px; }
  .why-inner { grid-template-columns:1fr; gap:48px; text-align:center; }
  .why-list li { justify-content:flex-start; text-align:left; }
  .why-card-stack { flex-direction:row; flex-wrap:wrap; justify-content:center; }
  .why-stat-card { flex:1; min-width:120px; text-align:center; align-items:center; }
  .why-ctas { justify-content:center; }
  .contact-grid { grid-template-columns:1fr; gap:48px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:32px; padding:52px 24px 36px; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; text-align:center; gap:8px; }
  .cta-actions { flex-direction:column; align-items:center; }
  .cta-actions .btn { width:100%; max-width:300px; }
  .reels-carousel-wrap { padding:0 32px; }
  .reel-card { width:220px; }
  .rating-aggregate { padding:20px 16px; }
}

/* ══════════════════════════════════════════════════════════════
   SMALL MOBILE ≤480px
══════════════════════════════════════════════════════════════ */
@media (max-width:480px) {
  .container { padding:0 16px; }
  .nav-container { height:64px; }
  .nav-logo-img { height:34px; }
  .hero-title { font-size:clamp(48px,16vw,72px); }
  .hero-stats { gap:8px; flex-wrap:wrap; justify-content:center; }
  .stat-item { padding:8px 12px; }
  .stat-divider { display:none; }
  .hero-actions { flex-direction:column; width:100%; }
  .hero-actions .btn { width:100%; }
  .btn-lg { padding:14px 24px; font-size:13px; }
  .section-title { font-size:clamp(30px,9vw,44px); }
  .contact-form-wrap { padding:24px 20px; }
  .footer-inner { grid-template-columns:1fr; }
  .class-tabs { gap:6px; }
  .tab-btn { padding:8px 14px; font-size:11px; }
  .reels-carousel-wrap { padding:0 20px; }
  .reel-card { width:200px; }
  .reel-card-inner { height:340px; }
}

/* ── GLOBAL POLISH ─────────────────────────────────────────── */
::selection { background:rgba(255,122,0,0.35); color:var(--white); }
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--orange-dark); }

/* ── CLASS VIDEO PREVIEW ────────────────────────────────────── */
.class-video-preview {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
}
.class-card:hover .class-video-preview { transform: scale(1.04); }

.class-play-hint {
  position: absolute;
  bottom: 50px; left: 0; right: 0;
  text-align: center;
  z-index: 3;
  transition: opacity 0.3s ease;
}
.class-play-hint span {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(0,0,0,0.60);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.20);
  color: var(--white);
  font-family: var(--font-sub);
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  padding: 6px 14px; border-radius: 100px;
}

.class-icon-badge {
  position: absolute;
  top: 14px; right: 14px;
  font-size: 24px; z-index: 4;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}

/* ── REEL VIDEO MODAL ───────────────────────────────────────── */
.reel-video-modal {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.92);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.3s ease;
}
.rvm-inner {
  position: relative;
  width: 90%; max-width: 860px;
}
.rvm-inner video { width: 100%; border-radius: 14px; box-shadow: 0 24px 64px rgba(0,0,0,0.8); }
.rvm-close {
  position: absolute; top: -44px; right: 0;
  font-size: 28px; color: var(--white);
  background: none; border: none; cursor: pointer;
  opacity: 0.7; transition: opacity var(--transition);
}
.rvm-close:hover { opacity: 1; }

/* ── REEL CARD VIDEO ────────────────────────────────────────── */
.reel-card-video {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
  z-index: 0;
}
.reel-card:hover .reel-card-video { transform: scale(1.04); }
.reel-card-inner { position: relative; height: 420px; overflow: hidden; }

/* ══ HERO FLOATING CARDS — bigger, shifted left, more spacing ═ */
.hero-floating-cards {
  position: absolute !important;
  right: 0px !important;
  top: 50% !important;
  transform: translateY(-48%) !important;
  z-index: 3;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
  pointer-events: none;
  padding-right: 20px;
}
/* All 3 same width, slight stagger left to right */
.hfc          { width: 280px !important; border-radius: 14px !important; overflow: hidden; box-shadow: 0 16px 48px rgba(0,0,0,0.75); animation: hfcFloat 6s ease-in-out infinite; }
.hfc-1        { animation-delay: 0s;   margin-right: 80px; }
.hfc-2        { animation-delay: 1.8s; margin-right: 40px; }
.hfc-3        { animation-delay: 3.2s; margin-right: 0px; }
.hfc-inner    { position: relative; }
.hfc-img      { width: 100%; height: 170px !important; object-fit: cover; object-position: center; opacity: 1 !important; mix-blend-mode: normal !important; display: block; }
/* Gradient overlay on each card */
.hfc-gradient {
  position: absolute; inset: 0;
  background: linear-gradient(
    160deg,
    rgba(255,122,0,0.30) 0%,
    rgba(0,0,0,0.10) 40%,
    rgba(0,0,0,0.65) 100%
  );
  pointer-events: none;
}
.hfc-overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 10px 14px 12px;
  background: linear-gradient(to top, rgba(0,0,0,0.80) 0%, transparent 100%);
  display: flex; align-items: flex-end;
}
.hfc-overlay span {
  font-family: var(--font-sub); font-size: 11px;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--white); line-height: 1.3;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

/* ══ REEL CARDS — video first frame, gradient overlay only ════ */
.reel-card-inner { position: relative; height: 420px; overflow: hidden; border-radius: var(--radius-lg); }
.reel-card-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  z-index: 0;
  transition: transform 0.4s ease;
}
.reel-card:hover .reel-card-video { transform: scale(1.05); }

/* Remove the colour tint overlays — only keep the dark gradient below text */
.reel-card-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.10) 0%,
    rgba(0,0,0,0.05) 35%,
    rgba(0,0,0,0.55) 70%,
    rgba(0,0,0,0.85) 100%
  );
  display: flex; flex-direction: column;
  justify-content: space-between; padding: 16px;
}
/* Hide any leftover class-color-overlays inside reel cards */
.reel-card .class-color-overlay { display: none !important; }

/* ══ REVIEWS — center lone last card ═════════════════════════ */
.testi-grid-centered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
/* 3 review cards + 1 CTA = 4 items. Last item spans full row when alone */
.testi-grid-centered .testi-card:last-child:nth-child(3n+1) {
  grid-column: 2 / 3;
}
/* When we have exactly 4 items: last item centers */
.testi-grid-centered .testi-card:nth-child(4):last-child {
  grid-column: 2 / 3;
}

/* ══ CONTACT — full-width map below grid ═════════════════════ */
.contact-map-full {
  margin-top: 48px;
  border-top: 1px solid var(--border-dim);
  padding-top: 28px;
}
.contact-map-full iframe {
  border-radius: 14px;
  outline: 1px solid var(--border-dim);
}

/* ══ REELS CAROUSEL — remove dots, tighten wrap ══════════════ */
.reels-dots { display: none !important; }
.reels-carousel-wrap { padding: 0 56px; }

@media (max-width: 1024px) {
  .hero-floating-cards { display: none !important; }
  .testi-grid-centered { grid-template-columns: repeat(2,1fr); }
  .testi-grid-centered .testi-card:nth-child(4):last-child { grid-column: auto; }
}
@media (max-width: 600px) {
  .testi-grid-centered { grid-template-columns: 1fr; }
  .contact-map-full iframe { height: 240px; }
  .reels-carousel-wrap { padding: 0 36px; }
}

/* ══ MEMBERSHIP PLANS — properly centered ═════════════════════ */
.membership .container { max-width: 1100px; margin: 0 auto; }

/* 3-plan grid on home page (Daily, Monthly, Annual shown) */
.plans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
  max-width: 900px;
  margin: 0 auto;
}
.plans-grid .plan-card.popular {
  transform: scale(1.04);
  position: relative;
  z-index: 1;
}
.plans-grid .plan-card.popular:hover { transform: scale(1.04) translateY(-4px); }

/* Period label fix — show /day for daily */
.plan-card .period { font-size: 15px; color: var(--text-muted); margin-left: 2px; }

/* ══ CLASSES GRID on homepage — 3-col for 6 cards ════════════ */
.classes .classes-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px;
}
@media (max-width: 1024px) {
  .classes .classes-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .plans-grid { max-width: 100%; }
}
@media (max-width: 600px) {
  .classes .classes-grid { grid-template-columns: 1fr !important; }
  .plans-grid { grid-template-columns: 1fr; }
  .plans-grid .plan-card.popular { transform: none; }
}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE — Clean Final Version (no hamburger)
   Header stays visible at all sizes, shrinks gracefully
══════════════════════════════════════════════════════════════ */

/* ── Remove any leftover hamburger/drawer styles ──────────── */
.hamburger, .mobile-drawer, .nav-backdrop,
.nav-mobile-auth, .mobile-nav-links, .mobile-drawer-auth { display: none !important; }

/* ── TABLET  ≤1024px ───────────────────────────────────────── */
@media (max-width: 1024px) {

  /* Nav — tighten gaps */
  .nav-links     { gap: 16px; }
  .nav-link      { font-size: 11px; letter-spacing: 1px; }
  .nav-cta       { padding: 8px 14px; font-size: 11px; }
  .nav-logo-img  { height: 38px; }

  /* Hero floating cards — hide, they overflow on tablet */
  .hero-floating-cards { display: none; }

  /* Grids — 2 columns */
  .services-grid   { grid-template-columns: repeat(2,1fr); }
  .trainers-grid   { grid-template-columns: repeat(2,1fr); }
  .testi-grid, .testi-grid-centered { grid-template-columns: repeat(2,1fr); }
  .testi-grid-centered .testi-card:nth-child(4):last-child { grid-column: auto; }
  .plans-grid      { grid-template-columns: repeat(2,1fr); max-width:100%!important; }
  .plan-card.popular { transform:none; grid-column:1/-1; max-width:420px; margin:0 auto; width:100%; }
  .classes-grid, .classes .classes-grid { grid-template-columns: repeat(2,1fr) !important; }
  .classes-grid-page { grid-template-columns: repeat(2,1fr) !important; }

  /* Reel layout — stack */
  .reel-layout   { grid-template-columns: 1fr; gap: 48px; }
  .reel-chip     { display: none; }

  /* Why us */
  .why-inner     { gap: 48px; }
  .why-float-1, .why-float-2 { display: none; }

  /* Contact */
  .contact-grid  { gap: 40px; }

  /* Footer — 2 cols */
  .footer-inner  { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-brand  { grid-column: 1 / -1; }

  /* Membership */
  .mem-plans-wrap { grid-template-columns: repeat(3,1fr); }

  /* Decorative floats */
  .reviews-float, .membership-float, .services-float-1 { display: none; }

  /* Rating aggregate */
  .rating-aggregate { flex-direction: column; text-align: center; }
  .ra-bars { align-items: stretch; }
}

/* ── MOBILE  ≤768px ────────────────────────────────────────── */
@media (max-width: 768px) {

  /* ── NAV: wrap to 2 rows, logo top, links below ── */
  .nav-container {
    height: auto !important;
    flex-wrap: wrap;
    padding: 10px 16px;
    gap: 8px;
  }
  .nav-brand { order: 1; flex: 0 0 auto; }
  .nav-actions { order: 2; flex: 0 0 auto; margin-left: auto; gap: 8px; }
  .main-nav {
    order: 3;
    width: 100%;
    border-top: 1px solid rgba(255,122,0,0.15);
    padding-top: 8px;
    padding-bottom: 6px;
  }
  .nav-links {
    flex-wrap: wrap;
    gap: 0;
    justify-content: center;
  }
  .nav-link {
    padding: 8px 10px;
    font-size: 10px;
    letter-spacing: 1px;
  }
  .nav-logo-img { height: 32px; }
  .nav-cta      { padding: 7px 12px; font-size: 10px; letter-spacing: 1px; }

  /* Keep header scrolled state offset correct */
  .hero, .page-hero { padding-top: 100px; }

  /* ── SCROLL: never block it ── */
  html { overflow-x: hidden; overflow-y: scroll; }
  body { overflow-x: hidden; overflow-y: auto; min-height: 100vh; }

  /* Remove overflow:hidden from sections that block mobile scroll */
  .hero, .reel-section, .reels-section, .services, .why-us,
  .membership, .cta-banner, .reviews-section, .contact, .classes {
    overflow: visible;
  }

  /* ── HERO ── */
  .hero-floating-cards { display: none !important; }
  .hero-float          { display: none !important; }
  .hero-content { padding-top: 32px; padding-bottom: 72px; text-align: center; }
  .hero-title   { font-size: clamp(52px,13vw,88px); }
  .hero-badge   { font-size: 10px; }
  .hero-sub     { font-size: 14px; }
  .hero-actions { justify-content: center; flex-wrap: wrap; gap: 12px; }
  .hero-stats   { justify-content: center; flex-wrap: wrap; }
  .stat-item    { padding: 0 12px; }
  .stat-divider { display: none; }

  /* ── ALL GRIDS → 1 column ── */
  .services-grid   { grid-template-columns: 1fr !important; gap: 14px; }
  .classes-grid, .classes .classes-grid { grid-template-columns: 1fr !important; gap: 14px; }
  .classes-grid-page { grid-template-columns: 1fr !important; gap: 14px; }
  .plans-grid      { grid-template-columns: 1fr !important; max-width:100%!important; }
  .plan-card.popular { transform:none; grid-column:auto; max-width:100%; margin:0; }
  .mem-plans-wrap  { grid-template-columns: 1fr !important; }
  .testi-grid, .testi-grid-centered { grid-template-columns: 1fr !important; }
  .testi-card:nth-child(4):last-child { grid-column: auto !important; }
  .trainers-grid   { grid-template-columns: 1fr !important; }
  .why-inner       { grid-template-columns: 1fr !important; text-align: center; }
  .reel-layout     { grid-template-columns: 1fr !important; gap: 40px; }
  .contact-grid    { grid-template-columns: 1fr !important; gap: 36px; }
  .footer-inner    { grid-template-columns: 1fr !important; gap: 28px !important; padding: 48px 20px 32px !important; }
  .footer-brand    { grid-column: auto !important; }
  .form-row        { grid-template-columns: 1fr !important; }

  /* ── SECTION SPACING ── */
  .services, .why-us, .classes, .membership, .reviews-section,
  .cta-banner, .contact, .reels-section, .reel-section { padding: 64px 0; }
  .inner-section { padding: 56px 0 !important; }

  /* ── WHY US ── */
  .why-list li      { text-align: left; }
  .why-card-stack   { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 12px; }
  .why-stat-card    { flex: 1 1 120px; text-align: center; align-items: center; }
  .why-ctas         { justify-content: center; }
  .why-float-1, .why-float-2 { display: none !important; }

  /* ── REELS ── */
  .reels-carousel-wrap { padding: 0 40px; }
  .reel-card        { width: calc(100vw - 100px) !important; max-width: 300px; }
  .reel-card-inner  { height: 320px !important; }

  /* ── REVIEWS ── */
  .rating-hero      { padding: 24px 20px; }
  .rh-star          { font-size: 40px; }
  .rh-score         { font-size: 44px; }
  .reviews-float    { display: none !important; }

  /* ── CTA ── */
  .cta-title        { font-size: clamp(32px,8vw,52px); }
  .cta-actions      { flex-direction: column; align-items: center; gap: 12px; }
  .cta-actions .btn { width: 100%; max-width: 300px; justify-content: center; }
  .cta-float-1, .cta-float-2 { display: none; }

  /* ── CONTACT ── */
  .contact-map-full iframe { height: 240px; }

  /* ── FOOTER ── */
  .footer-bottom  { flex-direction: column !important; text-align: center !important; gap: 8px !important; }
  .footer-credits { justify-content: center !important; }

  /* ── MEMBERSHIP FLOAT ── */
  .membership-float, .services-float-1 { display: none !important; }
}

/* ── SMALL PHONES ≤480px ───────────────────────────────────── */
@media (max-width: 480px) {
  .container    { padding: 0 14px; }
  .nav-link     { font-size: 9px; padding: 7px 8px; }
  .nav-cta      { font-size: 9px; padding: 6px 10px; letter-spacing: 0.5px; }
  .nav-logo-img { height: 28px; }
  .hero-title   { font-size: clamp(44px,14vw,72px); }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .section-title { font-size: clamp(28px,9vw,40px); letter-spacing: 1px; }
  .btn-lg        { padding: 13px 20px; font-size: 12px; }
  .reel-card     { width: calc(100vw - 72px) !important; }
  .reel-card-inner { height: 280px !important; }
  .reels-carousel-wrap { padding: 0 28px; }
  .footer-inner  { grid-template-columns: 1fr !important; }
  .service-card  { padding: 24px 18px; }
  .contact-form-wrap { padding: 20px 14px; }
}

/* ── NO HOVER on touch screens ─────────────────────────────── */
@media (hover: none) {
  .service-card:hover, .class-card:hover, .plan-card:hover,
  .mem-plan-card:hover, .testi-card:hover, .reel-card:hover { transform: none !important; }
  .btn { min-height: 44px; }
}
