/* MiPáginaYa · capa premium de movimiento.
   Una sola curva (expo-out), tres duraciones y solo transform/opacity
   para que todo corra en la GPU, también en celulares modestos. */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-pop:cubic-bezier(.34,1.56,.64,1)}

/* Evita el parpadeo antes de que entre la portada */
.motion-pre .hero-copy,.motion-pre .hero-art,.motion-pre .site-header .brand,.motion-pre .site-header nav,.motion-pre .menu-toggle,.motion-pre .ticker,.motion-pre .guide-launch{opacity:0}

/* Títulos que suben palabra por palabra desde una máscara */
.hero h1 .line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.hero h1 .line>span{display:inline-block;will-change:transform}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.w>span{display:inline-block;transform-origin:0 100%}

/* Logo: el rayo es un dibujo, igual en todos los equipos */
.brand-ya{display:inline-flex;align-items:center;gap:2px}
.brand-ya svg{width:.36em;height:.56em;fill:var(--purple)}
.dark-brand .tag svg{fill:var(--lime)}

/* Halo sin filtro de desenfoque animado (era lo más pesado en móvil) */
.brand-halo{filter:none;background:none;animation:none!important;inset:6% 2%}
.brand-halo:before{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 50% 50%,#7a3cffb3 0,#6c2bff55 38%,#6c2bff00 70%)}
@media(prefers-reduced-motion:no-preference){.brand-halo:before{animation:halo-breathe 7s ease-in-out infinite}}
@keyframes halo-breathe{50%{opacity:.6;transform:scale(.92)}}

/* Cinta continua: dos copias del texto, recorrido exacto de la mitad */
.ticker>div{animation-name:ticker-loop;animation-duration:32s}
@keyframes ticker-loop{to{transform:translateX(-50%)}}

/* Nada se mueve fuera de pantalla */
.hero.is-offscreen *,.hero.is-offscreen *:before,.ticker.is-offscreen>div,.contact-section.is-offscreen:before{animation-play-state:paused!important}

/* Barra de progreso por GPU */
.scroll-progress{width:100%!important;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,var(--purple),#a46bff 70%,var(--lime));will-change:transform}

/* Tarjetas: elevación suave al pasar el mouse */
@media(hover:hover) and (pointer:fine){
 .service{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
 .service:hover{transform:translateY(-8px);box-shadow:0 24px 50px #3a157026}
 .service-icon img{transition:transform .6s var(--ease-pop)}
 .service:hover .service-icon img{transform:translateY(-6px) rotate(-6deg) scale(1.06)}
 .price-card{transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}
 .price-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px #4a1a9a24}
 .case-art{transition:transform .7s var(--ease-out)}
 .case-art:hover{transform:rotate(-1deg) translateY(-4px)}
 .button{transition:transform .35s var(--ease-pop),background .25s,box-shadow .35s}
 .button.primary:hover{box-shadow:0 10px 26px #b6f02e55}
}

/* Planes */
.price b{font-weight:inherit;font-variant-numeric:tabular-nums;display:inline-block;min-width:5.2ch}
.service,.price-card{contain:layout paint}
.price{font-variant-numeric:tabular-nums}
@media(min-width:761px){#planes{overflow:visible}}
.featured:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#ffffff2e 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
@media(prefers-reduced-motion:no-preference){.featured.is-lit:after{animation:card-shine 6s var(--ease-out) infinite}}
@keyframes card-shine{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
.plan-dots{display:none}
@media(max-width:760px){
 .plan-dots{display:flex;justify-content:center;gap:6px;margin-top:6px}
 .plan-dots i{display:block;width:6px;height:6px;border-radius:6px;background:#d6c6ee;transition:width .5s var(--ease-out),background .4s}
 .plan-dots i.on{width:22px;background:var(--purple)}
 .plan-hint{margin-top:8px}
}

/* Construcción en vivo: cada pieza entra y empuja a la siguiente */
.build-top{display:flex;align-items:center;gap:12px}
.build-meter{flex:1;max-width:150px;height:3px;border-radius:3px;background:#e2d5f3;overflow:hidden}
.build-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--purple),#a46bff);transform:scaleX(0);transform-origin:0 50%}
.build-part{transition:opacity .7s var(--ease-out),transform .9s var(--ease-out),visibility 0s}
.build-part.is-hidden{opacity:0;transform:translateY(18px) scale(.96);transition-duration:.35s,.35s,0s;transition-delay:0s,0s,.35s}
.build-hero>div:first-child,.build-hero .mini-photo{transition:transform .9s var(--ease-out) .12s,opacity .7s .12s}
.build-hero.is-hidden>div:first-child{transform:translateX(-26px);opacity:0}
.build-hero.is-hidden .mini-photo{transform:translateX(26px) scale(.9);opacity:0}
.build-cards.is-hidden{opacity:1;transform:none}
.build-cards>div{transition:transform .8s var(--ease-pop),opacity .6s var(--ease-out)}
.build-cards>div:nth-child(2){transition-delay:.12s}
.build-cards>div:nth-child(3){transition-delay:.24s}
.build-cards.is-hidden>div{opacity:0;transform:translateY(24px) rotate(-3deg) scale(.88);transition-delay:0s}
.build-published{transition:transform .8s var(--ease-pop),opacity .5s var(--ease-out),visibility 0s}
.build-published.is-hidden{transform:translateY(34px) scale(.8)}
.js .build-step.active{animation:none}
.build-caption{display:inline-block}

/* Preguntas: la respuesta se despliega en vez de aparecer de golpe */
.faq details p{overflow:hidden}
.faq details{transition:background .35s var(--ease-out),border-color .35s}
.faq summary:after{transition:transform .45s var(--ease-pop)}
.faq details[open] summary:after{content:'+';transform:rotate(135deg)}

/* Contacto: brillo ambiental lento */
.contact-section{position:relative;isolation:isolate}
.contact-section:before{content:'';position:absolute;width:70vmax;height:70vmax;left:50%;top:60%;margin:-35vmax 0 0 -35vmax;border-radius:50%;background:radial-gradient(circle,#7b3dff44 0,#7b3dff00 65%);z-index:-1;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.contact-section:before{animation:glow-drift 14s ease-in-out infinite}}
@keyframes glow-drift{50%{transform:translate(8%,-6%) scale(1.1)}}

/* Guía Ya */
.avatar-speech{transition:none}
.guide-nudge{animation:none}

/* Móvil: menos costo de pintura */
@media(max-width:760px){
 .site-header.scrolled{backdrop-filter:none;background:#fffffff5}
}
@media(prefers-reduced-motion:reduce){.scroll-progress{transition:none}.faq summary:after{transition:none}}

/* Mientras una sección entra, GSAP es el único dueño del movimiento */
.is-entering :is(.service,.price-card,.case-art,.button,.link-button,.avatar-speech,.faq details),:is(.service,.price-card).is-entering{transition:none!important}
.contact-direct{justify-content:center}
.contact-inner h2>.w{color:#fff}
@media(min-width:761px){footer{padding-right:150px}}

/* =====================================================================
   v11 · Ya 2.0, Ya reparte, Arma tu plan
   Ritmo: portada (tinta) → servicios (tinta) → portafolio (lavanda)
   → planes (blanco) → construcción (lavanda) → preguntas (blanco) → contacto (tinta)
   ===================================================================== */
/* Ya 2.0 reemplaza la imagen; la imagen queda como respaldo sin JS */
.avatar-greet.has-rig{animation:none!important}
.avatar-greet.has-rig>img,.chat-ya.has-rig>img,.guide-launch.has-rig>img{display:none}
.avatar-greet .ya-svg{position:absolute;inset:0;width:100%;height:100%}
.guide-launch .launch-ya{display:block;width:58px;height:58px;flex-shrink:0}
.guide-launch .launch-ya .ya-svg{width:100%;height:100%;filter:drop-shadow(0 7px 8px #30114b40)}
.chat-ya{display:block;width:44px;height:44px;flex-shrink:0}
.chat-ya .ya-svg{width:100%;height:100%}
@media(prefers-reduced-motion:no-preference){.is-thinking .chat-ya .ya-svg{animation:robot-think 1.8s ease-in-out infinite}}
@media(max-width:760px){.guide-launch .launch-ya{width:50px;height:50px}}

/* Servicios: escenario oscuro donde Ya reparte */
.services-stage{position:relative;background:radial-gradient(ellipse at 50% 100%,#3a1c7a 0,var(--ink) 62%);color:#fff;padding-top:var(--section-space)}
.services-stage .section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:0}
.services-stage .eyebrow{color:var(--lime)}
.deal-hint{font-size:13px;color:#c9c0dd}
.deal{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:calc(100% - 64px);max-width:1160px;margin:auto;padding-block:64px 72px}
.deal-ya,.deal-dots{display:none}
.svc{position:relative;isolation:isolate;border-radius:var(--radius);padding:var(--card-pad);display:flex;flex-direction:column;min-height:300px;color:var(--ink);box-shadow:0 26px 50px #0006}
.svc-bg{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:-1;background:#eee5ff}
.svc-bg:before{content:'';position:absolute;width:170px;height:170px;border-radius:50%;background:#ffffff40;right:-60px;top:-60px}
.svc-dark{color:#fff}.svc-dark .svc-bg{background:linear-gradient(135deg,#3b2060,#1f1631)}
.svc-lime .svc-bg{background:linear-gradient(135deg,#f7ffe5,#e3ffad)}
.svc h3{font-size:25px;max-width:10ch;margin-bottom:12px}
.svc p{font-size:13px;color:var(--muted);max-width:24ch;margin-bottom:18px}
.svc-dark p{color:#dbd0e6}
.svc .link-button{margin-top:auto;align-self:start}
.svc-dark .link-button{background:#ffffff1c;color:#fff}
.svc-ico{position:absolute;right:-12px;top:-40px;width:112px;height:112px;filter:drop-shadow(0 16px 14px #1a0b4566);pointer-events:none}
.svc-ico svg{width:100%;height:100%;display:block}
.deal.is-live{display:block;width:100%;max-width:none;height:100vh;height:100svh;padding:0;overflow:hidden}
.deal.is-live .svc{position:absolute;left:0;top:0;width:var(--cw);height:var(--ch);min-height:0;will-change:transform}
.deal.is-live .deal-ya{display:block;position:absolute;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));width:200px;margin-left:-100px;z-index:5}
.deal-ya .ya-svg{width:100%;height:auto;display:block}
.deal.is-live .deal-dots{display:flex;gap:6px;position:absolute;right:max(24px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:6}
.deal-dots i{display:block;width:6px;height:6px;border-radius:6px;background:#ffffff40;transition:width .5s var(--ease-out),background .4s}
.deal-dots i.on{width:24px;background:var(--lime)}
@media(max-width:760px){
 .services-stage .section-heading{display:block}.deal-hint{margin-top:8px}
 .deal{grid-template-columns:1fr;width:calc(100% - 36px);gap:56px;padding-top:64px}
 .deal.is-live .deal-ya{left:10px;margin-left:0;width:128px}
 .svc h3{font-size:23px}.svc-ico{width:96px;height:96px;top:-34px}
}

/* Planes: arma tu plan */
#planes{overflow:visible;overflow-x:clip}
.planner{display:grid;grid-template-columns:.92fr 1.08fr;gap:36px;align-items:end;max-width:1000px;margin:auto}
.pl-toggles{display:grid;gap:12px;align-self:center}
.pl-tg{appearance:none;text-align:left;display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;width:100%;border:1.5px solid #e2d6f3;background:#fff;color:var(--ink);border-radius:20px;padding:12px 16px;cursor:pointer;font:inherit;transition:border-color .4s var(--ease-out),box-shadow .4s var(--ease-out),background .4s}
.pl-tg[aria-pressed=true]{border-color:var(--purple);background:#faf7ff;box-shadow:0 12px 30px #6c2bff1f}
.pl-ico{width:60px;height:60px;display:block}.pl-ico svg{width:100%;height:100%;display:block}
.pl-txt b{display:block;font:700 17px/1.2 Outfit,sans-serif;letter-spacing:-.02em}
.pl-txt small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.pl-sw{width:46px;height:28px;border-radius:99px;background:#e4daf2;position:relative;transition:background .4s var(--ease-out)}
.pl-sw:after{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #2a0f5030;transition:transform .5s var(--ease-out)}
.pl-tg[aria-pressed=true] .pl-sw{background:var(--purple)}
.pl-tg[aria-pressed=true] .pl-sw:after{transform:translateX(18px)}
.pl-tg:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.pl-tip{font-size:12px;color:var(--muted);margin-top:4px}.pl-tip span{color:var(--purple);margin-right:4px}.pl-tip b{color:var(--ink)}
.pl-wrap{position:relative;padding-top:94px}
.pl-ya{position:absolute;right:24px;top:0;width:118px;z-index:3;pointer-events:none}
.pl-ya .ya-svg{width:100%;height:auto;display:block}
.pl-card{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);padding:var(--card-pad);padding-bottom:40px;background:linear-gradient(145deg,#fff 25%,#ede2ff);border:1px solid #e5d9f2;box-shadow:0 30px 60px #4a1a9a1f;min-height:430px;display:flex;flex-direction:column}
.pl-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 100% 0%,#aa65ff80,transparent 60%),linear-gradient(140deg,#742eff,#4b16b2);clip-path:circle(0% at 85% 0%)}
.pl-card .price{margin-top:var(--s5)}
.pl-sub{font-size:12px;color:var(--muted);margin-top:6px}
.pl-save{align-self:flex-start;margin-top:14px;background:var(--lime);color:var(--ink);font:700 11px Outfit,sans-serif;letter-spacing:.06em;padding:7px 12px;border-radius:12px;transform:scale(0) rotate(-8deg)}
.pl-card ul{list-style:none;border-top:1px solid #d9cbea;padding:var(--s5) 0 var(--s3);margin:var(--s4) 0 0;flex:1;min-height:120px}
.pl-card li{font-size:13px;line-height:1.5;position:relative;padding-left:20px;margin-bottom:var(--s3)}
.pl-card li:before{content:'✓';position:absolute;left:0;color:var(--purple);font-weight:700}
.pl-card .button{align-self:stretch}
.pl-card .recommended{transform:translateX(110%)}
.pl-card.is-pack{color:#fff;border-color:#8c50f5}
.pl-card.is-pack .plan-name,.pl-card.is-pack .pl-sub,.pl-card.is-pack .payment{color:#ede4ff}
.pl-card.is-pack ul{border-color:#ffffff40}.pl-card.is-pack li:before{color:var(--lime)}
.pl-card.is-empty .price{visibility:hidden}
.odo{display:inline-block;height:1.1em;overflow:hidden;line-height:1.1;vertical-align:bottom}
.odo>span{display:flex;flex-direction:column}
.odo>span>b{display:block;height:1.1em;font-weight:inherit}
.pl-conf{position:absolute;left:0;top:0;width:9px;height:14px;border-radius:2px;opacity:0;pointer-events:none;z-index:4}
@media(max-width:760px){.planner{grid-template-columns:1fr;gap:24px}.pl-ya{width:104px;right:18px}.pl-wrap{padding-top:84px}.pl-card{min-height:0}}

/* Construcción: Ya pequeño acompaña cada paso */
.mini-photo svg{width:78%;height:78%}
.build-ya{display:block;width:58px;height:64px;flex-shrink:0}
.build-ya .ya-svg{width:100%;height:100%;overflow:visible}
.pl-card .price>.odo{display:inline-block;font:inherit;margin:0;color:inherit;letter-spacing:inherit}
.odo b{min-width:0!important;display:block}
@media(max-width:760px){#planes{width:calc(100% - 36px);max-width:none}}
html,body{overflow-x:clip}
.ya-guide .guide-launch>.launch-ya{display:block;background:none;border:0;padding:0;margin:0;border-radius:0;color:inherit}
.deal-hint{visibility:hidden}.services-stage:has(.deal.is-live) .deal-hint{visibility:visible}
.ya-guide.is-ready .guide-launch{transition:opacity .45s var(--ease-out)}
.ya-guide.is-quiet .guide-launch{opacity:.5}
