/* CRM-only wireframe instruments. Existing typography, panels and layout are untouched. */
/* Shorter illustration window; original image geometry keeps its live outlet aligned. */
[data-offer="crm"] .value-scene{aspect-ratio:15/4}
[data-offer="crm"] .value-scene img{position:absolute;inset:0 0 auto;transform:translateY(-8%);filter:none}
[data-offer="crm"] .value-glow{inset:0 0 auto;height:125%;transform:translateY(-8%);background-image:url("images/crm-architecture-v2.webp")}
[data-offer="crm"] .crm-assembly .mesh-main{stroke:#eef8ff;stroke-width:.65;opacity:.66}
[data-offer="crm"] .crm-assembly .mesh-accent{stroke:#fff;stroke-width:.72;opacity:.88}
[data-offer="crm"] .crm-assembly .mesh-fine{stroke:#d1e6f1;stroke-width:.42;opacity:.3}
[data-offer="crm"] .crm-assembly .mesh-back{stroke:#c7dae7;stroke-width:.4;opacity:.2}
.digital-engine .crm-motion{stroke:var(--stream,#fff);animation-delay:var(--delay,0s)}
.digital-engine .crm-activity .process-channel{stroke-width:.55;opacity:.4}
.digital-engine .crm-vortex-halo{stroke:#fff;stroke-width:2;opacity:.1;filter:blur(.7px)}
.digital-engine .crm-data,.digital-engine .crm-campaign-stream{stroke-width:.95;stroke-dasharray:.18 3.82 .25 7.75 .12 5.88;filter:drop-shadow(0 0 .65px var(--stream));animation:crm-stream 3s linear infinite;animation-delay:var(--delay,0s)}
.digital-engine .crm-transfer{stroke-width:1.5;stroke-dasharray:2.4 20.6 .4 10.6;animation:crm-records 4.5s linear infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 .6px var(--stream))}
.digital-engine .crm-handshake{stroke-width:.85;stroke-dasharray:3 27;animation:crm-handshake 3s linear infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 1px #fff8)}
.digital-engine .crm-build-step,.digital-engine .crm-build-link{stroke-width:.8;opacity:.1;animation:crm-build 7s ease-in-out infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 .7px #fff6)}
.digital-engine .crm-build-link{stroke-width:.6;stroke-dasharray:2 2}
.digital-engine .crm-journey-node,.digital-engine .crm-qa-pass{stroke-width:1;animation:crm-confirm 5.5s ease-in-out infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 .8px var(--stream))}
.digital-engine .crm-record-arrive,.digital-engine .crm-record-leave{stroke-width:1.2;animation:crm-arrive 6s ease-in-out infinite;animation-delay:var(--delay,0s)}
.digital-engine .crm-record-leave{animation-direction:reverse}
.digital-engine .crm-qa-scan{stroke-width:.8;animation:crm-scan 3s ease-in-out infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 1px #fff8)}
.digital-engine .crm-vortex{stroke:#fff;stroke-width:1;stroke-dasharray:.2 2.8 .4 5.6 1 8;animation:crm-vortex 3.2s linear infinite;animation-delay:var(--delay,0s);filter:drop-shadow(0 0 1.1px #ffffffa6)}
.digital-engine .crm-power-rim{stroke:#edf5ffd9;stroke-width:3;filter:drop-shadow(0 0 2px #ffffff29)}
.digital-engine .crm-power-core{stroke:#09111d;stroke-width:1.5}
.digital-engine .crm-power-grains{stroke:#fff;stroke-width:.8;stroke-dasharray:.25 6.75 .4 10.6 .2 8.8 .15 12.85;animation:value-grain-flow 5s linear infinite;filter:drop-shadow(0 0 .7px #ffffffb3)}
.digital-engine .crm-power-light{stroke:none;fill:#fff;animation:crm-confirm 6s ease-in-out infinite;filter:drop-shadow(0 0 2px #fff)}
@keyframes crm-stream{to{stroke-dashoffset:-18}}
@keyframes crm-records{to{stroke-dashoffset:-34}}
@keyframes crm-handshake{to{stroke-dashoffset:-30}}
@keyframes crm-build{0%,9%,93%,100%{opacity:.08}18%,79%{opacity:.95}}
@keyframes crm-confirm{0%,18%,100%{opacity:.25}37%,67%{opacity:.95}}
@keyframes crm-arrive{0%,25%{opacity:.1}65%,87%{opacity:.95}100%{opacity:.1}}
@keyframes crm-scan{0%,100%{opacity:.08}42%,58%{opacity:.7}}
@keyframes crm-vortex{to{stroke-dashoffset:-18}}
.flow-paused .crm-motion,.flow-paused .crm-power-grains{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.digital-engine .crm-motion,.digital-engine .crm-power-grains{animation:none}.digital-engine .crm-build-step,.digital-engine .crm-build-link{opacity:.65}}
