/* ==========================================================================
   SCHUMER PERFORMANCE :: CSS GLOBAL PARA DIVI
   ========================================================================== */

:root{
  --sp-red:#EC1C24;
  --sp-red-dark:#B00E15;
  --sp-black:#000000;
  --sp-ink:#141414;
  --sp-body:#3F3F3F;
  --sp-head:"Bebas Neue",Impact,sans-serif;
  --sp-eyebrow:"Bebas Neue",Impact,sans-serif;
  --sp-text:"Roboto",-apple-system,"Helvetica Neue",Arial,sans-serif;
  --sp-skew:16px;           /* inclinacion de botones y detalles */
}

.sp-red{color:var(--sp-red);}
.sp-white{color:#fff;}

/* --------------------------------------------------------------------------
   2. BOTONES DIAGONALES
   -------------------------------------------------------------------------- */
.sp-btn.et_pb_button,
.sp-btn.et_pb_button:hover,
.sp-btn .et_pb_button{
  display:inline-block;
  padding:15px 45px !important;
  background:var(--sp-red) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  font-family:var(--sp-head) !important;
  font-weight:600 !important;
  font-size:18px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  line-height:1.1 !important;
  transition:background .25s ease,color .25s ease;
  -webkit-clip-path:polygon(var(--sp-skew) 0,100% 0,calc(100% - var(--sp-skew)) 100%,0 100%);
  clip-path:polygon(var(--sp-skew) 0,100% 0,calc(100% - var(--sp-skew)) 100%,0 100%);
}
.sp-btn.et_pb_button:after,
.sp-btn.et_pb_button:before,
.sp-btn .et_pb_button:after{content:none !important;display:none !important;}
.sp-btn.et_pb_button:hover{background:var(--sp-ink) !important;}

.sp-btn-dark.et_pb_button,
.sp-btn-dark.et_pb_button:hover{background:var(--sp-ink) !important;}
.sp-btn-dark.et_pb_button:hover{background:var(--sp-red) !important;}

.sp-inline-cta .et_pb_button_module_wrapper{
  display:inline-block;
  vertical-align:middle;
  margin:0 16px 14px 0 !important;
}
.sp-inline-cta .et_pb_image{
  display:inline-block;
  vertical-align:middle;
  margin:0 0 14px 0 !important;
}
.sp-cta-center{text-align:center;}
.sp-cta-center .et_pb_button_module_wrapper{display:inline-block;margin:0 10px 12px !important;}

/* --------------------------------------------------------------------------
   3. EYEBROW CON LINEA DIAGONAL
   El "ABOUT SCHUMER PERFORMANCE  /"
   -------------------------------------------------------------------------- */
.sp-eyebrow p{
  margin:0 0 14px !important;
  padding:0 !important;
  font-family:var(--sp-head) !important;
  font-weight:500;
  font-size:28px;
  text-transform:uppercase;
  color:var(--sp-red);
  line-height:1;
}
.sp-eyebrow p:after{
  content:"";
  display:inline-block;
  width:30px;
  height:2px;
  margin-left:14px;
  vertical-align:middle;
  background:var(--sp-red);
  transform:skewX(-28deg);
}
.sp-eyebrow-light p{color:#fff;}
.sp-eyebrow-light p:after{background:var(--sp-red);}

/* --------------------------------------------------------------------------
   4. TITULARES
   -------------------------------------------------------------------------- */
.sp-h1 h1,.sp-h2 h2{
  font-family:var(--sp-head) !important;
  text-transform:uppercase;
  letter-spacing:-.01em;
  line-height:1.02;
  margin:0 0 22px;
  padding:0;
}
.sp-h1 h1{font-size:70px;color:var(--sp-ink);}
.sp-h2 h2{font-size:40px;color:var(--sp-ink);}
.sp-h2-light h2{color:#fff;}
.sp-lead p{font-weight:600;color:var(--sp-ink);}

/* --------------------------------------------------------------------------
   5. HEADER
   -------------------------------------------------------------------------- */
.sp-logo p{margin:0 !important;padding:0 !important;line-height:1 !important;}
.sp-logo span{
  display:block;
  font-size:11px;
  font-weight:400;
  letter-spacing:.32em;
  color:var(--sp-red);
  margin-top:2px;
}
.sp-nav .et_pb_menu__wrap{justify-content:flex-end;}
.sp-nav .et-menu > li > a{text-transform:uppercase;}
.sp-nav .et_pb_menu__menu > nav > ul > li > a:hover{color:var(--sp-red) !important;opacity:1;}
.sp-header{position:relative;z-index:20;}

/* --------------------------------------------------------------------------
   6. HERO: resplandor rojo detras de la atleta
   -------------------------------------------------------------------------- */
.sp-hero{overflow:visible;}
.sp-hero-img{position:relative;margin-bottom:-70px;}
.sp-hero-img:before{
  content:"";
  position:absolute;
  top:6%;left:8%;
  width:84%;height:74%;
  background:radial-gradient(ellipse at 50% 45%,rgba(236,28,36,.75) 0%,rgba(236,28,36,.35) 45%,rgba(236,28,36,0) 72%);
  filter:blur(26px);
  z-index:0;
  pointer-events:none;
}
.sp-hero-img .et_pb_image_wrap{position:relative;z-index:1;}

.spt-name{
	font-size:50px !important;
	font-family:var(--sp-head) !important;
}

.spt-team{
	font-size:28px !important;
	text-transform: uppercase !important;
	font-family:var(--sp-head) !important;
	letter-spacing:1px !important;
}
/* --------------------------------------------------------------------------
   7. CAJA DE CITA CON COMILLAS GEOMETRICAS
   -------------------------------------------------------------------------- */
.sp-quote-module{container-type:inline-size;}   /* la referencia de medida */

.sp-quote-wrap{
  --sp-qm:clamp(76px,30vw,200px);               /* ancho del par de comillas */
  position:relative;
  padding:0 calc(var(--sp-qm) * .16) calc(var(--sp-qm) * .343) 0;
}
.sp-quote-box{
  position:relative;
  z-index:2;
  background:#fff;
  border:clamp(4px,2.6vw,10px) solid var(--sp-red);
  padding:clamp(24px,6.5vw,34px) clamp(26px,7vw,38px) clamp(20px,5.4vw,28px);
}
.sp-quote-text{
  font-family:var(--sp-text);
  font-style:italic;
  font-size:clamp(14px,4.2vw,18px);
  line-height:1.65;
  color:var(--sp-ink);
  margin:0 0 clamp(16px,4.5vw,20px) !important;
}
.sp-quote-name{
  font-family:var(--sp-head);
  font-weight:600;
  font-size:18px !important;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--sp-ink);
  margin:0 !important;
}
.sp-quote-marks{
  position:absolute;
  right:0;
  bottom:0;
  z-index:3;
  display:block;
  width:var(--sp-qm);
  height:auto;
  pointer-events:none;
}
.sp-quote-marks path{fill:var(--sp-ink);}


@supports (container-type:inline-size){
  .sp-quote-wrap{--sp-qm:clamp(76px,30cqi,200px);}
  .sp-quote-box{border-width:clamp(4px,2.6cqi,10px);
                padding:clamp(24px,6.5cqi,34px) clamp(26px,7cqi,38px) clamp(20px,5.4cqi,28px);}
  .sp-quote-text{font-size:clamp(14px,4.2cqi,18px);margin-bottom:clamp(16px,4.5cqi,20px) !important;}
  .sp-quote-name{font-size:clamp(12px,3cqi,15px);}
}

/* --------------------------------------------------------------------------
   8. BLOQUE COACH MATT
   -------------------------------------------------------------------------- */
.sp-coach-photo{background-position:center 30%;background-size:cover;}
.sp-coach-copy{padding:80px 6% 80px 4% !important;}
.sp-coach-role p{
  font-family:var(--sp-head);
  font-weight:500;
  font-size:15px;
  letter-spacing:.04em;
  color:var(--sp-ink);
  margin-bottom:18px !important;
}
.sp-badge{max-width:120px;}

/* --------------------------------------------------------------------------
   9. FRANJA ROJA DE DEPORTES
   -------------------------------------------------------------------------- */
.sp-sports p{
  margin:0 !important;
  font-family:var(--sp-head) !important;
  font-weight:500;
  font-size:28px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  line-height:1.6;
}
.sp-sports span{
  display:inline-block;
  margin:0 22px;
  font-size:12px;
  vertical-align:middle;
  opacity:.85;
}

/* --------------------------------------------------------------------------
   10. TARJETAS DE FILOSOFIA (numero + texto)
   -------------------------------------------------------------------------- */
.sp-card{
  background:#fff;
  border:8px solid var(--sp-red);
  padding:26px 30px;
  height:100%;
}
.sp-card-inner{display:flex;align-items:flex-start;gap:22px;}
.sp-card .sp-num{
  flex:0 0 auto;
  font-family:var(--sp-head);
  font-weight:500;
  font-size:135px !important;
  line-height:.82;
  color:var(--sp-red);
}
.sp-card h4{
  font-family:var(--sp-head) !important;
  font-weight:500;
  font-size:23px;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:var(--sp-ink);
  margin:0 0 8px;
  padding:0;
}
.sp-card p{
  font-size:15px;
  line-height:1.6;
  color:var(--sp-body);
  margin:0 !important;
}

/* --------------------------------------------------------------------------
   11. TESTIMONIALES
   -------------------------------------------------------------------------- */
.sp-testi-role p{
  font-family:var(--sp-head);
  font-weight:600;
  font-size:16px;
  letter-spacing:.06em;
  color:var(--sp-red);
  margin:0 0 20px !important;
}
.sp-stats{display:flex;gap:42px;flex-wrap:wrap;}
.sp-stat{text-align:center;}
.sp-stat-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  width:76px;height:76px;
  margin:0 auto 12px;
  border:2px solid var(--sp-red);
  border-radius:50%;
}
.sp-stat-ico svg{width:34px;height:34px;fill:none;stroke:var(--sp-red);stroke-width:2;}
.sp-stat p{
  font-family:var(--sp-head);
  font-weight:600;
  font-size:13px;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
  color:#fff;
  margin:0 !important;
}
.sp-slider-nav{text-align:right;}
.sp-slider-nav a{
  display:inline-block;
  width:44px;height:44px;
  margin-left:10px;
  border:2px solid #fff;
  border-radius:50%;
  line-height:40px;
  text-align:center;
  color:#fff;
  font-size:16px;
  transition:.25s ease;
}
.sp-slider-nav a:hover{background:var(--sp-red);border-color:var(--sp-red);}

/* --------------------------------------------------------------------------
   12. GALERIA A SANGRE
   -------------------------------------------------------------------------- */
.sp-gal .et_pb_image_wrap,.sp-gal img{display:block;width:100%;}
.sp-gal img{height:300px;object-fit:cover;}

/* --------------------------------------------------------------------------
   13. FOOTER
   -------------------------------------------------------------------------- */
.sp-foot-title p{
  font-family:var(--sp-head) !important;
  font-weight:600;
  font-size:13px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 18px !important;
}
.sp-foot-title p:after{
  content:"";
  display:inline-block;
  width:26px;height:2px;
  margin-left:12px;
  vertical-align:middle;
  background:var(--sp-red);
  transform:skewX(-28deg);
}
.sp-foot-text p{font-size:14px;line-height:1.9;color:#B9B9B9;margin:0 !important;}
.sp-foot-bar p{font-size:12px;color:#8A8A8A;margin:0 !important;}
.sp-nl-form{display:flex;max-width:400px;}
.sp-nl-form input[type=email]{
  flex:1 1 auto;
  height:46px;
  padding:0 14px;
  border:1px solid #3A3A3A;
  background:#fff;
  color:var(--sp-ink);
  font-family:var(--sp-text);
  font-size:14px;
}
.sp-nl-btn{
  height:46px;
  padding:0 26px;
  border:0;
  background:var(--sp-red);
  color:#fff;
  font-family:var(--sp-head);
  font-weight:600;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  -webkit-clip-path:polygon(var(--sp-skew) 0,100% 0,100% 100%,0 100%);
  clip-path:polygon(var(--sp-skew) 0,100% 0,100% 100%,0 100%);
  transition:background .25s ease;
}
.sp-nl-btn:hover{background:var(--sp-red-dark);}
.sp-social .et_pb_social_media_follow li a.icon{background:transparent !important;}
.sp-social .et_pb_social_media_follow li a.icon:before{color:#fff;font-size:15px;}
.sp-social .et_pb_social_media_follow li a.icon:hover:before{color:var(--sp-red);}

/* --------------------------------------------------------------------------
   15. HERO CON FOTO DE FONDO (paginas internas)
   -------------------------------------------------------------------------- */
.sp-h1-light h1{color:#fff;}
.sp-hero-dark p{color:#EDEDED;}

/* --------------------------------------------------------------------------
   16. TARJETA DE PROGRAMA
   -------------------------------------------------------------------------- */
.sp-prog{
  position:relative;
  background:#fff;
  border:clamp(4px,.5vw,7px) solid var(--sp-red);
  padding:clamp(26px,3vw,42px) !important;
}
.sp-prog .sp-prog-ico{
  position:absolute;
  top:clamp(20px,2.4vw,34px);
  right:clamp(20px,2.4vw,34px);
  width:clamp(54px,6vw,86px);
  margin:0 !important;
}
.sp-prog-title h3{
  margin:0 0 clamp(14px,1.6vw,22px);
  padding:0;
  font-family:var(--sp-head) !important;
  font-weight:400;
  font-size:clamp(24px,2.6vw,36px);
  line-height:1.05;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:var(--sp-ink);
  max-width:68%;                
}
.sp-prog-title h3 span{display:block;color:var(--sp-red);}
.sp-prog-text p{font-size:14px;line-height:1.8;color:var(--sp-body);}
.sp-prog-text strong{color:var(--sp-ink);font-weight:700;}

.sp-prog-list ul{margin:0;padding:0;list-style:none;}
.sp-prog-list li{
  position:relative;
  margin:0 0 clamp(6px,.7vw,10px);
  padding:0 0 0 22px;
  font-size:14px;
  line-height:1.5;
  color:var(--sp-body);
  list-style:none;
}
.sp-prog-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.5em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--sp-red);
}

/* --------------------------------------------------------------------------
   17. FILA DE PASOS QUE MONTA SOBRE LA FOTO DE ARRIBA
   -------------------------------------------------------------------------- */
.sp-steps{position:relative;z-index:5;margin-top:clamp(-130px,-7vw,-56px) !important;}
.sp-card .sp-sub{
  display:block;
  margin:0 0 8px;
  font-family:var(--sp-text);
  font-weight:700;
  font-size:13.5px;
  line-height:1.4;
  color:var(--sp-ink);
}

/* --------------------------------------------------------------------------
   18. HOME: hero oscuro con resplandor rojo
   -------------------------------------------------------------------------- */
.sp-hero-home.et_pb_section{
  background:
    radial-gradient(ellipse 62% 58% at 63% 58%,
      rgba(236,28,36,.92) 0%,
      rgba(198,20,26,.55) 32%,
      rgba(96,8,11,.18) 58%,
      rgba(0,0,0,0) 76%),
    #050505;
}
.sp-hero-runner{
  position:relative;
  z-index:3;
  margin-bottom:-140px !important;
}

/* --------------------------------------------------------------------------
   19. TARJETAS DE SERVICIO SOBRE FOTO 
   -------------------------------------------------------------------------- */
.sp-svc{
  border:5px solid var(--sp-red);
  background:transparent;
  padding:26px 28px !important;
  height:100%;
}
.sp-svc h3{
  margin:0 0 14px;
  padding:0;
  font-family:var(--sp-head) !important;
  font-weight:600;
  font-size:26px;
  line-height:1.05;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#fff;
}
.sp-svc p{
  margin:0 !important;
  font-size:14px;
  line-height:1.7;
  color:#E6E6E6;
}

/* --------------------------------------------------------------------------
   14. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:1100px){
  .sp-h1 h1{font-size:42px;}
  .sp-h2 h2{font-size:34px;}
  .sp-coach-copy{padding:60px 6% !important;}
}

@media (max-width:980px){
  .sp-hero-img{margin-bottom:0;}
  .sp-hero-img:before{width:70%;left:15%;}
  .sp-quote-wrap{margin-top:36px;}
  .sp-nav .et_pb_menu__wrap{justify-content:center;}
  .sp-sports p{font-size:15px;}
  .sp-sports span{margin:0 12px;}
  .sp-card{margin-bottom:24px;}
  .sp-gal img{height:220px;}
  .sp-slider-nav{text-align:left;margin-top:18px;}
  .sp-inline-cta .et_pb_button_module_wrapper{display:block;margin-right:0 !important;}
  .sp-inline-cta .et_pb_image{display:block;margin-top:8px !important;}
  .sp-steps{margin-top:-40px !important;}
  .sp-prog-title h3{max-width:100%;}
  .sp-prog .sp-prog-ico{position:static;margin:0 0 16px !important;}
  .sp-hero-home.et_pb_section{background:radial-gradient(ellipse 70% 46% at 50% 34%,rgba(236,28,36,.85) 0%,rgba(150,14,18,.35) 45%,rgba(0,0,0,0) 72%),#050505;}
  .sp-hero-runner{margin-bottom:-40px !important;}
  .sp-svc{margin-bottom:20px;}
}

@media (max-width:767px){
  .sp-h1 h1{font-size:34px;}
  .sp-h2 h2{font-size:28px;}
  .sp-card-inner{gap:14px;}
  .sp-card .sp-num{font-size:48px;}
  .sp-stats{gap:26px;justify-content:flex-start;}
  .sp-gal img{height:180px;}
  .sp-nl-form{flex-wrap:wrap;}
  .sp-nl-form input[type=email]{flex:1 0 100%;margin-bottom:10px;}
  .sp-btn.et_pb_button{padding:13px 60px !important;font-size:14px !important;}
  .sp-hero-runner{margin-bottom:-20px !important;}
}

/* Accesibilidad: foco visible y respeto a reduced motion */
.sp-btn.et_pb_button:focus-visible,.sp-nl-btn:focus-visible{outline:3px solid #fff;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important;}}