@layer components {
  .events-grid-main {
    align-items: stretch;
  }

  .events-bullets {
    display: grid;
    gap: var(--space-2);
    font-size: 0.95rem;
    color: var(--color-text-muted);
  }

  .events-card-footer {
    margin-top: var(--space-3);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
    justify-content: space-between;
  }

  .events-learning-private-grid {
    align-items: stretch;
  }

  .events-private-layout {
    display: grid;
    gap: var(--space-5);
  }

  .events-private-copy {
    display: grid;
    gap: var(--space-3);
  }

  .events-private-figure {
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--color-border-subtle);
  }

  .events-private-figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  @media (min-width: 900px) {
    .events-private-layout {
      grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
      align-items: center;
    }
  }

  .events-corporate-grid {
    align-items: flex-start;
    row-gap: var(--space-10);
  }

  .events-fb-grid {
    gap: var(--space-4);
  }

  @media (min-width: 768px) {
    .events-fb-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .events-subtitle {
    font-size: var(--font-size-lg);
    font-family: var(--font-serif);
    color: var(--color-heading);
    margin-bottom: var(--space-2);
  }

  .events-how-grid {
    align-items: stretch;
  }

  .events-testimonials-grid {
    align-items: stretch;
  }

  .events-final-cta {
    margin-top: var(--space-10);
    padding: var(--space-6);
    border-radius: var(--radius-xl);
    border: 1px solid var(--color-border-strong);
    background: linear-gradient(135deg, #fffaf0 0, #f6eee0 50%, #fffaf0 100%);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-4);
    align-items: center;
    justify-content: space-between;
  }

  .events-final-copy {
    max-width: 520px;
  }

  .events-final-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
  }

  @media (max-width: 640px) {
    .events-final-cta {
      padding: var(--space-5);
    }
  }
}
