/* =====================================================
   GIMNASIO ATHLETIC · CSS GLOBAL
   Archivo consolidado para mantener el sitio como un solo sistema visual.
   No volver a cargar CSS por página salvo necesidad documentada.
===================================================== */


/* =====================================================
   BLOQUE GLOBAL: BASE
===================================================== */

:root{

  /* =========================
     COLORES
  ========================= */

  --black:#050505;
  --graphite:#101218;
  --graphite-2:#191d25;

  --red:#e10600;
  --red-dark:#990000;
  --red-light:#ff2a2a;

  --blue:#292b86;

  --white:#ffffff;
  --muted:#d8d8de;

  --line:rgba(255,255,255,.12);
  --glass:rgba(255,255,255,.06);

  /* =========================
     LAYOUT
  ========================= */

  --radius:28px;
  --max:1180px;

  /* =========================
     EFECTOS
  ========================= */

  --shadow-red:
    0 0 46px rgba(225,6,0,.35);

  --shadow-dark:
    0 18px 44px rgba(0,0,0,.38);
}


/* ======================================================
   RESET
====================================================== */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:Montserrat,Arial,sans-serif;
  background:var(--black);
  color:#ffffff;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}


/* ======================================================
   ELEMENTOS GENERALES
====================================================== */

img{
  display:block;
  max-width:100%;
}

a{
  color:inherit;
  text-decoration:none;
}

p,
li{
  color:rgba(255,255,255,.94);
}


/* ======================================================
   CONTENEDORES
====================================================== */

.container{
  width:min(var(--max),calc(100% - 40px));
  margin:auto;
}

.page-shell{
  padding-top:96px;
}


/* ======================================================
   TIPOGRAFÍAS
====================================================== */

h1,
h2,
h3,
h4,
h5,
h6{
  color:#ffffff;
  text-wrap:balance;
}

.section-head h2,
.page-title h1{
  max-width:760px;
  padding-top:6px;
  color:#ffffff;
  font-family:Anton,Impact,sans-serif;
  font-size:clamp(42px,6vw,82px);
  font-weight:400;
  line-height:1.08;
  letter-spacing:.015em;
  text-transform:uppercase;
  text-shadow:0 4px 24px rgba(0,0,0,.35);
}

h3,
.info-card h3,
.tool-card h3,
.branch-content h3,
.plan-card h3,
.shop-card h3{
  color:#ffffff;
  font-weight:400;
  line-height:1.12;
  letter-spacing:.03em;
  padding-top:4px;
}

.section-head p,
.page-title p{
  max-width:520px;
  color:rgba(255,255,255,.94);
  font-size:16px;
  line-height:1.8;
}


/* =========================================
   EYEBROW PREMIUM ATHLETIC
========================================= */

.eyebrow{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;

  padding:10px 18px;

  margin-top:0px;
  margin-bottom:14px;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      135deg,
      rgba(225,6,0,.22),
      rgba(225,6,0,.08)
    );

  color:#ffffff;

  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;

  box-shadow:
    0 10px 30px rgba(225,6,0,.16),
    inset 0 1px 0 rgba(255,255,255,.05);

  backdrop-filter:blur(10px);
}

/* Línea luminosa */

.eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;

  background:#ff2a2a;

  box-shadow:
    0 0 14px rgba(225,6,0,.85),
    0 0 24px rgba(225,6,0,.45);
}


/* ======================================================
   BOTONES CTA PREMIUM
====================================================== */

.btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:14px 23px;

  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);

  color:#ffffff;

  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;

  background:rgba(255,255,255,.06);

  box-shadow:
    0 14px 34px rgba(0,0,0,.28);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease,
    background .3s ease;
}

.btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.18),
      transparent 35%,
      rgba(255,255,255,.05)
    );

  opacity:.6;
}

.btn::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  z-index:-1;

  width:70%;
  height:100%;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255,255,255,.42),
      transparent
    );

  transform:skewX(-22deg);
  transition:left .65s ease;
}

.btn:hover{
  transform:translateY(-4px) scale(1.015);
  border-color:rgba(255,255,255,.34);
  box-shadow:
    0 18px 44px rgba(0,0,0,.38),
    0 0 38px rgba(225,6,0,.20);
}

.btn:hover::after{
  left:135%;
}


/* Botón rojo */

.btn--red{
  background:
    linear-gradient(
      135deg,
      var(--red-light) 0%,
      var(--red) 42%,
      #7d0000 100%
    );

  border-color:rgba(255,255,255,.18);

  box-shadow:
    0 16px 42px rgba(225,6,0,.34),
    inset 0 1px 0 rgba(255,255,255,.18);
}

.btn--red:hover{
  box-shadow:
    0 20px 54px rgba(225,6,0,.48),
    0 0 42px rgba(225,6,0,.32),
    inset 0 1px 0 rgba(255,255,255,.20);
}


/* Botón glass */

.btn--ghost{
  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.04)
    );

  backdrop-filter:blur(12px);
}

.btn--ghost:hover{
  border-color:rgba(225,6,0,.42);

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.18),
      rgba(225,6,0,.10)
    );
}


/* ======================================================
   SECCIONES
====================================================== */

.section{
  position:relative;
  padding:105px 0;
}

.section--graphite{
  background:
    linear-gradient(
      180deg,
      var(--black),
      var(--graphite)
    );
}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:42px;
}


/* ======================================================
   ANIMACIONES
====================================================== */

.reveal{
  opacity:0;
  transform:translateY(34px);
  transition:
    opacity .75s ease,
    transform .75s ease;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}


/* ======================================================
   PAGE TITLE
====================================================== */

.page-title{
  padding:120px 0 70px;

  background:
    radial-gradient(
      circle at 20% 40%,
      rgba(225,6,0,.25),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #080808,
      var(--black)
    );
}


/* ======================================================
   GRIDS
====================================================== */

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}


/* ======================================================
   INFO CARD
====================================================== */

.info-card{
  position:relative;
  overflow:hidden;
  padding:34px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.03)
    );

  backdrop-filter:blur(14px);

  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.info-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;

  background:
    linear-gradient(
      135deg,
      rgba(225,6,0,.18),
      transparent 45%
    );

  transition:opacity .35s ease;
}

.info-card:hover{
  transform:translateY(-8px);
  border-color:rgba(225,6,0,.35);

  box-shadow:
    0 24px 70px rgba(0,0,0,.34),
    0 0 40px rgba(225,6,0,.12);
}

.info-card:hover::before{
  opacity:1;
}

.info-card h3{
  position:relative;
  z-index:2;
  margin-bottom:14px;
  font-family:Anton,sans-serif;
  font-size:34px;
  text-transform:uppercase;
}

.info-card p,
.info-card li{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.94);
  font-size:15px;
  line-height:1.8;
}


/* ======================================================
   CONTRASTE GLOBAL
====================================================== */

body,
a,
span,
small,
strong,
h1,
h2,
h3,
h4,
h5,
h6{
  color:#ffffff;
}

p,
li,
.section-head p,
.page-title p,
.info-card p,
.info-card li,
.tool-card p,
.branch-content p,
.cta p,
.stat span{
  color:rgba(255,255,255,.94);
}

.hero h1 span,
.stat strong{
  color:var(--red-light);
}


/* ======================================================
   EFECTO NOISE
====================================================== */

.noise{
  position:fixed;
  inset:0;
  z-index:999;
  pointer-events:none;
  opacity:.04;

  background-image:
    radial-gradient(
      circle,
      #ffffff 0 1px,
      transparent 1px
    );

  background-size:3px 3px;
}

/* ======================================================
   SCROLLBAR PREMIUM
====================================================== */

/* CHROME / EDGE / OPERA */

::-webkit-scrollbar{
  width:12px;
}

::-webkit-scrollbar-track{
  background:#070707;
}

::-webkit-scrollbar-thumb{

  border-radius:999px;

  border:2px solid #070707;

  background:
    linear-gradient(
      180deg,
      #ff2a2a 0%,
      #e10600 45%,
      #7d0000 100%
    );

  box-shadow:
    0 0 18px rgba(225,6,0,.28);
}

::-webkit-scrollbar-thumb:hover{

  background:
    linear-gradient(
      180deg,
      #ff4d4d 0%,
      #ff1a1a 40%,
      #990000 100%
    );
}


/* FIREFOX */

html{
  scrollbar-width:thin;
  scrollbar-color:#e10600 #070707;
}



/* ======================================================
   BOTON SCROLL TOP
====================================================== */

.scroll-top{

  position:fixed;

  right:26px;
  bottom:26px;

  width:54px;
  height:54px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:none;

  border-radius:50%;

  cursor:pointer;

  z-index:90;

  opacity:0;
  visibility:hidden;

  transform:
    translateY(20px)
    scale(.9);

  color:#ffffff;

  font-size:18px;
  font-weight:900;

  background:
    linear-gradient(
      135deg,
      #ff2a2a 0%,
      #e10600 45%,
      #7d0000 100%
    );

  box-shadow:
    0 18px 40px rgba(225,6,0,.34),
    inset 0 1px 0 rgba(255,255,255,.18);

  transition:
    opacity .3s ease,
    visibility .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}


/* VISIBLE */

.scroll-top.show{

  opacity:1;
  visibility:visible;

  transform:
    translateY(0)
    scale(1);
}


/* HOVER */

.scroll-top:hover{

  transform:
    translateY(-4px)
    scale(1.04);

  box-shadow:
    0 22px 52px rgba(225,6,0,.50),
    0 0 30px rgba(225,6,0,.22);
}


/* EFECTO GLOW */

.scroll-top::before{

  content:"";

  position:absolute;
  inset:-6px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(225,6,0,.28),
      transparent 70%
    );

  z-index:-1;
}

/* =====================================================
   BLOQUE GLOBAL: HEADER
===================================================== */

/* =========================
   HEADER
========================= */

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;

  padding: 16px 0;

  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, .92),
      rgba(0, 0, 0, .46)
    );

  border-bottom: 1px solid rgba(255, 255, 255, .10);

  backdrop-filter: blur(20px);

  box-shadow:
    0 18px 50px rgba(0, 0, 0, .28);
}


/* =========================
   NAV
========================= */

.nav {
  min-height: 68px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 22px;
}

.header-member{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:12px 18px;

  border-radius:999px;

  border:1px solid rgba(255,255,255,.10);

  background:rgba(255,255,255,.04);

  color:#fff;

  font-size:13px;
  font-weight:700;

  transition:.3s ease;
}

.header-member:hover{
  background:rgba(225,6,0,.12);
  border-color:rgba(225,6,0,.35);

  transform:translateY(-2px);
}

/* =========================
   BRAND
========================= */

.brand {
  display: flex;
  align-items: center;
  gap: 12px;

  flex: 0 0 auto;

  font-weight: 900;

  letter-spacing: .14em;
}

.brand img {
  width: 62px;

  filter:
    drop-shadow(0 0 18px rgba(225, 6, 0, .28))
    drop-shadow(0 0 6px rgba(255, 255, 255, .06));
}

.brand span {

  color: #ffffff;

  font-size: 15px;
  font-weight: 900;

  letter-spacing: .22em;

  text-shadow:
    0 0 16px rgba(255, 255, 255, .10);
}


/* =========================
   NAV LINKS WRAPPER
========================= */

.nav-links {

  display: flex;
  align-items: center;

  gap: 8px;

  padding: 8px;

  border: 1px solid rgba(255, 255, 255, .10);

  border-radius: 999px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, .07),
      rgba(255, 255, 255, .025)
    );

  backdrop-filter: blur(16px);

  box-shadow:
    0 10px 26px rgba(0, 0, 0, .20),
    inset 0 1px 0 rgba(255, 255, 255, .04);
}


/* =========================
   NAV LINKS
========================= */

.nav-links a {

  position: relative;

  padding: 13px 18px;

  border-radius: 999px;

  color: rgba(255, 255, 255, .96);

  font-size: 12px;
  font-weight: 800;

  letter-spacing: .08em;

  text-transform: uppercase;

  transition:
    color .25s ease,
    background .25s ease,
    transform .25s ease;
}


/* =========================
   LINEA INFERIOR
========================= */

.nav-links a::before {

  content: "";

  position: absolute;

  left: 16px;
  right: 16px;
  bottom: 7px;

  height: 2px;

  border-radius: 999px;

  background: #ff2a2a;

  transform: scaleX(0);
  transform-origin: center;

  transition: transform .25s ease;
}


/* =========================
   HOVER SIMPLE PROFESIONAL
========================= */

.nav-links a:hover {

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      rgba(225, 6, 0, .20),
      rgba(225, 6, 0, .08)
    );

  transform: translateY(-1px);

  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.nav-links a:hover::before {
  transform: scaleX(1);
}


/* =========================
   ACTIVE LINK
========================= */

.nav-links a.active {

  color: #ffffff;

  background:
    linear-gradient(
      135deg,
      rgba(225, 6, 0, .28),
      rgba(225, 6, 0, .12)
    );

  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .08);
}

.nav-links a.active::before {
  transform: scaleX(1);
}


/* =========================
   HEADER CTA
========================= */

.header-cta {

  position: relative;

  isolation: isolate;
  overflow: hidden;

  height: 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 9px;

  padding: 0 15px 0 18px;

  border-radius: 999px;

  color: #ffffff;

  font-size: 11px;
  font-weight: 900;

  letter-spacing: .07em;

  text-transform: uppercase;

  white-space: nowrap;

  background:
    linear-gradient(
      135deg,
      #ff2a2a 0%,
      #e10600 45%,
      #7d0000 100%
    );

  border: 1px solid rgba(255, 255, 255, .18);

  box-shadow:
    0 14px 34px rgba(225, 6, 0, .34);

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.header-cta::after {

  content: "";

  position: absolute;

  top: 0;
  left: -120%;

  width: 70%;
  height: 100%;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255, 255, 255, .38),
      transparent
    );

  transform: skewX(-22deg);

  transition: left .65s ease;
}

.header-cta:hover {

  transform:
    translateY(-3px)
    scale(1.01);

  box-shadow:
    0 18px 44px rgba(225, 6, 0, .46);
}

.header-cta:hover::after {
  left: 135%;
}


/* =========================
   CTA ICON
========================= */

.header-cta strong {

  width: 22px;
  height: 22px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  font-size: 12px;

  background: rgba(255, 255, 255, .16);
}


/* =========================
   MOBILE MENU
========================= */

.menu-toggle {
  display: none;
}


/* =========================
   RESPONSIVE
========================= */

@media (max-width: 980px) {

  .nav-links,
  .header-cta {
    display: none;
  }

  .menu-toggle {

    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    border: 1px solid rgba(255, 255, 255, .14);

    border-radius: 14px;

    background:
      linear-gradient(
        145deg,
        rgba(255, 255, 255, .08),
        rgba(255, 255, 255, .03)
      );

    backdrop-filter: blur(12px);

    box-shadow:
      0 10px 24px rgba(0, 0, 0, .22);
  }

  .menu-toggle span {

    width: 22px;
    height: 2px;

    background: #ffffff;
  }

}
/* =====================================================
   HEADER ATHLETIC · MENÚ ESTILO SECHURA V2
   Objetivo: aplicar el mismo lenguaje premium del menú
   de Sechura sin cambiar contenido ni enlaces.
===================================================== */

/* DESKTOP | Menú premium tipo cápsula */
.nav-links{
  gap:6px;
  padding:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  backdrop-filter:blur(16px);
  box-shadow:0 10px 26px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.04);
}

.nav-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  color:rgba(255,255,255,.94);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease;
}

.nav-links a::before{
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:#ff2a2a;
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}

.nav-links a:hover,
.nav-links a.active{
  color:#fff;
  background:linear-gradient(135deg,rgba(225,6,0,.20),rgba(225,6,0,.08));
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}

.nav-links a:hover::before,
.nav-links a.active::before{transform:scaleX(1);}

.nav-links .header-member{
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.nav-links .header-member::before{display:none;}

.nav-links .header-cta{
  min-height:44px;
  height:44px;
  padding:0 18px;
  color:#fff;
  background:linear-gradient(135deg,#ff2a2a,#e10600 48%,#8f0000);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(225,6,0,.34);
}

.nav-links .header-cta::before{display:none;}

/* BOTÓN MÓVIL | Cápsula MENÚ/CERRAR */
.menu-toggle{
  display:none;
  appearance:none;
  -webkit-appearance:none;
  font-family:inherit;
}

.menu-toggle--premium{
  position:relative;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:118px;
  height:46px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(12,12,12,.78),rgba(0,0,0,.48));
  color:#fff;
  backdrop-filter:blur(18px);
  box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04) inset;
  cursor:pointer;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}

.menu-toggle--premium::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(225,6,0,.38),transparent 46%,rgba(255,255,255,.10));
  opacity:.72;
  z-index:-1;
  transition:opacity .24s ease;
}

.menu-toggle--premium:hover,
.menu-toggle--premium:focus-visible{
  border-color:rgba(225,6,0,.62);
  box-shadow:0 18px 44px rgba(0,0,0,.42),0 0 24px rgba(225,6,0,.18);
  transform:translateY(-1px);
  outline:none;
}

.menu-toggle--premium:active{transform:translateY(0) scale(.98);}

.menu-toggle__icon{
  position:relative;
  display:block;
  width:20px;
  height:16px;
  flex:0 0 20px;
}

.menu-toggle__line{
  position:absolute;
  left:0;
  display:block;
  width:20px;
  height:2px;
  margin:0!important;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.20);
  transition:top .24s ease,transform .24s ease,opacity .18s ease;
}

.menu-toggle__line:nth-child(1){top:1px;}
.menu-toggle__line:nth-child(2){top:7px;}
.menu-toggle__line:nth-child(3){top:13px;}

.menu-toggle__label{
  display:block;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  transition:opacity .18s ease,transform .18s ease;
}

.menu-toggle.is-active,
.menu-toggle.is-open{
  border-color:rgba(225,6,0,.72);
  background:linear-gradient(135deg,rgba(225,6,0,.34),rgba(0,0,0,.58));
  box-shadow:0 18px 44px rgba(0,0,0,.46),0 0 28px rgba(225,6,0,.20);
}

.menu-toggle.is-active .menu-toggle__line:nth-child(1),
.menu-toggle.is-open .menu-toggle__line:nth-child(1){top:7px;transform:rotate(45deg);}
.menu-toggle.is-active .menu-toggle__line:nth-child(2),
.menu-toggle.is-open .menu-toggle__line:nth-child(2){opacity:0;transform:scaleX(.25);}
.menu-toggle.is-active .menu-toggle__line:nth-child(3),
.menu-toggle.is-open .menu-toggle__line:nth-child(3){top:7px;transform:rotate(-45deg);}

.mobile-overlay{display:none;}


/* =====================================================
   BLOQUE GLOBAL: FOOTER
===================================================== */

/* =========================
   FOOTER
========================= */

.site-footer {
  position: relative;
  padding-top: 86px;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, .10);
  background:
    radial-gradient(
      circle at 18% 20%,
      rgba(225, 6, 0, .14),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #070707 0%,
      #030303 100%
    );
}

.site-footer::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  height: 90px;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(0, 0, 0, .88)
  );
  pointer-events: none;
}

.site-footer::after {
  content: "ATHLETIC";
  position: absolute;
  right: -30px;
  bottom: 36px;
  z-index: 0;
  color: rgba(255, 255, 255, .025);
  font-family: Anton, sans-serif;
  font-size: 150px;
  line-height: 1;
  pointer-events: none;
}

.footer-main,
.footer-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.35fr .85fr .85fr 1.15fr;
  gap: 34px;
  padding-bottom: 58px;
}

.footer-brand {
  max-width: 380px;
}

.footer-logo {
  width: 118px;
  margin-bottom: 22px;
}

.site-footer p {
  color: rgba(255, 255, 255, .90);
  font-size: 15px;
  line-height: 1.75;
}

.site-footer h4 {
  margin-bottom: 18px;
  color: #ffffff;
  font-family: Anton, sans-serif;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.site-footer a {
  display: block;
  margin: 11px 0;
  color: rgba(255, 255, 255, .88);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  transition:
    color .25s ease,
    transform .25s ease,
    opacity .25s ease;
}

.site-footer a:hover {
  color: #ff2a2a;
  transform: translateX(4px);
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 26px;
}

.footer-social .social-icon {
  position: relative;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  color: #ffffff;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .20),
    0 14px 32px rgba(0, 0, 0, .34);
  backdrop-filter: blur(10px);
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    border-color .25s ease;
}

.footer-social .social-icon::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 30% 18%, rgba(255, 255, 255, .34), transparent 34%),
    rgba(255, 255, 255, .08);
}

.footer-social .social-icon svg {
  width: 26px;
  height: 26px;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .28));
}

.footer-social .social-icon.facebook {
  background: linear-gradient(145deg, #1877F2, #0B4CB8);
  box-shadow:
    0 14px 34px rgba(24, 119, 242, .30),
    inset 0 1px 0 rgba(255, 255, 255, .24);
}

.footer-social .social-icon.instagram {
  background: linear-gradient(135deg, #F58529 0%, #DD2A7B 42%, #8134AF 72%, #515BD4 100%);
  box-shadow:
    0 14px 34px rgba(221, 42, 123, .30),
    inset 0 1px 0 rgba(255, 255, 255, .24);
}

.footer-social .social-icon.tiktok {
  background: linear-gradient(145deg, #050505, #151515);
  box-shadow:
    9px 0 22px rgba(254, 44, 85, .22),
    -9px 0 22px rgba(37, 244, 238, .20),
    inset 0 1px 0 rgba(255, 255, 255, .18);
}

.footer-social .social-icon:hover {
  border-color: rgba(255, 255, 255, .28);
  color: #ffffff;
  transform: translateY(-3px) scale(1.05);
}

.footer-contact p {
  margin-bottom: 18px;
}

.footer-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 2px 0 18px !important;
  padding: 13px 22px;
  border-radius: 999px;
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--red), var(--red-dark));
  box-shadow: var(--shadow-red);
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.footer-btn:hover {
  transform: translateY(-3px) !important;
  color: #ffffff !important;
  box-shadow: 0 0 58px rgba(225, 6, 0, .42);
}

.footer-link {
  color: rgba(255, 255, 255, .88) !important;
}

.footer-bottom {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, .10);
  background: rgba(0, 0, 0, .52);
  color: rgba(255, 255, 255, .86);
  font-size: 13px;
}

.footer-bottom-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.footer-bottom span {
  color: rgba(255, 255, 255, .86);
}


/* =========================
   RESPONSIVE FOOTER
========================= */

@media (max-width: 980px) {
  .footer-main,
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand {
    max-width: none;
  }
}

@media (max-width: 620px) {
  .site-footer {
    padding-top: 70px;
  }

  .footer-main,
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 46px;
  }

  .site-footer::after {
    font-size: 92px;
    right: -18px;
    bottom: 86px;
  }

  .footer-bottom-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-social a {
    width: 48px;
    height: 48px;
  }

  .footer-social img {
    width: 32px;
    height: 32px;
  }
}

.footer-admin-access{
  color:rgba(255,255,255,.38);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-decoration:none;

  transition:
    color .25s ease,
    text-shadow .25s ease,
    transform .25s ease;
}

.footer-admin-access:hover{
  color:#ff2a2a;
  text-shadow:0 0 18px rgba(225,6,0,.45);
  transform:translateY(-1px);
}

/* =====================================================
   BLOQUE GLOBAL: HERO
===================================================== */

/* =========================
   HERO PRINCIPAL · ATHLETIC
   Fix fondo desktop/mobile + mobile sin logo
========================= */

.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  padding: 132px 0 70px;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 0, .94) 0%,
      rgba(0, 0, 0, .82) 34%,
      rgba(0, 0, 0, .46) 66%,
      rgba(0, 0, 0, .24) 100%
    ),
    radial-gradient(
      circle at 78% 46%,
      rgba(225, 6, 0, .08),
      transparent 30%
    ),
    url("../img/hero.webp")
    center right / cover no-repeat;
  isolation: auto;
}

/* Overlay cinematográfico. No contiene imagen para evitar que se pierda el fondo. */
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 18% 28%,
      rgba(225, 6, 0, .16),
      transparent 30%
    ),
    radial-gradient(
      circle at 82% 56%,
      rgba(255, 42, 42, .10),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, .00),
      rgba(0, 0, 0, .00)
    );
}

/* Efecto de respiración visual sin mover el pseudo-elemento del fondo */
.hero::after {
  content: "";
  position: absolute;
  inset: -4%;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 74% 44%,
      rgba(225, 6, 0, .10),
      transparent 34%
    );
  animation: heroGlowBreath 10s ease-in-out infinite alternate;
}

/* =========================
   GRID HERO
========================= */

.hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 36px;
  align-items: center;
}

/* =========================
   TEXTO HERO
========================= */

.hero h1 {
  max-width: 760px;
  color: #ffffff;
  font-family: Anton, Impact, sans-serif;
  font-size: clamp(42px, 6vw, 88px);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: .018em;
  text-transform: uppercase;
  text-shadow:
    0 8px 34px rgba(0, 0, 0, .74),
    0 0 1px rgba(255, 255, 255, .28);
}

.hero h1 span {
  display: inline-block;
  margin-top: 8px;
  color: #ff2a2a;
  -webkit-text-fill-color: #ff2a2a;
  background: none;
  filter: none;
  text-shadow:
    0 3px 18px rgba(0, 0, 0, .52);
}

.hero p {
  max-width: 590px;
  margin-top: 24px;
  color: rgba(255, 255, 255, .95);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .48);
}

/* =========================
   ACCIONES
========================= */

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}

.hero-actions .btn--red {
  min-height: 56px;
  padding-inline: 30px;
  box-shadow:
    0 20px 46px rgba(225, 6, 0, .40),
    0 0 0 1px rgba(255, 255, 255, .10) inset;
}

.hero-actions .btn--ghost {
  min-height: 56px;
  background: rgba(255, 255, 255, .075);
  backdrop-filter: blur(14px);
}

/* =========================
   STATS, SI SE USAN
========================= */

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  max-width: 600px;
  margin-top: 44px;
}

.stat {
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .16);
  background: rgba(0, 0, 0, .34);
  backdrop-filter: blur(14px);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .28);
}

.stat strong {
  color: #ff2a2a;
  font-family: Anton, sans-serif;
  font-size: 34px;
  font-weight: 400;
  text-shadow: 0 0 24px rgba(225, 6, 0, .38);
}

.stat span {
  display: block;
  margin-top: 6px;
  color: rgba(255, 255, 255, .86);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

/* =========================
   HERO LOGO CARD · PREMIUM FIX
========================= */

.hero-logo-card{
  position:relative;

  justify-self:end;

  width:min(430px,100%);

  overflow:hidden;

  padding:48px;

  border-radius:34px;

  background:
    linear-gradient(
      145deg,
      rgba(18,18,18,.72),
      rgba(10,10,10,.48)
    );

  border:1px solid rgba(255,255,255,.04);

  backdrop-filter:blur(18px);

  box-shadow:
    0 34px 120px rgba(0,0,0,.64),
    0 0 48px rgba(225,6,0,.10),
    inset 0 1px 0 rgba(255,255,255,.06);

  animation:heroLogoFloat 5.8s ease-in-out infinite;
}

/* REFLEJO GLASS */

.hero-logo-card::before{
  content:"";

  position:absolute;

  inset:-40%;

  background:
    linear-gradient(
      120deg,
      transparent 42%,
      rgba(255,255,255,.12) 50%,
      transparent 58%
    );

  transform:
    translateX(-45%)
    rotate(12deg);

  animation:heroLogoShine 5.5s ease-in-out infinite;
}

/* BORDE INTERNO */

.hero-logo-card::after{
  content:"";

  position:absolute;

  inset:16px;

  border-radius:26px;

  border:1px solid rgba(255,255,255,.05);

  box-shadow:
    inset 0 0 34px rgba(255,255,255,.02);

  pointer-events:none;
}

/* LOGO */

.hero-logo-card img{
  position:relative;

  z-index:2;

  width:100%;

  filter:
    drop-shadow(0 0 12px rgba(255,255,255,.10))
    drop-shadow(0 0 26px rgba(225,6,0,.18))
    drop-shadow(0 20px 32px rgba(0,0,0,.42));
}

/* El logo móvil queda oculto por decisión de diseño */
.hero-mobile-mark {
  display: none !important;
}

/* =========================
   ANIMACIONES
========================= */

@keyframes heroGlowBreath {
  from {
    opacity: .55;
    transform: scale(1);
  }

  to {
    opacity: 1;
    transform: scale(1.04);
  }
}

@keyframes heroLogoFloat {
  0%, 100% {
    transform:
      perspective(900px)
      rotateY(-8deg)
      translateY(0);
  }

  50% {
    transform:
      perspective(900px)
      rotateY(-5deg)
      translateY(-12px);
  }
}

@keyframes heroLogoShine {
  0%, 46% {
    transform: translateX(-65%) rotate(12deg);
    opacity: 0;
  }

  55% {
    opacity: 1;
  }

  72%, 100% {
    transform: translateX(65%) rotate(12deg);
    opacity: 0;
  }
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 900px) {
  .hero {
    min-height: 100svh;
    align-items: flex-end;
    padding: 112px 0 42px;
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, .72) 0%,
        rgba(0, 0, 0, .58) 28%,
        rgba(0, 0, 0, .86) 74%,
        rgba(0, 0, 0, .98) 100%
      ),
      radial-gradient(
        circle at 50% 22%,
        rgba(225, 6, 0, .18),
        transparent 34%
      ),
      url("../img/hero.webp")
      center center / cover no-repeat;
  }

  .hero::before {
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, .08),
        rgba(0, 0, 0, .52)
      ),
      radial-gradient(
        circle at 50% 10%,
        rgba(255, 42, 42, .14),
        transparent 32%
      );
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .hero-logo-card {
    display: none;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(40px, 13vw, 64px);
    line-height: 1.02;
    text-shadow:
      0 6px 28px rgba(0, 0, 0, .72),
      0 0 1px rgba(255, 255, 255, .22);
  }

  .hero h1 span {
    color: #ff2a2a;
    -webkit-text-fill-color: #ff2a2a;
    text-shadow:
      0 3px 16px rgba(0, 0, 0, .50);
  }

  .hero p {
    max-width: 96%;
    margin-top: 18px;
    font-size: 15.8px;
    line-height: 1.65;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 26px;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 56px;
    padding-inline: 18px;
    font-size: 12px;
  }

  .hero-stats {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .hero {
    min-height: 100svh;
    padding-top: 104px;
    background-position: center center;
  }

  .hero h1 {
    font-size: clamp(38px, 14vw, 56px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero::after,
  .hero-logo-card,
  .hero-logo-card::before {
    animation: none !important;
  }
}

/* =========================================================
   HERO CLEANUP V3
   - Retira logo flotante del hero.
   - Mantiene intacta la posición original del texto izquierdo.
   - Elimina sombras/glows para mostrar el fondo hero.webp más limpio.
========================================================= */

.hero::after{
  display:none !important;
  animation:none !important;
  background:none !important;
}

.hero h1,
.hero h1 span,
.hero p,
.stat strong{
  text-shadow:none !important;
  filter:none !important;
}

.hero-logo-card,
.hero-logo-card::before,
.hero-logo-card::after{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  animation:none !important;
  box-shadow:none !important;
  filter:none !important;
}

.hero-actions .btn--red,
.stat{
  box-shadow:none !important;
}


/* =====================================================
   BLOQUE GLOBAL: SECCIONES
===================================================== */

/* =========================
   SEDES · 2 COLUMNAS PREMIUM
========================= */

.branch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

.branch-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: var(--graphite-2);
  isolation: isolate;
  transition:
    transform .38s ease,
    box-shadow .38s ease,
    border-color .38s ease;
}

.branch-card:hover {
  transform: translateY(-10px) scale(1.012);
  border-color: rgba(225, 6, 0, .34);
  box-shadow:
    0 34px 90px rgba(0, 0, 0, .46),
    0 0 48px rgba(225, 6, 0, .18);
}

.branch-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, .02) 0%,
      rgba(0, 0, 0, .24) 38%,
      rgba(0, 0, 0, .92) 100%
    );
}

.branch-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(
      circle at 50% 18%,
      rgba(225, 6, 0, .16),
      transparent 36%
    );
  opacity: .75;
}

.branch-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform .8s ease,
    filter .8s ease;
}

.branch-card:hover img {
  transform: scale(1.06);
  filter:
    saturate(1.08)
    contrast(1.06);
}

.branch-content {
  position: absolute;
  z-index: 3;
  left: 28px;
  right: 28px;
  bottom: 30px;
}

.branch-content small {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(225, 6, 0, .86);
  color: #fff;
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.branch-content h3 {
  margin-top: 14px;
  font-family: Anton, sans-serif;
  font-size: clamp(34px, 4vw, 48px);
  line-height: .98;
  text-transform: uppercase;
}

.branch-content p {
  max-width: 90%;
  margin: 12px 0 22px;
  color: rgba(255, 255, 255, .84);
  font-size: 15px;
  line-height: 1.65;
}

.branch-btn {
  width: 100%;
  min-height: 54px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 18px;
  overflow: hidden;
  border-radius: 18px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.branch-btn span,
.branch-btn strong {
  position: relative;
  z-index: 2;
}

.branch-btn strong {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 50%;
  font-size: 18px;
  background: rgba(255, 255, 255, .16);
}

.branch-btn--active {
  color: #fff;
  background: linear-gradient(135deg, #e10600, #8e0000);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 14px 36px rgba(225, 6, 0, .42);
}

.branch-btn--soon {
  color: #fff;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .24);
  backdrop-filter: blur(12px);
}

.branch-btn--soon::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
  background:
    linear-gradient(
      135deg,
      rgba(225, 6, 0, .34),
      rgba(255, 255, 255, .06)
    );
  opacity: .85;
}

.branch-btn:hover {
  transform: translateY(-3px);
}

.branch-btn--active:hover {
  box-shadow: 0 18px 46px rgba(225, 6, 0, .56);
}

.branch-btn--soon:hover {
  border-color: rgba(225, 6, 0, .65);
  box-shadow: 0 16px 38px rgba(225, 6, 0, .26);
}

/* =========================
   RESPONSIVE SEDES
========================= */

@media (max-width: 980px) {
  .branch-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .branch-card {
    min-height: 430px;
    border-radius: 28px;
  }

  .branch-content {
    left: 22px;
    right: 22px;
    bottom: 24px;
  }

  .branch-content h3 {
    font-size: 34px;
  }

  .branch-content p {
    max-width: 100%;
    font-size: 14px;
  }
}

@media (max-width: 520px) {
  .branch-card {
    min-height: 390px;
  }

  .branch-content {
    left: 18px;
    right: 18px;
    bottom: 20px;
  }

  .branch-content h3 {
    font-size: 30px;
  }

  .branch-btn {
    min-height: 52px;
    font-size: 11px;
  }
}

/* =========================
   MARCA / EXPERIENCE
========================= */

.experience {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(
      180deg,
      #050505 0%,
      #0b0b0d 45%,
      #050505 100%
    );
}

.experience::before {
  content: "ATHLETIC";
  position: absolute;
  left: -40px;
  top: 40px;
  font-family: Anton, sans-serif;
  font-size: 18vw;
  color: rgba(255, 255, 255, .025);
  line-height: 1;
  pointer-events: none;
}

.experience::after {
  content: "";
  position: absolute;
  right: -180px;
  top: 120px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(225, 6, 0, .12);
  filter: blur(120px);
  pointer-events: none;
}

.experience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: stretch;
}

.feature-img {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow:
    0 30px 90px rgba(0, 0, 0, .42),
    0 0 50px rgba(225, 6, 0, .08);
}

.feature-img::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, .08) 0%,
      rgba(0, 0, 0, .28) 42%,
      rgba(0, 0, 0, .74) 100%
    );
}

.feature-img::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 160px;
  z-index: 2;
  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(225, 6, 0, .18)
    );
}

.feature-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition:
    transform 1s ease,
    filter .8s ease;
}

.feature-img:hover img {
  transform: scale(1.06);
  filter: contrast(1.08) saturate(1.08);
}

.feature-stack {
  display: grid;
  gap: 18px;
}

.info-card {
  position: relative;
  padding: 34px;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, .10);
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, .08),
      rgba(255, 255, 255, .03)
    );
  backdrop-filter: blur(14px);
  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.info-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .35s ease;
  background:
    linear-gradient(
      135deg,
      rgba(225, 6, 0, .18),
      transparent 45%
    );
}

.info-card:hover {
  transform: translateY(-8px);
  border-color: rgba(225, 6, 0, .35);
  box-shadow:
    0 24px 70px rgba(0, 0, 0, .34),
    0 0 40px rgba(225, 6, 0, .12);
}

.info-card:hover::before {
  opacity: 1;
}

.info-card h3 {
  position: relative;
  z-index: 2;
  margin-bottom: 14px;
  font-family: Anton, sans-serif;
  font-size: 34px;
  line-height: 1;
  text-transform: uppercase;
}

.info-card p {
  position: relative;
  z-index: 2;
  color: rgba(255, 255, 255, .72);
  font-size: 15px;
  line-height: 1.75;
}


/* =========================
   PLANES
========================= */

.plans-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.plan-card {
  position: relative;
  min-height: 330px;
  padding: 30px;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, .055);
}

.plan-card.featured {
  background: linear-gradient(
    145deg,
    rgba(225, 6, 0, .26),
    rgba(255, 255, 255, .055)
  );
  box-shadow: var(--shadow-red);
}

.plan-card h3 {
  font-family: Anton, sans-serif;
  font-size: 36px;
  text-transform: uppercase;
}

.price {
  margin: 24px 0;
  font-family: Anton, sans-serif;
  font-size: 54px;
}

.plan-card ul {
  list-style: none;
  color: rgba(255, 255, 255, .7);
  font-size: 14px;
  line-height: 2;
}


/* =========================
   HERRAMIENTAS
========================= */

.tool-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

.tool-card {
  padding: 28px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, .08),
    rgba(255, 255, 255, .03)
  );
  transition: .3s ease;
}

.tool-card:hover {
  transform: translateY(-8px);
  border-color: rgba(225, 6, 0, .38);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
}

.tool-card span {
  font-size: 36px;
}

.tool-card h3 {
  margin: 16px 0 8px;
  font-family: Anton, sans-serif;
  font-size: 28px;
  text-transform: uppercase;
}

.tool-card p {
  color: rgba(255, 255, 255, .68);
  line-height: 1.6;
}


/* =========================
   GALERÍA
========================= */

.gallery-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  grid-auto-rows: 230px;
  gap: 18px;
}

.gallery-item {
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
}

.gallery-item.large {
  grid-row: span 2;
}

.gallery-item.wide {
  grid-column: span 2;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .7s ease;
}

.gallery-item:hover img {
  transform: scale(1.08);
  filter: contrast(1.1) saturate(1.08);
}


/* =========================
   BLOQUE TIENDA RETIRADO
   Motivo: no existe página tienda.html en esta versión pública.
========================= */

/* =========================
   CTA FINAL
========================= */

.cta {
  padding: 120px 0;
  text-align: center;
  background:
    radial-gradient(circle at center, rgba(225, 6, 0, .25), transparent 35%),
    linear-gradient(180deg, var(--black), #080000);
}

.cta h2 {
  max-width: 900px;
  margin: auto;
  font-family: Anton, sans-serif;
  font-size: clamp(46px, 7vw, 96px);
  line-height: .95;
  text-transform: uppercase;
}

.cta p {
  max-width: 620px;
  margin: 24px auto 34px;
  color: rgba(255, 255, 255, .7);
  line-height: 1.7;
}

/* =========================
   CTA FINAL
========================= */

.cta{
  position:relative;

  overflow:hidden;

  padding:140px 0 120px;

  text-align:center;

  background:
    radial-gradient(
      circle at center,
      rgba(225,6,0,.22),
      transparent 35%
    ),
    linear-gradient(
      180deg,
      #050505 0%,
      #090909 45%,
      #020202 100%
    );
}

/* sombra de separación */

.cta-shadow{
  position:absolute;

  top:0;
  left:0;
  right:0;

  height:140px;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.82),
      transparent
    );

  pointer-events:none;
}

.cta::before{
  content:"";

  position:absolute;

  width:420px;
  height:420px;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  border-radius:50%;

  background:rgba(225,6,0,.12);

  filter:blur(120px);

  pointer-events:none;
}

.cta .container{
  position:relative;
  z-index:2;
}

.cta h2{
  max-width:900px;

  margin:auto;

  font-family:Anton,sans-serif;

  font-size:clamp(46px,7vw,96px);

  line-height:1.05;

  letter-spacing:.015em;

  text-transform:uppercase;
}

.cta p{
  max-width:640px;

  margin:26px auto 36px;

  color:rgba(255,255,255,.72);

  font-size:16px;

  line-height:1.8;
}

.cta-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
}

/* ======================================================
   SERVICES CINEMATIC
====================================================== */

.services-section{
  position:relative;
  overflow:hidden;
}

.services-blur{
  position:absolute;
  border-radius:50%;
  filter:blur(120px);
  pointer-events:none;
}

.services-blur--1{
  top:-120px;
  left:-120px;
  width:320px;
  height:320px;
  background:rgba(225,6,0,.14);
}

.services-blur--2{
  right:-120px;
  bottom:-120px;
  width:340px;
  height:340px;
  background:rgba(41,43,134,.16);
}

.services-grid{
  position:relative;
  z-index:2;
}

.service-card{
  position:relative;

  min-height:340px;

  padding:34px 30px;

  overflow:hidden;

  border-radius:30px;

  border:1px solid rgba(255,255,255,.08);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.03)
    );

  backdrop-filter:blur(14px);

  transition:
    transform .45s ease,
    border-color .45s ease,
    box-shadow .45s ease,
    background .45s ease;
}

.service-card::before{
  content:"";

  position:absolute;
  inset:0;

  opacity:0;

  transition:opacity .45s ease;

  background:
    linear-gradient(
      135deg,
      rgba(225,6,0,.18),
      transparent 40%
    );
}

.service-card:hover{
  transform:
    translateY(-14px)
    scale(1.02);

  border-color:
    rgba(225,6,0,.34);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.11),
      rgba(255,255,255,.04)
    );

  box-shadow:
    0 26px 70px rgba(0,0,0,.36),
    0 0 45px rgba(225,6,0,.16);
}

.service-card:hover::before{
  opacity:1;
}

.service-number{
  position:absolute;
  top:24px;
  right:24px;

  color:rgba(255,255,255,.08);

  font-family:Anton,sans-serif;

  font-size:74px;

  line-height:1;
}

.service-icon{
  width:78px;
  height:78px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:26px;

  border-radius:24px;

  font-size:34px;

  background:
    linear-gradient(
      145deg,
      rgba(225,6,0,.20),
      rgba(255,255,255,.05)
    );

  border:
    1px solid rgba(255,255,255,.08);

  box-shadow:
    inset 0 0 24px rgba(255,255,255,.03);
}

.service-card h3{
  margin-bottom:16px;

  font-size:34px;

  line-height:1.08;
}

.service-card p{
  position:relative;
  z-index:2;

  max-width:92%;

  color:rgba(255,255,255,.92);

  line-height:1.8;
}

.service-line{
  position:absolute;
  left:0;
  bottom:0;

  width:0;
  height:3px;

  background:
    linear-gradient(
      90deg,
      var(--red),
      transparent
    );

  transition:width .45s ease;
}

.service-card:hover .service-line{
  width:100%;
}


/* =========================
   RESPONSIVE
========================= */

@media(max-width:980px){

  .service-card{
    min-height:auto;
  }

}

@media(max-width:620px){

  .service-number{
    font-size:58px;
  }

  .service-card h3{
    font-size:28px;
  }

}

/* ======================================================
   PÁGINA SEDES
====================================================== */

.branches-page-hero {
  position: relative;
  overflow: hidden;
}

.branches-page-hero::before {
  content: "";
  position: absolute;
  right: -160px;
  top: 40px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: rgba(225, 6, 0, .16);
  filter: blur(120px);
  pointer-events: none;
}

.location-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.location-summary article {
  padding: 30px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}

.location-summary strong {
  display: block;
  font-family: Anton, sans-serif;
  font-size: 52px;
  font-weight: 400;
  color: var(--red-light);
}

.location-summary span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.branches-detail-grid {
  display: grid;
  gap: 24px;
}

.branch-detail-card {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 0;
  overflow: hidden;
  border-radius: 32px;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
}

.branch-detail-card{
  align-items: stretch;
}

.branch-detail-img{
  position: relative;
  height: 930px;
  min-height: 930px;
  overflow: hidden;
  align-self: center;
}

.branch-detail-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.branch-detail-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,0,0,.72));
}

.branch-detail-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .75s ease;
}

.branch-detail-card:hover .branch-detail-img img {
  transform: scale(1.07);
}

.branch-detail-img span {
  position: absolute;
  left: 22px;
  bottom: 22px;
  z-index: 2;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(225,6,0,.85);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.branch-detail-info {
  position: relative;
  padding: 42px;
}

.branch-detail-info h3 {
  margin-bottom: 16px;
  font-family: Anton, sans-serif;
  font-size: clamp(38px, 5vw, 62px);
  font-weight: 400;
  line-height: 1.05;
  text-transform: uppercase;
}

.branch-detail-info p {
  max-width: 620px;
  margin-bottom: 22px;
  color: rgba(255,255,255,.92);
  line-height: 1.8;
}

.branch-detail-info ul {
  display: grid;
  gap: 10px;
  margin-bottom: 28px;
  list-style: none;
}

.branch-detail-info li {
  position: relative;
  padding-left: 24px;
  color: rgba(255,255,255,.9);
  line-height: 1.6;
}

.branch-detail-info li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--red-light);
  font-weight: 900;
}

.branch-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.branch-detail-card--active {
  box-shadow: 0 30px 90px rgba(0,0,0,.34), 0 0 42px rgba(225,6,0,.12);
}

.branches-detail-section{
  background:
    linear-gradient(
      180deg,
      #070707,
      #0d0d0d
    );
}

.locations-cta {

  position: relative;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 34px;

  padding: 52px;

  overflow: hidden;

  border-radius: 34px;

  border: 1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );

  box-shadow:
    0 24px 60px rgba(0,0,0,.22);
}

.locations-cta h2 {
  max-width: 720px;
  margin-bottom: 16px;
  font-family: Anton, sans-serif;
  font-size: clamp(38px, 5vw, 72px);
  font-weight: 400;
  line-height: 1.05;
  text-transform: uppercase;
}

.locations-cta p {
  max-width: 620px;
  color: rgba(255,255,255,.9);
  line-height: 1.75;
}

@media (max-width: 900px) {
  .location-summary {
    grid-template-columns: 1fr;
  }

  .branch-detail-card {
    grid-template-columns: 1fr;
  }

  .locations-cta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ======================================================
   SEPARADORES ENTRE SECCIONES
====================================================== */

.section{

  position:relative;
}


/* LINEA SUPERIOR SUAVE */

.section::before{

  content:"";

  position:absolute;

  top:0;
  left:50%;

  transform:translateX(-50%);

  width:min(92%,1200px);

  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.06),
      transparent
    );
}


/* SOMBRA SUAVE ENTRE BLOQUES */

.section::after{

  content:"";

  position:absolute;

  left:0;
  right:0;
  bottom:-1px;

  height:120px;

  pointer-events:none;

  background:
    linear-gradient(
      180deg,
      transparent,
      rgba(0,0,0,.28)
    );
}


/* HERO NO NECESITA SEPARADOR */

.hero::before,
.page-title::before{
  display:none;
}

/* ======================================================
   PÁGINA UBICACIÓN SECHURA
====================================================== */

.location-page-hero{
  position:relative;
  overflow:hidden;
}

.location-section{
  background:
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.location-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:stretch;
}

.location-info{
  padding:46px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.025)
    );
}

.location-info h2{
  margin-bottom:18px;
  font-family:Anton,sans-serif;
  font-size:clamp(42px,6vw,78px);
  font-weight:400;
  line-height:1.05;
  text-transform:uppercase;
}

.location-info p{
  max-width:620px;
  margin-bottom:28px;
  color:rgba(255,255,255,.92);
  line-height:1.8;
}

.location-data{
  display:grid;
  gap:14px;
  margin-bottom:30px;
}

.location-data article{
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}

.location-data strong{
  display:block;
  margin-bottom:6px;
  color:#ff2a2a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.location-data span{
  color:rgba(255,255,255,.92);
  line-height:1.6;
}

.location-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.location-map{
  min-height:560px;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:
    0 30px 80px rgba(0,0,0,.38);
}

.location-map iframe{
  width:100%;
  height:100%;
  border:0;
  filter:grayscale(1) contrast(1.1) brightness(.82);
}

@media(max-width:900px){
  .location-layout{
    grid-template-columns:1fr;
  }

  .location-map{
    min-height:420px;
  }
}

/* ======================================================
   HORARIOS UBICACIÓN
====================================================== */

.location-data article:last-child{

  background:
    linear-gradient(
      145deg,
      rgba(225,6,0,.10),
      rgba(255,255,255,.03)
    );

  border-color:
    rgba(225,6,0,.20);
}

.location-data b{

  color:#ffffff;

  font-weight:800;

  letter-spacing:.04em;

  text-transform:uppercase;
}

/* ======================================================
   PÁGINA MARCA
====================================================== */

.about-hero{
  overflow:hidden;
}

.about-hero-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:34px;
  align-items:center;
}

.about-hero-image,
.about-image{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}

.about-hero-image img,
.about-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:420px;
  transition:transform .8s ease, filter .8s ease;
}

.about-hero-image:hover img,
.about-image:hover img{
  transform:scale(1.06);
  filter:contrast(1.08) saturate(1.08);
}

.about-intro-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:34px;
  align-items:center;
}

.about-content h2{
  margin-bottom:22px;
  font-family:Anton,sans-serif;
  font-size:clamp(42px,6vw,78px);
  font-weight:400;
  line-height:1.06;
  text-transform:uppercase;
}

.about-content p{
  margin-bottom:18px;
  color:rgba(255,255,255,.92);
  line-height:1.8;
}

.about-values-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.about-value-card{
  position:relative;
  min-height:320px;
  padding:32px;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.about-value-card:hover{
  transform:translateY(-10px);
  border-color:rgba(225,6,0,.32);
  box-shadow:0 26px 70px rgba(0,0,0,.34),0 0 38px rgba(225,6,0,.12);
}

.about-value-card span{
  display:block;
  margin-bottom:28px;
  color:rgba(255,255,255,.12);
  font-family:Anton,sans-serif;
  font-size:72px;
  line-height:1;
}

.about-value-card h3{
  margin-bottom:14px;
  font-family:Anton,sans-serif;
  font-size:34px;
  font-weight:400;
  text-transform:uppercase;
}

.about-value-card p{
  color:rgba(255,255,255,.9);
  line-height:1.75;
}

.about-philosophy-grid{
  display:grid;
  gap:24px;
}

.about-philosophy-card{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
}

.about-philosophy-card img{
  width:100%;
  height:100%;
  min-height:340px;
  object-fit:cover;
}

.about-philosophy-card div{
  padding:44px;
}

.about-philosophy-card span{
  display:inline-flex;
  margin-bottom:14px;
  color:#ff2a2a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.about-philosophy-card h3{
  margin-bottom:16px;
  font-family:Anton,sans-serif;
  font-size:clamp(36px,5vw,62px);
  font-weight:400;
  line-height:1.06;
  text-transform:uppercase;
}

.about-philosophy-card p{
  color:rgba(255,255,255,.92);
  line-height:1.8;
}

.about-reasons-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

@media(max-width:980px){
  .about-hero-grid,
  .about-intro-grid,
  .about-philosophy-card{
    grid-template-columns:1fr;
  }

  .about-values-grid,
  .about-reasons-grid{
    grid-template-columns:1fr;
  }
}

/* ======================================================
   PÁGINA SERVICIOS
====================================================== */

.services-page-hero {
  overflow: hidden;
}

.services-page-hero .hero-actions{
  margin-top:42px;
}

.services-hero-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 34px;
  align-items: center;
}

.services-hero-image,
.service-method-image {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
}

.services-hero-image::after,
.service-method-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.04),
      rgba(0,0,0,.42)
    );
  pointer-events: none;
}

.services-hero-image img,
.service-method-image img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  transition: transform .85s ease, filter .85s ease;
}

.services-hero-image:hover img,
.service-method-image:hover img {
  transform: scale(1.06);
  filter: contrast(1.08) saturate(1.08);
}

.services-page-section {
  position: relative;
  overflow: hidden;
}

.services-detail-grid {
  display: grid;
  gap: 24px;
}

.services-detail-card {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.075),
      rgba(255,255,255,.025)
    );
  transition:
    transform .38s ease,
    border-color .38s ease,
    box-shadow .38s ease;
}

.services-detail-card:hover {
  transform: translateY(-8px);
  border-color: rgba(225,6,0,.32);
  box-shadow:
    0 30px 80px rgba(0,0,0,.38),
    0 0 42px rgba(225,6,0,.12);
}

.services-detail-img {
  position: relative;
  min-height: 360px;
  overflow: hidden;
}

.services-detail-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.04),
      rgba(0,0,0,.70)
    );
}

.services-detail-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .75s ease, filter .75s ease;
}

.services-detail-card:hover .services-detail-img img {
  transform: scale(1.07);
  filter: contrast(1.08) saturate(1.08);
}

.services-detail-content {
  position: relative;
  padding: 42px;
}

.services-detail-content span {
  display: block;
  margin-bottom: 16px;
  color: rgba(255,255,255,.12);
  font-family: Anton, sans-serif;
  font-size: 72px;
  line-height: 1;
}

.services-detail-content h3 {
  margin-bottom: 16px;
  font-family: Anton, sans-serif;
  font-size: clamp(38px,5vw,64px);
  font-weight: 400;
  line-height: 1.06;
  text-transform: uppercase;
}

.services-detail-content p {
  max-width: 620px;
  margin-bottom: 24px;
  color: rgba(255,255,255,.92);
  line-height: 1.8;
}

.services-detail-content ul {
  display: grid;
  gap: 10px;
  list-style: none;
}

.services-detail-content li {
  position: relative;
  padding-left: 24px;
  color: rgba(255,255,255,.9);
  line-height: 1.65;
}

.services-detail-content li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--red-light);
  font-weight: 900;
}

.service-method-section {
  background:
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.service-method-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 34px;
  align-items: center;
}

.service-method-content h2 {
  margin-bottom: 22px;
  font-family: Anton, sans-serif;
  font-size: clamp(42px,6vw,78px);
  font-weight: 400;
  line-height: 1.06;
  text-transform: uppercase;
}

.service-method-content p {
  margin-bottom: 28px;
  color: rgba(255,255,255,.92);
  line-height: 1.8;
}

.method-list {
  display: grid;
  gap: 14px;
}

.method-list article {
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );
}

.method-list strong {
  display: block;
  margin-bottom: 6px;
  color: #ff2a2a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.method-list span {
  color: rgba(255,255,255,.9);
  line-height: 1.6;
}

@media(max-width:980px) {
  .services-hero-grid,
  .services-detail-card,
  .service-method-grid {
    grid-template-columns: 1fr;
  }
}

/* ======================================================
   PÁGINA HERRAMIENTAS
====================================================== */

.tools-page-hero {
  overflow: hidden;
}

.tools-hero-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 34px;
  align-items: center;
}

.tools-hero-image,
.tools-progress-image {
  position: relative;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 90px rgba(0,0,0,.38);
}

.tools-hero-image::after,
.tools-progress-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.04),
      rgba(0,0,0,.42)
    );
  pointer-events: none;
}

.tools-hero-image img,
.tools-progress-image img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  transition: transform .85s ease, filter .85s ease;
}

.tools-hero-image:hover img,
.tools-progress-image:hover img {
  transform: scale(1.06);
  filter: contrast(1.08) saturate(1.08);
}

.tools-section {
  position: relative;
  overflow: hidden;
}

.tools-section .container {
  position: relative;
  z-index: 2;
}

.tools-glow {
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  filter: blur(130px);
  pointer-events: none;
}

.tools-glow--left {
  left: -160px;
  top: 120px;
  background: rgba(225,6,0,.15);
}

.tools-glow--right {
  right: -160px;
  bottom: 70px;
  background: rgba(41,43,134,.15);
}

.tools-card-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 22px;
}

.tool-feature-card {
  position: relative;
  min-height: 560px;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.12);
  background: #080808;
  isolation: isolate;
  transition:
    transform .42s ease,
    border-color .42s ease,
    box-shadow .42s ease;
}

.tool-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,.06) 0%,
      rgba(0,0,0,.44) 42%,
      rgba(0,0,0,.94) 100%
    );
}

.tool-feature-card::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 0;
  height: 3px;
  background:
    linear-gradient(
      90deg,
      var(--red-light),
      transparent
    );
  transition: width .42s ease;
}

.tool-feature-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease, filter .8s ease;
}

.tool-feature-card:hover {
  transform: translateY(-12px);
  border-color: rgba(225,6,0,.34);
  box-shadow:
    0 30px 80px rgba(0,0,0,.42),
    0 0 46px rgba(225,6,0,.16);
}

.tool-feature-card:hover img {
  transform: scale(1.08);
  filter: contrast(1.12) saturate(1.12);
}

.tool-feature-card:hover::after {
  width: 100%;
}

.tool-feature-content {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 4;
}

.tool-feature-content span {
  display: block;
  margin-bottom: 18px;
  color: rgba(255,255,255,.18);
  font-family: Anton,sans-serif;
  font-size: 64px;
  line-height: 1;
}

.tool-feature-content h3 {
  margin-bottom: 14px;
  font-family: Anton,sans-serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.08;
  text-transform: uppercase;
}

.tool-feature-content p {
  margin-bottom: 24px;
  color: rgba(255,255,255,.92);
  line-height: 1.75;
}

.tools-progress-section {
  background:
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.tools-progress-grid {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 34px;
  align-items: center;
}

.tools-progress-content h2 {
  margin-bottom: 22px;
  font-family: Anton,sans-serif;
  font-size: clamp(42px,6vw,78px);
  font-weight: 400;
  line-height: 1.06;
  text-transform: uppercase;
}

.tools-progress-content p {
  margin-bottom: 28px;
  color: rgba(255,255,255,.92);
  line-height: 1.8;
}

/* HERO BOTONES - HERRAMIENTAS */

.tools-page-hero .hero-actions{
  margin-top:42px;
}

.progress-list {
  display: grid;
  gap: 14px;
}

.progress-list article {
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );
}

.progress-list strong {
  display: block;
  margin-bottom: 6px;
  color: #ff2a2a;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.progress-list span {
  color: rgba(255,255,255,.9);
  line-height: 1.6;
}

@media(max-width:980px) {
  .tools-hero-grid,
  .tools-progress-grid {
    grid-template-columns: 1fr;
  }

  .tools-card-grid {
    grid-template-columns: 1fr;
  }

  .tool-feature-card {
    min-height: 460px;
  }
}

/* ======================================================
   CALCULADORA IMC FITNESS PRO
====================================================== */

.imc-page-hero{
  overflow:hidden;
}

.imc-section{
  position:relative;
  overflow:hidden;

  background:
    radial-gradient(
      circle at 18% 18%,
      rgba(225,6,0,.10),
      transparent 32%
    ),
    radial-gradient(
      circle at 88% 70%,
      rgba(8,145,178,.10),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.imc-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
  align-items:stretch;
}

.imc-card,
.imc-result-card{
  position:relative;
  overflow:hidden;

  padding:46px;

  border-radius:34px;
  border:1px solid rgba(255,255,255,.11);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.085),
      rgba(255,255,255,.025)
    );

  box-shadow:
    0 30px 80px rgba(0,0,0,.32);
}

.imc-card::before,
.imc-result-card::before{
  content:"";
  position:absolute;
  inset:0;

  background:
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.014) 0px,
      rgba(255,255,255,.014) 1px,
      transparent 1px,
      transparent 34px
    );

  opacity:.45;
  pointer-events:none;
}

.imc-card > *,
.imc-result-card > *{
  position:relative;
  z-index:2;
}

.imc-card h2{
  margin-bottom:28px;

  font-family:Anton,sans-serif;
  font-size:clamp(38px,5vw,64px);
  font-weight:400;

  line-height:1.05;
  text-transform:uppercase;
}


/* FORMULARIO */

.imc-form{
  display:grid;
  gap:20px;
}

.imc-form label{
  display:grid;
  gap:10px;

  color:#ffffff;

  font-size:12px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}

.imc-form label small{
  color:rgba(255,255,255,.54);
  font-size:10px;
  font-weight:800;
  letter-spacing:.10em;
}

.imc-form input,
.imc-form select{
  width:100%;
  height:56px;

  padding:0 18px;

  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);

  outline:none;

  color:#ffffff;

  font-size:16px;
  font-weight:700;

  background:
    rgba(255,255,255,.06);

  transition:
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease;
}

.imc-form select{
  padding-right:54px;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  cursor:pointer;
}

.imc-form option{
  background:#0a0a0a;
  color:#ffffff;
}

.imc-form input:focus,
.imc-form select:focus{
  border-color:rgba(225,6,0,.55);

  background:rgba(255,255,255,.085);

  box-shadow:
    0 0 0 4px rgba(225,6,0,.12);
}


/* CHECKBOX */

.checkbox-label{
  display:flex !important;
  align-items:center;

  gap:14px;

  margin-top:4px;
  padding:18px;

  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.06),
      rgba(255,255,255,.025)
    );
}

.checkbox-label input{
  width:18px;
  height:18px;

  flex:0 0 18px;

  accent-color:#ff2a2a;
}

.checkbox-label span{
  color:#ffffff;

  font-size:13px;
  font-weight:700;

  line-height:1.5;
  letter-spacing:.02em;

  text-transform:none;
}


/* RESULTADO DASHBOARD */

.imc-dashboard{
  margin-top:22px;
  margin-bottom:22px;

  padding:30px;

  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);

  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(225,6,0,.18),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.025)
    );
}

.imc-dashboard small{
  display:block;

  margin-bottom:14px;

  color:rgba(255,255,255,.72);

  font-size:11px;
  font-weight:900;

  letter-spacing:.14em;
  text-transform:uppercase;
}

.imc-result-number{
  margin:0 0 12px;

  color:var(--red-light);

  font-family:Anton,sans-serif;
  font-size:clamp(76px,10vw,132px);

  line-height:.88;
}

.imc-result-card h3{
  margin-bottom:0;

  font-family:Anton,sans-serif;
  font-size:clamp(34px,5vw,58px);
  font-weight:400;

  line-height:1.08;
  text-transform:uppercase;
}

.imc-result-card p{
  max-width:620px;

  color:rgba(255,255,255,.9);

  line-height:1.8;
}


/* ESCALA */

.imc-scale{
  display:grid;
  grid-template-columns:repeat(6,1fr);

  gap:8px;

  margin:34px 0 16px;
}

.imc-scale span{
  padding:12px 8px;

  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);

  background:rgba(255,255,255,.06);

  text-align:center;

  font-size:10px;
  font-weight:900;

  letter-spacing:.08em;
  text-transform:uppercase;

  transition:
    background .35s ease,
    border-color .35s ease,
    color .35s ease,
    transform .35s ease,
    box-shadow .35s ease;
}

.imc-scale span.active{
  color:#ffffff;
  transform:translateY(-3px);
}

.imc-progress-track{
  width:100%;
  height:8px;

  margin-bottom:34px;

  overflow:hidden;

  border-radius:999px;

  background:
    linear-gradient(
      90deg,
      #2563eb,
      #16a34a,
      #0891b2,
      #f59e0b,
      #9333ea
    );

  opacity:.72;
}

.imc-progress-track div{
  width:0;
  height:100%;

  border-radius:999px;

  background:#ffffff;

  box-shadow:
    0 0 14px rgba(255,255,255,.65);

  transition:width .6s ease;
}


/* ESTADOS */

#scale-bajo.active{
  background:linear-gradient(135deg,#2563eb,#1e40af);
  border-color:rgba(37,99,235,.28);
  box-shadow:0 4px 18px rgba(37,99,235,.16);
}

#scale-normal.active{
  background:linear-gradient(135deg,#16a34a,#166534);
  border-color:rgba(22,163,74,.28);
  box-shadow:0 4px 18px rgba(22,163,74,.16);
}

#scale-fitness.active{
  background:linear-gradient(135deg,#0ea5e9,#0369a1);
  border-color:rgba(14,165,233,.28);
  box-shadow:0 4px 18px rgba(14,165,233,.16);
}

#scale-atletico.active{
  background:linear-gradient(135deg,#0891b2,#0e7490);
  border-color:rgba(8,145,178,.28);
  box-shadow:0 4px 18px rgba(8,145,178,.16);
}

#scale-sobrepeso.active{
  background:linear-gradient(135deg,#f59e0b,#d97706);
  border-color:rgba(245,158,11,.28);
  box-shadow:0 4px 18px rgba(245,158,11,.16);
}

#scale-obesidad.active{
  background:linear-gradient(135deg,#9333ea,#6b21a8);
  border-color:rgba(147,51,234,.28);
  box-shadow:0 4px 18px rgba(147,51,234,.16);
}


/* INSIGHTS */

.imc-insights{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;

  margin-bottom:28px;
}

.imc-insights article,
.imc-note,
.imc-disclaimer{
  padding:22px;

  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.065),
      rgba(255,255,255,.025)
    );
}

.imc-insights article{
  transition:
    transform .3s ease,
    border-color .3s ease,
    box-shadow .3s ease;
}

.imc-insights article:hover{
  transform:translateY(-6px);
  border-color:rgba(225,6,0,.24);
  box-shadow:0 20px 50px rgba(0,0,0,.24);
}

.imc-insights small{
  display:block;

  margin-bottom:10px;

  color:rgba(255,255,255,.62);

  font-size:11px;
  font-weight:900;

  letter-spacing:.10em;
  text-transform:uppercase;
}

.imc-insights strong{
  display:block;

  color:#ffffff;

  font-family:Anton,sans-serif;
  font-size:34px;
  font-weight:400;

  line-height:1;
}

.imc-insights span{
  display:block;

  margin-top:8px;

  color:rgba(255,255,255,.74);

  font-size:13px;
  line-height:1.5;
}

.imc-note{
  margin-bottom:18px;
}

.imc-note strong{
  display:block;

  margin-bottom:10px;

  color:var(--red-light);

  font-size:12px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}

.imc-note p{
  color:rgba(255,255,255,.88);
  line-height:1.75;
}

.imc-disclaimer{
  margin-bottom:34px;

  color:rgba(255,255,255,.68);

  font-size:13px;
  line-height:1.7;
}


/* ACCIONES */

.imc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;

  margin-top:42px;
}


/* RESPONSIVE */

@media(max-width:1000px){

  .imc-grid{
    grid-template-columns:1fr;
  }

  .imc-insights{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){

  .imc-card,
  .imc-result-card{
    padding:30px;
  }

  .imc-scale{
    grid-template-columns:1fr 1fr;
  }
}

/* ======================================================
   CALCULADORA CALORÍAS PREMIUM
====================================================== */

.calories-page-hero{
  overflow:hidden;
}

.calories-section{
  background:
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.calories-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:28px;
}

.calories-form-card,
.calories-result-card{
  padding:46px;

  border-radius:34px;

  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );

  box-shadow:
    0 30px 80px rgba(0,0,0,.32);
}

.calories-form{
  display:grid;
  gap:20px;
}

.calories-form label{
  display:grid;
  gap:10px;

  color:#ffffff;

  font-size:12px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}

.calories-form input,
.calories-form select{
  width:100%;
  height:58px;

  padding:0 18px;

  border:none;
  outline:none;

  border-radius:18px;

  color:#ffffff;

  font-size:15px;
  font-weight:700;

  background:
    rgba(255,255,255,.06);

  appearance:none;
}

.calories-form input:focus,
.calories-form select:focus{

  box-shadow:
    0 0 0 4px rgba(225,6,0,.12);

  background:
    rgba(255,255,255,.09);
}

.select-wrap{
  position:relative;
}

.select-wrap::after{
  content:"⌄";

  position:absolute;

  top:50%;
  right:20px;

  transform:translateY(-52%);

  color:rgba(255,255,255,.88);

  font-size:22px;
  font-weight:700;

  pointer-events:none;

  opacity:.95;

  transition:
    transform .25s ease,
    opacity .25s ease;
}

.select-wrap:hover::after{
  transform:translateY(-52%) scale(1.08);
}

.select-wrap:focus-within::after{
  color:#ffffff;
  opacity:1;
}

.calories-form option{
  background:#0a0a0a;
  color:#ffffff;
}

.calorie-main-box{
  margin:28px 0 34px;
  padding:34px;

  border-radius:28px;

  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(225,6,0,.14),
      rgba(255,255,255,.03)
    );
}

.calorie-main-box span{
  display:block;

  margin-bottom:12px;

  color:rgba(255,255,255,.82);

  font-size:12px;
  font-weight:900;

  letter-spacing:.12em;
  text-transform:uppercase;
}

.calorie-main-box strong{
  display:block;

  color:var(--red-light);

  font-family:Anton,sans-serif;
  font-size:clamp(58px,7vw,96px);
  font-weight:400;

  line-height:.95;
}

.calorie-main-box small{
  display:block;

  margin-top:12px;

  color:rgba(255,255,255,.78);

  font-size:13px;
  font-weight:800;

  text-transform:uppercase;
}

.calorie-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;

  margin-bottom:30px;
}

.calorie-card{
  padding:26px 18px;

  border-radius:24px;

  border:1px solid rgba(255,255,255,.10);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );

  text-align:center;
}

.calorie-icon{
  margin-bottom:14px;
  font-size:24px;
}

.calorie-card strong{
  display:block;

  margin-bottom:10px;

  color:#ffffff;

  font-family:Anton,sans-serif;
  font-size:34px;
  font-weight:400;
}

.calorie-card span{
  color:rgba(255,255,255,.74);

  font-size:11px;
  font-weight:900;

  letter-spacing:.08em;
  text-transform:uppercase;
}

.calorie-info-box{
  margin-top:10px;
}

.calorie-info-box h3{
  margin-bottom:18px;

  font-family:Anton,sans-serif;
  font-size:clamp(32px,5vw,54px);
  font-weight:400;

  line-height:1.05;
  text-transform:uppercase;
}

.calorie-info-box p{
  color:rgba(255,255,255,.9);
  line-height:1.8;
}

.calorie-extra-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;

  margin-top:34px;
}

.calorie-extra-info article{
  padding:22px;

  border-radius:22px;

  border:1px solid rgba(255,255,255,.10);

  background:
    rgba(255,255,255,.04);
}

.calorie-extra-info small{
  display:block;

  margin-bottom:10px;

  color:rgba(255,255,255,.65);

  font-size:11px;
  font-weight:900;

  letter-spacing:.08em;
  text-transform:uppercase;
}

.calorie-extra-info strong{
  color:#ffffff;

  font-family:Anton,sans-serif;
  font-size:34px;
  font-weight:400;
}

.calories-actions{
  margin-top:54px;
}

@media(max-width:980px){

  .calories-grid{
    grid-template-columns:1fr;
  }

  .calorie-cards{
    grid-template-columns:1fr;
  }

  .calorie-extra-info{
    grid-template-columns:1fr;
  }
}

/* ======================================================
   CALCULADORA DE MACROS PRO
====================================================== */

.macros-page-hero{
  overflow:hidden;
}

.macros-section{
  background:
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.macro-calories-box{
  margin-bottom:30px;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(225,6,0,.12),
      rgba(255,255,255,.025)
    );
}

.macro-calories-box span{
  display:block;
  margin-bottom:10px;
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.macro-calories-box strong{
  display:block;
  color:var(--red-light);
  font-family:Anton,sans-serif;
  font-size:clamp(56px,7vw,92px);
  font-weight:400;
  line-height:.95;
}

.macro-calories-box small{
  display:block;
  margin-top:10px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}

.macro-results--pro{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:34px;
}

.macro-results--pro article{
  padding:24px 18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.075),
      rgba(255,255,255,.025)
    );
}

.macro-results--pro strong{
  display:block;
  margin-bottom:10px;
  color:#ffffff;
  font-family:Anton,sans-serif;
  font-size:clamp(38px,5vw,58px);
  font-weight:400;
  line-height:1;
}

.macro-results--pro span{
  display:block;
  color:rgba(255,255,255,.86);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.macro-results--pro small{
  display:block;
  margin-top:8px;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:700;
}

.macro-bar{
  width:100%;
  height:8px;
  margin-top:18px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.macro-bar div{
  width:0;
  height:100%;
  border-radius:999px;
  background:
    linear-gradient(
      90deg,
      var(--red-light),
      var(--red)
    );
  transition:width .6s ease;
}

@media(max-width:700px){
  .macro-results--pro{
    grid-template-columns:1fr;
  }
}

/* SEPARACIÓN BOTONES MACROS */

.macros-section .imc-actions{
  margin-top:48px;
}

/* ======================================================
   SELECTS PREMIUM GLOBAL CALCULADORAS
====================================================== */

.select-wrap{
  position:relative;
}

.select-wrap select,
.imc-form select,
.calories-form select{
  width:100%;
  height:58px;

  padding:0 54px 0 18px;

  border:1px solid rgba(255,255,255,.12);
  outline:none;

  border-radius:18px;

  color:#ffffff;

  font-size:15px;
  font-weight:800;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.08),
      rgba(255,255,255,.035)
    );

  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  cursor:pointer;
}

.select-wrap::after{
  content:"▼";

  position:absolute;

  top:50%;
  right:20px;

  transform:translateY(-50%);

  color:#ffffff;

  font-size:18px;
  line-height:1;

  pointer-events:none;

  opacity:.95;
}

.select-wrap:hover::after{
  transform:translateY(-50%) scale(1.08);
}

.select-wrap:focus-within::after{
  color:#ff2a2a;
}

.select-wrap select:focus,
.imc-form select:focus,
.calories-form select:focus{
  border-color:rgba(225,6,0,.55);

  box-shadow:
    0 0 0 4px rgba(225,6,0,.12);
}

.select-wrap select option,
.imc-form select option,
.calories-form select option{
  background:#0a0a0a;
  color:#ffffff;
}

/* ======================================================
   PÁGINA CONTACTO
====================================================== */

.contact-page-hero{
  overflow:hidden;
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:34px;
  align-items:center;
}

.contact-hero-image{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}

.contact-hero-image img{
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  transition:transform .85s ease, filter .85s ease;
}

.contact-hero-image:hover img{
  transform:scale(1.06);
  filter:contrast(1.08) saturate(1.08);
}

.contact-page-hero .hero-actions{
  margin-top:72px;
  gap:22px;
}


/* CONTACTO RÁPIDO */

.contact-fast-section{
  position:relative;
  overflow:hidden;
}

.contact-fast-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.contact-fast-card{
  position:relative;
  overflow:hidden;
  min-height:280px;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.075),
      rgba(255,255,255,.025)
    );
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.contact-fast-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(
      circle at 20% 20%,
      rgba(225,6,0,.14),
      transparent 38%
    );
  opacity:0;
  transition:opacity .35s ease;
}

.contact-fast-card:hover{
  transform:translateY(-10px);
  border-color:rgba(225,6,0,.28);
  box-shadow:0 26px 70px rgba(0,0,0,.34);
}

.contact-fast-card:hover::before{
  opacity:1;
}

.contact-fast-card span,
.contact-fast-card h3,
.contact-fast-card p,
.contact-fast-card a{
  position:relative;
  z-index:2;
}

.contact-fast-card > span{
  display:block;
  margin-bottom:22px;
  font-size:36px;
}

.contact-fast-card h3{
  margin-bottom:14px;
  font-family:Anton,sans-serif;
  font-size:34px;
  font-weight:400;
  text-transform:uppercase;
}

.contact-fast-card p{
  color:rgba(255,255,255,.88);
  line-height:1.7;
}

.contact-fast-card a{
  display:inline-flex;
  margin-top:22px;
  color:#ff2a2a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-fast-card--disabled{
  opacity:.72;
}


/* FORMULARIO Y MAPA */

.contact-main-section{
  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(225,6,0,.10),
      transparent 32%
    ),
    linear-gradient(
      180deg,
      #050505,
      #0b0b0d
    );
}

.contact-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}

.contact-form-card,
.contact-map-card{
  position:relative;
  overflow:hidden;
  padding:46px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.11);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.085),
      rgba(255,255,255,.025)
    );
  box-shadow:0 30px 80px rgba(0,0,0,.32);
}

.contact-form-card h2,
.contact-map-card h2{
  margin-bottom:18px;
  font-family:Anton,sans-serif;
  font-size:clamp(42px,6vw,72px);
  font-weight:400;
  line-height:1.05;
  text-transform:uppercase;
}

.contact-form-card p,
.contact-map-card p{
  margin-bottom:28px;
  color:rgba(255,255,255,.9);
  line-height:1.8;
}

.contact-form{
  display:grid;
  gap:18px;
}

.contact-form label{
  display:grid;
  gap:10px;
  color:#ffffff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  outline:none;
  border-radius:18px;
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  background:rgba(255,255,255,.06);
}

.contact-form input,
.contact-form select{
  height:56px;
  padding:0 18px;
}

.contact-form select{
  padding-right:54px;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
}

.contact-form textarea{
  min-height:140px;
  resize:vertical;
  padding:18px;
  font-family:Montserrat,Arial,sans-serif;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(225,6,0,.55);
  background:rgba(255,255,255,.085);
  box-shadow:0 0 0 4px rgba(225,6,0,.12);
}

.contact-form option{
  background:#0a0a0a;
  color:#ffffff;
}


/* MAPA VISUAL */

.contact-map-visual{
  position:relative;
  min-height:360px;
  margin-bottom:30px;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(
      circle at center,
      rgba(225,6,0,.18),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #080808,
      #141414
    );
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.contact-map-visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.55;
}

.contact-map-visual strong,
.contact-map-visual span{
  position:relative;
  z-index:2;
}

.contact-map-visual strong{
  font-family:Anton,sans-serif;
  font-size:clamp(52px,7vw,96px);
  font-weight:400;
  color:#ffffff;
}

.contact-map-visual span{
  margin-top:10px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.map-pulse{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ff2a2a;
  box-shadow:0 0 0 10px rgba(225,6,0,.12);
}

.map-pulse--one{
  top:28%;
  left:32%;
}

.map-pulse--two{
  top:58%;
  left:52%;
}

.map-pulse--three{
  top:38%;
  right:26%;
}


/* FAQ */

.faq-grid{
  display:grid;
  gap:16px;
}

.faq-item{
  padding:24px 28px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.07),
      rgba(255,255,255,.025)
    );
}

.faq-item summary{
  cursor:pointer;
  color:#ffffff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.faq-item p{
  margin-top:18px;
  color:rgba(255,255,255,.86);
  line-height:1.75;
}


/* RESPONSIVE */

@media(max-width:980px){

  .contact-hero-grid,
  .contact-main-grid{
    grid-template-columns:1fr;
  }

  .contact-fast-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:650px){

  .contact-fast-grid{
    grid-template-columns:1fr;
  }

  .contact-form-card,
  .contact-map-card{
    padding:30px;
  }
}

/* ======================================================
   FIX FINAL · SEDES COMPACTAS
   Alcance limitado a pages/sedes.html
   Evita afectar cards reutilizadas en otras páginas
====================================================== */

.page-sedes .branches-detail-section{
  padding-top: 82px;
  padding-bottom: 86px;
}

.page-sedes .branches-detail-grid{
  gap: 18px;
}

.page-sedes .branch-detail-card{
  grid-template-columns: 460px 1fr;
  min-height: unset;
  border-radius: 26px;
}

.page-sedes .branch-detail-img{
  min-height: unset;
  height: 330px;
}

.page-sedes .branch-detail-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-sedes .branch-detail-img span{
  left: 18px;
  bottom: 18px;
  padding: 7px 11px;
  font-size: 10px;
}

.page-sedes .branch-detail-info{
  padding: 30px 32px;
}

.page-sedes .branch-detail-info h3{
  margin-bottom: 12px;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.02;
}

.page-sedes .branch-detail-info p{
  max-width: 560px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.65;
}

.page-sedes .branch-detail-info ul{
  gap: 7px;
  margin-bottom: 20px;
}

.page-sedes .branch-detail-info li{
  font-size: 13.5px;
  line-height: 1.5;
}

.page-sedes .branch-detail-actions .btn{
  min-height: 48px;
  padding: 14px 18px;
  font-size: 11px;
}

@media (max-width: 980px){

  .page-sedes .branch-detail-card{
    grid-template-columns: 1fr;
  }

  .page-sedes .branch-detail-img{
    height: 265px;
  }

  .page-sedes .branch-detail-info{
    padding: 26px;
  }
}

@media (max-width: 620px){

  .page-sedes .branches-detail-section{
    padding-top: 64px;
    padding-bottom: 70px;
  }

  .page-sedes .branches-detail-grid{
    gap: 16px;
  }

  .page-sedes .branch-detail-card{
    border-radius: 22px;
  }

  .page-sedes .branch-detail-img{
    height: 225px;
  }

  .page-sedes .branch-detail-info{
    padding: 22px;
  }

  .page-sedes .branch-detail-info h3{
    font-size: 31px;
  }

  .page-sedes .branch-detail-info p,
  .page-sedes .branch-detail-info li{
    font-size: 13px;
  }

  .page-sedes .branch-detail-actions{
    gap: 10px;
  }

  .page-sedes .branch-detail-actions .btn{
    width: 100%;
  }
}



/* ======================================================
   AJUSTE FINAL · IMÁGENES DE SEDES UN POCO MÁS GRANDES
   Solo afecta la página sedes.html
====================================================== */

body.page-sedes .branches-detail-card{
  grid-template-columns: 560px 1fr !important;
}

body.page-sedes .branch-detail-img{
  min-height: unset !important;
  height: 430px !important;
}

body.page-sedes .branch-detail-img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media(max-width:980px){
  body.page-sedes .branches-detail-card{
    grid-template-columns: 1fr !important;
  }

  body.page-sedes .branch-detail-img{
    height: 385px !important;
  }
}

@media(max-width:620px){
  body.page-sedes .branch-detail-img{
    height: 345px !important;
  }
}


/* =====================================================
   BLOQUE GLOBAL: RESPONSIVE
===================================================== */

@media (max-width:1180px){.nav-links{gap:3px}.nav-links>a,.nav-more>button{padding:0 10px}.branch-grid{grid-template-columns:repeat(3,1fr)}.branch-card{min-height:430px}.branch-card:nth-child(4),.branch-card:nth-child(5){grid-column:auto}}
@media (max-width:980px){.nav{grid-template-columns:auto auto}.nav-links{position:fixed;top:74px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(0,0,0,.95)}.nav-links.is-open{display:flex}.nav-links>a,.nav-more>button{width:100%;height:auto;padding:14px 16px;justify-content:flex-start;border-radius:14px}.nav-more{width:100%}.nav-dropdown{position:static;display:none;opacity:1;visibility:visible;transform:none;min-width:0;margin-top:6px;background:rgba(255,255,255,.05)}.nav-more:hover .nav-dropdown{display:block}.menu-toggle{display:block}.nav-cta{display:none}.hero-grid,.experience-grid,.shop-preview{grid-template-columns:1fr}.hero-logo-card{display:none}.branch-grid,.plans-grid,.tool-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.section{padding:76px 0}.page-title{padding:105px 0 55px}.section-head{display:block}.section-head p{margin-top:14px}.branch-grid,.plans-grid,.tool-grid,.gallery-grid,.hero-stats,.grid-3,.footer-grid{grid-template-columns:1fr}.branch-card{min-height:420px}.gallery-item.large,.gallery-item.wide{grid-row:auto;grid-column:auto}.hero h1{font-size:58px}.hero p{font-size:16px}.brand span{display:none}}

/* ======================================================
   MOBILE NAV PREMIUM UPDATE
====================================================== */

@media (max-width:980px){
  .site-header{
    padding:10px 0;
    background:linear-gradient(180deg, rgba(0,0,0,.94), rgba(0,0,0,.66));
  }

  .nav{
    min-height:62px;
  }

  .brand img{
    width:54px;
  }

  /* MENÚ MÓVIL | Botón cápsula premium MENÚ / CERRAR
     Importante: no usar .menu-toggle span genérico porque también afecta
     el texto .menu-toggle__label y oculta la palabra CERRAR. */
  .menu-toggle{
    position:relative;
    z-index:130;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    min-width:118px !important;
    width:auto !important;
    height:46px !important;
    padding:0 16px !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,rgba(12,12,12,.78),rgba(0,0,0,.48)) !important;
    color:#fff !important;
    box-shadow:0 16px 38px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.04) inset !important;
    backdrop-filter:blur(18px) !important;
  }

  .menu-toggle__icon{
    position:relative !important;
    display:block !important;
    width:20px !important;
    height:16px !important;
    flex:0 0 20px !important;
  }

  .menu-toggle__line{
    position:absolute !important;
    left:0 !important;
    display:block !important;
    width:20px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#ffffff !important;
    transition:top .24s ease, transform .24s ease, opacity .18s ease !important;
  }

  .menu-toggle__line:nth-child(1){top:1px !important;}
  .menu-toggle__line:nth-child(2){top:7px !important;}
  .menu-toggle__line:nth-child(3){top:13px !important;}

  .menu-toggle__label{
    position:static !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    background:transparent !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:950 !important;
    letter-spacing:.16em !important;
    line-height:1 !important;
    text-transform:uppercase !important;
  }

  .menu-toggle.is-active .menu-toggle__line:nth-child(1){top:7px !important;transform:rotate(45deg) !important;}
  .menu-toggle.is-active .menu-toggle__line:nth-child(2){opacity:0 !important;transform:scaleX(.25) !important;}
  .menu-toggle.is-active .menu-toggle__line:nth-child(3){top:7px !important;transform:rotate(-45deg) !important;}

  .nav-links{
    position:fixed !important;
    z-index:120;
    top:86px !important;
    left:16px !important;
    right:16px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding:16px !important;
    border-radius:28px !important;
    border:1px solid rgba(255,255,255,.14) !important;
    background:
      radial-gradient(circle at 86% 0%, rgba(225,6,0,.24), transparent 34%),
      linear-gradient(180deg, rgba(15,15,18,.98), rgba(0,0,0,.96)) !important;
    box-shadow:
      0 28px 90px rgba(0,0,0,.62),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter:blur(22px) !important;
    transform:translateY(-12px) scale(.98);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease, transform .28s ease, visibility .28s ease;
  }

  .nav-links.is-open{
    transform:translateY(0) scale(1);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .nav-links::before{
    content:"Menú Athletic";
    padding:8px 4px 12px;
    color:#ffdedc;
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .nav-links a{
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 16px !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    font-size:12px !important;
  }

  .nav-links a::after{
    content:"→";
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#ffffff;
    background:rgba(225,6,0,.22);
  }

  .nav-links a::before{
    display:none !important;
  }

  .header-cta{
    display:none !important;
  }

  body.nav-open{
    overflow:hidden;
  }
}

@media (max-width:420px){
  .container{width:min(var(--max),calc(100% - 28px));}
  .nav-links{left:14px !important; right:14px !important;}
}

/* ======================================================
   INDEX MOBILE HERO V4
   - Usa imagen dedicada img/hero-mobile.webp.
   - Reduce el título en móvil.
   - Texto arriba, espacio central libre para mostrar imagen,
     botones abajo.
====================================================== */

@media (max-width:680px){
  body.hero-no-mobile-logo .hero{
    min-height:100svh;
    align-items:stretch;
    padding:92px 0 28px;
    background:
      linear-gradient(
        180deg,
        rgba(0,0,0,.58) 0%,
        rgba(0,0,0,.34) 28%,
        rgba(0,0,0,.10) 52%,
        rgba(0,0,0,.52) 78%,
        rgba(0,0,0,.82) 100%
      ),
      url("../img/hero-mobile.webp") center top / cover no-repeat !important;
  }

  body.hero-no-mobile-logo .hero::before,
  body.hero-no-mobile-logo .hero::after{
    display:none !important;
    background:none !important;
    animation:none !important;
  }

  body.hero-no-mobile-logo .hero-grid{
    min-height:calc(100svh - 120px);
    display:block;
  }

  body.hero-no-mobile-logo .hero-grid > div{
    min-height:calc(100svh - 120px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  body.hero-no-mobile-logo .hero .eyebrow{
    margin-top:0;
    font-size:10px;
    letter-spacing:.20em;
  }

  body.hero-no-mobile-logo .hero h1{
    max-width:330px;
    margin-top:12px;
    font-size:clamp(34px,10.8vw,44px) !important;
    line-height:.94;
    letter-spacing:.012em;
    text-shadow:none !important;
    filter:none !important;
  }

  body.hero-no-mobile-logo .hero h1 span{
    margin-top:5px;
    text-shadow:none !important;
    filter:none !important;
  }

  body.hero-no-mobile-logo .hero-actions{
    width:100%;
    margin-top:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  body.hero-no-mobile-logo .hero-actions .btn{
    width:100%;
    min-height:50px;
    font-size:11px;
    letter-spacing:.13em;
  }
}

/* =====================================================
   MENÚ MÓVIL ATHLETIC · ESTILO SECHURA V2
   Mantiene contenido original: Inicio, Marca, Servicios,
   Herramientas, Sedes, Contacto, Zona Socio y Tienda.
===================================================== */
@media(max-width:980px){
  .site-header{
    z-index:1200;
    padding:10px 0;
    background:linear-gradient(180deg,rgba(0,0,0,.94),rgba(0,0,0,.48));
    border-bottom:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(20px);
    box-shadow:0 18px 50px rgba(0,0,0,.30);
  }

  .nav{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .brand img{width:56px;}

  .menu-toggle.menu-toggle--premium{
    position:relative;
    z-index:1230;
    display:inline-flex!important;
    min-width:118px;
    width:auto;
    height:46px;
    padding:0 16px;
    gap:10px;
    border-radius:999px;
  }

  .menu-toggle.menu-toggle--premium span{
    position:static;
    width:auto;
    height:auto;
    background:transparent;
    transform:none;
  }

  .menu-toggle.menu-toggle--premium .menu-toggle__icon{
    position:relative;
    width:20px;
    height:16px;
    flex:0 0 20px;
  }

  .menu-toggle.menu-toggle--premium .menu-toggle__line{
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff;
  }

  .menu-toggle.menu-toggle--premium .menu-toggle__line:nth-child(1){top:1px;transform:none;}
  .menu-toggle.menu-toggle--premium .menu-toggle__line:nth-child(2){top:7px;transform:none;opacity:1;}
  .menu-toggle.menu-toggle--premium .menu-toggle__line:nth-child(3){top:13px;transform:none;}

  .menu-toggle.menu-toggle--premium.is-active .menu-toggle__line:nth-child(1){top:7px;transform:rotate(45deg);}
  .menu-toggle.menu-toggle--premium.is-active .menu-toggle__line:nth-child(2){opacity:0;transform:scaleX(.25);}
  .menu-toggle.menu-toggle--premium.is-active .menu-toggle__line:nth-child(3){top:7px;transform:rotate(-45deg);}

  .menu-toggle.menu-toggle--premium .menu-toggle__label{
    display:block;
    color:#fff;
    font-size:11px;
    font-weight:950;
    letter-spacing:.16em;
    text-transform:uppercase;
    line-height:1;
  }

  .nav-links{
    position:fixed!important;
    top:84px!important;
    left:auto!important;
    right:20px!important;
    width:min(360px,calc(100vw - 40px))!important;
    z-index:1220!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    padding:18px!important;
    border-radius:26px!important;
    background:rgba(5,5,5,.98)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 0 1px rgba(225,6,0,.08) inset!important;
    backdrop-filter:blur(22px)!important;
    transform:translateY(-12px) scale(.98)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important;
  }

  .nav-links.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
  }

  .nav-links::before{
    content:"Menú Athletic";
    padding:4px 4px 10px;
    color:#ffdedc;
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .nav-links a,
  .nav-links .header-member,
  .nav-links .header-cta{
    position:relative;
    width:100%!important;
    min-height:48px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 18px!important;
    border-radius:16px!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03))!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:inset 4px 0 0 rgba(225,6,0,.78),0 12px 26px rgba(0,0,0,.22)!important;
  }

  .nav-links a::before,
  .nav-links a::after{
    display:none!important;
    content:none!important;
  }

  .nav-links .header-member{
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.035))!important;
  }

  .nav-links .header-cta{
    justify-content:center!important;
    margin-top:4px!important;
    background:linear-gradient(135deg,#ff2a2a,#e10600 48%,#8f0000)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 14px 34px rgba(225,6,0,.34)!important;
  }

  .mobile-overlay{
    position:fixed;
    inset:0;
    z-index:1100;
    display:block;
    background:rgba(0,0,0,.62);
    backdrop-filter:blur(4px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s ease;
  }

  .mobile-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  body.nav-open{overflow:hidden;}
}

@media(max-width:430px){
  .menu-toggle.menu-toggle--premium{
    min-width:106px;
    height:44px;
    padding:0 13px;
    gap:8px;
  }

  .menu-toggle.menu-toggle--premium .menu-toggle__label{
    font-size:10px;
    letter-spacing:.14em;
  }

  .nav-links{
    top:78px!important;
    right:14px!important;
    width:calc(100vw - 28px)!important;
  }
}


/* =====================================================
   BLOQUE GLOBAL: AJUSTES PREMIUM
===================================================== */

/* =====================================================
   GIMNASIO ATHLETIC · PREMIUM EXPERIENCE UNIFICADA
   Basado en el sistema visual Athletic Sechura.
===================================================== */
:root{
  --athletic-red:#e10600;
  --athletic-red-soft:rgba(225,6,0,.18);
  --athletic-card:rgba(255,255,255,.055);
  --athletic-card-strong:rgba(255,255,255,.085);
  --athletic-border:rgba(255,255,255,.12);
  --athletic-focus:0 0 0 3px rgba(225,6,0,.42),0 0 0 6px rgba(255,255,255,.12);
}
html{scroll-padding-top:100px}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 16% 12%,rgba(225,6,0,.18),transparent 30%),
    radial-gradient(circle at 82% 28%,rgba(255,255,255,.06),transparent 28%),
    linear-gradient(180deg,#050505 0%,#090a0d 48%,#050505 100%);
}
.skip-link{
  position:fixed;left:16px;top:12px;z-index:9999;padding:12px 16px;border-radius:999px;
  background:#fff;color:#070707;font-weight:900;transform:translateY(-140%);
  transition:transform .22s ease;
}
.skip-link:focus{transform:translateY(0);outline:none;box-shadow:var(--athletic-focus)}
.site-header.is-scrolled{
  padding:10px 0;
  background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.76));
  box-shadow:0 18px 60px rgba(0,0,0,.48);
}
.nav-links a.is-active,
.nav-links a[aria-current="page"],
.nav-links a[aria-current="true"]{
  color:#fff;
  background:linear-gradient(135deg,rgba(225,6,0,.28),rgba(225,6,0,.10));
  box-shadow:inset 0 0 0 1px rgba(225,6,0,.28),0 10px 24px rgba(225,6,0,.12);
}
.nav-links a.is-active::before,
.nav-links a[aria-current="page"]::before,
.nav-links a[aria-current="true"]::before{transform:scaleX(1)}
a:focus-visible,button:focus-visible,.btn:focus-visible,.menu-toggle:focus-visible{outline:none;box-shadow:var(--athletic-focus)}
img{height:auto}
img:not(.brand img):not(.footer-logo){filter:saturate(1.04) contrast(1.04)}
[data-animate],.reveal,.reveal-left,.reveal-right,.reveal-zoom{
  opacity:0;
  transition:opacity .72s ease,transform .72s cubic-bezier(.16,1,.3,1);
}
.reveal,[data-animate="fade-up"]{transform:translateY(28px)}
.reveal-left,[data-animate="fade-left"]{transform:translateX(-28px)}
.reveal-right,[data-animate="fade-right"]{transform:translateX(28px)}
.reveal-zoom,[data-animate="zoom"]{transform:scale(.965)}
.is-visible{opacity:1!important;transform:none!important}
.btn,.branch-btn,.footer-btn,.footer-link,.header-member,.header-cta{
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}
.btn:hover,.branch-btn:hover,.footer-btn:hover,.header-cta:hover,.header-member:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 48px rgba(0,0,0,.34),0 0 32px rgba(225,6,0,.18);
}
.branch-card,.info-card,.tool-card,.service-card,.feature-img,.shop-card{
  will-change:transform;
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease,filter .32s ease;
}
.info-card:hover,.tool-card:hover,.service-card:hover,.shop-card:hover{
  transform:translateY(-6px);
  border-color:rgba(225,6,0,.28);
  box-shadow:0 28px 74px rgba(0,0,0,.42),0 0 30px rgba(225,6,0,.12);
}
.feature-img{overflow:hidden;border-radius:var(--radius)}
.feature-img:hover img,.branch-card:hover img{transform:scale(1.055)}
.feature-img img,.branch-card img{transition:transform .65s cubic-bezier(.16,1,.3,1),filter .35s ease}
.hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,#050505);
}
.hero .eyebrow{
  box-shadow:0 12px 34px rgba(225,6,0,.18),inset 0 1px 0 rgba(255,255,255,.08);
}
.hero-actions{align-items:center;flex-wrap:wrap}
.premium-system-strip{
  margin-top:28px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.premium-system-strip span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.9);
  font-size:12px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.athletic-hub{
  position:relative;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.athletic-hub::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(225,6,0,.22),transparent 32%);
}
.hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.hub-card{
  position:relative;
  padding:26px;
  min-height:230px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:0 20px 50px rgba(0,0,0,.28);
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;
}
.hub-card:hover{transform:translateY(-6px);border-color:rgba(225,6,0,.32);box-shadow:0 28px 74px rgba(0,0,0,.42)}
.hub-card small{color:#ff3b35;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.hub-card h3{margin:12px 0 10px;font-family:Anton,Impact,sans-serif;font-size:clamp(28px,3vw,38px);text-transform:uppercase}
.hub-card p{line-height:1.75;color:rgba(255,255,255,.84)}
.hub-card a{display:inline-flex;margin-top:18px;font-weight:900;color:#fff;border-bottom:1px solid rgba(225,6,0,.6)}
.footer-main{
  gap:28px;
}
.footer-col a:empty{display:none}
.footer-mini{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.04);
}
.footer-mini strong{display:block;margin-bottom:6px;color:#fff}
.footer-mini span{display:block;color:rgba(255,255,255,.78);font-size:13px;line-height:1.55}
.scroll-top{
  right:22px;bottom:22px;
  width:48px;height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(135deg,#e10600,#8e0000);
  color:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.36),0 0 24px rgba(225,6,0,.22);
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-animate],.reveal,.reveal-left,.reveal-right,.reveal-zoom{opacity:1!important;transform:none!important}
}
@media (max-width:900px){
  .hub-grid{grid-template-columns:1fr}
  .premium-system-strip{margin-top:20px}
}


/* =====================================================
   SISTEMA GLOBAL · AJUSTES HEREDADOS DE SECHURA
   Mantiene navegación, scrollbar y comportamiento mobile uniforme.
===================================================== */
:root{
  --athletic-red:#e10600;
  --athletic-red-strong:#ff1f16;
}

html{
  scrollbar-width: thin;
  scrollbar-color: var(--athletic-red) #090909;
}

body::-webkit-scrollbar{ width: 10px; }
body::-webkit-scrollbar-track{ background:#090909; }
body::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg,var(--athletic-red),#8b0704);
  border-radius: 999px;
  border: 2px solid #090909;
}
body::-webkit-scrollbar-thumb:hover{ background: var(--athletic-red-strong); }

body.menu-open,
body.nav-open{ overflow:hidden; }

.menu-toggle__label{ min-width: 42px; text-align:left; }
.nav-links a.active,
.nav-links a.is-active{ color: var(--athletic-red-strong); }

/* Corrección global: evita que textos cortos en tarjetas/horarios se partan de forma antiestética. */
.plan-price,
.kpi-value,
.schedule-time,
.footer-mini strong,
.hero-stat strong,
[class*="price"],
[class*="time"]{
  text-wrap: balance;
}

@media (max-width: 1100px){
  .nav-links.is-open{ display:flex; }
  .mobile-overlay.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
}


/* =====================================================
   FASE 1 · SISTEMA CORPORATIVO HEREDADO DE SECHURA
   -----------------------------------------------------
   Objetivo:
   - Igualar header, navegación, menú móvil y overlay al
     comportamiento premium de Athletic Sechura.
   - Mantener Gimnasio Athletic como página madre/nexo de sedes.
   - Evitar parches por página: todo se controla desde este bloque.
===================================================== */
:root{
  --athletic-red:#e10600;
  --athletic-red-light:#ff2a2a;
  --athletic-red-dark:#8f0000;
  --athletic-header-height:96px;
}
html{scroll-padding-top:var(--athletic-header-height);}
.site-header.site-header--corporate{
  z-index:1200;
  padding:14px 0;
  background:linear-gradient(180deg, rgba(0,0,0,.95), rgba(0,0,0,.54));
  border-bottom:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 18px 50px rgba(0,0,0,.30);
  transition:padding .25s ease, background .25s ease, box-shadow .25s ease;
}
.site-header.site-header--corporate.is-scrolled{
  padding:10px 0;
  background:linear-gradient(180deg, rgba(0,0,0,.98), rgba(0,0,0,.72));
  box-shadow:0 18px 54px rgba(0,0,0,.42);
}
.site-header--corporate .nav{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand--corporate{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
  text-decoration:none;
}
.brand--corporate .brand__logo{
  width:68px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(225,6,0,.32));
}
.brand__identity{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  line-height:1;
  min-width:0;
}
.brand__name{
  color:#fff;
  font-size:18px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(255,255,255,.12);
}
.brand__branch{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 10px;
  border:1px solid rgba(225,6,0,.42);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(225,6,0,.26), rgba(225,6,0,.08));
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(225,6,0,.12), inset 0 1px 0 rgba(255,255,255,.08);
}
.nav-links.nav-links--corporate{
  display:flex;
  align-items:center;
  gap:6px;
  padding:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 10px 26px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.04);
}
.nav-links.nav-links--corporate a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  color:rgba(255,255,255,.94);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease, background .25s ease, transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nav-links.nav-links--corporate a::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:var(--athletic-red-light);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav-links.nav-links--corporate a:hover,
.nav-links.nav-links--corporate a.active,
.nav-links.nav-links--corporate a.is-active,
.nav-links.nav-links--corporate a[aria-current="page"],
.nav-links.nav-links--corporate a[aria-current="true"]{
  color:#fff;
  background:linear-gradient(135deg, rgba(225,6,0,.20), rgba(225,6,0,.08));
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.nav-links.nav-links--corporate a:hover::before,
.nav-links.nav-links--corporate a.active::before,
.nav-links.nav-links--corporate a.is-active::before,
.nav-links.nav-links--corporate a[aria-current="page"]::before,
.nav-links.nav-links--corporate a[aria-current="true"]::before{
  transform:scaleX(1);
}
.nav-links.nav-links--corporate .header-member{
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.nav-links.nav-links--corporate .header-member::before,
.nav-links.nav-links--corporate .header-cta::before{display:none;}
.nav-links.nav-links--corporate .header-cta{
  min-height:44px;
  height:44px;
  padding:0 18px;
  color:#fff;
  background:linear-gradient(135deg, var(--athletic-red-light), var(--athletic-red) 48%, var(--athletic-red-dark));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 34px rgba(225,6,0,.34);
}
.mobile-overlay{
  display:none;
}
body.menu-open,
body.nav-open{
  overflow:hidden;
}
@media(max-width:1180px){
  .nav-links.nav-links--corporate a{padding:0 11px;font-size:10.5px;}
  .nav-links.nav-links--corporate .header-member,
  .nav-links.nav-links--corporate .header-cta{padding-inline:14px;}
}
@media(max-width:1100px){
  .site-header--corporate{padding:10px 0;}
  .site-header--corporate .nav{min-height:62px;}
  .brand--corporate .brand__logo{width:58px;}
  .brand__name{font-size:16px;}
  .brand__branch{min-height:20px;font-size:9px;padding-inline:9px;}
  .menu-toggle.menu-toggle--premium{display:inline-flex;}
  .nav-links.nav-links--corporate{
    position:fixed;
    top:86px;
    right:20px;
    left:20px;
    z-index:1202;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    max-height:calc(100svh - 112px);
    overflow:auto;
    padding:18px;
    border-radius:26px;
    background:linear-gradient(180deg, rgba(8,8,8,.98), rgba(12,12,12,.94));
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 30px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.04) inset;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px) scale(.985);
    transition:opacity .24s ease, visibility .24s ease, transform .24s ease;
  }
  .nav-links.nav-links--corporate.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-links.nav-links--corporate a,
  .nav-links.nav-links--corporate .header-member,
  .nav-links.nav-links--corporate .header-cta{
    justify-content:flex-start;
    width:100%;
    min-height:50px;
    padding:0 18px;
    color:#fff;
    background:linear-gradient(180deg, rgba(15,15,15,.82), rgba(8,8,8,.68));
    border:1px solid rgba(255,255,255,.10);
    border-left:3px solid var(--athletic-red);
    border-radius:14px;
    box-shadow:0 8px 22px rgba(0,0,0,.28);
    backdrop-filter:blur(10px);
  }
  .nav-links.nav-links--corporate a::before{display:none;}
  .nav-links.nav-links--corporate .header-cta{
    justify-content:center;
    border-left-color:var(--athletic-red-light);
    background:linear-gradient(135deg, var(--athletic-red-light), var(--athletic-red) 48%, var(--athletic-red-dark));
  }
  .mobile-overlay{
    position:fixed;
    inset:0;
    z-index:1201;
    display:block;
    background:rgba(0,0,0,.66);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .24s ease, visibility .24s ease;
  }
  .mobile-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}
@media(max-width:520px){
  .brand__identity{display:flex;}
  .brand__name{font-size:14px;letter-spacing:.11em;}
  .brand__branch{font-size:8px;letter-spacing:.12em;}
  .menu-toggle--premium{min-width:108px;height:44px;padding-inline:14px;}
  .nav-links.nav-links--corporate{top:78px;left:14px;right:14px;padding:14px;}
}

/* =====================================================
   FASE 2 · INDEX CORPORATIVO ATHLETIC
   -----------------------------------------------------
   Objetivo:
   - Convertir el index en página madre/nexo de sedes.
   - Mantener la metodología visual de Sechura.
   - Evitar estilos por página: componentes reutilizables.
===================================================== */
.section-head--compact{margin-bottom:34px;}
.corporate-access{
  position:relative;
  padding:88px 0 72px;
  background:linear-gradient(180deg,#050505 0%,#090a0d 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.corporate-access::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 20% 20%,rgba(225,6,0,.16),transparent 34%);
  pointer-events:none;
}
.corporate-access .container{position:relative;z-index:2;}
.corporate-access-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.corporate-access-card{
  position:relative;
  min-height:270px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:14px;
  overflow:hidden;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
  box-shadow:0 22px 54px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;
}
.corporate-access-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 18% 14%,rgba(225,6,0,.24),transparent 38%);
  opacity:.8;
  pointer-events:none;
}
.corporate-access-card::after{
  content:"ATHLETIC";
  position:absolute;
  right:-10px;
  top:18px;
  color:rgba(255,255,255,.035);
  font-family:Anton,sans-serif;
  font-size:70px;
  line-height:1;
  letter-spacing:.04em;
  pointer-events:none;
}
.corporate-access-card:hover{
  transform:translateY(-8px);
  border-color:rgba(225,6,0,.36);
  box-shadow:0 30px 80px rgba(0,0,0,.46),0 0 42px rgba(225,6,0,.16);
}
.corporate-access-card span,
.corporate-access-card h3,
.corporate-access-card p,
.corporate-access-card strong{position:relative;z-index:2;}
.corporate-access-card span{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  height:32px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(225,6,0,.18);
  border:1px solid rgba(225,6,0,.34);
  color:#ff2a2a;
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
}
.corporate-access-card h3{
  font-family:Anton,sans-serif;
  font-size:clamp(28px,3vw,40px);
  font-weight:400;
  line-height:1;
  text-transform:uppercase;
}
.corporate-access-card p{
  color:rgba(255,255,255,.84);
  font-size:14.5px;
  line-height:1.65;
}
.corporate-access-card strong{
  margin-top:4px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.branch-grid--corporate{
  grid-template-columns:1.2fr .9fr .9fr;
  align-items:stretch;
}
.branch-grid--corporate .branch-card{min-height:500px;}
.branch-grid--corporate .branch-card--featured{min-height:560px;}
.branch-card--soon img,
.branch-card--network img{filter:saturate(.7) contrast(1.05) brightness(.72);}
.branch-card--soon::after,
.branch-card--network::after{background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.10),transparent 36%);}
.premium-system-strip--corporate{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.premium-system-strip--corporate span{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(0,0,0,.34);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(12px);
}
@media(max-width:980px){
  .corporate-access-grid,
  .branch-grid--corporate{grid-template-columns:1fr;}
  .corporate-access-card{min-height:230px;}
  .branch-grid--corporate .branch-card,
  .branch-grid--corporate .branch-card--featured{min-height:470px;}
}
@media(max-width:560px){
  .corporate-access{padding:72px 0 58px;}
  .corporate-access-card{padding:24px;border-radius:24px;}
  .corporate-access-card::after{font-size:54px;}
  .premium-system-strip--corporate{display:grid;grid-template-columns:1fr;}
  .premium-system-strip--corporate span{justify-content:center;}
}


/* =====================================================
   FASE 3 · PÁGINAS INTERNAS CORPORATIVAS
   Objetivo: que todas las páginas internas usen la misma
   metodología visual de Sechura, manteniendo a Athletic
   como web madre y nexo hacia sus sedes.
===================================================== */

.corporate-internal-page .page-shell{
  position:relative;
  overflow:hidden;
}

.corporate-internal-page .page-shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:420px;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 8%, rgba(225,6,0,.20), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 70%);
  opacity:.9;
  z-index:-1;
}

.corporate-page-title{
  position:relative;
  isolation:isolate;
  min-height:420px;
  display:flex;
  align-items:center;
  padding:150px 0 86px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.86)),
    radial-gradient(circle at 84% 18%, rgba(225,6,0,.18), transparent 32%),
    linear-gradient(135deg, #050505 0%, #0b0b0d 48%, #030303 100%);
}

.corporate-page-title::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:.34;
  background:var(--page-hero-image, none) center / cover no-repeat;
  filter:saturate(.92) contrast(1.08);
}

.corporate-page-title::after{
  content:"";
  position:absolute;
  left:max(20px, calc((100vw - var(--max)) / 2));
  right:max(20px, calc((100vw - var(--max)) / 2));
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(225,6,0,.85), rgba(255,255,255,.16), transparent);
  pointer-events:none;
}

.corporate-page-title .container{
  max-width:880px;
}

.corporate-page-title .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(225,6,0,.28);
  background:rgba(225,6,0,.10);
  box-shadow:0 12px 32px rgba(225,6,0,.12);
}

.corporate-page-title h1{
  max-width:860px;
  margin:0;
  font-family:"Anton", "Montserrat", sans-serif;
  font-size:clamp(44px, 7vw, 86px);
  line-height:.94;
  letter-spacing:.018em;
  text-transform:uppercase;
  text-wrap:balance;
}

.corporate-page-title p{
  max-width:720px;
  margin-top:20px;
  color:rgba(255,255,255,.78);
  font-size:clamp(16px, 1.8vw, 20px);
  line-height:1.7;
}

.about-hero{--page-hero-image:url("../img/marca-hero.webp");}
.services-page-hero{--page-hero-image:url("../img/marca-ambiente.webp");}
.branches-page-hero{--page-hero-image:url("../img/sede-sechura.webp");}
.location-page-hero{--page-hero-image:url("../img/fachada-principal.webp");}
.tools-page-hero,
.imc-page-hero,
.calories-page-hero,
.macros-page-hero,
.contact-page-hero{--page-hero-image:url("../img/hero.webp");}

.corporate-internal-page .section{
  position:relative;
}

.corporate-internal-page .section > .container{
  position:relative;
  z-index:1;
}

.corporate-internal-page .section-head,
.corporate-internal-page .imc-card,
.corporate-internal-page .calories-form-card,
.corporate-internal-page .result-card,
.corporate-internal-page .contact-card,
.corporate-internal-page .branch-card,
.corporate-internal-page .service-card,
.corporate-internal-page .tool-card{
  border-color:rgba(255,255,255,.10);
}

.corporate-internal-page .btn,
.corporate-internal-page button[type="submit"]{
  letter-spacing:.12em;
}

/* Header corporativo: mismo sistema visual de Sechura con identidad madre */
.site-header--corporate.is-scrolled,
.site-header--corporate{
  transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, padding .28s ease;
}

.site-header--corporate.is-scrolled{
  background:linear-gradient(180deg, rgba(0,0,0,.96), rgba(0,0,0,.70));
  border-bottom-color:rgba(225,6,0,.20);
  box-shadow:0 18px 55px rgba(0,0,0,.42), 0 0 0 1px rgba(255,255,255,.03) inset;
}

.brand__identity{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.brand__name{
  font-size:15px !important;
  line-height:1;
}

.brand__branch{
  color:rgba(255,255,255,.64) !important;
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase;
}

@media(max-width:980px){
  .corporate-page-title{
    min-height:360px;
    padding:126px 0 66px;
  }

  .corporate-page-title h1{
    font-size:clamp(38px, 11vw, 58px);
  }

  .corporate-page-title p{
    font-size:15px;
  }

  .site-header--corporate .brand__identity{
    display:flex;
  }

  .site-header--corporate .brand__branch{
    display:none;
  }
}

@media(max-width:520px){
  .corporate-page-title{
    min-height:330px;
    padding:116px 0 56px;
  }

  .corporate-page-title .eyebrow{
    font-size:10px;
    letter-spacing:.14em;
  }

  .corporate-page-title h1{
    font-size:clamp(34px, 12vw, 48px);
  }
}


/* =====================================================
   FASE 4 · HERO SECUNDARIO GLOBAL CORPORATIVO
   Uso: todas las páginas internas de Gimnasio Athletic.
   Mantiene el mismo eje visual del index y de Sechura,
   pero funciona como hero compacto para navegación interna.
===================================================== */

.corporate-secondary-hero{
  min-height:300px;
  padding:128px 0 62px;
  align-items:flex-end;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 18%, rgba(225,6,0,.24), transparent 34%),
    radial-gradient(circle at 86% 12%, rgba(255,255,255,.055), transparent 30%),
    linear-gradient(135deg, #050505 0%, #0b0b0d 52%, #030303 100%);
}

.corporate-secondary-hero::before{
  opacity:.16;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:64px 64px;
  filter:none;
}

.corporate-secondary-hero .container{
  max-width:var(--max);
}

.page-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:16px;
  color:rgba(255,255,255,.55);
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.page-breadcrumb a{
  color:var(--red);
  text-decoration:none;
  transition:color .22s ease, opacity .22s ease;
}

.page-breadcrumb a:hover{
  color:#fff;
}

.page-breadcrumb span:last-child{
  color:rgba(255,255,255,.72);
}

.corporate-secondary-hero .eyebrow{
  margin-bottom:14px;
}

.corporate-secondary-hero h1{
  max-width:780px;
  font-size:clamp(40px, 6vw, 72px);
}

.corporate-secondary-hero p{
  max-width:760px;
  margin-top:18px;
  font-size:clamp(15px, 1.55vw, 18px);
  line-height:1.65;
}

.corporate-secondary-hero .hero-actions,
.corporate-secondary-hero [class$="-hero-image"],
.corporate-secondary-hero .about-hero-image,
.corporate-secondary-hero .services-hero-image,
.corporate-secondary-hero .tools-hero-image,
.corporate-secondary-hero .contact-hero-image{
  display:none !important;
}

@media(max-width:980px){
  .corporate-secondary-hero{
    min-height:250px;
    padding:112px 0 50px;
  }
}

@media(max-width:560px){
  .corporate-secondary-hero{
    min-height:220px;
    padding:102px 0 42px;
  }

  .page-breadcrumb{
    font-size:10px;
    gap:7px;
  }

  .corporate-secondary-hero h1{
    font-size:clamp(32px, 11vw, 46px);
  }

  .corporate-secondary-hero p{
    font-size:14px;
  }
}

/* =====================================================
   AJUSTE GLOBAL V5 · NOMBRES, MENÚ MÓVIL Y RESPONSIVE
   Unifica la metodología Athletic: Marca + Sedes.
===================================================== */
html,body{max-width:100%;overflow-x:hidden;}
body{font-family:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
body.nav-open,body.menu-open{overflow:hidden;touch-action:none;}

/* Menú móvil global: capa visible por encima de cualquier hero, tarjeta o imagen */
@media(max-width:980px){
  .site-header,.site-header--corporate{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:9600!important;
    isolation:isolate;
  }
  .mobile-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:9400!important;
    background:rgba(0,0,0,.74)!important;
    backdrop-filter:blur(8px)!important;
  }
  .menu-toggle.menu-toggle--premium{
    z-index:9800!important;
    color:#fff!important;
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.045))!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.38),inset 0 0 0 1px rgba(225,6,0,.16)!important;
  }
  .nav-links,.nav-links--corporate{
    z-index:9700!important;
    background:linear-gradient(180deg,rgba(10,10,12,.99),rgba(2,2,3,.99))!important;
    border:1px solid rgba(255,255,255,.16)!important;
    box-shadow:0 34px 90px rgba(0,0,0,.78),0 0 0 1px rgba(225,6,0,.14) inset!important;
  }
  .nav-links.is-open,.nav-links--corporate.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
  }
  .page-shell{padding-top:0;}
}

/* Tarjetas y grillas: protección global mobile contra cortes, desbordes y textos partidos */
*,*::before,*::after{box-sizing:border-box;}
.container,.section,.page-shell,.hero,.corporate-page-title{min-width:0;}
.card,.service-card,.tool-card,.branch-card,.branch-detail-card,.contact-card,.imc-card,.calories-form-card,.result-card,.ecosystem-card,.access-card{
  min-width:0;
  overflow-wrap:anywhere;
}
.card h2,.card h3,.service-card h3,.tool-card h3,.branch-card h3,.branch-detail-info h3,.contact-card h3,.section-head h2{
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.card p,.service-card p,.tool-card p,.branch-card p,.branch-detail-info p,.contact-card p,.section-head p,.branch-detail-info li{
  overflow-wrap:break-word;
  word-break:normal;
}
img,video,svg{max-width:100%;height:auto;}

@media(max-width:760px){
  .corporate-page-title{
    min-height:300px!important;
    padding:128px 0 54px!important;
  }
  .corporate-page-title h1{
    font-size:clamp(38px,12vw,56px)!important;
    line-height:.96!important;
  }
  .corporate-page-title p{
    font-size:15px!important;
    line-height:1.62!important;
  }
  .section{padding-block:64px;}
  .section-head{gap:18px;}
  .branches-detail-grid,.services-grid,.tools-grid,.contact-grid,.imc-grid,.calories-grid,.macros-grid,.access-grid,.ecosystem-grid{
    grid-template-columns:1fr!important;
  }
  .branch-detail-card{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .branch-detail-img{
    min-height:220px!important;
  }
  .branch-detail-actions,.hero-actions,.cta-actions,.contact-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .branch-detail-actions .btn,.hero-actions .btn,.cta-actions .btn,.contact-actions .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

@media(max-width:430px){
  .container{width:min(100% - 28px,var(--max));}
  .section{padding-block:54px;}
  .corporate-page-title{padding-top:118px!important;}
  .corporate-page-title .eyebrow,.page-breadcrumb{max-width:100%;}
  .branch-detail-info,.contact-card,.service-card,.tool-card,.imc-card,.calories-form-card,.result-card{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* =====================================================
   V6 · SISTEMA GLOBAL DE CONTENIDO, MENÚ Y MOBILE
   - Unifica navegación como sistema corporativo.
   - Evita que hero, imágenes o tarjetas cubran el menú móvil.
   - Normaliza tipografía y comportamiento de tarjetas en móvil.
===================================================== */
:root{
  --ga-font-body:"Montserrat",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ga-font-display:"Anton",Impact,sans-serif;
}
html,body{width:100%;max-width:100%;overflow-x:hidden;}
body,input,select,textarea,button{font-family:var(--ga-font-body)!important;}
h1,h2,.hero h1,.corporate-secondary-hero h1,.section-head h2,.cta h2{font-family:var(--ga-font-display)!important;font-weight:400;}
.site-header{isolation:isolate;}
.hero,.section,.cta,.page-shell,.corporate-page-title,.branch-detail-card,.tool-feature-card,.contact-card,.service-card,.info-card{position:relative;}
.hero,.section,.cta,.page-shell,.corporate-page-title{z-index:1;}
.site-header,.mobile-overlay,.nav-links--corporate,.menu-toggle--premium{transform:translateZ(0);}

.footer-col a[href="#"],.nav-links a[href="#"]{pointer-events:none;opacity:.55;}

.branch-detail-actions,.cta-actions,.hero-actions,.contact-actions{align-items:center;}
.branch-detail-actions .btn,.cta-actions .btn,.hero-actions .btn,.contact-actions .btn{white-space:normal;}

@media(max-width:980px){
  .site-header,.site-header--corporate{z-index:30000!important;}
  .mobile-overlay{z-index:29000!important;}
  .nav-links,.nav-links--corporate{
    top:84px!important;
    z-index:31000!important;
    max-height:calc(100svh - 104px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  .menu-toggle.menu-toggle--premium{z-index:32000!important;}
  .mobile-overlay.is-open{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .nav-links.is-open,.nav-links--corporate.is-open{display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .nav-links a,.nav-links .header-member,.nav-links .header-cta{min-width:0!important;}
  .brand__identity{min-width:0;}
  .brand__name,.brand__branch{white-space:nowrap;}
}

@media(max-width:760px){
  .hero,.corporate-page-title{overflow:hidden;}
  .section-head{grid-template-columns:1fr!important;align-items:flex-start!important;}
  .grid-3,.tool-grid,.services-grid,.branch-grid,.corporate-access-grid,.hub-grid,.tools-card-grid,.branches-detail-grid,.contact-fast-grid,.why-grid,.philosophy-grid,.about-services-grid{grid-template-columns:1fr!important;}
  .tool-feature-card,.branch-detail-card,.contact-card,.service-card,.info-card,.hub-card,.corporate-access-card{width:100%;max-width:100%;}
  .tool-feature-card img,.branch-detail-img img{width:100%;object-fit:cover;}
  .section-head h2,.cta h2,.corporate-secondary-hero h1{max-width:100%;overflow-wrap:normal;word-break:normal;text-wrap:balance;}
  .section-head p,.cta p,.corporate-secondary-hero p,.tool-feature-content p,.branch-detail-info p,.contact-card p,.service-card p,.info-card p{max-width:100%;overflow-wrap:break-word;word-break:normal;}
}

@media(max-width:430px){
  .nav-links,.nav-links--corporate{left:14px!important;right:14px!important;width:auto!important;}
  .brand img,.brand__logo{width:48px!important;}
  .brand__name{font-size:13px!important;letter-spacing:.16em!important;}
  .brand__branch{font-size:9px!important;letter-spacing:.12em!important;}
  .menu-toggle.menu-toggle--premium{min-width:104px!important;height:43px!important;padding-inline:12px!important;}
  .nav-links a,.nav-links .header-member,.nav-links .header-cta{font-size:11px!important;letter-spacing:.06em!important;}
}

/* =====================================================
   NAV GLOBAL V7 · TIENDA + ZONA SOCIO
   Objetivo: separar navegación informativa de accesos
   de acción, sin usar enlaces específicos de sede en el
   menú principal. Aplica a desktop y móvil desde un solo
   componente global.
===================================================== */
.site-header--corporate .nav-links.nav-links--corporate{
  gap:10px;
  padding:8px;
}

.site-header--corporate .nav-main,
.site-header--corporate .nav-actions{
  display:flex;
  align-items:center;
  gap:6px;
}

.site-header--corporate .nav-main a,
.site-header--corporate .nav-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:0 14px;
  border-radius:999px;
  color:rgba(255,255,255,.94);
  font-size:11px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease,background .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.site-header--corporate .nav-main a:hover,
.site-header--corporate .nav-main a.active,
.site-header--corporate .nav-main a.is-active,
.site-header--corporate .nav-main a[aria-current="page"],
.site-header--corporate .nav-main a[aria-current="true"]{
  color:#fff;
  background:linear-gradient(135deg,rgba(225,6,0,.22),rgba(225,6,0,.08));
  transform:translateY(-1px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}

.site-header--corporate .nav-actions{
  margin-left:2px;
  padding-left:8px;
  border-left:1px solid rgba(255,255,255,.11);
}

.site-header--corporate .nav-actions a::before,
.site-header--corporate .nav-actions a::after{display:none!important;content:none!important;}

.site-header--corporate .header-shop{
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 28px rgba(0,0,0,.20);
}

.site-header--corporate .header-shop:hover{
  border-color:rgba(255,255,255,.30);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
  transform:translateY(-2px);
}

.site-header--corporate .header-member{
  min-height:44px;
  padding:0 18px;
  color:#fff;
  border:1px solid rgba(255,255,255,.20);
  background:linear-gradient(135deg,var(--athletic-red-light),var(--athletic-red) 48%,var(--athletic-red-dark));
  box-shadow:0 14px 34px rgba(225,6,0,.34),inset 0 1px 0 rgba(255,255,255,.16);
}

.site-header--corporate .header-member:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(225,6,0,.44),inset 0 1px 0 rgba(255,255,255,.18);
}

@media(max-width:1260px){
  .site-header--corporate .nav-main a,
  .site-header--corporate .nav-actions a{padding-inline:11px;font-size:10.5px;letter-spacing:.045em;}
  .site-header--corporate .nav-links.nav-links--corporate{gap:6px;}
}

@media(max-width:1100px){
  .site-header--corporate{z-index:30000!important;}
  .site-header--corporate .nav-links.nav-links--corporate{
    position:fixed!important;
    top:84px!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    z-index:31000!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    max-height:calc(100svh - 104px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    padding:18px!important;
    border-radius:28px!important;
    background:
      radial-gradient(circle at 90% 0%,rgba(225,6,0,.25),transparent 35%),
      linear-gradient(180deg,rgba(8,8,10,.985),rgba(0,0,0,.97))!important;
    border:1px solid rgba(255,255,255,.15)!important;
    box-shadow:0 32px 95px rgba(0,0,0,.72),0 0 0 1px rgba(225,6,0,.08) inset!important;
    backdrop-filter:blur(24px)!important;
    transform:translateY(-12px) scale(.985)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .25s ease,transform .25s ease,visibility .25s ease!important;
  }

  .site-header--corporate .nav-links.nav-links--corporate.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
  }

  .site-header--corporate .nav-links.nav-links--corporate::before{
    content:"Menú Athletic";
    padding:4px 4px 14px;
    color:#ffdedc;
    font-size:11px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .site-header--corporate .nav-main,
  .site-header--corporate .nav-actions{
    width:100%;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }

  .site-header--corporate .nav-actions{
    margin:14px 0 0!important;
    padding:16px 0 0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.13)!important;
  }

  .site-header--corporate .nav-main a,
  .site-header--corporate .nav-actions a{
    width:100%!important;
    min-height:50px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:0 16px!important;
    border-radius:18px!important;
    color:#fff!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.028))!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-left:3px solid rgba(225,6,0,.78)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 12px 26px rgba(0,0,0,.24)!important;
  }

  .site-header--corporate .nav-main a::before,
  .site-header--corporate .nav-main a::after,
  .site-header--corporate .nav-actions a::before,
  .site-header--corporate .nav-actions a::after{display:none!important;content:none!important;}

  .site-header--corporate .nav-actions a{
    justify-content:center!important;
    min-height:54px!important;
    font-size:12px!important;
    letter-spacing:.11em!important;
  }

  .site-header--corporate .header-shop{
    border-left:0!important;
    background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
    border-color:rgba(255,255,255,.16)!important;
  }

  .site-header--corporate .header-member{
    border-left:0!important;
    background:linear-gradient(135deg,var(--athletic-red-light),var(--athletic-red) 48%,var(--athletic-red-dark))!important;
    border-color:rgba(255,255,255,.20)!important;
    box-shadow:0 16px 36px rgba(225,6,0,.35)!important;
  }

  .mobile-overlay{z-index:29000!important;}
  .mobile-overlay.is-open{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .menu-toggle.menu-toggle--premium{z-index:32000!important;}
  body.nav-open{overflow:hidden!important;}
}

@media(max-width:430px){
  .site-header--corporate .nav-links.nav-links--corporate{top:78px!important;left:14px!important;right:14px!important;}
  .site-header--corporate .nav-main a,
  .site-header--corporate .nav-actions a{font-size:11px!important;letter-spacing:.065em!important;}
}
