/* Small interaction and native block styles. No Elementor spacing, colour or type overrides. */
.ft-project-card { text-decoration: none; }
.ft-project-card .elementor-widget-image { overflow: hidden; }
.ft-project-card .elementor-widget-image img { transition: transform .5s ease; }
.ft-project-card:hover .elementor-widget-image img { transform: scale(1.025); }
.ft-project-card:focus-visible { outline: 2px solid var(--e-global-color-accent); outline-offset: 8px; }
.ft-footer a { color: inherit; }
.ft-project-content .wp-block-gallery { gap: 24px; margin: 40px 0; }
.ft-project-content .wp-block-gallery.has-nested-images figure.wp-block-image { flex-grow: 0; }
.ft-project-content .wp-block-gallery img { width: 100%; height: auto; }
.ft-project-content p, .ft-article-content p { max-width: 780px; }
.ft-project-content .wp-block-image, .ft-article-content .wp-block-image { margin-left: 0; margin-right: 0; }
.ft-growth-mark { animation: ft-mark-arrive .85s cubic-bezier(.2,.65,.3,1) both; }
@keyframes ft-mark-arrive { from { opacity: 0; transform: translateY(18px) scale(.94); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) {
 .ft-project-content .wp-block-gallery { gap: 16px; }
 .ft-project-content .wp-block-gallery.has-nested-images figure.wp-block-image { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
 .ft-growth-mark { animation: none; }
 .ft-project-card .elementor-widget-image img { transition: none; }
}
