.main-content {
  margin-left: auto;
  margin-right: auto;
}

html {
  scroll-padding-top: 64px;
}

/* --- Card Grid Layout --- */
.card-column-wrapper {
  display: grid;
  gap: 1rem;
  /* Default to 4 columns on extra-large screens */
  grid-template-columns: repeat(4, 1fr);
}

/* Use 3 columns on large screens */
@media (max-width: 1200px) {
  .card-column-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Use 2 columns on medium screens */
@media (max-width: 992px) {
  .card-column-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Use 1 column on small screens */
@media (max-width: 576px) {
  .card-column-wrapper {
    grid-template-columns: 1fr;
  }
}


/* Subtle Animation */
@keyframes subtle-bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.animate-subtle-bob {
    animation: subtle-bob 6s ease-in-out infinite;
}

/* ----- Legal pages (Privacy Policy, Terms of Service) ----- */
.legal-prose { counter-reset: legal-section; }
.legal-prose > h2 { counter-increment: legal-section; }
.legal-prose > h2::before {
    content: counter(legal-section, decimal-leading-zero);
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.6rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #7c6bee 0%, #5cc9fa 100%);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    box-shadow: 0 1px 2px rgba(124, 107, 238, 0.25);
}
.legal-prose ul li::before {
    content: "";
    position: absolute;
    left: 0.4rem;
    top: 0.72em;
    width: 0.4rem;
    height: 0.4rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, #7c6bee 0%, #5cc9fa 100%);
}
