:root {
  --blue-deep: #0A4D8C;
  --blue: #1976D2;
  --blue-light: #E8F2FB;
  --mint: #14B8A6;
  --mint-light: #CCFBF1;
  --ink: #0F172A;
  --grey: #64748B;
  --soft: #F8FAFC;
}

* { font-family: 'Inter', system-ui, sans-serif; }
html { scroll-behavior: smooth; }
body { background: #fff; color: var(--ink); margin: 0; }

.grad-hero { background: linear-gradient(135deg, #E8F2FB 0%, #F0FDFA 100%); }
.grad-blue { background: linear-gradient(135deg, #1976D2 0%, #14B8A6 100%); }

@keyframes pulse-soft { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }
.pulse-dot { animation: pulse-soft 2s infinite; }

.card-hover { transition: all 0.3s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -10px rgba(25, 118, 210, 0.15); }

.nav-blur { backdrop-filter: blur(12px); background: rgba(255, 255, 255, 0.85); }

.check::before { content: "✓ "; color: var(--mint); font-weight: 700; }

.text-brand { color: var(--blue); }
.text-mint { color: var(--mint); }
.bg-brand-mint { background: var(--mint); }
.bg-mint-light { background: var(--mint-light); }

/* Article prose styling */
.prose-article h2 {
  font-size: 1.75rem;
  font-weight: 800;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: var(--ink);
}
.prose-article h3 {
  font-size: 1.35rem;
  font-weight: 700;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  color: var(--ink);
}
.prose-article p {
  margin-bottom: 1.25rem;
  line-height: 1.75;
  color: #334155;
}
.prose-article ul, .prose-article ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}
.prose-article ul { list-style: disc; }
.prose-article ol { list-style: decimal; }
.prose-article li {
  margin-bottom: 0.5rem;
  line-height: 1.7;
  color: #334155;
}
.prose-article a {
  color: var(--blue);
  text-decoration: underline;
  font-weight: 500;
}
.prose-article strong {
  font-weight: 700;
  color: var(--ink);
}
.prose-article blockquote {
  border-left: 4px solid var(--mint);
  padding: 0.5rem 0 0.5rem 1.5rem;
  margin: 1.5rem 0;
  background: #F0FDFA;
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: #475569;
}
.prose-article table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  font-size: 0.95rem;
}
.prose-article thead { background: var(--blue); color: white; }
.prose-article thead th { padding: 0.5rem 0.75rem; text-align: left; }
.prose-article tbody td { padding: 0.5rem 0.75rem; border-bottom: 1px solid #E2E8F0; }
.prose-article tbody tr:nth-child(even) { background: #F8FAFC; }
