/* ========== IRON PULSE — layout.css ========== */

/* ---------- NAVBAR ---------- */
.navbar {
  position: fixed; inset: 0 0 auto 0; z-index: 80;
  display: flex; align-items: center; gap: 2rem;
  padding: 1.1rem 4%;
  transition: background .4s, padding .4s, border-color .4s;
  border-bottom: 1px solid transparent;
}
.navbar.scrolled { background: rgba(5, 5, 5, .78); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); padding: .7rem 4%; border-color: rgba(255, 255, 255, .07); }
.brand { display: flex; align-items: center; gap: .7rem; }
.nav-links { display: flex; gap: 2.5rem; margin-inline: auto; }
.nav-links a { font-family: var(--font-head); font-weight: 600; font-size: .95rem; text-transform: uppercase; letter-spacing: 1px; position: relative; padding: .3rem 0; }
.nav-links a::after { content: ""; position: absolute; left: 0; bottom: -4px; width: 100%; height: 2px; background: var(--neon); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--ease); }
.nav-links a:hover { color: var(--neon); }
.nav-links a:hover::after { transform: scaleX(1); transform-origin: left; }

/* ---------- HERO ---------- */
.hero { position: relative; height: 100vh; min-height: 620px; overflow: hidden; }
.hero-bg { position: absolute; inset: -12% 0; }
.hero-bg video, .hero-bg .hero-fallback {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center 30%;
}
.hero-bg video {
  filter: grayscale(.8) contrast(1.15) brightness(.78);
  animation: heroZoom 24s ease-in-out infinite alternate;
}
.hero-bg .hero-fallback { display: none; filter: grayscale(1) contrast(1.08) brightness(.82); }
.hero-bg.no-video video { display: none; }
.hero-bg.no-video .hero-fallback { display: block; }
@keyframes heroZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.18) 45%, rgba(0,0,0,.72)); }
.hero-content { position: absolute; left: 4%; bottom: 7%; z-index: 2; }
.hero-tag { color: var(--neon); font-size: 1.15rem; line-height: 1.5; margin-bottom: 1rem; }
.hero-title { font-family: var(--font-display); font-size: clamp(3rem, 10.5vw, 9.5rem); line-height: .95; text-transform: uppercase; color: #fff; }
.hero-cta { position: absolute; right: 0; top: 44%; z-index: 3; border-radius: 0; }

/* ---------- MARQUEE BAR ---------- */
.marquee-bar { background: #d8d8d8; color: #111; padding: .75rem 0; overflow: hidden; position: relative; z-index: 4; }
.marquee-track { display: flex; align-items: center; gap: 3rem; width: max-content; animation: marquee 26s linear infinite; }
.m-unit { display: flex; align-items: center; gap: 3rem; }
.db { width: 44px; height: 22px; fill: #111; }
.m-unit b { font-family: var(--font-head); font-weight: 600; font-size: 1.45rem; text-transform: capitalize; white-space: nowrap; letter-spacing: .5px; }

/* ---------- STRENGTH (video stage — man RIGHT) ---------- */
.strength { position: relative; padding: 4.5rem 5% 5.5rem; overflow: visible; min-height: 100vh; }
.strength-inner { position: relative; z-index: 1; display: flex; flex-direction: column; }
.strength-title { font-family: var(--font-display); text-transform: uppercase; line-height: .95; }
.strength-title .line { display: block; transition: transform .4s var(--ease); cursor: default; }
.strength-title .line:hover { transform: translateX(14px); }
.l1 { font-size: clamp(2.3rem, 5vw, 4.4rem); margin-left: 1.5%; }
.l2 { font-size: clamp(4.5rem, 13.5vw, 12rem); }
.l3 { font-size: clamp(2.3rem, 5vw, 4.4rem); text-align: left; margin-left: 1.5%; margin-top: 1.4rem; }
.strength-cta { align-self: flex-start; margin-left: 1.5%; margin-top: 3.2rem; }
.strength-glow {
  position: absolute; right: 0; top: 2%; width: 50vw; height: 92%;
  background: radial-gradient(closest-side, rgba(233, 255, 43, .22), rgba(233, 255, 43, .06) 55%, transparent 75%);
  filter: blur(14px); pointer-events: none; z-index: 0;
  animation: glowPulse 5s ease-in-out infinite alternate;
}
@keyframes glowPulse {
  from { opacity: .65; transform: scale(.96); }
  to   { opacity: 1;   transform: scale(1.05); }
}
.strength-man {
  position: absolute; z-index: 6; right: 5%; left: auto; top: -64px;
  width: clamp(300px, 34vw, 580px); height: calc(100% + 64px);
  pointer-events: none;
}
.strength-man video { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.strength-man canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.strength-man.no-video canvas { display: none; }
.strength-man.no-video .man-fallback { display: block; }
.strength-man .man-fallback { display: none; width: 100%; height: 100%; object-fit: contain; object-position: top center; }
.strength-man.no-video video { display: none; }
.strength-man.no-video .man-fallback { display: block; }
.strength-hint {
  position: absolute; right: 6%; left: auto; bottom: 3.5%; z-index: 7;
  display: flex; align-items: center; gap: .6rem;
  font-family: var(--font-head); font-weight: 600; font-size: .72rem;
  letter-spacing: .4em; text-transform: uppercase; color: var(--grey);
  transition: opacity .6s;
}
.strength-hint .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--neon); animation: pulse 1.8s infinite; }
.strength-hint.hide { opacity: 0; }

/* ---------- PROGRAMS ---------- */
.programs { position: relative; padding: 7rem 0 6rem; overflow: hidden; background: var(--black); }
.programs-bg { position: absolute; right: 0; top: 0; height: 100%; opacity: .5; pointer-events: none; }
.programs-bg img { height: 100%; width: auto; max-width: none; object-fit: cover; filter: grayscale(1) brightness(.72); }
.programs .wrap { position: relative; z-index: 1; }
.programs-title { margin-bottom: 1.1rem; }
.reveal-word { display: inline-block; opacity: 0; transform: translateY(40px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal-word.visible { opacity: 1; transform: translateY(0); }
.programs-title .reveal-word:nth-child(1) { transition-delay: .1s; }
.programs-title .reveal-word:nth-child(2) { transition-delay: .25s; }
.programs-title .reveal-word:nth-child(3) { transition-delay: .4s; }
.carousel { position: relative; z-index: 1; display: flex; align-items: flex-end; gap: 2.4rem; overflow-x: auto; padding: 3.5rem 6% 3rem; scroll-snap-type: x proximity; cursor: grab; }
.carousel.dragging { cursor: grabbing; scroll-snap-type: none; }
.carousel::-webkit-scrollbar { display: none; }

/* ---------- TRAINERS (video bg + modern glass cards) ---------- */
.trainers { position: relative; overflow: hidden; background: var(--black); padding: 8rem 6%; }
.trainers-video { position: absolute; inset: 0; z-index: 0; }
.trainers-video .tv-fallback,
.trainers-video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.trainers-video .tv-fallback { filter: grayscale(1) brightness(.5); }
.trainers-video video { filter: grayscale(1) contrast(1.15) brightness(.5); animation: bgZoom 22s ease-in-out infinite alternate; }
@keyframes bgZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.tv-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 5, 5, .94) 18%, rgba(5, 5, 5, .6) 55%, rgba(5, 5, 5, .86) 100%),
    radial-gradient(60% 80% at 85% 15%, rgba(233, 255, 43, .12), transparent 60%);
}
.tv-scan {
  position: absolute; inset: 0; opacity: .45; mix-blend-mode: overlay;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 4px);
  animation: scanMove 9s linear infinite;
}
@keyframes scanMove { from { background-position: 0 0; } to { background-position: 0 160px; } }

.trainers-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: 4rem; align-items: center; min-height: 85vh; }
.trainers .section-title { font-size: clamp(3.6rem, 9.5vw, 8.5rem); line-height: .92; }
.trainers .section-sub { font-size: clamp(1.15rem, 1.9vw, 1.55rem); max-width: 640px; margin-top: 1.8rem; color: #e4e4e4; }

.trainer-stage { position: relative; display: flex; justify-content: center; }
.trainer-stage::before {
  content: ""; position: absolute; inset: -8% -12%; z-index: 0;
  background: radial-gradient(closest-side, rgba(233, 255, 43, .14), transparent 70%);
  filter: blur(10px);
}
.trainer-slider { position: relative; width: min(400px, 100%); height: 640px; z-index: 1; }
.trainer-slide {
  position: absolute; inset: 0; display: flex; align-items: flex-start; justify-content: center;
  opacity: 0; transform: translateX(60px) scale(.9); pointer-events: none;
  transition: opacity .6s var(--ease), transform .6s var(--ease);
}
.trainer-slide.current { opacity: 1; transform: none; pointer-events: auto; }

/* modern glass trainer card */
.trainer-card {
  width: 100%; border-radius: 26px; overflow: hidden; position: relative;
  background: rgba(12, 12, 12, .62); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 30px 70px rgba(0, 0, 0, .6);
}
.trainer-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 3; background: linear-gradient(90deg, var(--neon), transparent 70%); }
.tc-media { position: relative; aspect-ratio: 4 / 5; overflow: hidden; }
.tc-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; filter: grayscale(.65) contrast(1.08); transition: filter .7s, transform .9s var(--ease); }
.trainer-slide.current .tc-media img { filter: grayscale(0) contrast(1.02); }
.trainer-card:hover .tc-media img { transform: scale(1.05); }
.tc-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(5, 5, 5, .85)); }
.tc-tag {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  background: var(--neon); color: #000; font-family: var(--font-head); font-weight: 700;
  font-size: .72rem; letter-spacing: .22em; text-transform: uppercase;
  padding: .45rem .8rem; border-radius: 999px;
}
.tc-body { position: relative; padding: 1.5rem 1.6rem 1.7rem; }
.tc-label { display: block; font-family: var(--font-head); font-weight: 600; font-size: .7rem; letter-spacing: .4em; text-transform: uppercase; color: var(--neon); margin-bottom: .6rem; }
.trainer-caption { font-family: var(--font-head); font-weight: 600; font-size: 1.3rem; line-height: 1.35; color: #fff; }

.trainer-next {
  position: absolute; right: -18%; top: 42%; z-index: 4;
  width: 62px; height: 62px; border-radius: 50%; background: var(--neon);
  display: grid; place-items: center; animation: pulse 2.2s infinite;
  transition: transform .3s var(--ease);
}
.trainer-next:hover { transform: scale(1.12); }
.trainer-next::after { content: ""; border-left: 16px solid #000; border-top: 10px solid transparent; border-bottom: 10px solid transparent; margin-left: 4px; }

/* ---------- PLANS ---------- */
.plans { position: relative; overflow: hidden; padding: 8rem 0; background: var(--black); }
.plans-bg { position: absolute; inset: -10% 0; opacity: .3; pointer-events: none; }
.plans-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; filter: grayscale(.5) contrast(1.1) brightness(.65); }
.plans-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(70% 60% at 50% 45%, transparent 30%, rgba(5, 5, 5, .88) 100%),
    linear-gradient(180deg, rgba(5,5,5,.9), transparent 30%, transparent 70%, rgba(5,5,5,.9));
}
.plans .wrap { position: relative; z-index: 1; }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.6rem; margin-top: 4.5rem; align-items: stretch; }
.plan-note { margin-top: 3.6rem; text-align: center; font-family: var(--font-head); font-weight: 600; text-transform: uppercase; font-size: 1.15rem; letter-spacing: .6px; }
.plan-cta { display: flex; justify-content: center; margin-top: 1.4rem; }
/* ---------- EQUIPMENT / THE ARMORY ---------- */
.equipment { position: relative; overflow: hidden; background: var(--black); padding: 7rem 0 0; }
.eq-bg { position: absolute; inset: 0; pointer-events: none; }
.eq-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .14; filter: grayscale(1) contrast(1.2); }
.equipment::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(80% 70% at 50% 40%, transparent 40%, rgba(5, 5, 5, .8) 100%); }
.equipment .wrap { position: relative; z-index: 1; }
.eq-head { margin-bottom: 4rem; }

/* list + frame dono same height stretch → perfect alignment */
.eq-body { display: grid; grid-template-columns: 1.1fr .9fr; gap: 4.5rem; align-items: stretch; }

/* index list */
.eq-list { list-style: none; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.eq-row {
  display: grid; grid-template-columns: 64px 1fr auto 44px; align-items: center; gap: 1rem;
  padding: 1.5rem .6rem; border-top: 1px solid rgba(255, 255, 255, .1);
  cursor: pointer; transition: padding .4s var(--ease), background .4s;
}
.eq-row:hover, .eq-row.on { padding-left: 1.4rem; background: rgba(233, 255, 43, .06); }
.eq-idx { font-family: var(--font-head); font-weight: 600; font-size: .8rem; letter-spacing: .3em; color: var(--grey); }
.eq-name { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(1.4rem, 2.6vw, 2.2rem); line-height: 1; transition: color .3s; }
.eq-row:hover .eq-name, .eq-row.on .eq-name { color: var(--neon); }
.eq-spec { font-family: var(--font-head); font-weight: 600; font-size: .72rem; letter-spacing: .28em; color: var(--grey); text-transform: uppercase; }
.eq-arrow { font-size: 1.4rem; color: var(--neon); opacity: 0; transform: translate(-8px, 8px); transition: .4s var(--ease); text-align: right; }
.eq-row:hover .eq-arrow, .eq-row.on .eq-arrow { opacity: 1; transform: none; }

/* preview frame — list ke barabar height, moving boundary ke saath */
.eq-stage { position: relative; width: 100%; }
.eq-frame {
  position: absolute; inset: 0; border-radius: 26px; overflow: hidden;
  background: var(--coal); border: 1px solid rgba(255, 255, 255, .12);
}
.eq-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transform: scale(1.1); filter: grayscale(.5) contrast(1.06); transition: opacity .6s var(--ease), transform 1s var(--ease), filter .6s; }
.eq-img.is-on { opacity: 1; transform: scale(1); filter: grayscale(0) contrast(1.02); }

/* ⚡ moving boundary beam (border ke around ghoomta neon arc) */
@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes angleSpin { to { --angle: 360deg; } }
.eq-frame::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 2.5px; z-index: 5;
  background: conic-gradient(from var(--angle), transparent 55%, rgba(233, 255, 43, .12) 68%, var(--neon) 78%, #ffffff 84%, transparent 92%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: angleSpin 5s linear infinite;
  pointer-events: none;
}
/* halka inner volt glow */
.eq-frame::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 70px rgba(233, 255, 43, .07); z-index: 4; pointer-events: none; }

/* rotating badge + floating dumbbell */
.eq-ring { position: absolute; top: -58px; right: -46px; width: 150px; height: 150px; z-index: 6; }
.eq-ring svg { width: 100%; height: 100%; animation: spin 16s linear infinite; }
.eq-ring text { fill: var(--neon); font-family: var(--font-head); font-weight: 600; font-size: 15px; letter-spacing: .22em; text-transform: uppercase; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes floaty { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-18px) rotate(4deg); } }
.float-anim { animation: floaty 6s ease-in-out infinite; }
.eq-float { position: absolute; left: -64px; bottom: -34px; width: 190px; z-index: 6; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .7)); }

/* stats strip */
.eq-stats { display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; flex-wrap: wrap; margin-top: 5rem; padding-bottom: 5rem; }
.eq-stat b { display: block; font-family: var(--font-display); font-size: clamp(2.4rem, 4vw, 3.4rem); color: var(--neon); line-height: 1; }
.eq-stat span { font-family: var(--font-head); text-transform: uppercase; letter-spacing: .25em; font-size: .78rem; color: var(--grey); }
.eq-cta { margin-left: auto; }

/* stroke marquee */
.eq-marquee { overflow: hidden; border-top: 1px solid rgba(255, 255, 255, .08); padding: 1.4rem 0; }
.eq-track { display: flex; width: max-content; animation: marquee 30s linear infinite; }
.eq-track span {
  font-family: var(--font-display); text-transform: uppercase; white-space: nowrap;
  font-size: clamp(3rem, 7vw, 6rem); line-height: 1; padding-right: 3rem;
  color: transparent; -webkit-text-stroke: 1.5px rgba(233, 255, 43, .55);
}

@media (max-width: 1024px) {
  .eq-body { grid-template-columns: 1fr; gap: 3rem; }
  .eq-stage { order: -1; }
  .eq-frame { position: relative; inset: auto; aspect-ratio: 4 / 3; }
  .eq-ring { top: -40px; right: -20px; width: 120px; height: 120px; }
  .eq-float { left: auto; right: -20px; bottom: -30px; width: 150px; }
  .eq-cta { margin-left: 0; }
}
@media (max-width: 640px) {
  .eq-row { grid-template-columns: 44px 1fr 34px; padding: 1.2rem .4rem; }
  .eq-spec { display: none; }
  .eq-stats { gap: 1.6rem; }
}
/* ---------- FOOTER / FINAL CALL STAGE ---------- */
.footer { background: #000; position: relative; overflow: hidden; }

.cta-stage {
  position: relative; min-height: 92vh; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding: 7rem 6%;
}
.cta-media { position: absolute; inset: 0; }
.cta-media .cta-fallback,
.cta-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cta-media .cta-fallback { filter: grayscale(1) brightness(.45); }
.cta-media video { filter: grayscale(1) contrast(1.15) brightness(.45); animation: bgZoom 24s ease-in-out infinite alternate; }
.cta-overlay {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 5, 5, .9), rgba(5, 5, 5, .55) 45%, rgba(0, 0, 0, .92)),
    radial-gradient(70% 60% at 50% 100%, rgba(233, 255, 43, .14), transparent 65%);
}
.cta-scan {
  position: absolute; inset: 0; opacity: .4; mix-blend-mode: overlay;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 4px);
  animation: scanMove 9s linear infinite;
}

.cta-content { position: relative; z-index: 2; text-align: center; max-width: 1100px; }
.cta-title { font-family: var(--font-display); text-transform: uppercase; line-height: .95; font-size: clamp(3rem, 9vw, 8rem); }
.ct-line { display: block; }
.ct-now-wrap { position: relative; display: inline-block; margin-top: .5rem; }
.ct-now {
  display: inline-block; color: var(--neon); font-size: 1.25em; line-height: 1;
  transform: rotate(-2deg); animation: nowPulse 2.4s ease-in-out infinite;
}
@keyframes nowPulse {
  0%, 100% { transform: rotate(-2deg) scale(1);    text-shadow: 0 0 30px rgba(233, 255, 43, .4); }
  50%      { transform: rotate(-2deg) scale(1.06); text-shadow: 0 0 70px rgba(233, 255, 43, .85); }
}
.ct-strike {
  position: absolute; white-space: nowrap; color: #8a8a8a;
  font-family: var(--font-head); font-weight: 600;
  font-size: clamp(.9rem, 1.6vw, 1.3rem); letter-spacing: .12em; text-transform: uppercase;
}
.ct-strike::after { content: ""; position: absolute; left: -8%; right: -8%; top: 52%; height: 2px; background: #c8b93c; transform: rotate(-8deg); }
.ct-strike.s1 { top: -1.8em; left: -7.5em; transform: rotate(-8deg); }
.ct-strike.s2 { bottom: -1.5em; right: -8.5em; transform: rotate(-6deg); }

.cta-sub { margin: 2.2rem auto 0; color: #d8d8d8; font-size: 1.25rem; line-height: 1.6; max-width: 560px; }
.cta-actions { display: flex; gap: 1.4rem; justify-content: center; flex-wrap: wrap; margin-top: 2.8rem; }
.btn-big { padding: 1.25rem 3rem; font-size: 1.2rem; }

/* meta + giant marquee (unchanged) */
.footer-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1.6rem; padding: 1.6rem 4% 1rem; font-family: var(--font-head); font-weight: 500; text-transform: uppercase; letter-spacing: .6px; color: #e6e6e6; }
.footer-links { display: flex; gap: 1.8rem; }
.footer-links a:hover { color: var(--neon); }
.footer-marquee { overflow: hidden; padding-bottom: 1rem; }
.footer-track { display: flex; width: max-content; animation: marquee 20s linear infinite; }
.footer-track span {
  font-family: var(--font-display); font-size: clamp(6rem, 16vw, 14rem); line-height: 1;
  padding-right: 2.5rem; text-transform: uppercase; white-space: nowrap;
  background: linear-gradient(90deg, #fff 0%, var(--neon) 90%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

@media (max-width: 640px) {
  .cta-stage { min-height: 80vh; padding: 5rem 6%; }
  .ct-strike.s1 { left: -3.5em; top: -2.2em; }
  .ct-strike.s2 { right: -3em; bottom: -2em; }
  .cta-actions .btn { width: 100%; text-align: center; }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .strength-man { right: 3%; width: 40vw; }
  .strength-glow { width: 62vw; right: 0; }
  .trainers-inner { grid-template-columns: 1fr; min-height: auto; gap: 3.5rem; }
  .tv-overlay { background: linear-gradient(180deg, rgba(5,5,5,.92), rgba(5,5,5,.78)); }
  .trainer-next { right: 2%; top: 40%; }
  .plan-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
  .equipment-inner { grid-template-columns: 1fr; gap: 3rem; text-align: center; }
  .eq-right { flex-direction: column; gap: 2.5rem; }
  .equipment-bg img { width: 100%; opacity: .35; }
  .footer-cta { grid-template-columns: 1fr; gap: 2rem; }
  .footer-photo { height: 250px; clip-path: none; }
  .footer-line { text-align: left; }
  .footer-when { flex-direction: row; gap: 3rem; padding: 0; }
}
@media (max-width: 640px) {
  .nav-links { gap: 1.1rem; }
  .nav-links a { font-size: .74rem; letter-spacing: .5px; }
  .logo-text { font-size: 1.05rem; }
  .navbar .btn { display: none; }
  .strength { padding: 3.5rem 6% 4.5rem; }
  .strength-man { right: -2%; left: auto; width: 76%; top: -30px; height: calc(100% + 30px); }
  .strength-glow { width: 95vw; right: -5%; }
  .l1 { margin-left: 2%; }
  .l3 { margin-left: 0; margin-top: 1rem; }
  .strength-cta { margin-left: 0; margin-top: 2.4rem; }
  .strength-hint { right: 4%; left: auto; bottom: 2%; }
  .carousel { gap: 1.2rem; padding-inline: 6%; }
  .trainers { padding: 6rem 6%; }
  .trainer-slider { height: 560px; }
  .trainer-next { right: 4%; }
}

/* ---------- AMENITIES (vertical → pinned horizontal) ---------- */
.amenities { position: relative; background: var(--black); border-top: 1px solid rgba(255, 255, 255, .06); }

/* vertical intro */
.amen-intro { min-height: 92vh; display: flex; flex-direction: column; justify-content: center; padding: 6rem 6%; position: relative; }
.amen-title { font-family: var(--font-display); text-transform: uppercase; line-height: .92; font-size: clamp(3.5rem, 11vw, 10rem); }
.at-fill { display: block; color: #fff; }
.at-stroke { display: block; color: transparent; -webkit-text-stroke: 2px var(--neon); }
.amen-lead { margin-top: 2rem; color: #cfcfcf; font-size: 1.2rem; line-height: 1.6; max-width: 540px; }
.amen-hint { position: absolute; bottom: 6%; left: 6%; display: flex; align-items: center; gap: .8rem; font-family: var(--font-head); font-weight: 600; font-size: .75rem; letter-spacing: .4em; text-transform: uppercase; color: var(--grey); }
.amen-hint .h-arrow { color: var(--neon); font-size: 1.1rem; animation: nudge 1.4s ease-in-out infinite; }
@keyframes nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(9px); } }

/* pinned horizontal stage */
.amen-hscroll { height: 420vh; position: relative; }
.amen-pin { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; align-items: center; }
.amen-track { display: flex; align-items: center; gap: 3rem; padding: 0 8vw; will-change: transform; }

.amen-panel {
  flex: 0 0 auto; width: min(76vw, 1020px); height: min(70vh, 620px);
  display: grid; grid-template-columns: 1.3fr .7fr;
  background: var(--coal); border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 28px; overflow: hidden;
}
.ap-media { position: relative; overflow: hidden; }
.ap-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.05); transition: transform .8s var(--ease); }
.amen-panel:hover .ap-media img { transform: scale(1.06); }
.ap-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, .55)); }
.ap-num { position: absolute; top: 1rem; left: 1.4rem; z-index: 2; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.4rem); color: transparent; -webkit-text-stroke: 1.5px var(--neon); }

.ap-info { padding: 2.6rem 2.2rem; display: flex; flex-direction: column; gap: 1.4rem; background: rgba(10, 10, 10, .92); }
.ap-info h3 { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(1.6rem, 2.6vw, 2.6rem); line-height: 1; }
.ap-row { border-top: 1px solid rgba(255, 255, 255, .12); padding-top: 1rem; display: grid; grid-template-columns: 88px 1fr; gap: 1rem; }
.ap-row span { font-family: var(--font-head); font-weight: 600; font-size: .72rem; letter-spacing: .3em; text-transform: uppercase; color: var(--grey); padding-top: .25rem; }
.ap-row p { color: #d9d9d9; font-size: 1rem; line-height: 1.55; }
.ap-tag { margin-top: auto; align-self: flex-start; background: var(--neon); color: #000; font-family: var(--font-head); font-weight: 700; font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; padding: .5rem .9rem; border-radius: 999px; }

@media (max-width: 1024px) {
  .amen-hscroll { height: auto; }
  .amen-pin { position: static; height: auto; padding: 3rem 0 4rem; }
  .amen-track { transform: none !important; overflow-x: auto; padding: 0 6% 2rem; scroll-snap-type: x mandatory; }
  .amen-track::-webkit-scrollbar { display: none; }
  .amen-panel { width: 86vw; height: auto; grid-template-columns: 1fr; scroll-snap-align: center; }
  .ap-media { height: 44vh; }
  .ap-info { padding: 1.8rem 1.6rem 2rem; }
}
@media (max-width: 640px) {
  .amen-intro { min-height: 78vh; padding: 5rem 6%; }
  .amen-panel { width: 92vw; }
}

/* ---------- TESTIMONIALS (Google-review style) ---------- */
.testimonials { position: relative; padding: 8rem 0 7rem; background: var(--black); border-top: 1px solid rgba(255, 255, 255, .06); overflow: hidden; }
.tst-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.tst-rating { display: flex; align-items: center; gap: 1.1rem; }
.tst-rating b { font-family: var(--font-display); font-size: 3rem; color: var(--neon); line-height: 1; }
.tst-rating span { font-family: 'Space Mono', monospace; font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--grey); }
.tst-stars { display: flex; gap: .28rem; margin-bottom: .4rem; }
.star { width: 18px; height: 18px; fill: var(--neon); }

.tst-slider { margin-top: 3.5rem; }
.tst-viewport { overflow: hidden; }
.tst-track { display: flex; gap: 2rem; transition: transform .7s var(--ease); }
.tst-card {
  flex: 0 0 calc((100% - 4rem) / 3); position: relative; overflow: hidden;
  background: rgba(12, 12, 12, .6); border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 24px; padding: 2rem; display: flex; flex-direction: column; gap: 1.1rem;
  transition: border-color .4s, transform .4s var(--ease);
}
.tst-card:hover { border-color: rgba(233, 255, 43, .5); transform: translateY(-6px); }
.tst-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--neon), transparent 70%); }
.tst-quote::before { content: "“"; position: absolute; top: .8rem; right: 1.4rem; font-family: var(--font-display); font-size: 4.2rem; line-height: 1; color: rgba(233, 255, 43, .16); }
.tst-top { display: flex; align-items: center; gap: 1rem; }
.tst-ava { width: 54px; height: 54px; border-radius: 50%; overflow: hidden; border: 2px solid var(--neon); flex: 0 0 auto; }
.tst-ava img { width: 100%; height: 100%; object-fit: cover; }
.tst-name { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; text-transform: uppercase; letter-spacing: .04em; }
.tst-since { font-family: 'Space Mono', monospace; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--grey); }
.tst-quote { color: #d4d4d4; font-size: 1.05rem; line-height: 1.65; flex: 1; }
.tst-foot { display: flex; justify-content: space-between; font-family: 'Space Mono', monospace; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--grey); border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 1rem; }

.tst-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 2.4rem; }
.tst-dots { display: flex; gap: .5rem; }
.tst-dot { width: 30px; height: 3px; background: rgba(255, 255, 255, .18); transition: .4s var(--ease); }
.tst-dot.on { background: var(--neon); width: 52px; }
.tst-nav { display: flex; gap: .8rem; }
.tst-nav button {
  width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--neon);
  color: var(--neon); font-size: 1.15rem; transition: .3s;
}
.tst-nav button:hover { background: var(--neon); color: #000; }

@media (max-width: 1024px) { .tst-card { flex: 0 0 calc((100% - 2rem) / 2); } }
@media (max-width: 640px)  { .tst-card { flex: 0 0 100%; } .tst-head { flex-direction: column; align-items: flex-start; } }

/* ---------- STRENGTH MAN — NEON FX LAYER ---------- */
.man-fx, .man-scan {
  position: absolute; right: 5%; left: auto; top: -64px;
  width: clamp(300px, 34vw, 580px); height: calc(100% + 64px);
  pointer-events: none;
}
.man-fx { z-index: 5; }
.man-scan { z-index: 7; overflow: hidden; mix-blend-mode: screen; border-radius: 30px; }

/* giant outline word behind man */
.fx-word {
  position: absolute; top: 36%; left: 50%; transform: translate(-50%, -50%);
  font-family: var(--font-display); text-transform: uppercase; white-space: nowrap;
  font-size: clamp(6rem, 15vw, 14rem); line-height: 1;
  color: transparent; -webkit-text-stroke: 2px rgba(233, 255, 43, .3);
  animation: wordFlick 6s ease-in-out infinite;
}
@keyframes wordFlick { 0%, 100% { opacity: .55; } 50% { opacity: .95; } }

/* pulsing volt aura */
.fx-aura {
  position: absolute; inset: -10% -16%;
  background: radial-gradient(closest-side, rgba(233, 255, 43, .26), rgba(233, 255, 43, .07) 55%, transparent 76%);
  filter: blur(22px);
  animation: auraPulse 4s ease-in-out infinite alternate;
}
@keyframes auraPulse { from { opacity: .5; transform: scale(.95); } to { opacity: 1; transform: scale(1.07); } }

/* rotating conic neon ring */
.fx-ring {
  position: absolute; inset: -7%; border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0 60%, rgba(233, 255, 43, .85) 74%, #ffffff 82%, transparent 92%);
  -webkit-mask: radial-gradient(closest-side, transparent 72%, #000 74%, #000 84%, transparent 86%);
  mask: radial-gradient(closest-side, transparent 72%, #000 74%, #000 84%, transparent 86%);
  filter: drop-shadow(0 0 14px rgba(233, 255, 43, .55));
  animation: spin 6s linear infinite;
}

/* HUD corner brackets */
.fx-corner { position: absolute; width: 34px; height: 34px; border: 0 solid rgba(233, 255, 43, .85); animation: cornerPulse 2.6s ease-in-out infinite; }
.fx-corner.c1 { top: 2%; left: -4%; border-top-width: 2px; border-left-width: 2px; border-top-left-radius: 6px; }
.fx-corner.c2 { top: 2%; right: -4%; border-top-width: 2px; border-right-width: 2px; border-top-right-radius: 6px; animation-delay: .6s; }
.fx-corner.c3 { bottom: 4%; left: -4%; border-bottom-width: 2px; border-left-width: 2px; border-bottom-left-radius: 6px; animation-delay: 1.2s; }
.fx-corner.c4 { bottom: 4%; right: -4%; border-bottom-width: 2px; border-right-width: 2px; border-bottom-right-radius: 6px; animation-delay: 1.8s; }
@keyframes cornerPulse { 0%, 100% { opacity: .45; } 50% { opacity: 1; } }

/* mono status tag */
.fx-tag {
  position: absolute; top: -12px; left: -6%;
  display: flex; align-items: center; gap: .5rem;
  font-family: 'Space Mono', monospace; font-size: .62rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--neon);
  background: rgba(0, 0, 0, .65); border: 1px solid rgba(233, 255, 43, .4);
  padding: 5px 9px; border-radius: 6px;
}
.fx-tag i { width: 6px; height: 6px; border-radius: 50%; background: var(--neon); animation: blink 1.2s steps(2) infinite; }

/* rising neon embers */
.fx-ember {
  position: absolute; bottom: 6%; width: 5px; height: 5px; border-radius: 50%;
  background: var(--neon); box-shadow: 0 0 10px var(--neon), 0 0 22px rgba(233, 255, 43, .6);
  filter: blur(.4px); opacity: 0; animation: emberUp linear infinite;
}
.fx-ember.e1 { left: 12%; animation-duration: 6s;   animation-delay: 0s; }
.fx-ember.e2 { left: 30%; animation-duration: 7.5s; animation-delay: 1.2s; }
.fx-ember.e3 { left: 52%; animation-duration: 6.5s; animation-delay: 2.1s; }
.fx-ember.e4 { left: 68%; animation-duration: 8s;   animation-delay: .6s; }
.fx-ember.e5 { left: 84%; animation-duration: 7s;   animation-delay: 3s; }
.fx-ember.e6 { left: 44%; animation-duration: 9s;   animation-delay: 4.2s; }
@keyframes emberUp {
  0%   { transform: translateY(0) scale(1); opacity: 0; }
  12%  { opacity: .9; }
  100% { transform: translateY(-72vh) scale(.35); opacity: 0; }
}

/* holographic scan beam over the man */
.man-scan::after {
  content: ""; position: absolute; left: 0; right: 0; height: 24%;
  background: linear-gradient(180deg, transparent, rgba(233, 255, 43, .14) 42%, rgba(255, 255, 255, .3) 50%, rgba(233, 255, 43, .14) 58%, transparent);
  animation: scanY 4.6s ease-in-out infinite;
}
@keyframes scanY { 0% { top: -26%; } 60%, 100% { top: 106%; } }

/* responsive follow (man ke saath) */
@media (max-width: 1024px) {
  .man-fx, .man-scan { right: 3%; width: 40vw; }
}
@media (max-width: 640px) {
  .man-fx, .man-scan { right: -2%; left: auto; width: 76%; top: -30px; height: calc(100% + 30px); }
  .fx-tag { left: 0; }
  .fx-word { font-size: clamp(4.5rem, 22vw, 8rem); }
}