/* Декор секций: положение абсолютом, перекраска маской, появление при прокрутке, мягкое движение */
.lv-principles, .lv-services, .lv-gallery, .lv-about, .lv-doctors, .lv-blog, .lv-contacts { position: relative; isolation: isolate; }
.lv-decor { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.lv-principles > .lv-container, .lv-services > .lv-container, .lv-gallery > .lv-container, .lv-gallery > .lv-marquee, .lv-about > .lv-container,
.lv-doctors > .lv-container, .lv-blog > .lv-container, .lv-contacts > .lv-container { position: relative; z-index: 1; }

.lv-d {
	--c: var(--lv-coral); --py: 0px;
	position: absolute; left: var(--l, auto); right: var(--r, auto); top: var(--t, auto); bottom: var(--b, auto);
	width: var(--w, 90px); aspect-ratio: var(--ar, 1 / 1);
	transform: translate3d(0, var(--py), 0) rotate(var(--rot, 0deg)); will-change: transform;
}
.lv-d--green { --c: var(--lv-green); }
.lv-d--sand { --c: #cdb7a6; }
.lv-d--white { --c: #fff; }

.lv-d__in { display: block; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease, transform 1.1s cubic-bezier(.2, .9, .25, 1.1); transition-delay: var(--delay, 0ms); }
.lv-d[data-reveal="zoom"] .lv-d__in { transform: scale(.3) rotate(-14deg); }
.lv-d[data-reveal="fade-up"] .lv-d__in { transform: translateY(40px); }
.lv-d[data-reveal="from-left"] .lv-d__in { transform: translateX(-70px); }
.lv-d[data-reveal="from-right"] .lv-d__in { transform: translateX(70px); }
.lv-d[data-reveal="spin-in"] .lv-d__in { transform: rotate(-140deg) scale(.4); }
.lv-d[data-reveal="none"] .lv-d__in { opacity: var(--op, .5); transform: none; transition: none; }
/* итоговое состояние: специфичность выше всех начальных (data-reveal) */
.lv-d.is-in[data-reveal] .lv-d__in { opacity: var(--op, .5); transform: none; }

.lv-d__img { display: block; width: 100%; height: 100%; background-color: var(--c); -webkit-mask: var(--m) center / contain no-repeat; mask: var(--m) center / contain no-repeat; transform-origin: 50% 60%; }
.lv-d.is-in[data-idle="float"] .lv-d__img { animation: lv-d-float 5s ease-in-out infinite; animation-delay: var(--delay, 0ms); }
.lv-d.is-in[data-idle="sway"] .lv-d__img { animation: lv-d-sway 6s ease-in-out infinite; animation-delay: var(--delay, 0ms); }
.lv-d.is-in[data-idle="spin"] .lv-d__img { animation: lv-d-spin 38s linear infinite; transform-origin: 50% 50%; }
.lv-d.is-in[data-idle="pulse"] .lv-d__img { animation: lv-d-pulse 3.6s ease-in-out infinite; animation-delay: var(--delay, 0ms); transform-origin: 50% 50%; }
@keyframes lv-d-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes lv-d-sway  { 0%, 100% { transform: rotate(-6deg); } 50% { transform: rotate(7deg); } }
@keyframes lv-d-spin  { to { transform: rotate(360deg); } }
@keyframes lv-d-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }

@media (max-width: 767px) {
	.lv-d { width: calc(var(--w, 90px) * .7); }
	.lv-d[data-mobile="0"] { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.lv-d { transform: rotate(var(--rot, 0deg)); }
	.lv-d__in { opacity: var(--op, .5); transform: none !important; transition: none; }
	.lv-d__img { animation: none !important; }
}
