 * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
      font-family: 'Segoe UI', Roboto, system-ui, sans-serif;
    }

    html,body {
      width: 100%;
      background: #f0f6fe;
      color: #0b1a2f;
      min-height: 100vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
    }

    /* ----- main container (card-like) ----- */
    .main-container {
      width: 100%;
      max-width: 1280px;
      background: white;
      border-radius: 56px;
      box-shadow: 0 30px 60px -16px rgba(0, 20, 50, 0.25);
      border: 1px solid rgba(30, 80, 150, 0.06);
      overflow: hidden;
      animation: fadeSlide 0.9s ease;
      position: relative;
    }
    .main-container::before {
      content: '';
      position: absolute;
      top: -20%;
      right: -10%;
      width: 500px;
      height: 500px;
      background: radial-gradient(circle, rgba(106, 176, 255, 0.04) 0%, transparent 70%);
      pointer-events: none;
    }

    .view{
      width: 100%;
      height: 100%;
    }
    /* ----- header ----- */
    .events-header {
      padding: 2.5rem 2.8rem 0.5rem;
      position: relative;
      z-index: 2;
    }
    .events-header h1 {
      font-size: 2.6rem;
      font-weight: 800;
      color: #0b1a33;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .events-header h1 i {
      color: #1f4b7a;
      background: #e6f0fe;
      padding: 10px 14px;
      border-radius: 40px;
      font-size: 2rem;
    }
    .events-header p {
      color: #2a3f5e;
      font-size: 1.1rem;
      margin-top: 0.2rem;
      margin-left: 4px;
    }
    .events-header .divider {
      width: 80px;
      height: 4px;
      background: #1f4b7a;
      border-radius: 4px;
      margin-top: 8px;
    }

    /* ----- events grid ----- */
    .events-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 2rem;
      padding: 2rem 2.8rem 2.5rem;
      position: relative;
      z-index: 2;
    }

    .event-card {
      background: #f8fbff;
      border-radius: 32px;
      overflow: hidden;
      box-shadow: 0 8px 24px -6px rgba(0, 20, 40, 0.08);
      border: 1px solid rgba(30, 80, 150, 0.06);
      transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
      animation: fadeSlide 0.6s ease backwards;
      cursor: default;
      display: flex;
      flex-direction: column;
    }
    .event-card:nth-child(1) { animation-delay: 0.02s; }
    .event-card:nth-child(2) { animation-delay: 0.06s; }
    .event-card:nth-child(3) { animation-delay: 0.10s; }
    .event-card:nth-child(4) { animation-delay: 0.14s; }
    .event-card:nth-child(5) { animation-delay: 0.18s; }
    .event-card:nth-child(6) { animation-delay: 0.22s; }

    .event-card:hover {
      transform: translateY(-10px) scale(1.01);
      box-shadow: 0 24px 44px -12px #0b2a4a77;
      border-color: #6ab0ff;
      background: white;
    }

    .event-card .img-wrap {
      width: 100%;
      aspect-ratio: 16/9;
      background: #dce8f8;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 3.5rem;
      color: #1f4b7a;
      transition: 0.3s;
      position: relative;
      overflow: hidden;
    }
    .event-card .img-wrap i {
      opacity: 0.7;
      transition: 0.4s;
    }
    .event-card:hover .img-wrap i {
      transform: scale(1.12) rotate(-3deg);
      opacity: 1;
      color: #0b2a4a;
    }
    .event-card .img-wrap .date-badge {
      position: absolute;
      top: 14px;
      left: 16px;
      background: rgba(11, 26, 51, 0.85);
      backdrop-filter: blur(4px);
      color: white;
      padding: 0.3rem 1rem;
      border-radius: 40px;
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.3px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    .event-card .img-wrap .date-badge i {
      color: #6ab0ff;
      opacity: 1;
      font-size: 0.8rem;
    }

    .event-card .info {
      padding: 1.2rem 1.4rem 1.4rem;
      flex: 1;
      display: flex;
      flex-direction: column;
    }
    .event-card .info h4 {
      font-size: 1.2rem;
      font-weight: 700;
      color: #0b1a33;
    }
    .event-card .info p {
      font-size: 0.9rem;
      color: #3a5670;
      margin: 6px 0 10px;
      line-height: 1.5;
      flex: 1;
    }
    .event-card .info .meta {
      display: flex;
      flex-wrap: wrap;
      gap: 0.8rem 1.2rem;
      font-size: 0.8rem;
      color: #1f4b7a;
      margin-top: 4px;
    }
    .event-card .info .meta i {
      margin-right: 4px;
      color: #1f4b7a;
    }
    .event-card .info .tag {
      display: inline-block;
      background: #0b1a33;
      color: white;
      padding: 0.15rem 1.2rem;
      border-radius: 40px;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.4px;
      margin-top: 10px;
      align-self: flex-start;
    }

    /* ----- footer ----- */
    .footer {
      background: #0b1a33;
      color: #b7cee6;
      text-align: center;
      padding: 1.8rem 1rem;
      border-top: 4px solid white;
    }
    .footer i {
      color: #6ab0ff;
      margin: 0 6px;
    }

    /* ----- ANIMATIONS ----- */
    @keyframes fadeSlide {
      0% { opacity: 0; transform: translateY(24px); }
      100% { opacity: 1; transform: translateY(0); }
    }

    /* ----- RESPONSIVE ----- */
    @media (max-width: 992px) {
      .events-header {
        padding: 2rem 1.8rem 0.5rem;
      }
      .events-grid {
        padding: 1.5rem 1.8rem 2rem;
        gap: 1.5rem;
      }
    }

    @media (max-width: 768px) {
      body {
        padding: 0.8rem;
      }
      .main-container {
        border-radius: 32px;
      }
      .events-header h1 {
        font-size: 2rem;
      }
      .events-header h1 i {
        font-size: 1.5rem;
        padding: 8px 12px;
      }
      .events-grid {
        grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
        padding: 1.2rem 1.2rem 1.8rem;
        gap: 1.2rem;
      }
      .event-card .img-wrap {
        font-size: 2.8rem;
      }
      .event-card .info h4 {
        font-size: 1rem;
      }
    }

    @media (max-width: 480px) {
      .events-header h1 {
        font-size: 1.6rem;
      }
      .events-header p {
        font-size: 0.9rem;
      }
      .events-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem 0.8rem 1.5rem;
      }
      .event-card {
        border-radius: 24px;
      }
      .event-card .img-wrap {
        aspect-ratio: 16/9;
        font-size: 2.5rem;
      }
      .event-card .info {
        padding: 0.8rem 1rem 1rem;
      }
      .event-card .info h4 {
        font-size: 1rem;
      }
      .event-card .info p {
        font-size: 0.85rem;
      }
      .footer {
        font-size: 0.8rem;
        padding: 1.2rem 0.8rem;
      }
    }