/* V5.17 — short localized faults, composed by one JS score. Original text and media remain stable. */
.az517-frame{position:relative;isolation:isolate}
.az517-frame>.az517-frame-layer{
  position:absolute;inset:0;z-index:5;display:block;overflow:hidden;
  opacity:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg,transparent 0 17px,rgba(230,184,116,.28) 17px 19px,transparent 19px 37px),
    linear-gradient(110deg,transparent 0 28%,rgba(171,89,62,.31) 28% 36%,transparent 36% 100%);
  background-size:cover;background-position:center;
}
.az517-frame>.az517-frame-layer::before,.az517-frame>.az517-frame-layer::after{
  content:'';position:absolute;pointer-events:none;opacity:0;
}
.az517-frame>.az517-frame-layer::before{
  inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(5,30,36,.52) 7px 11px,transparent 11px 23px),
    repeating-linear-gradient(90deg,transparent 0 22px,rgba(219,171,112,.68) 22px 33px,transparent 33px 56px);
}
.az517-frame>.az517-frame-layer::after{
  top:0;bottom:0;left:0;width:3px;
  background:#e9c08b;box-shadow:5px 0 rgba(177,89,63,.82),11px 0 rgba(11,57,65,.9);
}
.az517-frame.az517-frame-drop>.az517-frame-layer{animation:az517-packet-drop .82s steps(1,end) both}
.az517-frame.az517-frame-drop>.az517-frame-layer::before{animation:az517-packet-dust .82s steps(1,end) both}
.az517-frame.az517-frame-rail>.az517-frame-layer{animation:az517-rail-bed .8s steps(1,end) both}
.az517-frame.az517-frame-rail>.az517-frame-layer::after{animation:az517-rail .8s steps(1,end) both}
.az517-frame.az517-frame-moire>.az517-frame-layer{animation:az517-moire .86s steps(1,end) both}
.az517-frame.az517-frame-cross>.az517-frame-layer{animation:az517-cross .83s steps(1,end) both}
@keyframes az517-packet-drop{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  11%{opacity:.75;clip-path:inset(13% 34% 74% 4%);transform:translateX(7px)}
  20%{opacity:.08;clip-path:inset(13% 34% 74% 4%);transform:none}
  36%{opacity:.82;clip-path:inset(53% 5% 30% 48%);transform:translateX(-8px)}
  47%{opacity:.16;clip-path:inset(53% 5% 30% 48%);transform:none}
  63%{opacity:.68;clip-path:inset(80% 27% 7% 11%);transform:translateX(5px)}
  76%{opacity:0}
}
@keyframes az517-packet-dust{
  0%,100%{opacity:0;transform:none}
  12%{opacity:.86;transform:translate(6px,-3px)}
  22%{opacity:0}
  42%{opacity:.65;transform:translate(-7px,2px)}
  52%{opacity:0}
  69%{opacity:.8;transform:translate(3px,4px)}
}
@keyframes az517-rail-bed{
  0%,100%{opacity:0}
  10%{opacity:.22}25%{opacity:.07}47%{opacity:.18}72%{opacity:.05}
}
@keyframes az517-rail{
  0%,100%{opacity:0;transform:translateX(0)}
  8%{opacity:.85;transform:translateX(0)}
  21%{opacity:.85;transform:translateX(22vw)}
  30%{opacity:0;transform:translateX(22vw)}
  41%{opacity:.7;transform:translateX(48vw)}
  65%{opacity:.82;transform:translateX(90vw)}
  73%{opacity:0;transform:translateX(90vw)}
}
@keyframes az517-moire{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);background-position:0 0}
  14%{opacity:.36;clip-path:inset(0 0 58% 0);background-position:5px 0}
  30%{opacity:.1;clip-path:inset(19% 0 39% 0);background-position:-8px 4px}
  48%{opacity:.4;clip-path:inset(43% 0 19% 0);background-position:12px -3px}
  67%{opacity:.24;clip-path:inset(70% 0 0 0);background-position:-4px 6px}
}
@keyframes az517-cross{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0);transform:none}
  12%{opacity:.84;clip-path:inset(8% 66% 77% 6%);transform:translateX(-5px)}
  24%{opacity:0}
  38%{opacity:.78;clip-path:inset(31% 15% 50% 61%);transform:translateX(8px)}
  48%{opacity:.1}
  62%{opacity:.85;clip-path:inset(72% 40% 11% 23%);transform:translateX(-7px)}
}

/* A cached photograph appears only within narrow cut strips. The real image does not move. */
.az-photo-card>.az517-frame-layer{inset:8px 8px 32px;background-size:cover;background-position:center}
.az-photo-card.az517-photo-phase>.az517-frame-layer{filter:hue-rotate(112deg) saturate(1.65) contrast(1.15);mix-blend-mode:screen;animation:az517-photo-phase .98s steps(1,end) both}
.az-photo-card.az517-photo-invert>.az517-frame-layer{filter:invert(.85) sepia(.4);mix-blend-mode:screen;animation:az517-photo-invert .95s steps(1,end) both}
.az-photo-card.az517-photo-slits>.az517-frame-layer{filter:contrast(1.4) saturate(.45);mix-blend-mode:lighten;animation:az517-photo-slits .96s steps(1,end) both}
@keyframes az517-photo-phase{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  10%{opacity:.52;clip-path:inset(12% 0 78% 0);transform:translateX(9px)}
  20%{opacity:0}37%{opacity:.43;clip-path:inset(47% 0 42% 0);transform:translateX(-11px)}
  48%{opacity:.06}65%{opacity:.53;clip-path:inset(78% 0 11% 0);transform:translateX(7px)}
}
@keyframes az517-photo-invert{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0)}
  15%{opacity:.26;clip-path:inset(6% 0 74% 0)}
  25%{opacity:.03}42%{opacity:.32;clip-path:inset(38% 0 39% 0)}
  53%{opacity:.06}70%{opacity:.26;clip-path:inset(74% 0 8% 0)}
}
@keyframes az517-photo-slits{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  11%{opacity:.54;clip-path:polygon(0 14%,100% 14%,100% 19%,0 19%,0 37%,100% 37%,100% 43%,0 43%);transform:translateX(-7px)}
  28%{opacity:.04}
  49%{opacity:.42;clip-path:polygon(0 50%,100% 50%,100% 56%,0 56%,0 76%,100% 76%,100% 81%,0 81%);transform:translateX(9px)}
  70%{opacity:.1}
}

/* The accessible text stays untouched; its aria-hidden ink copy flickers locally. */
.az517-ink{position:relative;isolation:isolate}
.az517-ink>.az517-ghost{
  position:absolute;inset:0;z-index:3;display:block;width:100%;height:100%;
  overflow:hidden;pointer-events:none;opacity:0;color:inherit;
  font:inherit;letter-spacing:inherit;line-height:inherit;text-align:inherit;
}
.az517-ink.az517-ink-negative>.az517-ghost{color:#051b21;text-shadow:2px 0 #b46a50;animation:az517-negative .83s steps(1,end) both}
.az517-ink.az517-ink-prism>.az517-ghost{color:#e1bd89;text-shadow:-3px 0 #a95b49,3px 0 #9bbcb6;animation:az517-prism .86s steps(1,end) both}
.az517-ink.az517-ink-dropout>.az517-ghost{color:#03242c;text-shadow:1px 0 #d7ad7b;animation:az517-dropout .78s steps(1,end) both}
@keyframes az517-negative{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  12%{opacity:.9;clip-path:inset(6% 0 76% 0);transform:translateX(3px)}
  22%{opacity:0}41%{opacity:.85;clip-path:inset(42% 0 40% 0);transform:translateX(-4px)}
  53%{opacity:.05}68%{opacity:.8;clip-path:inset(78% 0 6% 0);transform:translateX(2px)}
}
@keyframes az517-prism{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0);transform:none}
  14%{opacity:.72;clip-path:inset(0 67% 0 0);transform:translateX(3px)}
  27%{opacity:.08}44%{opacity:.64;clip-path:inset(0 28% 0 34%);transform:translateX(-3px)}
  58%{opacity:.08}72%{opacity:.58;clip-path:inset(0 0 0 71%);transform:translateX(2px)}
}
@keyframes az517-dropout{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0)}
  10%{opacity:.86;clip-path:inset(17% 0 72% 0)}
  18%{opacity:0}32%{opacity:.85;clip-path:inset(24% 0 62% 0)}
  42%{opacity:0}59%{opacity:.84;clip-path:inset(64% 0 24% 0)}
  72%{opacity:.06}
}

/* The existing waveform briefly loses packets or gains a chromatic afterimage. */
.az-fixed-wave.az517-wave-gap{animation:az517-wave-gap .75s steps(1,end) both}
.az-fixed-wave.az517-wave-echo{animation:az517-wave-echo .75s steps(1,end) both}
@keyframes az517-wave-gap{
  0%,100%{clip-path:none;opacity:.82}
  14%{clip-path:polygon(0 0,24% 0,24% 100%,32% 100%,32% 0,58% 0,58% 100%,63% 100%,63% 0,100% 0,100% 100%,0 100%);opacity:.8}
  29%{clip-path:none;opacity:.45}
  42%{clip-path:polygon(0 0,41% 0,41% 100%,46% 100%,46% 0,77% 0,77% 100%,83% 100%,83% 0,100% 0,100% 100%,0 100%);opacity:.85}
  65%{clip-path:none;opacity:.75}
}
@keyframes az517-wave-echo{
  0%,100%{filter:none;opacity:.82}
  13%{filter:drop-shadow(0 4px #a65943);opacity:.96}
  25%{filter:none;opacity:.62}
  43%{filter:drop-shadow(0 -3px #e3c08d);opacity:.9}
  57%{filter:none;opacity:.68}
  69%{filter:drop-shadow(0 2px #9a5b4d);opacity:.87}
}

/* Photo viewer transitions add a quick localized shutter, not a full-screen flash. */
.az-photo-viewer[open].az517-viewer-shutter::after,
.az-photo-viewer[open].az517-viewer-phase::after,
.az-photo-viewer[open].az517-viewer-packet::after{
  content:'';position:absolute;z-index:1;inset:55px 78px 57px;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(219,183,135,.32) 12px 15px,transparent 15px 29px),linear-gradient(90deg,rgba(8,52,59,.32),rgba(170,82,62,.25),transparent);
  mix-blend-mode:screen;
}
.az-photo-viewer[open].az517-viewer-shutter::after{animation:az517-viewer-shutter .78s steps(1,end) both}
.az-photo-viewer[open].az517-viewer-phase::after{animation:az517-viewer-phase .78s steps(1,end) both}
.az-photo-viewer[open].az517-viewer-packet::after{animation:az517-viewer-packet .78s steps(1,end) both}
@keyframes az517-viewer-shutter{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0)}
  13%{opacity:.58;clip-path:inset(0 67% 0 0)}
  25%{opacity:.1}42%{opacity:.48;clip-path:inset(0 33% 0 34%)}
  55%{opacity:.08}72%{opacity:.43;clip-path:inset(0 0 0 68%)}
}
@keyframes az517-viewer-phase{
  0%,100%{opacity:0;clip-path:inset(0 0 100% 0);transform:none}
  12%{opacity:.5;clip-path:inset(13% 0 72% 0);transform:translateX(9px)}
  22%{opacity:.06}45%{opacity:.48;clip-path:inset(49% 0 35% 0);transform:translateX(-11px)}
  60%{opacity:.06}73%{opacity:.42;clip-path:inset(81% 0 5% 0);transform:translateX(6px)}
}
@keyframes az517-viewer-packet{
  0%,100%{opacity:0;clip-path:inset(0 100% 0 0)}
  14%{opacity:.62;clip-path:inset(11% 55% 69% 7%)}
  27%{opacity:0}46%{opacity:.55;clip-path:inset(44% 8% 35% 64%)}
  61%{opacity:0}75%{opacity:.43;clip-path:inset(77% 42% 8% 24%)}
}
@media(max-width:650px){
  .az-photo-card>.az517-frame-layer{inset:5px 5px 29px}
  .az-photo-viewer[open].az517-viewer-shutter::after,.az-photo-viewer[open].az517-viewer-phase::after,.az-photo-viewer[open].az517-viewer-packet::after{inset:54px 15px 57px}
}
@media(prefers-reduced-motion:reduce){
  .az517-frame>.az517-frame-layer,.az517-ink>.az517-ghost,.az-photo-viewer[class*="az517-viewer"]::after{display:none!important;animation:none!important}
  .az-fixed-wave[class*="az517-wave"]{animation:none!important;clip-path:none!important;filter:none!important}
}
html.motion-off .az517-frame>.az517-frame-layer,html.motion-off .az517-ink>.az517-ghost,html.motion-off .az-photo-viewer[class*="az517-viewer"]::after,
html.az517-save-data .az517-frame>.az517-frame-layer,html.az517-save-data .az517-ink>.az517-ghost,html.az517-save-data .az-photo-viewer[class*="az517-viewer"]::after{display:none!important;animation:none!important}
html.motion-off .az-fixed-wave[class*="az517-wave"],html.az517-save-data .az-fixed-wave[class*="az517-wave"]{animation:none!important;clip-path:none!important;filter:none!important}
