  :root{
    --bg: #0b0a10;
    --bg-alt: #121019;
    --card: #17141f;
    --card-line: #2a2534;
    --pink: #ff2f92;
    --pink-soft: #ff8fc4;
    --pink-deep: #a30f5e;
    --white: #f6f3f8;
    --gray: #a49dae;
    --gray-dim: #6f6a7a;
    --radius: 18px;
    --maxw: 1180px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background: var(--bg);
    color: var(--white);
    font-family:'Inter', sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  h1,h2,h3{font-family:'Poppins', sans-serif; font-weight:800; letter-spacing:-0.01em; line-height:1.15; text-wrap:balance;}
  .hero h1{text-wrap:wrap;}
  .section-head p, .protein-banner p, .app-lead{text-wrap:pretty;}
  .eyebrow{color:var(--pink-soft); font-weight:700; font-size:0.95rem;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:15px 30px; border-radius:100px;
    font-family:'Poppins',sans-serif; font-weight:700; font-size:0.98rem;
    border:1px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn-primary{background:linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#100915; box-shadow:0 8px 28px rgba(255,47,146,.35);}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 12px 32px rgba(255,47,146,.5);}
  .btn-ghost{border-color:rgba(255,255,255,.22); color:var(--white);}
  .btn-ghost:hover{border-color:var(--pink-soft); color:var(--pink-soft);}

  /* ---------- Marquee ticker ---------- */
  .ticker{
    background:var(--pink);
    color:#160410;
    font-family:'Poppins',sans-serif; font-weight:700;
    font-size:.88rem; letter-spacing:.02em;
    overflow:hidden; white-space:nowrap; padding:9px 0;
  }
  .ticker-track{display:inline-flex; gap:60px; animation:scroll 26s linear infinite;}
  .ticker-track span{display:inline-flex; align-items:center; gap:10px;}
  .ticker-track span::after{content:"●"; font-size:.5rem; margin-left:60px; opacity:.55;}
  @keyframes scroll{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  @media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }

  /* ---------- Nav ---------- */
  header{position:sticky; top:0; z-index:50; backdrop-filter:blur(14px); background:rgba(11,10,16,.78); border-bottom:1px solid rgba(255,255,255,.06);}
  nav{display:flex; align-items:center; justify-content:space-between; padding:16px 0;}
  nav.wrap{padding-top:10px; padding-bottom:10px;}
  .navcta .btn{white-space:nowrap;}
  .logo{display:flex; align-items:center; gap:12px; font-family:'Poppins',sans-serif; font-weight:900; font-size:1.15rem;}
  .logo-mark{width:40px; height:40px; border-radius:11px; background:#0e0c14; border:1px solid var(--pink); display:flex; align-items:center; justify-content:center; box-shadow:0 0 18px rgba(255,47,146,.55); font-size:1.1rem;}
  .logo small{display:block; font-family:'Inter',sans-serif; font-weight:500; font-size:.62rem; letter-spacing:.14em; color:var(--gray);}
  .navlinks{display:flex; gap:34px; font-weight:600; font-size:.94rem; color:var(--gray);}
  .navlinks a:hover{color:var(--pink-soft);}
  .navcta{display:flex; gap:12px;}
  .navtoggle{display:none; background:none; border:none; color:var(--white); font-size:1.5rem; cursor:pointer;}
  .mobilemenu{display:none;}
  .navlinks a{white-space:nowrap;}
  @media (max-width:1040px){
    .navlinks, .navcta{display:none;}
    .navtoggle{display:block;}
    .mobilemenu.open{display:flex; flex-direction:column; gap:4px; padding:8px 28px 22px; border-top:1px solid rgba(255,255,255,.06);}
    .mobilemenu a{padding:12px 0; font-weight:600; color:var(--gray); border-bottom:1px solid rgba(255,255,255,.05);}
    .mobilemenu a.btn{margin-top:14px; justify-content:center; color:#100915; border-bottom:none;}
  }

  /* ---------- Hero ---------- */
  .hero{position:relative; padding:96px 0 90px; overflow:hidden;}
  .hero::before{
    content:""; position:absolute; top:-220px; right:-160px; width:620px; height:620px;
    background:radial-gradient(circle, rgba(255,47,146,.35), transparent 65%);
    filter:blur(10px); pointer-events:none;
  }
  .hero::after{
    content:""; position:absolute; bottom:-260px; left:-200px; width:520px; height:520px;
    background:radial-gradient(circle, rgba(255,47,146,.14), transparent 70%);
    pointer-events:none;
  }
  .hero-grid{display:grid; grid-template-columns:.95fr 1.05fr; gap:48px; align-items:center; position:relative;}
  @media (max-width:920px){ .hero-grid{grid-template-columns:1fr;} }
  .hero h1{font-size:clamp(2.6rem, 5.6vw, 4.4rem); line-height:1.04; margin:18px 0 22px;}
  .hero h1 em{font-style:normal; color:var(--pink); text-shadow:0 0 30px rgba(255,47,146,.55);}
  .hero p.lead{color:var(--gray); font-size:1.08rem; max-width:480px; margin-bottom:34px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
  .hero-stats{display:flex; gap:34px; margin-top:46px; flex-wrap:wrap;}
  .stat b{display:block; font-family:'Poppins',sans-serif; font-weight:800; font-size:1.7rem; color:var(--white);}
  .stat span{color:var(--gray-dim); font-size:.82rem;}

  .hero-photo{position:relative; border-radius:26px; overflow:hidden; aspect-ratio:3/4; background:linear-gradient(155deg,#221a2b,#0e0c14); border:1px solid var(--card-line);}
  .hero-photo .ph-badge{position:absolute; bottom:22px; left:22px; right:22px; background:rgba(11,10,16,.82); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:14px 16px; display:flex; align-items:center; gap:12px;}
  .ph-dot{width:10px; height:10px; border-radius:50%; background:#33e08a; box-shadow:0 0 10px #33e08a; flex-shrink:0;}
  .hero-photo .ph-fallback{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--gray-dim);}
  .ph-fallback svg{opacity:.3;}

  /* ---------- Section shared ---------- */
  section{padding:88px 0;}
  .section-head{max-width:620px; margin-bottom:48px;}
  .section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem); margin-top:10px;}
  .section-head p{color:var(--gray); margin-top:14px; font-size:1.02rem;}
  .alt{background:var(--bg-alt);}

  /* ---------- About / jefe ---------- */
  .about-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center;}
  @media (max-width:880px){ .about-grid{grid-template-columns:1fr;} }
  #sobre{overflow-x:clip;}
  .coach-photo{aspect-ratio:1/1; position:relative;}
  .coach-photo .ph-fallback{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--gray-dim);}
  .coach-tag{position:absolute; top:16px; left:16px; background:var(--pink); color:#160410; font-family:'Poppins',sans-serif; font-weight:800; font-size:.72rem; padding:6px 12px; border-radius:100px; letter-spacing:.03em; z-index:10; box-shadow:0 0 6px var(--pink), 0 0 14px var(--pink), 0 0 28px rgba(255,47,146,.6); text-shadow:0 0 6px rgba(255,255,255,.5);}
  .team-slide{position:absolute; inset:0; border-radius:22px; overflow:hidden; background:linear-gradient(160deg,#241a2c,#100d17); border:1px solid var(--card-line); box-shadow:0 18px 40px rgba(0,0,0,.45); transition:transform .9s cubic-bezier(.4,0,.2,1), filter .9s ease; z-index:1; transform:translateX(-5.5%) rotate(-3deg) scale(.96); filter:brightness(.7);}
  .team-slide.is-active{z-index:3; transform:none; filter:none;}
  .team-slide.is-next{z-index:2; transform:translateX(5.5%) rotate(3deg) scale(.96);}
  .team-slide:not(.is-active) .coach-tag{opacity:0;}
  .team-slide img{width:100%; height:100%; object-fit:cover; display:block;}
  .team-panels{display:grid;}
  .team-stats{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px;}
  .team-stats li{border:1px solid var(--card-line); background:var(--card); border-radius:100px; padding:6px 14px; box-shadow:0 0 16px rgba(255,47,146,.12);}
  .team-stats b{font-family:'Poppins',sans-serif; font-weight:800; font-size:.88rem; color:var(--pink-soft);}
  .team-reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:6px 0 22px;}
  .mini-rev{margin:0; background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:12px 14px; display:flex; flex-direction:column; gap:6px;}
  .mini-rev .stars{font-size:.72rem;}
  .mini-rev blockquote{margin:0; color:var(--gray); font-size:.84rem; line-height:1.45; font-style:italic; flex:1;}
  .mini-rev figcaption{font-size:.74rem; color:var(--white); font-weight:600;}
  .mini-rev figcaption span{display:block; color:var(--gray-dim); font-weight:500; margin-top:1px;}
  @media (max-width:560px){ .team-reviews{grid-template-columns:1fr;} }
  .about-copy .team-motto{color:var(--pink-soft); font-family:'Poppins',sans-serif; font-weight:700; letter-spacing:.04em;}
  .team-panel{grid-area:1/1; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .7s ease, transform .7s ease, visibility 0s .7s;}
  .team-panel.is-active{opacity:1; visibility:visible; transform:none; transition:opacity .7s ease .2s, transform .7s ease .2s, visibility 0s;}
  @media (prefers-reduced-motion:reduce){ .team-slide,.team-panel,.team-panel.is-active{transition:none;} }
  /* controles del carrusel del equipo: pausa, pestañas con barra de progreso */
  .coach-photo{touch-action:pan-y;}
  .team-ctl{display:flex; align-items:center; gap:14px; margin:14px 0 6px;}
  .tc-pause{flex:none; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border-radius:100px; border:1px solid var(--card-line); background:var(--card); color:var(--pink-soft); font-family:'Poppins',sans-serif; font-weight:700; font-size:.8rem; cursor:pointer; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;}
  .tc-pause:hover{border-color:var(--pink); box-shadow:0 0 18px rgba(255,47,146,.35);}
  .tc-pause:focus-visible,.tc-tab:focus-visible{outline:2px solid var(--pink-soft); outline-offset:3px;}
  .tc-pause .ic-play,.tc-pause .lbl-play{display:none;}
  .tc-pause[aria-pressed="true"]{background:linear-gradient(135deg,var(--pink),var(--pink-deep)); border-color:transparent; color:#100915; box-shadow:0 6px 22px rgba(255,47,146,.4);}
  .tc-pause[aria-pressed="true"] .ic-pause,.tc-pause[aria-pressed="true"] .lbl-pause{display:none;}
  .tc-pause[aria-pressed="true"] .ic-play{display:block;}
  .tc-pause[aria-pressed="true"] .lbl-play{display:inline;}
  .tc-tabs{flex:1; min-width:0; display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
  .tc-tab{display:flex; flex-direction:column; gap:8px; min-height:44px; justify-content:flex-end; padding:0; background:none; border:0; cursor:pointer; text-align:left; font-family:'Poppins',sans-serif; font-weight:600; font-size:.78rem; color:var(--gray-dim); transition:color .2s ease;}
  .tc-tab:hover{color:var(--white);}
  .tc-tab.is-active{color:var(--white);}
  .tc-name{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .tc-bar{display:block; height:4px; border-radius:100px; background:rgba(255,255,255,.14); overflow:hidden;}
  .tc-tab:hover .tc-bar{background:rgba(255,255,255,.24);}
  .tc-bar i{display:block; height:100%; border-radius:100px; background:var(--pink); box-shadow:0 0 8px var(--pink); transform:scaleX(0); transform-origin:left; will-change:transform;}
  .tc-tab.is-active .tc-bar i{transform:scaleX(var(--p,0));}
  .is-holding .tc-tab.is-active .tc-bar i,.is-manual-paused .tc-tab.is-active .tc-bar i{background:var(--pink-soft); box-shadow:none;}
  .is-manual-paused .tc-tab.is-active .tc-bar i{opacity:.55;}
  @media (max-width:560px){ .team-ctl{gap:10px;} .tc-pause{padding:0 12px;} .tc-tabs{gap:8px;} .tc-tab{font-size:.72rem;} }
  .about-copy p{color:var(--gray); margin-bottom:16px; font-size:1.02rem;}
  .about-copy .name{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.5rem; margin-bottom:4px;}
  .about-copy .role{color:var(--pink-soft); font-weight:600; margin-bottom:20px; display:block; font-size:.92rem;}

  /* ---------- Reseñas ---------- */
  .rev-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:40px;}
  .rev-head .section-head{margin-bottom:0; max-width:none;}
  .rev-head .section-head h2{line-height:1.12; margin-top:6px;}
  .rev-score{display:flex; align-items:center; gap:14px; background:var(--card); border:1px solid var(--card-line); border-radius:100px; padding:10px 22px 10px 12px; box-shadow:0 0 24px rgba(255,47,146,.18);}
  .rev-score .g{width:36px; height:36px; border-radius:50%; background:#fff; display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:800; color:#4285f4; font-size:1.1rem;}
  .rev-score b{font-family:'Poppins',sans-serif; font-size:1.35rem; line-height:1;}
  .rev-score small{display:block; color:var(--gray); font-size:.72rem; margin-top:3px;}
  .stars{color:var(--pink); letter-spacing:2px; text-shadow:0 0 10px rgba(255,47,146,.65);}
  .rev-scroll{overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none; cursor:grab; padding:14px 0 22px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
  .rev-scroll::-webkit-scrollbar{display:none;}
  .rev-scroll:active{cursor:grabbing;}
  .rev-track{display:flex; width:max-content;}
  .rev-group{display:flex; gap:22px; padding-right:22px;}
  .rev-card{width:340px; flex:none; background:var(--card); border:1px solid var(--card-line); border-radius:var(--radius); padding:26px 26px 24px; display:flex; flex-direction:column; gap:16px; position:relative; transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; user-select:none;}
  .rev-card:hover{border-color:var(--pink); box-shadow:0 0 0 1px rgba(255,47,146,.35), 0 12px 40px rgba(255,47,146,.22); transform:translateY(-4px);}
  .rev-card::before{content:"\201C"; position:absolute; top:6px; right:20px; font-family:'Poppins',sans-serif; font-weight:800; font-size:4.5rem; line-height:1; color:var(--pink); opacity:.18;}
  .rev-user{display:flex; align-items:center; gap:12px;}
  .rev-avatar{width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--pink),var(--pink-deep)); display:flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:800; color:#fff; box-shadow:0 0 16px rgba(255,47,146,.45);}
  .rev-user b{display:block; font-size:.98rem; line-height:1.25;}
  .rev-user small{color:var(--gray-dim); font-size:.76rem;}
  .rev-text{color:#d9d4e0; font-size:1rem; line-height:1.6;}
  @media (max-width:560px){ .rev-card{width:280px; padding:22px;} }
  /* ---------- Servicios ---------- */
  .cards3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  @media (max-width:920px){ .cards3{grid-template-columns:1fr;} }
  .svc-card{background:var(--card); border:1px solid var(--card-line); border-radius:var(--radius); padding:32px 28px; display:flex; flex-direction:column; gap:16px; transition:border-color .2s ease, transform .2s ease;}
  .svc-card:hover{border-color:var(--pink); transform:translateY(-4px);}
  .svc-icon{width:52px; height:52px; border-radius:14px; background:rgba(255,47,146,.12); display:flex; align-items:center; justify-content:center; color:var(--pink);}
  .svc-card h3{font-size:1.2rem;}
  .svc-card p{color:var(--gray); font-size:.95rem;}
  .svc-card .tagline{color:var(--pink-soft); font-weight:700; font-size:.82rem; margin-top:auto;}
  .svc-card.soon{position:relative; overflow:hidden; border-color:rgba(212,175,55,.5); background:linear-gradient(165deg, rgba(212,175,55,.09), var(--card) 60%); box-shadow:0 0 0 1px rgba(212,175,55,.18), 0 16px 34px rgba(0,0,0,.35);}
  .svc-card.soon:hover{border-color:#d4af37; box-shadow:0 0 0 1px rgba(212,175,55,.4), 0 16px 34px rgba(212,175,55,.15);}
  .svc-card.soon .svc-icon{background:rgba(212,175,55,.16); color:#e8c766; box-shadow:inset 0 0 0 1px rgba(212,175,55,.35);}
  .svc-card.soon h3{color:#f3e2ad;}
  .svc-card.soon .tagline{color:#e8c766;}
  .svc-ribbon{position:absolute; top:24px; right:-48px; width:190px; transform:rotate(45deg); background:linear-gradient(135deg,#f8e6ad,#d4af37 55%,#a9791b); color:#1a1206; font-family:'Poppins',sans-serif; font-weight:800; font-size:.72rem; text-align:center; padding:7px 0; letter-spacing:.05em; text-transform:uppercase; box-shadow:0 3px 10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.5);}

  /* ---------- Tarifas ---------- */
  .prices{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
  @media (max-width:1040px){ .prices{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .prices{grid-template-columns:1fr;} }
  .price-card{background:var(--card); border:1px solid var(--card-line); border-radius:var(--radius); padding:34px 28px; display:flex; flex-direction:column;}
  .price-card.feat{border-color:var(--pink); background:linear-gradient(165deg, rgba(255,47,146,.10), var(--card) 55%); position:relative;}
  .price-card.feat .flag{position:absolute; top:-13px; right:28px; background:var(--pink); color:#160410; font-family:'Poppins',sans-serif; font-weight:800; font-size:.7rem; padding:5px 12px; border-radius:100px;}
  .price-card h3{font-size:1.1rem; font-weight:700; color:var(--gray);}
  @media (min-width:561px){ .price-card h3{min-height:3.3rem;} }
  .price-amt{font-family:'Poppins',sans-serif; font-weight:900; font-size:2.5rem; margin:14px 0 4px; color:var(--white);}
  .price-amt span{font-size:1rem; color:var(--gray-dim); font-weight:500;}
  .price-card ul{list-style:none; margin:22px 0 28px; display:flex; flex-direction:column; gap:11px;}
  .price-card li{color:var(--gray); font-size:.92rem; padding-left:22px; position:relative;}
  .price-card li::before{content:"✓"; position:absolute; left:0; color:var(--pink-soft); font-weight:700;}
  .price-card .btn{margin-top:auto; justify-content:center; width:100%;}
.price-card{transition:border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease;}
.price-card:hover{border-color:var(--pink); background:linear-gradient(165deg, rgba(255,47,146,.16), var(--card) 65%); box-shadow:0 0 0 1px rgba(255,47,146,.35), 0 14px 44px rgba(255,47,146,.25); transform:translateY(-4px);}
.price-card:hover h3{color:var(--pink-soft);}
.price-card:hover .btn-ghost{background:linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#100915; border-color:transparent; box-shadow:0 8px 28px rgba(255,47,146,.35);}
.price-note{margin-top:auto; padding-top:22px; color:var(--gray); font-size:.86rem; line-height:1.45;}

  /* ---------- Proteina / suplementos ---------- */
  .protein-banner{background:linear-gradient(120deg, var(--pink-deep), #6a0e42 60%, #17141f); border-radius:24px; padding:52px; display:flex; justify-content:space-between; align-items:center; gap:40px; flex-wrap:wrap;}
  .protein-banner h2{font-size:clamp(1.6rem,3vw,2.2rem); max-width:520px;}
  .protein-banner p{color:rgba(255,255,255,.78); margin-top:10px; max-width:480px;}

  /* ---------- Contacto / FAQ ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  @media (max-width:920px){ .contact-grid{grid-template-columns:1fr;} }
  .faq-item{border-bottom:1px solid var(--card-line); padding:20px 0;}
  .faq-q{display:flex; justify-content:space-between; align-items:center; gap:14px; cursor:pointer; font-family:'Poppins',sans-serif; font-weight:700; font-size:1rem;}
  .faq-q .plus{color:var(--pink); font-size:1.3rem; transition:transform .2s ease;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; color:var(--gray); font-size:.92rem; transition:max-height .25s ease;}
  .faq-item.open .faq-a{max-height:200px; margin-top:12px;}
  .contact-card{background:var(--card); border:1px solid var(--card-line); border-radius:var(--radius); padding:34px;}
  .contact-row{display:flex; gap:14px; align-items:flex-start; margin-bottom:22px;}
  .contact-row .ic{width:38px; height:38px; border-radius:10px; background:rgba(255,47,146,.12); color:var(--pink); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .contact-row b{display:block; font-size:.95rem;}
  .contact-row span{color:var(--gray-dim); font-size:.86rem;}

  footer{border-top:1px solid var(--card-line); padding:40px 0; margin-top:20px;}
  .foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; color:var(--gray-dim); font-size:.84rem;}
  .foot-links{display:flex; gap:22px;}
  .foot-links a:hover{color:var(--pink-soft);}

/* Menu con 6 enlaces: menos hueco en pantallas medianas */
@media (max-width:1240px){ .navlinks{gap:16px; font-size:.9rem;} .navcta{gap:10px;} .navcta .btn{padding:12px 20px;} }

/* Tarifas: 3 tarjetas (la matricula va dentro de la cuota) */
.prices.three{grid-template-columns:repeat(3,1fr);}
@media (max-width:900px){ .prices.three{grid-template-columns:1fr;} }
.prices.three .price-amt{margin-bottom:0;}
.prices.three .price-card .btn{margin-top:auto;}
.price-extra{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:16px; padding:12px 16px; border:1px dashed rgba(255,47,146,.55); border-radius:12px; color:var(--gray); font-size:.92rem;}
.price-extra b{color:var(--white); font-family:'Poppins',sans-serif; font-size:1.05rem;}
.prices.three .price-note{margin-top:0; padding-top:10px; padding-bottom:22px;}
.igi-note{margin-top:12px; text-align:center; color:var(--gray-dim); font-size:.74rem; letter-spacing:.02em;}
.prices.three .price-amt + .btn{margin-top:auto; }

/* Tarifas: la cuota queda siempre en neon; las demas se iluminan al pasar el raton */
.prices.three .price-card h3{min-height:0;}
@media (min-width:901px){ .prices.three .price-card:nth-child(n+4) h3{min-height:2.3em;} }
.prices.three .price-card.feat{border-color:var(--pink); background:linear-gradient(165deg, rgba(255,47,146,.16), var(--card) 65%); box-shadow:0 0 0 1px rgba(255,47,146,.55), 0 0 22px rgba(255,47,146,.4), 0 0 60px rgba(255,47,146,.2);}
.prices.three .price-card.feat h3{color:var(--pink-soft);}
.prices.three .price-card.feat .btn-ghost{background:linear-gradient(135deg,var(--pink),var(--pink-deep)); color:#100915; border-color:transparent; box-shadow:0 8px 28px rgba(255,47,146,.35);}

/* Hero: carrusel de fotos en alas de mariposa */
.hero-photo{aspect-ratio:auto; overflow:visible; background:none; border:0; border-radius:0;}
.hero-photo::before{content:""; position:absolute; inset:-8% -8%; background:radial-gradient(ellipse at 50% 45%, rgba(255,47,146,.24), transparent 65%); pointer-events:none; z-index:0;}
.wings{position:relative; z-index:1; width:100%; aspect-ratio:6/5; perspective:1800px; cursor:pointer; outline:none; -webkit-tap-highlight-color:transparent;}
.wings:focus-visible{outline:2px solid var(--pink); outline-offset:8px; border-radius:16px;}
.wing{position:absolute; left:50%; top:50%; width:56%; aspect-ratio:3/4; border-radius:16px; overflow:hidden; background:#0e0c14;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,47,146,.10), 0 0 40px rgba(255,47,146,.10);
  transition:transform 1.25s cubic-bezier(.22,.7,.18,1), opacity .95s ease, filter 1.25s ease;
  will-change:transform, opacity;}
.wing img{width:100%; height:100%; object-fit:cover; display:block; user-select:none; -webkit-user-drag:none; pointer-events:none;}
.wing::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(11,10,16,.35), transparent 40%); pointer-events:none;}
/* alas: izquierda (anterior) y derecha (actual), abiertas como una mariposa */
.wing.w0{transform:translate(-50%,-50%) translateX(-35%) rotate(-10deg) rotateY(14deg); z-index:2; opacity:1; filter:brightness(.78) saturate(.95);}
.wing.w1{transform:translate(-50%,-50%) translateX(35%) rotate(10deg) rotateY(-14deg); z-index:3; opacity:1; filter:none;}
.wing.wL{transform:translate(-50%,-50%) translateX(-92%) rotate(-20deg) rotateY(26deg) scale(.82); z-index:1; opacity:0; filter:brightness(.6);}
.wing.wR{transform:translate(-50%,-50%) translateX(92%) rotate(20deg) rotateY(-26deg) scale(.82); z-index:1; opacity:0; filter:brightness(.6);}
.wing.wc{transform:translate(-50%,-50%) scale(.7); z-index:1; opacity:0;}
/* flotado suave: usa las propiedades translate/rotate, que se suman al transform de cada posicion */
.wing{animation:wingFloat 6.4s ease-in-out infinite;}
.wing:nth-child(odd){animation-delay:-1.2s;}
.wing:nth-child(even){animation-delay:-4.4s; animation-duration:7.2s;}
@keyframes wingFloat{
  0%,100%{translate:0 0; rotate:0deg;}
  33%{translate:0 -9px; rotate:.5deg;}
  66%{translate:0 -3px; rotate:-.4deg;}
}
@media (prefers-reduced-motion: reduce){ .wing{animation:none;} }
/* barra inferior: estado + navegacion */
.book-ui{position:relative; z-index:2; display:flex; align-items:center; gap:14px; margin-top:26px;}
.book-ui .ph-badge{position:relative; bottom:auto; left:auto; right:auto; margin:0; flex:1; min-width:0;}
.book-nav{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.bn{width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.2); background:rgba(23,20,31,.85); color:var(--white); display:grid; place-items:center; cursor:pointer; transition:border-color .2s ease, color .2s ease, box-shadow .2s ease, opacity .2s ease;}
.bn:hover:not(:disabled){border-color:var(--pink); color:var(--pink-soft); box-shadow:0 0 16px rgba(255,47,146,.4);}
.bdots{display:flex; align-items:center; gap:6px;}
.bd{width:7px; height:7px; padding:0; border:0; border-radius:100px; background:rgba(255,255,255,.28); cursor:pointer; transition:all .35s ease;}
.bd.on{width:22px; background:var(--pink); box-shadow:0 0 10px var(--pink);}
@media (max-width:920px){ .hero-photo::before{inset:-4%;} }
@media (max-width:560px){ .book-ui{flex-wrap:wrap; justify-content:center;} .book-ui .ph-badge{flex:1 1 100%;} .wing{width:60%;} }
@media (prefers-reduced-motion: reduce){ .wing{transition:opacity .3s ease;} }

/* Tarifas: listas dentro de las tarjetas */
.prices.three .price-card ul{margin:20px 0 26px;}
.prices.three .price-card li{text-wrap:balance;}
@media (min-width:901px) and (max-width:1100px){ .prices.three .price-card{padding:30px 20px;} .prices.three .price-card li{font-size:.84rem; padding-left:20px;} }

/* App de socios */
.app-panel{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding:52px; border-radius:28px; background:linear-gradient(150deg, rgba(255,47,146,.12), var(--card) 55%); border:1px solid rgba(255,47,146,.38); box-shadow:0 0 70px rgba(255,47,146,.13);}
.app-copy h2{font-size:clamp(1.9rem,3.4vw,2.7rem); margin-top:10px;}
.app-lead{color:var(--gray); margin:14px 0 26px; font-size:1.05rem; max-width:520px;}
.app-feats{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; margin-bottom:32px;}
.app-feats li{display:flex; gap:12px; align-items:flex-start;}
.af-ic{width:38px; height:38px; flex-shrink:0; border-radius:11px; background:rgba(255,47,146,.13); color:var(--pink); display:flex; align-items:center; justify-content:center; box-shadow:0 0 16px rgba(255,47,146,.18);}
.app-feats b{display:block; font-family:'Poppins',sans-serif; font-size:.98rem;}
.app-feats li span:not(.af-ic){display:block; color:var(--gray); font-size:.86rem; line-height:1.4; margin-top:2px;}
.app-mock{background:#0b0a10; border:1px solid var(--card-line); border-radius:22px; padding:22px; box-shadow:0 30px 70px rgba(0,0,0,.55), 0 0 44px rgba(255,47,146,.16); animation:wingFloat 7s ease-in-out infinite;}
.am-top{display:flex; align-items:center; gap:9px; font-size:.78rem; color:var(--gray); margin-bottom:16px;}
.am-top em{margin-left:auto; font-style:normal; font-size:.66rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gray-dim); border:1px solid var(--card-line); padding:3px 9px; border-radius:100px;}
.am-dot{width:9px; height:9px; border-radius:50%; background:var(--pink); box-shadow:0 0 10px var(--pink);}
.am-hello{background:linear-gradient(135deg,#17141f,#100d17); border:1px solid var(--card-line); border-radius:16px; padding:16px 18px; margin-bottom:12px;}
.am-hello small{display:block; color:var(--pink); font-weight:700; letter-spacing:.14em; font-size:.62rem;}
.am-hello b{display:block; font-family:'Poppins',sans-serif; font-size:1.25rem; margin:3px 0;}
.am-hello span{color:var(--gray); font-size:.78rem;}
.am-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px;}
.am-stats div{background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:12px 12px;}
.am-stats b{display:block; font-family:'Poppins',sans-serif; font-size:1.15rem;}
.am-stats span{color:var(--gray-dim); font-size:.68rem;}
.am-rank{background:#050409; border:1px solid var(--card-line); border-radius:14px; padding:13px 15px; margin-bottom:12px;}
.am-rank-t{display:flex; justify-content:space-between; gap:10px; font-size:.74rem; margin-bottom:9px;}
.am-rank-t b{font-weight:600;}
.am-rank-t span{color:var(--pink); font-weight:700;}
.am-bar{height:7px; border-radius:100px; background:#231f2c; overflow:hidden;}
.am-bar i{display:block; height:100%; width:43%; border-radius:100px; background:linear-gradient(90deg,var(--pink),var(--pink-soft)); box-shadow:0 0 12px rgba(255,47,146,.6);}
.am-cal{background:var(--card); border:1px solid var(--card-line); border-radius:14px; padding:13px 15px;}
.am-cal-t{display:flex; justify-content:space-between; font-size:.74rem; margin-bottom:10px;}
.am-cal-t span{color:var(--gray-dim);}
.am-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:6px;}
.am-grid i{aspect-ratio:1/1; border-radius:7px; background:#231f2c;}
.am-grid i.on{background:linear-gradient(135deg,var(--pink),var(--pink-deep)); box-shadow:0 0 10px rgba(255,47,146,.5);}
@media (max-width:920px){ .app-panel{grid-template-columns:1fr; padding:30px 22px; gap:34px;} }
@media (max-width:560px){ .app-feats{grid-template-columns:1fr;} }
@media (prefers-reduced-motion: reduce){ .app-mock{animation:none;} }

/* Selector de idioma (banderas) */
.langbar{background:#07060c; border-bottom:1px solid rgba(255,255,255,.06);}
.langbar-in{display:flex; justify-content:flex-end; align-items:center; gap:10px; padding-top:6px; padding-bottom:6px;}
.flag{width:28px; height:28px; border-radius:50%; overflow:hidden; padding:0; cursor:pointer; background:#0e0c14; border:2px solid rgba(255,255,255,.16); opacity:.72; transition:opacity .2s ease, transform .2s ease, border-color .2s ease, box-shadow .2s ease; display:block;}
.flag svg, .flag img{width:100%; height:100%; display:block; object-fit:cover;}
.flag:hover{opacity:1; transform:translateY(-1px);}
.flag:focus-visible{outline:2px solid var(--pink-soft); outline-offset:2px;}
.flag.on{opacity:1; border-color:var(--pink); box-shadow:0 0 0 2px rgba(255,47,146,.25), 0 0 14px rgba(255,47,146,.65);}
@media (max-width:560px){ .langbar-in{justify-content:center;} }

/* Aparicion al hacer scroll (solo si hay JavaScript; respeta "reducir movimiento") */
.js .reveal{opacity:0; transform:translateY(38px) scale(.97); transition:opacity .9s cubic-bezier(.22,.7,.18,1), transform .9s cubic-bezier(.22,.7,.18,1), border-color .2s ease;}
.js .reveal.in{opacity:1; transform:none;}
.js .cards3 .svc-card.reveal:nth-child(2){transition-delay:.14s,.14s,0s;}
.js .cards3 .svc-card.reveal:nth-child(3){transition-delay:.28s,.28s,0s;}
.js .cards3 .svc-card.reveal:nth-child(4){transition-delay:.42s,.42s,0s;}
.js .cards3 .svc-card.reveal:nth-child(5){transition-delay:.56s,.56s,0s;}
.js .cards3 .svc-card.reveal:nth-child(6){transition-delay:.70s,.70s,0s;}
/* el icono aparece con un pequeno rebote, un momento despues de su tarjeta */
.js .svc-card.reveal .svc-icon{opacity:0; transform:scale(.5); transition:transform .7s cubic-bezier(.3,1.5,.5,1) .4s, opacity .5s ease .4s;}
.js .svc-card.reveal.in .svc-icon{opacity:1; transform:none;}
.js .cards3 .svc-card.reveal:nth-child(2) .svc-icon{transition-delay:.54s;}
.js .cards3 .svc-card.reveal:nth-child(3) .svc-icon{transition-delay:.68s;}
.js .cards3 .svc-card.reveal:nth-child(4) .svc-icon{transition-delay:.82s;}
.js .cards3 .svc-card.reveal:nth-child(5) .svc-icon{transition-delay:.96s;}
.js .cards3 .svc-card.reveal:nth-child(6) .svc-icon{transition-delay:1.1s;}
@media (prefers-reduced-motion: reduce){ .js .reveal, .js .svc-card.reveal .svc-icon{opacity:1; transform:none; transition:none;} }

/* Servicios: las tarjetas flotan suavemente, cada una a su ritmo.
   Usa las propiedades translate/rotate, asi se suma al hover y a la animacion de aparicion sin pisarlos. */
.cards3 .svc-card{animation:svcFloat 6.4s ease-in-out infinite; box-shadow:0 16px 34px rgba(0,0,0,.32);}
.cards3 .svc-card:nth-child(1){animation-delay:-.6s;}
.cards3 .svc-card:nth-child(2){animation-delay:-2.9s; animation-duration:7.1s;}
.cards3 .svc-card:nth-child(3){animation-delay:-4.6s; animation-duration:6.7s;}
.cards3 .svc-card:nth-child(4){animation-delay:-1.8s; animation-duration:6.9s;}
.cards3 .svc-card:nth-child(5){animation-delay:-3.5s; animation-duration:7.3s;}
.cards3 .svc-card:nth-child(6){animation-delay:-5.4s; animation-duration:6.5s;}
@keyframes svcFloat{
  0%,100%{translate:0 0; rotate:0deg; box-shadow:0 12px 26px rgba(0,0,0,.34);}
  35%{translate:0 -10px; rotate:.25deg; box-shadow:0 26px 46px rgba(0,0,0,.26), 0 0 30px rgba(255,47,146,.07);}
  70%{translate:0 -4px; rotate:-.2deg; box-shadow:0 19px 38px rgba(0,0,0,.29);}
}
@media (prefers-reduced-motion: reduce){ .cards3 .svc-card{animation:none;} }

/* Selector de idioma compacto en la cabecera (movil y tablet): sustituye a la franja de banderas de arriba */
.langdrop{display:none; position:relative;}
.langdrop-btn{display:flex; align-items:center; gap:6px; padding:4px 10px 4px 4px; border-radius:100px; background:rgba(23,20,31,.85); border:1px solid rgba(255,255,255,.16); color:var(--gray); cursor:pointer; transition:border-color .2s ease, color .2s ease, box-shadow .2s ease;}
.langdrop-btn:hover, .langdrop-btn[aria-expanded="true"]{border-color:var(--pink); color:var(--pink-soft); box-shadow:0 0 14px rgba(255,47,146,.35);}
.langdrop-btn .caret{transition:transform .2s ease;}
.langdrop-btn[aria-expanded="true"] .caret{transform:rotate(180deg);}
.langdrop .flag-ic{width:26px; height:26px; border-radius:50%; overflow:hidden; display:block; flex-shrink:0; background:#0e0c14;}
.langdrop .flag-ic svg, .langdrop .flag-ic img{width:100%; height:100%; display:block; object-fit:cover;}
.langdrop-menu{position:absolute; right:0; top:calc(100% + 10px); min-width:200px; background:#121019; border:1px solid var(--card-line); border-radius:16px; padding:6px; box-shadow:0 20px 50px rgba(0,0,0,.6), 0 0 0 1px rgba(255,47,146,.15); z-index:80;}
.langdrop-menu[hidden]{display:none;}
.lang-item{display:flex; align-items:center; gap:12px; width:100%; padding:9px 12px; border:0; border-radius:11px; background:none; color:var(--white); font:600 .92rem 'Inter',sans-serif; cursor:pointer; text-align:left;}
.lang-item:hover{background:rgba(255,47,146,.12);}
.lang-item.on{color:var(--pink-soft); background:rgba(255,47,146,.16);}
@media (max-width:1040px){
  .langbar{display:none;}
  .langdrop{display:block; margin-left:auto; margin-right:10px;}
}
