/* Motion adds emphasis without controlling the visitor's scroll position. */
.cinematic-home .hero-image{animation:none;transform:none}
.hero-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease;pointer-events:none}
.film-playing .hero-film{opacity:1}
.hero-title{margin-block:28px 26px}
.headline-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.headline-line>span{display:block;animation:headline-arrive 1.25s cubic-bezier(.16,1,.3,1) both;animation-delay:.16s}
.headline-line:nth-child(2)>span{animation-delay:.34s}
@keyframes headline-arrive{from{opacity:0;transform:translateY(108%)}to{opacity:1;transform:translateY(0)}}
.js .reveal{transition:opacity .9s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.js .reveal.in-view{transform:translateY(0);opacity:1}
.signal-route{opacity:0;stroke:#efeff5;stroke-width:1.65;stroke-dasharray:12 88;stroke-dashoffset:100;animation:connection-travel 2.6s linear infinite;animation-play-state:paused}
.system-map.motion-active .signal-route{animation-play-state:running}
.system-map[data-active=ai] [data-signal=ai],.system-map[data-active=cloud] [data-signal=cloud],.system-map[data-active=security] [data-signal=security],.system-map[data-active=software] [data-signal=software]{opacity:.9}
.map-core{transition:border-color .45s,background .45s}
.map-node{transition:color .35s,border-color .35s,background .35s}
.system-map.motion-active .map-node.active i{animation:node-breathe 2.6s ease-in-out infinite}
@keyframes connection-travel{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes node-breathe{0%,100%{opacity:.4;transform:scale(.75)}50%{opacity:1;transform:scale(1.12)}}
.js .stack-area .security-spine{transform:scaleY(.2);transform-origin:top;opacity:.25;transition:transform 1.4s cubic-bezier(.16,1,.3,1),opacity .9s}
.js .stack-area.in-view .security-spine{transform:scaleY(1);opacity:1}
.stack-area:not(.motion-active) .security-spine i{animation-play-state:paused}
.stack-layer{transition:border-color .35s,color .35s,background .35s}
.stack-layer.active{background:linear-gradient(90deg,#ffffff05,transparent)}
.workflow-step .step-icon{transition:background .4s,border-color .4s,color .4s,transform .5s cubic-bezier(.16,1,.3,1)}
.workflow-step.active .step-icon{transform:scale(1.06)}
.workflow-track i{transition:width 1.1s cubic-bezier(.22,1,.36,1)}
.cinematic-home .button{transition:background .25s,border-color .25s,transform .35s cubic-bezier(.16,1,.3,1)}
.cinematic-home .menu-toggle{transition:border-color .25s,background .25s}
.cinematic-home .menu-toggle:hover{border-color:#ddd;background:#ffffff0c}
.cinematic-home .mobile-menu[open]{animation:menu-arrive .35s ease both}
.cinematic-home .mobile-menu[open] nav a{animation:nav-arrive .65s cubic-bezier(.16,1,.3,1) both}
.cinematic-home .mobile-menu[open] nav a:nth-child(2){animation-delay:.045s}.cinematic-home .mobile-menu[open] nav a:nth-child(3){animation-delay:.09s}.cinematic-home .mobile-menu[open] nav a:nth-child(4){animation-delay:.135s}.cinematic-home .mobile-menu[open] nav a:nth-child(5){animation-delay:.18s}.cinematic-home .mobile-menu[open] nav a:nth-child(6){animation-delay:.225s}
@keyframes menu-arrive{from{opacity:0}to{opacity:1}}
@keyframes nav-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.motion-sleep *,.motion-sleep *:before,.motion-sleep *:after{animation-play-state:paused!important}
.motion-paused .headline-line>span{animation:none;opacity:1;transform:none}
.motion-paused .signal-route{animation:none;stroke-dasharray:none}
.motion-paused .stack-area .security-spine{transform:none;opacity:1}
.motion-paused .reveal,.motion-paused .mobile-menu[open],.motion-paused .mobile-menu[open] nav a{animation:none!important;transition:none!important;opacity:1;transform:none}
.motion-paused .workflow-step .step-icon{transform:none;transition:none}
@media(max-width:1120px){.hero-film{object-position:56% center}}
@media(max-width:800px){.hero-film{object-position:62% center}.headline-line>span{animation-duration:1s}.js .reveal{transition-duration:.65s}}
@media(max-width:520px){.hero-film{object-position:57% center}.cinematic-home .hero-title{margin:23px 0 22px}.headline-line>span{animation-duration:.85s}.js .reveal{transform:translateY(12px)}.js .reveal.in-view{transform:none}}
@media(prefers-reduced-motion:reduce){.headline-line>span,.mobile-menu[open],.mobile-menu[open] nav a{animation:none!important;transform:none!important;opacity:1}.signal-route{animation:none!important;stroke-dasharray:none}.hero-film{transition:none}.js .stack-area .security-spine{transform:none;opacity:1}.js .reveal{transform:none;opacity:1;transition:none}.workflow-step .step-icon{transform:none}}
