/* INFINIZY Motion System — production v1.0 */
:root{--infinizy-motion-ease:cubic-bezier(.22,.8,.2,1)}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}.infinizy-reveal,.infinizy-line::after,.motion-word,.word-live,.motion-chip,.infinizy-signal-step{transition:none!important;animation:none!important}}
.infinizy-reveal{opacity:0;transform:translateY(22px);transition:opacity .72s var(--infinizy-motion-ease),transform .72s var(--infinizy-motion-ease);will-change:opacity,transform}
.infinizy-reveal.is-visible{opacity:1;transform:none}
.infinizy-stagger>*{transition-delay:calc(var(--i,0) * 90ms)}
.infinizy-line{position:relative;overflow:hidden}
.infinizy-line::after{content:"";display:block;height:1px;transform:scaleX(0);transform-origin:left;background:currentColor;opacity:.22;transition:transform 1s var(--infinizy-motion-ease) .15s}
.infinizy-line.is-visible::after{transform:scaleX(1)}
.hero-motion-title .motion-line{display:block}
.hero-motion-title .motion-word{display:inline-block;position:relative}
.hero-motion-title .word-ghost{opacity:.10;transition:opacity .35s ease}
.hero-motion-title .word-live{position:absolute;inset:0;display:block;overflow:hidden;width:0;white-space:nowrap;transition:width .7s var(--infinizy-motion-ease)}
.hero-motion-title .motion-word.is-typed .word-live{width:100%}
.hero-motion-title .word-live::after{content:"";display:inline-block;height:.78em;width:1px;margin-left:.08em;background:currentColor;vertical-align:-.05em;opacity:.7;animation:infinizy-blink 1s steps(1) infinite}
.hero-motion-title.hero-settled .word-live::after{display:none}
@keyframes infinizy-blink{50%{opacity:0}}
.infinizy-signal-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:30px 0 10px}
.infinizy-signal-step{position:relative;padding:16px 12px 14px;border-top:1px solid currentColor;opacity:.45;transform:translateY(8px);transition:opacity .5s ease,transform .5s var(--infinizy-motion-ease)}
.infinizy-signal-step:not(:last-child)::after{content:"→";position:absolute;right:-7px;top:7px;opacity:.45}
.infinizy-signal-step.is-active{opacity:1;transform:none}
.infinizy-signal-step small{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-bottom:7px}
.infinizy-signal-step strong{font-size:.92rem}
@media(max-width:760px){
 .hero{min-height:clamp(620px,92svh,780px)}
 .hero-motion-title{letter-spacing:-.045em;line-height:.96}
 .hero-copy{max-width:100%}
 .section-head{gap:22px}
 .service-grid{gap:12px}
 .service-card{transition:transform .45s var(--infinizy-motion-ease),box-shadow .45s var(--infinizy-motion-ease),opacity .65s var(--infinizy-motion-ease)}
 .service-card:active{transform:scale(.985)}
 .flow-item{transition:opacity .65s var(--infinizy-motion-ease),transform .65s var(--infinizy-motion-ease)}
 .work-map{overflow:hidden}.work-map .container{width:100%}
 .hero-motion-title .motion-word{will-change:transform,opacity}.hero-motion-title .word-live{transition-duration:.55s}
 .infinizy-signal-rail{grid-template-columns:1fr;gap:0;margin-top:24px}
 .infinizy-signal-step{border-top:0;border-left:1px solid currentColor;padding:13px 14px 13px 18px;transform:translateX(-10px)}
 .infinizy-signal-step:not(:last-child)::after{content:"↓";right:auto;left:-5px;top:auto;bottom:-9px}
 .infinizy-signal-step.is-active{transform:none}
}

/* INFINIZY IQ hero timing phrase: explicit spacing + orange in animated and static states. */
.hero-motion-title .motion-word[data-word="Why Now."] { margin-left:.20em; }
.hero-motion-active .hero-motion-title .motion-word[data-word="Why Now."] .word-live,
.hero-motion-title .motion-word[data-word="Why Now."] .word-live,
.hero-motion-title .motion-word[data-word="Why Now."] .word-live.is-complete {
  color:#f47645 !important;
}
.hero-motion-title .motion-word[data-word="Why Now."] .word-ghost {
  color:#f47645 !important;
}
