/* V20 — composed editorial motion. Load after style.css and polish-15/16/17.css.
   Content is visible without JavaScript; three complete topic surfaces enter once. */
:root{--lc-motion-ease:cubic-bezier(.22,.68,.3,1);--lc-feedback-time:180ms}

/* Neutralize historic section/card movement, leaving all layout geometry intact. */
.surface-motion:not(.lc-motion-surface),.surface-motion.surface-in:not(.lc-motion-surface),
.solutions.topic-panel:not(.lc-motion-surface),.solutions.topic-panel.surface-motion:not(.lc-motion-surface),
.solutions.topic-panel.surface-in:not(.lc-motion-surface),
.motion-item,.enhanced-motion .motion-item,
.motion-ready .reveal,.motion-ready .reveal.in-view{
  opacity:1!important;transform:none!important;animation:none!important;transition:none!important;will-change:auto;
}
.reading-progress,.scroll-progress{display:none!important}
.hero,.hero:before,.hero:after,.hero-photo,.hero-photo img,
.hero-content,.hero h1,.page-hero h1,.page-intro h1{
  animation:none!important;transition:none!important;
}
.hero-photo,.hero-photo img,.hero-content,.hero h1{transform:none!important}
.optics-arrived>g,.optics-arrived path,.optics-arrived circle,
.camera-illustration,.camera-drawing,.lens-section-drawing,.aperture-drawing{
  animation:none!important;transition:none!important;
}
/* Preserve the static drawing angles; no scroll-driven optical drift. */
.camera-drawing{--optic-drift:0px!important;--optic-turn:0deg!important}
.lens-section-drawing,.aperture-drawing{--optic-drift:0px!important;--optic-turn:0deg!important}
.optics-arrived path,.optics-arrived circle{stroke-dasharray:none;stroke-dashoffset:0}

/* The movement belongs to the whole surface, including its text tiles.
   No repeated child cascades, no opacity hiding and no layout overlap. */
.lc-motion-surface{opacity:1;transform:none;will-change:auto;--lc-entry-distance:28px;--lc-entry-delay:0ms}
#content-loesungen.lc-motion-surface{--lc-entry-distance:32px}
.process.lc-motion-surface{--lc-entry-delay:60ms}
#newsletter.lc-motion-surface{--lc-entry-delay:100ms}
.lc-motion-enabled .lc-motion-surface{
  transition:transform 820ms var(--lc-motion-ease) var(--lc-entry-delay);
}
.lc-motion-enabled .lc-motion-surface:not(.lc-motion-arrived){transform:translate3d(0,var(--lc-entry-distance),0)}
.lc-motion-enabled .lc-motion-surface.lc-motion-arrived{transform:none}
.lc-motion-enabled .lc-motion-surface:focus-within{transform:none;transition:none}

/* Keep the photography stationary. Feedback belongs to the frame and controls. */
.project img,.gallery-card img,.journal-image img,.design-open img,
.project:hover img,.gallery-card:hover img,.journal-card:hover img,.design-open:hover img{
  transform:none!important;filter:none!important;transition:none!important;
}
.project,.gallery-card,.partner-card,.journal-card,.workspace-card,
.portfolio-gallery.is-justified .gallery-card,
.project:hover,.gallery-card:hover,.partner-card:hover,.journal-card:hover,.workspace-card:hover,
.portfolio-gallery.is-justified .gallery-card:hover{
  transform:none!important;transition:border-color var(--lc-feedback-time) ease;box-shadow:none;
}
.button,.button:hover{transform:none;transition:background-color var(--lc-feedback-time) ease,color var(--lc-feedback-time) ease}
.button span,.text-link span,.gallery-open,.play-circle{transform:none!important;transition:none}
.gallery-media:after{transition:opacity var(--lc-feedback-time) ease}
.film-play:hover .play-circle{transform:none;background:#495d39f0}
details[open] .service-body,.onboarding-step:not([hidden]){animation:none}

@media(hover:hover) and (pointer:fine){
  .button span,.text-link span,.gallery-open{transition:transform var(--lc-feedback-time) ease}
  .button:hover span,.text-link:hover span{transform:translate(2px,-1px)!important}
  .gallery-card:hover .gallery-open{transform:translateX(2px)!important}
  .design-card{transition:border-color var(--lc-feedback-time) ease}
  .design-card:hover{border-color:var(--signal-readable,#ff9398)}
}
@media(hover:none), (pointer:coarse){
  .gallery-media:after{opacity:0!important}
}
@media(max-width:700px){
  .lc-motion-surface{--lc-entry-distance:14px}
  #content-loesungen.lc-motion-surface{--lc-entry-distance:16px}
  .lc-motion-enabled .lc-motion-surface{transition-duration:680ms}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .lc-motion-enabled .lc-motion-surface,
  .lc-motion-enabled .lc-motion-surface:not(.lc-motion-arrived){transform:none!important;transition:none!important}
  .button:hover span,.text-link:hover span,.gallery-card:hover .gallery-open{transform:none!important}
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* V21: let the requested review > content > partners sequence enter as complete surfaces. */
.reviews-section.lc-motion-surface{--lc-entry-distance:28px}#content-loesungen.lc-motion-surface{--lc-entry-distance:38px}#referenzen.lc-motion-surface{--lc-entry-distance:32px}.lc-motion-enabled .lc-motion-surface{transition-duration:900ms}@media(max-width:700px){.reviews-section.lc-motion-surface{--lc-entry-distance:16px}#content-loesungen.lc-motion-surface{--lc-entry-distance:22px}#referenzen.lc-motion-surface{--lc-entry-distance:18px}.lc-motion-enabled .lc-motion-surface{transition-duration:740ms}}@media(prefers-reduced-motion:reduce){.lc-motion-enabled .lc-motion-surface{transform:none!important;transition:none!important}}
