/* Insights listing — Figma 830:1430 */
.insights-hero { position: relative; isolation: isolate; height: clamp(440px, 44.5vw, 672px); display: flex; align-items: flex-start; overflow: hidden; background: var(--c-blue); }
.insights-hero__bg { position: absolute; inset: -10px 0 0; z-index: -1; }
.insights-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transform: scaleX(-1); }
.insights-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 55%); }
.insights-hero .container { padding-top: clamp(150px, 16.8vw, 254px); }
.insights-hero__title { font-family: var(--ff-display); font-weight: var(--fw-medium); font-style: italic; font-size: var(--fs-hero-fluid); line-height: var(--lh-hero); color: var(--c-white); }

.insights-intro { padding-top: 112px; }
.insights-intro__eyebrow { font-family: var(--ff-display); font-weight: 300; font-size: 20px; line-height: 1.2; color: var(--c-black); margin-left: 3px; }
.insights-intro__title { margin: 0 0 0 3px; max-width: 1034px; font-weight: var(--fw-medium); font-size: clamp(30px, 1.6rem + 1.6vw, 48px); line-height: 1.2; color: var(--c-black); }
.insights-intro__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 390px)); column-gap: 38px; margin: 25px 0 0 3px; color: var(--c-grey); }

.insights-list { padding-top: 112px; padding-bottom: 140px; }
.insights-grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.post-card {
  position: relative; display: flex; flex-direction: column; min-height: 526px; padding: 40px; border-radius: 20px; background: var(--c-light-grey);
  transition: box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.post-card[hidden] { display: none; }
.post-card__media { aspect-ratio: 546 / 280; border-radius: 20px; overflow: hidden; background: #e9ecef; }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease); }
.post-card__title { margin: 24px 5px 0; font-family: var(--ff-display); font-weight: var(--fw-semibold); font-size: 24px; line-height: 1.2; color: var(--c-black); max-width: 539px; }
.post-card__title:focus { outline: none; }
.post-card__link::after { content: ""; position: absolute; inset: 0; border-radius: 20px; z-index: 1; }
.post-card__link:focus-visible { outline: none; }
.post-card__link:focus-visible::after { outline: 2px solid var(--c-lila); outline-offset: 3px; }
.post-card__date { margin: 8px 5px 0; font-size: 16px; line-height: 28px; color: var(--c-black); }
.post-card__arrow { width: 48px; height: 48px; margin-top: auto; align-self: flex-end; }
.post-card__arrow svg { width: 23px; height: 23px; }
.post-card:has(.post-card__link):hover { box-shadow: var(--sh-card); }
.post-card:has(.post-card__link):hover .post-card__media img { transform: scale(1.04); }
.post-card:has(.post-card__link):hover .post-card__arrow { transform: translateX(4px); background: #6d47b3; }
.post-card--soon .post-card__arrow { opacity: .45; }

/* Progressive reveal ("Load more") */
.post-card.is-entering { animation: post-in 700ms var(--ease) both; animation-delay: calc(var(--i, 0) * 90ms); }
@keyframes post-in { from { opacity: 0; transform: translate3d(0, 32px, 0) scale(.98); } to { opacity: 1; transform: none; } }

.insights-more { display: flex; justify-content: center; margin-top: 118px; }
.insights-more__btn {
  display: inline-flex; gap: 6px; align-items: center; padding: 8px 16px; border-radius: var(--r-pill);
  font-family: var(--ff-display); font-weight: 300; font-size: 20px; letter-spacing: .4px; color: var(--c-black);
  transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
}
.insights-more__btn[hidden] { display: none; }
.insights-more__btn:hover { background: var(--c-light-grey); color: var(--c-blue); }
.insights-more__btn [aria-hidden] { display: inline-block; transition: transform var(--dur) var(--ease); }
.insights-more__btn:hover [aria-hidden] { transform: rotate(90deg); }
.insights-more__btn.is-loading [aria-hidden] { animation: spin 600ms linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1199px) {
  .post-card { min-height: 0; padding: 28px; }
  .insights-intro__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }
}
@media (max-width: 899px) {
  .insights-intro { padding-top: 72px; }
  .insights-intro__cols { grid-template-columns: 1fr; row-gap: 20px; }
  .insights-intro__eyebrow, .insights-intro__title, .insights-intro__cols { margin-left: 0; }
  .insights-list { padding-top: 64px; padding-bottom: 96px; }
  .insights-grid { grid-template-columns: 1fr; gap: 20px; }
  .post-card__arrow { margin-top: 20px; }
  .insights-more { margin-top: 56px; }
}
@media (max-width: 639px) {
  .post-card { padding: 16px 16px 20px; border-radius: 16px; }
  .post-card__media { border-radius: 12px; }
  .post-card__title { font-size: 20px; margin-top: 18px; }
  .post-card__link::after { border-radius: 16px; }
}
