.intro-split-icon {
    width: 3rem;
    height: 3rem;
}

/* Як TW: w-64 → sm:w-80 → lg:w-96 (одна шкала для обох фреймворків) */
.intro-split-thumb {
    width: 16rem;
    height: 16rem;
    flex-shrink: 0;
}

@media (min-width: 640px) {
    .intro-split-thumb {
        width: 20rem;
        height: 20rem;
    }
}

@media (min-width: 1024px) {
    .intro-split-thumb {
        width: 24rem;
        height: 24rem;
    }
}

/* Bootstrap: flex + gap (no .row negative margins; works with section overflow). Tailwind grid ignores flex on items. */
@media (min-width: 576px) {
    .intro-split-benefits__row > * {
        flex: 1 1 0%;
        min-width: 0;
    }
}

/* Stack: как grid grid-cols-1 gap-lg (1.5rem в типичной шкале) */
.vertical-manifesto-grid {
    display: grid;
    width: 100%;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}

/* Строка карточки: flex + gap-6 + items-start — то же, что tw flex flex-row items-start gap-6 */
.philosophy-v6-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    width: 100%;
}

/* Как absolute -top-6 у бейджа в оригинале */
.philosophy-v6-badge-wrap {
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: -1.5rem;
}

.philosophy-v6-box {
    flex: 1;
    min-width: 0;
}

/* Круг как в Bootstrap + фикс «вытянутой» капсулы во flex */
.philosophy-vertical__badge {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
    aspect-ratio: 1;
    box-sizing: border-box;
}

.philosophy-bg__img {
    object-fit: cover;
}

/* Magazine index steps — scroll-spy active row highlight (framework-agnostic) */
.gazette-roll__row {
    transition: background-color 200ms ease;
}

.gazette-roll__row--active {
    background-color: var(--bs-primary-bg-subtle, rgb(var(--tw-primary-600, var(--bs-primary-scale-600, 37 99 235)) / 0.08)) !important;
}

.gazette-roll__row--active .gazette-roll__digit {
    color: var(--bs-primary, rgb(var(--tw-primary-600, var(--bs-primary-scale-600, 37 99 235)) / 1)) !important;
    font-weight: 700 !important;
}

.bento-metrics-timeline__blob {
    width: 24rem;
    height: 24rem;
    filter: blur(48px);
}

.bento-metrics-timeline__blob--top {
    top: -6rem;
    left: -6rem;
}

.bento-metrics-timeline__blob--bottom {
    bottom: -6rem;
    right: -6rem;
}

.bento-metrics-timeline__pip {
    width: 6px;
    height: 6px;
}

.bento-metrics-timeline__icon {
    width: 2rem;
    height: 2rem;
}

.bento-metrics-timeline__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (min-width: 768px) {
    .bento-metrics-timeline__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
}

@keyframes bento-metrics-timeline__fade-in {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

.bento-metrics-timeline__animate {
    animation: bento-metrics-timeline__fade-in 0.5s ease forwards;
}

.bento-metrics-timeline__card {
    transition: transform 200ms ease;
}

.bento-metrics-timeline__card:hover {
    transform: translateY(-0.125rem);
}

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

