/*
 * BS Reboot задає img { max-width: 100%; height: auto } — у порожній рамці висота стає 0.
 * Рамка з aspect-ratio + absolute img гарантують видиму площу.
 */
.intro-performance-split__thumb {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 14rem;
    aspect-ratio: 4 / 3;
}

.intro-performance-split__thumb > img.intro-performance-split__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    z-index: 0;
}

.intro-performance-split__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.intro-performance-split__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.passage-chapter__visual--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.passage-chapter__prompt--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.content-heading-gap {
    margin-bottom: 2rem;
}

.content-img-compact {
    display: block;
    width: 100%;
    height: 12rem;
    min-height: 12rem;
    flex-shrink: 0;
    object-fit: cover;
}
@media (min-width: 768px) {
    .content-img-compact {
        height: 14rem;
        min-height: 14rem;
    }
}


@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; }

/* glossary invert — hover lift supplied via Tailwind on @sem('block'). */

