.tv-container {
    position: relative;
    width: 100%;   /* fill parent width */
    height: 100%;  /* fill parent height */
    max-width: 600px; /* optional limit */
  }

  /* Shared positioning */
  .tv-screen,
  .tv-gif {
    position: absolute;
    top: 22.5%;
    left: 10.4%;
    width: 70.5%;
    height: 56%;
    border: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 3s ease-in-out;
  }

  /* TV frame */
  .tv-frame {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
    pointer-events: none;
    display: block;
  }

  /* Aspect ratio fix for video */
  .tv-screen {
    aspect-ratio: 16 / 9;
  }

  /* State toggles */
  .tv-visible {
    opacity: 1;
  }
  