:root {
  --ct-ink: #0f172a;
  --ct-muted: #64748b;
  --ct-soft: #f8fafc;
  --ct-line: #e2e8f0;
  --ct-amber: #f59e0b;
  --ct-amber-dark: #b45309;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  min-height: 100dvh;
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.12), transparent 30rem),
    linear-gradient(180deg, #ffffff 0%, #f8fafc 42%, #eef2f7 100%);
  color: var(--ct-ink);
  -webkit-font-smoothing: antialiased;
}

.font-condensed {
  font-family: 'Barlow Condensed', sans-serif;
}

.nav-link {
  font-size: 0.86rem;
  font-weight: 800;
  color: var(--ct-muted);
  padding: 0.45rem 0;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.nav-link:hover,
.nav-link.active {
  color: var(--ct-ink);
  border-color: var(--ct-amber);
}

.glass-panel {
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 70px rgba(15, 23, 42, 0.07);
  backdrop-filter: blur(18px);
}

.blog-card {
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 52px rgba(15, 23, 42, 0.07);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.blog-card:hover {
  transform: translateY(-3px);
  border-color: rgba(245, 158, 11, 0.45);
  box-shadow: 0 22px 70px rgba(15, 23, 42, 0.11);
}

.feature-frame {
  aspect-ratio: 16 / 9;
  background: #f1f5f9;
}

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid #fde68a;
  background: #fffbeb;
  padding: 0.3rem 0.7rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ct-amber-dark);
}

.prose-ct {
  color: #475569;
}

.prose-ct h2 {
  margin-top: 2.35rem;
  margin-bottom: 0.9rem;
  color: var(--ct-ink);
  font-size: clamp(1.55rem, 3vw, 2.05rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.14;
}

.prose-ct h3 {
  margin-top: 1.7rem;
  margin-bottom: 0.6rem;
  color: var(--ct-ink);
  font-size: 1.08rem;
  font-weight: 900;
}

.prose-ct p,
.prose-ct li {
  font-size: 1rem;
  line-height: 1.9;
}

.prose-ct p + p {
  margin-top: 1rem;
}

.prose-ct ul,
.prose-ct ol {
  margin-top: 0.8rem;
  padding-left: 1.2rem;
}

.prose-ct ul {
  list-style: disc;
}

.prose-ct ol {
  list-style: decimal;
}

.prose-ct a {
  color: #b45309;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(245, 158, 11, 0.35);
  text-underline-offset: 3px;
}

.toc-link {
  display: block;
  border-left: 2px solid #e2e8f0;
  padding: 0.45rem 0 0.45rem 0.85rem;
  color: #64748b;
  font-size: 0.88rem;
  font-weight: 800;
}

.toc-link:hover {
  border-color: var(--ct-amber);
  color: var(--ct-ink);
}

.faq-item {
  border-top: 1px solid #e2e8f0;
  padding: 1rem 0;
}

.faq-item h3 {
  margin: 0 0 0.45rem;
}

mark {
  border-radius: 0.35rem;
  background: #fef3c7;
  color: inherit;
}
