/* Decorative layers never intercept clicks, selection, or touch scrolling. */
.hero,.page-hero{position:relative;isolation:isolate;overflow:hidden}
.hero>.wrap,.page-hero>.wrap{position:relative;z-index:1}
.ai-network{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.75}
.ai-cursor-trail{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none}
.motion-toggle{position:absolute;top:14px;right:max(20px,calc((100vw - 1240px)/2));z-index:2;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;color:#c2ded7;background:#14313fbb;border:1px solid #78d5be45;border-radius:4px;font-size:10px;letter-spacing:.035em;line-height:1.3;min-height:30px}
.motion-toggle:hover{background:#224d55;border-color:#78d5be88}
.motion-toggle:focus-visible{outline:2px solid #78d5be;outline-offset:4px}
.motion-toggle>span:first-child{font-size:13px;width:12px;text-align:center}
/* Content stays visible until JavaScript explicitly enables motion. */
html[data-motion=running] .motion-reveal{opacity:0;translate:0 22px}
html[data-motion=running] .motion-reveal.is-revealed{opacity:1;translate:0 0}
.motion-reveal{transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
html[data-motion=paused] :is(.motion-reveal,.btn,.text-link,.pillar .icon,.btn .arrow,.text-link span){transition:none!important}
.pillar,.model,.service-card{transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms),transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pillar .icon,.btn .arrow,.text-link span{display:inline-block;transition:transform .25s ease}
html[data-motion=running] .btn:active{transform:translateY(1px) scale(.98)}
html[data-motion=running] .text-link:active{transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){
  html[data-motion=running] :is(.pillar,.model,.service-card):hover{transform:translateY(-5px);border-color:#2b9d8a88;box-shadow:0 12px 30px #14313f12,0 0 0 1px #2b9d8a18}
  html[data-motion=running] .pillar:hover .icon{transform:translateY(-3px) rotate(-3deg)}
  html[data-motion=running] :is(.btn,.text-link):hover :is(.arrow,span[aria-hidden]){transform:translate(3px,-3px)}
}
.technology-visual{position:relative;isolation:isolate}
.flow-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.technology-visual>:not(.flow-connections){position:relative;z-index:1}
.flow-enhanced .visual-rule{height:44px;background:none}
.flow-connection{stroke:#78d5be66;stroke-width:1.1;vector-effect:non-scaling-stroke}
.flow-packet{fill:#b1f3dc;filter:drop-shadow(0 0 4px #78d5be)}
.flow-enhanced .flow-box{background:#193e49}
.flow-enhanced .visual-wide{background:#1c454d}
.flow-enhanced.is-flow-visible .flow-connection{animation:connection-draw 1.4s ease both}
html[data-motion=running] .flow-enhanced.is-flow-visible .flow-row:first-of-type .flow-box{animation:source-illuminate 6.4s ease infinite}
html[data-motion=running] .flow-enhanced.is-flow-visible .visual-wide{animation:hub-illuminate 6.4s ease infinite}
html[data-motion=running] .flow-enhanced.is-flow-visible .flow-row:last-of-type .flow-box{animation:output-illuminate 6.4s ease infinite}
.flow-enhanced .flow-box:nth-child(2){animation-delay:.15s!important}
.flow-enhanced .flow-box:nth-child(3){animation-delay:.3s!important}
html:not([data-motion=running]) .flow-enhanced *,html.motion-document-hidden .flow-enhanced *{animation-play-state:paused!important}
html[data-motion=reduced] .flow-connection{animation:none!important;stroke-dashoffset:0!important}
@keyframes connection-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@keyframes source-illuminate{0%,29%,100%{border-color:#68857d;box-shadow:none}8%,21%{border-color:#9bdcc9;box-shadow:0 0 16px #78d5be22}}
@keyframes hub-illuminate{0%,18%,61%,100%{border-color:#6cb8a3;box-shadow:none}32%,48%{border-color:#b1f3dc;box-shadow:0 0 22px #78d5be30}}
@keyframes output-illuminate{0%,48%,98%,100%{border-color:#6cb8a3;box-shadow:none}65%,83%{border-color:#b1f3dc;box-shadow:0 0 16px #78d5be22}}
.systems-strip{padding:46px 0 35px;background:#f0f1eb;border-bottom:1px solid #d5d9cf;overflow:hidden}
.systems-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:28px}
.systems-heading .eyebrow{font-size:10px;margin-bottom:13px}
.systems-heading h2{font-size:clamp(25px,2.7vw,37px);letter-spacing:-.035em}
.systems-heading p{font-size:14px;line-height:1.65;color:var(--muted);max-width:680px;margin-top:13px}
.systems-motion-toggle{flex:none;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid #a9bbb4;border-radius:4px;padding:8px 11px;min-height:36px;font-size:11px;color:var(--navy)}
.systems-motion-toggle[hidden]{display:none}
.systems-motion-toggle:hover{background:#e3e9e1;border-color:var(--teal)}
.systems-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.systems-track{display:flex;width:max-content}
.systems-group{display:flex;align-items:center;gap:18px;list-style:none;padding:0 18px 0 0;margin:0;flex-shrink:0}
.systems-group li{white-space:nowrap;background:#fbfaf7;border:1px solid #d5dcd1;border-radius:7px;padding:17px 27px;font-family:'Manrope',Arial,sans-serif;font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.03em;color:#24484f;box-shadow:0 2px 5px #14313f04}
.systems-copy{display:none}
html[data-motion] .systems-copy{display:flex}
html[data-motion=running] .systems-track{animation:systems-right 125s linear infinite}
html[data-motion=paused] .systems-track{animation:systems-right 125s linear infinite;animation-play-state:paused}
.systems-strip:is(:hover,:focus-within,.is-paused) .systems-track,html.motion-document-hidden .systems-track{animation-play-state:paused!important}
@keyframes systems-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
html[data-motion=reduced] .systems-window{mask-image:none}
html[data-motion=reduced] .systems-track{width:100%;animation:none}
html[data-motion=reduced] .systems-group{flex-wrap:wrap;justify-content:center;padding:0 20px;gap:10px;width:100%}
html[data-motion=reduced] .systems-copy,html[data-motion=reduced] .systems-motion-toggle{display:none}
@media(max-width:600px){.systems-strip{padding-top:31px;padding-bottom:27px}.systems-heading{align-items:flex-start;gap:18px;flex-direction:column;margin-bottom:22px}.systems-heading .eyebrow{font-size:9px;letter-spacing:.12em}.systems-heading p{font-size:13px}.systems-group{gap:12px;padding-right:12px}.systems-group li{font-size:16px;padding:14px 20px}}
@media(hover:none),(pointer:coarse){.ai-cursor-trail{display:none}}
@media(prefers-reduced-motion:reduce){.ai-network,.ai-cursor-trail,.motion-toggle{display:none}.motion-reveal{opacity:1!important;translate:none!important}.flow-packet{display:none}.flow-connection{stroke-dashoffset:0!important}.systems-track{animation:none!important;transform:none!important;width:100%}.systems-group{flex-wrap:wrap;justify-content:center;white-space:normal}.systems-copy,.systems-motion-toggle{display:none!important}.systems-window{mask-image:none}}
