/* Animated naval blueprint lines */
.intro#company:before{
  opacity:.34;
  clip-path:none;
  will-change:background-position;
  animation:introGridDrift 7s linear infinite;
}
.intro#company.is-visible:before{
  animation:introGridDrift 7s linear infinite;
}
.intro#company .intro-scanlines{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen}
.intro#company .intro-scanlines i{position:absolute;display:block;opacity:0;will-change:transform,opacity}
.intro#company.is-visible .intro-scanlines i:first-child{left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(122,190,228,.18) 18%,rgba(199,231,246,.78) 50%,rgba(122,190,228,.18) 82%,transparent 100%);box-shadow:0 0 18px rgba(106,190,237,.7);animation:introScanY 4.8s cubic-bezier(.45,0,.55,1) infinite}
.intro#company.is-visible .intro-scanlines i:last-child{left:0;top:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(122,190,228,.18) 18%,rgba(199,231,246,.72) 50%,rgba(122,190,228,.18) 82%,transparent 100%);box-shadow:0 0 18px rgba(106,190,237,.62);animation:introScanX 6.2s cubic-bezier(.45,0,.55,1) .8s infinite}
.intro#company .intro-orbit{opacity:0;will-change:transform,opacity,border-color}
.intro#company.is-visible .intro-orbit-one{
  animation:introOrbitFade 1.4s ease-out .35s both,introOrbitFloatOne 17s ease-in-out .35s infinite alternate;
}
.intro#company.is-visible .intro-orbit-two{
  animation:introOrbitFade 1.4s ease-out .62s both,introOrbitFloatTwo 13s ease-in-out .62s infinite alternate-reverse;
}
.intro#company.is-visible .intro-signature i{transform-origin:left;animation:introRuleDraw 1s cubic-bezier(.16,.8,.22,1) .85s both}
.intro#company.is-visible .intro-body{animation:introDividerGlow 4.8s ease-in-out 1.2s infinite alternate}
.intro#company.is-visible .intro-body:before{animation:introNodePulse 2.8s ease-in-out 1.2s infinite}
.intro#company.is-visible .intro-watermark{animation:introWatermarkBreathe 8s ease-in-out 1s infinite alternate}

@keyframes introGridReveal{
  from{opacity:0;clip-path:inset(0 100% 0 0)}
  to{opacity:.34;clip-path:inset(0 0 0 0)}
}
@keyframes introGridDrift{
  from{background-position:0 0,0 0}
  to{background-position:25vw 25vw,25vw 25vw}
}
@keyframes introScanY{0%{transform:translateY(-2px);opacity:0}8%,88%{opacity:.95}100%{transform:translateY(100vh);opacity:0}}
@keyframes introScanX{0%{transform:translateX(-2px);opacity:0}8%,88%{opacity:.8}100%{transform:translateX(100vw);opacity:0}}
@keyframes introOrbitFade{from{opacity:0}to{opacity:1}}
@keyframes introOrbitFloatOne{
  from{transform:translate3d(-1.2%,1.2%,0) rotate(-3deg);border-color:rgba(139,183,213,.11)}
  to{transform:translate3d(2.2%,-1.8%,0) rotate(7deg);border-color:rgba(139,183,213,.25)}
}
@keyframes introOrbitFloatTwo{
  from{transform:translate3d(1.5%,-1%,0) rotate(4deg);border-color:rgba(139,183,213,.12)}
  to{transform:translate3d(-2%,2%,0) rotate(-8deg);border-color:rgba(139,183,213,.28)}
}
@keyframes introRuleDraw{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}
@keyframes introDividerGlow{from{border-left-color:rgba(190,215,230,.18)}to{border-left-color:rgba(164,205,231,.42)}}
@keyframes introNodePulse{0%,100%{box-shadow:0 0 14px rgba(151,204,235,.45)}50%{box-shadow:0 0 32px rgba(151,204,235,.95)}}
@keyframes introWatermarkBreathe{from{-webkit-text-stroke-color:rgba(182,210,225,.04)}to{-webkit-text-stroke-color:rgba(182,210,225,.085)}}

@media(prefers-reduced-motion:reduce){
  .intro#company:before{opacity:.34;clip-path:none}
  .intro#company .intro-orbit{opacity:1}
  .intro#company .intro-scanlines{display:none}
  .intro#company.is-visible:before,.intro#company.is-visible .intro-orbit-one,.intro#company.is-visible .intro-orbit-two,.intro#company.is-visible .intro-signature i,.intro#company.is-visible .intro-body,.intro#company.is-visible .intro-body:before,.intro#company.is-visible .intro-watermark{animation:none}
}
