/* Pulso · gimnasio ficticio. Negro, fotos en blanco y negro y lima eléctrico para lo importante. */
:root{
  --paper:#0b0b0b; --paper2:#161616; --ink:#f2f2ee; --mute:#a3a39c; --mute-on-ink:#55554f;
  --line:rgba(255,255,255,.14); --line-on-ink:rgba(0,0,0,.14);
  --acc:#c6ff00; --acc-text:#c6ff00; --on-acc:#0b0b0b;
  --fd:'Archivo',system-ui,sans-serif; --fd-weight:900; --fd-stretch:125%; --fd-track:-.02em; --fd-case:uppercase; --radius:0px; --foot-size:24vw;
}
.sec-ink .eyebrow{color:#4a6000}
.logo span{font-size:24px}
.hero{position:relative;overflow:hidden;padding:clamp(56px,10vw,150px) 0 clamp(48px,7vw,96px)}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.2),#0b0b0b 96%)}
.hero-in{position:relative;z-index:1}
.hero .h-display{font-size:clamp(3rem,9.4vw,9rem);line-height:.9;max-width:11ch}
.hero-side{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 48px;align-items:end;margin-top:32px}
.hero-side .cta-row{margin-top:0}
.live{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--mute);margin:0 0 20px}
.live b{color:var(--acc)}
.live i{width:10px;height:10px;border-radius:50%;background:var(--acc);animation:beat 1s infinite}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.5)}30%{transform:scale(1)}}

/* el pulso */
.pl-pin{position:relative;height:100svh;display:flex;flex-direction:column;justify-content:space-between;background:#050505;overflow:hidden;padding-block:clamp(20px,5vh,56px)}
.pl-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.pl-say{display:grid;max-width:13ch;margin:0}
.pl-say .say{grid-area:1/1;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s}
.pl-say .say.on{opacity:1;transform:none}
.pl-bpm{display:flex;align-items:flex-end;gap:12px;margin:0;flex:none}
.pl-bpm b{font-size:clamp(5rem,13vw,12rem);line-height:.8;color:var(--acc);font-variant-numeric:tabular-nums}
.pl-bpm span{color:var(--mute);font-size:15px;padding-bottom:8px}
.pl-svg{display:block;width:100%;height:clamp(160px,30vh,300px)}
.pl-base{fill:none;stroke:#1f1f1f;stroke-width:2;vector-effect:non-scaling-stroke}
.pl-line{fill:none;stroke:var(--acc);stroke-width:3.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(198,255,0,.55))}
.pl-dot{position:absolute;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(198,255,0,.35),0 0 30px var(--acc);pointer-events:none}
.pl-foot p{margin:0;color:var(--mute);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.pl-foot b{font-size:clamp(2.2rem,4vw,3.4rem);color:var(--ink);font-variant-numeric:tabular-nums}

/* clases */
.k-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.k-day{color:var(--mute-on-ink);margin:0 0 18px;font-weight:600}
.classes{list-style:none;margin:28px 0 0;padding:0;border-top:2px solid var(--paper)}
.classes li{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,220px) auto;gap:12px 24px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line-on-ink)}
.classes li.past{opacity:.4}
.classes time{font-family:var(--fd);font-weight:900;font-stretch:125%;font-size:1.6rem}
.classes b{display:block;font-size:1.15rem}
.classes small{color:var(--mute-on-ink)}
.spots{display:grid;gap:6px;font-size:14px;color:var(--mute-on-ink)}
.spots i{display:block;height:6px;background:rgba(0,0,0,.1)}
.spots i u{display:block;height:100%;background:#0b0b0b;text-decoration:none;transition:width .5s}
.spots.full i u{background:#b4231b}
.classes button{min-height:44px;padding:0 16px;border:2px solid #0b0b0b;background:none;font-weight:600;font-size:14px;white-space:nowrap}
.classes button:hover{background:#0b0b0b;color:var(--acc)}
.classes button[disabled]{opacity:.4;pointer-events:none}
.classes button.ok{background:#0b0b0b;color:var(--acc)}
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* tarifas */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:40px}
.plans article{border:2px solid var(--line);padding:24px}
.plans article.pick{border-color:var(--acc)}
.plans h3{font-size:1.1rem;margin:0}
.price{font-size:clamp(2.6rem,4.6vw,3.8rem);line-height:1;margin:14px 0}
.price small{font-family:var(--ft);font-size:15px;font-weight:500;color:var(--mute);margin-left:4px;letter-spacing:0}
.plans p{color:var(--mute);margin:0}
.res-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,6vw,96px);align-items:start}
.card-form{background:var(--paper)}
.r-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);margin-top:40px}
.quotes blockquote{margin:0;border-top:2px solid var(--acc);padding-top:18px}
.quotes p{margin:0 0 14px;font-size:1.15rem;line-height:1.45;font-weight:500}
.quotes cite{font-style:normal;color:var(--mute);font-size:15px}
.close .h-display{font-size:clamp(2.8rem,7vw,6.6rem);max-width:15ch}

@media (max-width:1020px){
  .res-grid,.plans,.quotes{grid-template-columns:minmax(0,1fr)}
  .hero-side{grid-template-columns:minmax(0,1fr)}
  .classes li{grid-template-columns:70px minmax(0,1fr) auto}
  .classes .spots{grid-column:2/3}
}
@media (max-width:720px){
  .pl-pin{height:calc(100svh - 64px)}
  .pl-top{flex-direction:column;gap:10px}
  .pl-say{font-size:1.9rem}
  .pl-bpm b{font-size:5.4rem}
  .classes li{grid-template-columns:58px minmax(0,1fr);gap:8px 14px}
  .classes time{font-size:1.25rem}
  .classes .spots,.classes button{grid-column:2/3}
  .classes button{justify-self:start}
  .strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .strip img:last-child{display:none}
}
