/* ============================================================
   ANYTIME FITNESS INDIA — Premium Website Styles
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

/* ─── DESIGN TOKENS ─────────────────────────────────────── */
:root {
  --purple-darkest: #1A0D3D;
  --purple-dark:    #2D1B69;
  --purple-primary: #5B21B6;
  --purple-medium:  #7C3AED;
  --purple-light:   #A78BFA;
  --purple-pale:    #EDE9FE;
  --purple-ultra:   #F8F7FF;  /* very barely tinted — near white */

  --accent-orange: #F97316;
  --accent-pink:   #EC4899;

  --white:    #FAF9F7;   /* warm off-white */
  --gray-50:  #F4F3F0;  /* warm light sand */
  --gray-100: #ECEAE6;  /* slightly deeper warm neutral */
  --gray-200: #E5E7EB;
  --gray-300: #D1D5DB;
  --gray-400: #9CA3AF;
  --gray-500: #6B7280;
  --gray-600: #4B5563;
  --gray-700: #374151;
  --gray-800: #1F2937;
  --gray-900: #111827;
  --dark:     #0F0A1E;

  --grad-primary:    linear-gradient(135deg, #2D1B69 0%, #7C3AED 100%);
  --grad-hero:       linear-gradient(110deg, rgba(5,5,10,.82) 0%, rgba(15,10,30,.62) 45%, rgba(10,8,20,.3) 75%, rgba(0,0,0,.15) 100%);
  --grad-vivid:      linear-gradient(135deg, #C084FC, #F9A8D4);
  --grad-orange:     linear-gradient(135deg, #F97316, #EC4899);

  --shadow-sm:     0 1px 2px rgba(0,0,0,.05);
  --shadow-md:     0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  --shadow-lg:     0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);
  --shadow-xl:     0 20px 25px -5px rgba(0,0,0,.15), 0 10px 10px -5px rgba(0,0,0,.08);
  --shadow-purple: 0 8px 24px rgba(124,58,237,.15);
  --shadow-pur-lg: 0 16px 48px rgba(124,58,237,.22);

  --radius-sm:   .5rem;
  --radius-md:   .75rem;
  --radius-lg:   1rem;
  --radius-xl:   1.5rem;
  --radius-2xl:  2rem;
  --radius-full: 9999px;

  --t-fast: .15s ease;
  --t-base: .3s ease;
  --t-slow: .55s ease;

  --font: 'Poppins', sans-serif;
  --container: 1280px;
}

/* ─── RESET ──────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font); color:var(--gray-800); background:var(--white); overflow-x:hidden; line-height:1.6; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; border:none; outline:none; background:none; font-family:var(--font); }
h1,h2,h3,h4,h5,h6 { font-weight:600; line-height:1.2; color:var(--gray-900); }

/* ─── LAYOUT UTILS ───────────────────────────────────────── */
.container { max-width:var(--container); margin:0 auto; padding:0 3.5rem; }
.section-pad { padding:7rem 0; }
.text-center { text-align:center; }

.section-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--gray-100); color:var(--gray-600);
  border:1px solid var(--gray-200);
  padding:.375rem 1rem; border-radius:var(--radius-full);
  font-size:.8125rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; margin-bottom:1.25rem;
}

.section-title {
  font-size:clamp(2rem,4vw,2.75rem);
  font-weight:700; line-height:1.1; letter-spacing:-.015em; margin-bottom:1rem;
}
.section-title span { background:var(--grad-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.section-sub { font-size:1.0625rem; color:var(--gray-500); line-height:1.75; max-width:600px; }
.section-sub.mx { margin:0 auto; }

/* ─── BUTTONS ────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.7rem 1.625rem; border-radius:var(--radius-full);
  font-size:.9375rem; font-weight:600; font-family:var(--font);
  border:2px solid transparent; transition:all var(--t-base); cursor:pointer;
}
.btn-primary { background:var(--grad-primary); color:var(--white); box-shadow:var(--shadow-purple); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:var(--shadow-pur-lg); }

.btn-outline-white { background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); backdrop-filter:blur(10px); }
.btn-outline-white:hover { background:rgba(255,255,255,.15); border-color:var(--white); transform:translateY(-2px); }

.btn-outline-purple { background:transparent; color:var(--purple-medium); border-color:var(--purple-medium); }
.btn-outline-purple:hover { background:var(--purple-medium); color:var(--white); transform:translateY(-2px); }

.btn-white { background:var(--white); color:var(--purple-primary); box-shadow:var(--shadow-lg); }
.btn-white:hover { transform:translateY(-2px); box-shadow:var(--shadow-xl); }

.btn-sm { padding:.5rem 1.25rem; font-size:.8125rem; }
.btn-lg { padding:.875rem 2rem; font-size:1rem; }

/* ─── REVEAL ANIMATIONS ──────────────────────────────────── */
.reveal        { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }
.reveal-left   { opacity:0; transform:translateX(-40px); transition:opacity .7s ease, transform .7s ease; }
.reveal-right  { opacity:0; transform:translateX(40px); transition:opacity .7s ease, transform .7s ease; }
.reveal.active, .reveal-left.active, .reveal-right.active { opacity:1; transform:translate(0); }

/* ─── KEYFRAMES ──────────────────────────────────────────── */
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.35)} }
@keyframes float-up  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
@keyframes marquee   { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes spin-slow { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

/* ─── NAVIGATION ─────────────────────────────────────────── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:1.25rem 0; transition:all var(--t-base);
}
#navbar.scrolled {
  background:rgba(250,249,247,.97);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  box-shadow:0 1px 24px rgba(0,0,0,.07); padding:.875rem 0;
}

.nav-wrap { max-width:var(--container); margin:0 auto; padding:0 3.5rem; display:flex; align-items:center; justify-content:space-between; }

.nav-logo { display:flex; align-items:center; gap:.75rem; }
.logo-mark {
  width:44px; height:44px; background:var(--grad-primary);
  border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:900; font-size:1.25rem; letter-spacing:-1px;
  box-shadow:var(--shadow-purple); flex-shrink:0;
}
.logo-text { display:flex; flex-direction:column; line-height:1.1; }
.logo-text .lg-name   { font-size:.875rem; font-weight:800; color:var(--white); transition:color var(--t-base); }
.logo-text .lg-country{ font-size:.6875rem; font-weight:500; color:rgba(255,255,255,.65); letter-spacing:.08em; text-transform:uppercase; transition:color var(--t-base); }
#navbar.scrolled .logo-text .lg-name   { color:var(--gray-900); }
#navbar.scrolled .logo-text .lg-country{ color:var(--gray-400); }

.nav-links { display:flex; align-items:center; gap:.25rem; }
.nav-links a { padding:.5rem .875rem; border-radius:var(--radius-full); font-size:.875rem; font-weight:500; color:var(--white); transition:all var(--t-base); }
#navbar.scrolled .nav-links a { color:var(--gray-700); }
.nav-links a:hover { background:rgba(255,255,255,.15); }
#navbar.scrolled .nav-links a:hover { background:var(--gray-100); color:var(--gray-900); }

.nav-actions { display:flex; align-items:center; gap:1rem; }
.btn-nav-join {
  background:var(--grad-primary); color:#fff;
  padding:.625rem 1.5rem; border-radius:var(--radius-full);
  font-size:.875rem; font-weight:700; box-shadow:var(--shadow-purple);
  transition:all var(--t-base);
}
.btn-nav-join:hover { transform:translateY(-1px); box-shadow:var(--shadow-pur-lg); }

.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:.5rem; }
.hamburger span { display:block; width:24px; height:2px; background:var(--white); border-radius:2px; transition:all var(--t-base); }
#navbar.scrolled .hamburger span { background:var(--gray-800); }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-menu {
  position:fixed; inset:0; background:var(--white); z-index:998;
  padding:5.5rem 2rem 2rem; transform:translateX(100%);
  transition:transform var(--t-base); overflow-y:auto;
}
.mobile-menu.open { transform:translateX(0); }
.mobile-menu a { display:block; padding:.875rem 0; font-size:1.25rem; font-weight:600; color:var(--gray-800); border-bottom:1px solid var(--gray-100); }
.mobile-menu a:hover { color:var(--purple-medium); }
.mobile-menu .m-join { margin-top:1.5rem; background:var(--grad-primary); color:#fff; text-align:center; padding:1rem; border-radius:var(--radius-full); font-weight:700; border-bottom:none; }

/* ─── HERO ───────────────────────────────────────────────── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.hero-overlay { position:absolute; inset:0; background:var(--grad-hero); }

.hero-content {
  position:relative; z-index:1;
  max-width:var(--container); margin:0 auto; width:100%; padding:9rem 1.5rem 6rem;
  display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center;
}

.hero-badge {
  display:inline-flex; align-items:center; gap:.625rem;
  background:rgba(255,255,255,.12); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.9);
  padding:.5rem 1.375rem; border-radius:var(--radius-full);
  font-size:.8125rem; font-weight:600; letter-spacing:.06em; margin-bottom:1.5rem;
}
.live-dot { width:8px; height:8px; background:#4ADE80; border-radius:50%; animation:pulse-dot 2s infinite; }

.hero-title {
  font-size:clamp(3rem,7vw,5.5rem); font-weight:700; color:#fff;
  line-height:1.05; letter-spacing:-.02em; margin-bottom:1.5rem;
}
.hero-title .grad-text { background:var(--grad-vivid); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.hero-sub { font-size:clamp(1.0625rem,2.2vw,1.3125rem); color:rgba(255,255,255,.82); line-height:1.7; margin-bottom:2.5rem; max-width:520px; }

.hero-btns { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:3rem; }

.hero-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; max-width:380px; }
.h-stat {
  background:rgba(255,255,255,.1); backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-lg); padding:1rem 1.25rem; text-align:center;
}
.h-stat .sn { font-size:1.5rem; font-weight:800; color:#fff; display:block; line-height:1.2; }
.h-stat .sl { font-size:.6875rem; color:rgba(255,255,255,.6); font-weight:500; text-transform:uppercase; letter-spacing:.06em; }

/* Hero right floating cards */
.hero-right { display:flex; flex-direction:column; gap:1.25rem; }
.hero-float-card {
  background:rgba(255,255,255,.1); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-xl); padding:1.5rem;
  color:#fff; animation:float-up 5s ease-in-out infinite;
}
.hero-float-card:nth-child(2) { animation-delay:1.5s; }
.hero-float-card:nth-child(3) { animation-delay:3s; }
.hfc-icon {
  width:44px; height:44px; background:var(--grad-primary); border-radius:var(--radius-md);
  display:flex; align-items:center; justify-content:center; font-size:1.25rem;
  margin-bottom:.75rem; box-shadow:var(--shadow-purple);
}
.hero-float-card h3 { font-size:.9375rem; font-weight:700; color:#fff; margin-bottom:.25rem; }
.hero-float-card p  { font-size:.8125rem; color:rgba(255,255,255,.68); line-height:1.5; }

.scroll-hint {
  position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%);
  z-index:1; display:flex; flex-direction:column; align-items:center; gap:.5rem;
  color:rgba(255,255,255,.55); font-size:.6875rem; letter-spacing:.12em; text-transform:uppercase;
  animation:float-up 2.5s ease-in-out infinite;
}

/* ─── MARQUEE BAR ────────────────────────────────────────── */
.marquee-bar { background:var(--dark); padding:1.125rem 0; overflow:hidden; }
.marquee-inner { display:flex; gap:4rem; animation:marquee 28s linear infinite; white-space:nowrap; width:max-content; }
.m-item { display:flex; align-items:center; gap:.75rem; color:rgba(255,255,255,.65); font-size:.875rem; font-weight:500; }
.m-item i { color:var(--purple-light); font-size:1rem; }

/* ─── ABOUT ──────────────────────────────────────────────── */
.about { padding:7rem 0; background:var(--white); overflow:hidden; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }

.about-img-wrap { position:relative; }
.about-img-main { border-radius:var(--radius-2xl); overflow:hidden; box-shadow:var(--shadow-xl); }
.about-img-main img { width:100%; height:520px; object-fit:cover; transition:transform .6s ease; }
.about-img-main:hover img { transform:scale(1.04); }

.about-img-badge {
  position:absolute; top:2rem; left:-2rem;
  background:var(--grad-primary); color:#fff;
  padding:1.125rem 1.5rem; border-radius:var(--radius-xl); text-align:center;
  box-shadow:var(--shadow-pur-lg);
}
.about-img-badge .bn { font-size:2rem; font-weight:900; display:block; line-height:1; }
.about-img-badge .bl { font-size:.6875rem; opacity:.85; font-weight:500; }

.about-img-sec {
  position:absolute; bottom:-2rem; right:-2rem;
  width:185px; height:185px; border-radius:var(--radius-xl);
  overflow:hidden; border:4px solid #fff; box-shadow:var(--shadow-xl);
}
.about-img-sec img { width:100%; height:100%; object-fit:cover; }

.about-tagline { font-size:clamp(1.75rem,3vw,2.25rem); font-weight:700; margin-bottom:1.5rem; line-height:1.15; letter-spacing:-.01em; }
.about-tagline span { background:var(--grad-primary); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.about-desc { font-size:.9375rem; color:var(--gray-600); line-height:1.8; margin-bottom:2rem; }

.about-milestones { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-bottom:2.5rem; }
.milestone { text-align:center; padding:1.25rem 1rem; background:var(--gray-50); border-radius:var(--radius-lg); border:1px solid var(--gray-200); }
.milestone .mn { font-size:1.5rem; font-weight:600; display:block; margin-bottom:.25rem; color:var(--gray-900); }
.milestone .ml { font-size:.6875rem; color:var(--gray-500); font-weight:500; text-transform:uppercase; letter-spacing:.06em; }

/* ─── SERVICES ───────────────────────────────────────────── */
.services { padding:7rem 0; background:var(--gray-50); overflow:hidden; position:relative; }
.services-head { text-align:center; margin-bottom:4rem; }

.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }

.svc-card {
  background:var(--white); border:1px solid var(--gray-100);
  border-radius:var(--radius-xl); padding:2rem 1.75rem;
  transition:all var(--t-base); position:relative; overflow:hidden; cursor:pointer;
}
.svc-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-purple); border-color:var(--purple-light); }

.svc-icon {
  width:60px; height:60px; background:var(--gray-100);
  border-radius:var(--radius-lg); display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--gray-600); margin-bottom:1.25rem;
  transition:all var(--t-base);
}
.svc-card:hover .svc-icon { background:var(--grad-primary); color:#fff; transform:scale(1.08); box-shadow:var(--shadow-purple); }
.svc-card h3 { font-size:1.0625rem; font-weight:600; margin-bottom:.75rem; }
.svc-card p  { font-size:.875rem; color:var(--gray-500); line-height:1.75; }

.svc-arrow {
  position:absolute; bottom:1.5rem; right:1.5rem;
  width:34px; height:34px; background:var(--gray-100);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:var(--gray-600); font-size:.8125rem;
  opacity:0; transform:translateX(-6px); transition:all var(--t-base);
}
.svc-card:hover .svc-arrow { opacity:1; transform:translateX(0); background:var(--grad-primary); color:#fff; }

/* ─── WHY SECTION ────────────────────────────────────────── */
.why { padding:7rem 0; background:linear-gradient(160deg,#111111 0%,#1A1A1A 50%,#111111 100%); position:relative; overflow:hidden; color:#fff; }
.why::before { content:''; position:absolute; top:-200px; right:-200px; width:600px; height:600px; background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%); pointer-events:none; }
.why::after  { content:''; position:absolute; bottom:-200px; left:-200px; width:500px; height:500px; background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%); pointer-events:none; }

.why-head { text-align:center; margin-bottom:4rem; position:relative; z-index:1; }
.why-head .section-badge { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:rgba(255,255,255,.85); }
.why-head .section-title { color:#fff; }
.why-head .section-title span { background:var(--grad-vivid); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.why-head .section-sub { color:rgba(255,255,255,.6); }

.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; position:relative; z-index:1; }
.why-card {
  background:rgba(255,255,255,.06); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-xl);
  padding:2.5rem 2rem; text-align:center; transition:all var(--t-base);
}
.why-card:hover { background:rgba(255,255,255,.1); transform:translateY(-7px); border-color:rgba(168,85,247,.4); box-shadow:0 20px 40px rgba(0,0,0,.3); }

.why-icon {
  width:68px; height:68px; background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-xl);
  display:flex; align-items:center; justify-content:center; font-size:1.875rem;
  color:var(--purple-light); margin:0 auto 1.5rem; transition:all var(--t-base);
}
.why-card:hover .why-icon { background:var(--grad-primary); color:#fff; border-color:transparent; box-shadow:var(--shadow-purple); transform:scale(1.08); }
.why-card h3 { font-size:1.0625rem; font-weight:600; color:#fff; margin-bottom:.75rem; }
.why-card p  { color:rgba(255,255,255,.58); font-size:.875rem; line-height:1.75; }

.why-stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin-top:4rem; position:relative; z-index:1; }
.why-stat { text-align:center; padding:2rem; background:rgba(255,255,255,.05); border-radius:var(--radius-xl); border:1px solid rgba(255,255,255,.08); }
.why-stat .ws-num { font-size:clamp(2.25rem,4vw,3.25rem); font-weight:700; display:block; line-height:1; margin-bottom:.5rem; background:var(--grad-vivid); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.why-stat .ws-lbl { color:rgba(255,255,255,.6); font-size:.875rem; font-weight:500; }

/* ─── FITNESS EXPERIENCE ─────────────────────────────────── */
.experience { padding:7rem 0; background:var(--white); overflow:hidden; }
.experience-head { text-align:center; margin-bottom:4rem; }

.exp-showcase {
  display:grid; grid-template-columns:repeat(3,1fr);
  grid-template-rows:300px 300px; gap:1.25rem;
}
.exp-item { position:relative; overflow:hidden; border-radius:var(--radius-xl); }
.exp-item:first-child { grid-row:span 2; }
.exp-item img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.exp-item:hover img { transform:scale(1.07); }
.exp-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(29,14,80,.82) 0%,transparent 55%);
  display:flex; align-items:flex-end; padding:1.5rem;
  opacity:0; transition:opacity var(--t-base);
}
.exp-item:hover .exp-overlay { opacity:1; }
.exp-lbl { color:#fff; font-weight:700; font-size:1.0625rem; }

/* ─── MEMBERSHIP ─────────────────────────────────────────── */
.membership { padding:7rem 0; background:var(--gray-50); }
.membership-head { text-align:center; margin-bottom:4rem; }

.mem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; align-items:stretch; }
.mem-card {
  background:var(--white); border:2px solid var(--gray-200);
  border-radius:var(--radius-2xl); padding:2.5rem 2rem;
  display:flex; flex-direction:column; position:relative;
  transition:all var(--t-base);
}
.mem-card.popular { background:var(--grad-primary); border-color:transparent; box-shadow:var(--shadow-pur-lg); }
.mem-card:hover:not(.popular) { transform:translateY(-7px); box-shadow:var(--shadow-purple); border-color:var(--purple-light); }

.pop-badge {
  position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  background:var(--grad-orange); color:#fff;
  padding:.375rem 1.5rem; border-radius:0 0 var(--radius-lg) var(--radius-lg);
  font-size:.6875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}

.plan-name { font-size:.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--purple-medium); margin-bottom:.5rem; }
.mem-card.popular .plan-name { color:rgba(255,255,255,.8); }

.price-wrap { margin-bottom:.625rem; }
.price-amount { font-size:2.75rem; font-weight:700; color:var(--gray-900); line-height:1; }
.mem-card.popular .price-amount { color:#fff; }
.price-per { font-size:.875rem; color:var(--gray-400); }
.mem-card.popular .price-per { color:rgba(255,255,255,.6); }

.plan-desc { font-size:.875rem; color:var(--gray-500); margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1px solid var(--gray-100); }
.mem-card.popular .plan-desc { color:rgba(255,255,255,.68); border-bottom-color:rgba(255,255,255,.15); }

.plan-features { flex:1; margin-bottom:2rem; }
.plan-features li { display:flex; align-items:flex-start; gap:.75rem; font-size:.875rem; color:var(--gray-700); padding:.5rem 0; }
.mem-card.popular .plan-features li { color:rgba(255,255,255,.85); }
.plan-features li i { color:var(--purple-medium); font-size:.875rem; flex-shrink:0; margin-top:.125rem; }
.mem-card.popular .plan-features li i { color:rgba(255,255,255,.75); }

.btn-plan {
  display:block; text-align:center; padding:.875rem; border-radius:var(--radius-full);
  font-weight:600; font-size:.9375rem; font-family:var(--font); margin-top:auto; transition:all var(--t-base); cursor:pointer;
}
.mem-card:not(.popular) .btn-plan { background:var(--grad-primary); color:#fff; box-shadow:var(--shadow-purple); }
.mem-card:not(.popular) .btn-plan:hover { transform:translateY(-2px); box-shadow:var(--shadow-pur-lg); }
.mem-card.popular .btn-plan { background:#fff; color:var(--purple-primary); }
.mem-card.popular .btn-plan:hover { background:rgba(255,255,255,.9); transform:translateY(-2px); }

.mem-note { text-align:center; margin-top:3rem; color:var(--gray-500); font-size:.875rem; }

/* ─── FIND A CLUB ────────────────────────────────────────── */
.find-club { padding:7rem 0; background:var(--white); }
.find-club-head { text-align:center; margin-bottom:3rem; }

.search-wrap {
  max-width:580px; margin:0 auto 3rem; display:flex;
  background:#fff; border:2px solid var(--gray-200); border-radius:var(--radius-full);
  overflow:hidden; box-shadow:var(--shadow-lg); transition:border-color var(--t-base);
}
.search-wrap:focus-within { border-color:var(--purple-medium); box-shadow:var(--shadow-purple); }
.search-wrap input { flex:1; padding:1rem 1.5rem; border:none; outline:none; font-family:var(--font); font-size:1rem; color:var(--gray-800); }
.search-wrap .s-btn {
  background:var(--grad-primary); color:#fff; padding:1rem 2rem; border:none;
  font-family:var(--font); font-size:.9375rem; font-weight:600; cursor:pointer;
  display:flex; align-items:center; gap:.5rem; transition:opacity var(--t-fast);
}
.search-wrap .s-btn:hover { opacity:.9; }

.city-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:.75rem; margin-bottom:4rem; }
.city-chip {
  padding:.5rem 1.375rem; border-radius:var(--radius-full);
  border:2px solid var(--gray-200); font-size:.875rem; font-weight:600;
  color:var(--gray-600); cursor:pointer; transition:all var(--t-base);
}
.city-chip:hover, .city-chip.active { background:var(--grad-primary); color:#fff; border-color:transparent; box-shadow:var(--shadow-purple); }

.clubs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.club-card { background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-xl); overflow:hidden; transition:all var(--t-base); }
.club-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); border-color:var(--purple-light); }

.club-img { height:210px; overflow:hidden; position:relative; }
.club-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.club-card:hover .club-img img { transform:scale(1.07); }
.club-tag { position:absolute; top:1rem; left:1rem; background:rgba(29,14,80,.88); backdrop-filter:blur(8px); color:#fff; padding:.25rem .875rem; border-radius:var(--radius-full); font-size:.6875rem; font-weight:700; }

.club-body { padding:1.5rem; }
.club-body h3 { font-size:1.0625rem; font-weight:600; margin-bottom:.5rem; }
.club-addr { display:flex; align-items:flex-start; gap:.5rem; color:var(--gray-500); font-size:.875rem; margin-bottom:1rem; }
.club-addr i { color:var(--purple-medium); margin-top:.125rem; flex-shrink:0; }

.club-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.club-tag-item { background:var(--gray-100); color:var(--gray-600); padding:.25rem .75rem; border-radius:var(--radius-full); font-size:.6875rem; font-weight:600; border:1px solid var(--gray-200); }

.club-foot { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid var(--gray-100); }
.open-now { display:flex; align-items:center; gap:.5rem; color:#16A34A; font-size:.875rem; font-weight:600; }
.open-now::before { content:''; width:8px; height:8px; background:#16A34A; border-radius:50%; animation:pulse-dot 2s infinite; }

/* ─── COMMUNITY ──────────────────────────────────────────── */
.community { padding:7rem 0; background:var(--gray-50); overflow:hidden; }
.community-head { text-align:center; margin-bottom:4rem; }

.events-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.event-card { background:var(--white); border-radius:var(--radius-xl); overflow:hidden; border:1px solid var(--gray-200); transition:all var(--t-base); }
.event-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-purple); border-color:var(--purple-light); }

.ev-img { height:185px; overflow:hidden; position:relative; }
.ev-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.event-card:hover .ev-img img { transform:scale(1.08); }
.ev-cat { position:absolute; top:1rem; left:1rem; padding:.25rem .875rem; border-radius:var(--radius-full); font-size:.6875rem; font-weight:700; color:#fff; }
.ev-cat.c-purple { background:var(--purple-medium); }
.ev-cat.c-pink   { background:#EC4899; }
.ev-cat.c-orange { background:#F97316; }
.ev-cat.c-green  { background:#16A34A; }

.ev-body { padding:1.25rem; }
.ev-body h3 { font-size:1.0625rem; font-weight:600; margin-bottom:.5rem; line-height:1.3; }
.ev-body p  { font-size:.875rem; color:var(--gray-500); line-height:1.7; margin-bottom:.875rem; }
.ev-meta { display:flex; align-items:center; justify-content:space-between; font-size:.8125rem; color:var(--gray-400); }
.ev-meta span { display:flex; align-items:center; gap:.375rem; }

/* ─── APP SECTION ────────────────────────────────────────── */
.app-section { padding:7rem 0; background:#111111; position:relative; overflow:hidden; color:#fff; }
.app-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.03) 0%,transparent 50%);
  pointer-events:none;
}
.app-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; position:relative; z-index:1; }
.app-content .section-badge { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.2); color:rgba(255,255,255,.85); }
.app-content .section-title { color:#fff; }
.app-content .section-title span { background:var(--grad-vivid); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.app-content .section-sub { color:rgba(255,255,255,.62); margin-bottom:2.5rem; }

.app-feats { display:flex; flex-direction:column; gap:1.25rem; margin-bottom:2.5rem; }
.app-feat { display:flex; gap:1.25rem; align-items:flex-start; }
.af-icon { width:46px; height:46px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:var(--purple-light); flex-shrink:0; }
.af-text h4 { font-size:.9375rem; font-weight:600; color:#fff; margin-bottom:.25rem; }
.af-text p  { font-size:.875rem; color:rgba(255,255,255,.58); line-height:1.75; }

.app-store-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.store-btn {
  display:flex; align-items:center; gap:.875rem;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
  padding:.875rem 1.5rem; border-radius:var(--radius-lg); color:#fff;
  transition:all var(--t-base); backdrop-filter:blur(12px);
}
.store-btn:hover { background:rgba(255,255,255,.2); transform:translateY(-2px); }
.store-btn i { font-size:1.625rem; }
.store-text { display:flex; flex-direction:column; }
.store-text .st-sub { font-size:.625rem; text-transform:uppercase; letter-spacing:.08em; opacity:.65; }
.store-text .st-main { font-size:.875rem; font-weight:700; }

/* Phone mockup */
.app-visual { display:flex; justify-content:center; align-items:center; position:relative; }
.phone-wrap {
  width:280px; height:560px;
  background:linear-gradient(145deg,#1A1A2E,#16213E);
  border-radius:44px; border:10px solid rgba(255,255,255,.1);
  overflow:hidden; position:relative;
  box-shadow:0 0 0 1px rgba(255,255,255,.05),0 50px 100px rgba(0,0,0,.55),0 0 80px rgba(124,58,237,.3);
}
.phone-screen { width:100%; height:100%; background:linear-gradient(160deg,#0F0A1E 0%,#2D1B69 100%); display:flex; flex-direction:column; padding:1.25rem 1rem; overflow:hidden; }
.p-status { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.5rem; font-size:.625rem; color:rgba(255,255,255,.65); font-weight:600; }
.p-header { display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; }
.p-icon { width:34px; height:34px; background:var(--grad-primary); border-radius:10px; display:flex; align-items:center; justify-content:center; font-weight:900; font-size:.75rem; color:#fff; }
.p-header span { color:#fff; font-size:.75rem; font-weight:700; }
.p-greet { color:#fff; font-size:.875rem; font-weight:700; margin-bottom:.125rem; }
.p-sub   { color:rgba(255,255,255,.48); font-size:.5625rem; margin-bottom:1.125rem; }

.p-prog-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:16px; padding:.875rem; margin-bottom:.875rem; }
.p-prog-lbl { color:rgba(255,255,255,.55); font-size:.5625rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; margin-bottom:.375rem; }
.p-prog-bar { height:6px; background:rgba(255,255,255,.1); border-radius:3px; overflow:hidden; margin-bottom:.375rem; }
.p-prog-fill { height:100%; background:linear-gradient(90deg,var(--purple-medium),#C084FC); border-radius:3px; width:68%; }
.p-prog-val { color:#fff; font-size:.5625rem; font-weight:700; }

.p-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-bottom:.875rem; }
.p-metric { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:.625rem .375rem; text-align:center; }
.p-metric .mv { color:#fff; font-size:.75rem; font-weight:800; display:block; }
.p-metric .ml { color:rgba(255,255,255,.42); font-size:.4375rem; text-transform:uppercase; letter-spacing:.05em; }

.p-workout { background:var(--grad-primary); border-radius:16px; padding:.875rem; display:flex; align-items:center; gap:.75rem; }
.pw-icon { width:30px; height:30px; background:rgba(255,255,255,.2); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:.875rem; flex-shrink:0; }
.pw-text h4 { color:#fff; font-size:.5625rem; font-weight:700; margin-bottom:.125rem; }
.pw-text p  { color:rgba(255,255,255,.62); font-size:.5rem; }

.phone-orb { position:absolute; border-radius:50%; filter:blur(24px); pointer-events:none; }
.orb-1 { width:200px; height:200px; background:var(--purple-medium); top:-50px; right:-50px; opacity:.15; }
.orb-2 { width:150px; height:150px; background:#EC4899; bottom:40px; left:-30px; opacity:.12; }

/* ─── TESTIMONIALS ───────────────────────────────────────── */
.testimonials { padding:7rem 0; background:var(--gray-50); overflow:hidden; }
.testimonials-head { text-align:center; margin-bottom:4rem; }

.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.testi-card {
  background:var(--white); border:1px solid var(--gray-100);
  border-radius:var(--radius-xl); padding:2rem; position:relative; transition:all var(--t-base);
}
.testi-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-purple); border-color:var(--purple-light); }
.quote-mark { position:absolute; top:1.5rem; right:1.5rem; font-size:3.5rem; color:var(--gray-200); line-height:1; font-family:Georgia,serif; }
.testi-stars { display:flex; gap:.25rem; margin-bottom:1rem; color:#F59E0B; }
.testi-text { font-size:.9375rem; color:var(--gray-700); line-height:1.8; margin-bottom:1.5rem; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:1rem; }
.author-avatar { width:48px; height:48px; border-radius:50%; overflow:hidden; border:2px solid var(--gray-200); flex-shrink:0; }
.author-avatar img { width:100%; height:100%; object-fit:cover; }
.author-info h4 { font-size:.9375rem; font-weight:600; margin-bottom:.125rem; }
.author-info span { font-size:.8125rem; color:var(--gray-400); }
.transform-tag {
  margin-left:auto; flex-shrink:0;
  display:inline-block; background:var(--gray-100);
  border:1px solid var(--gray-200); color:var(--gray-700);
  padding:.25rem .75rem; border-radius:var(--radius-full); font-size:.6875rem; font-weight:700;
}

/* ─── FRANCHISE ──────────────────────────────────────────── */
.franchise { padding:7rem 0; background:var(--white); overflow:hidden; }
.franchise-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:stretch; }

.franchise-visual { position:relative; display:flex; flex-direction:column; }
.franchise-visual img { width:100%; height:100%; min-height:480px; object-fit:cover; border-radius:var(--radius-2xl); box-shadow:var(--shadow-xl); flex:1; }
.franchise-overlay {
  position:absolute; bottom:2rem; left:2rem; right:2rem;
  background:rgba(29,14,80,.92); backdrop-filter:blur(20px);
  border-radius:var(--radius-xl); padding:1.5rem 2rem; border:1px solid rgba(255,255,255,.1);
}
.franchise-overlay h3 { color:#fff; font-size:1.125rem; font-weight:700; margin-bottom:.375rem; }
.franchise-overlay p  { color:rgba(255,255,255,.65); font-size:.8125rem; }

.fr-steps { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.fr-step { display:flex; gap:1.5rem; align-items:flex-start; }
.step-num { width:46px; height:46px; background:var(--grad-primary); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; flex-shrink:0; box-shadow:var(--shadow-purple); }
.step-txt h4 { font-size:.9375rem; font-weight:600; margin-bottom:.375rem; }
.step-txt p  { font-size:.875rem; color:var(--gray-500); line-height:1.75; }

.fr-highlights { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:2.5rem; }
.fr-hl { background:var(--gray-50); border:1px solid var(--gray-200); border-radius:var(--radius-xl); padding:1.5rem 1rem; text-align:center; }
.fr-hl .fh-num { font-size:1.5rem; font-weight:700; display:block; margin-bottom:.25rem; color:var(--gray-900); }
.fr-hl .fh-lbl { font-size:.6875rem; color:var(--gray-500); font-weight:500; text-transform:uppercase; letter-spacing:.06em; }

/* ─── INSTAGRAM ──────────────────────────────────────────── */
.instagram-sec { padding:7rem 0; background:var(--gray-50); }
.ig-head { text-align:center; margin-bottom:3rem; }
.ig-handle { display:inline-flex; align-items:center; gap:.5rem; background:linear-gradient(135deg,#833AB4,#FD1D1D,#F77737); color:#fff; padding:.5rem 1.25rem; border-radius:var(--radius-full); font-size:.875rem; font-weight:700; margin-bottom:1.25rem; }

.ig-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem; margin-bottom:2rem; }
.ig-item { aspect-ratio:1; border-radius:var(--radius-lg); overflow:hidden; position:relative; cursor:pointer; }
.ig-item img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.ig-item:hover img { transform:scale(1.1); }
.ig-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,transparent,rgba(29,14,80,.82));
  display:flex; align-items:flex-end; justify-content:center; padding-bottom:.75rem;
  opacity:0; transition:opacity var(--t-base);
}
.ig-item:hover .ig-overlay { opacity:1; }
.ig-counts { display:flex; gap:.875rem; color:#fff; font-size:.6875rem; font-weight:600; }
.ig-counts span { display:flex; align-items:center; gap:.25rem; }

/* ─── CONTACT ────────────────────────────────────────────── */
.contact { padding:7rem 0; background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:5rem; align-items:start; }

.contact-info-cards { display:flex; flex-direction:column; gap:1.25rem; margin-top:2rem; }
.c-card {
  display:flex; gap:1.25rem; align-items:flex-start;
  padding:1.25rem; background:var(--gray-50); border-radius:var(--radius-xl); border:1px solid var(--gray-200);
  transition:all var(--t-base);
}
.c-card:hover { transform:translateX(6px); box-shadow:var(--shadow-purple); }
.c-icon { width:46px; height:46px; background:var(--grad-primary); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.25rem; flex-shrink:0; box-shadow:var(--shadow-purple); }
.c-text h4 { font-size:.9375rem; font-weight:600; margin-bottom:.25rem; }
.c-text p  { font-size:.875rem; color:var(--gray-500); line-height:1.75; }

.wa-btn {
  display:flex; align-items:center; gap:.75rem;
  background:#25D366; color:#fff; padding:1rem 1.5rem; border-radius:var(--radius-full);
  font-weight:600; font-size:.9375rem; margin-top:1.5rem; transition:all var(--t-base);
  box-shadow:0 4px 20px rgba(37,211,102,.3);
}
.wa-btn:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(37,211,102,.42); }
.wa-btn i { font-size:1.5rem; }

.form-box { background:var(--white); border:1px solid var(--gray-200); border-radius:var(--radius-2xl); padding:3rem; box-shadow:var(--shadow-lg); }
.form-box h2 { font-size:1.625rem; font-weight:600; margin-bottom:.375rem; }
.form-box .form-hint { color:var(--gray-500); font-size:.875rem; margin-bottom:2rem; }

.f-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.25rem; }
.f-group { display:flex; flex-direction:column; gap:.5rem; }
.f-group.full { grid-column:span 2; }
.f-group label { font-size:.875rem; font-weight:600; color:var(--gray-700); }
.f-group input, .f-group select, .f-group textarea {
  padding:.875rem 1.25rem; border:2px solid var(--gray-200); border-radius:var(--radius-md);
  font-family:var(--font); font-size:.9375rem; color:var(--gray-800);
  background:var(--gray-50); outline:none; transition:all var(--t-base);
}
.f-group input:focus, .f-group select:focus, .f-group textarea:focus { border-color:var(--purple-medium); background:var(--white); box-shadow:0 0 0 3px rgba(124,58,237,.1); }
.f-group textarea { resize:vertical; min-height:110px; }

.f-submit {
  width:100%; padding:1rem 2rem; background:var(--grad-primary); color:#fff;
  border:none; border-radius:var(--radius-full); font-family:var(--font);
  font-size:1rem; font-weight:700; cursor:pointer; transition:all var(--t-base);
  display:flex; align-items:center; justify-content:center; gap:.75rem; box-shadow:var(--shadow-purple);
}
.f-submit:hover { transform:translateY(-2px); box-shadow:var(--shadow-pur-lg); }

/* ─── FOOTER ─────────────────────────────────────────────── */
.footer { background:var(--dark); color:rgba(255,255,255,.65); padding:5rem 0 0; }

.footer-top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; padding-bottom:4rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer-brand { max-width:340px; }

.foot-logo { display:flex; align-items:center; gap:.875rem; margin-bottom:1.25rem; }
.foot-logo .logo-mark { width:46px; height:46px; }
.foot-logo .lg-name   { color:#fff; }
.foot-logo .lg-country{ color:rgba(255,255,255,.45); }
.footer-brand p { font-size:.875rem; line-height:1.85; color:rgba(255,255,255,.5); margin-bottom:1.5rem; }

.foot-social { display:flex; gap:.75rem; }
.soc-link { width:38px; height:38px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.55); font-size:1rem; transition:all var(--t-base); }
.soc-link:hover { background:var(--purple-primary); border-color:var(--purple-primary); color:#fff; transform:translateY(-2px); }

.foot-col h4 { color:#fff; font-size:.8125rem; font-weight:700; margin-bottom:1.25rem; text-transform:uppercase; letter-spacing:.08em; }
.foot-links { display:flex; flex-direction:column; gap:.75rem; }
.foot-links a { font-size:.875rem; color:rgba(255,255,255,.48); transition:color var(--t-fast); }
.foot-links a:hover { color:var(--purple-light); }

.newsletter-row { display:flex; margin-top:.5rem; }
.newsletter-row input { flex:1; padding:.75rem 1rem; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-right:none; border-radius:var(--radius-md) 0 0 var(--radius-md); color:#fff; font-family:var(--font); font-size:.875rem; outline:none; }
.newsletter-row input::placeholder { color:rgba(255,255,255,.3); }
.newsletter-row button { background:var(--grad-primary); color:#fff; padding:.75rem 1.25rem; border:none; border-radius:0 var(--radius-md) var(--radius-md) 0; font-family:var(--font); font-size:.875rem; font-weight:600; cursor:pointer; }

.footer-bottom { display:flex; justify-content:space-between; align-items:center; padding:1.5rem 0; font-size:.8125rem; color:rgba(255,255,255,.3); }
.foot-bottom-links { display:flex; gap:2rem; }
.foot-bottom-links a { color:rgba(255,255,255,.3); transition:color var(--t-fast); }
.foot-bottom-links a:hover { color:var(--purple-light); }

/* ─── STICKY CTA ─────────────────────────────────────────── */
.sticky-join { position:fixed; bottom:2rem; right:2rem; z-index:900; transform:translateY(100px); opacity:0; transition:all var(--t-base); }
.sticky-join.show { transform:translateY(0); opacity:1; }
.sticky-join-btn {
  background:var(--grad-primary); color:#fff; padding:.9375rem 1.75rem;
  border-radius:var(--radius-full); font-size:.875rem; font-weight:700;
  box-shadow:var(--shadow-pur-lg); display:flex; align-items:center; gap:.625rem;
  transition:all var(--t-base);
}
.sticky-join-btn:hover { transform:translateY(-3px) scale(1.03); box-shadow:0 25px 60px rgba(124,58,237,.42); }

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width:1200px) {
  .container { padding:0 2.5rem; }
  .nav-wrap  { padding:0 2.5rem; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:2fr 1fr 1fr; }
}

@media (max-width:1024px) {
  .hero-content { grid-template-columns:1fr; text-align:center; }
  .hero-right { display:none; }
  .hero-btns { justify-content:center; }
  .hero-stats { margin:0 auto; }
  .about-grid, .franchise-grid { grid-template-columns:1fr; }
  .about-img-wrap { order:-1; }
  .about-img-badge { left:1rem; }
  .about-img-sec { right:1rem; }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .why-stats-row { grid-template-columns:repeat(2,1fr); gap:1rem; }
  .why-stat      { padding:1.25rem 1rem; }
  .why-stat .ws-num { font-size:1.75rem; }
  .why-stat .ws-lbl { font-size:.75rem; }
  .app-grid { grid-template-columns:1fr; text-align:center; }
  .app-visual { order:-1; margin-bottom:3rem; }
  .app-store-btns { justify-content:center; }
  .app-feats { text-align:left; }
  .mem-grid { grid-template-columns:1fr; max-width:440px; margin:0 auto; }
  .mem-card.popular { transform:none; }
  .contact-grid { grid-template-columns:1fr; }
  .clubs-grid { grid-template-columns:repeat(2,1fr); }
  .events-grid { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:repeat(2,1fr); }
  .ig-grid { grid-template-columns:repeat(3,1fr); }
  .exp-showcase { grid-template-columns:repeat(2,1fr); grid-template-rows:auto; }
  .exp-item:first-child { grid-row:auto; grid-column:span 2; height:300px; }
}

@media (max-width:768px) {
  .container { padding:0 1.5rem; }
  .nav-wrap  { padding:0 1.5rem; }
  .nav-links, .nav-actions { display:none; }
  .hamburger { display:flex; }
  .hero-title { font-size:clamp(2.5rem,10vw,4rem); }
  .section-pad { padding:5rem 0; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:1fr; }
  .about-milestones { grid-template-columns:repeat(3,1fr); }
  .about-img-main img { height:300px; }
  .about-img-sec { bottom:1rem; right:1rem; width:130px; height:130px; }
  .about-img-badge { top:1rem; left:1rem; padding:.75rem 1.125rem; }
  .about-img-badge .bn { font-size:1.5rem; }
  .franchise-visual img { height:300px; min-height:unset; }
  .franchise-overlay { bottom:1rem; left:1rem; right:1rem; padding:1.25rem 1.25rem; }
  .clubs-grid { grid-template-columns:1fr; }
  .events-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .ig-grid { grid-template-columns:repeat(2,1fr); }
  .f-grid { grid-template-columns:1fr; }
  .f-group.full { grid-column:span 1; }
  .footer-top { grid-template-columns:1fr; gap:2.5rem; }
  .footer-bottom { flex-direction:column; gap:1rem; text-align:center; }
  .exp-item { height:200px; }
  .exp-item:first-child { height:260px; }
  .fr-highlights { grid-template-columns:repeat(3,1fr); gap:.75rem; }
  .form-box { padding:2rem 1.5rem; }
  .f-group input, .f-group select, .f-group textarea { font-size:.8125rem; padding:.75rem 1rem; }
  .f-group label { font-size:.8125rem; }
  .cta-group { flex-direction:column; align-items:center; }
  .cta-group .btn { width:100%; justify-content:center; }
  .app-store-btns { flex-direction:column; align-items:center; }
  .store-btn { width:100%; justify-content:center; }

  /* ── FONT WEIGHT REDUCTION ──────────────────────────────── */
  h1,h2,h3,h4,h5,h6 { font-weight:500; }
  .hero-title        { font-weight:600; }
  .section-title     { font-weight:600; }
  .about-tagline     { font-weight:600; }

  /* card / box headings */
  .svc-card h3, .why-card h3, .ev-body h3,
  .club-body h3, .step-txt h4, .af-text h4,
  .author-info h4, .c-text h4, .form-box h2 { font-weight:500; }

  /* stat numbers inside boxes */
  .price-amount      { font-weight:600; }
  .plan-name         { font-weight:500; }
  .milestone .mn     { font-weight:500; }
  .fr-hl .fh-num     { font-weight:600; }
  .why-stat .ws-num  { font-weight:600; }
  .h-stat .sn        { font-weight:600; }
  .about-img-badge .bn { font-weight:600; }
  .step-num          { font-weight:600; }
  .franchise-overlay h3 { font-weight:600; }

  /* buttons — size & weight */
  .btn        { padding:.55rem 1.25rem; font-size:.8125rem; }
  .btn-lg     { padding:.7rem 1.5rem;   font-size:.875rem; }
  .btn-sm     { padding:.4rem 1rem;     font-size:.75rem; }
  .btn, .store-btn, .mem-cta, .f-submit { font-weight:500; }

  /* section badges & card tags */
  .section-badge { padding:.3rem .75rem; font-size:.6875rem; }
  .ev-cat        { padding:.2rem .625rem; font-size:.625rem; }
  .club-tag      { padding:.2rem .625rem; font-size:.625rem; }
  .club-tag-item { padding:.2rem .625rem; font-size:.625rem; }

  /* ── CENTER ALIGN CONTENT ───────────────────────────────── */
  .section-badge, .section-title, .section-sub { text-align:center; }
  .about-content     { text-align:center; }
  .about-content .about-desc { text-align:justify; }
  .franchise-content { text-align:center; }
  .franchise-content .about-desc { text-align:center; }
  .fr-steps          { text-align:left; }
  .fr-step           { text-align:left; }
  .step-txt h4, .step-txt p { text-align:left; }
  .svc-card, .why-card, .event-card, .testi-card { text-align:center; }
  .svc-icon          { margin:0 auto 1.25rem; }
  .why-icon          { margin:0 auto 1.25rem; }
  .contact-info      { text-align:center; }
  .contact-info .ci-item { justify-content:center; }
  .app-content       { text-align:center; }
  .app-feats         { align-items:center; }

  /* ── CONTACT CENTER ALIGN ──────────────────────────────── */
  .contact-left      { text-align:center; }
  .contact-info-cards { align-items:stretch; }
  .c-card            { width:100%; text-align:left; }
  .c-text h4, .c-text p { text-align:left; }
  .wa-btn            { align-self:center; width:100%; justify-content:center; }

  /* ── FOOTER CENTER ALIGN ────────────────────────────────── */
  .footer-brand      { text-align:center; }
  .foot-logo         { justify-content:center; }
  .foot-social       { justify-content:center; }
  .foot-col          { text-align:center; }
  .foot-col h4       { text-align:center; }
  .foot-links        { padding-left:0; list-style:none; }
  .newsletter-row    { flex-direction:column; border-radius:var(--radius-lg); overflow:hidden; }
  .newsletter-row input  { border-radius:var(--radius-lg); text-align:center; }
  .newsletter-row button { border-radius:var(--radius-lg); margin-top:.5rem; width:100%; }
}

@media (max-width:480px) {
  .hero-btns { flex-direction:column; align-items:center; }
  .services-grid { grid-template-columns:1fr; }
  .ig-grid { grid-template-columns:repeat(3,1fr); }
  .fr-highlights { gap:.5rem; }
  .fr-hl { padding:1.125rem .75rem; }
  .sticky-join { bottom:1rem; right:1rem; }
}
