/* Performance tweaks — preserve visuals, reduce paint cost on smaller screens */
@media (prefers-reduced-motion: reduce) {
    .project-card__media img { opacity: 1; }
}

/* Contain decorative mesh overflow without clipping interactive content */
.wcu,
.igj,
.featured-showcase,
.home-faq-section,
.bwe {
    overflow-x: clip;
}

.home-faq-intro,
.home-faq-panel {
    min-width: 0;
    max-width: 100%;
}

.project-card__media,
.project-card__media picture,
.hero-carousel__media,
.hero-carousel__media picture,
.fp-card__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.project-card__media picture img,
.hero-carousel__media picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1024px) {
    .bwe__glow,
    .bwe__glow--2 {
        animation: none !important;
        opacity: 0.35;
    }

    .igj__header-btn,
    .igj__next,
    .igj__arrow,
    .bwe__tile,
    .wcu__card {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .hero-carousel__btn--ghost,
    .hero-carousel__next,
    .hero-carousel__arrow {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

@media (max-width: 767px) {
    .featured-showcase [data-fp-clip],
    .featured-showcase .fp-card__img,
    .about-ref__img img {
        filter: none !important;
    }

    .wcu__particles,
    .igj__particles {
        display: none;
    }

    .tcyl__photo img {
        filter: none !important;
    }
}

/* Testimonial: far slots use static styling (JS toggles .is-far) */
.tcyl__slot.is-far .tcyl__photo img {
    filter: grayscale(100%) !important;
    opacity: 0.55 !important;
}

.tcyl__slot.is-far .tcyl__photo {
    box-shadow: 0 6px 18px rgba(26, 26, 26, 0.1) !important;
}

.tcyl__slot.is-far .tcyl__photo-ring {
    opacity: 0 !important;
    box-shadow: none !important;
}
