/* Animate the existing editorial SVGs only. Frames clip motion without clipping page content. */
.ulc-background-motion::before{background-image:none!important}
.ulc-background-frame{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:paint}
.ulc-background-surface{position:absolute;inset:0;background:var(--editorial-arcs-east) center/cover no-repeat;pointer-events:none;transform-origin:center;animation:ulc-background-drift 38s ease-in-out infinite;animation-play-state:paused}
.ulc-background-frame.ulc-background-active>.ulc-background-surface,
.ulc-background-tile.ulc-background-active>.ulc-background-surface{animation-play-state:running;will-change:transform}
.ulc-background-motion:is(.treatments,.faqs,.t-range,.about-story,.contact-opening,.faq-closing)>.ulc-background-frame>.ulc-background-surface{background-image:var(--editorial-arcs-west);animation-direction:reverse;animation-duration:44s}
.hero>.ulc-background-frame>.ulc-background-surface{background-size:145% auto;background-position:65% 55%;opacity:.85}
.treatments>.ulc-background-frame{inset:-35px 0 -20px}
.treatments>.ulc-background-frame>.ulc-background-surface{background-position:30% 60%;opacity:.9}
.clinic>.ulc-background-frame{inset:-25px 0}
.clinic>.ulc-background-frame>.ulc-background-surface{background-size:125% auto;opacity:.65}
.faqs>.ulc-background-frame>.ulc-background-surface{background-size:180% auto;background-position:15% 50%;opacity:.65}
.t-hero>.ulc-background-frame>.ulc-background-surface{background-size:150% auto;background-position:70% 45%}
.t-experience>.ulc-background-frame{inset:-20px 0 0}
.t-experience>.ulc-background-frame>.ulc-background-surface{background-size:120% auto;background-position:75% 0}
.about-atmosphere>.ulc-background-frame>.ulc-background-surface{opacity:.8}
.about-story>.ulc-background-frame>.ulc-background-surface{opacity:.6}
.contact-opening>.ulc-background-frame>.ulc-background-surface{opacity:.55}
.faq-intro>.ulc-background-frame>.ulc-background-surface{background-position:right center;opacity:.65}
.faq-closing>.ulc-background-frame>.ulc-background-surface{opacity:.7}
.contact-map-placeholder.ulc-background-motion{position:relative;isolation:isolate;background-image:none}
.ulc-background-tile{position:absolute;left:0;right:0;overflow:hidden;contain:paint;pointer-events:none}
.ulc-background-tile>.ulc-background-surface{background-image:var(--editorial-arcs-west);background-repeat:no-repeat;opacity:.85;animation-name:ulc-background-sway;animation-duration:44s;animation-direction:normal}
.about-opening-orbits.ulc-background-orbits>svg{animation:ulc-background-drift 48s ease-in-out infinite;animation-play-state:paused;transform-origin:center}
.about-opening-orbits.ulc-background-active>svg{animation-play-state:running;will-change:transform}
@keyframes ulc-background-drift{
  0%,100%{transform:translateX(0) scaleX(1.08)}
  35%{transform:translateX(12px) scaleX(1.08)}
  70%{transform:translateX(-10px) scaleX(1.08)}
}
/* Each catalogue tile uses the same horizontal transform and clock, so adjoining lines meet. */
@keyframes ulc-background-sway{
  0%,100%{transform:translateX(0) scaleX(1.08)}
  35%{transform:translateX(12px) scaleX(1.08)}
  70%{transform:translateX(-10px) scaleX(1.08)}
}
@media(max-width:720px){
  :is(.hero,.treatments,.clinic,.faqs,.t-hero,.t-experience)>.ulc-background-frame>.ulc-background-surface{background-size:auto 650px;opacity:.65}
  .t-experience>.ulc-background-frame>.ulc-background-surface{background-position:70% 0}
  .ulc-background-tile>.ulc-background-surface{background-repeat:repeat-y;opacity:.65}
  .ulc-background-surface,.ulc-background-tile>.ulc-background-surface,.about-opening-orbits.ulc-background-orbits>svg{animation-name:ulc-background-mobile}
}
@keyframes ulc-background-mobile{
  0%,100%{transform:translateX(0) scaleX(1.05)}
  35%{transform:translateX(5px) scaleX(1.05)}
  70%{transform:translateX(-4px) scaleX(1.05)}
}
/* No extra controls. The operating-system preference also applies before JavaScript runs. */
@media(prefers-reduced-motion:reduce){
  .ulc-background-surface,.about-opening-orbits.ulc-background-orbits>svg{animation:none!important;transform:none!important;will-change:auto!important}
}
.reduced .ulc-background-surface,.reduced .about-opening-orbits.ulc-background-orbits>svg{animation:none!important;transform:none!important;will-change:auto!important}
