.intro-cta-content {
    max-width: 56rem;
}

.content-flow-gap {
    gap: 4rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-body-frame {
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-medium-height {
    display: block;
    width: 100%;
    height: 18rem;
    min-height: 18rem;
    flex-shrink: 0;
    object-fit: cover;
}

/* image stagger — sm:translate-y-3 / sm:-translate-y-3 have no BS utility */
@media (min-width: 640px) {
    .content-stagger__img-up   { transform: translateY(0.75rem); }
    .content-stagger__img-down { transform: translateY(-0.75rem); }
}

/* dashed border — not a native BS utility */
.content-panel__dashed { border-style: dashed; }

/* decor line — fixed width to match w-16 */
.content-decor__line { width: 4rem; height: 0; display: block; }

/* CTA hover — transform/transition have no BS utility */
.content-cta__lift { transition: transform 150ms ease; }
.content-cta__lift:hover { transform: translateY(-2px); }

.tips-interactive__badge {
    z-index: 20;
}

.tips-interactive__inner {
    z-index: 10;
}

.tips-interactive__panel {
    z-index: 50;
}

.tips-interactive__thumb {
    width: 4rem;
    height: 4rem;
}

.tips-interactive__thumb--sm {
    width: 3rem;
    height: 3rem;
}

.tips-interactive__panel--collapsed {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-1rem);
}

.tips-interactive__panel--open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* glossary steps — oversized counter ring (layout only) */
.glossary-steps__num {
    width: 3.75rem;
    height: 3.75rem;
    min-width: 3.75rem;
}

/* FAQ v18 — accordion mechanics */
.faq-accordion-panel {
    max-height: 0;
}

.faq-accordion-icon.solver-hints-symbol-reveal {
    transform: rotate(180deg);
}


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

.nudge-beacon__prompt--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.nudge-beacon__cards-bs {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

.nudge-beacon__cards-bs > div {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .nudge-beacon__cards-bs > div {
        flex: 1 1 calc((100% - 4rem) / 3);
        max-width: calc((100% - 4rem) / 3);
    }
}

