/* RPA · Insights index. The research journal: ruled rows, mono dates, serif titles.
   Every entry is one link; its hover/focus state stands on its own without any script. */

.rpa-insights-index {
  --_text: var(--rpa-c-text, var(--rpa-ink));
  --_muted: var(--rpa-c-muted, var(--rpa-slate));
  --_rule: var(--rpa-c-rule, var(--rpa-rule));
  --_rule-strong: var(--rpa-c-rule-strong, var(--rpa-rule-strong));
  --_link: var(--rpa-c-link, var(--rpa-indigo));
  --_accent: var(--rpa-c-accent, var(--rpa-petrol));
  position: relative;
  color: var(--_text);
  scroll-margin-top: calc(var(--rpa-header-h) + 2rem);
}
.rpa-insights-index ol { list-style: none; margin: 0; padding: 0; }
.rpa-insights-index__entry { color: inherit; text-decoration: none; }
.rpa-insights-index__entry:visited .rpa-insights-index__title { color: var(--_muted); }

.rpa-insights-index__date,
.rpa-insights-index__topic,
.rpa-insights-index__meta {
  font-family: var(--rpa-mono);
  font-size: var(--rpa-step--1);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: var(--_muted);
}
.rpa-insights-index__title {
  margin: 0;
  font-family: var(--rpa-serif);
  font-weight: 350;
  font-size: var(--rpa-step-2);
  line-height: 1.14;
  letter-spacing: -0.014em;
  color: var(--_text);
  text-wrap: balance;
}
/* The underline that draws in on hover/focus lives on the inner span so it follows wrapped lines. */
.rpa-insights-index__title > span {
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  transition: background-size var(--rpa-dur-2) var(--rpa-ease);
}
.rpa-insights-index__entry:hover .rpa-insights-index__title > span,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__title > span { background-size: 100% 1px; }

.rpa-insights-index__excerpt {
  display: block;
  margin-block-start: 0.6rem;
  max-width: 62ch;
  font-size: var(--rpa-step-0);
  line-height: 1.55;
  color: var(--_muted);
}

/* ---------------------------------------------------------------- rows */
.rpa-insights-index__rows { border-block-start: 1px solid var(--_rule-strong); }
.rpa-insights-index__item { border-block-end: 1px solid var(--_rule); }

.rpa-insights-index__entry--row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "date arrow" "main arrow" "topic arrow";
  gap: 0.5rem 1.25rem;
  align-items: start;
  padding-block: clamp(1.25rem, 1rem + 1vw, 2rem);
  transition: padding var(--rpa-dur-2) var(--rpa-ease), opacity var(--rpa-dur-1) var(--rpa-ease);
}
.rpa-insights-index__entry--row .rpa-insights-index__date { grid-area: date; }
.rpa-insights-index__entry--row .rpa-insights-index__main { grid-area: main; min-width: 0; }
.rpa-insights-index__entry--row .rpa-insights-index__topic { grid-area: topic; }
.rpa-insights-index__arrow {
  grid-area: arrow;
  align-self: center;
  display: inline-grid;
  place-items: center;
  inline-size: 2.75rem;
  block-size: 2.75rem;
  border: 1px solid var(--_rule-strong);
  border-radius: var(--rpa-radius);
  color: var(--_link);
  font-size: var(--rpa-step-0);
  transition: background-color var(--rpa-dur-1) var(--rpa-ease), color var(--rpa-dur-1) var(--rpa-ease), border-color var(--rpa-dur-1) var(--rpa-ease);
}
/* A heavier rule draws across the bottom of the active row. */
.rpa-insights-index__entry--row::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -1px;
  block-size: 1px;
  background: var(--_text);
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform var(--rpa-dur-2) var(--rpa-ease);
}
.rpa-insights-index__entry--row:hover::after,
.rpa-insights-index__entry--row:focus-visible::after { transform: scaleX(1); }
.rpa-insights-index__entry:hover .rpa-insights-index__arrow,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__arrow {
  background: var(--_text);
  border-color: var(--_text);
  color: var(--rpa-c-surface, var(--rpa-paper));
}
.rpa-insights-index__entry:hover .rpa-insights-index__date,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__date,
.rpa-insights-index__entry:hover .rpa-insights-index__topic,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__topic { color: var(--_text); }
.rpa-insights-index__entry--row:focus-visible { outline-offset: 0; }

@media (min-width: 900px) {
  .rpa-insights-index__entry--row {
    grid-template-columns: 8.5rem minmax(0, 1fr) minmax(9rem, 15rem) 2.75rem;
    grid-template-areas: "date main topic arrow";
    gap: clamp(1.5rem, 3vw, 3rem);
    align-items: baseline;
  }
  .rpa-insights-index__entry--row .rpa-insights-index__date { padding-block-start: 0.35em; }
  .rpa-insights-index__entry--row .rpa-insights-index__topic { text-align: end; }
}
@media (hover: hover) and (pointer: fine) {
  /* Pointing at one row quietens the others — hover only, never the resting state. */
  .rpa-insights-index__rows:hover .rpa-insights-index__entry--row:not(:hover):not(:focus-visible) { opacity: 0.5; }
  .rpa-insights-index__entry--row:hover,
  .rpa-insights-index__entry--row:focus-visible { padding-inline-start: 0.75rem; }
}

/* ---------------------------------------------------------------- plates (grid + lead) */
.rpa-insights-index__plate.rpa-insights-index__plate {
  display: block;
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border: 1px solid var(--_rule);
  border-radius: var(--rpa-radius);
  background: var(--rpa-bone);
}
.rpa-insights-index .rpa-insights-index__plate > img,
.rpa-insights-index__hover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: grayscale(1) contrast(1.05);
  transition: filter var(--rpa-dur-2) var(--rpa-ease), transform var(--rpa-dur-3) var(--rpa-ease);
}
.rpa-insights-index__entry:hover .rpa-insights-index__plate > img,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__plate > img { filter: none; transform: scale(1.025); }
.rpa-insights-index__plate--empty {
  display: grid;
  place-items: end start;
  padding: 1rem;
  background:
    linear-gradient(to top right, transparent calc(50% - 0.5px), var(--_rule) calc(50% - 0.5px), var(--_rule) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
    color-mix(in srgb, var(--_text) 3%, transparent);
  font-family: var(--rpa-mono);
  font-size: var(--rpa-step--1);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--_muted);
}
/* The cursor-following plate the motion lane may add for index rows. */
.rpa-insights-index__hover {
  position: absolute;
  overflow: hidden;
  border: 1px solid var(--_rule-strong);
  border-radius: var(--rpa-radius);
  background: var(--rpa-bone);
  pointer-events: none;
}

.rpa-insights-index__meta { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; }
.rpa-insights-index__meta .rpa-insights-index__topic::before { content: "·"; margin-inline-end: 1rem; }

.rpa-insights-index__more {
  display: inline-flex;
  gap: 0.6em;
  align-items: baseline;
  margin-block-start: auto;
  padding-block-start: 1.25rem;
  font-size: var(--rpa-step-0);
  font-weight: 500;
  color: var(--_link);
}
.rpa-insights-index__more > span:first-child {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.25em;
  text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
  transition: text-decoration-color var(--rpa-dur-1) var(--rpa-ease);
}
.rpa-insights-index__entry:hover .rpa-insights-index__more > span:first-child,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__more > span:first-child { text-decoration-color: currentColor; }
.rpa-insights-index__more-arrow { display: inline-block; transition: transform var(--rpa-dur-2) var(--rpa-ease); }
.rpa-insights-index__entry:hover .rpa-insights-index__more-arrow,
.rpa-insights-index__entry:focus-visible .rpa-insights-index__more-arrow { transform: translateX(4px); }

/* ---------------------------------------------------------------- grid */
.rpa-insights-index__grid {
  display: grid;
  gap: clamp(2.5rem, 2rem + 2vw, 4rem) clamp(1.5rem, 3vw, 3rem);
}
.rpa-insights-index__cell { display: flex; border-block-start: 1px solid var(--_rule-strong); padding-block-start: 1.25rem; }
.rpa-insights-index__entry--card { display: flex; flex-direction: column; width: 100%; }
.rpa-insights-index__entry--card .rpa-insights-index__plate { margin-block-end: 1.25rem; }
.rpa-insights-index__entry--card .rpa-insights-index__meta { margin-block-end: 0.75rem; }
.rpa-insights-index__title--card { font-size: var(--rpa-step-2); max-width: 22ch; }
@media (min-width: 640px) { .rpa-insights-index__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rpa-insights-index__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------------------------------------------------------------- feature */
.rpa-insights-index__lead { margin-block-end: clamp(2.5rem, 2rem + 2vw, 4.5rem); }
.rpa-insights-index__entry--lead { display: grid; gap: 1.75rem clamp(2rem, 5vw, 5rem); }
.rpa-insights-index__lead-body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.rpa-insights-index__lead-body .rpa-insights-index__meta { margin-block-end: 1.25rem; }
.rpa-insights-index__title--lead.rpa-insights-index__title--lead { font-size: var(--rpa-step-3); line-height: 1.06; max-width: 18ch; }
.rpa-insights-index__lead-body .rpa-insights-index__excerpt { margin-block-start: 1.25rem; max-width: 46ch; }
@media (min-width: 900px) {
  .rpa-insights-index__entry--lead { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: stretch; }
  .rpa-insights-index__lead-body { border-block-start: 1px solid var(--_rule-strong); padding-block-start: 1.25rem; }
}

/* ---------------------------------------------------------------- foot: pagination + view all */
.rpa-insights-index__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  margin-block-start: clamp(2rem, 1.5rem + 2vw, 3.5rem);
}
.rpa-insights-index__foot > .rpa-link-arrow:only-child { margin-inline-start: auto; }
.rpa-insights-index__pager ul { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.rpa-insights-index__pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  min-width: 2.75rem;
  min-height: 2.75rem;
  padding-inline: 0.85rem;
  border: 1px solid var(--_rule-strong);
  border-radius: var(--rpa-radius);
  font-family: var(--rpa-mono);
  font-size: var(--rpa-step--1);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  color: var(--_text);
  text-decoration: none;
  transition: background-color var(--rpa-dur-1) var(--rpa-ease), color var(--rpa-dur-1) var(--rpa-ease);
}
.rpa-insights-index__pager .page-numbers.dots { border-color: transparent; min-width: 1.5rem; padding-inline: 0; }
.rpa-insights-index__pager a.page-numbers:hover,
.rpa-insights-index__pager a.page-numbers:focus-visible,
.rpa-insights-index__pager .page-numbers.current {
  background: var(--_text);
  border-color: var(--_text);
  color: var(--rpa-c-surface, var(--rpa-paper));
}
.rpa-insights-index__empty { margin: 0; padding-block: 2rem; border-block: 1px solid var(--_rule); color: var(--_muted); }

@media (prefers-reduced-motion: reduce) {
  .rpa-insights-index__entry--row,
  .rpa-insights-index__entry--row::after,
  .rpa-insights-index .rpa-insights-index__plate > img,
  .rpa-insights-index__title > span { transition: none; }
  .rpa-insights-index__entry:hover .rpa-insights-index__plate > img { transform: none; }
}

/* "Hide on page 2 and later": the list has stepped aside (see is_paged_out()). If every widget in
   its Elementor section has, the section closes up too, so page 2 does not open on an empty band. */
.elementor-widget.rpa-is-paged-out { display: none; }
.e-con:has(.rpa-is-paged-out):not(:has(.elementor-widget:not(.rpa-is-paged-out))) { display: none; }
