/* Homepage motion. Only active once the script adds .fs-motion, so the page reads fine without it. */
.fs-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .14em; margin-bottom: -.14em; }
.fs-w > span { display: inline-block; }
.fs-d1 { --d: 120ms; } .fs-d2 { --d: 250ms; } .fs-d3 { --d: 400ms; } .fs-d4 { --d: 520ms; } .fs-d5 { --d: 680ms; } .fs-d6 { --d: 820ms; }
.fs-motion .fs-split .fs-w > span { transform: translateY(112%); }
.fs-motion .fs-split.is-in .fs-w > span { transform: none; transition: transform 1.05s var(--glide) calc(var(--d, 0ms) + var(--wi, 0) * 70ms); }
.fs-motion .fs-r { opacity: 0; transform: translateY(18px); }
.fs-motion .fs-r.is-in { opacity: 1; transform: none; transition: opacity .9s var(--fade) var(--d, 0ms), transform 1s var(--glide) var(--d, 0ms); }
.fs-motion .fs-ri img { clip-path: inset(8% 8% 8% 8%); transform: scale(1.07); opacity: 0; }
.fs-motion .fs-ri.is-in img { clip-path: inset(0 0 0 0); transform: none; opacity: 1; transition: clip-path 1.35s var(--glide) var(--d, 0ms), transform 1.7s var(--glide) var(--d, 0ms), opacity .9s var(--fade) var(--d, 0ms); }
.fs-motion .fss-card:hover .fs-ri.is-in img, .fs-motion .fss-panel:hover .fs-ri.is-in img { transform: scale(1.04); transition: transform .9s var(--glide); }
.fs-motion .fss-amazon-img.is-in:hover img { transform: scale(1.02); transition: transform .9s var(--glide); }
.fs-motion .fss-kicker::before, .fs-motion .fss-form-tx::before { transform: scaleX(0); transform-origin: left; }
.fs-motion .fss-kicker.is-in::before { transform: none; transition: transform 1.1s var(--glide) 250ms; }
.fs-motion .fss-form-tx:has(.is-in)::before { transform: none; transition: transform 1.1s var(--glide) 150ms; }
.fs-motion .fss-ruled-h::before, .fs-motion .fss-ruled-h::after { transform: scaleX(0); }
.fs-motion .fss-ruled-h::before { transform-origin: right; } .fs-motion .fss-ruled-h::after { transform-origin: left; }
.fs-motion .fss-ruled-h.is-in::before, .fs-motion .fss-ruled-h.is-in::after { transform: none; transition: transform 1.3s var(--glide) 150ms; }
.fs-motion .fs-frame { opacity: 0; transform: translate(-16px, 16px); }
.fs-motion .fs-frame.is-in { opacity: 1; transform: none; transition: opacity 1.2s var(--fade) var(--d, 0ms), transform 1.6s var(--glide) var(--d, 0ms); }
.fs-motion .fs-bg { opacity: 0; transform: translateX(56px); }
.fs-motion .fs-bg.is-in { opacity: 1; transform: none; transition: opacity 1.5s var(--fade) var(--d, 0ms), transform 2s var(--glide) var(--d, 0ms); }
.fs-motion .fs-pop { opacity: 0; transform: scale(.86); }
.fs-motion .fs-pop.is-in { opacity: 1; transform: none; transition: opacity .8s var(--fade) var(--d, 0ms), transform 1.1s var(--glide) var(--d, 0ms); }
.fs-motion .fs-r .wp-block-button__link::after, .fs-motion .fs-r.fss-more-link a::after { opacity: 0; transform: translateX(-8px); }
.fs-motion .fs-r.is-in .wp-block-button__link::after, .fs-motion .fs-r.is-in.fss-more-link a::after { opacity: 1; transform: none; transition: opacity .7s var(--fade) calc(var(--d, 0ms) + 420ms), transform .8s var(--glide) calc(var(--d, 0ms) + 420ms); }
.fs-motion .fs-r.is-in .wp-block-button__link:hover::after, .fs-motion .fs-r.is-in.fss-more-link a:hover::after, .fs-motion .fss-card:hover .fs-r.is-in.fss-more-link a::after { transform: translateX(5px); transition: transform .35s var(--ease); }
.fs-motion .fs-r.is-in .wp-block-button__link { transition: background-color .3s ease, color .3s ease, border-color .3s ease; }
@media (prefers-reduced-motion: reduce) {
	.fs-motion * { transition: none !important; }
}
