@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

body {
  font-family: 'Inter', sans-serif;
  color: #14120b;
  background-color: #f7f7f4;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400 !important;
}

/* Force the button squircle shape across the entire site */
.btn {
  border-radius: 12px !important;
  font-weight: 500 !important;
}

.btn-sm {
  border-radius: 8px !important;
}

.btn-lg {
  border-radius: 16px !important;
}

/* Author Profile Page Overrides */
main > .bg-primary.text-primary-content {
  background-color: transparent !important;
  color: #14120b !important;
  padding-top: 8rem !important;
  padding-bottom: 4rem !important;
}

main > .bg-primary.text-primary-content h1 {
  color: #14120b !important;
  font-size: 3.5rem !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  font-weight: 400 !important;
  margin-bottom: 1rem !important;
}

main > .bg-primary.text-primary-content p {
  color: #4b5563 !important;
  opacity: 1 !important;
  font-size: 1.125rem !important;
  line-height: 1.75 !important;
  max-width: 48rem !important;
}

main > section.max-w-7xl {
  max-width: 64rem !important;
  padding-bottom: 8rem !important;
  margin-top: 0 !important;
}

main > section.max-w-7xl > h2 {
  color: #14120b !important;
  text-align: left !important;
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  margin-bottom: 2rem !important;
  letter-spacing: -0.02em !important;
}

main > section.max-w-7xl > .grid {
  gap: 1.5rem !important;
}

@media (min-width: 768px) {
  main > section.max-w-7xl > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

main > section.max-w-7xl > .grid > div > a {
  display: block !important;
  padding: 1.5rem !important;
  background-color: #f0f0ed !important;
  border-radius: 10px !important;
  transition: all 0.2s !important;
  height: 100% !important;
  text-decoration: none !important;
}

main > section.max-w-7xl > .grid > div > a:hover {
  background-color: #e8e8e5 !important;
}

main > section.max-w-7xl > .grid > div > a article {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

main > section.max-w-7xl > .grid > div > a article h3 {
  color: #14120b !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  margin-bottom: 0.5rem !important;
  transition: color 0.2s !important;
}

main > section.max-w-7xl > .grid > div > a:hover article h3 {
  color: #ea580c !important;
}

main > section.max-w-7xl > .grid > div > a article p {
  color: #4b5563 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Infinite Marquee Animations */
@keyframes marquee-left {
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 12px)); }
}

@keyframes marquee-right {
  0% { transform: translateX(calc(-50% - 12px)); }
  100% { transform: translateX(0); }
}

.animate-marquee-left {
  animation: marquee-left 40s linear infinite;
}

.animate-marquee-right {
  animation: marquee-right 40s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .animate-marquee-left,
  .animate-marquee-right {
    animation-duration: 120s;
  }
}