/* Grid + gap: @sem may obfuscate Tailwind grid/gap — stable class for Bootstrap */
.hover-principles-grid {
    display: grid;
    width: 100%;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}

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

@media (min-width: 1024px) {
    .hover-principles-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.philosophy-hover-badge {
    width: 3rem;
    height: 3rem;
}

.philosophy-hover-corner {
    width: 2rem;
    height: 2rem;
}

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

@keyframes luxury-sidebar-timeline__reveal {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

.luxury-sidebar-timeline__visible {
    animation: luxury-sidebar-timeline__reveal 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.luxury-sidebar-timeline__sidebar {
    width: 28px;
}

.luxury-sidebar-timeline__sidebar-line {
    height: 3rem;
    width: 1px;
}

.luxury-sidebar-timeline__title-vertical {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: 0.3em;
}

.luxury-sidebar-timeline__thumb-ratio {
    aspect-ratio: 3 / 4;
    position: relative;
}

/* Fill ratio box (Bootstrap img h-100 alone often collapses without a sized parent) */
.luxury-sidebar-timeline__thumb-ratio img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.luxury-sidebar-timeline__min-shrink {
  min-width: 0;
}

@media (min-width: 768px) {
    .luxury-sidebar-timeline__item--reverse {
        flex-direction: row-reverse;
    }
}


.storyblock-chapter__bg-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.storyblock-chapter__heading-row-trail { margin-bottom: 2rem; }

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

.content-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

