/* =====================================================
   V2 · Dinámico (auroras, brillo, tilt, marquee, IG)
   ===================================================== */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:60;background:linear-gradient(90deg,#f26150,#ff9d80,#bf5af2,#ff6ac1)}
.center{text-align:center;margin-top:48px}

/* aurora */
.hero__glow{display:none}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg i{position:absolute;border-radius:50%;filter:blur(40px);opacity:.8;will-change:transform}
.hero-bg i:nth-child(1){width:60vw;height:60vw;max-width:780px;max-height:780px;left:-12%;top:-18%;background:radial-gradient(circle,#ffc9b0 0%,rgba(142,197,255,0) 68%);animation:kx-float 14s ease-in-out infinite}
.hero-bg i:nth-child(2){width:55vw;height:55vw;max-width:720px;max-height:720px;right:-14%;top:-8%;background:radial-gradient(circle,#ffd9c9 0%,rgba(196,169,255,0) 68%);animation:kx-float-b 17s ease-in-out infinite}
.hero-bg i:nth-child(3){width:46vw;height:46vw;max-width:620px;max-height:620px;left:30%;top:20%;background:radial-gradient(circle,#ffb3dc 0%,rgba(255,179,220,0) 66%);opacity:.6;animation:kx-float 20s ease-in-out infinite}
@keyframes kx-float{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(3vw,2.5vw,0) scale(1.12)}}
@keyframes kx-float-b{0%,100%{transform:translate3d(0,0,0) scale(1.05)}50%{transform:translate3d(-3.5vw,3vw,0) scale(.92)}}
@keyframes kx-shift{to{background-position:200% 50%}}
@keyframes kx-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes kx-glow{0%,100%{box-shadow:0 0 0 0 rgba(242,97,80,.45),0 20px 50px -18px rgba(242,97,80,.55)}50%{box-shadow:0 0 0 14px rgba(242,97,80,0),0 24px 60px -18px rgba(191,90,242,.6)}}
@keyframes kx-glow-g{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.5),0 12px 30px rgba(37,211,102,.45)}50%{box-shadow:0 0 0 14px rgba(37,211,102,0),0 12px 30px rgba(37,211,102,.45)}}
@keyframes kx-shine{0%{transform:translateX(-130%) skewX(-20deg)}60%,100%{transform:translateX(260%) skewX(-20deg)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

.grad{background:linear-gradient(90deg,#ff8a5c,#f26150,#34c7b3,#ff4fa3,#ff8a5c);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kx-shift 7s linear infinite}
.grad--light{background:linear-gradient(90deg,#ff8a5c,#ffb199,#bf5af2,#ff6ac1,#ff8a5c);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kx-shift 7s linear infinite}

.hero-in>*{animation:rise .9s var(--ease) both}
.hero-in>:nth-child(2){animation-delay:.08s}.hero-in>:nth-child(3){animation-delay:.16s}.hero-in>:nth-child(4){animation-delay:.26s}.hero-in>:nth-child(5){animation-delay:.38s}

/* botones con brillo */
.btn--lg{position:relative;overflow:hidden;background:linear-gradient(95deg,#ff8a5c,#f26150 50%,#d63a5b);background-size:160% 100%;animation:kx-glow 3.2s ease-in-out infinite;transition:background-position .5s var(--ease),transform .25s var(--ease)}
.btn--lg:hover{background-position:100% 0;transform:translateY(-2px)}
.btn--lg::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:kx-shine 3.6s ease-in-out infinite;pointer-events:none}
.btn--ghost{background:#fff!important;color:var(--ink);animation:none;box-shadow:0 0 0 1px var(--line) inset}
.btn--ghost::after{display:none}
.btn--ghost:hover{box-shadow:0 0 0 1px var(--blue) inset;color:var(--blue)}
.btn--ig{background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5)!important;animation:none;box-shadow:0 18px 40px -14px rgba(214,41,118,.6)}
.hero__cta{gap:14px}
.stage__tooth{animation:kx-bob 6s ease-in-out infinite}
.chip{animation:kx-bob 7s ease-in-out infinite}
.chip--b{animation-delay:-2s}.chip--c{animation-delay:-4s}.chip--d{animation-delay:-1s}
.stage__card{transition:transform .2s ease-out}

/* marquee */
.marquee{overflow:hidden;padding:22px 0;background:#fff;border-block:1px solid rgba(0,0,0,.06);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:14px;width:max-content;animation:marq 38s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee span{white-space:nowrap;padding:10px 22px;border-radius:980px;background:var(--bg-soft);font-weight:600;font-size:16px;color:#424245}
@keyframes marq{to{transform:translateX(calc(-50% - 7px))}}

/* tarjetas: spotlight + tilt */
.card,.person,.tech__item{--mx:50%;--my:50%;position:relative;overflow:hidden}
.card::before,.person::before,.tech__item::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(242,97,80,.14),transparent 45%)}
.card--dark::before,.tech__item::before{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,138,92,.22),transparent 45%)}
.card--blue::before{background:radial-gradient(420px circle at var(--mx) var(--my),rgba(255,255,255,.28),transparent 45%)}
.card:hover::before,.person:hover::before,.tech__item:hover::before{opacity:1}
.tech__item{transition:transform .4s var(--ease),border-color .4s}
.tech__item:hover{border-color:#3a3a3c}

/* reveal mejorado */
.reveal{transform:translateY(40px) scale(.97);filter:blur(6px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter .9s var(--ease)}
.reveal.in{filter:none}
.word{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.word>span{display:inline-block;transform:translateY(110%);transition:transform .9s var(--ease)}
.word.in>span{transform:none}

/* paneles redondeados tipo iOS */
.section--dark{margin:0 14px;border-radius:44px}

/* antes / después */
.ba-wrap{max-width:980px}
.ba{position:relative;aspect-ratio:16/9;border-radius:36px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(120,40,20,.35);background:#2a0f18;user-select:none;touch-action:pan-y}
.ba__layer{position:absolute;inset:0}
.ba__layer svg{width:100%;height:100%;display:block}
.ba__before{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba__tag{position:absolute;top:18px;z-index:3;background:rgba(0,0,0,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:13px;font-weight:600;padding:7px 14px;border-radius:980px}
.ba__tag--l{left:18px}.ba__tag--r{right:18px}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--p);width:3px;margin-left:-1.5px;background:#fff;z-index:2;box-shadow:0 0 20px rgba(0,0,0,.4)}
.ba__handle i{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px;border-radius:50%;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.35);display:grid;place-items:center}
.ba__handle i::before{content:"‹ ›";font-size:20px;font-weight:700;letter-spacing:4px;color:var(--blue);margin-left:4px}
.ba__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:4;margin:0}

/* instagram */
.stories{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.stories a{display:grid;gap:8px;justify-items:center;font-size:13px;font-weight:600;color:#424245;width:88px;text-align:center}
.ring{width:80px;height:80px;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5,#feda75);display:grid;place-items:center;transition:transform .4s var(--ease)}
.ring b{width:100%;height:100%;border-radius:50%;background:#fff;border:3px solid #fff;display:grid;place-items:center;font-size:30px}
.stories a:hover .ring{transform:scale(1.1) rotate(8deg)}
.feed{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{position:relative;aspect-ratio:1;border-radius:26px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;color:#fff;overflow:hidden;background:linear-gradient(145deg,var(--a),var(--b));transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.tile::before{content:"";position:absolute;width:70%;aspect-ratio:1;right:-20%;top:-20%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 65%)}
.tile em{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.9;position:absolute;top:24px;left:26px}
.tile strong{font-size:clamp(20px,3vw,32px);line-height:1.08;letter-spacing:-.025em;position:relative}
.tile span{position:absolute;right:22px;bottom:22px;font-size:13px;font-weight:600;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:4px 10px;border-radius:980px;opacity:0;transform:translateY(8px);transition:.4s var(--ease)}
.tile:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.35)}
.tile:hover span{opacity:1;transform:none}

/* agenda en toques */
.form{gap:20px}
.step{display:grid;gap:10px}
.lab{font-size:14px;font-weight:600;color:#424245;display:flex;align-items:center;gap:8px}
.lab i{font-style:normal;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;display:grid;place-items:center}
.picks{display:flex;flex-wrap:wrap;gap:8px}
.pick{font:500 14px var(--font);padding:9px 16px;border-radius:980px;border:1px solid var(--line);background:#fff;color:#424245;cursor:pointer;transition:all .25s var(--ease)}
.pick:hover{border-color:var(--blue);color:var(--blue)}
.pick.on{background:linear-gradient(95deg,#ff8a5c,#f26150);color:#fff;border-color:transparent;transform:scale(1.05);box-shadow:0 10px 24px -10px rgba(242,97,80,.7)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form input{padding:13px 15px;font-size:16px}
.summary{font-size:14px;color:var(--ink);background:#fff0ec;border-radius:14px;padding:12px 14px;text-align:center;font-weight:500}

/* nav activa + WhatsApp pill */
.nav__links a.active{color:var(--blue);opacity:1}
.wa{width:auto;height:52px;border-radius:980px;padding:0 20px 0 16px;gap:10px;grid-auto-flow:column;font-weight:600;font-size:15px;animation:kx-glow-g 3.2s ease-in-out infinite}
.wa span{white-space:nowrap}

@media (max-width:760px){
  .feed{grid-template-columns:repeat(2,1fr)}
  .two{grid-template-columns:1fr}
  .section--dark{margin:0 8px;border-radius:32px}
  .wa span{display:none}.wa{width:56px;padding:0;justify-content:center}
  .hero__cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .reveal{filter:none;opacity:1;transform:none}
  .word>span{transform:none}
}

.team{grid-template-columns:repeat(auto-fit,minmax(260px,340px));justify-content:center}
.rating-pill{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:980px;padding:8px 16px;font-size:14px;font-weight:600;margin-top:18px}
.rating-pill b{color:#ff9f0a}

/* ---- V3: fotos reales + marca ---- */
.stage__card::before{display:none}
.stage__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.chip--a{left:4%;top:8%;right:auto}.chip--b{right:4%;bottom:7%;top:auto;left:auto}.chip--c{left:4%;bottom:7%;top:auto;right:auto}.chip--d{display:none}
.brand svg{width:26px;height:auto}
.team-photo{max-width:980px;margin:0 auto 20px;border-radius:36px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(120,40,20,.4);aspect-ratio:3/2}
.team-photo img,.duo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.team-photo:hover img,.duo figure:hover img{transform:scale(1.04)}
.duo{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.duo figure{position:relative;border-radius:32px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 30px 70px -30px rgba(120,40,20,.35)}
.duo figcaption{position:absolute;inset:auto 0 0 0;padding:60px 24px 22px;color:#fff;background:linear-gradient(180deg,transparent,rgba(30,10,5,.7));font-weight:600;font-size:18px;letter-spacing:-.01em}
.duo figcaption small{display:block;font-weight:400;font-size:14px;opacity:.85;margin-top:2px}
.team-names{text-align:center;margin:32px auto 0;font-size:19px;color:var(--ink-2)}
.team-names b{color:var(--ink)}
.tile--img{background:linear-gradient(180deg,transparent 40%,rgba(30,10,5,.72)),var(--img) center/cover}
.tile--img::before{display:none}
.tile--img strong{text-shadow:0 2px 12px rgba(0,0,0,.35)}
@media (max-width:760px){.duo{grid-template-columns:1fr}.chip{font-size:11px}}
