/* V5.39: four extra media faults and quieter responses for the shared score. */
.az517-frame:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{
  background-size:cover;background-position:center;pointer-events:none
}
.az-photo-card:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{inset:8px 8px 32px}
.az-visual-card:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{inset:7px 7px 32px}
.az-visual-card:nth-child(n+4):is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{bottom:68px}
.az-repair-figure a:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{inset:8px}
.pro-photo-shot:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{inset:0 0 29px}
.ug-image-plate:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{background-position:68% center}

/* Tape drop: a brief opaque stripe cuts through a displaced image copy. */
.az517-frame.az539-tape-drop>.az517-frame-layer{
  filter:sepia(.38) saturate(1.3) contrast(1.2);mix-blend-mode:screen;
  animation:az539-tape-image .92s steps(1,end) both
}
.az517-frame.az539-tape-drop>.az517-frame-layer::after{
  top:0;bottom:auto;left:0;right:0;width:auto;height:9%;
  background:repeating-linear-gradient(0deg,rgba(3,28,34,.8) 0 2px,rgba(218,182,128,.56) 2px 3px,transparent 3px 5px);
  animation:az539-tape-band .92s steps(1,end) both
}
@keyframes az539-tape-image{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  12%{opacity:.53;clip-path:inset(18% 0 67% 0);transform:translateX(8px)}
  29%{opacity:.03}46%{opacity:.6;clip-path:inset(50% 0 35% 0);transform:translateX(-9px)}
  63%{opacity:.05}76%{opacity:.35;clip-path:inset(79% 0 12% 0);transform:translateX(4px)}
}
@keyframes az539-tape-band{
  0%,100%{opacity:0;top:0}
  13%{opacity:.7;top:23%}27%{opacity:0;top:23%}
  48%{opacity:.55;top:61%}62%{opacity:0;top:61%}
}

/* Chroma delay: two small colour-separated moments, without moving the source. */
.az517-frame.az539-chroma-delay>.az517-frame-layer{
  filter:hue-rotate(140deg) saturate(1.9) contrast(1.18);mix-blend-mode:screen;
  animation:az539-chroma-image .9s steps(1,end) both
}
.az517-frame.az539-chroma-delay>.az517-frame-layer::before{
  inset:0;background:linear-gradient(90deg,rgba(196,79,58,.34),transparent 43%,rgba(49,165,169,.31));
  animation:az539-chroma-colour .9s steps(1,end) both
}
@keyframes az539-chroma-image{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  14%{opacity:.44;clip-path:inset(11% 0 67% 0);transform:translateX(6px)}
  31%{opacity:.05}49%{opacity:.49;clip-path:inset(49% 0 28% 0);transform:translateX(-7px)}
  67%{opacity:.05}78%{opacity:.24;clip-path:inset(80% 0 8% 0);transform:translateX(3px)}
}
@keyframes az539-chroma-colour{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0)}
  15%{opacity:.56;clip-path:inset(12% 0 67% 0)}
  32%{opacity:.04}50%{opacity:.48;clip-path:inset(50% 0 27% 0)}
  69%{opacity:.03}
}

/* Sync roll: a descending image fragment and narrow, low-contrast scan lines. */
.az517-frame.az539-sync-roll>.az517-frame-layer{
  filter:contrast(1.12) saturate(.72);mix-blend-mode:lighten;
  animation:az539-sync-image 1s steps(1,end) both
}
.az517-frame.az539-sync-roll>.az517-frame-layer::before{
  inset:0;background:repeating-linear-gradient(0deg,transparent 0 6px,rgba(226,195,151,.29) 6px 8px,transparent 8px 17px);
  animation:az539-sync-lines 1s steps(1,end) both
}
@keyframes az539-sync-image{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  12%{opacity:.34;clip-path:inset(0 0 77% 0);transform:translateY(-5px)}
  31%{opacity:.36;clip-path:inset(30% 0 46% 0);transform:translateY(5px)}
  52%{opacity:.4;clip-path:inset(58% 0 18% 0);transform:translateY(-4px)}
  72%{opacity:.23;clip-path:inset(83% 0 3% 0);transform:translateY(3px)}
}
@keyframes az539-sync-lines{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0)}
  13%{opacity:.47;clip-path:inset(0 0 77% 0)}
  34%{opacity:.32;clip-path:inset(31% 0 45% 0)}
  54%{opacity:.38;clip-path:inset(59% 0 17% 0)}
  73%{opacity:.16;clip-path:inset(83% 0 3% 0)}
}

/* Pixel shear: small rectangular fragments, distinct from the earlier colour blocks. */
.az517-frame.az539-pixel-shear>.az517-frame-layer{
  filter:contrast(1.3) saturate(1.5);mix-blend-mode:screen;
  animation:az539-pixel-image .93s steps(1,end) both
}
.az517-frame.az539-pixel-shear>.az517-frame-layer::before{
  inset:0;background:repeating-linear-gradient(90deg,transparent 0 11px,rgba(223,180,116,.35) 11px 13px,transparent 13px 24px),
    repeating-linear-gradient(0deg,rgba(4,32,40,.27) 0 8px,transparent 8px 21px);
  animation:az539-pixel-grid .93s steps(1,end) both
}
@keyframes az539-pixel-image{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  14%{opacity:.59;clip-path:inset(16% 49% 66% 6%);transform:translateX(9px)}
  30%{opacity:.03}48%{opacity:.54;clip-path:inset(44% 9% 36% 54%);transform:translateX(-10px)}
  65%{opacity:.03}76%{opacity:.32;clip-path:inset(76% 34% 6% 22%);transform:translateX(5px)}
}
@keyframes az539-pixel-grid{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0)}
  16%{opacity:.5;clip-path:inset(16% 49% 66% 6%)}
  50%{opacity:.42;clip-path:inset(44% 9% 36% 54%)}
  68%{opacity:.03}
}

/* Frame, ink, waveform and keyword voices keep the score visible on text-led pages. */
.az517-frame.az539-frame-offset>.az517-frame-layer{
  background:linear-gradient(90deg,transparent 0 20%,rgba(218,174,112,.55) 20% 21%,transparent 21% 79%,rgba(181,91,65,.47) 79% 80%,transparent 80%);
  animation:az539-frame-offset .84s steps(1,end) both
}
.az517-frame.az539-frame-signal>.az517-frame-layer{
  background:repeating-linear-gradient(90deg,transparent 0 21px,rgba(92,174,166,.4) 21px 23px,transparent 23px 45px),
    linear-gradient(0deg,transparent 0 45%,rgba(224,182,123,.29) 45% 52%,transparent 52%);
  animation:az539-frame-signal .84s steps(1,end) both
}
@keyframes az539-frame-offset{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0);transform:none}
  15%{opacity:.59;clip-path:inset(0 64% 0 0);transform:translateX(3px)}
  47%{opacity:.49;clip-path:inset(0 23% 0 40%);transform:translateX(-3px)}
  73%{opacity:.27;clip-path:inset(0 0 0 77%);transform:none}
}
@keyframes az539-frame-signal{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);background-position:0 0}
  14%{opacity:.5;clip-path:inset(12% 0 69% 0);background-position:0 0}
  46%{opacity:.42;clip-path:inset(45% 0 35% 0);background-position:8px 0}
  72%{opacity:.25;clip-path:inset(76% 0 6% 0);background-position:-6px 0}
}
.az517-ink.az539-ink-bitflip>.az517-ghost{
  color:#e3c493;text-shadow:2px 0 #aa5746,-2px 0 #4b9d9f;
  animation:az539-ink-bitflip .82s steps(1,end) both
}
@keyframes az539-ink-bitflip{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  13%{opacity:.72;clip-path:inset(7% 0 72% 0);transform:translateX(3px)}
  34%{opacity:.04}49%{opacity:.67;clip-path:inset(44% 0 31% 0);transform:translateX(-3px)}
  69%{opacity:.05}78%{opacity:.42;clip-path:inset(79% 0 2% 0);transform:none}
}
.az515-surface.az539-surface-tape>.az515-field{
  background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(4,27,34,.45) 7px 10px,rgba(222,177,116,.4) 10px 11px,transparent 11px 24px);
  animation:az539-surface-tape .84s steps(1,end) both
}
@keyframes az539-surface-tape{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);background-position:0 0}
  14%{opacity:.55;clip-path:inset(14% 0 70% 0);background-position:0 -4px}
  48%{opacity:.45;clip-path:inset(52% 0 32% 0);background-position:0 7px}
  73%{opacity:.23;clip-path:inset(79% 0 6% 0);background-position:0 -3px}
}
.az-fixed-wave.az539-wave-delay{animation:az539-wave-delay .75s steps(1,end) both}
@keyframes az539-wave-delay{
  0%,100%{filter:none;opacity:.82;transform:none}
  15%{filter:drop-shadow(0 3px rgba(194,90,64,.8));opacity:.94;transform:translateX(2px)}
  37%{filter:none;opacity:.58;transform:none}
  54%{filter:drop-shadow(0 -3px rgba(213,183,126,.8));opacity:.91;transform:translateX(-2px)}
  75%{filter:none;opacity:.73;transform:none}
}
.az525-heading.az539-keyword-phase:not(:hover):not(:focus-within) .az525-word{
  color:transparent;-webkit-text-fill-color:transparent;
  background-image:linear-gradient(90deg,var(--az525-base,#f5e9d7) 0 50%,#bd7554 50% 100%);
  background-clip:text;-webkit-background-clip:text;
  animation:az539-keyword-phase .8s steps(1,end) both
}
html:not(.motion-off):not(.az525-save-data):not(.az517-save-data) .az525-heading.az539-keyword-phase:is(:hover,:focus-within) .az525-word{
  animation:az539-keyword-phase .8s steps(1,end) both
}
@keyframes az539-keyword-phase{
  0%,100%{filter:none;transform:none}
  15%{filter:drop-shadow(2px 0 #bf6850);transform:translateX(1px)}
  39%{filter:none;transform:none}
  55%{filter:drop-shadow(-2px 0 #d8b681);transform:translateX(-1px)}
  75%{filter:none;transform:none}
}
.az-photo-viewer[open].az539-viewer-roll::after{
  content:'';position:absolute;z-index:1;inset:55px 78px 57px;pointer-events:none;mix-blend-mode:screen;
  background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(219,178,124,.32) 12px 14px,transparent 14px 27px);
  animation:az539-viewer-roll .78s steps(1,end) both
}
@keyframes az539-viewer-roll{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);background-position:0 0}
  15%{opacity:.48;clip-path:inset(12% 0 68% 0);background-position:0 2px}
  46%{opacity:.42;clip-path:inset(46% 0 33% 0);background-position:0 -6px}
  73%{opacity:.21;clip-path:inset(77% 0 4% 0);background-position:0 4px}
}
@media(max-width:650px){
  .az-photo-card:is(.az539-tape-drop,.az539-chroma-delay,.az539-sync-roll,.az539-pixel-shear)>.az517-frame-layer{inset:5px 5px 29px}
  .az-photo-viewer[open].az539-viewer-roll::after{inset:54px 15px 57px}
}
@media(prefers-reduced-motion:reduce){
  .az517-frame[class*="az539-"]>.az517-frame-layer,.az517-ink.az539-ink-bitflip>.az517-ghost,
  .az515-surface.az539-surface-tape>.az515-field,.az-photo-viewer.az539-viewer-roll::after{display:none!important;animation:none!important}
  .az-fixed-wave.az539-wave-delay,.az525-heading.az539-keyword-phase .az525-word{animation:none!important;filter:none!important;transform:none!important}
}
html.motion-off .az517-frame[class*="az539-"]>.az517-frame-layer,
html.az517-save-data .az517-frame[class*="az539-"]>.az517-frame-layer,
html.motion-off .az517-ink.az539-ink-bitflip>.az517-ghost,
html.az517-save-data .az517-ink.az539-ink-bitflip>.az517-ghost,
html.motion-off .az515-surface.az539-surface-tape>.az515-field,
html.az517-save-data .az515-surface.az539-surface-tape>.az515-field,
html.motion-off .az-photo-viewer.az539-viewer-roll::after,
html.az517-save-data .az-photo-viewer.az539-viewer-roll::after{display:none!important;animation:none!important}
html.motion-off .az-fixed-wave.az539-wave-delay,html.az517-save-data .az-fixed-wave.az539-wave-delay{animation:none!important;filter:none!important;transform:none!important}
html.motion-off .az525-heading.az539-keyword-phase .az525-word,
html.az517-save-data .az525-heading.az539-keyword-phase .az525-word{animation:none!important;filter:none!important;transform:none!important;color:inherit!important;-webkit-text-fill-color:currentColor!important;background-image:none!important}
