/* ===== Lightweight canvas-based square background host ===== */
.has-square-patterns {
    position: relative;
    overflow: hidden;
}

/* Square cluster container */
.has-square-patterns canvas.bg-squares {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

/* Footer: keep content above the background canvas */
.footer.has-square-patterns > :not(canvas.bg-squares) {
    position: relative;
    z-index: 1;
}

/* (legacy selectors removed) */

/* Individual square shape */
/* (legacy selectors removed) */

/* Empty placeholder for grid positioning */
/* (legacy selectors removed) */

/* Responsive adjustments */
/* (no responsive rules needed for canvas host) */

/* Animation variants (optional) */
/* (animations removed) */

/* Color variants for different backgrounds */
/* (color variants removed) */

/* Footer-specific styling (dark background with subtle white squares) */
/* (footer overrides removed) */

/* Dynamic opacity animation for individual squares - optimized for performance */
/* (legacy keyframes removed) */
