/* ===== Navegación lateral (paneles horizontales) ===== */
html,body{height:100%;overflow:hidden}
body{display:flex;flex-direction:column;top:0!important}
.nav{position:relative!important;flex:none;background:rgba(251,246,239,.92)!important;border-bottom:1px solid var(--line)!important;box-shadow:0 10px 30px rgba(42,23,38,.05)}
.nav .nav-inner{padding:10px 28px}
.nav-links a{white-space:nowrap}
.nav-links a.is-current{color:var(--lila-deep)!important}
.nav-links a.is-current::after{transform:scaleX(1)!important}
@media (max-width:1240px) and (min-width:881px){.nav-links a{font-size:12px;padding:8px 7px}.brand-mark{font-size:15px}}
.h-track{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}
.h-track::-webkit-scrollbar{display:none}
.h-track>section{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;position:relative;isolation:isolate;padding-bottom:130px;scroll-margin-top:0;scrollbar-width:thin}
.h-track>section>.sec-bg{display:none}
#top{display:flex;flex-direction:column}
#top .hero{width:100%;margin-top:auto;margin-bottom:auto}
#top .h-next-card{margin-top:0}

/* Fotos de fondo visibles */
.h-track>section.has-photo{background:linear-gradient(90deg,rgba(251,246,239,.95) 0%,rgba(251,246,239,.86) 48%,rgba(251,246,239,.5) 100%),var(--bgimg) center 28%/cover no-repeat,var(--cream)}
.h-track>section.has-photo.bg-lila-soft{background:linear-gradient(90deg,rgba(243,227,234,.95) 0%,rgba(243,227,234,.86) 48%,rgba(243,227,234,.5) 100%),var(--bgimg) center 28%/cover no-repeat,var(--lila-soft)}
.h-track>section.has-photo.bg-cream-2{background:linear-gradient(90deg,rgba(243,233,221,.95) 0%,rgba(243,233,221,.86) 48%,rgba(243,233,221,.5) 100%),var(--bgimg) center 28%/cover no-repeat,var(--cream-2)}
.h-track>section.has-photo.bg-ink{background:linear-gradient(90deg,rgba(42,23,38,.93) 0%,rgba(42,23,38,.78) 55%,rgba(42,23,38,.45) 100%),var(--bgimg) center 25%/cover no-repeat,var(--ink)}
.h-track>section.bg-ink::before{display:none}

/* Portada */
.hero-visual{aspect-ratio:4/5!important;max-height:calc(100dvh - 190px);width:auto;justify-self:center}
.hero-photo{object-fit:cover;object-position:50% 22%}
@media (max-width:880px){.hero-visual{aspect-ratio:4/5!important;max-height:none;width:100%}#top{align-items:flex-start}}

/* Transición entre paneles */
.h-track>section>*:not(.sec-bg){transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out)}
.h-track>section:not(.is-active)>*:not(.sec-bg){opacity:.25;transform:translateX(var(--h-off,60px)) scale(.965)}
.h-track[data-dir="prev"]{--h-off:-60px}

/* Barra de control */
.h-ctrl{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:900;display:flex;align-items:center;gap:10px;padding:6px;background:rgba(42,23,38,.92);backdrop-filter:blur(10px);border-radius:999px;box-shadow:0 14px 40px rgba(42,23,38,.3);color:#FBF6EF}
.h-arrow{width:44px;height:44px;border-radius:50%;background:rgba(251,246,239,.1);color:#FBF6EF;font-size:18px;display:grid;place-items:center;transition:background .3s,transform .3s var(--ease-out)}
.h-arrow:hover{background:var(--turq-deep);transform:scale(1.06)}
.h-arrow:disabled{opacity:.3;pointer-events:none}
.h-label{display:flex;align-items:baseline;gap:10px;min-width:170px;justify-content:center;padding:0 6px}
.h-label span{font-size:11px;letter-spacing:.14em;color:#F4B48E;font-weight:700}
.h-label b{font-family:var(--font-display);font-size:19px;font-weight:600;white-space:nowrap}
.h-next-card{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1200px;margin:64px auto 0;padding:26px 30px;border-radius:24px;background:var(--lila-deep);color:#FBF6EF;text-align:left;width:calc(100% - 48px);transition:background .4s,transform .5s var(--ease-out)}
.h-next-card:hover{background:var(--turq-deep);transform:translateY(-3px)}
.h-next-card small{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.8;margin-bottom:4px}
.h-next-card strong{font-family:var(--font-display);font-size:clamp(24px,3vw,34px);font-weight:600}
.h-next-card i{font-style:normal;font-size:28px;transition:transform .4s var(--ease-out)}
.h-next-card:hover i{transform:translateX(6px)}
@media (max-width:600px){.h-label{min-width:0}.h-label b{font-size:16px;max-width:42vw;overflow:hidden;text-overflow:ellipsis}.h-ctrl{bottom:12px;left:16px;transform:none}}
.whatsapp-fab{bottom:18px!important}

/* Fisioterapia agrupada */
.fisio-group{grid-column:1/-1;display:flex;align-items:center;gap:16px;margin:28px 0 4px;font-family:var(--font-display);font-size:clamp(26px,3vw,36px);font-weight:600;color:var(--lila-deep)}
.fisio-group:first-child{margin-top:0}
.fisio-group::after{content:"";flex:1;height:1px;background:var(--line)}

/* Traductor */
.goog-te-banner-frame,body>.skiptranslate,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
font{background:none!important;box-shadow:none!important}

@media (prefers-reduced-motion:reduce){.h-track{scroll-behavior:auto}.h-track>section:not(.is-active)>*{opacity:1;transform:none}}

/* Embarazo: pestañas y subapartados */
.emb-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
.emb-tabs a{display:flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--ink);transition:background .3s,color .3s,transform .35s var(--ease-out),box-shadow .35s}
.emb-tabs a span{font-size:11px;color:var(--turq-deep);letter-spacing:.1em}
.emb-tabs a:hover{background:var(--lila-deep);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(90,35,80,.2)}
.emb-tabs a:hover span{color:#F4B48E}
.emb-sub{display:flex;align-items:baseline;gap:14px;margin:72px 0 22px;font-family:var(--font-display);font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1.05;color:var(--ink)}
.emb-sub em{font-style:italic;color:var(--lila)}
.emb-sub span{font-family:var(--font-body);font-size:13px;font-weight:800;letter-spacing:.14em;color:#fff;background:var(--lila-deep);border-radius:999px;padding:6px 11px;transform:translateY(-6px)}
.emb-sub:first-of-type{margin-top:8px}
.emb-note{margin:-10px 0 20px;color:var(--ink-2);font-size:15px}
.emb-train{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px 32px;border-radius:24px;background:#fff;border:1px solid var(--line)}
.emb-train p{max-width:60ch;color:var(--ink-2);font-size:16px}

/* Sobre mí: galería interactiva */
.about-gallery{display:flex;flex-direction:column;gap:12px}
.ag-main{position:relative;aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--lila-deep);cursor:pointer}
.ag-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%;opacity:0;transform:scale(1.08);transition:opacity .9s var(--ease-out),transform 1.6s var(--ease-out)}
.ag-main img.is-on{opacity:1;transform:scale(1)}
.ag-main:hover img.is-on{transform:scale(1.03)}
.ag-main .about-tag{z-index:3}
.ag-bar{position:absolute;left:24px;right:24px;top:20px;height:3px;border-radius:3px;background:rgba(255,255,255,.3);z-index:3;overflow:hidden}
.ag-bar i{position:absolute;inset:0;background:#fff;transform-origin:left;transform:scaleX(0)}
.ag-bar i.run{animation:agBar 4.5s linear forwards}
@keyframes agBar{to{transform:scaleX(1)}}
.ag-thumbs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.ag-thumbs button{aspect-ratio:1;border-radius:12px;overflow:hidden;opacity:.55;outline:2px solid transparent;outline-offset:2px;transition:opacity .3s,outline-color .3s,transform .35s var(--ease-out)}
.ag-thumbs button img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.ag-thumbs button:hover{opacity:.9;transform:translateY(-3px)}
.ag-thumbs button.is-on{opacity:1;outline-color:var(--lila-deep)}

/* Embarazo: tira de fotos */
.emb-strip{overflow:hidden;margin:34px -24px 10px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.emb-strip-track{display:flex;gap:14px;width:max-content;animation:embScroll 60s linear infinite}
.emb-strip:hover .emb-strip-track{animation-play-state:paused}
.emb-strip img{height:clamp(200px,32vh,320px);width:auto;border-radius:20px;object-fit:cover;box-shadow:0 14px 34px rgba(90,35,80,.14);transition:transform .5s var(--ease-out)}
.emb-strip img:hover{transform:scale(1.04) rotate(-1deg)}
@keyframes embScroll{to{transform:translateX(-50%)}}
.emb-train{flex-direction:column;align-items:stretch}
.emb-train-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.emb-train-photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px}
@media (max-width:700px){.emb-train-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.emb-train-photos img:nth-child(n+4){display:none}}

/* Paneles de programa (Activa / Fuerza) */
.prog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:10px}
@media (max-width:1100px){.prog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.prog-grid{grid-template-columns:1fr}}
.prog-block,.prog-cuota{position:relative;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:24px;padding:26px 24px;transition:transform .5s var(--ease-out),box-shadow .5s}
.prog-block:hover,.prog-cuota:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(90,35,80,.13)}
.prog-block h3{font-family:var(--font-display);font-size:26px;font-weight:600;margin:10px 0 12px;color:var(--ink)}
.prog-n{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:#fff;background:var(--lila-deep);border-radius:999px;padding:5px 10px}
.prog-block .dot-list li{font-size:14.5px;color:var(--ink-2)}
.prog-cuota{background:var(--lila-deep);color:#FBF6EF;border-color:transparent}
.pc-head{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#F4B48E;font-weight:800;margin-bottom:10px}
.pc-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid rgba(251,246,239,.14);font-size:14.5px}
.pc-row strong{font-family:var(--font-display);font-size:24px;font-weight:600}
.pc-link{display:block;margin-top:14px;font-size:13px;font-weight:700;color:#F4B48E!important}
.pc-link:hover{color:#fff!important}
.prog-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.prog-dark .prog-block{background:rgba(251,246,239,.07);border-color:rgba(251,246,239,.14)}
.prog-dark .prog-block h3{color:#FBF6EF}
.prog-dark .prog-block .dot-list li{color:rgba(251,246,239,.82)}
.prog-dark .prog-cuota{background:#FBF6EF;color:var(--ink)}
.prog-dark .pc-head,.prog-dark .pc-link{color:var(--turq-deep)!important}
.prog-dark .pc-row{border-bottom-color:var(--line)}
.prog-quiz-title{display:flex;align-items:center;gap:14px;justify-content:center;margin:56px 0 18px;font-family:var(--font-display);font-size:clamp(28px,3.4vw,42px);font-weight:600;color:#FBF6EF}
.prog-quiz-title span{font-family:var(--font-body);font-size:12px;font-weight:800;letter-spacing:.14em;background:#F4B48E;color:var(--ink);border-radius:999px;padding:6px 11px}

/* Galería */
.gal-tabs{display:flex;align-items:center;gap:14px;justify-content:center;margin:-20px 0 26px;flex-wrap:wrap}
.gal-tabs button{padding:9px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:14px;transition:background .3s,color .3s}
.gal-tabs button:hover{border-color:var(--lila-deep)}
.gal-tabs button.on{background:var(--lila-deep);border-color:var(--lila-deep);color:#fff}
.gal-grid[hidden]{display:none}
.gal-grid:not([hidden]) .gal-item{animation:galIn .7s var(--ease-out) both}
.gal-grid:not([hidden]) .gal-item:nth-child(n){animation-delay:calc(var(--d,0)*1ms)}
@keyframes galIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}
.gal-soon{font-size:13px;color:var(--ink-3)}
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;grid-auto-flow:dense;gap:10px}
.gal-item{position:relative;overflow:hidden;border-radius:16px;padding:0;background:var(--cream-2)}
.gal-item.big{grid-column:span 2;grid-row:span 2}
.gal-item.hero{grid-column:1/-1;grid-row:span 3}
.gal-item.hero img{object-position:50% 45%}
@media (max-width:760px){.gal-item.hero{grid-row:span 2}}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out),filter .4s}
.gal-item:hover img{transform:scale(1.07);filter:saturate(1.1)}
.gal-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(42,23,38,.35));opacity:0;transition:opacity .4s}
.gal-item:hover::after{opacity:1}
@media (max-width:760px){.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}}
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(20,10,18,.92);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1100px,86vw);max-height:84vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:lbIn .45s var(--ease-out)}
@keyframes lbIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.lb-close{position:absolute;top:18px;right:22px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:22px}
.lb-nav:hover,.lb-close:hover{background:var(--turq-deep)}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;letter-spacing:.12em}

.yt-card{display:flex;align-items:center;gap:18px;max-width:760px;margin:0 auto 34px;padding:20px 26px;border-radius:22px;background:#fff;border:1px solid var(--line);color:var(--ink);transition:transform .45s var(--ease-out),box-shadow .45s,border-color .3s}
.yt-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(90,35,80,.14);border-color:#FF0000;color:var(--ink)}
.yt-logo{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#FFF1EE}
.yt-txt{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.yt-txt small{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--turq-deep)}
.yt-txt strong{font-family:var(--font-display);font-size:clamp(22px,2.4vw,28px);font-weight:600;line-height:1.1}
.yt-txt span{font-size:14px;color:var(--ink-2)}
.yt-card i{font-style:normal;font-size:24px;transition:transform .4s var(--ease-out)}
.yt-card:hover i{transform:translateX(6px)}
