.wf-design-mode .crt-shader-wrapper {
    visibility: hidden;
  }
  .crt-shader {
    background:
      radial-gradient(circle, rgba(0,0,0,0) 50%, rgba(0,0,0,0.6) 100%),
      repeating-linear-gradient(0deg, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.5) 1.2px, rgba(0,0,0,0) 1.2px, rgba(0,0,0,0) 3px);
    animation:
      crt-vhs-flicker 2.8s linear infinite,
      crt-vhs-jitter 5s linear infinite;
    will-change: opacity, transform;
  }
  .crt-shader::after {
    content: '';
    display: block;
    position: absolute;
    inset: -12px;
    background: repeating-linear-gradient(0deg,
      rgba(255,255,255,0.11) 0, rgba(255,255,255,0.11) 1px,
      rgba(0,0,0,0) 1px, rgba(0,0,0,0) 3px);
    opacity: 0.7;
    z-index: 10000;
    pointer-events: none;
    mix-blend-mode: screen;
    animation: crt-static 0.32s steps(3, end) infinite;
    will-change: transform;
  }
  .crt-shader-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: 0;
    background:
      repeating-linear-gradient(0deg, rgba(255,255,255,0.6) 0, rgba(255,255,255,0.6) 2px, rgba(0,0,0,0) 2px, rgba(0,0,0,0) 5px),
      rgba(255,255,255,0.14);
    animation: crt-glitchbars 4.7s steps(1, end) infinite;
    will-change: opacity, clip-path, transform;
  }
  .crt-shader-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    mix-blend-mode: screen;
    opacity: 0;
    background:
      repeating-linear-gradient(0deg, rgba(220,220,220,0.5) 0, rgba(220,220,220,0.5) 1px, rgba(0,0,0,0) 1px, rgba(0,0,0,0) 3px),
      rgba(255,255,255,0.1);
    animation: crt-glitchbars2 6.3s steps(1, end) infinite;
    will-change: opacity, clip-path, transform;
  }
  @keyframes crt-glitchbars {
    0%, 100% { opacity: 0; clip-path: inset(45% 0 45% 0); transform: translateX(0); }
    18.6% { opacity: 0; }
    19%   { opacity: 0.9; clip-path: inset(24% 0 68% 0); transform: translateX(-9px); }
    19.7% { opacity: 0; }
    54.6% { opacity: 0; }
    55%   { opacity: 0.85; clip-path: inset(58% 0 33% 0); transform: translateX(7px); }
    55.7% { opacity: 0; }
    83.6% { opacity: 0; }
    84%   { opacity: 0.9; clip-path: inset(72% 0 16% 0); transform: translateX(-6px); }
    84.7% { opacity: 0; }
  }
  @keyframes crt-glitchbars2 {
    0%, 100% { opacity: 0; clip-path: inset(45% 0 45% 0); transform: translateX(0); }
    35.6% { opacity: 0; }
    36%   { opacity: 0.8; clip-path: inset(40% 0 52% 0); transform: translateX(8px); }
    36.6% { opacity: 0; }
    71.6% { opacity: 0; }
    72%   { opacity: 0.85; clip-path: inset(12% 0 80% 0); transform: translateX(-8px); }
    72.7% { opacity: 0; }
  }
  .section-links .section-img.is-links-back img {
    filter: grayscale(1) brightness(1.25) contrast(1.08);
    animation: crt-glitch 5.5s steps(1, end) infinite;
    will-change: transform, filter;
  }
  @keyframes crt-static { 0% { transform: translate(0,0); } 100% { transform: translate(0,-7px); } }
  @keyframes crt-glitch {
    0%, 100% { transform: translate(0,0); }
    11.6% { transform: translate(0,0); }
    12%   { transform: translate(-8px,0); }
    12.5% { transform: translate(6px,0); }
    13%   { transform: translate(0,0); }
    46.6% { transform: translate(0,0); }
    47%   { transform: translate(7px,0); }
    47.5% { transform: translate(-4px,0); }
    48%   { transform: translate(0,0); }
    79%   { transform: translate(0,0); }
    79.4% { transform: translate(-6px,0); }
    80%   { transform: translate(4px,0); }
    80.5% { transform: translate(0,0); }
  }
  @keyframes crt-lines {
    from {
      background-position:
        0 0,
        0 0;
    }
    to {
      background-position:
        0 0,
        0 100%;
    }
  }
  @keyframes crt-vhs-flicker {
    0%, 100% { opacity: 1; }
    2%  { opacity: 0.58; }
    3%  { opacity: 1; }
    8%  { opacity: 0.86; }
    9%  { opacity: 1; }
    14% { opacity: 0.4; }
    15% { opacity: 1; }
    26% { opacity: 0.8; }
    27% { opacity: 1; }
    37% { opacity: 0.52; }
    38% { opacity: 1; }
    51% { opacity: 0.9; }
    52% { opacity: 1; }
    60% { opacity: 0.33; }
    62% { opacity: 1; }
    73% { opacity: 0.82; }
    74% { opacity: 1; }
    87% { opacity: 0.56; }
    88% { opacity: 1; }
    95% { opacity: 0.88; }
    96% { opacity: 1; }
  }
  @keyframes crt-vhs-jitter {
    0%, 100% { transform: translate3d(0,0,0); }
    13.5% { transform: translate3d(0,0,0); }
    14%   { transform: translate3d(-2px, 1px, 0); }
    15%   { transform: translate3d(1px, -1px, 0); }
    15.5% { transform: translate3d(0,0,0); }
    59.5% { transform: translate3d(0,0,0); }
    60%   { transform: translate3d(2px, -1px, 0); }
    61%   { transform: translate3d(-2px, 1px, 0); }
    62%   { transform: translate3d(0,0,0); }
  }
  @keyframes crt-microflicker {
    0%   { opacity: 0.75; }
    100% { opacity: 0.5; }
  }
  @keyframes crt-interference-move {
    from {
      transform: translateY(-120%);
    }
    to {
      transform: translateY(320%);
    }
  }
  @media (max-width: 768px), (hover: none) and (pointer: coarse) {
    .crt-shader {
      filter: none;
      will-change: auto;
    }
    .crt-shader::after {
      animation: crt-interference-move 6s linear infinite;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .crt-shader,
    .crt-shader::after {
      animation: none;
    }
  }
