/* Gym Titanes - secciones */
section{padding:clamp(72px,10vw,140px) 0}
.sec-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-bottom:clamp(32px,5vw,64px)}
.sec-h h2{font-size:clamp(52px,9vw,128px)}
.sec-h h2 em{font-style:normal;color:var(--hot)}
.sec-h p{max-width:380px;color:var(--mut)}

/* manifiesto */
.mani{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);align-items:center}
.mani h2{font-size:clamp(48px,7.6vw,112px);margin-bottom:28px}
.mani h2 em{font-style:normal;color:var(--hot)}
.mani p{color:#cfccc4;max-width:520px;margin-bottom:14px}
.mani-img{position:relative;aspect-ratio:4/5;background:linear-gradient(160deg,#2a1208,#121214);overflow:hidden}
.mani-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.1);transition:transform 1.2s var(--ease),filter .6s}
.mani-img:hover img{transform:scale(1.05);filter:grayscale(0)}
.mani-img b{position:absolute;left:-1px;bottom:-1px;background:var(--hot);color:#0a0a0b;font:400 clamp(30px,4vw,52px)/1 var(--disp);padding:14px 22px;text-transform:uppercase}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pill-list li{border:1px solid var(--line);padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:860px){.mani{grid-template-columns:1fr}.mani-img{aspect-ratio:4/3;order:-1}}

/* clases */
#clases{background:var(--k2)}
.filters{display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:30px}
.fgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fgroup>span{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin-right:6px}
.chip{min-height:44px;padding:0 18px;background:none;border:1px solid var(--line);color:var(--bone);font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--hot)}
.chip[aria-pressed=true]{background:var(--hot);border-color:var(--hot);color:#0a0a0b}
.sched{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:110px 1fr 220px auto;gap:12px 28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .35s var(--ease),background .35s}
.row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--hot);transition:width .35s var(--ease)}
.row:hover{padding-left:24px;background:var(--k3)}
.row:hover::before{width:6px}
.row .hr{font-family:var(--disp);font-size:44px;line-height:1}
.row h3{font-family:var(--disp);font-weight:400;font-size:clamp(30px,4vw,46px);text-transform:uppercase;line-height:1}
.row small{display:block;font-size:14px;color:var(--mut);margin-top:4px}
.row .co{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.row .btn{min-height:44px}
.row[hidden]{display:none}
.empty{padding:36px 0;color:var(--mut)}
@media(max-width:760px){.row{grid-template-columns:84px 1fr;padding:18px 0}.row .hr{font-size:34px}.row .co{grid-column:2}.row .btn{grid-column:1/-1}.row:hover{padding-left:0}}

/* planes */
.toggle{display:inline-flex;border:1px solid var(--line);margin-bottom:34px}
.toggle button{min-height:48px;padding:0 24px;background:none;border:0;color:var(--bone);font:700 13px var(--body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.toggle button[aria-pressed=true]{background:var(--bone);color:var(--k)}
.plans{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:0;align-items:stretch}
.plan{padding:40px 34px;border:1px solid var(--line);margin-left:-1px;display:flex;flex-direction:column;background:var(--k);transition:background .3s,transform .4s var(--ease)}
.plan:hover{background:var(--k3)}
.plan.top{background:var(--hot);color:#0a0a0b;border-color:var(--hot);padding-block:56px;position:relative;z-index:2}
.plan.top:hover{background:#ff5e33;transform:translateY(-6px)}
.plan .badge{position:absolute;top:0;left:34px;transform:translateY(-50%);background:var(--bone);color:#0a0a0b;font:700 12px var(--body);letter-spacing:.18em;text-transform:uppercase;padding:7px 14px}
.plan h3{font-family:var(--disp);font-weight:400;font-size:34px;letter-spacing:.04em;text-transform:uppercase}
.price{font-family:var(--disp);font-size:clamp(76px,8vw,112px);line-height:.95;margin:10px 0 4px}
.price small{font-size:.32em;letter-spacing:.04em}
.plan .note{font-size:14px;font-weight:600;opacity:.8;min-height:22px;margin-bottom:22px}
.plan ul{margin-bottom:30px;flex:1}
.plan li{padding:11px 0 11px 28px;border-top:1px solid rgba(244,241,234,.14);position:relative;font-size:15.5px}
.plan.top li{border-color:rgba(10,10,11,.25)}
.plan li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:6px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(-45deg)}
.plan.top .btn-hot{background:#0a0a0b;color:var(--bone)}
.plan.top .btn-hot:hover{background:var(--bone);color:#0a0a0b}
.plans-foot{margin-top:22px;color:var(--mut);font-size:14px}
@media(max-width:900px){.plans{grid-template-columns:1fr}.plan{margin-left:0;margin-top:-1px}.plan.top{padding-block:48px;margin-block:18px}}

/* entrenadores */
#coaches{background:var(--k2)}
.coach{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px 36px;align-items:baseline;padding:30px 0;border-top:1px solid var(--line);transition:color .3s}
.coach:last-child{border-bottom:1px solid var(--line)}
.coach .n{font-family:var(--disp);font-size:56px;color:var(--hot);line-height:1}
.coach h3{font-family:var(--disp);font-weight:400;font-size:clamp(40px,6vw,84px);text-transform:uppercase;line-height:.95;transition:transform .4s var(--ease),color .3s}
.coach:hover h3{transform:translateX(14px);color:var(--hot)}
.coach .r{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hot2);margin-bottom:6px;display:block}
.coach p{color:#cfccc4;font-size:16px}
@media(max-width:760px){.coach{grid-template-columns:56px 1fr}.coach .n{font-size:38px}.coach div:last-child{grid-column:1/-1}}

/* transformaciones */
.trans{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px}
.tr{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;justify-content:space-between;min-height:340px;transition:border-color .3s,transform .4s var(--ease)}
.tr:hover{border-color:var(--hot);transform:translateY(-6px)}
.tr:first-child{background:var(--k2);min-height:420px}
.tr .big{font-family:var(--disp);font-size:clamp(64px,9vw,128px);line-height:.9;color:var(--hot)}
.tr .big small{font-size:.35em;color:var(--bone)}
.tr q{display:block;font-size:17px;margin:18px 0;quotes:none;color:#e4e1da}
.tr cite{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.disc{margin-top:20px;font-size:13px;color:var(--mut)}
@media(max-width:900px){.trans{grid-template-columns:1fr}.tr,.tr:first-child{min-height:0}}

/* banda de foto */
.band{padding:0;position:relative;height:clamp(320px,52vw,620px);overflow:hidden;background:linear-gradient(120deg,#2a1208,#0a0a0b)}
.band img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.15)}
.band::after{content:"";position:absolute;inset:0;background:rgba(10,10,11,.45)}
.band p{position:absolute;z-index:2;inset:0;display:grid;place-items:center;text-align:center;font-family:var(--disp);font-size:clamp(48px,10vw,150px);line-height:.92;text-transform:uppercase;padding:0 24px}
.band p em{font-style:normal;color:var(--hot)}

/* faq */
.faq{max-width:900px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:44px;padding:24px 0;font-family:var(--disp);font-size:clamp(26px,3.4vw,38px);text-transform:uppercase;line-height:1.05}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:44px;color:var(--hot);transition:transform .3s var(--ease);flex-shrink:0;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 60px 26px 0;color:#cfccc4;max-width:70ch}
