.elementor-kit-7{--e-global-color-primary:#4F7AAC;--e-global-color-secondary:#0D1B2A;--e-global-color-text:#E8F0F5;--e-global-color-accent:#8CB4C8;--e-global-color-95af58d:#4F7AAC;--e-global-color-e4ea2bf:#8CB4C8;--e-global-color-fc1e3f8:#3C648C;--e-global-color-13821e7:#0D1B2A;--e-global-color-1c1fa2c:#13263A;--e-global-color-d2634a8:#192F45;--e-global-color-11556c0:#FFFFFF;--e-global-color-fc6aa5f:#7A9AB0;--e-global-color-e43581d:#B0C8D8;--e-global-color-e4240b2:#07101A;--e-global-color-11473ed:#25D366;--e-global-color-7d0f11e:#FFFFFF;--e-global-typography-primary-font-family:"Barlow Condensed";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Barlow Condensed";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Jost";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Barlow Condensed";--e-global-typography-accent-font-size:11px;--e-global-typography-accent-font-weight:600;--e-global-typography-a3aa50e-font-family:"Barlow Condensed";--e-global-typography-a3aa50e-font-size:3.8rem;--e-global-typography-a3aa50e-font-weight:900;--e-global-typography-a3aa50e-font-style:italic;--e-global-typography-a3aa50e-letter-spacing:-0.02em;--e-global-typography-0f62625-font-family:"Barlow Condensed";--e-global-typography-0f62625-font-size:2rem;--e-global-typography-0f62625-font-weight:800;--e-global-typography-0f62625-text-transform:uppercase;--e-global-typography-0f62625-line-height:0.9px;--e-global-typography-5ba3482-font-family:"Barlow Condensed";--e-global-typography-5ba3482-font-size:1.6rem;--e-global-typography-5ba3482-font-weight:700;--e-global-typography-a5d81c4-font-family:"Barlow Condensed";--e-global-typography-a5d81c4-font-size:0.72rem;--e-global-typography-a5d81c4-font-weight:600;--e-global-typography-a5d81c4-letter-spacing:0.38em;--e-global-typography-5b70b19-font-family:"Barlow Condensed";--e-global-typography-5b70b19-font-size:2.2rem;--e-global-typography-5b70b19-font-weight:800;--e-global-typography-ec07160-font-family:"Barlow Condensed";--e-global-typography-ec07160-font-size:0.82rem;--e-global-typography-ec07160-font-weight:500;--e-global-typography-ec07160-text-transform:uppercase;--e-global-typography-cdf84d9-font-family:"Barlow Condensed";--e-global-typography-cdf84d9-font-size:0.78rem;--e-global-typography-cdf84d9-font-weight:700;--e-global-typography-cdf84d9-text-transform:uppercase;--e-global-typography-cdf84d9-letter-spacing:0.18em;--e-global-typography-e10fb14-font-family:"Jost";--e-global-typography-e10fb14-font-size:1.05rem;--e-global-typography-e10fb14-font-weight:300;--e-global-typography-46eaafe-font-family:"Barlow Condensed";--e-global-typography-46eaafe-font-size:0.88rem;--e-global-typography-46eaafe-font-weight:700;--e-global-typography-46eaafe-text-transform:uppercase;--e-global-typography-46eaafe-letter-spacing:0.16em;--e-global-typography-c58d838-font-family:"Barlow Condensed";--e-global-typography-c58d838-font-size:1.4rem;--e-global-typography-c58d838-font-weight:700;--e-global-typography-c58d838-text-transform:uppercase;--e-global-typography-8f5c8cd-font-family:"Barlow Condensed";--e-global-typography-8f5c8cd-font-size:2.4rem;--e-global-typography-8f5c8cd-font-weight:900;--e-global-typography-0cf8ea4-font-family:"Jost";--e-global-typography-0cf8ea4-font-size:0.68rem;--e-global-typography-0cf8ea4-font-weight:700;--e-global-typography-0cf8ea4-text-transform:uppercase;--e-global-typography-2df17ce-font-family:"Barlow Condensed";--e-global-typography-2df17ce-font-size:3.8rem;--e-global-typography-2df17ce-font-weight:900;--e-global-typography-3abeab0-font-family:"Jost";--e-global-typography-3abeab0-font-size:1.05rem;--e-global-typography-3abeab0-font-weight:300;--e-global-typography-3f10b6c-font-family:"Barlow Condensed";--e-global-typography-3f10b6c-font-size:0.72rem;--e-global-typography-3f10b6c-font-weight:600;--e-global-typography-27f9387-font-family:"Barlow Condensed";--e-global-typography-27f9387-font-size:0.88rem;--e-global-typography-27f9387-font-weight:700;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-a3aa50e-font-size:3rem;--e-global-typography-0f62625-font-size:2.2rem;--e-global-typography-5ba3482-font-size:1.4rem;--e-global-typography-5b70b19-font-size:1.8px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ═══════════════════════════════════════════════════════════════
   STAY FIT SPORT CLUB — CSS Personalizado para Elementor Pro
   Versión 2 · Paleta Steel Blue · Logo actualizado
   Pegar en: Elementor → Kit del sitio → CSS Personalizado
   Elaborado por SEURIUX / TOH Soluciones Digitales
═══════════════════════════════════════════════════════════════ */

/* ── 1. VARIABLES GLOBALES ──────────────────────────────────── */
:root {
  --sf-navy:   #0d1b2a;   /* fondo base */
  --sf-navy2:  #13263a;   /* secciones alternas */
  --sf-navy3:  #192f45;   /* planes, map header */
  --sf-blue:   #4f7aac;   /* acento principal ★ */
  --sf-blue2:  #8cb4c8;   /* acento claro, horas */
  --sf-blue3:  rgba(79,122,172,.15); /* fondos suaves */
  --sf-blue4:  #3c648c;   /* CTA oscuro, marquee */
  --sf-white:  #ffffff;
  --sf-off:    #e8f0f5;
  --sf-gray:   #7a9ab0;
  --sf-gray2:  #b0c8d8;
  --sf-footer: #07101a;
  --sf-tr:     .35s cubic-bezier(.25,.8,.25,1);
  --sf-r:      6px;
}

/* ── 2. RESET BASE ──────────────────────────────────────────── */
html { scroll-behavior: smooth; }
body { background: var(--sf-navy); overflow-x: hidden; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--sf-navy); }
::-webkit-scrollbar-thumb { background: var(--sf-blue); border-radius: 99px; }

/* ── 3. CLASES DE COLOR DE FONDO ────────────────────────────── */
.sf-bg-navy   { background: var(--sf-navy)   !important; }
.sf-bg-navy2  { background: var(--sf-navy2)  !important; }
.sf-bg-navy3  { background: var(--sf-navy3)  !important; }
.sf-bg-blue   { background: var(--sf-blue)   !important; }
.sf-bg-blue4  { background: var(--sf-blue4)  !important; }
.sf-bg-footer { background: var(--sf-footer) !important; }
.sf-blue      { color: var(--sf-blue)  !important; }
.sf-blue2     { color: var(--sf-blue2) !important; }

/* ── 4. TIPOGRAFÍA ──────────────────────────────────────────── */
.sf-h1, .sf-h2, .sf-h3,
.elementor-heading-title.sf-headline {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  line-height: .9 !important;
  letter-spacing: -.01em !important;
}
/* Texto outline con color del logo */
.sf-outline {
  -webkit-text-stroke: 2px var(--sf-blue) !important;
  color: transparent !important;
}
/* Eyebrow / label pre-título */
.sf-eyebrow {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: .72rem !important;
  letter-spacing: .38em !important;
  text-transform: uppercase !important;
  color: var(--sf-blue) !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}
.sf-eyebrow::before {
  content: '';
  width: 36px; height: 1px;
  background: var(--sf-blue);
  flex-shrink: 0;
}

/* ── 5. NAV ─────────────────────────────────────────────────── */
.sf-nav-blur {
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  background: rgba(13,27,42,.93) !important;
  border-bottom: 1px solid rgba(79,122,172,.18) !important;
}
/* Botón "Iniciar sesión" en nav */
.sf-nav-cta,
.elementor-button.sf-nav-cta {
  background: var(--sf-blue) !important;
  color: var(--sf-white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: .78rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: 10px 24px !important;
  border-radius: var(--sf-r) !important;
  border: 2px solid var(--sf-blue) !important;
  transition: all var(--sf-tr) !important;
  white-space: nowrap !important;
}
.sf-nav-cta:hover,
.elementor-button.sf-nav-cta:hover {
  background: transparent !important;
  color: var(--sf-blue) !important;
}

/* ── 6. BOTONES ─────────────────────────────────────────────── */
/* Primario azul */
.sf-btn-blue,
.elementor-button.sf-btn-blue {
  background: var(--sf-blue) !important;
  color: var(--sf-white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: .88rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  padding: 15px 36px !important;
  border-radius: var(--sf-r) !important;
  border: 2px solid var(--sf-blue) !important;
  transition: all var(--sf-tr) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.sf-btn-blue:hover,
.elementor-button.sf-btn-blue:hover {
  background: transparent !important;
  color: var(--sf-blue) !important;
  transform: translateY(-2px) !important;
}

/* Ghost / outline */
.sf-btn-ghost,
.elementor-button.sf-btn-ghost {
  background: transparent !important;
  color: var(--sf-white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 600 !important;
  font-size: .88rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  padding: 15px 36px !important;
  border-radius: var(--sf-r) !important;
  border: 2px solid rgba(255,255,255,.22) !important;
  transition: all var(--sf-tr) !important;
}
.sf-btn-ghost:hover,
.elementor-button.sf-btn-ghost:hover {
  border-color: var(--sf-blue) !important;
  color: var(--sf-blue) !important;
}

/* Dark (dentro card blanca) */
.sf-btn-dark,
.elementor-button.sf-btn-dark {
  background: var(--sf-navy) !important;
  color: var(--sf-white) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: .82rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border-radius: var(--sf-r) !important;
  border: 2px solid var(--sf-navy) !important;
  transition: all var(--sf-tr) !important;
  width: 100%;
  justify-content: center;
}
.sf-btn-dark:hover,
.elementor-button.sf-btn-dark:hover {
  background: transparent !important;
  color: var(--sf-navy) !important;
}

/* Blanco (sobre fondo azul oscuro) */
.sf-btn-white,
.elementor-button.sf-btn-white {
  background: var(--sf-white) !important;
  color: var(--sf-blue4) !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  font-size: .85rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  padding: 17px 40px !important;
  border-radius: var(--sf-r) !important;
  border: 2px solid var(--sf-white) !important;
  transition: all var(--sf-tr) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.sf-btn-white:hover,
.elementor-button.sf-btn-white:hover {
  background: transparent !important;
  color: var(--sf-white) !important;
}

/* WhatsApp inline */
.sf-btn-wa {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #25d366;
  color: var(--sf-white);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  font-size: .82rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 15px 32px;
  border-radius: var(--sf-r);
  transition: all var(--sf-tr);
  text-decoration: none;
}
.sf-btn-wa:hover {
  background: #1db954;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(37,211,102,.35);
}

/* ── 7. BOTÓN FLOTANTE WHATSAPP ─────────────────────────────── */
.sf-wa-float {
  position: fixed !important;
  bottom: 28px !important;
  right: 28px !important;
  z-index: 9999 !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #25d366 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.5rem !important;
  color: white !important;
  box-shadow: 0 8px 32px rgba(37,211,102,.4) !important;
  transition: all var(--sf-tr) !important;
  text-decoration: none !important;
  animation: sfWaIn 1s 2s ease both !important;
}
.sf-wa-float:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 12px 40px rgba(37,211,102,.6) !important;
}
.sf-wa-ring {
  position: absolute; inset: -4px; border-radius: 50%;
  border: 2px solid rgba(37,211,102,.4);
  animation: sfWaRing 2.5s ease-in-out infinite;
}
@keyframes sfWaIn  { from{opacity:0;transform:scale(.4);} to{opacity:1;transform:scale(1);} }
@keyframes sfWaRing{ 0%,100%{transform:scale(1);opacity:.6;} 50%{transform:scale(1.16);opacity:.15;} }

/* ── 8. MARQUEE STRIP ──────────────────────────────────────── */
.sf-marquee      { overflow: hidden; background: var(--sf-blue4); padding: 14px 0; }
.sf-marquee-inner {
  display: flex; white-space: nowrap;
  animation: sfMarquee 24s linear infinite;
}
.sf-marquee-item {
  flex-shrink: 0; padding: 0 40px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: rgba(255,255,255,.9);
  display: flex; align-items: center; gap: 16px;
}
.sf-marquee-item::before { content: '◆'; font-size: .5rem; opacity: .7; }
@keyframes sfMarquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ── 9. HERO STATS BAR ─────────────────────────────────────── */
.sf-stats-bar {
  background: rgba(8,14,22,.75);
  backdrop-filter: blur(12px);
  border-top: 1px solid rgba(79,122,172,.18);
  display: flex; justify-content: center;
}
.sf-stat {
  flex: 1; max-width: 220px;
  padding: 24px 16px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.06);
}
.sf-stat:last-child { border-right: none; }
.sf-stat-num {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.2rem; font-weight: 800;
  color: var(--sf-blue); line-height: 1;
}
.sf-stat-lbl {
  font-size: .68rem; color: var(--sf-gray);
  letter-spacing: .14em; text-transform: uppercase; margin-top: 4px;
}

/* ── 10. GALERÍA GRID ──────────────────────────────────────── */
.sf-gal-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 300px 300px;
  gap: 3px;
}
.sf-gal-cell { overflow: hidden; position: relative; cursor: pointer; }
.sf-gal-cell:nth-child(1) { grid-row: 1/3; }
.sf-gal-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: saturate(.65) brightness(.75);
  transition: all .6s ease;
}
.sf-gal-cell:hover .sf-gal-bg {
  filter: saturate(.9) brightness(.7); transform: scale(1.04);
}
.sf-gal-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(13,27,42,.7) 0%, transparent 50%);
}
.sf-gal-label {
  position: absolute; bottom: 16px; left: 16px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .78rem; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  background: rgba(79,122,172,.9); color: var(--sf-white);
  padding: 5px 12px; border-radius: 99px;
  opacity: 0; transform: translateY(8px); transition: all var(--sf-tr);
}
.sf-gal-cell:hover .sf-gal-label { opacity: 1; transform: translateY(0); }

/* ── 11. SERVICIO CARD ─────────────────────────────────────── */
.sf-serv-card {
  position: relative; overflow: hidden; height: 300px; cursor: pointer;
}
.sf-serv-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  filter: saturate(.5) brightness(.6); transition: all .55s ease;
}
.sf-serv-card:hover .sf-serv-bg {
  filter: saturate(.85) brightness(.5); transform: scale(1.05);
}
.sf-serv-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(8,14,22,.95) 0%, transparent 60%);
}
.sf-serv-info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px 20px; }
.sf-serv-icon { font-size: 2rem; margin-bottom: 6px; transition: transform var(--sf-tr); }
.sf-serv-card:hover .sf-serv-icon { transform: scale(1.12); }
.sf-serv-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.4rem; font-weight: 700;
  text-transform: uppercase; color: var(--sf-white);
}
.sf-serv-desc {
  font-size: .82rem; color: var(--sf-gray2);
  line-height: 1.5; margin-top: 5px;
  max-height: 0; overflow: hidden; transition: max-height .4s ease;
}
.sf-serv-card:hover .sf-serv-desc { max-height: 60px; }
.sf-serv-tag {
  position: absolute; top: 16px; left: 16px;
  background: var(--sf-blue); color: var(--sf-white);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .65rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  padding: 4px 12px; border-radius: 99px;
}

/* ── 12. PILAR CARD (Nosotros) ─────────────────────────────── */
.sf-pilar {
  padding: 16px; border-radius: var(--sf-r);
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(79,122,172,.18);
  border-left: 3px solid var(--sf-blue);
  transition: background var(--sf-tr);
}
.sf-pilar:hover { background: rgba(79,122,172,.07); }
.sf-pilar-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700; font-size: .88rem;
  letter-spacing: .07em; text-transform: uppercase;
  margin-bottom: 3px; color: var(--sf-white);
}
.sf-pilar-desc { font-size: .78rem; color: var(--sf-gray); line-height: 1.4; }

/* ── 13. HORARIOS CARD ─────────────────────────────────────── */
.sf-h-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px; padding: 48px;
}
.sf-h-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.06);
}
.sf-h-row:last-of-type { border-bottom: none; }
.sf-h-dia {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .85rem; font-weight: 500;
  letter-spacing: .1em; text-transform: uppercase; color: var(--sf-gray2);
}
.sf-h-hora {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.05rem; font-weight: 700; color: var(--sf-blue2);
}
.sf-h-hora.cerrado { color: #3a5568; }
.sf-h-note {
  background: rgba(79,122,172,.1);
  border: 1px solid rgba(79,122,172,.2);
  border-radius: 6px; padding: 14px 16px;
  font-size: .82rem; color: #7ab0c8; line-height: 1.6;
}

/* ── 14. PRECIO CARD ───────────────────────────────────────── */
.sf-precio-card {
  background: var(--sf-white); border-radius: 10px;
  padding: 48px; position: relative; overflow: hidden; color: var(--sf-navy);
}
.sf-precio-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--sf-blue), var(--sf-blue2));
}
.sf-precio-line {
  display: flex; justify-content: space-between; align-items: flex-end;
  padding: 18px 20px; background: #f0f6f9;
  border-radius: var(--sf-r); margin-bottom: 12px;
}
.sf-precio-val {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.4rem; font-weight: 900; color: var(--sf-navy); line-height: 1;
}
.sf-precio-inc {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; border-bottom: 1px solid #e8eef2;
  font-size: .85rem; color: #2c3e50;
}
.sf-precio-inc:last-child { border-bottom: none; }
.sf-precio-check { color: var(--sf-blue); font-size: 1rem; font-weight: 700; flex-shrink: 0; }

/* ── 15. REVEAL ON SCROLL ──────────────────────────────────── */
.sf-reveal {
  opacity: 0; transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease;
}
.sf-reveal.sf-visible { opacity: 1; transform: translateY(0); }

/* ── 16. FOOTER ────────────────────────────────────────────── */
.sf-footer-col h5 {
  font-family: 'Jost', sans-serif !important;
  font-size: .68rem !important; font-weight: 700 !important;
  letter-spacing: .25em !important; text-transform: uppercase !important;
  color: var(--sf-blue) !important; margin-bottom: 18px !important;
}
.sf-footer-col a { color: #4a6478; transition: color var(--sf-tr); }
.sf-footer-col a:hover { color: var(--sf-white); }
.sf-soc-link {
  width: 34px; height: 34px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .75rem; color: #4a6478; transition: all var(--sf-tr);
  text-decoration: none;
}
.sf-soc-link:hover { border-color: var(--sf-blue); color: var(--sf-blue); }

/* ── 17. SCRIPT REVEAL ─────────────────────────────────────── */
/*
  Pegar en widget HTML al final de la página, o en
  Elementor → Configuración → CSS/JS personalizado:

  <script>
  const io = new IntersectionObserver(entries => {
    entries.forEach(e => {
      if (e.isIntersecting) {
        e.target.classList.add('sf-visible');
        io.unobserve(e.target);
      }
    });
  }, { threshold: 0.1 });
  document.querySelectorAll('.sf-reveal').forEach(el => io.observe(el));
  </script>
*/

/* ── 18. RESPONSIVE ────────────────────────────────────────── */
@media(max-width:1024px) {
  .sf-gal-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 220px 220px 220px;
  }
  .sf-gal-cell:nth-child(1) { grid-row: auto; }
}
@media(max-width:768px) {
  .sf-stats-bar      { flex-wrap: wrap; }
  .sf-stat           { min-width: 50%; border-bottom: 1px solid rgba(255,255,255,.05); }
  .sf-gal-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 170px 170px 170px;
  }
  .sf-serv-card      { height: 240px; }
  .sf-marquee-item   { padding: 0 24px; font-size: .85rem; }
  .sf-wa-float       { bottom: 20px; right: 20px; }
  section            { padding: 80px 0 !important; }
}
@media(max-width:480px) {
  .sf-btn-blue,
  .sf-btn-ghost      { width: 100% !important; justify-content: center !important; }
  .sf-gal-grid       { grid-template-columns: 1fr; grid-template-rows: repeat(5,200px); }
  .sf-stat           { min-width: 50%; }
  .sf-wa-float       { width: 50px; height: 50px; font-size: 1.3rem; }
}

/* ══ FIN CSS STAY FIT v2 ══ */




@media screen and (min-width:767px){
.fit-container::before {
    content: '"FIT"';
    position: absolute;
    right: -60px;
    top: 50%;
    transform: translateY(-20%) translateX(50%);
    font-size: 30rem;
    font-weight: 900;
    font-style: italic;
    color: #8CB4C845;
    line-height: 1;
}
}
@media screen and (max-width:766px){
.fit-container::before {
    content: '"FIT"';
    position: absolute;
    right: -60px;
    transform: translateY(50%) translateX(0%);
    font-size: 20rem;
    font-weight: 900;
    font-style: italic;
    color: #8CB4C845;
    line-height: 1;
}
}
.fit-container {
    position: relative;
}/* End custom CSS */