/*
 * 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;
}


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


.storyblock-chapter__well-stack-gap {
    gap: 4rem;
}

.content-flow-gap {
    gap: 4rem;
}

.content-grid-gap {
    gap: 2rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-wide-frame {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-cta__lift { transition: transform 150ms ease; }
.content-cta__lift:hover { transform: translateY(-2px); }

.content-base-height {
    display: block;
    width: 100%;
    height: 16rem;
    min-height: 16rem;
    flex-shrink: 0;
    object-fit: cover;
}

.content-img-natural {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
}

/* Bootstrap: explicit grid + gap (row gutters often collapse) */
.tips-grid__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
}

.tips-grid__min-shrink {
    min-width: 0;
}

@media (min-width: 768px) {
    .tips-grid__bs-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.tips-grid__subtitle {
    max-width: 42rem;
}

.tips-grid__thumb {
    width: 3rem;
    height: 3rem;
}


.invite-boost__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

@keyframes invite-boost-flare-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__flare--throb {
    animation: invite-boost-flare-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes invite-boost-flare-rebound-cycle {
    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); }
}
.invite-boost__flare--rebound {
    animation: invite-boost-flare-rebound-cycle 1s infinite;
}

@keyframes invite-boost-flare-ping-cycle {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.invite-boost__flare--ping {
    animation: invite-boost-flare-ping-cycle 1s cubic-bezier(0,0,.2,1) infinite;
}

@keyframes invite-boost-stroke-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__stroke--throb {
    animation: invite-boost-stroke-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

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

.invite-boost__flare--lift:hover { transform: scale(1.25); transition: transform .2s ease; }

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

