/* One shared scene responds to the modules, their cards and service links. */
.hero .hero-visual{position:relative;aspect-ratio:3/2;isolation:auto}
.hero .hero-art{display:block;transition:filter .28s ease}
.hero[data-hero-state]:not([data-hero-state=overview]) .hero-art{filter:brightness(.77) saturate(.9)}
.hero .hero-overlay,.hero .hero-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .hero-overlay{overflow:visible;mix-blend-mode:lighten}
.hero .hero-lit{opacity:0;filter:brightness(1.17) saturate(1.08);transition:opacity .28s ease}
.hero[data-hero-state]:not([data-hero-state=overview]) .hero-lit{opacity:1}
.hero .hero-leaders path{stroke:#dce5dd;transition:stroke .25s ease}
.hero .hero-leaders path.on{stroke:var(--signal);stroke-width:3.2}
.hero .hero-leader-dots circle{fill:var(--signal);stroke:var(--paper);stroke-width:2}
.hero .hero-leader-dots circle.on{filter:drop-shadow(0 0 10px #f5e500)}
.hero .hero-route{stroke:var(--signal);stroke-width:7;opacity:0;transition:opacity .2s ease}
.hero .hero-route.on{opacity:.8}
.hero .hero-signal{stroke:#ffffb5;stroke-width:10;stroke-dasharray:.15 1;opacity:0}
.hero .hero-pulse{opacity:0;transform-origin:center;transform-box:fill-box}
.hero .hero-node{position:absolute;display:none;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;z-index:2;transform:none}
.hero[data-hero-interactive] .hero-node{display:block}
.hero .hero-node-ai{left:34.5%;top:9.5%;width:30.8%;height:46.1%;clip-path:polygon(51% 0,100% 24%,100% 80%,59% 100%,0 73%,0 23%)}
.hero .hero-node-crm{left:13.25%;top:29.2%;width:22.8%;height:34.4%;clip-path:polygon(48% 0,100% 20%,100% 78%,61% 100%,0 74%,0 24%)}
.hero .hero-node-erp{left:67.3%;top:21.6%;width:23%;height:35.8%;clip-path:polygon(48% 0,100% 21%,100% 80%,51% 100%,0 75%,0 25%)}
.hero .hero-node-analytics{left:40.4%;top:54.1%;width:25.7%;height:28.9%;clip-path:polygon(48% 0,100% 30%,100% 76%,45% 100%,0 75%,0 35%)}
.hero .hero-node:focus-visible{outline:none;background:#f5e50012;box-shadow:inset 0 0 35px #f5e50050}
.hero .hero-connections{z-index:3}
.hero[data-hero-interactive] .hero-connections [data-hero-pick]{pointer-events:stroke;cursor:pointer}
.hero .hero-cards{display:contents}
.hero .floating-label{z-index:4;text-align:left;display:block;transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease}
.hero .floating-label.related{transform:translateY(-4px);border-color:var(--signal);box-shadow:0 0 0 1px #f5e500,0 10px 34px #f5e50018}
.hero .floating-label:focus-visible{outline:2px solid var(--signal);outline-offset:5px}
.hero .label-crm{min-width:156px;width:max(22%,12vw)}
.hero .label-erp{min-width:162px;width:max(21%,12.5vw)}
.hero .label-bi{display:flex;min-width:184px;width:max(27%,14vw)}
.hero .floating-label strong{color:var(--ink)}
.hero .hero-bi-copy{display:block}
.hero .floating-label [data-hero-description]{display:block;font-size:clamp(11px,.94vw,15px);color:#505850;white-space:nowrap}
.hero .hero-mini-chart i{transform-origin:bottom}
.hero .art-caption{min-height:2.8em;padding-inline:10px;display:flex;align-items:center;justify-content:center;bottom:3.6%;pointer-events:none}
.hero .hero-baseline button{position:relative;transition:color .2s ease}
.hero .hero-baseline button:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hero .hero-baseline button.is-hero-active{color:var(--signal)}
.hero .hero-baseline button.is-hero-active:after{transform:scaleX(1)}
@media(min-width:1001px) and (max-height:850px){.hero .floating-label [data-hero-description]{font-size:12px}}
@media(max-width:1000px){.hero .floating-label [data-hero-description]{font-size:10px}.hero .label-crm{min-width:140px}.hero .label-erp{min-width:138px}.hero .label-bi{min-width:155px}.hero .art-caption{bottom:7.5%}}
@media(max-width:700px){
 .hero .hero-scene{aspect-ratio:auto;margin-top:20px;padding-bottom:10px}
 .hero .hero-art-frame{position:relative;top:auto;right:auto;width:100%;transform:none}
 .hero .hero-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}
 .hero .floating-label{position:static;display:block;min-width:0;min-height:96px;width:auto;padding:11px 9px;border-radius:7px}
 .hero .floating-label strong{min-height:20px;font-size:12px;gap:4px;margin-bottom:7px}
 .hero .floating-label [data-hero-description]{font-size:11px;line-height:1.4;white-space:normal;min-height:2.8em;letter-spacing:-.02em}
 .hero .label-crm b{min-width:16px;height:16px;font-size:11px;flex-shrink:0}
 .hero .label-bi .hero-mini-chart{display:none}
 .hero .hero-leaders,.hero .hero-leader-dots{display:none}
 .hero .art-caption{position:static;font-size:11px;line-height:1.4;min-height:48px;padding:10px 4px 0}
}
@media(prefers-reduced-motion:reduce){.hero .hero-art,.hero .hero-lit,.hero .hero-leaders path,.hero .hero-route,.hero .floating-label,.hero .hero-baseline button,.hero .hero-baseline button:after{transition:none}.hero .floating-label.related{transform:none}}
