/* SL COSMETICS V7 — refined editorial scroll motion + clean line-free surfaces
   Visual rhythm is independently implemented for SL COSMETICS. */
:root{--sl-motion-ease:cubic-bezier(.16,1,.3,1);--sl-motion-fast:.72s;--sl-motion-normal:.92s;--sl-motion-image:1.18s}

/* Neutralize legacy reveal animation. V7 owns the animation state. */
.reveal,.reveal.in{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}

/* Remove decorative horizontal rules site-wide while preserving form/input borders. */
.section-head,.partner-heading,.formula-v2-head,.dd-flow-head,.process-hero,.contact-hero,
.oem-showcase__grid,.home-rnd-panel__list,.process-accordion,.process-step,
.formula-v2-grid,.cert-grid,.products,.global,.logos,.innovation,
.dd-flow-section,.dd-support-section,.process-accordion-section{
  border-top-color:transparent!important;border-bottom-color:transparent!important;
}
.sl-scroll-rule::after{display:none!important}

/* Process page: clean white canvas, no separator bars. */
.process-hero,.process-accordion-section{background:#fff!important;border:0!important}
.process-accordion{border:0!important}
.process-step{border:0!important}
.process-step + .process-step{margin-top:2px}
.process-step__trigger{border:0!important;background:#fff!important;border-radius:0!important}
.process-step__trigger:hover,.process-step.is-open .process-step__trigger{background:#fff!important}

/* Hide the baked-in Packaging label by using a deliberate crop. */
.oem-showcase__card--packaging .oem-showcase__visual{overflow:hidden!important;background:#f3efe9!important}
.oem-showcase__card--packaging .oem-showcase__visual img{
  object-fit:cover!important;object-position:center 62%!important;transform:scale(1.38)!important;
}

/* V7 scroll entrance */
.cx-reveal{opacity:0;transform:translate3d(0,46px,0);will-change:opacity,transform;transition:opacity var(--sl-motion-fast) var(--sl-motion-ease),transform var(--sl-motion-normal) var(--sl-motion-ease)}
.cx-reveal.cx-in{opacity:1;transform:translate3d(0,0,0)}

/* layered text: eyebrow → title → copy → CTA */
.cx-rich > .eyebrow,.cx-rich > [class*="eyebrow"],
.cx-rich > h1,.cx-rich > h2,.cx-rich > h3,
.cx-rich > p,.cx-rich > .body-lg,.cx-rich > .line-link,.cx-rich > a.line-link{
  opacity:0;transform:translate3d(0,26px,0);transition:opacity .68s var(--sl-motion-ease),transform .9s var(--sl-motion-ease);
}
.cx-rich.cx-in > .eyebrow,.cx-rich.cx-in > [class*="eyebrow"]{opacity:1;transform:none;transition-delay:.02s}
.cx-rich.cx-in > h1,.cx-rich.cx-in > h2,.cx-rich.cx-in > h3{opacity:1;transform:none;transition-delay:.10s}
.cx-rich.cx-in > p,.cx-rich.cx-in > .body-lg{opacity:1;transform:none;transition-delay:.19s}
.cx-rich.cx-in > .line-link,.cx-rich.cx-in > a.line-link{opacity:1;transform:none;transition-delay:.28s}

/* media settles from a very subtle zoom */
.cx-media{overflow:hidden}
.cx-media > img,.cx-media picture img,.cx-media > video{transform:scale(1.045);transition:transform var(--sl-motion-image) var(--sl-motion-ease);will-change:transform}
.cx-media.cx-in > img,.cx-media.cx-in picture img,.cx-media.cx-in > video{transform:scale(1)}
/* retain packaging crop after media settles */
.oem-showcase__card--packaging .cx-media > img,
.oem-showcase__card--packaging .cx-media.cx-in > img{transform:scale(1.38)!important}

/* stagger collections */
.cx-stagger > .cx-reveal:nth-child(1){transition-delay:.00s}
.cx-stagger > .cx-reveal:nth-child(2){transition-delay:.07s}
.cx-stagger > .cx-reveal:nth-child(3){transition-delay:.14s}
.cx-stagger > .cx-reveal:nth-child(4){transition-delay:.21s}
.cx-stagger > .cx-reveal:nth-child(5){transition-delay:.28s}
.cx-stagger > .cx-reveal:nth-child(6){transition-delay:.35s}

/* Process rows enter one after another without divider lines. */
.process-step.cx-reveal{transform:translate3d(0,30px,0)}
.process-step.cx-reveal.cx-in{transform:none}

/* Desktop image/text asymmetry feels calmer when the whole block is line-free */
.home-rnd-panel__grid,.global-grid,.dd-support-grid{border:0!important}

@media(max-width:768px){
  .cx-reveal{transform:translate3d(0,24px,0);transition-duration:.58s,.72s}
  .cx-rich > .eyebrow,.cx-rich > [class*="eyebrow"],.cx-rich > h1,.cx-rich > h2,.cx-rich > h3,.cx-rich > p,.cx-rich > .body-lg,.cx-rich > .line-link,.cx-rich > a.line-link{transform:translate3d(0,14px,0);transition-duration:.54s,.68s}
  .cx-media > img,.cx-media picture img,.cx-media > video{transform:scale(1.025);transition-duration:.82s}
  .oem-showcase__card--packaging .cx-media > img,.oem-showcase__card--packaging .cx-media.cx-in > img{transform:scale(1.34)!important}
  .cx-stagger > .cx-reveal:nth-child(n){transition-delay:0s}
  .process-step.cx-reveal{transform:translate3d(0,16px,0)}
}

@media(prefers-reduced-motion:reduce){
  .cx-reveal,.cx-rich > *,.cx-media > img,.cx-media picture img,.cx-media > video{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
  .oem-showcase__card--packaging .cx-media > img,.oem-showcase__card--packaging .cx-media.cx-in > img{transform:scale(1.34)!important}
}
