/* Pulso — centro de entrenamiento (Cochabamba)
   Identidad: negro carbón + blanco hueso + rojo pulso. Tipografía condensada deportiva
   (Big Shoulders Display) con Barlow para texto. Motivo propio: la línea de electrocardiograma.
   Estructura: landing deportiva + portal de socios con aspecto de app. */
:root{
  --negro:#0c0c0d; --negro-2:#151517; --negro-3:#1e1e21; --hueso:#f4f2ee; --gris:#8d8b87; --gris-2:#c9c6c0;
  --rojo:#ff2e4d; --rojo-2:#e0193a; --ambar:#ffb020; --verde:#2fd27a; --linea:rgba(244,242,238,.12); --linea-o:rgba(12,12,13,.12);
  --display:'Big Shoulders Display', Impact, sans-serif; --sans:'Barlow', system-ui, sans-serif;
  --ancho:1240px; --ease:cubic-bezier(.2,.8,.2,1);
}
[hidden]{display:none!important}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--negro);color:var(--hueso);font-family:var(--sans);font-size:16.5px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--rojo);outline-offset:3px}
h1,h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;line-height:.92;letter-spacing:.005em}
.cont{max-width:var(--ancho);margin:0 auto;padding-inline:24px}
.etq{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rojo);display:inline-flex;align-items:center;gap:10px}
.etq::before{content:"";width:22px;height:3px;background:currentColor;transform:skewX(-20deg)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.08em;
  border:2px solid transparent;cursor:pointer;transition:.25s var(--ease);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.btn svg{width:18px;height:18px;transition:transform .25s}
.btn:hover svg{transform:translateX(4px)}
.btn-rojo{background:var(--rojo);color:#fff}
.btn-rojo:hover{background:var(--rojo-2)}
.btn-hueso{background:var(--hueso);color:var(--negro)}
.btn-hueso:hover{background:#fff}
.btn-linea{border-color:var(--hueso);color:var(--hueso);clip-path:none;border-radius:2px}
.btn-linea:hover{background:var(--hueso);color:var(--negro)}

/* cabecera */
.cab{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .3s, transform .4s var(--ease)}
.cab.solida{background:rgba(12,12,13,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea)}
.cab .cont{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:.02em}
.logo svg{width:44px;height:22px;color:var(--rojo)}
.logo svg path{stroke-dasharray:90;stroke-dashoffset:90;animation:traza 2.6s var(--ease) infinite}
@keyframes traza{40%,100%{stroke-dashoffset:0}}
.cab nav{display:flex;gap:30px;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.06em}
.cab nav a{opacity:.82;transition:opacity .2s}
.cab nav a:hover{opacity:1;color:var(--rojo)}
.cab .acc{display:flex;gap:12px;align-items:center}
.cab .acc .cuenta{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;text-transform:uppercase;letter-spacing:.06em}
.cab .acc .cuenta svg{width:19px;height:19px}
.cab .btn{padding:11px 20px;font-size:13.5px}
.ham{display:none;background:var(--rojo);border:0;width:46px;height:46px;cursor:pointer;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.ham span{display:block;width:20px;height:2px;background:#fff;margin:5px auto}
.menu-m{position:fixed;inset:0;background:var(--rojo);z-index:59;padding:110px 28px 30px;display:flex;flex-direction:column;gap:6px;transform:translateY(-100%);transition:transform .55s var(--ease)}
.menu-m.on{transform:none}
.menu-m a{font-family:var(--display);font-weight:900;font-size:56px;text-transform:uppercase;line-height:1.05}

/* héroe */
.heroe{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:120px 0 90px}
.heroe .foto{position:absolute;inset:0}
.heroe .foto img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.heroe .foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,13,.96) 0%,rgba(12,12,13,.7) 45%,rgba(12,12,13,.2) 100%)}
.heroe .ecg{position:absolute;left:0;right:0;top:56%;height:120px;width:100%;opacity:.9;pointer-events:none}
.heroe .ecg path{fill:none;stroke:var(--rojo);stroke-width:2.5;stroke-dasharray:2400;stroke-dashoffset:2400;animation:ecg 4.5s linear infinite;filter:drop-shadow(0 0 6px rgba(255,46,77,.8))}
@keyframes ecg{to{stroke-dashoffset:-2400}}
.heroe .cont{position:relative;width:100%}
.heroe h1{font-size:clamp(68px,11.5vw,184px);max-width:9ch}
.heroe h1 .rojo{color:var(--rojo)}
.heroe h1 .contorno{-webkit-text-stroke:2px var(--hueso);color:transparent}
.heroe p{font-size:clamp(18px,1.5vw,21px);max-width:44ch;color:var(--gris-2);margin:26px 0 34px}
.heroe .acciones{display:flex;gap:14px;flex-wrap:wrap}
.aforo{display:inline-flex;align-items:center;gap:14px;margin-bottom:26px;background:rgba(12,12,13,.7);border:1px solid var(--linea);padding:10px 16px;backdrop-filter:blur(6px)}
.aforo .barras{display:flex;gap:3px;align-items:flex-end;height:18px}
.aforo .barras i{width:4px;background:var(--gris);border-radius:1px}
.aforo .barras i.on{background:var(--verde)}
.aforo b{font-weight:700}
.aforo span{color:var(--gris-2);font-size:14px}
.heroe .chips{position:absolute;right:24px;bottom:0;display:grid;gap:10px}
.heroe .chip{background:rgba(12,12,13,.78);border-left:4px solid var(--rojo);padding:14px 18px;backdrop-filter:blur(6px);min-width:220px}
.heroe .chip b{font-family:var(--display);font-size:38px;font-weight:900;line-height:1;display:block}
.heroe .chip span{color:var(--gris-2);font-size:14px}
.sube{opacity:0;transform:translateY(40px);animation:sube 1s var(--ease) forwards}
.sube.s2{animation-delay:.12s}.sube.s3{animation-delay:.24s}.sube.s4{animation-delay:.36s}
@keyframes sube{to{opacity:1;transform:none}}

/* cinta inclinada */
.cinta{background:var(--rojo);color:#fff;transform:rotate(-2deg);margin:-30px -20px 0;position:relative;z-index:5;overflow:hidden;padding:16px 0;box-shadow:0 20px 40px -20px rgba(255,46,77,.6)}
.cinta .pista{display:flex;width:max-content;animation:cinta 22s linear infinite}
.cinta span{font-family:var(--display);font-weight:900;font-size:36px;text-transform:uppercase;padding:0 26px;display:inline-flex;align-items:center;gap:52px;white-space:nowrap}
.cinta span::after{content:"✕";font-size:22px;opacity:.7}
@keyframes cinta{to{transform:translateX(-50%)}}

/* secciones */
.sec{padding:130px 0}
.sec.claro{background:var(--hueso);color:var(--negro)}
.sec.claro .etq{color:var(--rojo-2)}
.cab-sec{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px;flex-wrap:wrap}
.cab-sec h2{font-size:clamp(52px,7.6vw,118px);margin-top:14px}
.cab-sec h2 .rojo{color:var(--rojo)}
.cab-sec p{max-width:42ch;color:var(--gris-2);font-size:17.5px}
.sec.claro .cab-sec p{color:#5b5955}

/* clases */
.segmento{display:flex;gap:4px;background:var(--negro-2);padding:4px;border:1px solid var(--linea)}
.sec.claro .segmento{background:#e6e3dd;border-color:var(--linea-o)}
.segmento button{background:none;border:0;padding:10px 18px;font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;color:inherit;opacity:.65;transition:.2s}
.segmento button[aria-pressed="true"]{background:var(--rojo);color:#fff;opacity:1}
.clases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.clase{position:relative;overflow:hidden;background:var(--negro-2);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:transform .4s var(--ease)}
.clase.oculta{display:none}
.clase img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.clase::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,13,.05) 20%,rgba(12,12,13,.95) 85%);z-index:-1}
.clase:hover img{transform:scale(1.07)}
.clase .cuerpo{padding:26px}
.clase .tipo{position:absolute;top:18px;left:18px;background:var(--hueso);color:var(--negro);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px}
.clase h3{font-size:46px}
.clase p{color:var(--gris-2);font-size:15px;margin:8px 0 16px;max-height:0;overflow:hidden;opacity:0;transition:max-height .5s var(--ease),opacity .4s}
.clase:hover p,.clase:focus-within p{max-height:90px;opacity:1}
.clase .meta{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--gris-2)}
.intensidad{display:flex;gap:3px}
.intensidad i{width:14px;height:6px;background:rgba(244,242,238,.25);transform:skewX(-20deg)}
.intensidad i.on{background:var(--rojo)}

/* horario semanal */
.dias{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:24px}
.dias button{background:#fff;border:1px solid var(--linea-o);padding:14px 0;cursor:pointer;text-align:center;transition:.2s;color:var(--negro)}
.dias button small{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#77746f;font-weight:600}
.dias button b{font-family:var(--display);font-size:32px;font-weight:900;line-height:1}
.dias button:hover{border-color:var(--negro)}
.dias button[aria-pressed="true"]{background:var(--negro);color:var(--hueso);border-color:var(--negro)}
.dias button[aria-pressed="true"] small{color:var(--rojo)}
.filtros-h{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filtros-h button{border:1px solid var(--linea-o);background:#fff;border-radius:30px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;color:var(--negro)}
.filtros-h button[aria-pressed="true"]{background:var(--rojo);color:#fff;border-color:var(--rojo)}
.lista-h{display:grid;gap:8px}
.fila-h{display:grid;grid-template-columns:110px 1.4fr 1fr 1fr 180px 140px;gap:20px;align-items:center;background:#fff;border:1px solid var(--linea-o);padding:16px 22px;
  border-left:5px solid var(--c,var(--rojo));animation:entra-f .45s var(--ease) both}
@keyframes entra-f{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}
.fila-h .hora{font-family:var(--display);font-size:30px;font-weight:900;line-height:1}
.fila-h .hora small{display:block;font-family:var(--sans);font-size:12.5px;font-weight:500;color:#77746f}
.fila-h b{font-family:var(--display);font-size:26px;font-weight:800;text-transform:uppercase;line-height:1}
.fila-h .sub{font-size:13.5px;color:#77746f}
.cupos{font-size:13px;color:#5b5955}
.cupos .barra{height:6px;background:#e9e6e0;margin-top:6px;overflow:hidden}
.cupos .barra i{display:block;height:100%;background:var(--verde)}
.cupos.pocos .barra i{background:var(--ambar)}
.cupos.lleno .barra i{background:var(--rojo)}
.fila-h .btn{padding:10px 14px;font-size:12.5px;clip-path:none;border-radius:2px}
.fila-h .btn.hecho{background:var(--verde);color:var(--negro)}
.fila-h .btn:disabled{background:#e9e6e0;color:#9a978f;cursor:not-allowed}
.vacio-h{padding:40px;text-align:center;color:#77746f;background:#fff;border:1px dashed var(--linea-o)}

/* recomendador */
.recomendador{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--linea)}
.rec-preg{padding:48px;background:var(--negro-2)}
.rec-preg h3{font-size:44px;margin:14px 0 30px}
.preg{margin-bottom:30px}
.preg>span{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--gris-2);margin-bottom:12px}
.opciones{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.opciones label{cursor:pointer;position:relative}
.opciones input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0}
.opciones span{display:block;border:1px solid var(--linea);padding:14px 12px;text-align:center;font-weight:600;transition:.2s;background:var(--negro)}
.opciones input:checked+span{border-color:var(--rojo);background:rgba(255,46,77,.12);color:#fff}
.opciones input:focus-visible+span{outline:2px solid var(--rojo);outline-offset:2px}
.rango{display:flex;align-items:center;gap:18px}
.rango input{flex:1;accent-color:var(--rojo);height:6px}
.rango output{font-family:var(--display);font-size:44px;font-weight:900;min-width:110px;text-align:right;line-height:1}
.rec-res{padding:48px;background:var(--rojo);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:30px;position:relative;overflow:hidden}
.rec-res::after{content:"";position:absolute;right:-80px;bottom:-80px;width:300px;height:300px;border:40px solid rgba(255,255,255,.12);border-radius:50%}
.rec-res small{font-weight:700;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.rec-res h3{font-size:clamp(56px,6vw,92px);margin:10px 0}
.rec-res p{font-size:17.5px;max-width:40ch;opacity:.95}
.rec-datos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:1px solid rgba(255,255,255,.3);padding-top:22px;position:relative;z-index:1}
.rec-datos b{font-family:var(--display);font-size:40px;font-weight:900;display:block;line-height:1}
.rec-datos span{font-size:13.5px;opacity:.85}

/* planes */
.periodo{display:inline-flex;background:#e6e3dd;padding:5px;gap:4px;margin-bottom:46px;position:relative}
.periodo button{border:0;background:none;padding:11px 22px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;color:var(--negro);position:relative;z-index:1}
.periodo button[aria-pressed="true"]{background:var(--negro);color:var(--hueso)}
.periodo button em{font-style:normal;background:var(--rojo);color:#fff;font-size:11px;padding:2px 7px;margin-left:6px;vertical-align:middle}
.planes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--linea-o);padding:38px 34px;display:flex;flex-direction:column;position:relative;transition:transform .35s var(--ease),box-shadow .35s}
.plan:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.plan.destacado{background:var(--negro);color:var(--hueso);border-color:var(--negro)}
.plan.destacado .marca-plan{position:absolute;top:-14px;left:34px;background:var(--rojo);color:#fff;font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:6px 14px}
.plan h3{font-size:48px}
.plan .desc{color:#77746f;margin:6px 0 24px}
.plan.destacado .desc{color:var(--gris)}
.plan .precio{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.plan .precio b{font-family:var(--display);font-size:76px;font-weight:900;line-height:.9;font-variant-numeric:tabular-nums;transition:opacity .2s}
.plan .precio span{color:#77746f}
.plan.destacado .precio span{color:var(--gris)}
.plan .ahorro{font-size:14px;font-weight:600;color:var(--verde);min-height:22px}
.plan ul{list-style:none;display:grid;gap:12px;margin:26px 0 32px;flex:1}
.plan li{display:flex;gap:12px;font-size:15.5px}
.plan li svg{width:19px;height:19px;flex:none;color:var(--rojo);margin-top:2px}
.plan li.no{opacity:.4}
.plan li.no svg{color:inherit}
.plan .btn{width:100%}

/* entrenadores (tarjetas que giran) */
.coaches{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.coach{perspective:1200px;aspect-ratio:3/4.2;cursor:pointer;background:none;border:0;padding:0;text-align:left;color:inherit}
.coach .giro{position:relative;width:100%;height:100%;transition:transform .8s var(--ease);transform-style:preserve-3d}
.coach:hover .giro,.coach.girada .giro,.coach:focus-visible .giro{transform:rotateY(180deg)}
.coach .cara{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.coach .frente img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3)}
.coach .frente::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(12,12,13,.92))}
.coach .frente .nom{position:absolute;left:20px;bottom:18px;right:20px;z-index:1}
.coach .frente h3{font-size:36px}
.coach .frente span{color:var(--rojo);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.coach .dorso{transform:rotateY(180deg);background:var(--rojo);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:space-between}
.coach .dorso h3{font-size:40px}
.coach .dorso p{font-size:15.5px;opacity:.95}
.coach .dorso ul{list-style:none;display:grid;gap:6px;font-size:14px;font-weight:600}
.coach .dorso q{font-family:var(--display);font-size:26px;font-weight:800;text-transform:uppercase;line-height:1.05}

/* historias */
.historias{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hist{background:var(--negro-2);border:1px solid var(--linea);padding:32px;position:relative}
.hist .dato{font-family:var(--display);font-size:72px;font-weight:900;color:var(--rojo);line-height:1}
.hist .dato small{font-size:24px;color:var(--hueso);margin-left:6px}
.hist p{margin:14px 0 22px;color:var(--gris-2)}
.hist .quien{display:flex;align-items:center;gap:12px;font-weight:600}
.hist .quien i{width:44px;height:44px;border-radius:50%;background:var(--negro-3);display:grid;place-items:center;font-style:normal;font-family:var(--display);font-weight:900;color:var(--rojo)}
.hist .quien small{display:block;color:var(--gris);font-weight:400}

/* app */
.app-promo{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.app-promo h2{font-size:clamp(52px,6.4vw,100px);margin:14px 0 22px}
.app-promo p{color:var(--gris-2);font-size:18px;max-width:44ch;margin-bottom:26px}
.app-promo ul{list-style:none;display:grid;gap:14px;margin-bottom:34px}
.app-promo li{display:flex;gap:14px;align-items:center;font-weight:600}
.app-promo li i{width:34px;height:34px;background:var(--rojo);display:grid;place-items:center;font-style:normal;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);flex:none}
.app-promo li svg{width:17px;height:17px}
.telefono{width:min(330px,80vw);aspect-ratio:9/19;margin:0 auto;background:#000;border-radius:46px;padding:12px;box-shadow:0 0 0 2px #2a2a2d,0 50px 100px -30px rgba(255,46,77,.35);position:relative;animation:flotar 6s ease-in-out infinite}
@keyframes flotar{50%{transform:translateY(-14px) rotate(1deg)}}
.telefono .pantalla{width:100%;height:100%;border-radius:36px;background:var(--negro-2);overflow:hidden;padding:46px 18px 18px;display:flex;flex-direction:column;gap:12px}
.telefono .muesca{position:absolute;top:22px;left:50%;transform:translateX(-50%);width:90px;height:24px;background:#000;border-radius:20px}
.tel-hola{font-family:var(--display);font-size:30px;font-weight:900;text-transform:uppercase;line-height:1}
.tel-hola small{display:block;font-family:var(--sans);font-size:12.5px;color:var(--gris);font-weight:500;text-transform:none}
.tel-anillo{display:flex;align-items:center;gap:14px;background:var(--negro-3);padding:14px;border-radius:16px}
.tel-anillo svg{width:74px;height:74px;flex:none}
.tel-anillo b{font-family:var(--display);font-size:26px;font-weight:900;display:block;line-height:1}
.tel-anillo span{font-size:12px;color:var(--gris)}
.tel-clase{background:var(--negro-3);border-radius:14px;padding:12px 14px;border-left:4px solid var(--rojo);font-size:13px}
.tel-clase b{display:block;font-family:var(--display);font-size:20px;text-transform:uppercase}
.tel-qr{margin-top:auto;background:var(--hueso);color:var(--negro);border-radius:16px;padding:12px;display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600}
.tel-qr svg{width:54px;height:54px;flex:none}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.faq details{border-bottom:1px solid var(--linea-o)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-family:var(--display);font-size:28px;font-weight:800;text-transform:uppercase;line-height:1.05}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-style:normal;width:34px;height:34px;background:var(--negro);color:#fff;display:grid;place-items:center;flex:none;transition:transform .3s, background .3s;font-family:var(--sans);font-size:20px}
.faq details[open] summary i{transform:rotate(45deg);background:var(--rojo)}
.faq .r{padding:0 54px 24px 0;color:#5b5955}

/* cta prueba */
.prueba{position:relative;overflow:hidden;padding:120px 0;background:var(--rojo);color:#fff}
.prueba .ecg-fondo{position:absolute;inset:0;width:100%;height:100%;opacity:.18}
.prueba .cont{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.prueba h2{font-size:clamp(60px,8vw,128px)}
.prueba p{font-size:19px;margin-top:20px;max-width:40ch}
.form-prueba{background:var(--negro);padding:36px;display:grid;gap:12px}
.form-prueba label{display:grid;gap:6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--gris-2)}
.form-prueba input,.form-prueba select{background:var(--negro-2);border:1px solid var(--linea);padding:14px;color:var(--hueso);font-size:16px;font-weight:500;text-transform:none;letter-spacing:0;border-radius:0}
.form-prueba input:focus,.form-prueba select:focus{outline:none;border-color:var(--rojo)}
.form-prueba .mal{border-color:var(--ambar)}
.form-prueba .btn{margin-top:8px}
.listo{display:none;text-align:center;padding:20px 0}
.listo.on{display:block}
.listo h3{font-size:54px;color:var(--hueso)}
.listo p{color:var(--gris-2);margin:10px auto 0;font-size:16px}

/* pie */
.pie{background:#070708;padding:90px 0 0;border-top:4px solid var(--rojo)}
.pie .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:60px}
.pie h4{font-family:var(--display);font-size:24px;font-weight:900;text-transform:uppercase;margin-bottom:16px}
.pie ul{list-style:none;display:grid;gap:9px;color:var(--gris)}
.pie ul a:hover{color:var(--rojo)}
.pie .sede{color:var(--gris);font-size:15px;margin-bottom:14px}
.pie .sede b{color:var(--hueso);display:block}
.pie .legal{border-top:1px solid var(--linea);padding:22px 0;color:var(--gris);font-size:13px}
.pie .legal .cont{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.pie .legal a{color:var(--rojo)}
.muestra{background:#000;color:var(--gris);font-size:12.5px;text-align:center;padding:10px 16px}
.muestra a{color:var(--hueso);font-weight:600}

/* aviso flotante */
.aviso-t{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);background:var(--hueso);color:var(--negro);padding:14px 22px;font-weight:600;z-index:150;
  transition:transform .45s var(--ease),visibility 0s linear .45s;visibility:hidden;border-left:5px solid var(--rojo);box-shadow:0 20px 40px -10px rgba(0,0,0,.5);max-width:calc(100% - 32px)}
.aviso-t.on{transform:translate(-50%,0);visibility:visible;transition-delay:0s}

/* revelado */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.visto{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}

@media (max-width:1060px){
  .cab nav,.cab .acc .cuenta span{display:none}
  .ham{display:block}
  .cab .acc .btn{display:none}
  .heroe .chips{position:static;margin-top:40px;grid-template-columns:1fr 1fr;display:grid}
  .heroe{align-items:flex-end}
  .clases,.historias{grid-template-columns:1fr 1fr}
  .fila-h{grid-template-columns:90px 1fr 140px;row-gap:10px}
  .fila-h .sala,.fila-h .coach-h{display:none}
  .recomendador,.app-promo,.faq,.prueba .cont{grid-template-columns:1fr}
  .planes{grid-template-columns:1fr;max-width:520px}
  .coaches{grid-template-columns:1fr 1fr}
  .pie .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .sec{padding:90px 0}
  .heroe h1{font-size:clamp(58px,19vw,96px)}
  .heroe .chips{grid-template-columns:1fr}
  .heroe .chip{min-width:0}
  .clases,.historias,.coaches{grid-template-columns:1fr}
  .clase{min-height:340px}
  .clase p{max-height:none;opacity:1}
  .dias{grid-template-columns:repeat(7,minmax(46px,1fr));overflow-x:auto}
  .dias button b{font-size:24px}
  .fila-h{grid-template-columns:70px 1fr;padding:14px}
  .fila-h .cupos{grid-column:1/-1}
  .fila-h .btn{grid-column:1/-1}
  .fila-h .hora{font-size:24px}
  .rec-preg,.rec-res{padding:30px 22px}
  .opciones{grid-template-columns:1fr}
  .rec-datos{grid-template-columns:1fr 1fr 1fr}
  .rec-datos b{font-size:30px}
  .periodo{display:flex;width:100%}
  .periodo button{flex:1;padding:11px 6px;font-size:12px}
  .periodo button em{display:block;margin:4px auto 0;width:max-content}
  .coach{aspect-ratio:4/5}
  .pie .cols{grid-template-columns:1fr}
  .form-prueba{padding:26px 20px}
  .cinta span{font-size:28px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .rv,.sube{opacity:1;transform:none}
}
