/* Insights index + archive: post-card grid.
   No approved source existed for the index, so this is newly designed but uses
   the established tokens (DM Sans/Serif, brand palette, borders) for consistency. */

.ct-archive-hero { position: relative; text-align: center; padding: 64px 24px 40px; overflow: hidden; }
.ct-archive-hero .hero-diamonds { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; opacity: 0.5; margin-bottom: 22px; }
.ct-archive-hero .diamond { width: 10px; height: 10px; transform: rotate(45deg); border-radius: 2px; }
.ct-archive-hero .section-label { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: 1.5px; color: #B37A00; margin-bottom: 10px; display: block; }
.ct-archive-title { font-family: 'DM Serif Display', serif; font-weight: 400; font-size: 40px; line-height: 1.15; color: var(--dark); margin: 0 0 12px; }
.ct-archive-sub { max-width: 620px; margin: 0 auto; color: var(--mid); font-size: 15px; line-height: 1.7; }

.ct-card-grid {
  max-width: 1120px; margin: 0 auto; padding: 20px 24px 64px;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px;
}
.ct-card { background: var(--white); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.ct-card:hover { box-shadow: 0 8px 28px rgba(0,0,0,0.08); transform: translateY(-2px); }
.ct-card-link { text-decoration: none; color: inherit; display: block; height: 100%; }
.ct-card-media { aspect-ratio: 16 / 9; background: var(--light); overflow: hidden; }
.ct-card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-card-media-fallback { display: block; width: 100%; height: 100%;
  background: linear-gradient(135deg, #29ABE2 0%, #39B54A 100%); opacity: .18; }
.ct-card-body { padding: 22px 22px 24px; }
.ct-card-cat { font-size: 10px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; color: #0077AA; background: #E3F6FF; padding: 3px 9px; border-radius: 20px; }
.ct-card-title { font-family: 'DM Serif Display', serif; font-weight: 400; font-size: 20px; line-height: 1.25; color: var(--dark); margin: 14px 0 10px; }
.ct-card-excerpt { font-size: 13.5px; color: var(--mid); line-height: 1.65; margin: 0 0 16px; }
.ct-card-meta { font-size: 12px; color: #999; display: flex; align-items: center; gap: 8px; }
.ct-card-dot { width: 3px; height: 3px; border-radius: 50%; background: #ccc; display: inline-block; }

.ct-pagination { max-width: 1120px; margin: 0 auto; padding: 0 24px 72px; text-align: center; }
.ct-pagination .page-numbers { display: inline-block; padding: 8px 14px; margin: 0 3px; border: 1px solid var(--border); border-radius: 8px; text-decoration: none; color: var(--dark); font-size: 14px; }
.ct-pagination .page-numbers.current { background: var(--gold); border-color: var(--gold); }
.ct-archive-empty { text-align: center; color: var(--mid); padding: 48px 24px 80px; }

@media (max-width: 900px) { .ct-card-grid { grid-template-columns: 1fr; } .ct-archive-title { font-size: 32px; } }
