  :root {
  	--marquee-height: 300px;
  	/* visible area height */
  	--marquee-gap: 16px;
  	/* gap between items */
  	--marquee-speed: 18s;
  	/* total time to scroll one full loop (increase = slower) */
  	--item-padding: 10px 14px;
  	--bg: #0f172a;
  	--card: #0b1220;
  	/* --text: #e6eef8; */
  	--text: #000000;
  	--accent: #60a5fa;
  }

  .marquee {
  	/* width: 360px; */
  	/* adjust or make responsive */
  	max-width: 100%;
  	height: var(--marquee-height);
  	overflow: hidden;
  	position: relative;
  	border-radius: 12px;
  	/* background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(0, 0, 0, 0.12)); */
  	/* box-shadow: 0 6px 18px rgba(2, 6, 23, 0.6); */
  }

  /* container that will move */
  .marquee__inner {
  	display: block;
  	will-change: transform;
  	animation: marqueeScroll linear infinite;
  	animation-duration: var(--marquee-speed);
  	padding: 12px;
  }

  /* pause when hovered or any child receives focus */
  .marquee:hover .marquee__inner,
  .marquee:focus-within .marquee__inner {
  	animation-play-state: paused;
  }

  /* list styles (use anchors inside li) */
  .marquee__list {
  	list-style: none;
  	margin: 0;
  	padding: 0;
  }

  .marquee__item {
  	display: block;
    background: #ededed;
    margin-bottom: var(--marquee-gap);
    border-radius: 8px;
    /* padding: var(--item-padding); */
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .marquee__item a {
  	color: var(--text);
    text-decoration: none;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 9px 23px;
  }

  .marquee__item a:hover,
  .marquee__item a:focus {
  	outline: none;
  	transform: scale(1.01);
  	box-shadow: 0 6px 18px rgba(6, 12, 34, 0.45);
	border-radius: 10px;
  }

  .event__date {
  	min-width: 72px;
  	font-weight: 700;
  	color: var(--accent);
  	font-size: 0.92rem;
  }

  .event__title {
  	font-size: 0.95rem;
  	font-weight: 600;
  }

  .event__meta {
  	font-size: 0.82rem;
    opacity: 0.85;
    margin-top: 4px;
    color: #002140;
    font-weight: bold;
  }

  /* duplicate content to create a smooth infinite loop */
  /* The animation simply translates the inner block upwards by the height of one copy */
  @keyframes marqueeScroll {
  	0% {
  		transform: translateY(0);
  	}

  	100% {
  		transform: translateY(calc(-1 * var(--marquee-content-height, 100%)));
  	}
  }

  /* small responsive tweak */
  @media (max-width:420px) {
  	:root {
  		--marquee-height: 220px;
  	}

  	.marquee {
  		width: 100%;
  	}
  }