/* Gym fitness — bold black/neon lime, Bebas-like via Anton + Roboto */
:root {
  --gy-bg: #0a0a0a; --gy-lime: #c8ff00; --gy-white: #fff;
  --gy-muted: #888; --gy-panel: #141414;
}
body.gym {
  font-family: "Roboto Condensed", "Vazirmatn", Tahoma, sans-serif;
  background: var(--gy-bg); color: var(--gy-white);
}
.gy-nav {
  display: flex; justify-content: space-between; align-items: center;
  width: min(1100px, 94%); margin: 0 auto; padding: 1.25rem 0;
}
.gy-nav .logo { font-weight: 900; font-size: 1.6rem; letter-spacing: .05em; text-transform: uppercase; }
.gy-nav .logo span { color: var(--gy-lime); }
.gy-nav a { color: var(--gy-muted); margin-right: 1.1rem; font-weight: 700; text-transform: uppercase; font-size: .8rem; letter-spacing: .06em; }
.gy-nav a:hover { color: var(--gy-lime); }
.gy-hero {
  min-height: 75vh; display: grid; place-items: center; text-align: center;
  background: center/cover no-repeat;
  background-image: linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.8)),
    url("https://images.unsplash.com/photo-1534438327276-14e5300c3a48?w=1600&q=80");
  padding: 3rem 1.5rem;
}
.gy-hero h1 {
  font-size: clamp(3rem, 10vw, 6rem); font-weight: 900; text-transform: uppercase;
  line-height: 1; letter-spacing: -.02em; margin-bottom: 1rem;
}
.gy-hero h1 span { color: var(--gy-lime); }
.gy-hero p { color: #bbb; max-width: 28em; margin: 0 auto 1.75rem; font-size: 1.1rem; }
.gy-hero a {
  display: inline-block; background: var(--gy-lime); color: #000;
  padding: .85rem 2rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em;
}
.gy-sec { width: min(1100px, 94%); margin: 4rem auto; }
.gy-sec h2 {
  font-size: 2rem; font-weight: 900; text-transform: uppercase; margin-bottom: 1.5rem;
  text-align: center;
}
.gy-sec h2 span { color: var(--gy-lime); }
.gy-programs {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
@media (max-width: 800px) { .gy-programs { grid-template-columns: 1fr; } }
.gy-prog {
  background: var(--gy-panel); padding: 2rem 1.5rem; border: 1px solid #222;
  transition: border-color .2s;
}
.gy-prog:hover { border-color: var(--gy-lime); }
.gy-prog h3 { font-size: 1.3rem; font-weight: 900; text-transform: uppercase; margin-bottom: .5rem; color: var(--gy-lime); }
.gy-prog p { color: var(--gy-muted); margin-bottom: 1rem; }
.gy-prog .price { font-size: 1.8rem; font-weight: 900; }
.gy-trainers {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
@media (max-width: 800px) { .gy-trainers { grid-template-columns: 1fr; } }
.gy-tr { position: relative; overflow: hidden; }
.gy-tr img { width: 100%; aspect-ratio: 3/4; object-fit: cover; filter: grayscale(.4); }
.gy-tr .cap {
  position: absolute; bottom: 0; inset-inline: 0; padding: 1.25rem;
  background: linear-gradient(transparent, #000); font-weight: 900; text-transform: uppercase;
}
.gy-cta {
  background: var(--gy-lime); color: #000; text-align: center; padding: 3rem 1.5rem; margin-top: 2rem;
}
.gy-cta h2 { font-size: 2rem; font-weight: 900; text-transform: uppercase; margin-bottom: .5rem; }
.gy-cta a {
  display: inline-block; margin-top: 1rem; background: #000; color: var(--gy-lime);
  padding: .75rem 1.8rem; font-weight: 900; text-transform: uppercase;
}
.gy-foot { text-align: center; padding: 2rem; color: var(--gy-muted); font-size: .85rem; }
.gy-foot a { color: var(--gy-lime); }
