.memo-number-hover,
.memo-box-hover,
.memo-cta-shadow,
.memo-cta-hover {
    transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.memo-title-rule {
    border-bottom: 4px solid var(--bs-primary);
}

.memo-principle-rule {
    border-top: 2px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
}

.memo-principle-group:hover .memo-number-hover {
    color: var(--bs-primary) !important;
}

.memo-principle-group:hover .memo-box-hover {
    border-top-color: rgba(var(--bs-primary-rgb), 0.4) !important;
}

.memo-cta-shadow {
    transform: translate(0.375rem, 0.375rem);
}

.memo-cta-group:hover .memo-cta-shadow {
    transform: translate(0, 0);
}

.memo-cta-hover:hover {
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, 37 99 235) / 1)) !important;
    color: #fff !important;
    border-color: var(--bs-primary, rgb(var(--tw-primary-700, 29 78 216) / 1)) !important;
}

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

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

/* Бейдж чуть выше, чем -top-6 (без top-0 в bs) */
.philosophy-v7-badge-decor {
    top: -2.25rem;
}

.philosophy-grid__icon {
    width: 4rem;
    height: 4rem;
}

.philosophy-grid__corner {
    width: 3rem;
    height: 3rem;
}

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

.values-mission-panel__col {
    max-width: 24rem;
}

.values-mission-panel__thumb {
    width: 6rem;
    height: 6rem;
}

.values-mission-panel__card {
    max-width: 24rem;
}

