/* The Sweet Science Boxing Fitness - el ring cronometrado */
:root{--ink:#1c1c1c;--ink2:#262626;--ink3:#141414;--line:#3a3a3a;--paper:#ececec;--paper2:#dedcd9;--red:#a7373a;--hot:#ee5a5e;--led:#ff4a3d;--dock:0px;--hd:64px;
--f-d:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;--f-b:'Schibsted Grotesk',system-ui,sans-serif;--f-led:'Doto','Courier New',monospace;--f-s:'Kaushan Script',cursive;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:calc(var(--hd) + 12px);-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--paper);font:400 1rem/1.62 var(--f-b);overflow-x:clip;padding-bottom:var(--dock)}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid #fff;outline-offset:3px}
.paper :focus-visible,.plans :focus-visible,.faq :focus-visible,.card :focus-visible{outline-color:var(--ink)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 14px;z-index:99}.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--f-d);font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:-.005em;text-wrap:balance}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
section{position:relative}
.label{font:700 .8rem/1 var(--f-b);letter-spacing:.2em;text-transform:uppercase;color:var(--hot);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.label::before{content:"";width:28px;height:2px;background:currentColor}
h2{font-size:clamp(2.3rem,6.2vw,5rem);margin-bottom:20px;max-width:16ch}
.lead{max-width:56ch;font-size:1.1rem;opacity:.85;margin-bottom:34px}
.src{font-size:.82rem;opacity:.65;max-width:70ch;margin-top:22px}

/* botones */
.btn{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;border-radius:4px;min-height:48px;padding:12px 20px;transition:transform .25s var(--ease),background .25s,color .25s,border-color .25s}
.btn svg{width:22px;height:22px;fill:currentColor;flex:none}
.btn-call{background:var(--red);color:#fff;font-size:.95rem;padding:10px 16px}.btn-call b{font-family:var(--f-led);font-weight:800;font-size:1.05rem;letter-spacing:.02em}
.btn-big,.btn-xl{background:var(--red);color:#fff;font-size:1.05rem;padding:14px 26px}
.btn-big span,.btn-xl span{display:flex;flex-direction:column;line-height:1.1;text-align:left}
.btn-big b,.btn-xl b{font-family:var(--f-d);font-size:2rem;font-weight:800;letter-spacing:.01em;margin-top:2px}
.btn-xl{width:100%;padding:22px 26px;min-height:96px;justify-content:center;gap:18px}.btn-xl svg{width:34px;height:34px}.btn-xl b{font-size:clamp(1.9rem,8.4vw,3.6rem);white-space:nowrap}.btn-xl{gap:12px;padding-inline:16px}
.btn-ghost{border:2px solid currentColor;padding:10px 20px}
.btn:hover{transform:translateY(-2px);background:#bd4246;color:#fff}
.btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn:active{transform:translateY(1px) scale(.99)}
.btn.inline{margin-top:36px}
.btn-row{width:100%;justify-content:space-between;border:1px solid var(--line);background:var(--ink2);padding:14px 20px;min-height:68px}
.btn-row span{display:flex;flex-direction:column;font-size:1.05rem}.btn-row small{font-weight:400;opacity:.72;font-size:.85rem;overflow-wrap:anywhere}
.btn-row i{font-style:normal;font-size:1.5rem;color:var(--hot);transition:transform .25s var(--ease)}
.btn-row:hover{background:#303030;border-color:var(--hot)}.btn-row:hover i{transform:translateX(5px)}

/* cabecera */
.top{position:fixed;inset:0 0 auto 0;height:var(--hd);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 max(14px,env(safe-area-inset-left));background:rgba(28,28,28,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand-glove{width:34px;height:34px;border-radius:50%;background:#fff radial-gradient(circle at 40% 45%,var(--red) 0 46%,transparent 47%);border:2px solid var(--red);flex:none}
.brand-t{font:800 1.15rem/1 var(--f-d);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.brand-t small{display:block;font:700 .62rem/1.2 var(--f-b);letter-spacing:.24em;color:var(--hot);margin-top:3px}
.top-r{display:flex;align-items:center;gap:10px}.top-call{display:none}
.lang{position:relative;display:grid;grid-template-columns:1fr 1fr;width:84px;height:40px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font:700 .8rem/1 var(--f-b);letter-spacing:.08em;overflow:hidden}
.lang-o{position:relative;z-index:1;display:grid;place-items:center;color:var(--paper);transition:color .3s}.lang-o.on{color:#fff}
.lang-thumb{position:absolute;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:99px;background:var(--red)}
.lang[data-cur=en] .lang-thumb{left:3px;animation:thEn .6s var(--ease)}.lang[data-cur=es] .lang-thumb{left:calc(50%);animation:thEs .6s var(--ease)}
@keyframes thEn{from{transform:translateX(100%)}}@keyframes thEs{from{transform:translateX(-100%)}}

/* barra de asaltos: lateral en escritorio, dock abajo en movil */
.rail{display:none}
.dock{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;background:var(--ink3);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.dock a,.dock button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:.85rem;background:none;border:0;border-left:1px solid var(--line);cursor:pointer;padding:0 4px;text-transform:uppercase;letter-spacing:.06em}
.dock .dock-call{background:var(--red);color:#fff;border:0;font-size:.95rem;letter-spacing:.03em}.dock svg{width:20px;height:20px;fill:currentColor}
.sheet{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.72);display:flex;align-items:flex-end}.sheet[hidden]{display:none}
.sheet-in{width:100%;background:var(--ink2);padding:22px 20px calc(22px + env(safe-area-inset-bottom));border-top:3px solid var(--red);max-height:85vh;overflow:auto}
.sheet ol{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.sheet a{display:flex;gap:10px;align-items:baseline;min-height:48px;padding:8px 0;text-decoration:none;font:800 1.5rem/1 var(--f-d);text-transform:uppercase;border-bottom:1px solid var(--line)}
.sheet i,.rail i{font:800 .8rem/1 var(--f-led);color:var(--led);font-style:normal;letter-spacing:.04em}
.sheet-x{margin-top:16px;width:100%;min-height:48px;border:2px solid var(--line);background:none;font-weight:700;cursor:pointer}

/* hero */
.hero{padding:calc(var(--hd) + 28px) 0 56px;display:grid;gap:30px;width:min(1280px,100% - 32px);margin-inline:auto}
.kicker{font:700 .78rem/1.3 var(--f-b);letter-spacing:.18em;text-transform:uppercase;color:var(--hot);margin-bottom:16px}
.hero h1{font-size:clamp(2.7rem,12.5vw,7.2rem);font-weight:900;line-height:.9;margin-bottom:22px}
.h1a{display:block}.h1b{display:block;color:var(--hot)}
.sub{font-size:1.12rem;max-width:46ch;opacity:.9;margin-bottom:28px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.note{margin-top:20px;font-size:.92rem;opacity:.8}.rate{display:inline-block;margin-left:6px;color:var(--hot);font-weight:700}
.hero-pic{position:relative}
.hero-pic>img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border:1px solid var(--line);filter:saturate(1.03) contrast(1.02)}
.clock{position:absolute;left:12px;bottom:12px;background:rgba(10,10,10,.9);border:2px solid #333;border-radius:6px;padding:12px 16px 10px;box-shadow:0 18px 40px rgba(0,0,0,.5);min-width:min(260px,calc(100% - 24px))}
.clock-lab{font:700 .66rem/1 var(--f-b);letter-spacing:.22em;color:#d8d8d8}
.clock-dig{font:800 clamp(2.8rem,9vw,4.4rem)/1 var(--f-led);color:var(--led);text-shadow:0 0 14px rgba(255,74,61,.55);letter-spacing:.02em;font-variant-numeric:tabular-nums;margin:6px 0 4px}
.clock-st{font:700 .74rem/1.2 var(--f-b);letter-spacing:.08em;color:#d8d8d8;text-transform:uppercase}
.clock.open .clock-st::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#46d17b;margin-right:8px}
.clock.shut .clock-st::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--led);margin-right:8px}
.clock-note{font-size:.78rem;opacity:.55}

/* estaciones (servicios): recorrido horizontal con reloj */
.stations{background:var(--ink3);border-block:1px solid var(--line);padding:70px 0 80px}
.pin{width:min(1280px,100% - 32px);margin-inline:auto}
.st-head{max-width:700px;margin-bottom:34px}.st-head h2{max-width:20ch;font-size:clamp(2.1rem,5.4vw,4.2rem)}.st-head p{opacity:.85;max-width:52ch}
.rclock{margin-top:26px;border:2px solid #333;background:#0d0d0d;padding:14px 18px;border-radius:6px;max-width:420px}
.rc-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:700 .8rem/1 var(--f-b);letter-spacing:.22em;color:#d8d8d8}
.rc-dig{font:800 clamp(2.6rem,8vw,3.6rem)/1 var(--f-led);color:var(--led);text-shadow:0 0 12px rgba(255,74,61,.5);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.rc-bar{height:14px;background:#262626;margin-top:12px;overflow:hidden;border-radius:2px}
.rc-bar i{display:block;height:100%;width:100%;transform-origin:left;transform:scaleX(.02);background:var(--hot)}
.rclock.ding{animation:ding .5s var(--ease)}@keyframes ding{0%{box-shadow:0 0 0 0 rgba(255,74,61,.9)}100%{box-shadow:0 0 0 22px rgba(255,74,61,0)}}
.track{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}
.st{position:relative;background:var(--ink2);border:1px solid var(--line);padding:22px 20px 24px;min-height:230px;display:flex;flex-direction:column}
.st-n{font:800 .78rem/1 var(--f-led);letter-spacing:.08em;color:var(--led)}
.st h3{font-size:clamp(2rem,4vw,2.9rem);margin:18px 0 12px}.st p{opacity:.82;max-width:34ch}
.st-t{position:absolute;right:18px;top:16px;font:800 1.4rem/1 var(--f-led);color:#8a8a8a}
.st-end{background:var(--red);border-color:var(--red);color:#fff}.st-end .st-n{color:#fff}.st-end p{opacity:.92}
.hs-on{padding:0}
.hs-on .pin{height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:var(--hd);gap:6px;width:100%}
.hs-on .st-head{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;max-width:none;align-items:end;margin:0 0 26px;padding-inline:max(16px,calc((100vw - 1280px)/2))}
.hs-on .st-head>*{grid-column:1}.hs-on .st-head .rclock{grid-column:2;grid-row:1/span 3;margin:0;justify-self:end;width:100%}
.hs-on .st-head h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:10px}
.hs-on .track-wrap{overflow:hidden;padding-inline:max(16px,calc((100vw - 1280px)/2))}
.hs-on .track{display:flex;gap:18px;width:max-content;will-change:transform}
.hs-on .st{flex:0 0 clamp(300px,30vw,420px);height:clamp(210px,32vh,280px)}

/* planes */
.plans{background:var(--paper);color:var(--ink);padding:90px 0}.plans .label{color:var(--red)}
.boards{list-style:none;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));margin-bottom:60px}
.board{background:#fff;border:2px solid var(--ink);padding:22px 20px 24px;display:flex;flex-direction:column;gap:6px;min-height:230px}
.board h3{font-size:1.5rem}.price{margin-top:auto;display:flex;flex-direction:column}.price b{font:900 clamp(4rem,9vw,5.6rem)/.9 var(--f-d);font-variant-numeric:tabular-nums}.price span{font-weight:700;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.board p{font-size:.9rem;min-height:1.4em}
.board.hot{background:var(--red);color:#fff;border-color:var(--red)}
.progs-h{font-size:2rem;margin-bottom:18px}
.progs{list-style:none;padding:0;display:grid;gap:26px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.progs li{border-top:4px solid var(--ink);padding-top:14px}.progs h4{font-size:1.6rem;margin-bottom:8px}

/* about */
.about{padding:100px 0;background:var(--ink)}
.bigq{margin:20px 0 40px;border-left:6px solid var(--red);padding-left:clamp(16px,3vw,36px)}
.bigq blockquote{font:800 clamp(1.9rem,5vw,3.8rem)/1.02 var(--f-d);text-transform:uppercase;max-width:30ch;text-wrap:balance}
.bigq figcaption{margin-top:14px;font-size:.85rem;opacity:.7}
.about .wrap{width:min(960px,100% - 40px)}
.faq .wrap{width:min(800px,100% - 40px)}
.about-cols{display:grid;gap:18px 40px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));max-width:none;font-size:1.08rem}

/* galeria */
.gallery{padding:90px 0;background:var(--ink3);border-top:1px solid var(--line)}
.mosaic{width:min(1180px,100% - 40px);margin:30px auto 0;display:grid;gap:12px;grid-template-columns:1fr}
.m{position:relative;overflow:hidden;background:#000;border:1px solid var(--line)}
.m img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.m:hover img{transform:scale(1.04)}
.m figcaption{position:absolute;inset:auto 0 0 0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:.85rem;font-weight:500}
.m3 img,.m4 img,.m5 img{aspect-ratio:auto}
@media(max-width:899px){.m img{height:auto;max-height:70vh}.m3 img{max-height:420px;height:420px}.m4 img,.m5 img{height:auto}}

/* resenas: tarjetas de puntuacion */
.reviews{padding:90px 0;background:var(--ink);border-top:1px solid var(--line)}
.cards{list-style:none;padding:0;columns:1;column-gap:16px;margin-bottom:34px}
.card{break-inside:avoid;margin-bottom:16px;background:var(--paper);color:var(--ink);padding:0 0 18px;border-top:6px solid var(--red)}
.card-h{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:2px solid var(--ink)}
.rd{font:800 1.3rem/1 var(--f-d);text-transform:uppercase;letter-spacing:.05em}.pts{color:var(--red);letter-spacing:.1em;font-size:1.05rem}
.card blockquote{padding:16px 20px 8px;font-size:1rem;line-height:1.62;}
.orig{padding:0 20px;font-size:.85rem}.orig summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font-weight:700;color:var(--red)}.orig p{opacity:.8;margin-bottom:8px}
.by{padding:10px 20px 0;font-weight:700;font-size:.9rem}

/* contacto */
.contact{padding:90px 0;background:var(--ink3);border-top:1px solid var(--line)}
.c-grid{display:grid;gap:30px}
.c-btns{display:grid;gap:10px;align-content:start}
.hours{background:var(--ink2);border:1px solid var(--line);padding:22px}
.hours h3{font-size:1.8rem;margin-bottom:14px}.hours ul{list-style:none;padding:0}
.hours li{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:11px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.hours li.today{background:var(--red);color:#fff;border-color:var(--red);font-weight:700}
.hint{margin-top:12px;font-size:.85rem;opacity:.7}

/* faq / blog */
.faq{padding:90px 0;background:var(--paper);color:var(--ink)}.faq .label{color:var(--red)}
.qs{max-width:none}
.qs details{border-top:2px solid var(--ink)}.qs details:last-child{border-bottom:2px solid var(--ink)}
.qs summary{list-style:none;cursor:pointer;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;font:800 clamp(1.3rem,3vw,1.9rem)/1.05 var(--f-d);text-transform:uppercase;padding:14px 0}
.qs summary::-webkit-details-marker{display:none}.qs summary::after{content:"+";font:800 2rem/1 var(--f-d);color:var(--red);flex:none;transition:transform .3s var(--ease)}
.qs details[open] summary::after{transform:rotate(45deg)}
.qs details p{padding:0 0 22px;max-width:none;font-size:1.05rem}
.blog{padding:90px 0;background:var(--ink)}
.notes{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.notes article{border-top:2px solid var(--line);padding-top:16px}
.nn{font:800 2.4rem/1 var(--f-led);color:var(--led)}.notes h3{font-size:1.9rem;margin:10px 0 12px}.notes p{opacity:.85}

/* pie */
.foot{background:var(--red);color:#fff;padding:60px 0 40px;overflow:hidden}
.foot-big{font:900 clamp(4rem,19vw,16rem)/.82 var(--f-d);text-transform:uppercase;margin-bottom:28px;letter-spacing:-.01em}
.foot-s{font:400 clamp(1.8rem,4vw,3rem)/1 var(--f-s);margin:-6px 0 34px;color:var(--ink)}
.foot-r{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:end}
.foot a{text-underline-offset:3px}.small{font-size:.8rem;opacity:.85;max-width:56ch}

/* movimiento */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.hero-txt>*{animation:rise .9s var(--ease) both}.hero-txt>*:nth-child(2){animation-delay:.08s}.hero-txt>*:nth-child(3){animation-delay:.16s}.hero-txt>*:nth-child(4){animation-delay:.24s}.hero-txt>*:nth-child(5){animation-delay:.32s}
.hero-pic{animation:rise 1.1s .15s var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* tablet */
@media(min-width:600px){.cards{columns:2}.mosaic{grid-template-columns:1fr 1fr}.m1,.m4,.m6,.m5{grid-column:1/-1}.sheet ol{grid-template-columns:1fr 1fr 1fr}.top-call{display:inline-flex}}
@media(min-width:600px) and (max-width:899px){.m3 img{height:420px}}
/* escritorio */
@media(min-width:900px){
 :root{--hd:70px}
 .dock,.sheet{display:none!important}
 .rail{display:block;position:fixed;left:14px;top:50%;transform:translateY(-50%);z-index:35}
 .rail ol{list-style:none;padding:0;display:grid;gap:2px}
 .rail a{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:40px;padding:0 10px;border-left:3px solid var(--line);background:rgba(20,20,20,.7);backdrop-filter:blur(6px);overflow:hidden;width:48px;transition:width .35s var(--ease),border-color .25s,background .25s}
 .rail a span{white-space:nowrap;font:700 .78rem/1 var(--f-b);letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .25s}
 .rail a:hover,.rail a:focus-visible{width:160px}.rail a:hover span,.rail a:focus-visible span{opacity:1}.rail a[aria-current]{border-color:var(--led);background:rgba(60,20,20,.85)}
 main,.foot{padding-left:70px}
 .hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px;padding-top:calc(var(--hd) + 44px)}
 .hero h1{font-size:clamp(3.6rem,7.4vw,7rem)}
 .hero-pic>img{aspect-ratio:4/4.4}
 .clock{left:-32px;bottom:26px}
 .clock-note{grid-column:1/-1}
 .c-grid{grid-template-columns:1.2fr 1fr;gap:40px}
 .cards{columns:3}
 .mosaic{grid-template-columns:repeat(12,1fr);grid-template-rows:440px 250px 360px}
 .m1{grid-column:1/8;grid-row:1}.m2{grid-column:8/13;grid-row:1}
 .m4{grid-column:1/6;grid-row:2}.m3{grid-column:6/9;grid-row:2}.m5{grid-column:9/13;grid-row:2}
 .m6{grid-column:1/-1;grid-row:3}
 .m1,.m2,.m3,.m4,.m5,.m6{grid-column-end:auto}
}
@media(min-width:900px){.m1{grid-column:1/8}.m2{grid-column:8/13}.m4{grid-column:1/6}.m3{grid-column:6/9}.m5{grid-column:9/13}.m6{grid-column:1/13}}
@media(max-width:899px){:root{--dock:calc(58px + env(safe-area-inset-bottom))}}
@media(max-width:380px){.dock a,.dock button{font-size:.7rem;letter-spacing:.02em}.dock .dock-call{font-size:.8rem}.dock svg{display:none}.brand-t small{display:none}.btn-big{width:100%}.btn-big b{font-size:1.7rem}}

/* grano de goma (mat del ring), estatico: biblioteca 03-13 */
.stations::before{content:"";position:absolute;inset:0 0;pointer-events:none;opacity:.1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='300' height='300' filter='url(%23g)'/></svg>")}
.hero>*,.pin{position:relative;z-index:1}
.hero{isolation:isolate}

body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='300' height='300' filter='url(%23g)'/></svg>")}
