/* Industry hero visuals: clinic booking, café on Maps, appraisal request, after-hours law chat.
   One 14 s timeline shared with the Trades phone: .ph-1 … .ph-6 reveal at 0 / 12 / 27 / 42 / 54 / 64 %
   (keyframes from V2-Industry-Clinics / -Restaurants / -RealEstate / -LawFirms .dc.html). */
.fx-ih { position: absolute; inset: 0; }
.fx-ih .ph-m,
.fx-ih .ntf { opacity: 0; animation-duration: 14s; animation-iteration-count: infinite; animation-fill-mode: both; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }
.fx-ih .ph-1 { animation-name: fxIh1; }
.fx-ih .ph-2 { animation-name: fxIh2; }
.fx-ih .ph-3 { animation-name: fxIh3; }
.fx-ih .ph-4 { animation-name: fxIh4; }
.fx-ih .ph-5 { animation-name: fxIh5; }
.fx-ih .ph-6 { animation-name: fxIh6; }
.fx-ih .ntf-4 { animation-name: fxIhN4; }
.fx-ih .ntf-5 { animation-name: fxIhN5; }
.fx-ih .ph-ty2 { animation: fxIhTy2 14s infinite; }
.fx-ih .ty-d { animation: fxIhTyD 1s ease-in-out infinite; }
.fx-ih .tyx { display: inline-block; overflow: hidden; white-space: nowrap; vertical-align: bottom; width: 0; animation: fxIhType 14s infinite; }
.fx-ih .caret { display: inline-block; width: 1.5px; height: 1em; background: #5B2BD9; vertical-align: -2px; margin-left: 1px; animation: fxIhCaret 1s steps(2) infinite; }
.fx-ih .sel-a { animation: fxIhSelA 14s infinite; }
.fx-ih .sel-b { animation: fxIhSelB 14s infinite; }
.fx-ih .press { animation: fxIhPress 14s infinite; }
.fx-ih .press-a { animation: fxIhPressA 14s infinite; }
.fx-ih .press-b { animation: fxIhPressB 14s infinite; }
.fx-ih .pdrop { opacity: 0; animation: fxIhDrop 14s infinite cubic-bezier(.2, .8, .2, 1) both; }
.fx-ih .pmain { opacity: 0; animation: fxIhMain 14s infinite cubic-bezier(.2, .8, .2, 1) both; transform-origin: center bottom; }
.fx-ih .pring { animation: fxIhRing 2.4s ease-out infinite; }
.fx-ih .sheet { animation: fxIhSheet 14s infinite cubic-bezier(.2, .8, .2, 1) both; }
.fx-ih .gl { animation: fxIhGl 14s infinite; }
/* Added for the salon, gym, vet, accounting and cleaning visuals. */
.fx-ih .sel-c { animation: fxIhSelC 14s infinite; }
.fx-ih .sel-d { animation: fxIhSelD 14s infinite; }
.fx-ih .rowhi { animation: fxIhRowHi 14s infinite; }
.fx-ih .lap-in { animation: fxIhLapIn 14s infinite cubic-bezier(.2, .8, .2, 1) both; }
.fx-ih .paw { animation: bob 9s ease-in-out infinite; }

@keyframes fxIh1 { 0% { opacity: 0; transform: translateY(-12px) scale(.96); } 4%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIh2 { 0%, 12% { opacity: 0; transform: translateY(12px); } 16%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIh3 { 0%, 27% { opacity: 0; transform: translateY(12px); } 31%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIh4 { 0%, 42% { opacity: 0; transform: translateY(12px); } 46%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIh5 { 0%, 54% { opacity: 0; transform: translateY(12px); } 58%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIh6 { 0%, 64% { opacity: 0; transform: translateY(16px) scale(.95); } 69%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIhN4 { 0%, 42% { opacity: 0; transform: translateY(-16px) scale(.96); } 46%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIhN5 { 0%, 54% { opacity: 0; transform: translateY(-16px) scale(.96); } 58%, 92% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; } }
@keyframes fxIhTy2 { 0%, 35% { opacity: 0; } 37%, 41% { opacity: 1; } 42.5%, 100% { opacity: 0; } }
@keyframes fxIhTyD { 0%, 100% { opacity: .3; transform: none; } 50% { opacity: 1; transform: translateY(-2px); } }
@keyframes fxIhType { 0%, 3% { width: 0; } 14%, 94% { width: var(--w); } 98%, 100% { width: 0; } }
@keyframes fxIhCaret { 50% { opacity: 0; } }
@keyframes fxIhSelA { 0%, 17% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } 20%, 94% { background-color: #5B2BD9; color: #FFFFFF; border-color: #5B2BD9; } 98%, 100% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } }
@keyframes fxIhSelB { 0%, 30% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } 33%, 94% { background-color: #5B2BD9; color: #FFFFFF; border-color: #5B2BD9; } 98%, 100% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } }
@keyframes fxIhPress { 0%, 49% { transform: none; box-shadow: 0 10px 18px -12px rgba(204, 63, 37, .8); } 51% { transform: scale(.94); box-shadow: none; } 54%, 100% { transform: none; box-shadow: 0 10px 18px -12px rgba(204, 63, 37, .8); } }
@keyframes fxIhPressA { 0%, 8% { transform: none; } 10% { transform: scale(.92); } 13%, 100% { transform: none; } }
@keyframes fxIhPressB { 0%, 38% { transform: none; } 40% { transform: scale(.93); } 43%, 100% { transform: none; } }
@keyframes fxIhDrop { 0%, 8% { opacity: 0; transform: translateY(-14px); } 12%, 94% { opacity: 1; transform: none; } 98%, 100% { opacity: 0; } }
@keyframes fxIhMain { 0%, 14% { opacity: 0; transform: translateY(-22px) scale(.6); } 18% { opacity: 1; transform: translateY(2px) scale(1.08); } 20%, 94% { opacity: 1; transform: none; } 98%, 100% { opacity: 0; } }
@keyframes fxIhRing { 0% { transform: scale(.6); opacity: .7; } 100% { transform: scale(2.4); opacity: 0; } }
@keyframes fxIhSheet { 0%, 22% { transform: translateY(105%); } 28%, 94% { transform: none; } 99%, 100% { transform: translateY(105%); } }
@keyframes fxIhGl { 0%, 40% { background-color: #F5F3FA; color: #17112E; } 43%, 94% { background-color: #EEEBFE; color: #4A1FC0; } 98%, 100% { background-color: #F5F3FA; color: #17112E; } }

@keyframes fxIhSelC { 0%, 38% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } 41%, 94% { background-color: #5B2BD9; color: #FFFFFF; border-color: #5B2BD9; } 98%, 100% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } }
@keyframes fxIhSelD { 0%, 45% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } 48%, 94% { background-color: #5B2BD9; color: #FFFFFF; border-color: #5B2BD9; } 98%, 100% { background-color: #FFFFFF; color: #17112E; border-color: #E3DEEF; } }
@keyframes fxIhRowHi { 0%, 30% { background-color: #FFFFFF; border-color: #EEEBF5; box-shadow: none; } 33%, 94% { background-color: #F7F5FF; border-color: #5B2BD9; box-shadow: 0 10px 20px -16px rgba(91, 43, 217, .8); } 98%, 100% { background-color: #FFFFFF; border-color: #EEEBF5; box-shadow: none; } }
@keyframes fxIhLapIn { 0% { opacity: 0; transform: translateY(10px); } 5%, 94% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; } }

/* Reduced motion: the finished state (selections made, form filled, booking confirmed). */
@media (prefers-reduced-motion: reduce) {
	.fx-ih .ph-m, .fx-ih .ntf, .fx-ih .pdrop, .fx-ih .pmain { opacity: 1 !important; }
	.fx-ih .tyx { width: var(--w) !important; }
	.fx-ih .sheet { transform: none !important; }
	.fx-ih .ph-ty2, .fx-ih .caret, .fx-ih .pring { display: none !important; }
	.fx-ih .sel-a, .fx-ih .sel-b, .fx-ih .sel-c, .fx-ih .sel-d { background-color: #5B2BD9 !important; color: #FFFFFF !important; border-color: #5B2BD9 !important; }
	.fx-ih .rowhi { background-color: #F7F5FF !important; border-color: #5B2BD9 !important; }
	.fx-ih .lap-in { opacity: 1 !important; transform: none !important; }
	.fx-ih .gl { background-color: #EEEBFE !important; color: #4A1FC0 !important; }
}
