/* Motion language aligned with the current vysoftinc.com homepage. */
.home-page .hero-slide{transition:opacity .8s ease,visibility .8s ease}
.home-page .hero-slide:before{inset:-2%;opacity:1!important;filter:none!important;clip-path:none!important;transform:scale(1.04)!important;animation:none!important}
.home-page .hero-slide.active:before{animation:vysoft-hero-zoom 8s ease-out both!important}
.home-page .hero-slide:after{content:"";display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(125deg,rgba(8,29,104,.28) 8%,rgba(255,104,28,.15) 52%,rgba(8,29,104,.2));opacity:0}
.home-page .hero-slide.active:after{animation:vysoft-brand-wash 2.8s ease-out both!important}
.home-page .hero-motion{opacity:.32;filter:none;transition:opacity .6s ease}
.home-page .hero-slide.active .hero-motion{opacity:.48}
.home-page .hero-slide{transform:translateZ(0);backface-visibility:hidden;overflow:hidden}
.home-page .hero-arc-field{position:absolute;z-index:2;right:3.5%;top:50%;width:min(45vw,620px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity 1s ease .25s}
.home-page .hero-slide.active .hero-arc-field{opacity:.58}
.home-page .hero-arc-field span{position:absolute;inset:8%;border:1px solid rgba(255,255,255,.28);border-left-color:rgba(255,104,28,.8);border-bottom-color:transparent;border-radius:50%;opacity:0;transform:scale(.72) rotate(-18deg)}
.home-page .hero-arc-field span:nth-child(2){inset:22%;border-color:rgba(255,104,28,.5);border-right-color:transparent}
.home-page .hero-arc-field span:nth-child(3){inset:36%;border-color:rgba(126,188,255,.5);border-top-color:transparent}
.home-page .hero-slide.active .hero-arc-field span{animation:vysoft-arc-arrive 6.8s cubic-bezier(.16,.8,.24,1) both}
.home-page .hero-slide.active .hero-arc-field span:nth-child(2){animation-delay:.3s;animation-direction:reverse}
.home-page .hero-slide.active .hero-arc-field span:nth-child(3){animation-delay:.55s}

.home-page .hero-copy{perspective:900px}
.home-page .hero-slide.active .hero-copy>*{animation:vysoft-fade-up .9s cubic-bezier(.16,.8,.24,1) both!important;filter:none!important}
.home-page .hero-slide.active .hero-copy>*:nth-child(1){animation-delay:.12s!important}
.home-page .hero-slide.active .hero-copy>*:nth-child(2){animation-delay:.24s!important}
.home-page .hero-slide.active .hero-copy>*:nth-child(3){animation-delay:.38s!important}
.home-page .hero-slide.active .hero-copy>*:nth-child(4){animation-delay:.5s!important}
.home-page .hero-slide.active .hero-copy>*:nth-child(5){animation-delay:.62s!important}
.home-page .hero-line{display:block;overflow:hidden;transform-origin:left bottom}
.home-page .hero-slide.active .hero-line{animation:vysoft-line-reveal 1.05s cubic-bezier(.16,.8,.24,1) both!important;clip-path:inset(0)!important;filter:none!important}
.home-page .hero-slide.active .hero-line:nth-child(1){animation-delay:.24s!important}
.home-page .hero-slide.active .hero-line:nth-child(2){animation-delay:.42s!important}
.home-page .hero-slide.active .hero-copy h1:after{animation:vysoft-rule-in .75s ease-out .58s both!important}
.home-page .hero-copy h1 em{position:relative;display:inline-block;text-shadow:0 0 0 rgba(255,104,28,0)}
.home-page .hero-slide.active .hero-copy h1 em{animation:vysoft-accent-settle 1.2s cubic-bezier(.16,.8,.24,1) .68s both!important}
.home-page .hero-slide.active .eyebrow{animation:vysoft-eyebrow-in .8s ease-out .1s both!important}
.home-page .hero-slide.active .hero-copy>p{animation:vysoft-copy-in .9s ease-out .58s both!important}
.home-page .hero-slide.active .hero-keywords span{animation:vysoft-chip-in .62s cubic-bezier(.16,.8,.24,1) both!important}
.home-page .hero-slide.active .hero-keywords span:nth-child(1){animation-delay:.76s!important}
.home-page .hero-slide.active .hero-keywords span:nth-child(2){animation-delay:.86s!important}
.home-page .hero-slide.active .hero-keywords span:nth-child(3){animation-delay:.96s!important}
.home-page .hero-slide.active .hero-keywords span:nth-child(4){animation-delay:1.06s!important}
.home-page .hero-slide.active .hero-actions .btn{animation:vysoft-action-in .72s cubic-bezier(.16,.8,.24,1) both!important}
.home-page .hero-slide.active .hero-actions .btn:first-child{animation-delay:1.08s!important}
.home-page .hero-slide.active .hero-actions .btn:nth-child(2){animation-delay:1.2s!important}

/* The longer pharma headline uses one stable, GPU-composited reveal. */
.home-page .hero-slide[data-slide="2"] .hero-copy>*{backface-visibility:hidden;transform:translateZ(0)}
.home-page .hero-slide.active[data-slide="2"] .hero-copy h1{animation:vysoft-pharma-headline-in .9s cubic-bezier(.16,.8,.24,1) .22s both!important}
.home-page .hero-slide.active[data-slide="2"] .hero-line,
.home-page .hero-slide.active[data-slide="2"] .hero-copy h1 em{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;text-shadow:none!important}

/* Branded white lockup panel: its own padding keeps the tagline clear of every edge. */
.home-page .footer-logo-panel{box-sizing:border-box;width:360px;max-width:100%;margin-bottom:18px;padding:15px 20px 17px;background:#fff;border:2px solid #ff681c;border-radius:8px;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 12px 30px rgba(0,0,0,.24);overflow:hidden}
.home-page .footer-logo-panel img{display:block;width:100%;max-width:100%;height:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}

.home-page .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease-out var(--reveal-delay,0ms),transform .75s ease-out var(--reveal-delay,0ms)}
.home-page .reveal.visible{opacity:1;transform:translateY(0)}
.home-page .primary-card,.home-page .why-card,.home-page .role-grid>div,.home-page .home-industry-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.home-page .primary-card:hover,.home-page .why-card:hover,.home-page .role-grid>div:hover,.home-page .home-industry-card:hover{transform:translateY(-5px)}
.home-page .primary-card:hover .service-icon{transform:scale(1.06);box-shadow:0 8px 20px rgba(8,29,104,.14)}
.home-page .about-badge,.home-page .ai-panel:after{animation:none!important}

@keyframes vysoft-hero-zoom{from{transform:scale(1.04)}to{transform:scale(1.12)}}
@keyframes vysoft-mobile-zoom{from{transform:translateZ(0) scale(1)}to{transform:translateZ(0) scale(1.035)}}
@keyframes vysoft-brand-wash{0%{opacity:0}30%{opacity:.2}100%{opacity:.035}}
@keyframes vysoft-mobile-brand-wash{0%{opacity:0}28%{opacity:.24}100%{opacity:.07}}
@keyframes vysoft-mobile-eyebrow-in{from{opacity:0;transform:translate3d(-18px,0,0);letter-spacing:.22em}to{opacity:1;transform:translate3d(0,0,0);letter-spacing:1.65px}}
@keyframes vysoft-mobile-headline-shell{from{opacity:0}to{opacity:1}}
@keyframes vysoft-mobile-line-in{from{opacity:0;transform:translate3d(0,28px,0) rotateX(-7deg)}to{opacity:1;transform:translate3d(0,0,0) rotateX(0)}}
@keyframes vysoft-mobile-line-left{0%{opacity:0;transform:translate3d(-24px,30px,0) scale(.955);letter-spacing:.018em}72%{opacity:1;transform:translate3d(2px,-1px,0) scale(1.006)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);letter-spacing:inherit}}
@keyframes vysoft-mobile-line-right{0%{opacity:0;transform:translate3d(24px,30px,0) scale(.955);letter-spacing:.018em}72%{opacity:1;transform:translate3d(-2px,-1px,0) scale(1.006)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);letter-spacing:inherit}}
@keyframes vysoft-mobile-line-top{0%{opacity:0;transform:translate3d(0,-30px,0) scale(.97)}72%{opacity:1;transform:translate3d(0,2px,0) scale(1.006)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes vysoft-mobile-line-bottom{0%{opacity:0;transform:translate3d(0,34px,0) scale(.965)}72%{opacity:1;transform:translate3d(0,-2px,0) scale(1.006)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes vysoft-mobile-line-scale{0%{opacity:0;transform:translate3d(0,8px,0) scale(.86);letter-spacing:.045em}72%{opacity:1;transform:translate3d(0,0,0) scale(1.018)}100%{opacity:1;transform:translate3d(0,0,0) scale(1);letter-spacing:inherit}}
@keyframes vysoft-mobile-copy-left{from{opacity:0;transform:translate3d(-20px,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes vysoft-mobile-copy-right{from{opacity:0;transform:translate3d(20px,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes vysoft-mobile-copy-in{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes vysoft-mobile-accent-in{0%{color:#fff;text-shadow:0 0 0 rgba(255,104,28,0)}55%{color:#ff9a62;text-shadow:0 0 18px rgba(255,104,28,.55)}100%{color:var(--orange);text-shadow:0 0 0 rgba(255,104,28,0)}}
@keyframes vysoft-mobile-chip-in{from{opacity:0;transform:translate3d(0,13px,0) scale(.9)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes vysoft-mobile-action-in{from{opacity:0;transform:translate3d(0,18px,0) scale(.96)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes vysoft-fade-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes vysoft-rule-in{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes vysoft-line-reveal{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(34px) rotateX(-9deg);filter:blur(7px)}55%{filter:blur(1px)}100%{opacity:1;clip-path:inset(0);transform:none;filter:none}}
@keyframes vysoft-accent-settle{0%{opacity:0;transform:translateX(-12px);letter-spacing:.035em;text-shadow:0 0 22px rgba(255,104,28,.7)}100%{opacity:1;transform:none;letter-spacing:inherit;text-shadow:0 0 0 rgba(255,104,28,0)}}
@keyframes vysoft-eyebrow-in{0%{opacity:0;letter-spacing:.28em;transform:translateX(-12px)}100%{opacity:1;letter-spacing:1.65px;transform:none}}
@keyframes vysoft-copy-in{0%{opacity:0;transform:translateY(18px);filter:blur(4px)}100%{opacity:1;transform:none;filter:none}}
@keyframes vysoft-chip-in{0%{opacity:0;transform:translateY(12px) scale(.92)}100%{opacity:1;transform:none}}
@keyframes vysoft-action-in{0%{opacity:0;transform:translateY(14px) scale(.96)}100%{opacity:1;transform:none}}
@keyframes vysoft-pharma-headline-in{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes vysoft-arc-arrive{0%{opacity:0;transform:scale(.72) rotate(-18deg)}22%{opacity:.92}100%{opacity:.25;transform:scale(1.08) rotate(34deg)}}

@media(max-width:760px){
  .home-page .hero-motion{display:none}
  .home-page .hero-slide{transition:opacity .5s ease!important;will-change:opacity;contain:paint}
  .home-page .hero-slide:before{inset:-1.5%!important;background-image:var(--hero-mobile,var(--hero))!important;background-position:center top!important;transform:translateZ(0) scale(1)!important;will-change:transform}
  .home-page .hero-slide.active:before{animation:vysoft-mobile-zoom 8s linear both!important}
  .home-page .hero-overlay{background:linear-gradient(180deg,rgba(6,20,64,.76) 0%,rgba(6,20,64,.68) 47%,rgba(6,20,64,.88) 100%)!important}
  .home-page .hero-slide:after{content:"";display:block!important;position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(145deg,rgba(8,29,104,.38) 12%,rgba(255,104,28,.18) 58%,rgba(8,29,104,.28));opacity:0}
  .home-page .hero-slide.active:after{animation:vysoft-mobile-brand-wash 2.4s ease-out both!important}
  .home-page .hero-copy{opacity:0;transform:translate3d(0,12px,0);transition:opacity .48s ease .1s,transform .48s ease .1s}
  .home-page .hero-slide.active .hero-copy{opacity:1;transform:translate3d(0,0,0)}
  .home-page .hero-slide.active .hero-copy>*,.home-page .hero-slide.active .hero-line,.home-page .hero-slide.active .hero-copy h1 em,.home-page .hero-slide.active .eyebrow,.home-page .hero-slide.active .hero-copy>p,.home-page .hero-slide.active .hero-keywords span,.home-page .hero-slide.active .hero-actions .btn{animation:none!important;opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-copy h1{animation:none!important;opacity:1!important;transform:none!important}
  .home-page .hero-copy>*{opacity:0!important;transform:translate3d(0,10px,0)!important;transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.2,1)!important}
  .home-page .hero-slide.active .hero-copy>*{opacity:1!important;transform:translate3d(0,0,0)!important}
  .home-page .hero-slide.active .hero-copy>*:nth-child(1){transition-delay:.12s!important}
  .home-page .hero-slide.active .hero-copy>*:nth-child(2){transition-delay:.2s!important}
  .home-page .hero-slide.active .hero-copy>*:nth-child(3){transition-delay:.28s!important}
  .home-page .hero-slide.active .hero-copy>*:nth-child(4){transition-delay:.34s!important}
  .home-page .hero-slide.active .hero-copy>*:nth-child(5){transition-delay:.4s!important}
  .home-page .hero-line{opacity:0!important;transform:translate3d(0,12px,0)!important;transition:opacity .46s ease,transform .52s cubic-bezier(.16,.8,.24,1)!important}
  .home-page .hero-slide.active .hero-line{opacity:1!important;transform:translate3d(0,0,0)!important}
  .home-page .hero-slide.active .hero-line:first-child{transition-delay:.24s!important}
  .home-page .hero-slide.active .hero-line:nth-child(2){transition-delay:.34s!important}
  .home-page .hero-copy h1 em{color:#fff!important;text-shadow:0 0 18px rgba(255,104,28,0);transition:color .6s ease .42s,text-shadow .7s ease .42s!important}
  .home-page .hero-slide.active .hero-copy h1 em{color:var(--orange)!important;text-shadow:0 0 0 rgba(255,104,28,0)!important}
  .home-page .hero-copy h1:after{animation:none!important;opacity:0;transform:scaleX(0);transition:opacity .4s ease .38s,transform .55s ease .38s!important}
  .home-page .hero-slide.active .hero-copy h1:after{opacity:1;transform:scaleX(1)}
  .home-page .hero-keywords span,.home-page .hero-actions .btn{opacity:0!important;transform:translate3d(0,8px,0)!important;transition:opacity .36s ease,transform .4s ease!important}
  .home-page .hero-slide.active .hero-keywords span,.home-page .hero-slide.active .hero-actions .btn{opacity:1!important;transform:translate3d(0,0,0)!important}
  .home-page .hero-slide.active .hero-keywords span:nth-child(1){transition-delay:.42s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(2){transition-delay:.48s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(3){transition-delay:.54s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(4){transition-delay:.6s!important}
  .home-page .hero-slide.active .hero-actions .btn:first-child{transition-delay:.62s!important}.home-page .hero-slide.active .hero-actions .btn:nth-child(2){transition-delay:.7s!important}
  .home-page .hero-slide.active .eyebrow{animation:vysoft-mobile-eyebrow-in .72s ease-out .08s both!important}
  .home-page .hero-slide.active .hero-copy h1,.home-page .hero-slide.active[data-slide="2"] .hero-copy h1{animation:vysoft-mobile-headline-shell .3s ease-out .16s both!important}
  .home-page .hero-line{will-change:transform,opacity;backface-visibility:hidden;transform-origin:left center}
  .home-page .hero-slide.active .hero-line:first-child{animation:vysoft-mobile-line-left .92s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active .hero-line:nth-child(2){animation:vysoft-mobile-line-right .98s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-line:first-child{animation:vysoft-mobile-line-left .92s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-line:nth-child(2){animation:vysoft-mobile-line-right .98s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active[data-slide="1"] .hero-line:first-child{animation-name:vysoft-mobile-line-right!important}
  .home-page .hero-slide.active[data-slide="1"] .hero-line:nth-child(2){animation-name:vysoft-mobile-line-left!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-line:first-child{animation-name:vysoft-mobile-line-top!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-line:nth-child(2){animation-name:vysoft-mobile-line-bottom!important}
  .home-page .hero-slide.active[data-slide="3"] .hero-line:first-child{animation-name:vysoft-mobile-line-scale!important}
  .home-page .hero-slide.active[data-slide="3"] .hero-line:nth-child(2){animation-name:vysoft-mobile-line-left!important}
  .home-page .hero-slide.active[data-slide="4"] .hero-line:first-child{animation-name:vysoft-mobile-line-bottom!important}
  .home-page .hero-slide.active[data-slide="4"] .hero-line:nth-child(2){animation-name:vysoft-mobile-line-scale!important}
  .home-page .hero-slide.active .hero-line:first-child{animation-delay:.2s!important}
  .home-page .hero-slide.active .hero-line:nth-child(2){animation-delay:.36s!important}
  .home-page .hero-slide.active .hero-copy h1 em{animation:vysoft-mobile-accent-in 1s ease-out .48s both!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-copy h1 em{animation:vysoft-mobile-accent-in 1s ease-out .48s both!important}
  .home-page .hero-slide.active .hero-copy>p{animation:vysoft-mobile-copy-in .72s ease-out .48s both!important}
  .home-page .hero-slide.active[data-slide="1"] .hero-copy>p,.home-page .hero-slide.active[data-slide="4"] .hero-copy>p{animation-name:vysoft-mobile-copy-right!important}
  .home-page .hero-slide.active[data-slide="2"] .hero-copy>p,.home-page .hero-slide.active[data-slide="3"] .hero-copy>p{animation-name:vysoft-mobile-copy-left!important}
  .home-page .hero-slide.active .hero-keywords span{animation:vysoft-mobile-chip-in .52s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active .hero-keywords span:nth-child(1){animation-delay:.62s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(2){animation-delay:.7s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(3){animation-delay:.78s!important}.home-page .hero-slide.active .hero-keywords span:nth-child(4){animation-delay:.86s!important}
  .home-page .hero-slide.active .hero-actions .btn{animation:vysoft-mobile-action-in .58s cubic-bezier(.16,.8,.24,1) both!important}
  .home-page .hero-slide.active .hero-actions .btn:first-child{animation-delay:.92s!important}.home-page .hero-slide.active .hero-actions .btn:nth-child(2){animation-delay:1.02s!important}
  .home-page .pharma-eyebrow .mobile-break{display:block;margin-top:5px}
  .home-page .hero-arc-field{right:-18%;width:82vw;opacity:0;transition:opacity .65s ease .18s}
  .home-page .hero-slide.active .hero-arc-field{opacity:.28}
  .home-page .hero-arc-field span{display:none}
  .home-page .hero-arc-field span:first-child{display:block;inset:12%;animation:none!important;opacity:.65;transform:scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .home-page .hero-slide,.home-page .hero-slide:before,.home-page .hero-slide.active:before,.home-page .hero-slide:after,.home-page .hero-slide.active:after,.home-page .hero-copy,.home-page .hero-copy>*,.home-page .hero-line,.home-page .hero-copy h1 em,.home-page .hero-copy h1:after,.home-page .hero-keywords span,.home-page .hero-actions .btn,.home-page .reveal,.home-page .primary-card,.home-page .why-card,.home-page .role-grid>div,.home-page .home-industry-card{animation:none!important;transition:none!important;transform:none!important;filter:none!important;clip-path:none!important}
}
