:root{--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--transition-smooth:0.45s var(--ease-out-expo);--scroll-progress:0%}.nav::after{content:"";position:absolute;bottom:0;left:0;height:2px;width:var(--scroll-progress);background:linear-gradient(90deg,var(--color-primary),var(--color-accent));transition:width 0.12s linear;pointer-events:none}@keyframes floatShape{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-16px) scale(1.04)}}@keyframes floatShapeAlt{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-16px,12px) scale(1.03)}}@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes heroImageReveal{from{transform:scale(1.06);opacity:0.6}to{transform:scale(1);opacity:1}}@keyframes pulseRing{0%{transform:scale(1);opacity:0.55}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}@keyframes statPop{from{transform:scale(0.85);opacity:0}to{transform:scale(1);opacity:1}}.hero__bg-shape--1{animation:floatShape 14s ease-in-out infinite}.hero__bg-shape--2{animation:floatShapeAlt 16s ease-in-out infinite}.hero__bg-shape--3{animation:floatShape 18s ease-in-out infinite reverse}.hero__deco--1{animation:floatCard 7s ease-in-out infinite}.hero__deco--2{animation:floatCard 8.5s ease-in-out infinite 0.5s}.hero__deco--3{animation:floatCard 6s ease-in-out infinite 1s}.hero__float-card{animation:floatCard 4s ease-in-out infinite}.page-ready .hero__image-wrap{animation:heroImageReveal 1s var(--ease-out-expo) both}.hero-intro>*{opacity:0;transform:translateY(20px)}.page-ready .hero-intro>*{animation:heroItemIn 0.7s var(--ease-out-expo) forwards}.page-ready .hero-intro>*:nth-child(1){animation-delay:0.05s}.page-ready .hero-intro>*:nth-child(2){animation-delay:0.12s}.page-ready .hero-intro>*:nth-child(3){animation-delay:0.2s}.page-ready .hero-intro>*:nth-child(4){animation-delay:0.28s}.page-ready .hero-intro>*:nth-child(5){animation-delay:0.36s}.page-ready .hero__visual.hero-intro{animation:heroItemIn 0.85s var(--ease-out-expo) 0.15s forwards;opacity:0;transform:translateY(24px) scale(0.98)}@keyframes heroItemIn{to{opacity:1;transform:translateY(0) scale(1)}}.whatsapp-float{position:fixed}.whatsapp-float::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--color-whatsapp);animation:pulseRing 2.5s ease-out infinite;z-index:-1}.stagger-reveal .stagger-item{opacity:0;transform:translateY(18px);transition:opacity 0.55s var(--ease-out-expo),transform 0.55s var(--ease-out-expo);transition-delay:calc(var(--stagger-i,0) * 0.07s)}.stagger-reveal.visible .stagger-item{opacity:1;transform:translateY(0)}.stagger-reveal.visible .talleres__stat strong,.stagger-reveal.visible .areas__stat strong{animation:statPop 0.5s var(--ease-spring) both;animation-delay:calc(var(--stagger-i,0) * 0.07s+0.15s)}.section__label{position:relative}.section__label::after{content:"";display:block;width:0;height:2px;margin-top:0.35rem;background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:2px;transition:width 0.6s var(--ease-out-expo)}.section__header.reveal.visible .section__label::after,.section__header.hero-intro .section__label::after{width:2.5rem}.nav__links a.nav__link--active{color:var(--color-primary);background:rgba(0,119,200,0.1)}.nav__mobile a.nav__link--active{background:rgba(0,119,200,0.08);color:var(--color-primary)}.nav__mobile.open a{animation:menuItemIn 0.4s var(--ease-out-expo) both}.nav__mobile.open a:nth-child(1){animation-delay:0.04s}.nav__mobile.open a:nth-child(2){animation-delay:0.08s}.nav__mobile.open a:nth-child(3){animation-delay:0.12s}.nav__mobile.open a:nth-child(4){animation-delay:0.16s}.nav__mobile.open a:nth-child(5){animation-delay:0.2s}.nav__mobile.open a:nth-child(6){animation-delay:0.24s}.nav__mobile.open a:nth-child(7){animation-delay:0.28s}.nav__mobile.open a:nth-child(8){animation-delay:0.32s}.nav__mobile.open a:nth-child(9){animation-delay:0.36s}@keyframes menuItemIn{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:translateX(0)}}.tab-panel{animation:tabFadeIn 0.4s var(--ease-out-expo)}@keyframes tabFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.faq__item{transition:border-color var(--transition),box-shadow var(--transition)}.faq__item[open]{border-color:rgba(0,119,200,0.25);box-shadow:var(--shadow-sm)}.faq__answer{animation:faqOpen 0.35s var(--ease-out-expo)}@keyframes faqOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.timeline-wrap.reveal.visible .timeline__heading{animation:fadeSlideUp 0.55s var(--ease-out-expo) both}.timeline__step{transition:transform 0.5s var(--ease-out-expo),box-shadow 0.5s ease}.timeline.visible .timeline__step.stagger-item{animation:timelineStepIn 0.55s var(--ease-out-expo) both;animation-delay:calc(var(--stagger-i,0) * 0.1s+0.1s);transition:none}.timeline.visible .timeline__step.stagger-item .timeline__step-icon{animation:timelineIconPop 0.45s var(--ease-spring) both;animation-delay:calc(var(--stagger-i,0) * 0.1s+0.28s)}@keyframes timelineStepIn{from{opacity:0;transform:translateY(16px) scale(0.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes timelineIconPop{from{opacity:0;transform:scale(0.55) rotate(-8deg)}65%{transform:scale(1.12) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@media (min-width:901px){.timeline.visible .timeline__step.stagger-item{animation-name:timelineStepInDesktop}@keyframes timelineStepInDesktop{from{opacity:0;transform:translateY(12px) scale(0.94)}to{opacity:1;transform:translateY(0) scale(1)}}}.steps.visible .step.stagger-item .step__number{animation:statPop 0.5s var(--ease-spring) both}.btn:active{transform:scale(0.97)}.gallery__item img{transition:transform 0.5s var(--ease-out-expo)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}.hero__bg-shape--1,.hero__bg-shape--2,.hero__bg-shape--3,.hero__float-card,.hero__deco,.timeline::before,.timeline__heading-dot,.timeline__step--highlight,.timeline.visible .timeline__step--highlight .timeline__badge,.gallery-carousel__track{animation:none}.reveal,.stagger-reveal .stagger-item,.hero-intro>*{opacity:1;transform:none}.timeline__track{opacity:0.45}@media (min-width:901px){.timeline__track{transform:scaleX(1) !important}}@media (max-width:900px){.timeline__track{transform:translateX(-50%) scaleY(1) !important}}html{scroll-behavior:auto}}