@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;0,14..32,700;1,14..32,400&family=Outfit:wght@300;400;600;700;800;900&family=Playfair+Display:ital,wght@0,700;0,800;1,700&display=swap');

/* ====================================================================
   FITBOX PREMIUM — Design System v4.0  "One Lakh Rupees"
   Ultra-luxury gym website with depth lighting, magnetic interactions,
   morphing gradients, animated borders, and cinematic transitions
   ==================================================================== */

/* ─── TOKENS ──────────────────────────────────────────────────────────*/
:root {
  /* Palette */
  --ink-0:      #030304;
  --ink-1:      #07070b;
  --ink-2:      #0d0d14;
  --ink-3:      #13131c;
  --ink-4:      #1a1a26;
  --ink-5:      #222232;
  --ink-6:      #2e2e44;

  --fire:       #ff4500;
  --fire-2:     #ff6120;
  --fire-3:     #ff8c00;
  --fire-dim:   rgba(255,69,0,0.18);
  --fire-glow:  rgba(255,69,0,0.4);
  --fire-halo:  rgba(255,69,0,0.08);

  --gold:       #f4c842;
  --gold-dim:   rgba(244,200,66,0.15);

  --silver:     #e8e8f0;
  --silver-2:   #a0a0b8;
  --silver-3:   #5a5a72;
  --silver-4:   #2e2e42;

  /* glass */
  --glass:          rgba(255,255,255,0.028);
  --glass-md:       rgba(255,255,255,0.05);
  --glass-border:   rgba(255,255,255,0.06);
  --glass-border-2: rgba(255,255,255,0.10);

  /* radii */
  --r-xs:  8px;
  --r-sm:  14px;
  --r-md:  20px;
  --r-lg:  28px;
  --r-xl:  36px;

  /* easing */
  --ease:        cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-spring: cubic-bezier(0.34,1.56,0.64,1);
  --ease-in:     cubic-bezier(0.55,0,1,0.45);
  --ease-out:    cubic-bezier(0,0.55,0.45,1);

  /* type scale */
  --step--1: clamp(0.75rem,  1vw,   0.875rem);
  --step-0:  clamp(0.875rem, 1.2vw, 1rem);
  --step-1:  clamp(1.1rem,   1.8vw, 1.25rem);
  --step-2:  clamp(1.4rem,   2.5vw, 1.75rem);
  --step-3:  clamp(2rem,     4vw,   3rem);
  --step-4:  clamp(2.8rem,   6vw,   4.5rem);
  --step-5:  clamp(4rem,     9vw,   7rem);
}

/* ─── GLOBAL RESET ────────────────────────────────────────────────────*/
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  background: var(--ink-0);
  color: var(--silver);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.6;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Custom text selection */
::selection { background:var(--fire); color:#fff; }

img {
  display:block; width:100%; height:100%;
  object-fit:cover;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
}
a  { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }

/* ─── SCROLLBAR ───────────────────────────────────────────────────────*/
::-webkit-scrollbar       { width:3px; }
::-webkit-scrollbar-track { background:var(--ink-1); }
::-webkit-scrollbar-thumb { background:var(--fire); border-radius:3px; }

/* ─── GRAIN OVERLAY ───────────────────────────────────────────────────*/
body::before {
  content:''; position:fixed; inset:0; z-index:9999; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:0.022;
}

/* ─── AMBIENT LIGHT BLOBS ─────────────────────────────────────────────*/
body::after {
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 110% 0%, rgba(255,69,0,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at -10% 100%, rgba(255,69,0,0.05) 0%, transparent 60%);
}

/* ─── CURSOR GLOW ─────────────────────────────────────────────────────*/
.cursor-glow {
  position:fixed; width:600px; height:600px; z-index:998; pointer-events:none;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,69,0,0.06) 0%, transparent 65%);
  transform:translate(-50%,-50%);
  transition:opacity 0.4s;
  will-change:left,top;
}

/* ─── TYPOGRAPHY ──────────────────────────────────────────────────────*/
h1,h2,h3,h4,h5,h6 {
  font-family:'Outfit',sans-serif;
  font-weight:700; line-height:1.08; letter-spacing:-0.03em;
}

.section-title {
  font-size:var(--step-4);
  background:linear-gradient(140deg, #ffffff 0%, rgba(255,255,255,0.5) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:var(--step--1); font-weight:600;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--fire); margin-bottom:14px;
}
.eyebrow::before {
  content:''; width:20px; height:1px; background:var(--fire);
}

.gradient-text {
  background:linear-gradient(135deg, var(--fire), var(--fire-2), var(--fire-3));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ─── LAYOUT ──────────────────────────────────────────────────────────*/
.container { max-width:1220px; margin:0 auto; padding:0 28px; }
.section    { padding:110px 0; }
.section--alt {
  background:linear-gradient(180deg, var(--ink-1) 0%, var(--ink-0) 100%);
}
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media(max-width:900px) { .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; } .section{padding:70px 0;} }
@media(max-width:600px) { .grid-3{grid-template-columns:1fr;} }

/* ─── BUTTONS ─────────────────────────────────────────────────────────*/
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 30px; border-radius:50px;
  font-size:var(--step--1); font-weight:600; font-family:'Inter',sans-serif;
  letter-spacing:0.01em;
  transition:all 0.35s var(--ease);
  position:relative; overflow:hidden; cursor:pointer; border:none;
  white-space:nowrap;
}
.btn::after {
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,0.12),transparent);
  opacity:0; transition:opacity 0.3s;
}
.btn:hover::after { opacity:1; }
.btn:active { transform:scale(0.97)!important; }

/* Primary — fire gradient with animated halo */
.btn-primary {
  background:linear-gradient(135deg, var(--fire) 0%, var(--fire-2) 60%, var(--fire-3) 100%);
  color:#fff;
  box-shadow:0 0 0 0 var(--fire-glow), 0 8px 32px rgba(255,69,0,0.35);
  animation:btnPrimaryPulse 4s ease-in-out infinite;
}
@keyframes btnPrimaryPulse {
  0%,100% { box-shadow:0 0 0 0 var(--fire-glow), 0 8px 32px rgba(255,69,0,0.3); }
  50%      { box-shadow:0 0 0 8px rgba(255,69,0,0), 0 12px 48px rgba(255,69,0,0.5); }
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 16px 48px rgba(255,69,0,0.5); animation:none; }

/* Glass */
.btn-glass {
  background:var(--glass-md);
  border:1px solid var(--glass-border-2);
  color:var(--silver);
  backdrop-filter:blur(16px);
}
.btn-glass:hover {
  background:rgba(255,255,255,0.09);
  border-color:rgba(255,255,255,0.2);
  transform:translateY(-2px);
}

/* Outline */
.btn-outline {
  background:transparent;
  border:1px solid var(--fire);
  color:var(--fire);
}
.btn-outline:hover {
  background:var(--fire); color:#fff;
  box-shadow:0 0 28px var(--fire-glow);
}

/* ─── NAVBAR ──────────────────────────────────────────────────────────*/
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:900;
  padding:0;
  transition:all 0.5s var(--ease);
}
.navbar.scrolled {
  background:rgba(3,3,4,0.82);
  backdrop-filter:blur(24px) saturate(1.8);
  border-bottom:1px solid var(--glass-border);
}
.nav-inner {
  max-width:1220px; margin:0 auto; padding:0 28px;
  height:74px; display:flex; align-items:center; gap:28px;
}
.nav-logo {
  display:flex; align-items:center; margin-right:auto;
  font-family:'Outfit',sans-serif; font-size:1.6rem; font-weight:900;
  letter-spacing:-0.04em; color:#fff;
}
.nav-logo img.logo-img { height:46px; width:auto; object-fit:contain; }
.nav-links { display:flex; gap:2px; }
.nav-links a {
  padding:8px 16px; border-radius:50px;
  font-size:0.875rem; font-weight:500; color:var(--silver-2);
  transition:all 0.25s var(--ease); position:relative;
}
.nav-links a::after {
  content:''; position:absolute; left:50%; bottom:2px; right:50%; height:1px;
  background:var(--fire); border-radius:1px;
  transition:left 0.3s var(--ease), right 0.3s var(--ease);
}
.nav-links a:hover::after, .nav-links a.active::after { left:18px; right:18px; }
.nav-links a:hover, .nav-links a.active {
  color:#fff; background:rgba(255,255,255,0.05);
}
.nav-cta { margin-left:8px; padding:10px 22px; font-size:0.82rem; animation:none!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; }
.hamburger span { display:block; width:22px; height:1.5px; background:#fff; border-radius:2px; transition:all 0.35s var(--ease); }
.hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px); }
@media(max-width:768px) { .nav-links,.nav-cta { display:none; } .hamburger{display:flex;} }
.mobile-nav {
  display:none; position:fixed; top:74px; left:0; right:0; z-index:890;
  background:rgba(3,3,4,0.96); backdrop-filter:blur(28px);
  border-bottom:1px solid var(--glass-border);
  padding:20px 28px 28px;
  flex-direction:column; gap:6px;
  transform:translateY(-16px); opacity:0;
  transition:all 0.4s var(--ease);
}
.mobile-nav.open { display:flex; transform:translateY(0); opacity:1; }
.mobile-nav a {
  padding:14px 0; font-size:1.1rem; font-weight:500;
  border-bottom:1px solid rgba(255,255,255,0.04); color:var(--silver);
  transition:color 0.2s;
}
.mobile-nav a:hover { color:var(--fire); }
.mobile-nav .btn { margin-top:10px; }

/* ─── PAGE HERO HEADER ────────────────────────────────────────────────*/
.page-hero {
  min-height:340px; display:flex; align-items:center;
  padding:160px 0 90px; text-align:center;
  background:
    radial-gradient(ellipse 80% 60% at 50% 110%, rgba(255,69,0,0.1) 0%, transparent 65%);
  position:relative;
}
.page-hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, rgba(255,69,0,0.3), transparent);
}
.breadcrumb {
  display:flex; align-items:center; gap:10px; justify-content:center;
  color:var(--silver-3); font-size:var(--step--1); margin-bottom:22px;
}
.breadcrumb a:hover { color:var(--silver); }
.breadcrumb i { font-size:0.7rem; }

/* ─── HERO ────────────────────────────────────────────────────────────*/
.hero {
  min-height:100svh; position:relative;
  display:flex; align-items:center; overflow:hidden;
}
.hero-media { position:absolute; inset:0; z-index:0; }
.hero-media img {
  object-position:center 35%;
  filter:brightness(0.28) saturate(0.7);
  transform-origin:center center;
  animation:heroZoom 22s ease-in-out infinite alternate;
  will-change:transform;
}
@keyframes heroZoom {
  0%   { transform:scale(1) translate(0,0); }
  100% { transform:scale(1.08) translate(-1%,-1%); }
}
/* layered vignettes */
.hero-media::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(ellipse 80% 60% at 50% 50%, transparent 30%, rgba(3,3,4,0.6) 100%);
}
.hero-media::after {
  content:''; position:absolute; inset:0; z-index:2;
  background:linear-gradient(to bottom, rgba(3,3,4,0.1) 0%, rgba(3,3,4,0.25) 40%, var(--ink-0) 100%);
}

/* Particles */
.hero-particles { position:absolute; inset:0; z-index:3; pointer-events:none; overflow:hidden; }
.particle {
  position:absolute; border-radius:50%;
  background:rgba(255,69,0,0.7);
  animation:particleDrift var(--dur,10s) ease-in-out infinite;
  will-change:transform,opacity;
}
@keyframes particleDrift {
  0%,100% { transform:translateY(0px) translateX(0px) scale(1); opacity:0.5; }
  33%      { transform:translateY(-30px) translateX(10px) scale(1.3); opacity:0.2; }
  66%      { transform:translateY(-15px) translateX(-8px) scale(0.8); opacity:0.4; }
}

.hero-content {
  position:relative; z-index:4;
  padding:200px 0 140px;
  max-width:860px;
}

/* Live badge */
.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:50px; padding:9px 20px; margin-bottom:32px;
  font-size:var(--step--1); font-weight:600; color:var(--silver-2);
  backdrop-filter:blur(12px);
  animation:badgeFadeIn 1s var(--ease) both;
}
.hero-badge .dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--fire);
  box-shadow:0 0 8px var(--fire);
  animation:dotBlink 1.8s ease-in-out infinite;
}
@keyframes dotBlink { 0%,100%{opacity:1;box-shadow:0 0 8px var(--fire);} 50%{opacity:0.3;box-shadow:0 0 0 var(--fire);} }
@keyframes badgeFadeIn { from{opacity:0;transform:translateY(-12px);} to{opacity:1;transform:none;} }

.hero-title {
  font-size:var(--step-5);
  font-weight:900; color:#fff; line-height:0.96;
  letter-spacing:-0.05em; margin-bottom:28px;
  font-family:'Outfit',sans-serif;
}
.hero-title em {
  font-style:normal;
  background:linear-gradient(135deg, var(--fire), var(--fire-2), #ffc500);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.hero-sub {
  font-size:var(--step-1); color:rgba(255,255,255,0.6);
  margin-bottom:44px; max-width:520px; line-height:1.75;
  font-weight:400;
}

.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; }

/* Hero meta strip */
.hero-meta {
  display:flex; gap:24px; flex-wrap:wrap; margin-top:32px;
  color:rgba(255,255,255,0.45); font-size:var(--step--1); font-weight:500;
}
.hero-meta span { display:flex; align-items:center; gap:8px; }
.hero-meta i { font-size:0.8rem; }

/* Scroll indicator */
.hero-scroll {
  position:absolute; bottom:44px; left:50%; transform:translateX(-50%);
  z-index:4; display:flex; flex-direction:column; align-items:center; gap:10px;
  color:rgba(255,255,255,0.25);
  font-size:var(--step--1); letter-spacing:0.14em; text-transform:uppercase;
}
.scroll-line {
  width:1px; height:56px;
  background:linear-gradient(to bottom, rgba(255,255,255,0.35), transparent);
  animation:scrollDrop 2.5s ease-in-out infinite;
}
@keyframes scrollDrop {
  0%   { transform:scaleY(0); transform-origin:top; opacity:1; }
  50%  { transform:scaleY(1); transform-origin:top; opacity:1; }
  51%  { transform:scaleY(1); transform-origin:bottom; opacity:1; }
  100% { transform:scaleY(0); transform-origin:bottom; opacity:0; }
}

/* ─── STATS BAR ───────────────────────────────────────────────────────*/
.stats-bar {
  background:var(--ink-2);
  border-top:1px solid var(--glass-border); border-bottom:1px solid var(--glass-border);
  padding:40px 0; position:relative; overflow:hidden;
}
.stats-bar::before {
  content:''; position:absolute; top:0; left:10%; right:10%; height:1px;
  background:linear-gradient(to right, transparent, var(--fire), transparent);
}
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
@media(max-width:600px) { .stats-grid { grid-template-columns:repeat(2,1fr); } }
.stat-item {
  text-align:center; padding:20px 24px;
  border-right:1px solid var(--glass-border);
  transition:background 0.3s;
}
.stat-item:last-child { border-right:none; }
.stat-item:hover { background:var(--fire-halo); }
.stat-num {
  font-family:'Outfit',sans-serif; font-size:clamp(2.2rem,4vw,3.2rem); font-weight:900;
  color:#fff; line-height:1; letter-spacing:-0.04em; margin-bottom:6px;
}
.stat-num .unit { font-size:0.55em; color:var(--fire); vertical-align:super; }
.stat-label {
  font-size:var(--step--1); letter-spacing:0.1em; text-transform:uppercase;
  color:var(--silver-3); font-weight:600;
}

/* ─── CARDS ───────────────────────────────────────────────────────────*/
.card {
  background:var(--glass);
  border:1px solid var(--glass-border);
  border-radius:var(--r-lg);
  padding:36px 32px;
  position:relative; overflow:hidden;
  transition:all 0.4s var(--ease);
  backdrop-filter:blur(12px);
}
/* Top shimmer line */
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.12) 50%, transparent 100%);
}
.card:hover { 
  transform:translateY(-8px); 
  border-color:rgba(255,69,0,0.5);
  box-shadow:0 28px 64px rgba(0,0,0,0.5), 0 0 60px rgba(255,69,0,0.06); 
}

.card-icon {
  width:54px; height:54px; border-radius:var(--r-sm);
  background:linear-gradient(135deg, var(--fire-dim), rgba(255,140,0,0.1));
  border:1px solid rgba(255,69,0,0.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; margin-bottom:22px;
  transition:transform 0.3s var(--ease-spring);
}
.card:hover .card-icon { transform:scale(1.12) rotate(-3deg); }
.card h3 { font-size:var(--step-1); color:#fff; margin-bottom:10px; }
.card p  { color:var(--silver-2); line-height:1.75; font-size:var(--step--1); }

/* ─── ZONE CARDS ──────────────────────────────────────────────────────*/
.zone-card {
  position:relative; border-radius:var(--r-xl); overflow:hidden;
  aspect-ratio:4/3; cursor:pointer;
  transition:transform 0.5s var(--ease), box-shadow 0.5s var(--ease);
}
.zone-card::after {
  content:''; position:absolute; inset:0; z-index:1;
  background:rgba(255,69,0,0.0);
  transition:background 0.4s;
}
.zone-card:hover { transform:scale(1.02) translateY(-4px); box-shadow:0 32px 80px rgba(0,0,0,0.6); }
.zone-card:hover::after { background:rgba(255,69,0,0.08); }
.zone-card img { transition:transform 0.8s var(--ease); }
.zone-card:hover img { transform:scale(1.07); }
.zone-card-overlay {
  position:absolute; inset:0; z-index:1;
  background:rgba(255,69,0,0.1); opacity:0; transition:opacity 0.4s;
}
.zone-card:hover .zone-card-overlay { opacity:1; }
.zone-card-info {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  padding:32px 28px;
  background:linear-gradient(to top, rgba(0,0,0,0.92) 0%, transparent 100%);
}
.zone-card-info h3 { color:#fff; font-size:var(--step-2); margin-bottom:6px; }
.zone-card-info p  { color:rgba(255,255,255,0.6); font-size:var(--step--1); }

/* ─── REVIEW CARDS ────────────────────────────────────────────────────*/
.review-card {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-lg); padding:32px;
  position:relative; overflow:hidden;
  transition:all 0.4s var(--ease);
  backdrop-filter:blur(12px);
}
.review-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--fire), transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.5s var(--ease);
}
.review-card:hover { transform:translateY(-6px); border-color:rgba(255,69,0,0.15); }
.review-card:hover::before { transform:scaleX(1); }
.review-stars  { color:var(--fire); font-size:0.95rem; margin-bottom:16px; letter-spacing:3px; }
.review-text   { color:var(--silver); line-height:1.8; font-size:var(--step--1); margin-bottom:22px; font-style:italic; }
.review-author { display:flex; align-items:center; gap:14px; }
.reviewer-avatar {
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg, var(--fire), var(--fire-3));
  display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:0.85rem; color:#fff;
}
.reviewer-name   { font-weight:600; font-size:0.875rem; color:#fff; display:block; }
.reviewer-source { font-size:0.75rem; color:var(--silver-3); }

/* ─── RATING BAR ──────────────────────────────────────────────────────*/
.rating-showcase {
  display:grid; grid-template-columns:200px 1fr; gap:52px; align-items:center;
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-xl); padding:48px 52px; margin-bottom:64px;
  backdrop-filter:blur(12px);
}
@media(max-width:700px){ .rating-showcase { grid-template-columns:1fr; text-align:center; gap:32px; } }
.rating-big { text-align:center; }
.rating-number { font-family:'Outfit',sans-serif; font-size:5.5rem; font-weight:900; color:#fff; line-height:1; margin-bottom:8px; }
.rating-stars  { font-size:1.5rem; color:var(--fire); letter-spacing:5px; margin-bottom:8px; }
.rating-count  { color:var(--silver-3); font-size:0.85rem; }
.rating-bars   { display:flex; flex-direction:column; gap:12px; }
.bar-row       { display:flex; align-items:center; gap:14px; }
.bar-label     { width:14px; color:var(--silver-3); font-size:0.85rem; text-align:right; flex-shrink:0; }
.bar-track     { flex:1; height:5px; background:var(--ink-5); border-radius:5px; overflow:hidden; }
.bar-fill      { height:100%; background:linear-gradient(90deg, var(--fire), var(--fire-3)); border-radius:5px; width:0; transition:width 1.4s var(--ease); }
.bar-percent   { width:36px; color:var(--silver-3); font-size:var(--step--1); text-align:right; flex-shrink:0; }

/* ─── GALLERY ─────────────────────────────────────────────────────────*/
.gallery-masonry { columns:3; column-gap:16px; }
@media(max-width:900px) { .gallery-masonry { columns:2; } }
@media(max-width:500px) { .gallery-masonry { columns:1; } }
.gallery-item-m {
  break-inside:avoid; margin-bottom:16px;
  border-radius:var(--r-md); overflow:hidden;
  position:relative; cursor:pointer;
  transition:transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.gallery-item-m:hover { transform:scale(1.025); box-shadow:0 20px 56px rgba(0,0,0,0.6); }
.gallery-item-m img {
  height:auto; display:block;
  transition:transform 0.7s var(--ease), filter 0.4s var(--ease);
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
}
.gallery-item-m:hover img { transform:scale(1.05); filter:brightness(0.7); }
.gallery-overlay {
  position:absolute; inset:0; background:rgba(0,0,0,0.45);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity 0.35s var(--ease);
}
.gallery-item-m:hover .gallery-overlay { opacity:1; }
.expand-icon { font-size:2rem; color:#fff; }
.gmap-link {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 24px; background:var(--glass);
  border:1px solid var(--glass-border-2); border-radius:var(--r-md);
  color:var(--silver); font-size:0.9rem; font-weight:500;
  transition:all 0.3s var(--ease);
}
.gmap-link:hover { background:var(--fire-dim); border-color:rgba(255,69,0,0.3); color:#fff; transform:translateY(-2px); }

/* ─── LIGHTBOX ────────────────────────────────────────────────────────*/
.lightbox {
  display:none; position:fixed; inset:0; z-index:9998;
  background:rgba(0,0,0,0.96); backdrop-filter:blur(24px);
  align-items:center; justify-content:center; flex-direction:column;
  animation:lbFadeIn 0.3s var(--ease);
}
.lightbox.active { display:flex; }
@keyframes lbFadeIn { from{opacity:0} to{opacity:1} }
.lightbox-img-wrap { width:82vw; max-width:960px; max-height:82vh; }
.lightbox-img-wrap img { width:100%; height:auto; max-height:82vh; object-fit:contain; border-radius:var(--r-md); }
.lightbox-close {
  position:fixed; top:24px; right:24px;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.15);
  color:#fff; border-radius:50%; width:48px; height:48px;
  font-size:1.1rem; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.3s; z-index:1;
}
.lightbox-close:hover { background:var(--fire); border-color:var(--fire); }
.lightbox-nav { display:flex; gap:16px; margin-top:24px; }
.lightbox-btn {
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12);
  color:#fff; border-radius:50%; width:52px; height:52px;
  font-size:1.3rem; display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.3s;
}
.lightbox-btn:hover { background:var(--fire); border-color:var(--fire); }

/* ─── SPLIT LAYOUT ────────────────────────────────────────────────────*/
.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
@media(max-width:800px) { .split-layout { grid-template-columns:1fr; gap:40px; } }
.split-image  { border-radius:var(--r-xl); overflow:hidden; aspect-ratio:4/3; min-height:300px; }

/* ─── TIMELINE ────────────────────────────────────────────────────────*/
.timeline { position:relative; padding-left:24px; }
.timeline::before { content:''; position:absolute; left:8px; top:0; bottom:0; width:1px; background:linear-gradient(to bottom,var(--fire),transparent); }
.timeline-item { position:relative; padding:0 0 36px 28px; }
.timeline-item::before {
  content:''; position:absolute; left:-9px; top:4px;
  width:11px; height:11px; border-radius:50%;
  background:var(--fire); box-shadow:0 0 14px var(--fire); border:2px solid var(--ink-0);
}
.timeline-year { font-size:var(--step--1); letter-spacing:0.14em; color:var(--fire); font-weight:600; margin-bottom:6px; }
.timeline-item h4 { color:#fff; margin-bottom:4px; }
.timeline-item p  { color:var(--silver-2); font-size:var(--step--1); }

/* ─── TRAINER CARDS ───────────────────────────────────────────────────*/
.trainer-card {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-xl); overflow:hidden;
  transition:all 0.45s var(--ease); backdrop-filter:blur(12px);
}
.trainer-card:hover { transform:translateY(-8px); border-color:rgba(255,69,0,0.2); box-shadow:0 32px 80px rgba(0,0,0,0.5), 0 0 60px rgba(255,69,0,0.05); }
.trainer-img { height:300px; position:relative; overflow:hidden; background:linear-gradient(135deg,var(--ink-3),var(--ink-4)); }
.trainer-img img { height:300px; object-position:center top; }
.trainer-placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg, var(--ink-3) 0%, var(--ink-4) 100%);
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:12px;
  color:var(--silver-4);
}
.trainer-placeholder i { font-size:4rem; }
.trainer-placeholder span { font-size:var(--step--1); font-weight:500; letter-spacing:0.05em; }
.trainer-badge {
  position:absolute; top:16px; right:16px;
  background:var(--fire); color:#fff;
  font-size:var(--step--1); font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; padding:6px 14px; border-radius:50px;
}
.trainer-info { padding:28px; }
.trainer-info h3 { color:#fff; font-size:var(--step-2); margin-bottom:6px; }
.trainer-info .role { color:var(--fire); font-size:var(--step--1); text-transform:uppercase; letter-spacing:0.12em; font-weight:600; margin-bottom:12px; display:block; }
.trainer-info p { color:var(--silver-2); font-size:var(--step--1); line-height:1.7; }

/* ─── GUIDELINE CARDS ─────────────────────────────────────────────────*/
.guideline-card {
  display:flex; align-items:flex-start; gap:22px;
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-md); padding:26px 30px;
  transition:all 0.35s var(--ease); backdrop-filter:blur(12px);
}
.guideline-card:hover { border-color:rgba(255,69,0,0.15); transform:translateX(5px); background:var(--fire-halo); }
.guideline-num {
  font-family:'Outfit',sans-serif; font-size:2.8rem; font-weight:900;
  background:linear-gradient(135deg, rgba(255,69,0,0.25), transparent);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; flex-shrink:0; min-width:56px;
}
.guideline-card h4 { color:#fff; margin-bottom:4px; font-size:var(--step-0); }
.guideline-card p  { color:var(--silver-2); font-size:var(--step--1); line-height:1.65; }

/* ─── CONTACT ─────────────────────────────────────────────────────────*/
.contact-info-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:32px; }
@media(max-width:600px) { .contact-info-grid { grid-template-columns:1fr; } }
.info-card {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-lg); padding:28px 24px;
  display:flex; gap:20px; align-items:flex-start;
  transition:all 0.35s var(--ease); backdrop-filter:blur(12px);
}
.info-card:hover { border-color:rgba(255,255,255,0.1); transform:translateY(-3px); }
.info-icon { font-size:1.6rem; flex-shrink:0; color:var(--fire); }
.info-card h4  { color:#fff; font-size:var(--step-0); margin-bottom:8px; }
.info-card p   { color:var(--silver-2); font-size:var(--step--1); line-height:1.65; }
.info-card a   { display:block; color:var(--silver); font-size:0.9rem; margin-bottom:4px; transition:color 0.2s; }
.info-card a:hover { color:var(--fire); }
.map-wrapper { border-radius:var(--r-xl); overflow:hidden; height:380px; border:1px solid var(--glass-border); }
.map-wrapper iframe { width:100%; height:100%; border:none; filter:grayscale(1) invert(1) contrast(0.85) brightness(0.5); }

/* ─── POPULAR TIMES ───────────────────────────────────────────────────*/
.times-bar-container { display:flex; align-items:flex-end; gap:8px; height:80px; padding-bottom:24px; border-bottom:1px solid var(--glass-border); margin-bottom:8px; }
.t-bar { flex:1; border-radius:4px 4px 0 0; min-height:6px; transition:height 0.9s var(--ease); background:var(--ink-5); }
.t-bar.busy { background:rgba(255,69,0,0.45); }
.t-bar.peak { background:var(--fire); box-shadow:0 0 10px var(--fire-glow); }
.times-labels { display:flex; gap:8px; }
.t-label { flex:1; text-align:center; font-size:0.65rem; color:var(--silver-3); }

/* ─── LEAD GENERATION FORM ────────────────────────────────────────────*/
.lead-section {
  background:linear-gradient(180deg, var(--ink-1) 0%, var(--ink-0) 100%);
  position:relative; overflow:hidden; padding:120px 0;
}
.lead-section::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(255,69,0,0.12) 0%, transparent 70%);
}
.lead-section::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,69,0,0.4), transparent);
}
.lead-wrapper {
  position:relative; z-index:1;
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
}
@media(max-width:900px) { .lead-wrapper { grid-template-columns:1fr; gap:44px; } }
.lead-text h2 { font-size:var(--step-4); color:#fff; margin-bottom:18px; }
.lead-text p  { color:var(--silver-2); line-height:1.8; font-size:var(--step-0); margin-bottom:32px; }
.lead-perks { display:flex; flex-direction:column; gap:14px; }
.lead-perk  { display:flex; align-items:center; gap:14px; font-size:var(--step-0); color:var(--silver); }
.lead-perk-icon {
  width:26px; height:26px; border-radius:50%;
  background:var(--fire-dim); border:1px solid rgba(255,69,0,0.3);
  display:flex; align-items:center; justify-content:center;
  color:var(--fire); font-size:0.7rem; flex-shrink:0; font-weight:700;
}

/* Form card */
.lead-form {
  background:var(--glass);
  border:1px solid var(--glass-border-2);
  border-radius:var(--r-xl); padding:44px 40px;
  backdrop-filter:blur(28px);
  box-shadow:0 40px 100px rgba(0,0,0,0.6), 0 0 1px rgba(255,255,255,0.06);
  position:relative;
}
.lead-form::before {
  content:''; position:absolute; top:0; left:20%; right:20%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,69,0,0.4), transparent);
}
.lead-form h3     { color:#fff; font-size:var(--step-2); margin-bottom:6px; }
.lead-form .helper{ color:var(--silver-3); font-size:var(--step--1); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:500px) { .form-row { grid-template-columns:1fr; } }
.form-group { margin-bottom:16px; }
.form-group label {
  display:block; font-size:var(--step--1); font-weight:600;
  color:var(--silver-3); text-transform:uppercase; letter-spacing:0.07em; margin-bottom:8px;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-sm); padding:13px 16px;
  color:#fff; font-size:0.9rem; font-family:'Inter',sans-serif;
  transition:all 0.35s var(--ease); outline:none; line-height:1.5;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--fire);
  background:rgba(255,69,0,0.04);
  box-shadow:0 0 0 3px rgba(255,69,0,0.08);
}
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--silver-4); }
.form-group select { appearance:none; cursor:pointer; color:var(--silver); }
.form-group select option { background:var(--ink-3); color:var(--silver); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-submit {
  width:100%; padding:16px;
  background:linear-gradient(135deg, var(--fire) 0%, var(--fire-2) 60%, var(--fire-3) 100%);
  color:#fff; font-size:var(--step-0); font-weight:700;
  border-radius:50px; border:none; cursor:pointer;
  transition:all 0.35s var(--ease);
  box-shadow:0 10px 36px rgba(255,69,0,0.4);
  position:relative; overflow:hidden;
}
.form-submit::before {
  content:''; position:absolute; top:50%; left:50%;
  width:0; height:0; border-radius:50%; background:rgba(255,255,255,0.25);
  transform:translate(-50%,-50%);
  transition:width 0.6s var(--ease), height 0.6s var(--ease);
}
.form-submit:hover { transform:translateY(-3px); box-shadow:0 18px 56px rgba(255,69,0,0.55); }
.form-submit:hover::before { width:340px; height:340px; }
.form-submit:active { transform:scale(0.98); }
.form-privacy { font-size:var(--step--1); color:var(--silver-4); text-align:center; margin-top:14px; }

.form-success {
  display:none; text-align:center; padding:24px;
  background:rgba(0,200,80,0.06); border:1px solid rgba(0,200,80,0.18);
  border-radius:var(--r-lg); margin-top:16px;
  animation:fadeSlideUp 0.45s var(--ease);
}
.form-success.show { display:block; }
@keyframes fadeSlideUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

/* ─── FOOTER ──────────────────────────────────────────────────────────*/
.footer {
  background:var(--ink-1);
  border-top:1px solid var(--glass-border);
  padding:72px 0 0;
}
.footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:44px; margin-bottom:52px; }
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; gap:36px; } }
@media(max-width:500px) { .footer-grid { grid-template-columns:1fr; } }
.footer-brand p { color:var(--silver-2); font-size:var(--step--1); line-height:1.7; margin-bottom:22px; max-width:220px; }
.footer-social { display:flex; gap:12px; }
.footer-social a {
  width:40px; height:40px; border-radius:50%;
  background:var(--ink-4); border:1px solid var(--glass-border);
  display:flex; align-items:center; justify-content:center;
  color:var(--silver-2); font-size:0.9rem;
  transition:all 0.3s var(--ease);
}
.footer-social a:hover { background:var(--fire); border-color:var(--fire); color:#fff; transform:translateY(-3px); box-shadow:0 8px 24px rgba(255,69,0,0.4); }
.footer-col h4 { color:#fff; font-size:var(--step--1); font-weight:700; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:18px; }
.footer-col a  { display:block; color:var(--silver-2); font-size:var(--step--1); margin-bottom:10px; transition:color 0.2s; }
.footer-col a:hover { color:#fff; }
.footer-col p  { color:var(--silver-2); font-size:var(--step--1); line-height:1.7; margin-bottom:8px; }
.footer-hours  { display:flex; flex-direction:column; gap:8px; }
.footer-hours span { color:var(--silver-2); font-size:var(--step--1); display:flex; align-items:center; gap:10px; }
.hours-dot { width:8px; height:8px; border-radius:50%; background:#00d46a; box-shadow:0 0 10px #00d46a; flex-shrink:0; animation:dotBlink 2s ease-in-out infinite; }
.footer-bottom {
  border-top:1px solid var(--glass-border); padding:22px 0;
  display:flex; align-items:center; justify-content:space-between;
  font-size:var(--step--1); color:var(--silver-3); flex-wrap:wrap; gap:12px;
}
.footer-bottom a { color:var(--silver-2); transition:color 0.2s; }
.footer-bottom a:hover { color:var(--fire); }

/* ─── FLOATING CTA ────────────────────────────────────────────────────*/
.float-cta {
  position:fixed; bottom:28px; right:28px; z-index:800;
  background:linear-gradient(135deg, var(--fire) 0%, var(--fire-2) 100%);
  color:#fff; border-radius:50px; padding:15px 26px;
  display:flex; align-items:center; gap:10px;
  font-weight:700; font-size:0.875rem;
  box-shadow:0 10px 40px rgba(255,69,0,0.5);
  transition:all 0.35s var(--ease); border:none; cursor:pointer;
  animation:floatPulse 4s ease-in-out infinite;
}
@keyframes floatPulse {
  0%,100% { box-shadow:0 10px 40px rgba(255,69,0,0.45); }
  50%      { box-shadow:0 10px 60px rgba(255,69,0,0.7), 0 0 0 10px rgba(255,69,0,0.04); }
}
.float-cta:hover { transform:translateY(-5px) scale(1.04); box-shadow:0 20px 60px rgba(255,69,0,0.65); animation:none; }
.float-cta i { font-size:1rem; }

/* ─── SCROLL REVEALS ──────────────────────────────────────────────────*/
[data-reveal]           { opacity:0; transition:opacity 0.9s var(--ease), transform 0.9s var(--ease); }
[data-delay="1"]        { transition-delay:0.1s; }
[data-delay="2"]        { transition-delay:0.2s; }
[data-delay="3"]        { transition-delay:0.3s; }
[data-delay="4"]        { transition-delay:0.4s; }
[data-delay="5"]        { transition-delay:0.5s; }
[data-reveal="up"]      { transform:translateY(44px); }
[data-reveal="down"]    { transform:translateY(-28px); }
[data-reveal="left"]    { transform:translateX(-44px); }
[data-reveal="right"]   { transform:translateX(44px); }
[data-reveal="scale"]   { transform:scale(0.9); }
[data-reveal="fade"]    { transform:none; } /* opacity-only reveal */
[data-reveal].revealed  { opacity:1 !important; transform:none !important; }

/* ─── PAGE TRANSITIONS ────────────────────────────────────────────────*/
.page-transition {
  position:fixed; inset:0; background:var(--ink-0); z-index:9997;
  pointer-events:none; transform:translateY(100%);
}
.page-transition.entering { animation:ptIn  0.5s var(--ease-in)  forwards; }
.page-transition.leaving  { animation:ptOut 0.5s var(--ease-out) forwards; }
@keyframes ptIn  { from{transform:translateY(100%)} to{transform:translateY(0)} }
@keyframes ptOut { from{transform:translateY(0)}    to{transform:translateY(-100%)} }

/* ─── SECTION UTILS ───────────────────────────────────────────────────*/
.divider { height:1px; background:linear-gradient(90deg, transparent, var(--glass-border), transparent); margin:60px 0; }
.section-header { margin-bottom:60px; }
.section-header.center { text-align:center; }
.section-header.center .eyebrow { justify-content:center; }
.section-header.center .eyebrow::before { display:none; }
.section-sub { color:var(--silver-2); font-size:var(--step-0); line-height:1.7; margin-top:14px; max-width:540px; margin-left:auto; margin-right:auto; }
.tag-pill {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:50px; padding:5px 14px; font-size:var(--step--1); color:var(--silver-2);
}
.review-grid { align-items:start; }
.mt-32 { margin-top:32px; }

/* Card icon color */
.card-icon i { color:var(--fire); }

/* ─── SOCIAL / PLATFORM CARDS ────────────────────────────────────────*/
.social-platform-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:20px;
}
@media(max-width:700px){ .social-platform-grid { grid-template-columns:1fr; } }

.platform-card {
  display:flex; align-items:center; gap:20px;
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-lg); padding:24px 28px;
  text-decoration:none; color:var(--silver);
  position:relative; overflow:hidden;
  transition:all 0.4s var(--ease); backdrop-filter:blur(14px);
  cursor:pointer;
}
.platform-card::before {
  content:''; position:absolute; inset:0; border-radius:var(--r-lg);
  background:linear-gradient(135deg, rgba(255,255,255,0.03), transparent);
  pointer-events:none;
}
.platform-card:hover {
  border-color:rgba(255,255,255,0.14);
  transform:translateY(-6px);
  box-shadow:0 24px 64px rgba(0,0,0,0.5);
}

.platform-icon {
  width:58px; height:58px; border-radius:var(--r-sm); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,0.4);
  transition:transform 0.35s var(--ease-spring);
}
.platform-card:hover .platform-icon { transform:scale(1.1) rotate(-4deg); }

.platform-info {
  flex:1; display:flex; flex-direction:column; gap:4px;
}
.platform-name {
  font-family:'Outfit',sans-serif; font-weight:700; font-size:var(--step-1);
  color:#fff; line-height:1;
}
.platform-handle {
  font-size:var(--step--1); color:var(--silver-3); font-weight:500;
}
.platform-stats {
  display:flex; align-items:center; gap:8px; margin-top:4px;
  font-size:var(--step--1); color:var(--silver-2);
}
.platform-stats strong { color:#fff; }
.ps-dot {
  width:4px; height:4px; border-radius:50%;
  background:var(--silver-4); flex-shrink:0;
}

.platform-cta {
  font-size:var(--step--1); font-weight:600; color:var(--fire);
  display:flex; align-items:center; gap:6px; flex-shrink:0;
  transition:gap 0.3s var(--ease);
}
.platform-card:hover .platform-cta { gap:10px; }

/* ─── FAQ ACCORDION ───────────────────────────────────────────────────*/
.faq-container { display:flex; flex-direction:column; gap:16px; margin-bottom: 2rem;}
.faq-item {
  background:var(--glass); border:1px solid var(--glass-border);
  border-radius:var(--r-md); overflow:hidden;
  transition:all 0.4s var(--ease); backdrop-filter:blur(14px);
}
.faq-item:hover { border-color:rgba(255,69,0,0.2); box-shadow:0 8px 32px rgba(0,0,0,0.3); }
.faq-item[open] { border-color:rgba(255,69,0,0.3); box-shadow:0 12px 40px rgba(255,69,0,0.06); }
.faq-question {
  padding:22px 28px; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  font-family:'Outfit',sans-serif; font-weight:600; font-size:var(--step-0); color:#fff;
  list-style:none; user-select:none; gap:16px;
}
.faq-question::-webkit-details-marker { display:none; }
.faq-question i {
  color:var(--fire); font-size:1rem; transition:transform 0.4s var(--ease-spring); flex-shrink: 0;
}
.faq-item[open] .faq-question i { transform:rotate(180deg); color:#fff; }
.faq-answer {
  padding:0 28px 24px; color:var(--silver-2); line-height:1.75;
  font-size:var(--step--1);
  animation:faqFadeIn 0.4s var(--ease) forwards;
}
.faq-answer p { margin: 0; }
@keyframes faqFadeIn {
  from { opacity:0; transform:translateY(-8px); }
  to { opacity:1; transform:translateY(0); }
}

/* ─── MOBILE RESPONSIVENESS TWEAKS ────────────────────────────────────*/
@media(max-width: 768px) {
  .hero-content { padding: 140px 0 100px; text-align: center; }
  .hero-badge { margin-left: auto; margin-right: auto; justify-content: center; }
  .hero-meta { justify-content: center; }
  .hero-ctas { justify-content: center; }
  .section { padding: 70px 0; }
  .page-hero { padding: 130px 0 60px; }
  .split-image { min-height: 250px; }
  .lead-wrapper { gap: 32px; }
  .lead-form { padding: 32px 24px; }
  .form-row { grid-template-columns: 1fr; }
  .float-cta { bottom: 20px; right: 20px; padding: 12px 20px; font-size: 0.8rem; }
  .float-cta span { display: none; }
  .float-cta i { font-size: 1.2rem; }
  .footer { padding: 50px 0 0; }
  .contact-info-grid { grid-template-columns: 1fr; }
}

@media(max-width: 480px) {
  .hero-content { padding: 120px 0 80px; }
  .hero-title { font-size: 2.5rem; }
  .hero-badge { font-size: 0.7rem; padding: 6px 14px; }
  .hero-meta span { font-size: 0.75rem; }
  .stat-num { font-size: 1.8rem; }
  .stat-item { padding: 12px 8px; }
  .card { padding: 24px 20px; }
  .review-card { padding: 24px 20px; }
  .split-image { min-height: 200px; }
  .gmap-link { padding: 12px 18px; font-size: 0.8rem; }
  .timeline-item { padding: 0 0 28px 20px; }
  .section-title { font-size: 2rem; }
  .btn { padding: 12px 24px; font-size: 0.8rem; }
  .lead-form h3 { font-size: 1.3rem; }
  .rating-showcase { padding: 32px 20px; }
  .rating-number { font-size: 4rem; }
  .platform-card { padding: 16px; flex-direction: column; align-items: flex-start; gap: 12px; }
  .platform-icon { width: 44px; height: 44px; font-size: 1.2rem; }

  /* New overlapping fixes */
  .hero-meta { flex-direction: column; gap: 12px; align-items: center; }
  .stats-grid { grid-template-columns: 1fr; }
  .grid-2, .grid-3, .grid-4 { gap: 16px; }
  .info-card { flex-direction: column; align-items: center; text-align: center; }
  .split-layout { gap: 24px; }
  .footer-bottom { justify-content: center; text-align: center; }
  .contact-info-grid { gap: 16px; }
  .zone-card { aspect-ratio: 1/1; }
}

