/* =============================================
   Haven & Code — Insights Page v2
   ============================================= */

.testimonials { padding: 5rem 0; }

.testimonials__grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1.4rem; align-items: stretch;
}

.testimonial-card {
  background: white; border: 1px solid var(--border);
  border-radius: 20px; padding: 2rem;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .3s, transform .3s;
  display: flex; flex-direction: column;
}
.testimonial-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }

.testimonial-card__quote-mark {
  font-family: Georgia, serif;
  font-size: 3.5rem; line-height: .75;
  color: var(--primary); opacity: .3;
  margin-bottom: .65rem; display: block;
}

.testimonial-card__quote {
  font-size: 1rem;
  line-height: 1.72; color: var(--ink-soft);
  margin-bottom: 1.5rem; font-style: italic;
  flex: 1;
}

.testimonial-card__author {
  display: flex; align-items: center; gap: .9rem;
  border-top: 1px solid var(--border); padding-top: 1.35rem;
}
.testimonial-card__avatar {
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--primary); color: white;
  font-weight: 700; font-size: 1rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.testimonial-card__author strong { display: block; font-size: .875rem; color: var(--ink); margin-bottom: .15rem; }
.testimonial-card__link {
  font-size: .78rem; color: var(--primary); font-weight: 500;
  display: inline-flex; align-items: center; gap: .3rem; transition: color .18s;
}
.testimonial-card__link:hover { color: var(--primary-dark); }
.testimonial-card__link i { font-size: .62rem; }

.testimonial-card--case-study { background: var(--primary-pale); border-color: rgba(61,107,82,.15); }

.testimonial-card__case-label {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: .7rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--primary); background: var(--primary-pale);
  padding: .28rem .7rem; border-radius: 100px; margin-bottom: .9rem;
}
.testimonial-card__case-title {
  font-family: var(--font-display);
  font-size: 1.4rem; font-weight: 700;
  color: var(--ink); margin-bottom: .75rem;
}
.testimonial-card__case-desc { font-size: .875rem; color: var(--mid); line-height: 1.7; margin-bottom: 1.1rem; }

.testimonial-card__tags { display: flex; flex-wrap: wrap; gap: .45rem; }
.testimonial-card__tags span {
  font-size: .73rem; font-weight: 600; color: var(--ink-soft);
  background: rgba(255,255,255,.65); border: 1px solid rgba(0,0,0,.08);
  padding: .28rem .65rem; border-radius: 100px;
}

/* Stats */
.stats-section { padding: 5rem 0; }

.stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem;
}
.stat-card {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; padding: 2rem 1.4rem; text-align: center;
  transition: background .28s;
}
.stat-card:hover { background: rgba(255,255,255,.09); }

.stat-card__count {
  font-family: var(--font-display);
  font-size: 3.2rem; font-weight: 700;
  color: var(--amber); line-height: 1;
  display: block;
}
.stat-card__desc { font-size: .85rem; color: rgba(255,255,255,.68); line-height: 1.6; margin: .65rem 0 .85rem; }
.stat-card__source { font-size: .7rem; color: rgba(255,255,255,.3); line-height: 1.5; }

/* Articles */
.articles { padding: 5rem 0; background: var(--cream-dark); }

.articles__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.4rem;
}

/* Articles are <a> tags - style them as cards */
.article-card {
  display: block;
  background: white; border: 1px solid var(--border);
  border-radius: 20px; overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .28s, transform .28s;
  text-decoration: none;
}
.article-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); }

.article-card__img {
  height: 130px;
  display: flex; align-items: center; justify-content: center;
}
.article-card__img-icon { font-size: 2.2rem; opacity: .5; color: var(--ink); }

.article-card__content { padding: 1.4rem 1.75rem 1.75rem; }

.article-card__category { display: inline-block; margin-bottom: .55rem; }

.article-card__content h3 {
  font-family: var(--font-display);
  font-size: 1.1rem; font-weight: 700;
  color: var(--ink); line-height: 1.32;
  margin-bottom: .65rem;
}

.article-card__content p { font-size: .875rem; color: var(--mid); line-height: 1.7; margin-bottom: .85rem; }

.article-card__meta { display: flex; gap: .85rem; font-size: .76rem; color: var(--mid); }
.article-card__meta span { display: flex; align-items: center; gap: .32rem; }

/* Insights CTA */
.insights-cta { padding: 5rem 0; }
.insights-cta__inner {
  text-align: center; max-width: 580px; margin: 0 auto;
  padding: 3.5rem 3rem;
  background: white; border-radius: 24px;
  border: 1px solid var(--border); box-shadow: var(--shadow-md);
}

/* Responsive */
@media (max-width: 1024px) { .stats-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) {
  .testimonials__grid { grid-template-columns: 1fr; max-width: 480px; margin: 0 auto; }
  .articles__grid { grid-template-columns: 1fr; max-width: 540px; margin: 0 auto; }
}
@media (max-width: 600px) {
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-card__count { font-size: 2.4rem; }
  .insights-cta__inner { padding: 2.5rem 1.5rem; }
}
