@keyframes rotateSquare {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.intro-pattern-overlay {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, currentColor 20px, currentColor 40px);
    opacity: 0.03;
    top: -20%;
    left: -30%;
    width: 100%;
    height: 100%;
    animation: rotateSquare 20s linear infinite;
}

.intro-pattern-content {
    max-width: 56rem;
}

.glossary-v2-cluster__card {
    width: 100%;
}

@media (min-width: 992px) {
    .glossary-v2-cluster__card {
        width: calc(50% - 0.75rem); /* For gap-4 (1.5rem) -> half is 0.75rem */
    }
}

.content-column__body {
    column-gap: 2.5rem;
}

.content-column__body p {
    break-inside: avoid;
}

@media (min-width: 768px) {
    .content-column__body {
        column-count: 2;
    }
}

@media (min-width: 1200px) {
    .content-column__body {
        column-count: 3;
    }
}


@keyframes happenings-gatherings-star-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.happenings-gatherings__star-lg {
    width: 1.5rem; height: 1.5rem;
    animation: happenings-gatherings-star-pulse 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes happenings-gatherings-star-bounce {
    0%, 100% { transform: translateY(0); animation-timing-function: cubic-bezier(.8,0,1,1); }
    50%       { transform: translateY(-25%); animation-timing-function: cubic-bezier(0,0,.2,1); }
}
.happenings-gatherings__star-sm {
    width: 1rem; height: 1rem;
    animation: happenings-gatherings-star-bounce 1s infinite;
    animation-delay: 0.5s;
}

@keyframes happenings-gatherings-trace-pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.happenings-gatherings__trace-lg {
    width: 5rem; height: 0.125rem;
    animation: happenings-gatherings-trace-pulse 2s cubic-bezier(.4,0,.6,1) infinite;
    animation-delay: 1.2s;
}
.happenings-gatherings__trace-sm {
    width: 4rem; height: 0.125rem;
    animation: happenings-gatherings-trace-pulse 2s cubic-bezier(.4,0,.6,1) infinite;
    animation-delay: 0.6s;
}

.happenings-gatherings__avatar { width: 6rem; height: 6rem; }
.happenings-gatherings__blob { width: 5rem; height: 5rem; }
.happenings-gatherings__accent { height: 0.25rem; }

.happenings-gatherings__record--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

