/* Decorative SVG: no images, filters, layout shifts or frame-by-frame JS. */
.network-surface { position: relative; isolation: isolate; }
.ambient-network { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; overflow: hidden; pointer-events: none; color: #a9bfd9; opacity: .66; contain: strict; }
.ambient-network path { fill: none; stroke: currentColor; stroke-width: .8; stroke-opacity: .24; }
.ambient-network circle { fill: currentColor; opacity: .68; }
.ambient-network .network-gold { fill: #d4b571; opacity: .9; }
.network-drift { animation: network-drift 38s ease-in-out infinite alternate; animation-play-state: paused; }
.network-drift-b { animation-name: network-drift-b; animation-duration: 46s; animation-delay: -14s; }
.network-drift-c { animation-duration: 52s; animation-delay: -26s; opacity: .55; }
.network-surface.is-network-visible .network-drift { animation-play-state: running; }
@keyframes network-drift { from { transform: translate(-5px, -3px); } to { transform: translate(8px, 6px); } }
@keyframes network-drift-b { from { transform: translate(5px, -4px); } to { transform: translate(-7px, 7px); } }
.hero.network-light::after, .closing-card.network-surface::after { display: none; }
.hero.network-light .ambient-network { left: 44%; width: 56%; color: #365779; opacity: .62; mask-image: linear-gradient(90deg, transparent, #000 38%); }
.hero.network-light .ambient-network path { stroke-opacity: .23; }
.hero.network-light .network-gold { fill: #9a7534; }
.closing-card .ambient-network { mask-image: radial-gradient(ellipse at center, transparent 22%, #000 85%); }
.industries .ambient-network { opacity: .46; mask-image: linear-gradient(#000, rgba(0,0,0,.2) 70%, #000); }
.value-card-featured .ambient-network { opacity: .4; mask-image: linear-gradient(90deg, transparent 12%, #000 100%); }
/* Connect the actual numbered steps. Each segment bridges to the next card. */
.process .step { --node-left: 30px; --node-top: 29px; --node-size: 44px; }
.process .step-number { position: relative; z-index: 1; width: var(--node-size); height: var(--node-size); display: grid; place-items: center; border: 1px solid #b99752; border-radius: 50%; background: #fbfaf7; font-size: 1rem; box-shadow: 0 0 0 5px #fbfaf7; }
.process .step.is-primary .step-number { background: #f3ead8; box-shadow: 0 0 0 5px #f4efe4; }
.process .step:not(:last-child)::after { content: ''; position: absolute; z-index: 0; left: calc(var(--node-left) + var(--node-size) / 2); top: calc(var(--node-top) + var(--node-size)); bottom: calc(-12px - var(--node-top)); width: 1px; background: linear-gradient(#b99752, #dcd0b7); pointer-events: none; }
@media (max-width: 820px) {
 .hero.network-light .ambient-network { left: 0; top: 40%; width: 100%; height: 60%; opacity: .42; mask-image: linear-gradient(transparent, #000 45%); }
 .network-drift-c { display: none; }
 .closing-card .ambient-network { opacity: .45; mask-image: linear-gradient(90deg, #000, transparent 28%, transparent 72%, #000); }
}
@media (max-width: 560px) {
 .process .step { --node-left: 17px; --node-top: 22px; --node-size: 38px; }
 .process .step-number { font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) {
 .network-surface .network-drift { animation: none !important; }
}
