.aw-animation-container .svg-mount {
    width: min(1200px, 100%);
}

.aw-animation-container svg {
    overflow: visible;
}
/* Make the injected SVG responsive */
.aw-animation-container .svg-mount svg {
    width: 100%;
    height: auto;
    display: block;
}

/* Optional: soften the whole graphic a touch */
.aw-animation-container .svg-mount svg {
    /* filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.35)); */
}

.aw-animation-container .svg-mount circle {
    /* filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.35)); */
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    .aw-animation-container .svg-mount {
        opacity: 0.9;
    }
}

/* --- Center Pulse (progressive enhancement) --- */
.aw-animation-container .center-core-pulse {
    transform-box: fill-box;
    transform-origin: center;
    animation: centerCorePulse 2.2s ease-in-out infinite;
    will-change: transform;
}

/* A ring that expands from the innermost ring to the outermost ring */
.aw-animation-container .center-pulse-sweep {
    fill: none;
    stroke: #00aae5;
    stroke-width: 2.1;
    stroke-opacity: 0.52;
    transform-box: fill-box;
    transform-origin: center;
    animation: centerRingSweep 2.2s ease-out infinite;
    filter: drop-shadow(0 0 10px rgba(0, 170, 229, 0.24));
    pointer-events: none;
    will-change: transform, opacity;
}

/* Subtle pulse for all node circles (icons + hub + center). */
.aw-animation-container .node-pulse-ring {
    fill: none;
    stroke: #00aae5;
    stroke-width: 1.7;
    stroke-opacity: 0.55;
    transform-box: fill-box;
    transform-origin: center;
    animation: nodeRingPulse var(--dur, 3.2s) ease-out infinite;
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
}

@keyframes nodeRingPulse {
    0% {
        transform: scale(0.92);
        opacity: 0;
    }
    14% {
        opacity: 0.65;
    }
    100% {
        transform: scale(1.18);
        opacity: 0;
    }
}

@keyframes centerCorePulse {
    0%,
    100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.06);
    }
}

@keyframes centerRingSweep {
    0% {
        transform: scale(1);
        opacity: 0;
    }
    12% {
        opacity: 0.5;
    }
    70% {
        opacity: 0.32;
    }
    100% {
        transform: scale(var(--pulse-scale, 1.4));
        opacity: 0.1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aw-animation-container .center-core-pulse,
    .aw-animation-container .center-pulse-sweep,
    .aw-animation-container .node-pulse-ring {
        animation: none !important;
    }
}

/* added */

/* Optional: slightly stronger faint lines for contrast */
.aw-animation-container .svg-mount svg path[stroke-opacity="0.2"] {
    stroke-opacity: 0.22;
}

/* The moving “packet” overlay */
.aw-animation-container .moving-packet {
    fill: none;
    stroke: #00aae5;
    stroke-opacity: 1;
    stroke-linecap: round;
    stroke-linejoin: round;
    /* subtle glow */
    filter: drop-shadow(0 0 6px rgba(0, 170, 229, 0.45));
}

.aw-animation-container .arrival-ring {
    fill: none;
    stroke: #00aae5;
    stroke-width: 2.5;
    stroke-opacity: 0.9;
    filter: drop-shadow(0 0 8px rgba(0, 170, 229, 0.4));
}

.aw-animation-container circle {
    position: relative;
    z-index: 999;
}

.aw-animation-container .moving-packet {
    position: relative;
    z-index: -99;
}

.aw-animation-container line {
    display: none;
}

.aw-animation-container g,
.aw-animation-container circle {
    position: relative;
    z-index: 999;
}

@media (max-width: 1024px) {
    .aw-animation-container .full-img-wrap {
        display: none !important;
    }
}
