.hero-v10-btn-ghost {
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.hero-v10-btn-ghost:hover,
.hero-v10-btn-ghost:focus {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff !important;
    border-color: #fff !important;
}

/* -- Button hover states -- */
.hero-btn-primary {
    transition: filter 0.2s ease, transform 0.15s ease;
}
.hero-btn-primary:hover,
.hero-btn-primary:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.hero-btn-outline-secondary {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-secondary:hover,
.hero-btn-outline-secondary:focus {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
    transform: translateY(-1px);
}

.hero-btn-outline-primary-light {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-primary-light:hover,
.hero-btn-outline-primary-light:focus {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    border-color: var(--bs-primary) !important;
    transform: translateY(-1px);
}
/* 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;
}

/* 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-ledger__stem {
    height: 4rem;
    transform: translateX(-50%);
}


.prompt-beacon__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.prompt-beacon__appeal--shift:hover { transform: scale(1.05); transition: transform .2s ease; }

.prompt-beacon__sheet--haze { backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }

