 .tc-hero {
  background: radial-gradient(circle at 0% 0%, rgba(255, 184, 0, 0.2), transparent 55%), radial-gradient(circle at 100% 100%, rgba(0, 194, 255, 0.16), transparent 55%), linear-gradient(135deg, #ffffff, #f9fafb);
}

.tc-hero__header {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}

.tc-hero__kicker {
  display: inline-flex;
  padding: 0.2rem 0.8rem;
  border-radius: 999px;
  font-size: var(--font-size-xs);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  background-color: var(--color-primary-soft);
  color: var(--color-primary-strong);
  margin-bottom: var(--space-3);
}

.tc-hero__subtitle {
  margin-top: var(--space-4);
  color: var(--color-text-soft);
}

.tc-hero__meta {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  color: var(--gray-500);
}

.tc-toc {
  margin-top: var(--space-8);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  background-color: var(--color-surface);
  box-shadow: var(--shadow-sm);
}

.tc-toc__title {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-3);
}

.tc-toc__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.4rem 1.25rem;
  font-size: var(--font-size-sm);
}

.tc-toc__list a {
  color: var(--gray-700);
}

.tc-content {
  background-color: var(--color-bg-soft);
}

.tc-article {
  max-width: 860px;
  margin: 0 auto;
}

.tc-block + .tc-block {
  margin-top: var(--space-8);
}

.tc-block h2 {
  margin-bottom: var(--space-3);
}

.tc-block p:last-child {
  margin-bottom: 0;
}

.tc-block ul {
  padding-left: 1.1rem;
  margin-bottom: var(--space-4);
}

.tc-block ul li {
  list-style: disc;
  margin-bottom: 0.3rem;
  color: var(--color-text-soft);
}

.tc-cta {
  margin-top: var(--space-10);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  background: linear-gradient(135deg, rgba(255, 75, 139, 0.98), rgba(124, 92, 255, 0.95));
  color: #ffffff;
  box-shadow: var(--shadow-lg);
}

.tc-cta__content p {
  color: rgba(249, 250, 251, 0.9);
  margin-bottom: 0;
}

.tc-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.tc-cta a::after {
  display: none;
}

@media (max-width: 767.98px) {
  .tc-toc {
    padding: var(--space-4);
  }

  .tc-cta {
    align-items: flex-start;
  }
}
