/*
=====================================================
ATHLETIC SECHURA · CSS GLOBAL DOCUMENTADO
Archivo: css/app.min.css (fuente de producción documentada)

Uso:
- Este archivo concentra los estilos de producción del sitio.
- Mantener las clases existentes antes de cambiar HTML.
- Para futuras sedes, modificar primero variables :root, imágenes y textos.
- El componente Hero secundario debe conservar su alineación global.

ÍNDICE GENERAL:
1. Variables, reset y base.
2. Layout global y navegación.
3. Hero principal e intro visual.
4. Secciones home.
5. Hero secundario de páginas internas.
6. Cards, planes, servicios, horarios y contacto.
7. Footer, redes y CTA.
8. Animaciones y responsive.
=====================================================
*/

/* =====================================================
   1. VARIABLES, RESET Y BASE
===================================================== */
:root{
  --color-black:#030303;
  --color-graphite:#0b0d12;
  --color-graphite-2:#141821;
  --color-red:#e10600;
  --color-red-dark:#8f0000;
  --color-red-light:#ff2a2a;
  --color-white:#ffffff;
  --color-muted:rgba(255, 255, 255, .74);
  --color-soft:rgba(255, 255, 255, .90);
  --line:rgba(255, 255, 255, .12);
  --glass:rgba(255, 255, 255, .065);
  --max-width:1180px;
  --radius-sm:16px;
  --radius-md:24px;
  --radius-lg:34px;
  --shadow-dark:0 24px 70px rgba(0, 0, 0, .36);
  --shadow-red:0 22px 56px rgba(225, 6, 0, .28);
}
*{
  box-sizing:border-box;
  margin:0;
  padding:0
}
html{
  scroll-behavior:smooth;
  scroll-padding-top:98px
}
body{
  min-width:320px;
  overflow-x:hidden;
  background:var(--color-black);
  color:var(--color-white);
  font-family:"Inter", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility
}
img, svg{
  display:block;
  max-width:100%
}
a{
  color:inherit;
  text-decoration:none
}
ul{
  list-style:none
}
p, li, span{
  line-height:1.65
}
button, input, textarea, select{
  font:inherit
}
.container{
  width:min(var(--max-width), calc(100% - 40px));
  margin-inline:auto
}
h1, h2, h3, h4{
  color:#fff;
  text-wrap:balance
}
h1,
h2{
  font-family:"Oswald", "Inter", sans-serif;
  text-transform:uppercase
}
h1{
  font-size:clamp(52px, 8vw, 108px);
  font-weight:700;
  line-height:.92;
  letter-spacing:.02em
}
h2{
  font-size:clamp(34px, 4.8vw, 68px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:.015em
}
h3{
  font-size:clamp(22px, 2.4vw, 34px);
  font-weight:800;
  line-height:1.12
}
p{
  color:var(--color-muted);
  font-size:16px
}
.section{
  position:relative;
  padding:104px 0;
  background:linear-gradient(180deg, #050505, #08090d)
}
.section--dark{
  background:radial-gradient(circle at 18% 18%, rgba(225, 6, 0, .12), transparent 31%), linear-gradient(180deg, #030303, #0c0e14)
}
.section-heading{
  max-width:850px;
  margin:0 auto 46px;
  text-align:center
}
.section-heading p{
  max-width:720px;
  margin:18px auto 0;
  font-size:17px
}
.tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin-bottom:16px;
  padding:8px 13px;
  border:1px solid rgba(225, 6, 0, .42);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(225, 6, 0, .22), rgba(255, 255, 255, .055));
  color:#ffd8d8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase
}
.btn,
.footer-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:0 24px;
  border-radius:999px;
  border:1px solid rgba(255, 255, 255, .16);
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.055em;
  text-transform:uppercase;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease
}
.btn:hover,
.footer-btn:hover{
  transform:translateY(-2px)
}
.btn--primary, .footer-btn{
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red) 48%, var(--color-red-dark));
  box-shadow:var(--shadow-red)
}
.btn--ghost{
  background:rgba(255, 255, 255, .07);
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0, 0, 0, .28)
}

.reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease, transform .65s ease
}
.reveal.is-visible{
  opacity:1;
  transform:none
}
/* =====================================================
   8. RESPONSIVE Y AJUSTES POR PANTALLA
===================================================== */
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
  .reveal{
    opacity:1;
    transform:none
  }
}
/* =====================================================
   2. HEADER, NAVBAR Y MENÚ RESPONSIVE
===================================================== */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:1200;
  padding:14px 0;
  background:linear-gradient(180deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .52));
  border-bottom:1px solid rgba(255, 255, 255, .10);
  backdrop-filter:blur(20px);
  box-shadow:0 18px 50px rgba(0, 0, 0, .28);
}
.site-header--branch{
  background:linear-gradient(180deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .54));
}
.nav{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
  min-width:0;
}
.brand__logo{
  width:62px;
  filter:drop-shadow(0 0 18px rgba(225, 6, 0, .30));
}
.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{
  display:flex;
  align-items:center;
  gap:7px;
  padding:8px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:999px;
  background:linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .028));
  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{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 13px;
  border-radius:999px;
  color:rgba(255, 255, 255, .92);
  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{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:var(--color-red-light);
  transform:scaleX(0);
  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-cta{
  padding-inline:18px;
  color:#fff;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red) 48%, var(--color-red-dark));
  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;
}
.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-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-open .menu-toggle__line:nth-child(1){
  top:7px;
  transform:rotate(45deg);
}
.menu-toggle.is-open .menu-toggle__line:nth-child(2){
  opacity:0;
  transform:scaleX(.25);
}
.menu-toggle.is-open .menu-toggle__line:nth-child(3){
  top:7px;
  transform:rotate(-45deg);
}
.mobile-overlay{
  display:none;
}
body.menu-open{
  overflow:hidden;
}
/* =====================================================
   3. HERO PRINCIPAL / HOME
===================================================== */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:142px 0 80px;
  overflow:hidden;
  isolation:isolate;
  background:#030303
}
.hero--sechura::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .84) 34%, rgba(0, 0, 0, .46) 68%, rgba(0, 0, 0, .24) 100%), radial-gradient(circle at 18% 28%, rgba(225, 6, 0, .16), transparent 30%), url("../img/hero/sechura-hero.webp");
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
  animation:heroZoom 14s ease-in-out infinite alternate
}
.hero--sechura::after{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:-2;
  pointer-events:none;
  background:radial-gradient(circle at 76% 44%, rgba(225, 6, 0, .12), transparent 34%);
  animation:heroGlow 10s ease-in-out infinite alternate
}
.hero__bg{
  display:none
}
.hero__content{
  position:relative;
  z-index:2;
  width:min(var(--max-width), calc(100% - 40px));
  margin-inline:auto
}

.hero__lead{
  max-width:680px;
  margin-top:24px;
  color:rgba(255, 255, 255, .94);
  font-size:18px;
  line-height:1.78;
  text-shadow:0 2px 12px rgba(0, 0, 0, .48)
}
.hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px
}


@keyframes heroZoom{
  from{
    transform:scale(1.02) translateX(0)
  }
  to{
    transform:scale(1.07) translateX(-12px)
  }
}
@keyframes heroGlow{
  from{
    opacity:.55;
    transform:scale(1)
  }
  to{
    opacity:1;
    transform:scale(1.04)
  }
}


.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  align-items:center
}


.coach-card small,
.plan-card small,
.map-card small{
  display:inline-flex;
  margin-bottom:10px;
  color:#ffcece;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase
}


.plan-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:380px;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  box-shadow:var(--shadow-dark);
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease
}


.plan-card p{
  margin-bottom:20px;
  color:rgba(255, 255, 255, .82)
}
.plan-card ul{
  margin-bottom:26px
}
.plan-card li{
  position:relative;
  padding-left:22px;
  margin:9px 0;
  color:rgba(255, 255, 255, .84);
  font-size:14px
}
.plan-card li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--color-red-light);
  font-weight:900
}
.plan-card:hover,
.coach-card:hover{
  border-color:rgba(225, 6, 0, .32);
  box-shadow:0 30px 90px rgba(0, 0, 0, .42), 0 0 38px rgba(225, 6, 0, .12);
  transform:translateY(-4px)
}


.coach-card{
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
  background:linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
  box-shadow:var(--shadow-dark);
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease
}
.coach-card img{
  width:100%;
  height:330px;
  object-fit:cover
}
.coach-card div{
  padding:24px
}
.coach-card p{
  margin-top:10px;
  color:rgba(255, 255, 255, .76)
}


.map-card{
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  box-shadow:var(--shadow-dark)
}


.map-card{
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:end;
  min-height:100%;
  background-image:linear-gradient(180deg, rgba(0, 0, 0, .10), rgba(0, 0, 0, .82)), url("../img/pages/ubicacion/sechura-mapa.webp");
  background-size:cover;
  background-position:center
}

.map-card p{
  margin:14px 0 22px;
  color:rgba(255, 255, 255, .84)
}


.footer-social{
  display:flex;
  align-items:center;
  gap:12px
}
.social-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255, 255, 255, .14);
  background:linear-gradient(145deg, rgba(255, 255, 255, .085), rgba(255, 255, 255, .025));
  color:#fff;
  box-shadow:0 16px 38px rgba(0, 0, 0, .28);
  transition:transform .25s ease, background .25s ease, border-color .25s ease
}
.social-icon svg{
  width:22px;
  height:22px
}
.social-icon:hover{
  transform:translateY(-3px);
  border-color:rgba(225, 6, 0, .35);
  background:linear-gradient(135deg, rgba(225, 6, 0, .30), rgba(255, 255, 255, .05))
}


.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:90;
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  border-radius:999px;
  background:#20c45a;
  color:#fff;
  box-shadow:0 18px 42px rgba(0, 0, 0, .34), 0 0 0 8px rgba(32, 196, 90, .10);
  transition:transform .25s ease
}
.whatsapp-float svg{
  width:34px;
  height:34px;
  fill:currentColor
}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.03)
}
.home-premium-page main{
  background:#050505;
}
.home-premium-page .section{
  overflow:hidden;
}
/* =====================================================
   4. SECCIONES DE LA PÁGINA PRINCIPAL
===================================================== */
.home-visual-intro{
  position:relative;
  padding:110px 0;
  background:linear-gradient(180deg, #050505, #08090d);
  overflow:hidden;
}
.home-visual-intro::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 12% 12%, rgba(225, 6, 0, .16), transparent 32%), radial-gradient(circle at 88% 82%, rgba(255, 255, 255, .07), transparent 28%);
  pointer-events:none;
}
.home-visual-intro__grid{
  position:relative;
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:34px;
  align-items:center;
}
.home-visual-intro__media{
  position:relative;
  overflow:hidden;
  min-height:540px;
  border-radius:38px;
  border:1px solid rgba(255, 255, 255, .12);
  box-shadow:0 34px 110px rgba(0, 0, 0, .46);
}
.home-visual-intro__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0, 0, 0, .20), rgba(0, 0, 0, .06));
  pointer-events:none;
}
.home-visual-intro__media img{
  width:100%;
  height:100%;
  min-height:540px;
  object-fit:cover;
  filter:contrast(1.06) saturate(1.05);
}
.home-visual-intro__content{
  padding:42px;
  border-radius:34px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  box-shadow:0 24px 80px rgba(0, 0, 0, .32);
}
.home-visual-intro__content p{
  margin:20px 0 28px;
  font-size:17px;
}
.home-visual-intro__actions, .home-final-cta__actions, .location-highlight__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.home-section-split{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:30px;
  align-items:end;
  margin-bottom:42px;
}
.home-section-split p{
  max-width:680px;
  justify-self:end;
  font-size:17px;
}
.experience-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}
.experience-card{
  position:relative;
  overflow:hidden;
  min-height:450px;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .10);
  background:#101116;
  box-shadow:0 24px 78px rgba(0, 0, 0, .32);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.experience-card img{
  width:100%;
  height:100%;
  min-height:450px;
  object-fit:cover;
  filter:contrast(1.04) saturate(1.05);
  transition:transform .55s ease, filter .35s ease;
}
.experience-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .88));
}
.experience-card div{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
}
.experience-card small{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:14px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red));
  color:#fff;
  font-weight:900;
  box-shadow:0 0 28px rgba(225, 6, 0, .32);
}
.experience-card h3{
  font-family:"Oswald", "Inter", sans-serif;
  text-transform:uppercase;
}
.experience-card p{
  margin-top:10px;
  color:rgba(255, 255, 255, .76);
  font-size:14px;
}
.experience-card:hover{
  transform:translateY(-5px);
  border-color:rgba(225, 6, 0, .34);
  box-shadow:0 34px 96px rgba(0, 0, 0, .44), 0 0 36px rgba(225, 6, 0, .14);
}
.experience-card:hover img{
  transform:scale(1.055);
  filter:contrast(1.1) saturate(1.08);
}
/* =====================================================
   GALERÍA HOME · Sede Sechura
   Estructura estándar: 6 tarjetas equilibradas.
   Si falta una foto real, usar .premium-gallery-item--pending.
===================================================== */
.premium-gallery-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  grid-auto-rows:260px;
  gap:18px;
}
.premium-gallery-item{
  position:relative;
  overflow:hidden;
  grid-column:span 2;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .10);
  background:#101010;
  box-shadow:0 24px 76px rgba(0, 0, 0, .32);
}
.premium-gallery-item--large{
  grid-column:span 3;
  grid-row:span 2;
}
.premium-gallery-item--wide{
  grid-column:span 3;
}
.premium-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:contrast(1.05) saturate(1.05);
  transition:transform .55s ease, filter .35s ease;
}
/* Ajuste puntual · foto Fuerza
   Mantiene el contenedor completamente cubierto para evitar franjas laterales,
   con un encuadre centrado equivalente al de Zona de poleas. */
.premium-gallery-item--fit img{
  object-fit:cover;
  object-position:center center;
  background:transparent;
}
.premium-gallery-item--fit:hover img{
  transform:scale(1.025);
}
.premium-gallery-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .22));
  pointer-events:none;
}
.premium-gallery-item figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-shadow:0 10px 26px rgba(0, 0, 0, .85);
}
.premium-gallery-item:hover img{
  transform:scale(1.045);
  filter:contrast(1.1) saturate(1.08);
}


.route-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.route-card{
  position:relative;
  min-height:190px;
  padding:28px;
  border-radius:28px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 22px 72px rgba(0, 0, 0, .27);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.route-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:radial-gradient(circle at 18% 18%, rgba(225, 6, 0, .18), transparent 38%);
  opacity:.85;
  pointer-events:none;
}
.route-card span, .route-card strong, .route-card em{
  position:relative;
  z-index:1;
  display:block;
}
.route-card span{
  width:max-content;
  margin-bottom:22px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(225, 6, 0, .88);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.route-card strong{
  color:#fff;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:30px;
  line-height:1;
  text-transform:uppercase;
}
.route-card em{
  margin-top:11px;
  color:rgba(255, 255, 255, .72);
  font-style:normal;
}
.route-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225, 6, 0, .32);
  box-shadow:0 30px 90px rgba(0, 0, 0, .40), 0 0 32px rgba(225, 6, 0, .11);
}
.home-stats{
  padding:42px 0;
  background:linear-gradient(180deg, #07080c, #050505);
}
.stats-strip{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  padding:18px;
  border-radius:34px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 26px 86px rgba(0, 0, 0, .34);
}
.stats-strip article{
  padding:28px 18px;
  text-align:center;
  border-radius:24px;
  background:rgba(0, 0, 0, .24);
}
.stats-strip strong{
  display:block;
  color:#fff;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:clamp(44px, 5vw, 72px);
  line-height:1;
  text-shadow:0 0 28px rgba(225, 6, 0, .24);
}
.stats-strip span{
  display:block;
  margin-top:10px;
  color:rgba(255, 255, 255, .72);
  font-weight:700;
}
.quick-access-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}
.quick-card{
  position:relative;
  overflow:hidden;
  min-height:360px;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .10);
  background:#111;
  box-shadow:0 24px 76px rgba(0, 0, 0, .34);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.quick-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  filter:contrast(1.05) saturate(1.04);
  transition:transform .55s ease;
}
.quick-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .90));
}
.quick-card div{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:2;
}
.quick-card h3{
  font-family:"Oswald", "Inter", sans-serif;
  text-transform:uppercase;
}
.quick-card p{
  margin:8px 0 18px;
  color:rgba(255, 255, 255, .75);
}
.quick-card span{
  display:inline-flex;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.quick-card span::after{
  content:"→";
  margin-left:10px;
  color:var(--color-red-light);
}
.quick-card:hover{
  transform:translateY(-4px);
  border-color:rgba(225, 6, 0, .34);
  box-shadow:0 32px 92px rgba(0, 0, 0, .44), 0 0 32px rgba(225, 6, 0, .12);
}
.quick-card:hover img{
  transform:scale(1.055);
}
.home-plans__grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:28px;
  align-items:center;
}
.home-plans__intro{
  padding:38px;
  border-radius:32px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 24px 76px rgba(0, 0, 0, .28);
}
.home-plans__intro p{
  margin:18px 0 26px;
}
.home-plan-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.home-plan-card{
  min-height:340px;
  display:flex;
  flex-direction:column;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 24px 76px rgba(0, 0, 0, .28);
}
.home-plan-card--featured{
  border-color:rgba(225, 6, 0, .36);
  background:radial-gradient(circle at 22% 0, rgba(225, 6, 0, .24), transparent 42%), linear-gradient(145deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .028));
}
.home-plan-card small{
  width:max-content;
  margin-bottom:18px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(225, 6, 0, .84);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
}
.home-plan-card h3{
  font-family:"Oswald", "Inter", sans-serif;
  text-transform:uppercase;
}
.home-plan-card strong{
  margin:16px 0;
  color:#fff;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:62px;
  line-height:1;
  text-shadow:0 0 28px rgba(225, 6, 0, .26);
}
.home-plan-card p{
  margin-top:auto;
  color:rgba(255, 255, 255, .76);
}
.coach-highlight, .location-highlight{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  align-items:center;
}
.coach-highlight{
  padding:18px;
  border-radius:38px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 28px 90px rgba(0, 0, 0, .38);
}
.coach-highlight__image{
  overflow:hidden;
  min-height:480px;
  border-radius:30px;
}
.coach-highlight__image img, .location-highlight__media img{
  width:100%;
  height:100%;
  min-height:480px;
  object-fit:cover;
  filter:contrast(1.05) saturate(1.04);
}
.coach-highlight__content{
  padding:28px 28px 28px 0;
}
.coach-highlight__content p{
  margin:18px 0 28px;
  font-size:17px;
}
.location-highlight__content{
  padding:40px;
  border-radius:34px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .024));
  box-shadow:0 24px 76px rgba(0, 0, 0, .28);
}
.location-highlight__content p{
  margin:18px 0 22px;
}
.location-highlight__hours{
  display:grid;
  gap:10px;
  margin-bottom:28px;
}
.location-highlight__hours span{
  display:block;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(0, 0, 0, .25);
  color:rgba(255, 255, 255, .75);
}
.location-highlight__hours b{
  display:block;
  color:#fff;
}
.location-highlight__media{
  overflow:hidden;
  border-radius:34px;
  border:1px solid rgba(255, 255, 255, .10);
  box-shadow:0 24px 76px rgba(0, 0, 0, .32);
}
.home-final-cta{
  position:relative;
  min-height:560px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#030303;
  isolation:isolate;
}
.home-final-cta__bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .64) 46%, rgba(0, 0, 0, .32)), url("../img/home/home-cables.webp");
  background-size:cover;
  background-position:center;
  filter:contrast(1.08) saturate(1.04);
}
.home-final-cta::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at 15% 25%, rgba(225, 6, 0, .22), transparent 34%), linear-gradient(180deg, rgba(0, 0, 0, .1), #030303 115%);
}
.home-final-cta__content{
  max-width:780px;
  margin-left:max(20px, calc((100vw - var(--max-width))/2));
}
.home-final-cta__content p{
  max-width:670px;
  margin:18px 0 28px;
  font-size:18px;
  color:rgba(255, 255, 255, .84);
}
@media(max-width:1120px){
  .experience-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .premium-gallery-grid{
    grid-template-columns:1fr 1fr;
  }
  .premium-gallery-item--large, .premium-gallery-item--wide{
    grid-column:auto;
    grid-row:auto;
  }
  .quick-access-grid, .route-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .home-plans__grid, .coach-highlight, .location-highlight, .home-visual-intro__grid, .home-section-split{
    grid-template-columns:1fr;
  }
  .home-section-split p{
    justify-self:start;
  }
  .coach-highlight__content{
    padding:12px 20px 28px;
  }
}
@media(max-width:760px){
  .home-visual-intro, .home-premium-page .section{
    padding:74px 0;
  }
  .home-visual-intro__media, .home-visual-intro__media img, .coach-highlight__image, .coach-highlight__image img, .location-highlight__media img{
    min-height:350px;
  }
  .home-visual-intro__content, .home-plans__intro, .location-highlight__content{
    padding:26px;
    border-radius:26px;
  }
  .experience-grid, .quick-access-grid, .route-grid, .home-plan-cards, .stats-strip{
    grid-template-columns:1fr;
  }
  .premium-gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:270px;
  }
  .experience-card, .experience-card img, .quick-card, .quick-card img{
    min-height:330px;
  }
  .stats-strip{
    padding:12px;
    border-radius:26px;
  }
  .stats-strip article{
    padding:22px 14px;
  }
  .home-final-cta{
    min-height:520px;
  }
  .home-final-cta__content{
    margin-inline:auto;
    width:min(var(--max-width), calc(100% - 40px));
  }
  .home-final-cta__actions, .home-visual-intro__actions, .location-highlight__actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .home-final-cta__actions .btn, .home-visual-intro__actions .btn, .location-highlight__actions .btn{
    width:100%;
  }
}
.home-premium-page .section-heading h2, .home-premium-page .home-visual-intro__content h2, .home-premium-page .home-section-split h2, .home-final-cta__content h2{
  text-wrap:balance;
}
.home-premium-page .section-heading p, .home-premium-page .home-visual-intro__content p, .home-final-cta__content p{
  text-wrap:pretty;
}
.home-premium-page .btn{
  white-space:nowrap;
}
.experience-card, .quick-card, .home-plan-card, .route-card, .stats-strip article{
  overflow-wrap:break-word;
}
.home-plan-card small{
  max-width:100%;
  white-space:normal;
}
.location-highlight__hours b{
  white-space:nowrap;
}
@media(max-width:760px){
  .home-premium-page .section-heading{
    margin-bottom:34px;
  }
  .home-premium-page .btn{
    width:100%;
    justify-content:center;
  }
  .home-plan-card strong{
    font-size:56px;
  }
  .location-highlight__hours b{
    white-space:normal;
  }
}
.branch-inner-page main{
  background:#030303;
}
/* =====================================================
   5. HERO SECUNDARIO GLOBAL
   Fuente de verdad para páginas internas.
===================================================== */
.branch-page-hero{
  min-height:78vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
  padding:150px 0 92px;
  background:#050505;
}
.branch-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0, 0, 0, .90), rgba(0, 0, 0, .54) 48%, rgba(0, 0, 0, .22)), var(--hero-bg, url("../img/hero/sechura-hero.webp")) center/cover no-repeat;
  transform:scale(1.02);
}
.branch-page-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  background:linear-gradient(180deg, transparent, #030303);
}
.branch-page-hero__content{
  position:relative;
  z-index:2;
  width:min(var(--max-width), calc(100% - 40px));
  max-width:var(--max-width);
  margin-inline:auto;
}
.branch-page-hero__content h1{
  max-width:820px;
}
.branch-page-hero__content p{
  max-width:680px;
  margin-top:22px;
  font-size:clamp(17px, 2vw, 21px);
  color:rgba(255, 255, 255, .82);
}
.branch-page-hero__actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}
.branch-page-hero--instalaciones{
  --hero-bg:url("../img/home/home-panorama.webp");
}
.branch-page-hero--servicios{
  --hero-bg:url("../img/pages/servicios/sechura-servicios.webp");
}
.branch-page-hero--planes{
  --hero-bg:url("../img/hero/sechura-hero.webp");
}
.branch-page-hero--entrenadores{
  --hero-bg:url("../img/pages/entrenadores/sechura-entrenador-01.webp");
}
.branch-page-hero--ubicacion{
  --hero-bg:url("../img/pages/ubicacion/sechura-mapa.webp");
}
.branch-page-hero--contacto{
  --hero-bg:url("../img/home/home-reception.webp");
}
/* =====================================================
   6. SECCIONES INTERNAS, CARDS Y BLOQUES DE CONTENIDO
===================================================== */
.internal-section{
  padding:108px 0;
  background:linear-gradient(180deg, #030303, #08090d);
}
.internal-section--soft{
  background:radial-gradient(circle at 80% 18%, rgba(225, 6, 0, .12), transparent 34%), linear-gradient(180deg, #07080c, #030303);
}
.internal-section--dark{
  background:radial-gradient(circle at 18% 12%, rgba(225, 6, 0, .16), transparent 32%), linear-gradient(180deg, #030303, #0c0e14);
}
.internal-lead{
  display:grid;
  grid-template-columns:minmax(0, 1.02fr) minmax(0, .98fr);
  gap:48px;
  align-items:center;
}
.internal-lead__media{
  position:relative;
  min-height:520px;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(255, 255, 255, .11);
  box-shadow:0 34px 90px rgba(0, 0, 0, .45);
}
.internal-lead__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}
.internal-lead__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(0, 0, 0, .42));
}
.internal-lead__content h2{
  margin-bottom:20px;
}
.internal-lead__content p{
  font-size:17px;
  margin-bottom:18px;
}
.internal-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:#ffd8d8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.internal-kicker::before{
  content:"";
  width:34px;
  height:2px;
  background:linear-gradient(90deg, var(--color-red), transparent);
}


.editorial-gallery{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:22px;
}
.editorial-gallery__main, .editorial-gallery__stack figure{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
  background:#111;
  box-shadow:0 28px 80px rgba(0, 0, 0, .36);
}
.editorial-gallery__main{
  min-height:620px;
}
.editorial-gallery__stack{
  display:grid;
  gap:22px;
}
.editorial-gallery__stack figure{
  min-height:299px;
}
.editorial-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  transition:transform .65s ease;
}
.editorial-gallery figure:hover img{
  transform:scale(1.045);
}
.editorial-gallery figcaption{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(0, 0, 0, .46);
  backdrop-filter:blur(14px);
  color:#fff;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.editorial-gallery figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, .72));
}
.timeline-premium{
  display:grid;
  gap:16px;
  counter-reset:step;
}
.timeline-item{
  display:grid;
  grid-template-columns:90px 1fr 210px;
  gap:24px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:26px;
  background:rgba(255, 255, 255, .052);
}
.timeline-item::before{
  counter-increment:step;
  content:"0" counter(step);
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red-dark));
  font-family:"Oswald";
  font-size:24px;
  font-weight:800;
  box-shadow:0 18px 40px rgba(225, 6, 0, .26);
}
.timeline-item h3{
  font-size:24px;
  margin-bottom:6px;
}
.timeline-item img{
  width:210px;
  height:132px;
  object-fit:cover;
  border-radius:20px;
  border:1px solid rgba(255, 255, 255, .12);
}


.coach-layout{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
}
.coach-card-premium{
  overflow:hidden;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .035));
  box-shadow:0 24px 70px rgba(0, 0, 0, .30);
}
.coach-card-premium img{
  width:100%;
  height:390px;
  object-fit:cover;
  filter:saturate(1.04) contrast(1.03);
}
.coach-card-premium div{
  padding:26px;
}
.coach-card-premium h3{
  margin-bottom:8px;
}
.coach-card-premium p{
  font-size:15px;
}
.location-premium{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}
.location-card{
  padding:32px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:30px;
  background:rgba(255, 255, 255, .055);
}
.location-card h3{
  margin-bottom:16px;
}
.location-card p, .location-card li{
  color:rgba(255, 255, 255, .78);
}
.location-card ul{
  display:grid;
  gap:12px;
  margin-top:20px;
}
.location-map{
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .12);
  min-height:420px;
  box-shadow:0 30px 80px rgba(0, 0, 0, .36);
}
.location-map img{
  width:100%;
  height:100%;
  object-fit:cover;
}


.faq-premium{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px;
}
.faq-item{
  padding:26px;
  border-radius:24px;
  border:1px solid rgba(255, 255, 255, .10);
  background:rgba(255, 255, 255, .052);
}
.faq-item strong{
  display:block;
  color:#fff;
  margin-bottom:8px;
  font-size:18px;
}
.final-cta-premium{
  position:relative;
  overflow:hidden;
  padding:92px 0;
  border-top:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(90deg, rgba(0, 0, 0, .88), rgba(0, 0, 0, .62)), url("../img/hero/sechura-hero.webp") center/cover no-repeat;
}
.final-cta-premium .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.final-cta-premium h2{
  max-width:720px;
}
.final-cta-premium p{
  max-width:590px;
  margin-top:14px;
}
.final-cta-premium__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media (max-width:980px){
  .branch-page-hero{
    min-height:72vh;
    padding:132px 0 74px;
  }
  .internal-lead,
.editorial-gallery,
.location-premium{
    grid-template-columns:1fr;
  }
  .coach-layout,
.faq-premium{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .timeline-item{
    grid-template-columns:72px 1fr;
  }
  .timeline-item img{
    grid-column:1/-1;
    width:100%;
    height:260px;
  }
  
  
  .final-cta-premium .container{
    align-items:flex-start;
    flex-direction:column;
  }
  .final-cta-premium__actions{
    justify-content:flex-start;
  }
}
@media (max-width:640px){
  .branch-page-hero{
    min-height:68vh;
    padding:116px 0 62px;
  }
  .branch-page-hero__actions, .final-cta-premium__actions{
    width:100%;
  }
  .branch-page-hero__actions .btn, .final-cta-premium__actions .btn{
    width:100%;
  }
  .internal-section{
    padding:76px 0;
  }
  .internal-lead__media{
    min-height:360px;
    border-radius:24px;
  }
  .coach-layout,
.faq-premium{
    grid-template-columns:1fr;
  }
  .editorial-gallery__main{
    min-height:420px;
  }
  .editorial-gallery__stack figure{
    min-height:230px;
  }
  .timeline-item{
    grid-template-columns:1fr;
    gap:14px;
  }
  .timeline-item::before{
    width:56px;
    height:56px;
  }
  
  .coach-card-premium img{
    height:330px;
  }
}
.services-showcase .section-heading{
  margin-bottom:54px;
}
.service-editorial-list{
  display:grid;
  gap:34px;
}
.service-editorial-card{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:34px;
  align-items:stretch;
  min-height:420px;
  padding:18px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .025));
  box-shadow:0 30px 90px rgba(0, 0, 0, .34);
  overflow:hidden;
}
.service-editorial-card--reverse{
  grid-template-columns:minmax(0, 1.08fr) minmax(0, .92fr);
}
.service-editorial-card--reverse figure{
  order:2;
}
.service-editorial-card--reverse div{
  order:1;
}
.service-editorial-card figure{
  position:relative;
  min-height:384px;
  border-radius:26px;
  overflow:hidden;
  background:#101010;
}
.service-editorial-card figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .36));
}
.service-editorial-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
  transform:scale(1.02);
}
.service-editorial-card div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 24px;
}
.service-editorial-card span{
  display:inline-flex;
  margin-bottom:14px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.service-editorial-card h3{
  margin-bottom:16px;
  font-size:clamp(30px, 3.6vw, 52px);
  line-height:.96;
  text-transform:uppercase;
}
.service-editorial-card p{
  max-width:650px;
  color:rgba(255, 255, 255, .76);
  font-size:17px;
}
.service-editorial-card ul{
  display:grid;
  gap:12px;
  margin-top:26px;
  color:rgba(255, 255, 255, .86);
  font-weight:800;
}
.service-editorial-card li{
  position:relative;
  padding-left:23px;
}
.service-editorial-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--color-red);
  box-shadow:0 0 18px rgba(225, 6, 0, .65);
}
.services-path .timeline-item div{
  min-height:190px;
}
.service-focus-strip{
  background:radial-gradient(circle at 50% 0, rgba(225, 6, 0, .14), transparent 36%), linear-gradient(180deg, #050505, #030303);
}
.focus-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.focus-card{
  min-height:220px;
  padding:26px;
  border:1px solid rgba(255, 255, 255, .1);
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
}
.focus-card h3{
  margin-bottom:14px;
  font-size:24px;
}
.focus-card p{
  color:rgba(255, 255, 255, .72);
}
@media (max-width:980px){
  .service-editorial-card, .service-editorial-card--reverse{
    grid-template-columns:1fr;
  }
  .service-editorial-card--reverse figure, .service-editorial-card--reverse div{
    order:initial;
  }
  .service-editorial-card{
    min-height:0;
  }
  .service-editorial-card figure{
    min-height:340px;
  }
  .focus-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:640px){
  .service-editorial-card{
    padding:12px;
    border-radius:28px;
    gap:14px;
  }
  .service-editorial-card figure{
    min-height:260px;
    border-radius:22px;
  }
  .service-editorial-card div{
    padding:20px 10px 12px;
  }
  .service-editorial-card h3{
    font-size:34px;
  }
  .focus-grid{
    grid-template-columns:1fr;
  }
}
.plans-intro-section{
  background:linear-gradient(180deg, #070707, #0b0b0b);
}
.plans-lead .internal-lead__media{
  min-height:520px;
}
.plans-highlight-list{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.plans-highlight-list span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(255, 255, 255, .13);
  border-radius:999px;
  background:rgba(255, 255, 255, .055);
  color:rgba(255, 255, 255, .86);
  font-size:12px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.pricing-featured-grid{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.14fr) minmax(0, .9fr);
  gap:22px;
  align-items:stretch;
}
.pricing-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:590px;
  padding:32px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .028));
  box-shadow:0 28px 80px rgba(0, 0, 0, .34);
  overflow:hidden;
}
.pricing-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0, rgba(225, 6, 0, .16), transparent 38%);
  opacity:.65;
  pointer-events:none;
}
.pricing-card>*{
  position:relative;
  z-index:1;
}
.pricing-card small{
  display:block;
  margin-bottom:16px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.pricing-card h3{
  font-size:clamp(32px, 3.4vw, 52px);
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:18px;
}
.pricing-card strong{
  display:block;
  margin-bottom:18px;
  font-family:"Oswald";
  font-size:clamp(56px, 6vw, 92px);
  line-height:.86;
  color:#fff;
  letter-spacing:-.04em;
}
.pricing-card p{
  color:rgba(255, 255, 255, .74);
  font-size:16px;
}
.pricing-card ul{
  display:grid;
  gap:13px;
  margin:28px 0 32px;
  color:rgba(255, 255, 255, .88);
  font-weight:800;
}
.pricing-card li{
  position:relative;
  padding-left:24px;
}
.pricing-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.6em;
  width:9px;
  height:9px;
  border-radius:999px;
  background:var(--color-red);
  box-shadow:0 0 18px rgba(225, 6, 0, .72);
}
.pricing-card .btn{
  margin-top:auto;
  width:100%;
}
.pricing-card--recommended{
  min-height:650px;
  transform:translateY(-20px);
  border-color:rgba(225, 6, 0, .48);
  background:radial-gradient(circle at 50% -10%, rgba(225, 6, 0, .28), transparent 38%), linear-gradient(180deg, rgba(255, 255, 255, .095), rgba(255, 255, 255, .034));
  box-shadow:0 44px 120px rgba(225, 6, 0, .14), 0 34px 90px rgba(0, 0, 0, .46);
}
.recommended-label{
  position:absolute;
  top:24px;
  right:24px;
  z-index:2;
  padding:9px 13px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red-dark));
  color:#fff;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 16px 34px rgba(225, 6, 0, .30);
}
.plans-mini-table{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-top:8px;
}
.plans-mini-table article{
  padding:24px;
  border:1px solid rgba(255, 255, 255, .1);
  border-radius:26px;
  background:rgba(255, 255, 255, .048);
}
.plans-mini-table span{
  display:block;
  margin-bottom:10px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.plans-mini-table strong{
  display:block;
  margin-bottom:10px;
  font-family:"Oswald";
  font-size:46px;
  color:#fff;
  line-height:1;
}
.plans-mini-table p{
  font-size:15px;
  color:rgba(255, 255, 255, .70);
}
.plan-guide-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.plans-benefit-section{
  background:radial-gradient(circle at 50% 0, rgba(225, 6, 0, .12), transparent 34%), #070707;
}

@media (max-width:980px){
  .pricing-featured-grid{
    grid-template-columns:1fr;
  }
  .pricing-card, .pricing-card--recommended{
    min-height:0;
    transform:none;
  }
  .plans-mini-table, .plan-guide-grid{
    grid-template-columns:1fr;
  }
  .plans-lead .internal-lead__media{
    min-height:380px;
  }
}
@media (max-width:640px){
  .pricing-card{
    padding:26px 22px;
    border-radius:28px;
  }
  .recommended-label{
    position:relative;
    top:auto;
    right:auto;
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:18px;
  }
  .pricing-card strong{
    font-size:64px;
  }
  .plans-mini-table article{
    padding:22px;
  }
}
.pricing-card--compact h3{
  font-size:clamp(30px, 2.55vw, 42px);
  line-height:1;
  letter-spacing:-.03em;
  overflow-wrap:normal;
  word-break:normal;
}
.pricing-card--personal h3{
  font-size:clamp(28px, 2.25vw, 38px);
  letter-spacing:-.045em;
}
.plans-mini-table--two{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}
.plan-guide-grid--premium{
  gap:24px;
  align-items:stretch;
}
.plan-guide-card{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:32px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:32px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03));
  box-shadow:0 28px 80px rgba(0, 0, 0, .30);
}
.plan-guide-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 0, rgba(225, 6, 0, .18), transparent 38%);
  pointer-events:none;
}
.plan-guide-card>*{
  position:relative;
  z-index:1;
}
.plan-guide-card__number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  margin-bottom:28px;
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:18px;
  background:rgba(255, 255, 255, .06);
  font-family:"Oswald";
  font-size:24px;
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255, 255, 255, .04);
}
.plan-guide-card small{
  display:block;
  margin-bottom:14px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.plan-guide-card h3{
  margin-bottom:14px;
  font-size:clamp(28px, 2.55vw, 38px);
  line-height:1.14;
  text-transform:uppercase;
  letter-spacing:-.025em;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.plan-guide-card h3:only-child{
  max-width:100%;
}
.plan-guide-card:nth-child(3) h3{
  font-size:clamp(26px, 2.35vw, 34px);
  line-height:1.18;
}
.plan-guide-card p{
  color:rgba(255, 255, 255, .72);
  font-size:15px;
}
.plan-guide-card strong{
  display:block;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(255, 255, 255, .10);
  color:#fff;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.plan-guide-card--featured{
  border-color:rgba(225, 6, 0, .42);
  background:radial-gradient(circle at 50% -10%, rgba(225, 6, 0, .24), transparent 40%), linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035));
}
.included-experience{
  display:grid;
  grid-template-columns:.95fr 1.35fr;
  gap:24px;
  align-items:stretch;
}
.included-experience__main{
  position:relative;
  overflow:hidden;
  min-height:420px;
  padding:36px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(0, 0, 0, .72), rgba(0, 0, 0, .36)), url("../img/home/home-strength.webp") center/cover no-repeat;
  box-shadow:0 34px 90px rgba(0, 0, 0, .35);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.included-experience__main span{
  margin-bottom:18px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.included-experience__main h3{
  max-width:520px;
  font-size:clamp(34px, 4vw, 56px);
  line-height:.98;
  text-transform:uppercase;
}
.included-experience__main p{
  max-width:500px;
  margin-top:16px;
  color:rgba(255, 255, 255, .76);
}
.included-experience__list{
  display:grid;
  gap:14px;
}
.included-experience__list article{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  padding:24px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:26px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .065), rgba(255, 255, 255, .028));
}
.included-experience__list strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:16px;
  background:rgba(225, 6, 0, .16);
  color:#fff;
  font-family:"Oswald";
  font-size:22px;
}
.included-experience__list h4{
  margin-bottom:6px;
  color:#fff;
  font-size:20px;
  text-transform:uppercase;
}
.included-experience__list p{
  font-size:15px;
  color:rgba(255, 255, 255, .70);
}
@media (max-width:980px){
  .plans-mini-table--two, .included-experience{
    grid-template-columns:1fr;
  }
  .plan-guide-card{
    min-height:0;
  }
}
@media (max-width:640px){
  .pricing-card--compact h3, .pricing-card--personal h3{
    font-size:34px;
  }
  .included-experience__main{
    min-height:360px;
    padding:28px;
  }
  .included-experience__list article{
    grid-template-columns:1fr;
  }
}
.internal-lead--coach .internal-lead__media{
  min-height:560px;
}
.coach-proof-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.coach-proof-strip span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:999px;
  background:rgba(255, 255, 255, .06);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.coach-method-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.coach-method-card{
  position:relative;
  overflow:hidden;
  min-height:335px;
  padding:30px 26px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .032));
  box-shadow:0 24px 70px rgba(0, 0, 0, .25);
}
.coach-method-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 0, rgba(225, 6, 0, .22), transparent 38%);
  pointer-events:none;
}
.coach-method-card>*{
  position:relative;
  z-index:1;
}
.coach-method-card span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:26px;
  border-radius:18px;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red-dark));
  font-family:"Oswald";
  font-size:24px;
  font-weight:900;
  color:#fff;
  box-shadow:0 20px 45px rgba(225, 6, 0, .26);
}
.coach-method-card h3{
  margin-bottom:14px;
  font-size:26px;
}
.coach-method-card p{
  font-size:15px;
  color:rgba(255, 255, 255, .72);
}
.coach-layout--premium .coach-card-premium{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.coach-layout--premium .coach-card-premium div{
  display:flex;
  flex:1;
  flex-direction:column;
}
.coach-layout--premium .coach-card-premium h3{
  font-size:27px;
}
.coach-role{
  display:inline-flex;
  width:max-content;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(225, 6, 0, .15);
  color:#ffd0d0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.coach-card-premium ul{
  display:grid;
  gap:10px;
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(255, 255, 255, .10);
  color:rgba(255, 255, 255, .78);
  font-size:14px;
  font-weight:800;
}
.coach-card-premium li{
  position:relative;
  padding-left:18px;
}
.coach-card-premium li::before{
  content:"";
  position:absolute;
  left:0;
  top:.66em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--color-red);
  box-shadow:0 0 18px rgba(225, 6, 0, .75);
}
.coach-value-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px;
  align-items:center;
  padding:42px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:36px;
  background:radial-gradient(circle at 16% 5%, rgba(225, 6, 0, .19), transparent 34%), linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .034));
  box-shadow:0 34px 90px rgba(0, 0, 0, .30);
}
.coach-value-panel__content h2{
  margin-bottom:18px;
}
.coach-value-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.coach-value-list article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:center;
  min-height:96px;
  padding:18px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:24px;
  background:rgba(255, 255, 255, .052);
}
.coach-value-list strong{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(225, 6, 0, .16);
  color:#ffcdcd;
  font-family:"Oswald";
  font-size:22px;
}
.coach-value-list span{
  color:rgba(255, 255, 255, .82);
  font-size:15px;
  font-weight:800;
  line-height:1.45;
}
.coach-commitment{
  display:grid;
  grid-template-columns:1fr .92fr;
  gap:34px;
  align-items:center;
  padding:34px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:36px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .032));
  box-shadow:0 30px 88px rgba(0, 0, 0, .31);
}
.coach-commitment h2{
  margin:18px 0;
}
.coach-commitment figure{
  position:relative;
  overflow:hidden;
  min-height:420px;
  border-radius:30px;
  border:1px solid rgba(255, 255, 255, .11);
}
.coach-commitment img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.04);
}
.coach-commitment figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent, rgba(0, 0, 0, .30));
}
@media (max-width:980px){
  .coach-method-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .coach-value-panel, .coach-commitment{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .internal-lead--coach .internal-lead__media{
    min-height:380px;
  }
  .coach-proof-strip span{
    width:100%;
    justify-content:center;
  }
  .coach-method-grid, .coach-value-list{
    grid-template-columns:1fr;
  }
  .coach-method-card{
    min-height:280px;
  }
  .coach-value-panel, .coach-commitment{
    padding:24px;
    border-radius:28px;
  }
  .coach-commitment figure{
    min-height:310px;
  }
}
.location-arrival-section{
  background:linear-gradient(180deg, #050505, #090a0f);
}
.location-premium--arrival{
  grid-template-columns:minmax(0, .98fr) minmax(0, 1.02fr);
  gap:30px;
}
.location-card--main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:520px;
  padding:40px;
  background:radial-gradient(circle at 18% 0, rgba(225, 6, 0, .18), transparent 34%), linear-gradient(180deg, rgba(255, 255, 255, .078), rgba(255, 255, 255, .035));
  box-shadow:0 34px 90px rgba(0, 0, 0, .34);
}
.location-card--main h2{
  max-width:620px;
  font-size:clamp(36px, 4vw, 58px);
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:-.035em;
}
.location-info-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  margin:30px 0;
}
.location-info-grid article{
  padding:18px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:20px;
  background:rgba(255, 255, 255, .048);
}
.location-info-grid span{
  display:block;
  margin-bottom:8px;
  color:#ffb4b4;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.location-info-grid strong{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.25;
}
.location-card__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.location-map--premium{
  min-height:520px;
  position:relative;
}
.location-map--premium::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .28));
  pointer-events:none;
}
.location-reference-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.location-reference-card{
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:32px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:32px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03));
  box-shadow:0 28px 80px rgba(0, 0, 0, .26);
}
.location-reference-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 24% 0, rgba(225, 6, 0, .20), transparent 38%);
  pointer-events:none;
}
.location-reference-card>*{
  position:relative;
  z-index:1;
}
.location-reference-card span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:28px;
  border-radius:18px;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red-dark));
  font-family:"Oswald";
  font-size:24px;
  font-weight:900;
  color:#fff;
  box-shadow:0 20px 45px rgba(225, 6, 0, .26);
}
.location-reference-card h3{
  margin-bottom:16px;
  font-size:clamp(28px, 3vw, 42px);
  text-transform:uppercase;
  letter-spacing:-.025em;
}
.location-reference-card p{
  font-size:15px;
  color:rgba(255, 255, 255, .72);
}
.visit-prep-layout{
  display:grid;
  grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr);
  gap:26px;
  align-items:stretch;
}
.visit-prep-card{
  min-height:480px;
  padding:38px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(0, 0, 0, .74), rgba(0, 0, 0, .34)), url("../img/home/home-reception.webp") center/cover no-repeat;
  box-shadow:0 34px 90px rgba(0, 0, 0, .36);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.visit-prep-card h2{
  font-size:clamp(36px, 4.3vw, 62px);
  line-height:.97;
  text-transform:uppercase;
  letter-spacing:-.04em;
}
.visit-prep-card p{
  max-width:560px;
  margin:18px 0 28px;
  color:rgba(255, 255, 255, .78);
}
.visit-checklist{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.visit-checklist article{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  padding:26px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .068), rgba(255, 255, 255, .03));
}
.visit-checklist strong{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:17px;
  background:rgba(225, 6, 0, .16);
  font-family:"Oswald";
  font-size:23px;
  color:#fff;
}
.visit-checklist h3{
  margin-bottom:8px;
  font-size:22px;
  text-transform:uppercase;
}
.visit-checklist p{
  font-size:15px;
  color:rgba(255, 255, 255, .70);
}
.schedule-section{
  background:linear-gradient(180deg, #070707, #030303);
}


.internal-lead--location .internal-lead__media{
  min-height:560px;
}
.final-cta-premium--location{
  background:linear-gradient(135deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .40)), url("../img/home/home-panorama.webp") center/cover no-repeat;
}
@media (max-width:980px){
  .location-premium--arrival, .visit-prep-layout{
    grid-template-columns:1fr;
  }
  .location-reference-grid{
    grid-template-columns:1fr;
  }
  .location-card--main, .location-map--premium, .visit-prep-card, .internal-lead--location .internal-lead__media{
    min-height:390px;
  }
}
@media (max-width:640px){
  .location-card--main, .visit-prep-card{
    padding:28px;
    border-radius:28px;
  }
  .location-info-grid, .visit-checklist{
    grid-template-columns:1fr;
  }
  .visit-checklist article{
    grid-template-columns:1fr;
  }
  .location-reference-card{
    min-height:0;
    padding:26px;
  }
  
  .location-card__actions .btn{
    width:100%;
  }
}
.contact-quick-section{
  background:radial-gradient(circle at 12% 4%, rgba(225, 6, 0, .15), transparent 34%), linear-gradient(180deg, #030303, #08090d);
}
.contact-quick-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.contact-quick-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:330px;
  padding:28px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03));
  box-shadow:0 26px 80px rgba(0, 0, 0, .28);
  overflow:hidden;
}
.contact-quick-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 22% 0, rgba(225, 6, 0, .18), transparent 38%);
  pointer-events:none;
}
.contact-quick-card>*{
  position:relative;
  z-index:1;
}
.contact-quick-card span{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin-bottom:28px;
  border-radius:18px;
  background:linear-gradient(135deg, var(--color-red-light), var(--color-red-dark));
  font-family:"Oswald";
  font-size:23px;
  font-weight:900;
  color:#fff;
  box-shadow:0 18px 42px rgba(225, 6, 0, .25);
}
.contact-quick-card h3{
  margin-bottom:14px;
  font-size:clamp(25px, 2.5vw, 34px);
  text-transform:uppercase;
  letter-spacing:-.025em;
}
.contact-quick-card p{
  margin-bottom:22px;
  color:rgba(255, 255, 255, .72);
  font-size:15px;
}
.contact-quick-card strong{
  display:block;
  margin-top:auto;
  color:#fff;
  font-size:15px;
  line-height:1.35;
}
.contact-quick-card a{
  display:inline-flex;
  width:max-content;
  margin-top:22px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
  text-decoration:none;
  border-bottom:2px solid var(--color-red);
}
.contact-conversion-panel{
  display:grid;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
  gap:30px;
  align-items:stretch;
}
.contact-conversion-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:590px;
  padding:42px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:36px;
  background:linear-gradient(135deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .34)), url("../img/home/home-reception.webp") center/cover no-repeat;
  box-shadow:0 34px 90px rgba(0, 0, 0, .36);
  overflow:hidden;
}
.contact-conversion-copy h2{
  max-width:720px;
  margin-bottom:18px;
  font-size:clamp(36px, 4.4vw, 64px);
  line-height:.96;
  text-transform:uppercase;
  letter-spacing:-.04em;
}
.contact-conversion-copy p{
  max-width:620px;
  color:rgba(255, 255, 255, .78);
  font-size:17px;
}
.contact-mini-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:34px;
}
.contact-mini-grid article{
  padding:18px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:20px;
  background:rgba(0, 0, 0, .34);
  backdrop-filter:blur(12px);
}
.contact-mini-grid strong{
  display:block;
  margin-bottom:8px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.contact-mini-grid span{
  display:block;
  color:rgba(255, 255, 255, .68);
  font-size:13px;
  line-height:1.45;
}
.contact-premium-form{
  display:grid;
  gap:18px;
  padding:34px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:36px;
  background:radial-gradient(circle at 80% 0, rgba(225, 6, 0, .17), transparent 36%), linear-gradient(180deg, rgba(255, 255, 255, .074), rgba(255, 255, 255, .032));
  box-shadow:0 34px 90px rgba(0, 0, 0, .32);
}
.contact-premium-form label{
  display:grid;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.contact-premium-form input, .contact-premium-form select, .contact-premium-form textarea{
  width:100%;
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:18px;
  background:rgba(0, 0, 0, .34);
  color:#fff;
  font:inherit;
  font-size:15px;
  letter-spacing:0;
  text-transform:none;
  outline:none;
  padding:16px 18px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.contact-premium-form textarea{
  resize:vertical;
  min-height:150px;
}
.contact-premium-form input:focus, .contact-premium-form select:focus, .contact-premium-form textarea:focus{
  border-color:rgba(225, 6, 0, .72);
  box-shadow:0 0 0 4px rgba(225, 6, 0, .13);
  background:rgba(0, 0, 0, .48);
}
.contact-premium-form select option{
  background:#111;
  color:#fff;
}
.contact-premium-form .btn{
  width:max-content;
  border:0;
  cursor:pointer;
}
.contact-premium-form>p{
  margin:0;
  color:rgba(255, 255, 255, .58);
  font-size:13px;
}
.social-contact-section{
  background:linear-gradient(180deg, #07080c, #030303);
}
.social-premium-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
}
.social-premium-card{
  position:relative;
  overflow:hidden;
  min-height:300px;
  padding:32px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:32px;
  background:linear-gradient(180deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .03));
  box-shadow:0 28px 80px rgba(0, 0, 0, .26);
  text-decoration:none;
  color:#fff;
  transition:transform .22s ease, border-color .22s ease;
}
.social-premium-card:hover{
  transform:translateY(-5px);
  border-color:rgba(225, 6, 0, .42);
}
.social-premium-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 24% 0, rgba(225, 6, 0, .18), transparent 38%);
  pointer-events:none;
}
.social-premium-card>*{
  position:relative;
  z-index:1;
}
.social-premium-card span{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin-bottom:30px;
  border-radius:22px;
  background:rgba(225, 6, 0, .16);
  font-family:"Oswald";
  font-size:26px;
  font-weight:900;
  letter-spacing:.04em;
  color:#ffd2d2;
}
.social-premium-card h3{
  margin-bottom:14px;
  font-size:clamp(30px, 3vw, 44px);
  text-transform:uppercase;
}
.social-premium-card p{
  color:rgba(255, 255, 255, .72);
}
.contact-location-summary .location-card--main{
  min-height:520px;
}
.final-cta-premium--contacto{
  background:linear-gradient(90deg, rgba(0, 0, 0, .86), rgba(0, 0, 0, .48)), url("../img/home/home-panorama.webp") center/cover no-repeat;
}
@media (max-width:980px){
  .contact-quick-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .contact-conversion-panel{
    grid-template-columns:1fr;
  }
  .contact-conversion-copy{
    min-height:440px;
  }
  .contact-mini-grid, .social-premium-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .contact-quick-grid{
    grid-template-columns:1fr;
  }
  .contact-quick-card, .social-premium-card{
    min-height:0;
    padding:26px;
    border-radius:28px;
  }
  .contact-conversion-copy, .contact-premium-form{
    padding:26px;
    border-radius:28px;
  }
  .contact-conversion-copy{
    min-height:390px;
  }
  .contact-mini-grid{
    grid-template-columns:1fr;
  }
  .contact-premium-form .btn{
    width:100%;
  }
}
.branch-inner-page .branch-page-hero__content{
  padding-inline:0;
}
.branch-inner-page .branch-page-hero__content h1{
  font-size:clamp(46px, 7.2vw, 96px);
  line-height:.92;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.branch-inner-page .branch-page-hero__content p, .internal-section .section-heading p, .final-cta-premium p{
  text-wrap:pretty;
}
.branch-inner-page .section-heading{
  max-width:920px;
}
.branch-inner-page .section-heading h2{
  text-wrap:balance;
}
.branch-inner-page .btn{
  white-space:nowrap;
}
.branch-inner-page img{
  max-width:100%;
}
.service-editorial-card,
.pricing-card,
.included-experience__list article,
.coach-method-card,
.coach-card-premium,
.location-reference-card,
.contact-quick-card,
.social-premium-card,
.faq-item{
  overflow-wrap:break-word;
}
.location-highlight__hours b,
.location-info-grid strong,
.contact-quick-card strong{
  white-space:nowrap;
}
.final-cta-premium .btn, .branch-page-hero__actions .btn, .location-card__actions .btn{
  flex:0 0 auto;
}
.final-cta-premium__actions{
  align-items:center;
}
@media (max-width:980px){
  .branch-inner-page .branch-page-hero__content h1{
    font-size:clamp(42px, 10vw, 74px);
  }
  .internal-section{
    padding:86px 0;
  }
  .final-cta-premium .container{
    align-items:flex-start;
    flex-direction:column;
  }
  .final-cta-premium__actions{
    justify-content:flex-start;
  }
}
@media (max-width:640px){
  .branch-page-hero{
    min-height:70vh;
    padding:124px 0 66px;
  }
  .branch-inner-page .branch-page-hero__content{
    width:min(var(--max-width), calc(100% - 32px));
  }
  .branch-inner-page .branch-page-hero__content h1{
    font-size:clamp(38px, 13vw, 58px);
    letter-spacing:-.045em;
  }
  .branch-page-hero__content p{
    font-size:16px;
    line-height:1.62;
  }
  .branch-page-hero__actions, .final-cta-premium__actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .branch-page-hero__actions .btn, .final-cta-premium__actions .btn, .location-card__actions .btn{
    width:100%;
    justify-content:center;
  }
  .internal-section{
    padding:74px 0;
  }
  .internal-lead__media, .editorial-gallery__main, .editorial-gallery__stack figure{
    border-radius:26px;
  }
  .timeline-item{
    gap:18px;
    padding:18px;
    border-radius:22px;
  }
  .timeline-item::before{
    width:56px;
    height:56px;
    font-size:21px;
  }
  
  .location-highlight__hours b,
.location-info-grid strong,
.contact-quick-card strong{
    white-space:normal;
  }
  
}
.contact-location-summary .location-card--main{
  min-width:0;
  overflow:hidden;
}
.contact-location-summary .location-info-grid{
  grid-template-columns:1fr;
  gap:12px;
}
.contact-location-summary .location-info-grid article{
  min-width:0;
}
.contact-location-summary .location-info-grid strong{
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  line-height:1.42;
}
@media (max-width:980px){
  .contact-location-summary{
    grid-template-columns:1fr;
  }
}
/* =====================================================
   7. FOOTER, REDES Y CTA FINALES
===================================================== */
.site-footer{
  position:relative;
  background:radial-gradient(circle at 12% 0%, rgba(225, 6, 0, .16), transparent 28%), linear-gradient(180deg, #050505, #020202);
  border-top:1px solid rgba(255, 255, 255, .10)
}
.footer-main{
  display:grid;
  grid-template-columns:1.45fr .7fr .7fr 1.1fr;
  gap:32px;
  padding:64px 0 44px
}
.footer-logo{
  width:150px;
  margin-bottom:20px;
  filter:drop-shadow(0 0 18px rgba(225, 6, 0, .30))
}
.footer-brand p, .footer-contact p{
  color:rgba(255, 255, 255, .72);
  font-size:14px
}
.footer-brand p{
  max-width:420px;
  margin-bottom:22px
}
.footer-col h4, .footer-contact h4{
  margin-bottom:17px;
  color:#fff;
  font-size:14px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase
}
.footer-col a, .footer-link{
  display:block;
  width:max-content;
  margin:10px 0;
  color:rgba(255, 255, 255, .70);
  font-size:14px;
  transition:color .25s ease, transform .25s ease
}
.footer-col a:hover, .footer-link:hover{
  color:#fff;
  transform:translateX(3px)
}
.footer-btn{
  margin:18px 0 10px
}
.footer-bottom{
  border-top:1px solid rgba(255, 255, 255, .09);
  background:rgba(0, 0, 0, .34)
}
.footer-bottom-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  color:rgba(255, 255, 255, .62);
  font-size:13px
}
.footer-admin-access{
  color:#fff;
  font-weight:800
}
:root{
  --sechura-red:#e10600;
  --sechura-red-light:#ff2a2a;
  --sechura-red-dark:#8f0000;
  --sechura-blue:#292b86;
  --sechura-bg:#050505;
  --sechura-panel:rgba(255, 255, 255, .065);
  --sechura-panel-soft:rgba(255, 255, 255, .028);
  --sechura-line:rgba(255, 255, 255, .12);
  --sechura-muted:rgba(255, 255, 255, .74);
  --sechura-radius:30px;
  --sechura-shadow:0 28px 84px rgba(0, 0, 0, .36);
}
html{
  scroll-padding-top:96px;
}
body.sechura-page.menu-open{
  overflow:hidden;
}
.sechura-page .section{
  overflow:hidden;
}

.site-header--branch{
  padding:14px 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);
}
.site-header--branch .nav{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.brand--branch{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:max-content;
}
.brand--branch .brand__logo{
  width:68px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 0 18px rgba(225, 6, 0, .32));
}

.nav-links--branch{
  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);
  box-shadow:0 10px 26px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .04);
}
.nav-links--branch 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;
}
.nav-links--branch a::before{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:7px;
  height:2px;
  border-radius:999px;
  background:var(--sechura-red-light);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .25s ease;
}
.nav-links--branch a:hover{
  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--branch a:hover::before{
  transform:scaleX(1);
}
.nav-links--branch .header-cta{
  min-height:44px;
  padding:0 18px;
  color:#fff;
  background:linear-gradient(135deg, var(--sechura-red-light), var(--sechura-red) 48%, var(--sechura-red-dark));
  border:1px solid rgba(255, 255, 255, .18);
  box-shadow:0 14px 34px rgba(225, 6, 0, .34);
}
.nav-links--branch .header-cta::before{
  display:none;
}
.hero--sechura{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:142px 0 80px;
  background:#030303;
  isolation:isolate;
  overflow:hidden;
}
.hero--sechura::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .84) 33%, rgba(0, 0, 0, .46) 68%, rgba(0, 0, 0, .24) 100%), radial-gradient(circle at 18% 28%, rgba(225, 6, 0, .16), transparent 30%), url("../img/hero/sechura-hero.webp");
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
  animation:sechuraHeroZoom 14s ease-in-out infinite alternate;
}
.hero--sechura::after{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:-2;
  pointer-events:none;
  background:radial-gradient(circle at 76% 44%, rgba(225, 6, 0, .12), transparent 34%);
  animation:sechuraGlow 10s ease-in-out infinite alternate;
}
.hero--sechura .hero__bg{
  display:none;
}
.hero--sechura .hero__content{
  position:relative;
  z-index:2;
  width:min(1180px, calc(100% - 40px));
  margin-inline:auto;
}

.hero-badge{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  padding:9px 14px;
  border:1px solid rgba(225, 6, 0, .42);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(145deg, rgba(0, 0, 0, .54), rgba(255, 255, 255, .055));
  backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(0, 0, 0, .28), 0 0 22px rgba(225, 6, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .08);
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-badge__dot{
  width:8px;
  height:8px;
  display:inline-block;
  border-radius:50%;
  background:var(--sechura-red-light);
  box-shadow:0 0 0 5px rgba(225, 6, 0, .14), 0 0 18px rgba(225, 6, 0, .70);
}
.hero--sechura .hero-title{
  max-width:760px;
  margin:0;
  font-family:"Oswald", "Inter", sans-serif;
  text-transform:uppercase;
  text-shadow:0 10px 36px rgba(0, 0, 0, .74), 0 0 1px rgba(255, 255, 255, .28);
}
.hero-title span, .hero-title small, .hero-title strong, .hero-title em{
  display:block;
  font-style:normal;
  line-height:.91;
  letter-spacing:.018em;
}
.hero-title span{
  color:#fff;
  font-size:clamp(46px, 5.9vw, 86px);
  font-weight:700;
}
.hero-title small{
  margin-top:6px;
  color:rgba(255, 255, 255, .88);
  font-size:clamp(24px, 2.8vw, 42px);
  font-weight:700;
  letter-spacing:.22em;
}
.hero-title strong{
  color:#fff;
  font-size:clamp(70px, 8vw, 126px);
  font-weight:700;
  letter-spacing:.01em;
}
.hero-title em{
  color:#fff;
  font-size:clamp(54px, 6.6vw, 96px);
  font-weight:700;
}
.hero-accent{
  display:block;
  width:118px;
  height:4px;
  margin:20px 0 0;
  border-radius:999px;
  background:linear-gradient(90deg, var(--sechura-red-light), var(--sechura-red-dark));
  box-shadow:0 0 22px rgba(225, 6, 0, .42);
}
.hero--sechura .hero__lead{
  max-width:620px;
  margin-top:22px;
  color:rgba(255, 255, 255, .94);
  font-size:18px;
  line-height:1.7;
  text-shadow:0 2px 12px rgba(0, 0, 0, .48);
}


.hero--sechura .hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:34px;
}
.hero--sechura .btn{
  min-height:56px;
  padding:0 28px;
}
@keyframes sechuraHeroZoom{
  from{
    transform:scale(1.02) translateX(0)
  }
  to{
    transform:scale(1.07) translateX(-12px)
  }
}
@keyframes sechuraGlow{
  from{
    opacity:.55;
    transform:scale(1)
  }
  to{
    opacity:1;
    transform:scale(1.04)
  }
}


.split{
  gap:42px;
}


.plan-card,
.coach-card{
  transform:translateZ(0);
}
.plan-card:hover,
.coach-card:hover{
  border-color:rgba(225, 6, 0, .32);
  box-shadow:0 30px 90px rgba(0, 0, 0, .42), 0 0 38px rgba(225, 6, 0, .12);
}


.coach-card{
  position:relative;
  overflow:hidden;
  min-height:460px;
  border-radius:28px;
  border:1px solid rgba(255, 255, 255, .10);
  background:linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .025));
  box-shadow:0 24px 70px rgba(0, 0, 0, .28);
}
.coach-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, .86) 100%);
}
.coach-card img{
  width:100%;
  height:100%;
  min-height:460px;
  object-fit:cover;
  transition:transform .8s ease, filter .8s ease;
}
.coach-card:hover img{
  transform:scale(1.08);
  filter:contrast(1.08) saturate(1.08);
}
.coach-card div{
  position:absolute;
  left:24px;
  right:24px;
  bottom:26px;
  z-index:2;
  padding:0;
}
.coach-card small{
  display:inline-flex;
  margin-bottom:12px;
  padding:7px 10px;
  border-radius:999px;
  color:#fff;
  background:rgba(225, 6, 0, .84);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.coach-card h3{
  margin-bottom:10px;
  font-family:"Oswald", sans-serif;
  font-size:34px;
  line-height:1.05;
  text-transform:uppercase;
}
.coach-card p{
  color:rgba(255, 255, 255, .84);
  line-height:1.65;
}


.map-card{
  min-height:100%;
  border-radius:30px;
  background-image:linear-gradient(180deg, rgba(0, 0, 0, .08), rgba(0, 0, 0, .86)), url("../img/pages/ubicacion/sechura-mapa.webp");
  background-position:center;
  background-size:cover;
}


.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:90;
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  border-radius:999px;
  background:linear-gradient(145deg, #ff2a2a, #e10600 54%, #8f0000);
  color:#fff;
  box-shadow:0 18px 42px rgba(0, 0, 0, .34), 0 0 0 8px rgba(225, 6, 0, .12), 0 0 26px rgba(225, 6, 0, .24);
  transition:transform .25s ease;
}
.whatsapp-float svg{
  width:34px;
  height:34px;
  fill:currentColor;
}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.03);
}
.site-footer--branch{
  overflow:hidden;
}
.footer-main--branch{
  grid-template-columns:1.45fr .7fr .7fr 1.1fr;
}
.footer-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.social-icon,
.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:#fff;
  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, color .25s ease;
}
.social-icon::before,
.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);
}
.social-icon svg,
.footer-social .social-icon svg{
  width:26px;
  height:26px;
  display:block;
  filter:drop-shadow(0 4px 8px rgba(0, 0, 0, .28));
}
.social-icon.facebook,
.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);
}
.social-icon.instagram,
.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);
}
.social-icon.tiktok,
.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);
}

.social-icon:hover,
.footer-social .social-icon:hover{
  border-color:rgba(255, 255, 255, .28);
  color:#fff;
  transform:translateY(-3px) scale(1.05);
}
@media(max-width:1100px){
  .nav-links--branch{
    border-radius:26px;
  }
  .nav-links--branch a::before{
    display:none;
  }
  
  .split{
    grid-template-columns:1fr;
  }
  
  .footer-main--branch{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:720px){
  .site-header--branch{
    padding:10px 0;
    background:linear-gradient(180deg, rgba(0, 0, 0, .92), rgba(0, 0, 0, .34));
  }
  .brand--branch .brand__logo{
    width:56px;
  }
  .menu-toggle{
    display:inline-flex;
  }
  .hero--sechura{
    min-height:100svh;
    align-items:stretch;
    padding:90px 0 22px;
    background:#030303;
  }
  .hero--sechura::before{
    z-index:-3;
    background-image:linear-gradient(180deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .46) 26%, rgba(0, 0, 0, .10) 50%, rgba(0, 0, 0, .34) 72%, rgba(0, 0, 0, .94) 100%), radial-gradient(circle at 50% 18%, rgba(225, 6, 0, .16), transparent 34%), url("../img/hero/sechura-hero-movil.webp");
    background-position:center top;
    background-size:cover;
    animation:none;
  }
  .hero--sechura::after{
    display:none;
  }
  .hero--sechura .hero__content{
    width:calc(100% - 28px);
    min-height:calc(100svh - 112px);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-inline:auto;
  }
  
  .hero-badge{
    margin:0 0 12px;
    padding:7px 11px;
    font-size:10px;
    letter-spacing:.18em;
    background:rgba(0, 0, 0, .48);
    backdrop-filter:blur(12px);
  }
  .hero-badge__dot{
    width:7px;
    height:7px;
  }
  .hero--sechura .hero-title{
    max-width:350px;
  }
  .hero-title span{
    font-size:clamp(32px, 9.2vw, 43px);
  }
  .hero-title small{
    margin-top:4px;
    font-size:clamp(16px, 4.6vw, 22px);
    letter-spacing:.20em;
  }
  .hero-title strong{
    font-size:clamp(50px, 14vw, 64px);
  }
  .hero-title em{
    font-size:clamp(39px, 11vw, 52px);
  }
  .hero-accent{
    width:86px;
    height:3px;
    margin-top:13px;
  }
  .hero--sechura .hero__lead{
    max-width:330px;
    margin-top:12px;
    font-size:13.7px;
    line-height:1.46;
    color:rgba(255, 255, 255, .92);
    text-shadow:0 4px 18px rgba(0, 0, 0, .70);
  }
  .hero--sechura .hero__lead br{
    display:none;
  }
  
  
  
  .hero--sechura .hero__actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:auto;
    padding-top:24px;
  }
  .hero--sechura .btn{
    width:100%;
    min-height:50px;
    padding:0 18px;
    font-size:11px;
    letter-spacing:.12em;
  }
}
@media(max-width:720px){
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  .plan-card{
    min-height:auto;
    padding:26px;
    border-radius:26px;
  }
  
  
  .coach-card{
    min-height:390px;
    border-radius:26px;
  }
  .coach-card img{
    min-height:390px;
  }
  
  
}
@media(max-width:720px){
  
  
  
  
  
  
  
  
  
  
  .map-card{
    min-height:520px;
    border-radius:26px;
  }
  
  
  
  
  
  
  .footer-main--branch{
    grid-template-columns:1fr;
    gap:30px;
    padding-bottom:46px;
  }
  .footer-bottom-content{
    align-items:flex-start;
    text-align:left;
  }
  .whatsapp-float{
    right:16px;
    bottom:16px;
    width:56px;
    height:56px;
  }
}
@media(max-width:430px){
  .hero-title span{
    font-size:clamp(30px, 9vw, 38px);
  }
  .hero-title small{
    font-size:clamp(15px, 4.4vw, 20px);
  }
  .hero-title strong{
    font-size:clamp(46px, 13.4vw, 58px);
  }
  .hero-title em{
    font-size:clamp(36px, 10.5vw, 48px);
  }
  .hero--sechura .hero__lead{
    font-size:13.2px;
  }
  
  .section-heading h2{
    font-size:32px;
  }
  .social-icon{
    width:46px;
    height:46px;
  }
}
@media (max-width:720px){
  .nav-links--branch a:not(.header-cta){
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:48px;
    padding:0 18px;
    margin:0;
    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(--sechura-red);
    border-radius:14px;
    box-shadow:0 8px 22px rgba(0, 0, 0, .28);
    backdrop-filter:blur(10px);
  }
  .nav-links--branch a:not(.header-cta):hover, .nav-links--branch a:not(.header-cta):focus{
    background:linear-gradient(180deg, rgba(30, 30, 30, .90), rgba(15, 15, 15, .78));
    border-color:rgba(255, 255, 255, .18);
    color:#fff;
  }
}
.branch-inner-page{
  background:#050505;
  color:#fff;
}
.branch-page-hero{
  position:relative;
  min-height:72svh;
  display:flex;
  align-items:center;
  padding:144px 0 82px;
  background:#030303;
  overflow:hidden;
  isolation:isolate;
}
.branch-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .30)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/hero/sechura-hero.webp");
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
}
.branch-page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg, rgba(0, 0, 0, .18), #050505 100%);
  pointer-events:none;
}
.branch-page-hero--instalaciones::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .74) 42%, rgba(0, 0, 0, .30)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/home/home-strength.webp");
}
.branch-page-hero--planes::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .34)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/hero/sechura-hero.webp");
}
.branch-page-hero--servicios::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .34)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/hero/sechura-hero.webp");
}
.branch-page-hero--entrenadores::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .34)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/pages/entrenadores/sechura-entrenador-01.webp");
}
.branch-page-hero--ubicacion::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .34)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/pages/ubicacion/sechura-mapa.webp");
}
.branch-page-hero--contacto::before{
  background-image:linear-gradient(90deg, rgba(0, 0, 0, .96), rgba(0, 0, 0, .78) 42%, rgba(0, 0, 0, .34)), radial-gradient(circle at 18% 22%, rgba(225, 6, 0, .18), transparent 34%), url("../img/hero/sechura-hero.webp");
}
.branch-page-hero__content{
  max-width:760px;
}
.branch-page-hero h1{
  margin:0;
  color:#fff;
  font-family:"Oswald", sans-serif;
  font-size:clamp(48px, 7vw, 104px);
  line-height:.95;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-shadow:0 16px 42px rgba(0, 0, 0, .70);
}
.branch-page-hero p{
  max-width:660px;
  margin:22px 0 0;
  color:rgba(255, 255, 255, .86);
  font-size:18px;
  line-height:1.72;
  text-shadow:0 4px 16px rgba(0, 0, 0, .55);
}
.branch-page-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
}


@media(max-width:720px){
  .branch-page-hero{
    min-height:68svh;
    padding:112px 0 54px;
  }
  .branch-page-hero::before{
    background-image:linear-gradient(180deg, rgba(0, 0, 0, .80), rgba(0, 0, 0, .38) 42%, rgba(0, 0, 0, .92)), radial-gradient(circle at 50% 18%, rgba(225, 6, 0, .18), transparent 34%), url("../img/hero/sechura-hero-movil.webp");
    background-position:center top;
  }
  .branch-page-hero h1{
    font-size:clamp(38px, 11vw, 58px);
    max-width:380px;
  }
  .branch-page-hero p{
    max-width:360px;
    font-size:14px;
    line-height:1.55;
  }
  .branch-page-hero__actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .branch-page-hero__actions .btn{
    width:100%;
  }
  
  
  
  
  
  
  
  
}
@media (max-width:1100px){
  .site-header{
    z-index:1200;
    padding:10px 0;
  }
  .nav{
    min-height:62px;
  }
  .menu-toggle{
    display:inline-flex;
    position:relative;
    z-index:1230;
  }
  .nav-links{
    position:fixed;
    top:84px;
    left:auto;
    right:20px;
    width:min(360px, calc(100vw - 40px));
    z-index:1220;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:18px;
    border-radius:26px;
    background:rgba(5, 5, 5, .98);
    border:1px solid rgba(255, 255, 255, .13);
    box-shadow:0 28px 80px rgba(0, 0, 0, .62), 0 0 0 1px rgba(225, 6, 0, .08) inset;
    backdrop-filter:blur(22px);
    transform:translateY(-12px) scale(.98);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, transform .25s ease, visibility .25s ease;
  }
  .nav-links.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .nav-links a{
    width:100%;
    min-height:48px;
    justify-content:flex-start;
    padding:0 18px;
    border-radius:16px;
  }
  .nav-links .header-cta{
    justify-content:center;
    margin-top:4px;
  }
  .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;
  }
}
@media (max-width:720px){
  html{
    scroll-padding-top:82px;
  }
  .container{
    width:min(100% - 28px, var(--max-width));
  }
  .section{
    padding:76px 0;
  }
  .section-heading{
    text-align:left;
    margin-bottom:32px;
  }
  .section-heading p{
    margin-left:0;
  }
  .brand__identity{
    gap:3px;
  }
  .brand__name{
    font-size:15px;
    letter-spacing:.11em;
  }
  .brand__branch{
    min-height:20px;
    padding:0 8px;
    font-size:9px;
    letter-spacing:.13em;
  }
  
  .brand__logo{
    width:54px;
  }
  .menu-toggle--premium{
    min-width:106px;
    height:44px;
    padding:0 13px;
    gap:8px;
  }
  .menu-toggle__label{
    font-size:10px;
    letter-spacing:.14em;
  }
  .nav{
    min-height:58px;
  }
  .nav-links{
    top:78px;
    right:14px;
    width:min(340px, calc(100vw - 28px));
  }
}
@media (max-width:430px){
  .container{
    width:min(100% - 24px, var(--max-width));
  }
  .brand{
    gap:9px;
  }
  .brand__logo{
    width:48px;
  }
  .brand__name{
    font-size:13px;
  }
  .brand__branch{
    font-size:8px;
    padding:0 7px;
  }
  .menu-toggle--premium{
    min-width:96px;
    height:42px;
    padding:0 11px;
  }
  .nav-links{
    right:12px;
    width:calc(100vw - 24px);
  }
}
:root{
  --athletic-focus:0 0 0 3px rgba(225, 6, 0, .42), 0 0 0 6px rgba(255, 255, 255, .12)
}
html{
  scroll-behavior:smooth
}
body{
  overflow-x:hidden
}
.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)
}
a, button, .btn, .header-cta, .footer-btn, .footer-link{
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease, color .24s ease, opacity .24s ease
}
.btn:hover, .header-cta:hover, .footer-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 44px rgba(225, 6, 0, .22), 0 18px 44px rgba(0, 0, 0, .28)
}
a:focus-visible, button:focus-visible, .btn:focus-visible, .menu-toggle:focus-visible{
  outline:none;
  box-shadow:var(--athletic-focus)
}
img{
  max-width:100%;
  height:auto
}
figure, img{
  backface-visibility:hidden
}
img:not(.brand__logo):not(.footer-logo){
  filter:saturate(1.03) contrast(1.03)
}
.reveal, .reveal-left, .reveal-right, .reveal-zoom{
  opacity:0;
  transition:opacity .7s ease, transform .7s cubic-bezier(.16, 1, .3, 1)
}
.reveal{
  transform:translateY(26px)
}
.reveal-left{
  transform:translateX(-28px)
}
.reveal-right{
  transform:translateX(28px)
}
.reveal-zoom{
  transform:scale(.965)
}
.reveal.is-visible, .reveal-left.is-visible, .reveal-right.is-visible, .reveal-zoom.is-visible{
  opacity:1;
  transform:none
}
@media (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *, *::before, *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important
  }
  .reveal, .reveal-left, .reveal-right, .reveal-zoom{
    opacity:1!important;
    transform:none!important
  }
}
.experience-card,
.plan-card,
.coach-card,
.service-card,
.contact-quick-card,
.timeline-item,
.location-card,
.map-card{
  will-change:transform;
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease
}
.experience-card:hover,
.plan-card:hover,
.coach-card:hover,
.service-card:hover,
.contact-quick-card:hover,
.timeline-item:hover,
.location-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 74px rgba(0, 0, 0, .42), 0 0 30px rgba(225, 6, 0, .12)
}
.experience-card img, .coach-card img, .editorial-gallery img, .timeline-item img, .home-gallery img, .internal-lead__media img, .contact-map-card img{
  transition:transform .55s cubic-bezier(.16, 1, .3, 1), filter .35s ease
}
.experience-card:hover img, .coach-card:hover img, .editorial-gallery figure:hover img, .timeline-item:hover img, .home-gallery figure:hover img, .internal-lead__media:hover img, .contact-map-card:hover img{
  transform:scale(1.035)
}
.hero-badge__dot, .social-icon svg{
  animation:athleticPulse 2.7s ease-in-out infinite
}
@keyframes athleticPulse{
  0%, 100%{
    opacity:1;
    transform:scale(1)
  }
  50%{
    opacity:.76;
    transform:scale(.92)
  }
}


.footer-bottom-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center
}
.footer-privacy{
  color:rgba(255, 255, 255, .70);
  font-size:13px
}
.back-to-top{
  position:fixed;
  right:22px;
  bottom:94px;
  z-index:88;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid rgba(255, 255, 255, .14);
  border-radius:999px;
  background:linear-gradient(145deg, rgba(225, 6, 0, .85), rgba(90, 0, 0, .92));
  color:#fff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(0, 0, 0, .34);
  opacity:0;
  pointer-events:none;
  transform:translateY(12px);
  transition:opacity .22s ease, transform .22s ease
}
.back-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:none
}
.back-to-top:hover{
  transform:translateY(-3px)
}
@media (max-width:760px){
  
  .back-to-top{
    right:16px;
    bottom:86px
  }
  .footer-bottom-content{
    gap:12px
  }
  .footer-bottom-links{
    width:100%;
    justify-content:flex-start
  }
}
.privacy-section{
  background:radial-gradient(circle at 18% 18%, rgba(225, 6, 0, .10), transparent 30%), linear-gradient(180deg, #07080c, #030303);
}
.privacy-card{
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:32px;
  padding:clamp(24px, 4vw, 44px);
  background:linear-gradient(145deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .026));
  box-shadow:0 28px 76px rgba(0, 0, 0, .38);
}
.privacy-card p{
  max-width:880px;
  margin-top:14px;
}
.privacy-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
  margin-top:26px;
}
.privacy-grid article{
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:22px;
  padding:18px;
  background:rgba(0, 0, 0, .22);
}
.privacy-grid strong{
  display:block;
  color:#fff;
  font-size:15px;
  margin-bottom:7px;
}
.privacy-grid span{
  display:block;
  color:rgba(255, 255, 255, .72);
  font-size:13px;
  line-height:1.55;
}
:focus-visible{
  outline:3px solid rgba(255, 42, 42, .9);
  outline-offset:4px;
  border-radius:12px;
}
.nav-links a[aria-current="page"]{
  color:#fff;
  background:linear-gradient(135deg, rgba(225, 6, 0, .28), rgba(225, 6, 0, .10));
  box-shadow:inset 0 0 0 1px rgba(255, 255, 255, .08);
}
.nav-links a[aria-current="page"]::before{
  transform:scaleX(1);
}
@media (max-width:860px){
  .privacy-grid{
    grid-template-columns:1fr;
  }
  .privacy-card{
    border-radius:24px;
  }
}
:root{
  --athletic-red:#e10600;
  --athletic-red-soft:rgba(225, 6, 0, .18);
  --athletic-focus:0 0 0 3px rgba(225, 6, 0, .38), 0 0 0 6px rgba(255, 255, 255, .18);
}
html{
  scroll-behavior:smooth;
}
body.using-keyboard a:focus-visible, body.using-keyboard button:focus-visible, body.using-keyboard input:focus-visible, body.using-keyboard textarea:focus-visible, body.using-keyboard select:focus-visible{
  outline:0;
  box-shadow:var(--athletic-focus);
}
.skip-link{
  position:absolute;
  top:12px;
  left:12px;
  z-index:9999;
  transform:translateY(-160%);
  background:#e10600;
  color:#fff;
  padding:.85rem 1rem;
  border-radius:999px;
  font-weight:800;
  text-decoration:none;
  transition:transform .22s ease;
}
.skip-link:focus{
  transform:translateY(0);
}


.footer-bottom-links{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.footer-bottom-links a{
  color:inherit;
  text-decoration:none;
  opacity:.86;
  transition:opacity .2s ease, color .2s ease;
}
.footer-bottom-links a:hover{
  opacity:1;
  color:#fff;
}
img{
  max-width:100%;
  height:auto;
}
.btn, .header-cta, .footer-btn, .social-icon, .pricing-card, .experience-card, .coach-card, .service-card, .plan-card, .contact-quick-card{
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  *, *::before, *::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
  .reveal, .reveal-left, .reveal-right, .reveal-zoom{
    opacity:1!important;
    transform:none!important;
  }
}
@media (max-width:420px){
  
  .footer-bottom-content{
    gap:.75rem;
    text-align:center;
    justify-content:center;
  }
  .footer-bottom-links{
    justify-content:center;
  }
}
.social-premium-card .social-premium-icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin-bottom:30px;
  border-radius:22px;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .22), 0 18px 42px rgba(0, 0, 0, .28)
}
.social-premium-card .social-premium-icon svg{
  width:34px;
  height:34px;
  filter:drop-shadow(0 5px 10px rgba(0, 0, 0, .32))
}
.social-premium-card .social-premium-icon--facebook{
  background:linear-gradient(145deg, #1877F2, #0B4CB8);
  box-shadow:0 18px 42px rgba(24, 119, 242, .28), inset 0 1px 0 rgba(255, 255, 255, .24)
}
.social-premium-card .social-premium-icon--instagram{
  background:linear-gradient(135deg, #F58529 0%, #DD2A7B 42%, #8134AF 72%, #515BD4 100%);
  box-shadow:0 18px 42px rgba(221, 42, 123, .28), inset 0 1px 0 rgba(255, 255, 255, .24)
}
.social-premium-card .social-premium-icon--tiktok{
  background:linear-gradient(145deg, #050505, #151515);
  box-shadow:10px 0 24px rgba(254, 44, 85, .22), -10px 0 24px rgba(37, 244, 238, .20), inset 0 1px 0 rgba(255, 255, 255, .18)
}
/* =====================================================
   HORARIOS PREMIUM · UBICACIÓN
===================================================== */
.schedule-section--premium{
  overflow:hidden;
  background:radial-gradient(circle at 14% 8%, rgba(225, 6, 0, .16), transparent 30%), radial-gradient(circle at 86% 20%, rgba(255, 255, 255, .06), transparent 24%), linear-gradient(180deg, #070707, #030303 72%, #070707)
}
.schedule-week-strip{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  max-width:920px;
  margin:0 auto 28px;
  padding:12px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .028));
  box-shadow:0 18px 50px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(255, 255, 255, .06)
}
.schedule-week-strip span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(225, 6, 0, .16);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}
.schedule-week-strip strong{
  margin-left:10px;
  color:#ffd2d2;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap
}
.schedule-training-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px
}
.schedule-training-card{
  position:relative;
  overflow:hidden;
  min-height:430px;
  display:flex;
  flex-direction:column;
  padding:34px;
  border:1px solid rgba(255, 255, 255, .12);
  border-radius:34px;
  background:linear-gradient(135deg, rgba(225, 6, 0, .14), transparent 38%), linear-gradient(180deg, rgba(255, 255, 255, .082), rgba(255, 255, 255, .032));
  box-shadow:0 28px 80px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .055)
}
.schedule-training-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 82% 0, rgba(225, 6, 0, .22), transparent 36%);
  pointer-events:none
}
.schedule-training-card>*{
  position:relative;
  z-index:1
}
.schedule-training-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:30px
}
.schedule-label{
  display:block;
  margin-bottom:12px;
  color:#ffb4b4;
  font-size:12px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase
}
.schedule-training-card h3{
  margin:0;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:clamp(34px, 3.6vw, 54px);
  line-height:.98;
  text-transform:uppercase;
  letter-spacing:-.035em
}
.schedule-mark{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:18px;
  border:1px solid rgba(225, 6, 0, .34);
  background:rgba(225, 6, 0, .14);
  color:#ffd2d2;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:22px;
  font-weight:900
}
.schedule-time-list{
  display:grid;
  gap:14px;
  margin-bottom:26px
}
.schedule-time-row{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:center;
  gap:16px;
  min-width:0;
  padding:16px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:22px;
  background:rgba(0, 0, 0, .24)
}
.schedule-time-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:18px;
  background:linear-gradient(135deg, rgba(225, 6, 0, .28), rgba(255, 255, 255, .07));
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, .08)
}
.schedule-time-icon:before, .schedule-time-icon:after{
  content:"";
  position:absolute;
  border-radius:999px
}
.schedule-time-row--morning .schedule-time-icon:before{
  width:24px;
  height:24px;
  border:2px solid #fff;
  box-shadow:0 0 18px rgba(225, 6, 0, .42)
}
.schedule-time-row--morning .schedule-time-icon:after{
  width:34px;
  height:2px;
  background:rgba(255, 255, 255, .72);
  bottom:15px
}
.schedule-time-row--evening .schedule-time-icon:before{
  width:24px;
  height:24px;
  border:2px solid #fff;
  border-left-color:transparent;
  transform:rotate(-25deg);
  box-shadow:0 0 18px rgba(225, 6, 0, .35)
}
.schedule-time-row small{
  display:block;
  margin-bottom:4px;
  color:rgba(255, 255, 255, .58);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase
}
.schedule-time-row strong{
  display:block;
  color:#fff;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1;
  letter-spacing:-.025em;
  text-transform:uppercase;
  white-space:nowrap
}
.schedule-training-card p{
  margin-top:auto;
  color:rgba(255, 255, 255, .76);
  font-size:16px
}
.schedule-holiday-note{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:20px;
  margin-top:24px;
  padding:24px;
  border:1px solid rgba(255, 255, 255, .11);
  border-radius:28px;
  background:linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025));
  box-shadow:0 22px 60px rgba(0, 0, 0, .22)
}
.schedule-holiday-note__icon{
  position:relative;
  width:62px;
  height:62px;
  border-radius:20px;
  background:rgba(225, 6, 0, .16);
  border:1px solid rgba(225, 6, 0, .30)
}
.schedule-holiday-note__icon:before{
  content:"";
  position:absolute;
  inset:17px 14px 13px;
  border:2px solid #fff;
  border-radius:7px
}
.schedule-holiday-note__icon:after{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:25px;
  height:2px;
  background:#fff;
  border-radius:999px
}
.schedule-holiday-note h3{
  margin:0 0 4px;
  font-family:"Oswald", "Inter", sans-serif;
  font-size:28px;
  text-transform:uppercase
}
.schedule-holiday-note p{
  margin:0;
  color:rgba(255, 255, 255, .72)
}
@media (max-width:980px){
  .schedule-training-grid{
    grid-template-columns:1fr
  }
  .schedule-training-card{
    min-height:0
  }
  .schedule-holiday-note{
    grid-template-columns:auto 1fr
  }
  .schedule-holiday-note .btn{
    grid-column:1/-1;
    width:100%
  }
}
@media (max-width:640px){
  .schedule-week-strip{
    flex-wrap:wrap;
    justify-content:flex-start;
    border-radius:26px;
    padding:14px
  }
  .schedule-week-strip span{
    min-width:0;
    flex:1 1 25%
  }
  .schedule-week-strip strong{
    flex:1 1 100%;
    margin:4px 0 0;
    text-align:center
  }
  .schedule-training-card{
    padding:26px;
    border-radius:28px
  }
  .schedule-training-card__head{
    margin-bottom:22px
  }
  .schedule-mark{
    width:50px;
    height:50px;
    border-radius:16px;
    font-size:19px
  }
  .schedule-time-row{
    grid-template-columns:48px 1fr;
    gap:12px;
    padding:14px
  }
  .schedule-time-icon{
    width:48px;
    height:48px;
    border-radius:16px
  }
  .schedule-time-row strong{
    font-size:clamp(24px, 7vw, 34px);
    white-space:normal
  }
  .schedule-holiday-note{
    grid-template-columns:1fr;
    text-align:left;
    padding:22px;
    border-radius:24px
  }
}

/* =====================================================
   TEMPLATE v1.0 · HERO SECUNDARIO GLOBAL
   -----------------------------------------------------
   Objetivo:
   - Mantener todos los heroes de páginas secundarias alineados
     con el mismo eje visual del hero principal del index.
   - Evitar parches por página: este bloque es la fuente global
     para .branch-page-hero.
   - No modifica .hero--sechura del index.
   ====================================================== */
.branch-page-hero{
  position:relative;
  display:flex;
  align-items:center;
  min-height:100svh;
  padding:142px 0 80px;
  text-align:left;
  background:#030303;
  isolation:isolate;
  overflow:hidden;
}
.branch-page-hero::before{
  background-position:center right;
  background-size:cover;
}
.branch-page-hero .container.branch-page-hero__content,
.branch-page-hero__content{
  position:relative;
  z-index:2;
  width:min(1180px, calc(100% - 40px));
  max-width:1180px;
  margin-inline:auto;
  padding-inline:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}
.branch-page-hero .hero-badge,
.branch-page-hero__content h1,
.branch-page-hero__content p,
.branch-page-hero__actions{
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.branch-page-hero__content h1{
  max-width:760px;
}
.branch-page-hero__content p{
  max-width:620px;
  margin-top:22px;
}
.branch-page-hero__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:14px;
  margin-top:34px;
}
@media (max-width:720px){
  .branch-page-hero{
    min-height:100svh;
    padding:124px 0 72px;
  }
  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    width:min(100% - 32px, 1180px);
  }
  .branch-page-hero__actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .branch-page-hero__actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* =====================================================
   TEMPLATE v1.0 · SCROLLBAR ATHLETIC GLOBAL
   -----------------------------------------------------
   Barra de desplazamiento institucional para todo el sitio.
   Mantener aquí para que aplique de forma global a todas las
   páginas actuales y futuras de sedes Athletic.
   ====================================================== */
html{
  scrollbar-width:thin;
  scrollbar-color:var(--sechura-red, #e10600) #070707;
}
::-webkit-scrollbar{
  width:12px;
  height:12px;
}
::-webkit-scrollbar-track{
  background:#070707;
}
::-webkit-scrollbar-thumb{
  border:3px solid #070707;
  border-radius:999px;
  background:linear-gradient(180deg, var(--sechura-red-light, #ff2a22), var(--sechura-red, #e10600));
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, #ff4b43, var(--sechura-red-dark, #a80000));
}

/* =====================================================
   RESPONSIVE GALERÍA HOME · estándar global
===================================================== */
@media(max-width:1120px){
  .premium-gallery-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:250px;
  }
  .premium-gallery-item, .premium-gallery-item--large, .premium-gallery-item--wide{
    grid-column:auto;
    grid-row:auto;
  }
}
@media(max-width:760px){
  .premium-gallery-grid{
    grid-template-columns:1fr;
    grid-auto-rows:270px;
  }
}

/* =====================================================
   TEMPLATE v1.1 · NORMALIZACIÓN GLOBAL DE PÁGINAS INTERNAS
   -----------------------------------------------------
   Fuente definitiva para:
   - Alinear header y menú con el index.
   - Igualar márgenes laterales y ancho útil de contenidos.
   - Igualar composición, altura y eje del hero secundario.
   - Mantener una fotografía de fondo propia por página.

   IMPORTANTE:
   No crear parches individuales debajo de este bloque.
   Las futuras correcciones globales deben realizarse aquí.
===================================================== */

/* 1. HEADER INTERNO = MISMA GEOMETRÍA DEL HEADER DEL INDEX */
.site-header--branch{
  padding:14px 0;
  background:linear-gradient(180deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .52));
  border-bottom:1px solid rgba(255, 255, 255, .10);
  backdrop-filter:blur(20px);
  box-shadow:0 18px 50px rgba(0, 0, 0, .28);
}
.site-header--branch .container.nav{
  width:min(var(--max-width), calc(100% - 40px));
  min-height:68px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.site-header--branch .nav-links--branch{
  gap:7px;
  padding:8px;
  border:1px solid rgba(255, 255, 255, .10);
  border-radius:999px;
  background:linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .028));
  box-shadow:0 10px 26px rgba(0, 0, 0, .20), inset 0 1px 0 rgba(255, 255, 255, .04);
}
.site-header--branch .nav-links--branch a{
  min-height:42px;
  padding-inline:13px;
}

/* 2. MÁRGENES INTERNOS = MISMO CONTENEDOR GLOBAL DEL INDEX */
.branch-inner-page .container,
.branch-inner-page .branch-page-hero__content{
  width:min(var(--max-width), calc(100% - 40px));
  max-width:var(--max-width);
  margin-inline:auto;
}
.branch-inner-page .internal-section{
  padding-inline:0;
}

/* 3. HERO SECUNDARIO = MISMA DISTRIBUCIÓN DEL HERO PRINCIPAL */
.branch-page-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:142px 0 80px;
  overflow:hidden;
  isolation:isolate;
  background:#030303;
  text-align:left;
}
.branch-page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:
    linear-gradient(90deg, rgba(0, 0, 0, .94) 0%, rgba(0, 0, 0, .78) 34%, rgba(0, 0, 0, .38) 68%, rgba(0, 0, 0, .18) 100%),
    radial-gradient(circle at 18% 28%, rgba(225, 6, 0, .16), transparent 30%),
    var(--page-hero-image, url("../img/hero/sechura-hero.webp"));
  background-position:center right;
  background-size:cover;
  background-repeat:no-repeat;
  transform:none;
}
.branch-page-hero::after{
  content:"";
  position:absolute;
  inset:-4%;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 76% 44%, rgba(225, 6, 0, .10), transparent 34%),
    linear-gradient(180deg, transparent 72%, rgba(3, 3, 3, .82) 100%);
}
.branch-page-hero .container.branch-page-hero__content,
.branch-page-hero__content{
  position:relative;
  z-index:2;
  width:min(var(--max-width), calc(100% - 40px));
  max-width:var(--max-width);
  margin-inline:auto;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}
.branch-page-hero__content h1{
  max-width:820px;
  margin:0;
}
.branch-page-hero__content p{
  max-width:680px;
  margin:24px 0 0;
}
.branch-page-hero__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  gap:14px;
  margin:34px 0 0;
}

/* 4. FOTOGRAFÍA DE FONDO POR PÁGINA */
.branch-page-hero--instalaciones{
  --page-hero-image:url("../img/home/home-strength.webp");
}
.branch-page-hero--servicios{
  --page-hero-image:url("../img/pages/servicios/sechura-servicios.webp");
}
.branch-page-hero--planes{
  --page-hero-image:url("../img/hero/sechura-hero.webp");
}
.branch-page-hero--entrenadores{
  --page-hero-image:url("../img/pages/entrenadores/sechura-entrenador-01.webp");
}
.branch-page-hero--ubicacion{
  --page-hero-image:url("../img/pages/ubicacion/sechura-mapa.webp");
}
.branch-page-hero--contacto{
  --page-hero-image:url("../img/home/home-reception.webp");
}

/* 5. RESPONSIVE GLOBAL: MISMO MARGEN LATERAL QUE EL INDEX */
@media (max-width:1100px){
  .site-header--branch{
    padding:10px 0;
  }
  .site-header--branch .container.nav{
    min-height:62px;
  }
  .site-header--branch .nav-links--branch{
    position:fixed;
    top:84px;
    right:20px;
    left:auto;
    width:min(360px, calc(100vw - 40px));
    border-radius:26px;
  }
}
@media (max-width:720px){
  .site-header--branch .container.nav,
  .branch-inner-page .container,
  .branch-inner-page .branch-page-hero__content,
  .branch-page-hero .container.branch-page-hero__content{
    width:min(100% - 28px, var(--max-width));
  }
  .branch-page-hero{
    min-height:100svh;
    align-items:stretch;
    padding:90px 0 22px;
  }
  .branch-page-hero::before{
    background-image:
      linear-gradient(180deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .40) 28%, rgba(0, 0, 0, .14) 52%, rgba(0, 0, 0, .46) 74%, rgba(0, 0, 0, .94) 100%),
      radial-gradient(circle at 50% 18%, rgba(225, 6, 0, .14), transparent 34%),
      var(--page-hero-image, url("../img/hero/sechura-hero-movil.webp"));
    background-position:center top;
  }
  .branch-page-hero::after{
    display:none;
  }
  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    min-height:calc(100svh - 112px);
    justify-content:flex-end;
    padding-bottom:18px;
  }
  .branch-page-hero__content h1{
    max-width:100%;
  }
  .branch-page-hero__content p{
    max-width:100%;
    margin-top:18px;
  }
  .branch-page-hero__actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    margin-top:24px;
  }
  .branch-page-hero__actions .btn{
    width:100%;
    justify-content:center;
  }
}

/* =====================================================
   TEMPLATE v1.2 · NORMALIZACIÓN MÓVIL DEFINITIVA
   -----------------------------------------------------
   Fuente única para páginas secundarias en teléfonos.
   Corrige de forma global:
   - márgenes laterales;
   - alineación del header y menú desplegable;
   - altura y espacio visual del hero;
   - visibilidad y encuadre de cada fotografía;
   - distribución de textos y botones;
   - desbordamientos horizontales.

   IMPORTANTE:
   No añadir parches móviles individuales debajo de este bloque.
===================================================== */
@media (max-width:720px){
  html,
  body.branch-inner-page{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  /* 1. MARGEN GLOBAL IDÉNTICO EN TODAS LAS PÁGINAS */
  .branch-inner-page .container,
  .branch-inner-page .branch-page-hero__content,
  .branch-page-hero .container.branch-page-hero__content{
    width:calc(100% - 28px);
    max-width:none;
    margin-inline:14px;
  }
  .branch-inner-page .internal-section{
    width:100%;
    padding-left:0;
    padding-right:0;
  }
  .branch-inner-page img,
  .branch-inner-page video,
  .branch-inner-page iframe{
    max-width:100%;
  }

  /* 2. HEADER Y MENÚ MÓVIL ALINEADOS CON EL INDEX */
  .site-header--branch{
    padding:10px 0;
    background:linear-gradient(180deg, rgba(0,0,0,.94), rgba(0,0,0,.42));
  }
  .site-header--branch .container.nav{
    width:calc(100% - 28px);
    min-height:58px;
    margin-inline:14px;
    gap:10px;
  }
  .site-header--branch .brand--branch{
    min-width:0;
    gap:9px;
  }
  .site-header--branch .brand__logo{
    width:54px;
    flex:0 0 54px;
  }
  .site-header--branch .brand__identity{
    min-width:0;
  }
  .site-header--branch .brand__name,
  .site-header--branch .brand__branch{
    max-width:100%;
  }
  .site-header--branch .menu-toggle--premium{
    flex:0 0 auto;
    min-width:106px;
    height:44px;
  }
  .site-header--branch .nav-links--branch{
    top:78px;
    right:14px;
    left:auto;
    width:calc(100vw - 28px);
    max-height:calc(100dvh - 94px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:16px;
    border-radius:24px;
  }
  .site-header--branch .nav-links--branch a{
    flex:0 0 auto;
    width:100%;
    min-height:48px;
  }

  /* 3. HERO MÓVIL: FOTO VISIBLE ARRIBA, CONTENIDO ABAJO */
  .branch-page-hero{
    min-height:100svh;
    min-height:100dvh;
    height:auto;
    align-items:stretch;
    padding:88px 0 18px;
    background:#030303;
  }
  .branch-page-hero::before{
    inset:0;
    background-image:
      linear-gradient(180deg,
        rgba(0,0,0,.64) 0%,
        rgba(0,0,0,.28) 24%,
        rgba(0,0,0,.08) 48%,
        rgba(0,0,0,.48) 72%,
        rgba(0,0,0,.96) 100%),
      radial-gradient(circle at 50% 16%, rgba(225,6,0,.12), transparent 34%),
      var(--page-hero-image, url("../img/hero/sechura-hero-movil.webp"));
    background-size:cover;
    background-repeat:no-repeat;
    background-position:var(--page-hero-mobile-position, center top);
    transform:none;
  }
  .branch-page-hero::after{
    display:none;
  }
  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    min-height:calc(100svh - 106px);
    min-height:calc(100dvh - 106px);
    padding:0 0 4px;
    justify-content:flex-end;
    align-items:flex-start;
    text-align:left;
  }
  .branch-page-hero .hero-badge{
    margin:0 0 10px;
    padding:7px 11px;
    font-size:10px;
    letter-spacing:.16em;
    background:rgba(0,0,0,.54);
    backdrop-filter:blur(12px);
  }
  .branch-page-hero__content h1{
    width:100%;
    max-width:370px;
    margin:0;
    font-size:clamp(34px, 10vw, 46px);
    line-height:.98;
    text-wrap:balance;
    text-shadow:0 6px 24px rgba(0,0,0,.82);
  }
  .branch-page-hero__content p{
    width:100%;
    max-width:355px;
    margin:14px 0 0;
    font-size:13.5px;
    line-height:1.5;
    color:rgba(255,255,255,.92);
    text-shadow:0 4px 18px rgba(0,0,0,.80);
  }
  .branch-page-hero__actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:20px 0 0;
  }
  .branch-page-hero__actions .btn{
    width:100%;
    min-height:50px;
    justify-content:center;
    padding-inline:16px;
  }

  /* 4. ENCUADRE MÓVIL ESPECÍFICO POR PÁGINA */
  .branch-page-hero--instalaciones{
    --page-hero-mobile-position:62% top;
  }
  .branch-page-hero--servicios{
    --page-hero-mobile-position:58% top;
  }
  .branch-page-hero--planes{
    --page-hero-mobile-position:60% top;
  }
  .branch-page-hero--entrenadores{
    --page-hero-mobile-position:52% top;
  }
  .branch-page-hero--ubicacion{
    --page-hero-mobile-position:center top;
  }
  .branch-page-hero--contacto{
    --page-hero-mobile-position:58% top;
  }
}

@media (max-width:430px){
  .branch-inner-page .container,
  .branch-inner-page .branch-page-hero__content,
  .branch-page-hero .container.branch-page-hero__content,
  .site-header--branch .container.nav{
    width:calc(100% - 24px);
    margin-inline:12px;
  }
  .site-header--branch .brand__logo{
    width:48px;
    flex-basis:48px;
  }
  .site-header--branch .brand__name{
    font-size:13px;
  }
  .site-header--branch .brand__branch{
    font-size:8px;
  }
  .site-header--branch .menu-toggle--premium{
    min-width:96px;
    height:42px;
  }
  .site-header--branch .nav-links--branch{
    right:12px;
    width:calc(100vw - 24px);
  }
  .branch-page-hero{
    padding-top:82px;
    padding-bottom:14px;
  }
  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    min-height:calc(100svh - 96px);
    min-height:calc(100dvh - 96px);
  }
  .branch-page-hero__content h1{
    max-width:330px;
    font-size:clamp(31px, 9.6vw, 40px);
  }
  .branch-page-hero__content p{
    max-width:330px;
    font-size:13px;
  }
}

/* =====================================================
   TEMPLATE v1.3 · HERO SECUNDARIO MÓVIL = HERO DEL INDEX
   -----------------------------------------------------
   Bloque definitivo para teléfonos:
   - título y descripción en la zona superior;
   - espacio visual central libre para la fotografía;
   - botones fijados en la parte inferior;
   - fondo negro uniforme, sin franja ni resplandor rojo;
   - transición limpia hacia el fondo general de la página.

   IMPORTANTE:
   Mantener futuras correcciones móviles dentro de este bloque.
===================================================== */
@media (max-width:720px){
  body.branch-inner-page,
.branch-inner-page main,
.branch-inner-page .internal-section{
    background:#050505;
  }

  .branch-page-hero{
    min-height:100svh;
    min-height:100dvh;
    padding:90px 0 22px;
    align-items:stretch;
    background:#030303;
  }

  .branch-page-hero::before{
    background-image:
      linear-gradient(180deg,
        rgba(0,0,0,.74) 0%,
        rgba(0,0,0,.46) 26%,
        rgba(0,0,0,.10) 50%,
        rgba(0,0,0,.34) 72%,
        rgba(0,0,0,.94) 100%),
      var(--page-hero-image, url("../img/hero/sechura-hero-movil.webp"));
    background-position:var(--page-hero-mobile-position, center top);
    background-size:cover;
    background-repeat:no-repeat;
  }

  .branch-page-hero::after{
    display:none;
    content:none;
  }

  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    width:calc(100% - 28px);
    min-height:calc(100svh - 112px);
    min-height:calc(100dvh - 112px);
    margin-inline:auto;
    padding:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    text-align:left;
  }

  .branch-page-hero .hero-badge{
    margin:0 0 12px;
  }

  .branch-page-hero__content h1{
    max-width:350px;
  }

  .branch-page-hero__content p{
    max-width:330px;
    margin-top:12px;
    font-size:13.7px;
    line-height:1.46;
  }

  .branch-page-hero__actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:auto;
    padding-top:24px;
  }

  .branch-page-hero__actions .btn{
    width:100%;
    min-height:50px;
    justify-content:center;
  }

  /* Elimina cualquier banda cromática entre el hero y la primera sección. */
  .branch-page-hero + .internal-section{
    margin-top:0;
    border-top:0;
    background:#050505;
  }
}

@media (max-width:430px){
  .branch-page-hero{
    padding:82px 0 18px;
  }
  .branch-page-hero .container.branch-page-hero__content,
  .branch-page-hero__content{
    width:calc(100% - 24px);
    min-height:calc(100svh - 100px);
    min-height:calc(100dvh - 100px);
  }
  .branch-page-hero__content h1{
    max-width:330px;
  }
  .branch-page-hero__content p{
    max-width:320px;
  }
}


/* =====================================================
   SISTEMA GLOBAL DE TEMA · ATHLETIC SECHURA
   Patrón único para index y páginas internas.
   El modo oscuro conserva el diseño original; el modo claro
   redefine superficies, textos, bordes y controles desde aquí.
===================================================== */
:root,
html[data-theme="dark"]{
  --theme-bg:#050505;
  --theme-bg-alt:#08090d;
  --theme-surface:#101116;
  --theme-surface-strong:#15171d;
  --theme-surface-soft:rgba(255,255,255,.055);
  --theme-text:#ffffff;
  --theme-muted:rgba(255,255,255,.72);
  --theme-soft:rgba(255,255,255,.90);
  --theme-line:rgba(255,255,255,.12);
  --theme-header:rgba(0,0,0,.88);
  --theme-shadow:0 24px 70px rgba(0,0,0,.36);
  color-scheme:dark;
}

html[data-theme="light"]{
  --theme-bg:#f4f5f7;
  --theme-bg-alt:#ffffff;
  --theme-surface:#ffffff;
  --theme-surface-strong:#eef0f3;
  --theme-surface-soft:rgba(17,17,17,.045);
  --theme-text:#121318;
  --theme-muted:#626874;
  --theme-soft:#272b33;
  --theme-line:rgba(17,18,22,.12);
  --theme-header:rgba(255,255,255,.92);
  --theme-shadow:0 22px 58px rgba(20,24,32,.12);
  --color-black:#f4f5f7;
  --color-charcoal:#ffffff;
  --color-white:#121318;
  --color-muted:#626874;
  --color-soft:#272b33;
  --line:rgba(17,18,22,.12);
  --glass:rgba(255,255,255,.78);
  --shadow-dark:0 22px 58px rgba(20,24,32,.12);
  --sechura-bg:#f4f5f7;
  --sechura-panel:rgba(255,255,255,.88);
  --sechura-panel-soft:rgba(17,18,22,.035);
  --sechura-line:rgba(17,18,22,.12);
  --sechura-muted:#626874;
  --sechura-shadow:0 22px 58px rgba(20,24,32,.12);
  color-scheme:light;
}

html{
  background:var(--theme-bg);
}
body,
body::before,
main{
  transition:background-color .28s ease,color .28s ease,border-color .28s ease;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Selector de tema compartido */
.theme-toggle{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:34px;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  cursor:pointer;
  box-shadow:0 9px 24px rgba(0,0,0,.20);
  transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.theme-toggle:hover{transform:translateY(-1px)}
.theme-toggle:focus-visible{outline:3px solid rgba(225,6,0,.28);outline-offset:3px}
.theme-toggle__track{position:relative;display:block;width:100%;height:100%}
.theme-toggle__thumb{
  position:absolute;
  top:4px;
  left:4px;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s ease;
}
.theme-toggle__icon{
  position:absolute;
  top:8px;
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.theme-toggle__icon--sun{left:8px;color:#ffbd2e}
.theme-toggle__icon--moon{right:8px;color:#d7ddff}
html[data-theme="light"] .theme-toggle{
  background:#e7e9ee;
  border-color:rgba(17,18,22,.14);
  box-shadow:0 8px 20px rgba(20,24,32,.10);
}
html[data-theme="light"] .theme-toggle__thumb{transform:translateX(26px);background:#121318}
html[data-theme="light"] .theme-toggle__icon--moon{color:#5a6270}

/* Modo claro: estructura, navegación y superficies */
html[data-theme="light"] body,
html[data-theme="light"] .home-premium-page main,
html[data-theme="light"] .branch-inner-page main{
  background:var(--theme-bg);
  color:var(--theme-text);
}
html[data-theme="light"] body:not(.menu-open) .site-header,
html[data-theme="light"] body:not(.menu-open) .site-header--branch{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.86));
  border-bottom-color:var(--theme-line);
  box-shadow:0 14px 38px rgba(20,24,32,.10);
}
html[data-theme="light"] .brand__name,
html[data-theme="light"] .brand__branch,
html[data-theme="light"] .nav-links--branch a:not(.header-cta){color:var(--theme-text)}
html[data-theme="light"] .menu-toggle--premium{
  color:var(--theme-text);
  background:#fff;
  border-color:var(--theme-line);
  box-shadow:0 8px 22px rgba(20,24,32,.10);
}
html[data-theme="light"] .menu-toggle__line{background:var(--theme-text)}

html[data-theme="light"] :where(
  .section,
.home-experience,
.home-gallery,
.home-stats,
.home-plans,
.home-location,
.internal-section,
.plans-intro-section,
.services-showcase,
.services-path,
.service-focus-strip,
.location-premium,
.faq-premium
){
  background:var(--theme-bg);
  color:var(--theme-text);
}
html[data-theme="light"] :where(
  .section--dark,.internal-section--dark,.internal-section--soft,
  .home-visual-intro,.home-premium-page .section
){
  background:linear-gradient(180deg,var(--theme-bg-alt),var(--theme-bg));
}
html[data-theme="light"] :where(h1,
h2,
h3,
h4,
strong,
b,
label,
legend){color:var(--theme-text)}
html[data-theme="light"] :where(p,li,small,em,.section-heading p,.internal-lead__content p){color:var(--theme-muted)}

html[data-theme="light"] :where(
  .experience-card,
.route-card,
.quick-card,
.home-plan-card,
.coach-highlight,
.location-highlight,
.timeline-item,
.coach-card-premium,
.location-card,
.faq-item,
.service-editorial-card,
.focus-card,
.pricing-card,
.plan-guide-card,
.visit-prep-card,
.contact-quick-card,
.contact-map-card,
.location-card--main,
.location-map--premium,
.contact-premium-form,
.included-experience,
.plans-mini-table){
  background:var(--theme-surface);
  color:var(--theme-text);
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow);
}
html[data-theme="light"] :where(
  .stats-strip,
.location-highlight__hours,
.plans-highlight-list span,
.contact-premium-form input,
.contact-premium-form select,
.contact-premium-form textarea
){
  background:var(--theme-surface-strong);
  color:var(--theme-text);
  border-color:var(--theme-line);
}
html[data-theme="light"] :where(input,select,textarea)::placeholder{color:#858b96}
html[data-theme="light"] :where(.btn--ghost){
  background:rgba(255,255,255,.82);
  border-color:var(--theme-line);
  color:var(--theme-text);
  box-shadow:0 12px 30px rgba(20,24,32,.10);
}
html[data-theme="light"] :where(.tag,
.internal-kicker){color:#8f0000}

/* Fotografías y héroes conservan contraste editorial oscuro. */
html[data-theme="light"] :where(
  .hero,.hero--sechura,.branch-page-hero,.home-final-cta,.final-cta-premium,
  .premium-gallery-item,.quick-card,.experience-card
) :where(h1,h2,h3,p,strong,small,span,em){
  color:#fff;
}
html[data-theme="light"] :where(.hero,.hero--sechura,.branch-page-hero){background:#030303}
html[data-theme="light"] .branch-page-hero + :where(.internal-section){background:var(--theme-bg)}

/* Menú móvil claro: panel legible sin alterar su geometría. */
@media (max-width:1100px){
  html[data-theme="light"] .nav-links--branch{
    background:rgba(255,255,255,.98);
    border-color:var(--theme-line);
    box-shadow:0 24px 70px rgba(20,24,32,.20);
  }
  html[data-theme="light"] .nav-links--branch a:not(.header-cta){
    background:#f4f5f7;
    border-color:var(--theme-line);
    color:var(--theme-text);
  }
  html[data-theme="light"] body.menu-open .site-header--branch{
    background:rgba(255,255,255,.98);
  }
}
@media (max-width:720px){
  html[data-theme="light"] body.branch-inner-page,
html[data-theme="light"] .branch-inner-page main,
html[data-theme="light"] .branch-inner-page .internal-section{
    background:var(--theme-bg);
  }
  .site-header--branch .nav{gap:10px}
  .theme-toggle{width:52px;height:32px}
  .theme-toggle__thumb{width:22px;height:22px}
  html[data-theme="light"] .theme-toggle__thumb{transform:translateX(22px)}
  .theme-toggle__icon{top:8px;width:14px;height:14px}
}

/* =====================================================
   9. AJUSTES DE CONTRASTE DEL MODO CLARO · JULIO 2026
   Patrón compartido Athletic:
   - El héroe, los bloques fotográficos y el footer conservan acabado oscuro.
   - Las secciones de contenido y sus tarjetas adoptan superficies claras.
   - El isotipo cambia a su versión negra únicamente en modo claro.
===================================================== */

/* El contenedor de planes no debe parecer una sola tarjeta. */
html[data-theme="light"] .plans-mini-table{
  background:transparent;
  border:0;
  box-shadow:none;
}
html[data-theme="light"] .plans-mini-table article{
  background:var(--theme-surface);
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow);
}
html[data-theme="light"] .plans-mini-table article span{color:#8f0000}
html[data-theme="light"] .plans-mini-table article strong{color:var(--theme-text)}
html[data-theme="light"] .plans-mini-table article p{color:var(--theme-muted)}

/* Tarjetas de entrenadores: superficie clara y tipografía oscura. */
html[data-theme="light"] .coach-card-premium{
  background:var(--theme-surface);
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow);
}
html[data-theme="light"] .coach-card-premium :where(h3,li){color:var(--theme-text)}
html[data-theme="light"] .coach-card-premium p{color:var(--theme-muted)}
html[data-theme="light"] .coach-card-premium ul{
  color:var(--theme-text);
  border-top-color:var(--theme-line);
}
html[data-theme="light"] .coach-card-premium .coach-role{
  color:#8f0000;
  background:rgba(225,6,0,.09);
}

/* Panel “Qué recibes”: contenido y numerales legibles en claro. */
html[data-theme="light"] .coach-value-panel{
  background:linear-gradient(180deg,var(--theme-surface),var(--theme-surface-strong));
  border-color:var(--theme-line);
  box-shadow:var(--theme-shadow);
}
html[data-theme="light"] .coach-value-panel__content :where(h2,p){color:var(--theme-text)}
html[data-theme="light"] .coach-value-panel__content p{color:var(--theme-muted)}
html[data-theme="light"] .coach-value-list article{
  background:var(--theme-surface);
  border-color:var(--theme-line);
}
html[data-theme="light"] .coach-value-list article span{color:var(--theme-text)}
html[data-theme="light"] .coach-value-list article strong{
  color:#fff;
  background:linear-gradient(135deg,var(--color-red-light),var(--color-red-dark));
}

/* Bloques con fotografía: permanecen oscuros en ambos temas. */
html[data-theme="light"] :where(.home-final-cta,.final-cta-premium,.contact-conversion-copy){
  color:#fff;
}
html[data-theme="light"] :where(.home-final-cta,.final-cta-premium,.contact-conversion-copy)
  :where(h1,h2,h3,h4,p,strong,span,small,em,li,a:not(.btn--primary)){
  color:#fff;
}
html[data-theme="light"] :where(.home-final-cta,.final-cta-premium,.contact-conversion-copy) p{
  color:rgba(255,255,255,.80);
}
html[data-theme="light"] .contact-mini-grid article{
  background:rgba(0,0,0,.42);
  border-color:rgba(255,255,255,.14);
  box-shadow:none;
}
html[data-theme="light"] .contact-mini-grid :where(strong,span){color:#fff}

/* Botones secundarios sobre imágenes oscuras conservan el patrón blanco. */
html[data-theme="light"] :where(.home-final-cta,.final-cta-premium,.contact-conversion-copy) .btn--ghost{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.42);
  color:#fff;
  box-shadow:none;
}

/* Footer completamente inmutable: fondo y contraste no dependen del tema. */
html[data-theme="light"] :where(.site-footer,.site-footer--branch,.footer-main--branch){
  background:#050505;
  color:#fff;
  border-color:rgba(255,255,255,.12);
}
html[data-theme="light"] .site-footer :where(h1,h2,h3,h4,p,a,span,strong,small,li){color:inherit}
html[data-theme="light"] .site-footer :where(.footer-brand p,.footer-contact p,.footer-col a,.footer-link,.footer-bottom){
  color:rgba(255,255,255,.70);
}
html[data-theme="light"] .site-footer :where(.footer-col h4,.footer-contact h4,.footer-btn,.footer-admin-access){color:#fff}

/* Corrección puntual · Planes / Experiencia Athletic
   El panel principal utiliza fotografía oscura y conserva contraste editorial
   en modo claro, igual que los héroes y CTA fotográficos. */
html[data-theme="light"] .included-experience__main,
html[data-theme="light"] .included-experience__main :where(h3,p,span){
  color:#fff;
}
html[data-theme="light"] .included-experience__main span{
  color:#ffb4b4;
}
html[data-theme="light"] .included-experience__main p{
  color:rgba(255,255,255,.76);
}
