/* Versión C: inspirada en el branding de Fitnergym (rojo, negro, blanco), sin copiarlo.
   Se carga después de styles.css y solo cambia el aspecto. */
:root{
  --choc:#D30000;        /* rojo */
  --choc-soft:#7d7d7d;
  --choc-dark:#0B0B0C;   /* titulares sobre claro */
  --cream:#FFFFFF;
  --cream-2:#F3F3F3;
  --white:#F3F3F3;
  --black:#1B1B1C;
  --line:rgba(11,11,12,.14);
  --red:#D30000;
  --red-deep:#7A0000;
  --ink:#0B0B0C;
  --serif-d:'Barlow Condensed','Arial Narrow',Impact,sans-serif;
  --serif-b:'Figtree',system-ui,sans-serif;
  --script:'Barlow Condensed','Arial Narrow',sans-serif;
  --r:2px;
}
body{background:#fff;color:var(--black);font-size:17px}
h1,h2,h3{text-transform:uppercase;letter-spacing:.01em;font-weight:700;line-height:1}
h1{font-size:clamp(3rem,12vw,6.4rem);line-height:.95;color:#fff}
h2{font-size:clamp(2.2rem,7vw,3.8rem)}
h3{font-size:1.7rem}
em{font-style:normal;color:var(--red)}
p,.card p,.machine p,.faq details p,.sub{color:#4a4a4c}
.eyebrow{color:var(--red);font-weight:600;letter-spacing:.24em;display:inline-flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:28px;height:3px;background:var(--red)}
.sec-head .eyebrow,.center .eyebrow{justify-content:center}
.tag{background:#fff3f3;color:var(--red);border-radius:0}

/* Botones: rectos y en mayúsculas */
.btn{background:var(--red);border-color:var(--red);color:#fff;border-radius:2px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.92rem;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,0 100%);padding-right:2.2rem}
.btn:hover{background:#000;border-color:#000;color:#fff;box-shadow:none;transform:translateX(3px)}
.btn-lg{font-size:1rem}
.btn-sm{padding-right:1.4rem;clip-path:none}
.btn-ghost{background:transparent;color:var(--red);clip-path:none;padding-right:1.7rem}
.btn-ghost:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn-light{background:#fff;border-color:#fff;color:#000}
.btn-light:hover{background:#000;border-color:#000;color:#fff}

/* Cabecera y logo */
.topbar{background:#0B0B0C;border-bottom:3px solid var(--red);backdrop-filter:none}
.logo{color:#fff;align-items:center;gap:.4rem}
.logo-script{font-family:var(--serif-d);font-size:1.7rem;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.02em;color:#fff}
.logo-caps{font-family:var(--serif-d);font-weight:800;font-style:italic;font-size:1.7rem;letter-spacing:.02em;color:var(--red)}
.logo-light{color:#fff}

/* Hero */
.hero{background:linear-gradient(115deg,#4a0000 0%,#150000 38%,#0B0B0C 70%);color:#fff}
.hero::before{content:"";position:absolute;right:-8%;top:0;bottom:0;width:46%;background:var(--red);transform:skewX(-14deg);opacity:.9}
.hero .flora,.final .flora,.sec-dark .flora{display:none}
.hero .lead{color:#e6e6e6}
.hero .micro{color:#bdbdbd}
.hero h1 em{color:var(--red);text-shadow:0 0 0 #fff}
.seal{background:#fff;color:#000;border:0;border-radius:0;font-weight:700;letter-spacing:.16em;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);padding:.5rem 1.4rem .5rem 1rem}
.seal-dot{background:var(--red);border-radius:0}
.hero .btn{background:var(--red)}
.hero .btn:hover{background:#fff;border-color:#fff;color:#000}
.ph-hero{box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border:4px solid #fff}
.ph{background:linear-gradient(135deg,#2a2a2c,#555,#D30000)}
.ph img{filter:contrast(1.06) saturate(1.04)}

/* Secciones */
.sec-cream{background:#fff}
.sec-white{background:var(--cream-2)}
.sec-dark{background:#0B0B0C;color:#fff;border-top:4px solid var(--red)}
.sec-dark h2,.sec-dark h3{color:#fff}
.sec-dark .eyebrow{color:#fff}
.sec-dark .eyebrow::before{background:var(--red)}
.claim{font-family:var(--serif-d);font-style:normal;font-weight:700;text-transform:uppercase;color:var(--red);font-size:2rem;letter-spacing:.02em}

/* Tarjetas */
.card{background:#fff;border:0;border-top:4px solid var(--red);box-shadow:0 14px 30px -18px rgba(0,0,0,.35);border-radius:0}
.ico{stroke:var(--red)}
.pills li{border:2px solid var(--red);color:var(--red);border-radius:0;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.role{color:var(--red);font-weight:600}
.machine .ph,.person .ph{border-radius:0}
.ph-wide{border-radius:0}

/* Fitnergym */
.perks{background:rgba(255,255,255,.14);border:0;border-radius:0}
.perks li{background:#0B0B0C;border-left:4px solid var(--red)}
.perks strong{color:#fff;font-weight:700;text-transform:uppercase}
.perks span{color:#cfcfcf;opacity:1}

/* Tarifas */
.plan{background:#fff;border:1px solid var(--line);border-radius:0;color:var(--black)}
.plan-top{background:#0B0B0C;color:#fff;border:0;border-top:6px solid var(--red);box-shadow:0 30px 60px -25px rgba(211,0,0,.55)}
.plan-top h3,.plan-top .price,.plan-top .price span{color:#fff}
.plan-top li{color:#e6e6e6;border-top-color:rgba(255,255,255,.18)}
.plan-top .btn{background:var(--red)}
.plan-top .btn:hover{background:#fff;color:#000;border-color:#fff}
.badge{background:var(--red);color:#fff;border-radius:0;font-weight:700}
.price span{color:#000;font-weight:700}
.plan li{color:#4a4a4c}
.plan.plan-top li{color:#e6e6e6}

/* Horarios */
.sched{background:#fff;border-radius:0;border:1px solid var(--line)}
.sched-head{background:var(--red);color:#fff;font-weight:700}
.sched-row{color:#333}

/* Testimonios */
blockquote{background:#fff;border:0;border-left:5px solid var(--red);border-radius:0;box-shadow:0 14px 30px -20px rgba(0,0,0,.35)}
blockquote p{color:#111;font-size:1.5rem;line-height:1.15;font-weight:600;text-transform:none}
blockquote footer{color:var(--red);font-weight:600}

/* FAQ */
.faq summary{color:#000;text-transform:uppercase;font-size:1.5rem;font-weight:700}
.faq summary::after{color:var(--red)}

/* Final, mapa y pie */
.final{background:linear-gradient(120deg,var(--red) 0%,var(--red-deep) 100%);color:#fff}
.final h2{color:#fff;font-size:clamp(2.4rem,8vw,4.6rem)}
.final em{color:#0B0B0C}
.final .eyebrow{color:#fff}
.final .eyebrow::before{background:#fff}
.final .lead{color:#fff}
.final .btn{background:#fff;color:#000;border-color:#fff}
.final .btn:hover{background:#000;color:#fff;border-color:#000}
.mapsec{background:#fff}
.map iframe{border-radius:0;filter:grayscale(1) contrast(1.05)}
.footer{background:#0B0B0C;border-top:4px solid var(--red);color:#cfcfcf}
.wa-float{border-radius:2px}

/* Textos nuevos: hero, idea, equipo */
.hero h1{font-size:clamp(1.9rem,6.2vw,3.6rem);line-height:1.04;letter-spacing:.005em}
.hero h1 em{display:inline}
.hero-dialog{aspect-ratio:4/5;max-height:560px}
.hero-dialog::after{inset:0 0 auto 0;background:rgba(0,0,0,.45);font-size:.7rem}
.hero-dialog:has(img)::after{display:none}
.dialog{position:absolute;inset:auto 0 0 0;z-index:2;display:flex;flex-direction:column;gap:.7rem;padding:1.2rem;margin:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent)}
.bubble{margin:0;max-width:82%;padding:.7rem 1rem;font-size:1rem;line-height:1.3;font-weight:600;border-radius:2px}
.bubble b{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.7;margin-bottom:.15rem}
.bubble-doc{background:#fff;color:#0B0B0C;align-self:flex-start}
.bubble-pac{background:var(--red);color:#fff;align-self:flex-end}
.idea-open{font-size:1.3rem;font-weight:600;color:#000;line-height:1.4}
.idea-end{font-weight:600;font-size:1.1rem;color:#000;margin-bottom:2rem}
.about{max-width:760px;margin:0 auto 2.6rem;text-align:center}
.about-end{max-width:760px;margin:2.6rem auto 0;text-align:center;font-size:1.15rem;font-weight:600;color:#000}
.faq details p a{color:var(--red);font-weight:600}

/* Cambios de la ronda 2 */
.hero h1 em{color:var(--red)}
.machines-2{max-width:860px;margin-inline:auto}

/* Carrusel del estudio */
.carousel{position:relative;margin-top:3rem}
.car-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch;padding-bottom:.4rem}
.car-track::-webkit-scrollbar{display:none}
.car-track.drag{cursor:grabbing;scroll-snap-type:none}
.car-slide{flex:0 0 78%;margin:0;scroll-snap-align:start}
.car-slide .ph{aspect-ratio:3/4;width:100%;border-radius:0}
.car-slide img{pointer-events:none;-webkit-user-drag:none;object-position:50% 0}
.car-btn{position:absolute;top:calc(50% - 26px);width:52px;height:52px;border:0;background:var(--red);color:#fff;font-size:2rem;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0 0 .2rem;transition:background .2s,opacity .2s;z-index:3}
.car-btn:hover:not(:disabled){background:#000}
.car-btn:disabled{opacity:.25;cursor:default}
.car-prev{left:0}
.car-next{right:0}
.car-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.car-dots i{width:28px;height:4px;background:rgba(0,0,0,.2);transition:background .3s}
.car-dots i.on{background:var(--red)}

/* Quiénes somos */
.creds{list-style:none;margin:0 0 2.4rem;padding:0;display:grid;grid-template-columns:1fr;gap:1rem}
.creds li{background:#fff;border-top:4px solid var(--red);padding:1.4rem 1.4rem 1.5rem;box-shadow:0 14px 30px -20px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:.4rem}
.creds strong{font-family:var(--serif-d);font-size:1.9rem;line-height:1;text-transform:uppercase;color:#000;font-weight:700}
.creds li:first-child strong{font-size:3.6rem;color:var(--red)}
.creds span{font-size:.95rem;color:#4a4a4c;line-height:1.45}
.philosophy{margin:0 auto 2.8rem;max-width:760px;text-align:center;background:none;box-shadow:none;border:0;border-radius:0;padding:0}
.philosophy::before{content:"";display:block;width:46px;height:4px;background:var(--red);margin:0 auto 1.2rem}
.philosophy{font-family:var(--serif-d);font-size:clamp(1.7rem,5vw,2.6rem);line-height:1.1;font-weight:700;text-transform:uppercase;color:#000}
.mission{margin:2.8rem auto 0;max-width:820px;background:var(--red);color:#fff;padding:1.8rem 1.6rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}
.mission .eyebrow{color:#fff;opacity:.85;margin-bottom:.6rem}
.mission .eyebrow::before{background:#fff}
.mission p:last-child{margin:0;font-size:1.2rem;font-weight:600;line-height:1.4;color:#fff}
.people .person p:last-child{max-width:30em;margin-inline:auto}

@media (min-width:760px){
  .car-slide{flex-basis:calc((100% - 2rem) / 3)}
  .creds{grid-template-columns:1fr 1fr 1fr 1fr}
  .mission{padding:2.2rem 2.4rem}
  .mission p:last-child{font-size:1.4rem}
}

/* Ronda 3: logo, botones de la idea, orden de quiénes somos */
.logo{align-items:center;gap:.55rem}
.logo-mark{height:38px;width:auto;display:block}
.footer .logo-mark{height:46px}
.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.btn-row .btn{flex:0 1 auto}
.btn-row .btn-ghost{clip-path:none}
.philosophy{margin-bottom:3rem}
.creds{margin:3.2rem 0 0}
.mission{background:none;color:var(--black);clip-path:none;padding:2.2rem 0 0;margin:3.2rem auto 0;max-width:760px;border-top:1px solid var(--line);text-align:center}
.mission .eyebrow{color:var(--red);opacity:1;justify-content:center;margin-bottom:.9rem}
.mission .eyebrow::before{background:var(--red)}
.mission p:last-child{font-size:clamp(1.15rem,3.4vw,1.5rem);font-weight:500;line-height:1.5;color:#111;max-width:30em;margin-inline:auto}
@media (min-width:760px){
  .mission{padding:2.6rem 0 0}
  .mission p:last-child{font-size:1.5rem}
}

/* Ronda 4: fotos fijas, foto grupal, horarios sin horas */
.gallery3{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:3rem}
.gallery3 figure{margin:0}
.gallery3 .ph{aspect-ratio:3/4;border-radius:0}
.group-photo{margin:0 auto 2.4rem;max-width:460px}
.group-photo .ph{aspect-ratio:3/4;border-radius:0}
.people{max-width:760px}
.person h3{margin-top:0}
.times{display:grid;grid-template-columns:1fr;gap:1rem}
.time-card{background:#fff;border-top:4px solid var(--red);box-shadow:0 14px 30px -20px rgba(0,0,0,.4);padding:1.8rem 1.4rem;text-align:center}
.time-card svg{width:54px;height:54px;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:.6rem}
.time-card h3{margin:0;font-size:1.8rem}
@media (min-width:760px){
  .gallery3{grid-template-columns:repeat(3,1fr)}
  .times{grid-template-columns:1fr 1fr}
}

/* Frase bajo la foto del médico */
.hero-visual{display:flex;flex-direction:column;gap:1rem}
.hero-note{margin:0;color:#fff;font-family:var(--serif-d);font-weight:700;text-transform:uppercase;font-size:clamp(1.3rem,3.6vw,1.9rem);line-height:1.1;letter-spacing:.01em;border-left:4px solid var(--red);padding-left:.9rem}

/* Mapa: sobrio y claro */
.mapsec{background:#fff;padding:5rem 0;position:relative;color:var(--black)}
.mapsec::before{content:none}
.map-head{text-align:center;max-width:680px;margin:0 auto 2.4rem}
.map-head h2{margin:0}
.map-wrap{position:relative;max-width:1100px;margin:0 auto}
.map-frame{position:relative;height:340px;overflow:hidden;background:#e9e9ea;border:1px solid var(--line)}
.map-frame iframe{position:absolute;left:0;top:-90px;width:100%;height:calc(100% + 90px);border:0;filter:grayscale(1) contrast(1.05)}
.map-pin{position:absolute;left:50%;top:calc(50% - 45px);width:34px;height:auto;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.map-card{background:#fff;border-top:4px solid var(--red);box-shadow:0 20px 40px -22px rgba(0,0,0,.45);padding:1.6rem 1.5rem}
.map-tag{margin:0 0 .5rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);font-weight:700}
.map-addr{font-style:normal;font-size:1.3rem;line-height:1.4;color:#000;font-weight:600;margin-bottom:.8rem}
.map-near{font-size:.95rem;color:#4a4a4c;margin-bottom:.6rem}
.map-park{font-size:.95rem;color:#000;font-weight:600;margin:0 0 1.2rem;padding-left:1.4rem;position:relative}
.map-park::before{content:"";position:absolute;left:0;top:.45em;width:.7rem;height:.7rem;background:var(--red)}
.map-btns{display:flex;flex-wrap:wrap;gap:.7rem}
.map-btns .btn{flex:1 1 auto;min-height:48px;padding-right:1.6rem}
@media (min-width:860px){
  .mapsec{padding:7rem 0}
  .map-frame{height:480px}
  .map-card{position:absolute;left:28px;top:28px;width:360px}
}

/* Móvil: cabecera más compacta (el botón "Prueba gratis" no debe romperse en dos líneas) */
@media (max-width:759px){
  .topbar{padding:.5rem 14px}
  .topbar .logo{gap:.4rem}
  .topbar .logo-mark{height:30px}
  .topbar .logo-script,.topbar .logo-caps{font-size:1.25rem}
  .topbar .btn{min-height:36px;padding:.35rem .85rem;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}
}

/* Fotos del estudio con nombre: 2 columnas en móvil, 4 en ordenador */
.machines.studio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem .8rem;margin-top:2.4rem}
.studio-item .ph{aspect-ratio:3/4;width:100%;border-radius:0}
.studio-item h3{margin:.8rem 0 0;font-size:1.3rem;line-height:1.05}
@media (min-width:760px){
  .machines.studio-grid{gap:1.6rem 1.2rem}
  .studio-item h3{font-size:1.6rem}
}
/* 4 fotos: 2 columnas en móvil, 4 en ordenador */
@media (min-width:1000px){
  .machines.studio-grid{grid-template-columns:repeat(4,1fr)}
}

/* Estabilidad en Android y móviles en general */
html,body{overflow-x:clip;max-width:100%}
img,iframe,svg,video{max-width:100%}
@media (hover:none){
  .btn:hover{transform:none}
}
.ck-box{max-height:calc(100vh - 24px)}
@supports (height:100dvh){.ck-box{max-height:calc(100dvh - 24px)}}

/* Ronda 9: La idea en móvil y animaciones de entrada (solo móvil) */
.idea-l1,.idea-l2{display:block}

@media (max-width:759px){
  .sec{overflow-x:clip}

  /* La idea: primera línea del título en una sola línea; "es un error" se queda como está */
  #la-idea h2 .idea-l1{font-size:min(1.75rem,7.1vw);white-space:nowrap;letter-spacing:0;margin-bottom:.2rem}

  /* La idea: frase "Forma parte de la nueva era" en tres líneas con jerarquía */
  #la-idea .claim{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin:1.8rem 0 2.1rem;font-size:1rem}
  #la-idea .claim .cl{display:block}
  #la-idea .claim .cl1{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-family:var(--serif-b);font-size:min(.74rem,3.4vw);letter-spacing:.16em;color:#000;font-weight:700;white-space:nowrap}
  #la-idea .claim .cl1::after{content:"";width:30px;height:3px;background:var(--red)}
  #la-idea .claim .cl2{font-size:min(1.6rem,6.7vw);color:var(--red);white-space:nowrap;line-height:1}
  #la-idea .claim .cl3{font-size:min(1.6rem,6.7vw);color:#fff;background:#000;white-space:nowrap;line-height:1;padding:.3em .75em .24em;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)}

  /* Animaciones al hacer scroll (la sección de tarifas y las preguntas frecuentes no las usan) */
  .js [data-anim].reveal{opacity:0;transition:opacity .75s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
  .js [data-anim="up"].reveal{transform:translateY(36px)}
  .js [data-anim="soft"].reveal{transform:translateY(16px)}
  .js [data-anim="rise"].reveal{transform:translateY(70px)}
  .js [data-anim="left"].reveal{transform:translateX(-56px)}
  .js [data-anim="right"].reveal{transform:translateX(56px)}
  .js [data-anim="zoom"].reveal{transform:scale(.9)}
  .js [data-anim].reveal.in{opacity:1;transform:none}
}

@media (prefers-reduced-motion:reduce){
  .js [data-anim].reveal,.js [data-anim].reveal.in{opacity:1;transform:none;clip-path:none;transition:none}
}
