  /* Page-specific: carousel, device frame */
  .carousel-btn {
    transition: background-color 0.2s ease, transform 0.15s ease;
  }
  .carousel-btn:hover { background-color: rgba(255,255,255,0.1); }
  .carousel-btn:active { transform: scale(0.95); }
  .carousel-btn:focus-visible { outline: 2px solid #bb152c; outline-offset: 2px; }
  .fighter-photo { transition: filter 0.5s ease; }
  .device-frame {
    position: relative;
    width: 100%;
    max-width: 320px;
    background: #1d1f22;
    border-radius: 2.8rem;
    padding: 14px;
    box-shadow:
      0 25px 60px rgba(0, 0, 0, 0.35),
      0 8px 20px rgba(0, 0, 0, 0.2),
      inset 0 1px 0 rgba(255,255,255,0.08);
  }
  .device-frame img { border-radius: 2.2rem; display: block; width: 100%; }
  .device-frame::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 5px;
    background: #2d2d2d;
    border-radius: 10px;
    z-index: 2;
  }

  /* Live pulse */
  @keyframes live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.75); }
  }
  .live-pulse { animation: live-pulse 1.4s ease-in-out infinite; }
