@keyframes rotateSquare {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.intro-pattern-overlay {
    background-image: repeating-linear-gradient(45deg, transparent, transparent 20px, currentColor 20px, currentColor 40px);
    opacity: 0.03;
    top: -20%;
    left: -30%;
    width: 100%;
    height: 100%;
    animation: rotateSquare 20s linear infinite;
}

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

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

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

/* contact-glass — background image needs object-fit (no BS util) */
.contact-glass__bg-img {
    object-fit: cover;
}

/* contact-glass — frosted glass effect via backdrop-filter (no TW/BS equiv for BS builds) */
.contact-glass__panel {
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
}

