:root {
  --brand: #2563eb;
  --ink: #0f172a;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.line-clamp-1,
.line-clamp-2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-1 { -webkit-line-clamp: 1; }
.line-clamp-2 { -webkit-line-clamp: 2; }

/* Hero scroll indicator */
.yh-mouse {
  position: relative;
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255, 255, 255, 0.65);
  border-radius: 14px;
}
.yh-mouse-dot {
  position: absolute;
  top: 8px;
  left: 50%;
  width: 4px;
  height: 4px;
  margin-left: -2px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.85);
  animation: yh-scroll-dot 1.6s ease-in-out infinite;
}
@keyframes yh-scroll-dot {
  0%, 100% { transform: translateY(0); opacity: 1; }
  50% { transform: translateY(9px); opacity: 0.35; }
}

a { text-decoration: none; }

.prose img { border-radius: 1rem; }

/* Keep Tailwind typography readable inside cards */
.prose { color: #334155; }
.prose h2 { font-size: 1.25rem; font-weight: 600; margin: 1.25rem 0 .75rem; color: #1e293b; }
.prose h3 { font-size: 1.05rem; font-weight: 600; margin: 1rem 0 .5rem; color: #1e293b; }
.prose p { margin: .5rem 0; line-height: 1.75; }
.prose ul { list-style: disc; padding-left: 1.25rem; margin: .5rem 0; }
.prose ol { list-style: decimal; padding-left: 1.25rem; margin: .5rem 0; }
