/* dasha motion layer (19.09.2026, demo on dasha2.shocoweb.com 19.09, live on subbotin-architecture.com since 25.09). Loaded only when wp-config defines DASHA_MOTION = true.
   Restrained: reveal-on-scroll, hero ken-burns, hover depth, page fade, scroll progress. Off under prefers-reduced-motion.
   Nothing here changes layout: transforms + opacity only. */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }

	/* page enter / leave */
	body { animation: dm-page-in .55s cubic-bezier(.2,.7,.2,1) both; }
	body.dm-leaving { opacity: 0; transition: opacity .26s ease-in; }
	@keyframes dm-page-in { from { opacity: 0; } to { opacity: 1; } }

	/* reveal on scroll: element gets .dm-reveal at load, .dm-in when it enters the viewport; --dm-i = stagger index in its band */
	.dm-reveal { opacity: 0; transform: translate3d(0, 26px, 0); filter: blur(4px);
		transition: opacity .85s cubic-bezier(.2,.7,.2,1), transform .85s cubic-bezier(.2,.7,.2,1), filter .85s ease-out;
		transition-delay: calc(var(--dm-i, 0) * 95ms); will-change: opacity, transform; }
	.dm-reveal.dm-in { opacity: 1; transform: none; filter: none; }
	.dm-reveal.dm-in.dm-done { will-change: auto; transition-delay: 0s; }
	/* the poster positions elements with translate(-1) etc.? no: they are left/top positioned, transform is free to use */
	.dasha-band--hero .dm-reveal { transform: translate3d(0, 34px, 0); transition-delay: calc(.25s + var(--dm-i, 0) * 140ms); }
	.dasha-poster .dasha-btn.dm-reveal { transform: translate3d(0, 18px, 0) scale(.97); }

	/* hero background: slow settle (ken burns). The figure scales, parallax.js keeps translating the img inside it. */
	.dasha-band--hero .dasha-band__bg { animation: dm-kb 2.6s cubic-bezier(.2,.6,.2,1) both; transform-origin: 50% 40%; }
	@keyframes dm-kb { from { transform: scale(1.07); } to { transform: scale(1); } }

	/* photos: depth on hover (thumbnails, case photos, any enlargeable image) */
	.dasha-poster .dasha-pair--thumb .wp-block-image, .dasha-poster .wp-block-image.dasha-zoom, .dasha-flow .wp-block-image { overflow: hidden; }
	.dasha-poster .dasha-pair--thumb img, .dasha-poster .dasha-zoom img, .dasha-flow .wp-block-image img {
		transition: transform .9s cubic-bezier(.2,.7,.2,1), filter .9s ease; transform-origin: 50% 50%; }
	.dasha-poster .dasha-pair--thumb:hover img, .dasha-poster .dasha-zoom:hover img, .dasha-flow .wp-block-image:hover img { transform: scale(1.045); }
	.dasha-poster .dasha-pair--link { transition: transform .5s cubic-bezier(.2,.7,.2,1); }
	.dasha-poster .dasha-pair--thumb .dasha-text { transition: transform .6s cubic-bezier(.2,.7,.2,1), color .4s; }
	.dasha-poster .dasha-pair--thumb:hover .dasha-text { transform: translate3d(0, -3px, 0); }

	/* buttons: soft lift + fill */
	.wp-block-button__link { transition: background-color .35s ease, color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease; }
	.wp-block-button__link:hover { transform: translate3d(0, -2px, 0); box-shadow: 0 10px 24px -14px rgba(15, 42, 68, .45); }

	/* header nav: underline grows from the centre on hover (24.09 חיים: without a permanent underline on the current item) */
	.dasha-header .wp-block-navigation-item__content { position: relative; }
	.dasha-header .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: -.25em; height: 1px;
		background: currentColor; transform: scaleX(0); transform-origin: 50% 50%; transition: transform .4s cubic-bezier(.2,.7,.2,1); }
	.dasha-header .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
	/* 24.09 חיים: "קו כפול" - theme.json מוסיף text-decoration ב-hover מעל הקו המונפש; משאירים רק את הקו המונפש */
	.dasha-header .wp-block-navigation-item__content:hover, .dasha-header .wp-block-navigation-item__content:focus { text-decoration: none; }

	/* card icons (consulting) drift in from the side, then breathe very slowly */
	.dasha-poster .dasha-card-icon { opacity: 0; transform: translate3d(14px, 0, 0); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
	.dm-in .dasha-card-icon, .dasha-card-icon.dm-in { opacity: 1; transform: none; }
	.dasha-poster .dasha-card-icon img { animation: dm-breathe 7s ease-in-out infinite; }
	@keyframes dm-breathe { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -4px, 0); } }

	/* thin scroll progress line under the header */
	.dm-progress { position: fixed; top: 0; right: 0; height: 2px; width: 0; background: var(--wp--preset--color--primary); opacity: .55; z-index: 1000; pointer-events: none;
		transition: width .12s linear; }

	/* fixed photo bands (parallax): a soft brightening as they enter */
	.dasha-poster .dasha-fixed img, .dasha-poster .dasha-band__bg img { transition: filter 1.2s ease; }
	.dasha-poster .dasha-fixed.dm-reveal, .dasha-poster .dasha-band__bg.dm-reveal { opacity: 1; transform: none; filter: none; }
	.dasha-poster .dasha-fixed.dm-reveal:not(.dm-in) img { filter: brightness(1.12) saturate(.9); }

	/* footer CTA strip children stagger like a band */
	.dasha-footer-cta .dm-reveal { transform: translate3d(0, 16px, 0); }
}
@media (prefers-reduced-motion: no-preference) and (max-width: 781px) {
	.dm-reveal { transform: translate3d(0, 16px, 0); filter: none; }
	.dasha-band--hero .dm-reveal { transform: translate3d(0, 20px, 0); }
	.dasha-band--hero .dasha-band__bg { animation: none; }
}
