/* OC-SCN-033 r03. Lighting only: the approved r02 layout and raster stay untouched. */
.oc-relief-hero .relief-gloss {
  --relief-light-strength: .86;
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: var(--relief-light-strength);
  pointer-events: none;
  mix-blend-mode: screen;
}
.relief-gloss__sweep,
.relief-gloss__finish {
  opacity: 0;
  animation-duration: 18s;
  animation-iteration-count: infinite;
  animation-play-state: paused;
}
.relief-gloss__sweep {
  transform: translateX(-700px);
  animation-name: relief-final-sheen;
  animation-timing-function: cubic-bezier(.4,0,.2,1);
}
.relief-gloss__finish {
  animation-name: relief-final-catch;
  animation-timing-function: ease-in-out;
}
[data-relief-motion="running"] .relief-gloss__sweep,
[data-relief-motion="running"] .relief-gloss__finish {
  animation-play-state: running;
}
/* 3.6s still; a 5.4s light pass; a soft upper-bevel catch; >8s still. */
@keyframes relief-final-sheen {
  0%, 20% { transform: translateX(-700px); opacity: 0; }
  26% { opacity: 1; }
  44% { opacity: 1; }
  50%, 100% { transform: translateX(650px); opacity: 0; }
}
@keyframes relief-final-catch {
  0%, 39% { opacity: 0; }
  46% { opacity: 1; }
  55%, 100% { opacity: 0; }
}
@media (max-width: 599px) {
  .oc-relief-hero .relief-gloss { --relief-light-strength: .7; }
}
@media (prefers-reduced-motion: reduce) {
  .oc-relief-hero .relief-gloss { opacity: 0; }
  .relief-gloss__sweep,
  .relief-gloss__finish { animation: none !important; }
}
