/* ============================================================================
   iStudio — Premium Ambient Motion Layer v3 (motion.css)
   Полностью без «точек/частиц». Только крупные мягкие световые формы:
   silk glow, световые волны, воздушные ribbons/wisps, glass shimmer,
   золотой sheen, спокойные ореолы. Ощущение дорогой beauty-tech клиники.

   Архитектура (сохранена): слой на body::before/::after, position:fixed,
   z-index:0 (поверх фоновой подложки), pointer-events:none; контент
   (main/.footer) поднят на z-index:1 → движение под текстом и кнопками.
   Уважает prefers-reduced-motion. Меняется только этот файл.
   ============================================================================ */

body[class*="page-"]::before,
body[class*="page-"]::after{
  content:"";
  position:fixed;
  inset:-14%;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  transform-origin:center;
  will-change:transform, opacity, background-position;
}
/* контент выше декоративного слоя (header z:60, bottom-bar/drawer z:55 — уже выше) */
body[class*="page-"] main,
body[class*="page-"] .footer{ position:relative; z-index:1; }

/* ---------- keyframes: очень медленно, плавно, «дышит» ---------- */
@keyframes fxFloat     { 0%{transform:translate3d(-2%,-1.5%,0) scale(1)} 100%{transform:translate3d(2%,1.5%,0) scale(1.04)} }
@keyframes fxGlow      { 0%{opacity:.5; transform:scale(1)} 100%{opacity:.92; transform:scale(1.07)} }
@keyframes fxWisp      { 0%{transform:translate3d(-4%,3%,0) rotate(-4deg)} 100%{transform:translate3d(4%,-3%,0) rotate(3deg)} }
@keyframes fxWaveX     { 0%{transform:translate3d(-4%,0,0)} 100%{transform:translate3d(4%,0,0)} }
@keyframes fxAura      { 0%,100%{opacity:.4; transform:scale(.95)} 50%{opacity:.82; transform:scale(1.1)} }
@keyframes fxGridDrift { 0%{transform:translate3d(0,0,0)} 100%{transform:translate3d(2.5%,3.5%,0)} }
@keyframes fxShimmer   { 0%{background-position:0% 0%; opacity:.55} 100%{background-position:100% 100%; opacity:.9} }
@keyframes fxSheen     { 0%{background-position:0% 50%; opacity:.5} 100%{background-position:100% 50%; opacity:.95} }
@keyframes fxScan      { 0%{background-position:0 -26vh; opacity:0} 14%{opacity:.9} 86%{opacity:.9} 100%{background-position:0 122vh; opacity:0} }

/* ============================ ГЛАВНАЯ ============================
   champagne silk glow — большие полупрозрачные световые пятна, утренний свет */
body.page-home::before{
  background-image:
    radial-gradient(58% 54% at 16% 12%, rgba(255,236,190,.55), transparent 70%),
    radial-gradient(56% 50% at 88% 82%, rgba(246,226,186,.46), transparent 72%);
  animation:fxFloat 26s ease-in-out infinite alternate;
}
body.page-home::after{
  background-image:radial-gradient(50% 46% at 60% 40%, rgba(250,228,205,.4), transparent 74%);
  animation:fxGlow 22s ease-in-out infinite alternate;
}

/* ============================ ЛАЗЕР ============================
   silky laser breeze — тонкие вытянутые световые wisps, движение воздуха */
body.page-laser::before{
  background-image:
    radial-gradient(72% 8% at 42% 36%, rgba(255,240,214,.5), transparent 80%),
    radial-gradient(62% 6% at 55% 60%, rgba(255,232,196,.42), transparent 82%);
  animation:fxWisp 24s ease-in-out infinite alternate;
}
body.page-laser::after{
  background-image:
    radial-gradient(80% 7% at 50% 50%, rgba(216,177,94,.3), transparent 84%),
    radial-gradient(46% 40% at 84% 20%, rgba(255,238,206,.34), transparent 74%);
  animation:fxWisp 34s ease-in-out infinite alternate-reverse;
}

/* ============================ КОСМЕТОЛОГИЯ ============================
   BBL/MOXI glow waves — крупный свет мягко проходит по коже */
body.page-cosmetology::before{
  background-image:
    radial-gradient(56% 50% at 26% 28%, rgba(255,235,192,.6), transparent 70%),
    radial-gradient(60% 52% at 78% 72%, rgba(246,224,184,.5), transparent 72%);
  animation:fxGlow 17s ease-in-out infinite alternate;
}
body.page-cosmetology::after{
  background-image:radial-gradient(70% 60% at 50% 44%, rgba(255,241,214,.34), transparent 76%);
  animation:fxFloat 28s ease-in-out infinite alternate;
}

/* ============================ ДИАГНОСТИКА ============================
   тонкая moving grid + мягкие световые узлы + одна scan-line (tech, не грязь) */
body.page-diagnostic::before{
  background-image:
    radial-gradient(28% 26% at 24% 30%, rgba(255,238,206,.5), transparent 72%),
    radial-gradient(26% 24% at 76% 66%, rgba(216,177,94,.32), transparent 74%),
    linear-gradient(rgba(197,154,70,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(197,154,70,.06) 1px, transparent 1px);
  background-size:auto, auto, 56px 56px, 56px 56px;
  animation:fxGridDrift 46s linear infinite alternate;
}
body.page-diagnostic::after{
  background-image:linear-gradient(180deg, transparent, rgba(216,177,94,.30) 50%, transparent);
  background-size:100% 24vh;
  background-position:0 -26vh;
  animation:fxScan 9s ease-in-out infinite;
}

/* ============================ ТЕЛО ============================
   flowing curves — большие вытянутые волны, лимфодренаж */
body.page-body::before{
  background-image:
    radial-gradient(72% 22% at 28% 34%, rgba(255,236,196,.5), transparent 72%),
    radial-gradient(66% 20% at 74% 66%, rgba(246,226,188,.44), transparent 74%);
  animation:fxWaveX 20s ease-in-out infinite alternate;
}
body.page-body::after{
  background-image:radial-gradient(62% 18% at 50% 84%, rgba(255,240,210,.32), transparent 78%);
  animation:fxFloat 30s ease-in-out infinite alternate;
}

/* ============================ УКОЛЫ ============================
   soft glass shimmer / liquid highlight — тонкий световой перелив, без точек */
body.page-injections::before{
  background-image:linear-gradient(125deg, transparent 34%, rgba(255,242,218,.5) 48%, rgba(255,248,232,.62) 52%, rgba(255,242,218,.5) 56%, transparent 70%);
  background-size:260% 260%;
  animation:fxShimmer 20s ease-in-out infinite alternate;
}
body.page-injections::after{
  background-image:radial-gradient(52% 46% at 66% 30%, rgba(250,230,212,.4), transparent 76%);
  animation:fxGlow 24s ease-in-out infinite alternate;
}

/* ============================ ЭСТЕТИКА ============================
   мягкий beauty shimmer — изящные дуги/блики, без glitter */
body.page-aesthetics::before{
  background-image:
    radial-gradient(60% 6% at 45% 40%, rgba(255,242,216,.55), transparent 82%),
    radial-gradient(50% 5% at 58% 58%, rgba(216,177,94,.32), transparent 84%);
  animation:fxWisp 22s ease-in-out infinite alternate;
}
body.page-aesthetics::after{
  background-image:linear-gradient(120deg, transparent 42%, rgba(255,246,224,.5) 50%, transparent 58%);
  background-size:240% 240%;
  animation:fxShimmer 24s ease-in-out infinite alternate-reverse;
}

/* ============================ ЦЕНЫ ============================
   один дорогой скользящий golden sheen (без точек, без второго слоя) */
body.page-prices::before{
  background-image:linear-gradient(115deg, transparent 40%, rgba(255,236,190,.55) 50%, transparent 60%);
  background-size:250% 250%;
  animation:fxSheen 16s ease-in-out infinite alternate;
}
body.page-prices::after{ display:none; }

/* ============================ КОНТАКТЫ ============================
   один спокойный ореол «мы здесь» */
body.page-contact::before{
  background-image:radial-gradient(34% 30% at 50% 42%, rgba(255,236,196,.5), transparent 72%);
  animation:fxAura 8s ease-in-out infinite;
}
body.page-contact::after{ display:none; }

/* ---------- МОБИЛЬНЫЕ: чуть мягче, но видно (крупные формы дёшевы) ---------- */
@media (max-width:640px){
  body[class*="page-"]::before{ opacity:.9; }
  body[class*="page-"]::after{ opacity:.85; }
}

/* ---------- prefers-reduced-motion: движение off, мягкая статика ---------- */
@media (prefers-reduced-motion:reduce){
  body[class*="page-"]::before,
  body[class*="page-"]::after{
    animation:none !important;
    opacity:.5;
  }
}
