/* Custom styles beyond Tailwind utilities */

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Inter font fallback */
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Fade-in animation for page load */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeInUp 0.6s ease-out forwards;
}

.fade-in-delay-1 { animation-delay: 0.1s; opacity: 0; animation-fill-mode: forwards; animation-name: fadeInUp; animation-duration: 0.6s; animation-timing-function: ease-out; }
.fade-in-delay-2 { animation-delay: 0.2s; opacity: 0; animation-fill-mode: forwards; animation-name: fadeInUp; animation-duration: 0.6s; animation-timing-function: ease-out; }
.fade-in-delay-3 { animation-delay: 0.3s; opacity: 0; animation-fill-mode: forwards; animation-name: fadeInUp; animation-duration: 0.6s; animation-timing-function: ease-out; }
.fade-in-delay-4 { animation-delay: 0.4s; opacity: 0; animation-fill-mode: forwards; animation-name: fadeInUp; animation-duration: 0.6s; animation-timing-function: ease-out; }

/* Project card hover */
.project-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.project-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

/* Post card hover */
.post-card {
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

.post-card:hover {
  border-color: #BFDBFE;
  background-color: #F8FBFF;
}

/* Tag colors */
.tag-ai         { background: #EFF6FF; color: #2563EB; }
.tag-operations { background: #F0FDF4; color: #16A34A; }
.tag-automation { background: #F5F3FF; color: #7C3AED; }
.tag-workflow   { background: #FFF7ED; color: #D97706; }
.tag-analytics  { background: #F0FDFA; color: #0D9488; }
.tag-data       { background: #FFF1F2; color: #E11D48; }
.tag-product    { background: #F0F9FF; color: #0369A1; }
.tag-industry   { background: #FAFAF9; color: #57534E; }

/* Pulse dot for "currently" */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.pulse-dot {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Header backdrop blur fallback */
@supports not (backdrop-filter: blur(8px)) {
  .header-bg {
    background-color: rgba(255, 255, 255, 0.98);
  }
}

/* Underline link animation */
.link-underline {
  position: relative;
  text-decoration: none;
}

.link-underline::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1.5px;
  background-color: #3B82F6;
  transition: width 0.2s ease;
}

.link-underline:hover::after {
  width: 100%;
}

/* Prose styles for post content */
.prose-content h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.prose-content h3 {
  font-size: 1.2rem;
  font-weight: 600;
  color: #374151;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.prose-content p {
  color: #374151;
  line-height: 1.8;
  margin-bottom: 1.25rem;
  font-size: 1.0625rem;
}

.prose-content ul, .prose-content ol {
  margin: 1rem 0 1.25rem 1.5rem;
}

.prose-content li {
  color: #374151;
  line-height: 1.75;
  margin-bottom: 0.5rem;
  list-style-type: disc;
}

.prose-content blockquote {
  border-left: 3px solid #3B82F6;
  padding-left: 1.25rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: #6B7280;
}

.prose-content strong {
  color: #111827;
  font-weight: 600;
}

/* Mobile menu transition */
#mobileMenu {
  transition: opacity 0.15s ease;
}
