.axion-animation-wrapper {
    position: relative;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.axion-animation-wrapper *,
.axion-animation-wrapper *::before,
.axion-animation-wrapper *::after {
    box-sizing: border-box;
}

/* Shared gradient used across multiple animations */
.axion-gradient-bg {
    background: linear-gradient(135deg, #2d69fb 0%, #d278fe 100%);
}

.axion-gradient-text {
    background: linear-gradient(135deg, #2d69fb 0%, #d278fe 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* -----------------------------------------------------------------------
   Responsive scaling: all animations scale down proportionally
   ----------------------------------------------------------------------- */
@media (max-width: 768px) {
    .axion-animation-wrapper {
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .axion-animation-wrapper {
        max-width: 100% !important;
        font-size: 0.85em;
    }
}
