/* Animation layer – switched by body classes from the customizer (✨ אנימציות). */
@keyframes mo-probe { to { opacity: .99; } }
@keyframes mo-fadeup { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes mo-shine { to { transform: translateX(-260%) skewX(-20deg); } }
@keyframes rei-kenburns { from { transform: scale(1.02); } to { transform: scale(1.14); } }
@keyframes rei-flow { from { background-position: -60% 0; } to { background-position: 160% 0; } }
@keyframes rei-bob { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 8px); } }
@keyframes rei-pulse { 0%, 100% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--gold2) 30%, transparent); } 50% { box-shadow: 0 0 0 9px color-mix(in srgb, var(--gold2) 0%, transparent); } }
.mo-probe { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); pointer-events: none; animation: mo-probe 1000s linear infinite; }
.is-off, .is-off *, .is-off *::before, .is-off *::after { animation-play-state: paused !important; }

/* Hero */
.mo-hero.mo-ready .hero-bg img { animation: rei-kenburns 22s ease-in-out infinite alternate; transform-origin: 50% 40%; }
.mo-hero .hero-inner > * { animation: mo-fadeup .9s cubic-bezier(.2, .7, .2, 1) both; }
.mo-hero .hero-inner > *:nth-child(2) { animation-delay: .1s; }
.mo-hero .hero-inner > *:nth-child(3) { animation-delay: .2s; }
.mo-hero .hero-inner > *:nth-child(4) { animation-delay: .3s; }
.mo-hero .hero-inner > *:nth-child(5) { animation-delay: .4s; }
.mo-hero.mo-ready .hero-scroll { animation: rei-bob 2.2s ease-in-out infinite; }
.mo-hero.mo-ready .hero-dot { animation: rei-pulse 2.4s ease-in-out infinite; }

/* Gold line flowing under the menu and above the footer */
.mo-flow.mo-ready .nav-bar .flow { animation: rei-flow 5s linear infinite; }
.mo-flow.mo-ready .site-footer .flow { background-size: 200% 100%; animation: rei-flow 8s linear infinite; }

/* Reveal on scroll (classes added by JS, so without JS everything stays visible) */
.mo-reveal .mo-rv { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--d, 0s); }
.mo-reveal .mo-rv.mo-in { opacity: 1; transform: none; }

/* Eyebrow lines grow in */
.mo-lines .eyebrow::before, .mo-lines .eyebrow::after { transform: scaleX(0); transition: transform .8s cubic-bezier(.2, .7, .2, 1) .15s; }
.mo-lines .eyebrow.mo-in::before, .mo-lines .eyebrow.mo-in::after { transform: scaleX(1); }

/* Button shine */
.mo-shine .btn { position: relative; overflow: hidden; isolation: isolate; }
.mo-shine .btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: 110%; width: 40%; z-index: 1; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent); transform: skewX(-20deg); }
.mo-shine .btn:hover::after, .mo-shine .btn:focus-visible::after { animation: mo-shine .8s ease forwards; }

/* Spotlight (desktop) */
@media (hover: hover) and (pointer: fine) {
	.mo-spot .mo-spot-el { background-image: radial-gradient(420px circle at var(--mx, -500px) var(--my, -500px), var(--mo-spot, color-mix(in srgb, var(--gold) 16%, transparent)), transparent 60%); }
	.mo-lift .prop-card-link:hover, .mo-lift .post-card-link:hover, .mo-lift .srv-card:hover, .mo-lift .why-card:hover, .mo-lift .stat-grid li:hover, .mo-lift .tile a:hover { transform: translateY(-6px); }
	.mo-zoom .prop-card-link:hover .prop-img img, .mo-zoom .post-card-link:hover .post-card-img img { transform: scale(1.07); }
}
.stat-grid li { --mo-spot: color-mix(in srgb, var(--gold) 22%, transparent); }

html.mo-stopped *:not(.mo-probe), html.mo-stopped *::before, html.mo-stopped *::after { animation: none !important; }
html.mo-stopped .mo-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
html.mo-stopped .btn::after { display: none !important; }
html.mo-stopped .mo-spot-el { background-image: none !important; }
html.mo-stopped .eyebrow::before, html.mo-stopped .eyebrow::after { transform: none !important; }
html.mo-stopped .stack-card { position: relative !important; top: auto !important; transform: none !important; filter: none !important; }
@media (prefers-reduced-motion: reduce) {
	.mo-rv { opacity: 1 !important; transform: none !important; }
	.eyebrow::before, .eyebrow::after { transform: none !important; }
	.hero-inner > * { animation: none !important; }
	.stack-card { position: relative !important; top: auto !important; transform: none !important; }
}
/* Stacking cards (services) */
.mo-stack-services .srv-grid.js-stack { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; }
.mo-stack-services .srv-grid.js-stack .stack-card { position: sticky; top: calc(var(--hdr-h) + 24px + var(--i, 0) * 14px); flex-direction: row; transform-origin: center top; }
.mo-stack-services .srv-grid.js-stack .srv-img { flex: 0 0 40%; aspect-ratio: auto; }
@media (max-width: 768px) { .mo-stack-services .srv-grid.js-stack .stack-card { flex-direction: column; } }
