  .events-hero-pattern {
    background-image:
      radial-gradient(circle at 20% 30%, rgba(57, 170, 230,0.12) 0%, transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(14,165,233,0.08) 0%, transparent 35%);
  }
  .video-card {
    transition: transform .35s cubic-bezier(.4,0,.2,1), box-shadow .35s cubic-bezier(.4,0,.2,1);
  }
  .video-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(10,35,66,0.12); }
  .video-thumb { position: relative; overflow: hidden; border-radius: 14px 14px 0 0; }
  .video-thumb img { width: 100%; aspect-ratio: 16/9; object-fit: cover; transition: transform .4s ease; }
  .video-card:hover .video-thumb img { transform: scale(1.05); }
  .play-overlay {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    background: rgba(10,35,66,0.35); opacity: 0; transition: opacity .3s ease;
  }
  .video-card:hover .play-overlay { opacity: 1; }
  .play-btn {
    width: 56px; height: 56px; border-radius: 50%; background: rgba(255,255,255,0.95);
    display: flex; align-items: center; justify-content: center;
    color: #3258A1; font-size: 20px; box-shadow: 0 8px 30px rgba(0,0,0,0.2);
    transition: transform .2s ease;
  }
  .video-card:hover .play-btn { transform: scale(1.1); }
  .tab-link { transition: color .2s, border-color .2s; }
  .tab-link.active { color: #3258A1; border-color: #3258A1; }
  .type-badge-mc { background: #dbeafe; color: #1d4ed8; }
  .type-badge-cv { background: #fef3c7; color: #92400e; }

  /* Modal */
  .video-modal-bg {
    position: fixed; inset: 0; z-index: 9999; background: rgba(10,35,66,0.85);
    display: none; align-items: center; justify-content: center; padding: 24px;
    backdrop-filter: blur(4px);
  }
  .video-modal-bg.open { display: flex; }
  .video-modal-content {
    width: 100%; max-width: 900px; background: #0f172a; border-radius: 16px;
    overflow: hidden; box-shadow: 0 40px 80px rgba(0,0,0,0.4);
  }
  .video-modal-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 20px; border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  .video-modal-header h3 { color: #fff; font-size: 14px; font-weight: 700; }
  .video-modal-close {
    background: rgba(255,255,255,0.1); border: none; color: #94a3b8;
    width: 32px; height: 32px; border-radius: 8px; cursor: pointer;
    display: flex; align-items: center; justify-content: center; font-size: 14px;
    transition: background .2s, color .2s;
  }
  .video-modal-close:hover { background: rgba(255,255,255,0.2); color: #fff; }
  .video-modal-body { position: relative; padding-top: 56.25%; }
  .video-modal-body iframe {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;
  }
  .events-catalog-layout {
    display: grid;
    gap: 1.5rem;
  }
  @media (min-width: 1024px) {
    .events-catalog-layout {
      grid-template-columns: minmax(240px, 290px) minmax(0, 1fr);
      align-items: start;
    }
  }
  .events-results-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
  }
  .events-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: center;
    margin-top: 2rem;
  }
  .events-pagination a,
  .events-pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    padding: .45rem .75rem;
    border-radius: .75rem;
    border: 1px solid #dbe6f5;
    font-size: .82rem;
    font-weight: 700;
    color: #153765;
    text-decoration: none;
  }
  .events-pagination span.is-current {
    background: #3258A1;
    border-color: #3258A1;
    color: #fff;
  }
  .events-area-tag {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .55rem;
    padding: .18rem .55rem;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: .68rem;
    font-weight: 700;
  }
  @keyframes float-subtle { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
  .float-anim { animation: float-subtle 4s ease-in-out infinite; }
  .programs-filter-option.is-active {
    background: #eff6ff;
    border-color: #93c5fd;
  }
  .programs-filter-option.is-active .programs-filter-option__label {
    color: #3258A1;
    font-weight: 800;
  }
