.essence-card-hover {
    transition: transform 0.3s ease;
}

.essence-card-hover:hover {
    transform: scale(1.05);
}

.values-orb-card__thumb {
    width: 5rem;
    height: 5rem;
    z-index: 10;
}

.masonry-image-timeline__masonry {
    column-gap: 1.5rem;
    column-count: 1;
}

@media (min-width: 768px) {
    .masonry-image-timeline__masonry {
        column-count: 2;
    }
}

@media (min-width: 1024px) {
    .masonry-image-timeline__masonry {
        column-count: 3;
    }
}

/* Same aspect ratios as Tailwind aspect-[4/5], aspect-[3/4], aspect-square */
.masonry-image-timeline__aspect-45 {
    aspect-ratio: 4 / 5;
}

.masonry-image-timeline__aspect-34 {
    aspect-ratio: 3 / 4;
}

.masonry-image-timeline__aspect-square {
    aspect-ratio: 1 / 1;
}

.masonry-image-timeline__card img {
    width: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.masonry-image-timeline__card:hover img {
    transform: scale(1.05);
}

/* Bootstrap has no group/group-hover — mirror Tailwind hover states */
.masonry-image-timeline__overlay-caption {
    transition: opacity 0.5s ease;
}

.masonry-image-timeline__card:hover .masonry-image-timeline__overlay-caption {
    opacity: 0.95 !important;
}

.masonry-image-timeline__card:hover .masonry-image-timeline__reveal-shift {
    transform: translateY(0);
}

.masonry-image-timeline__card:hover .masonry-image-timeline__badge-pos {
    opacity: 0;
    transition: opacity 0.3s ease;
}

@keyframes masonry-image-timeline__scale-in {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.masonry-image-timeline__card {
    break-inside: avoid;
}

.masonry-image-timeline__card.is-visible {
    animation: masonry-image-timeline__scale-in 0.5s ease forwards;
}

.masonry-image-timeline__decor-tr {
    transform: translate(25%, -50%);
    top: 0;
    right: 0;
    width: 16rem;
    height: 16rem;
}

.masonry-image-timeline__decor-bl {
    transform: translate(-25%, 50%);
    bottom: 0;
    left: 0;
    width: 12rem;
    height: 12rem;
}

.masonry-image-timeline__subtitle-width {
    max-width: 36rem;
}

.masonry-image-timeline__reveal-shift {
    transform: translateY(1rem);
    transition: transform 0.3s ease;
}

.masonry-image-timeline__badge-pos {
    top: 0.5rem;
    left: 0.5rem;
    transition: opacity 0.3s ease;
}

.staff-zigzag-timeline__stage {
    height: 20rem;
}

