.perspective-masthead-rule {
    border-top: 4px solid var(--bs-body-color);
    border-bottom: 4px solid var(--bs-body-color);
}

.perspective-title-rule {
    border-bottom: 2px solid var(--bs-body-color);
}

.perspective-quote-frame {
    border-top: 1px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
    border-bottom: 1px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
    border-left: 4px solid var(--bs-primary);
}

.perspective-headline-hover {
    transition: color 0.2s ease;
}

.perspective-headline-hover:hover {
    color: var(--bs-primary);
}

.perspective-micro-label {
    font-size: 0.6rem;
    letter-spacing: 0.15em;
}

.perspective-byline-suffix {
    font-size: 0.6rem;
    opacity: 0.6;
}

.perspective-quote-text {
    font-size: 1.1rem;
}

.perspective-card-desc {
    font-size: 0.875rem;
}

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

.content-disclaimer-logo__mark {
    width: 5rem;
    height: 5rem;
}

.content-disclaimer-logo__mark--small {
    width: 3rem;
    height: 3rem;
}

.content-disclaimer-logo__mark--large {
    width: 6rem;
    height: 6rem;
}

.content-disclaimer-logo__mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

