.spaceContent {
  position: relative;
  z-index: 10;
  padding: 4rem 1rem;
  max-width: 800px;
  margin: 0 auto;
  min-height: 200px;
}

/* New animation logic for the Upcoming Events section */
#spaceEventsInner .spaceSectionTitle,
#spaceEventsInner .spaceCard {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

#spaceEventsInner.isInView .spaceSectionTitle,
#spaceEventsInner.isInView .spaceCard {
  opacity: 1;
  transform: translateX(0);
}

/* Stagger the animation slightly */
#spaceEventsInner.isInView .spaceCard {
  transition-delay: 0.1s;
}


/* --- Original styles below --- */

.spaceSectionTitle {
  font-size: 2rem;
  color: #fff;
  text-align: center;
  margin-bottom: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.spaceCard {
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    radial-gradient(160px 120px at 20% 20%, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.0) 60%),
    radial-gradient(220px 160px at 80% 80%, rgba(60, 255, 220, 0.10), rgba(60, 255, 220, 0.0) 65%),
    radial-gradient(220px 160px at 25% 90%, rgba(160, 90, 255, 0.10), rgba(160, 90, 255, 0.0) 65%),
    rgba(0, 0, 0, 0.24);
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.36),
    0 0 20px rgba(60, 255, 220, 0.08),
    0 0 20px rgba(160, 90, 255, 0.06);
  padding: 18px 18px 16px;
  margin-bottom: 2rem;
  overflow: hidden;
  backdrop-filter: blur(10px);
  color: rgba(255, 255, 255, 0.72);
}

/* This is for the second, multi-card section. Keep it. */
.spaceCard.reveal {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition-delay: var(--revealDelay, 0ms);
}

.spaceCard.isInView {
  opacity: 1;
  transform: translateX(0);
}

.spaceCard.isInView {
  opacity: 1;
  transform: translateX(0);
}

.spaceCardTitle {
  font-size: 16px;
  color: #fff;
  margin: 0 0 10px;
  font-weight: 700;
  letter-spacing: 0.2px;
}

.spaceCardText {
  line-height: 1.6;
  margin: 0;
  font-size: 14px;
}

.spaceCardText + .spaceCardText {
  margin-top: 10px;
}

/* Markdown content styling */
.spaceMd { color: rgba(255,255,255,0.72); line-height: 1.6; font-size: 14px; }

.spaceMd p { margin: 0; }
.spaceMd p + p { margin-top: 10px; }

.spaceMd ul, .spaceMd ol { margin: 10px 0 0 20px; padding: 0; }
.spaceMd li + li { margin-top: 6px; }

.spaceMd h3 { margin: 12px 0 8px; font-size: 14px; color: rgba(255,255,255,0.92); }
.spaceMd strong { color: rgba(255,255,255,0.92); }

.spaceMd a { color: rgba(60,255,220,0.92); text-decoration: none; }
.spaceMd a:hover { text-decoration: underline; }

.spaceMd blockquote {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-left: 2px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.18);
  border-radius: 12px;
}

/* NENB CTA Section */
.nenb-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 1rem;
  max-width: 800px;
  margin: 0 auto;
  min-height: 200px;
}

.nenb-cta-box {
  background: rgba(20, 24, 35, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 2rem;
  backdrop-filter: blur(10px);
  color: #ccc;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 90%;
  max-width: 400px;
  box-sizing: border-box;
}

.nenb-cta-logo {
  width: 400px;
  height: 350px;
  margin-bottom: 1rem;
}

.nenb-cta-box p {
  margin: 0;
  font-size: 1.2rem;
}

#nenbCtaSection .nenb-cta-box {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}

#nenbCtaSection.isInView .nenb-cta-box {
  opacity: 1;
  transform: translateX(0);
}
