/* Hero visual "industry-trades": missed call → automatic text (5 sec) → typing → reply → offer →
   "Yes please!" → "Job booked", on one 14 s loop (keyframes from V2-Industry-Trades.dc.html). */
.fx-v-industry-trades .ph-m { opacity: 0; animation-duration: 14s; animation-iteration-count: infinite; animation-fill-mode: both; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }
.fx-v-industry-trades .ph-1 { animation-name: fxPh1; }
.fx-v-industry-trades .ph-2 { animation-name: fxPh2; }
.fx-v-industry-trades .ph-3 { animation-name: fxPh3; }
.fx-v-industry-trades .ph-4 { animation-name: fxPh4; }
.fx-v-industry-trades .ph-5 { animation-name: fxPh5; }
.fx-v-industry-trades .ph-6 { animation-name: fxPh6; }
.fx-v-industry-trades .ph-ty { animation: fxPhTy 14s infinite; }
.fx-v-industry-trades .ph-ty2 { animation: fxPhTy2 14s infinite; }
.fx-v-industry-trades .ty-d { animation: fxTyD 1s ease-in-out infinite; }
@keyframes fxPh1 { 0% { opacity: 0; transform: translateY(-12px) scale(.96); } 4%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPh2 { 0%, 12% { opacity: 0; transform: translateY(12px); } 16%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPh3 { 0%, 27% { opacity: 0; transform: translateY(12px); } 31%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPh4 { 0%, 42% { opacity: 0; transform: translateY(12px); } 46%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPh5 { 0%, 54% { opacity: 0; transform: translateY(12px); } 58%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPh6 { 0%, 64% { opacity: 0; transform: translateY(16px) scale(.95); } 69%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxPhTy { 0%, 20% { opacity: 0; } 22%, 26% { opacity: 1; } 27.5%, 100% { opacity: 0; } }
@keyframes fxPhTy2 { 0%, 35% { opacity: 0; } 37%, 41% { opacity: 1; } 42.5%, 100% { opacity: 0; } }
@keyframes fxTyD { 0%, 100% { opacity: .3; transform: none; } 50% { opacity: 1; transform: translateY(-2px); } }
.fx-v-industry-trades .ph-ty .ty-d:nth-child(2), .fx-v-industry-trades .ph-ty2 .ty-d:nth-child(2) { animation-delay: .15s; }
.fx-v-industry-trades .ph-ty .ty-d:nth-child(3), .fx-v-industry-trades .ph-ty2 .ty-d:nth-child(3) { animation-delay: .3s; }
@media (prefers-reduced-motion: reduce) {
	.fx-v-industry-trades .ph-m { opacity: 1 !important; }
	.fx-v-industry-trades .ph-ty, .fx-v-industry-trades .ph-ty2 { display: none !important; }
}
