/* Resources pages: /press/, /webinars/, /resources/reports-guides/, and
   /resources/incode-in-the-news/ share this sheet.
   "Editorial index" identity: light, quiet, typographic: sibling of blog.css.
   Root: .p-resources (shared by the sibling routes, same precedent as the
   age-assurance-2 shared classes); variants .p-resources--press,
   .p-resources--webinars, .p-resources--reports-guides, and
   .p-resources--news. Tokens only; no new hexes. */

/* ---------- Section rhythm (mirrors blog.css extra top padding) ---------- */

/* tightened 2026-07-29 (Sofia: "unnecessarily wide white spaces") */
.p-resources .rs-section { padding-top: 32px; }
@media (min-width: 768px) {
  .p-resources .rs-section { padding-top: 40px; }
}

/* ---------- Hero: the shared EditorialHero component (.ed-hero) ---------- */

/* ---------- Shared meta row / pill / date / read-more ---------- */

.p-resources .rs-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
}

.p-resources .rs-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: var(--color-blue-100);
  padding: 4px 10px;
  color: var(--color-blue);
}

.p-resources .rs-date {
  font-family: var(--font-sans);
  font-size: var(--fs-xs);
  line-height: 16px;
  letter-spacing: 0;
  /* raw grey-400 measured 4.35:1 (a11y 2026-07-29) */
  color: var(--color-grey-on-white);
}

.p-resources .rs-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 24px;
  font-size: var(--fs-sm);
  line-height: 20px;
  font-weight: 500;
  color: var(--color-blue);
}
.p-resources .rs-more svg { transition: transform 0.2s; }
.p-resources .rs-featured:hover .rs-more svg,
.p-resources .rs-card:hover .rs-more svg {
  transform: translate(2px, -2px);
}

/* a hero-only opener hands the vertical rhythm to the section that
   follows (e.g. /es/case-studies/'s archive rows) */
.p-resources .rs-section--hero-only { padding-bottom: 0; }

/* ---------- Featured announcement (press) ---------- */

.p-resources .rs-featured {
  display: block;
  margin-top: 32px;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--color-border-light);
  background: var(--color-background);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.4s var(--ease-out-expo);
}
.p-resources .rs-featured:hover {
  border-color: color-mix(in srgb, var(--color-blue) 30%, transparent);
  box-shadow: 0 24px 56px -32px color-mix(in srgb, var(--color-blue) 35%, transparent);
  transform: translateY(-3px);
}

.p-resources .rs-featured__grid { display: grid; }
@media (min-width: 768px) {
  .p-resources .rs-featured__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.p-resources .rs-featured__media {
  position: relative;
  min-height: 220px;
  order: 1;
}
@media (min-width: 768px) {
  .p-resources .rs-featured__media { min-height: 340px; order: 0; }
}

/* featured entries with a CMS hero image fill the media frame (cover
   recipe, same as rs-card__image); imageless ones keep the token gradient
   set inline by the template */
.p-resources .rs-featured__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-resources .rs-featured__badge {
  position: absolute;
  left: 20px;
  top: 20px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-grey-50) 95%, transparent);
  padding: 4px 12px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-foreground);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.p-resources .rs-featured__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
}
@media (min-width: 768px) {
  .p-resources .rs-featured__body { padding: 40px; }
}

.p-resources .rs-featured__title {
  margin-top: 20px;
  font-size: 24px;
  line-height: 1.25;
  color: var(--color-foreground);
}
@media (min-width: 768px) {
  .p-resources .rs-featured__title { font-size: 30px; }
}

.p-resources .rs-featured__excerpt {
  margin-top: 16px;
  font-size: var(--fs-body);
  line-height: var(--leading-body);
  color: var(--color-grey-on-white);
}

/* ---------- Press item list ---------- */

.p-resources .rs-list { margin-top: 48px; }
@media (min-width: 768px) {
  .p-resources .rs-list { margin-top: 56px; }
}

.p-resources .rs-list__title {
  font-size: 24px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .p-resources .rs-list__title { font-size: 30px; line-height: 36px; }
}

.p-resources .rs-items {
  margin-top: 24px;
  border-top: 1px solid var(--color-border-light);
}

.p-resources .rs-item {
  transition: background-color 0.25s ease;
}
.p-resources .rs-item:hover { background: color-mix(in oklab, var(--color-grey-100) 35%, transparent); }
.p-resources .rs-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  padding-block: 24px;
  border-bottom: 1px solid var(--color-border-light);
}
@media (min-width: 768px) {
  .p-resources .rs-item {
    grid-template-columns: 128px minmax(0, 1fr) 176px 24px;
    gap: 24px;
    padding-block: 28px;
  }
}

.p-resources .rs-item__date { padding-top: 3px; }

.p-resources .rs-item__title {
  font-size: var(--fs-xl);
  line-height: 1.375;
  color: var(--color-foreground);
  transition: color 0.2s;
  /* collection titles are full CMS headlines — clamp to the 2-line slot
     (layout gate: card/row titles max 2) like press-resources.css does */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.p-resources .rs-item:hover .rs-item__title { color: var(--color-blue); }

.p-resources .rs-item__line {
  margin-top: 8px;
  font-size: var(--fs-sm);
  line-height: var(--leading-body);
  color: var(--color-grey-on-white);
  /* one thought per row: truncated CMS descriptions still cap at 2 lines */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.p-resources .rs-item__source {
  font-size: var(--fs-sm);
  line-height: 18px;
  /* raw grey-400 measured 4.35:1 (a11y 2026-07-29) */
  color: var(--color-grey-on-white);
  padding-top: 3px;
}
/* outlet marks render quiet and uniform (greyscale, capped height); the
   ITSW original is white-on-transparent so it inverts to ink first */
.p-resources .rs-item__logo {
  display: block;
  /* 22px shared cap; per-logo --logo-h rebalances short wordmarks
     (press.astro `hpx`) so every mark carries the same optical weight */
  height: var(--logo-h, 22px);
  width: auto;
  filter: grayscale(1);
  opacity: 0.75;
  /* originals with baked white grounds melt into the page (multiply keeps
     ink, drops white) */
  mix-blend-mode: multiply;
}
.p-resources .rs-item__logo--invert {
  filter: brightness(0);
  opacity: 0.7;
}
@media (min-width: 768px) {
  .p-resources .rs-item__source { text-align: right; }
}

.p-resources .rs-item__arrow {
  display: none;
  color: var(--color-grey-300);
  transition: color 0.2s, transform 0.2s;
}
@media (min-width: 768px) {
  .p-resources .rs-item__arrow { display: block; padding-top: 5px; }
}
.p-resources .rs-item:hover .rs-item__arrow {
  color: var(--color-blue);
  transform: translate(2px, -2px);
}

/* ---------- Media resources callout (press) ---------- */

.p-resources .rs-callout {
  margin-top: 64px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  background: var(--color-grey-100);
  padding: 28px;
}
@media (min-width: 768px) {
  .p-resources .rs-callout {
    margin-top: 80px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 40px;
  }
}

.p-resources .rs-callout__title {
  margin-top: 12px;
  font-size: var(--fs-2xl);
  line-height: 1.3;
  color: var(--color-foreground);
}
@media (min-width: 768px) {
  .p-resources .rs-callout__title { font-size: 24px; }
}

.p-resources .rs-callout__line {
  margin-top: 10px;
  max-width: 520px;
  font-size: var(--fs-sm);
  line-height: var(--leading-body);
  color: var(--color-grey-on-white);
}

.p-resources .rs-callout__actions { flex-shrink: 0; }

/* ---------- Webinar card grid ---------- */

.p-resources .rs-grid {
  margin-top: 48px;
  display: grid;
  gap: 28px;
}
@media (min-width: 768px) {
  .p-resources .rs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
}

.p-resources .rs-card {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--color-border-light);
  background: var(--color-background);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.4s var(--ease-out-expo);
}
.p-resources .rs-card:hover {
  border-color: color-mix(in srgb, var(--color-blue) 30%, transparent);
  box-shadow: 0 18px 40px -24px color-mix(in srgb, var(--color-blue) 30%, transparent);
  transform: translateY(-4px);
}

.p-resources .rs-card__thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  width: 100%;
}

.p-resources .rs-card__image,
.p-resources .rs-card__fallback {
  display: block;
  width: 100%;
  height: 100%;
}

.p-resources .rs-card__image {
  object-fit: cover;
}

.p-resources .rs-card__fallback {
  background:
    radial-gradient(circle at 75% 20%, var(--color-blue-200), transparent 42%),
    linear-gradient(135deg, var(--color-grey-600), var(--color-blue-500));
}

/* client logo centered on the thumb (case-studies cards) — the bank svg is
   ink-colored; the filter paints it white over the dark gradient */
.p-resources .rs-card__logo {
  position: absolute;
  inset: 0;
  margin: auto;
  height: 44px;
  width: auto;
  filter: brightness(0) invert(1);
}

/* OpenAI-style mini-flow: an aurora thumb (item.thumb) + a dotted grid +
   glass tiles holding canonical library icons, linked by arrows. Tokens
   only; icons painted white over the aurora (rs-card__logo filter recipe). */
.p-resources .rs-card__grid {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, color-mix(in srgb, var(--color-grey-50) 24%, transparent) 1.1px, transparent 1.2px);
  background-size: 29px 29px; /* one grid cell; tile/chip = 2 cells tall */
  background-position: center;
}
.p-resources .rs-card__diagram {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 18px;
}
.p-resources .rs-tile {
  display: flex;
  height: 58px;
  width: 58px;
  flex: none;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--color-grey-50) 40%, transparent);
  background: color-mix(in srgb, var(--color-grey-50) 12%, transparent);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.p-resources .rs-tile img {
  height: 28px;
  width: auto;
  filter: brightness(0) invert(1);
}
/* single-icon cards: one prominent glass tile centered */
.p-resources .rs-card__diagram--solo .rs-tile {
  height: 96px;
  width: 96px;
  border-radius: 22px;
}
.p-resources .rs-card__diagram--solo .rs-tile img {
  height: 46px;
}
.p-resources .rs-arrow {
  flex: none;
  color: color-mix(in srgb, var(--color-grey-50) 72%, transparent);
}

/* FEEDBACK layout: two "pieces" on the dotted grid — a frosted title chip on
   the left and the icon tile (normal rs-tile size) on the right. */
.p-resources .rs-cover {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 29px; /* one grid cell */
  padding: 22px;
}
.p-resources .rs-cover__title {
  margin: 0;
  width: 203px; /* same on every card — seven grid cells */
  height: 58px; /* match the icon tile — two grid cells */
  box-sizing: border-box;
  display: flex;
  align-items: center;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--color-grey-50) 22%, transparent);
  background: color-mix(in srgb, var(--color-grey-50) 10%, transparent);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  padding: 0 15px;
  color: var(--color-grey-50);
  font-size: var(--fs-sm);
  line-height: 1.2;
  font-weight: 500;
}
/* clamp the title to 1–2 lines inside the fixed-height chip */
.p-resources .rs-cover__titletext {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* abstract Magic Quadrant: a minimal 2x2 grid on the dark thumb gradient
   with a glowing dot in the Leaders cell (Incode). Pure inline SVG, tokens
   only — reads as "the quadrant" without shipping the literal chart. */
.p-resources .rs-card__quad {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.p-resources .rs-quad__frame,
.p-resources .rs-quad__cross {
  fill: none;
  stroke: color-mix(in srgb, var(--color-grey-50) 24%, transparent);
  stroke-width: 1;
}
.p-resources .rs-quad__halo-outer {
  fill: color-mix(in srgb, var(--color-blue-200) 14%, transparent);
}
.p-resources .rs-quad__halo-inner {
  fill: color-mix(in srgb, var(--color-blue-200) 32%, transparent);
}
.p-resources .rs-quad__dot {
  fill: var(--color-grey-50);
}

.p-resources .rs-card__tag {
  position: absolute;
  left: 16px;
  top: 16px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-grey-50) 95%, transparent);
  padding: 4px 12px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-foreground);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.p-resources .rs-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 24px;
}
@media (min-width: 768px) {
  .p-resources .rs-card__body { padding: 28px; }
}

.p-resources .rs-card__title {
  font-size: var(--fs-xl);
  line-height: 1.375;
  color: var(--color-foreground);
}
@media (min-width: 768px) {
  .p-resources .rs-card__title { font-size: var(--fs-2xl); }
}

.p-resources .rs-card__desc {
  margin-top: 10px;
  font-size: var(--fs-sm);
  line-height: var(--leading-body);
  color: var(--color-grey-on-white);
}

.p-resources .rs-card__speakers {
  margin-top: 18px;
  display: grid;
  gap: 6px;
}

.p-resources .rs-card__speaker {
  font-size: var(--fs-sm);
  line-height: var(--leading-snug);
  color: var(--color-grey-400);
}

.p-resources .rs-card__speaker-name {
  font-weight: 500;
  color: var(--color-foreground);
}

.p-resources .rs-more--card {
  margin-top: auto;
  padding-top: 20px;
}

/* ---------- Webinar visual-card rework (Natalia 2026-08-17 → 2026-08-18,
   Figma frames 2147228541 / 2147228533): the imageCard art is a photo
   with the title chip baked in; the incode wordmark and the "On demand"
   pill overlay it IN CODE, and the speakers render as a hover facepile
   in the body (chips → title → description → Speakers → Watch). ---------- */

/* white card surface (Natalia 2026-08-17: "lets make the cards white") —
   lifts off the grey-50 canvas; the grey-50 chips stay visible on it */
.p-resources--webinars .rs-card {
  background: var(--color-white);
}

.p-resources .rs-card__thumb--visual {
  aspect-ratio: 2220 / 1328;
  background: var(--color-grey-600);
}

/* super-subtle dot grid over the photo (Sofia 2026-08-18, mirrors the
   reports-guides card art) — dots sit above the image, and the chrome
   (wordmark · pill · title box) sits above the dots */
.p-resources .rs-card__thumb--visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--color-white) 18%, transparent) 1px, transparent 0) 12px 12px / 28px 28px;
  pointer-events: none;
}

.p-resources .rs-card__brand,
.p-resources .rs-card__ondemand,
.p-resources .rs-card__titlechip {
  z-index: 1;
}

/* title + description lock to 3 lines, overflow ellipsized (Natalia
   2026-08-18) — keeps the four card bodies the same height regardless
   of copy length */
.p-resources--webinars .rs-card__title,
.p-resources--webinars .rs-card__desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

/* no widow words on titles (paired with the nbsp glue in the template) */
.p-resources--webinars .rs-card__title {
  text-wrap: pretty;
}

/* ----- "option B" title chip (Natalia 2026-08-18): the white box on the
   visual is code — real text over background-only art. Geometry matches
   the Figma card frame (also mirrored by the webinar-share-*.jpg social
   variants, which keep the title baked for og unfurls). ----- */
/* equal air on sides + bottom (Sofia 2026-08-18) — px insets, not %,
   so the bottom gap matches the side gaps at every card width.
   Dark-glass treatment (Natalia + Sofia 2026-08-18, reports-guides
   family): translucent ink over the photo, backdrop blur, hairline
   light stroke, white title. */
.p-resources .rs-card__titlechip {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 8px;
  min-height: 42%;
  box-sizing: border-box;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--color-white) 28%, transparent);
  background: color-mix(in srgb, var(--color-black) 38%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 20px 24px;
}

/* mini "Webinar" tag above the title (Sofia 2026-08-18) — white-on-glass */
.p-resources .rs-card__titlechip-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-white) 16%, transparent);
  padding: 2px 10px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-white);
}

.p-resources .rs-card__titlechip-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-size: var(--fs-2xl);
  line-height: 1.35;
  font-weight: 500;
  color: var(--color-white);
  text-wrap: pretty;
}

/* wordmark rides the footer's whitening trick on /incode-logo.svg */
.p-resources .rs-card__brand {
  position: absolute;
  top: 24px;
  left: 24px;
  height: 26px;
  width: auto;
  filter: brightness(0) invert(1);
}

/* quieter pill (Sofia 2026-08-18: "más chico y un poco grisesito") —
   the rs-card__tag translucent-grey recipe, so the visual keeps focus */
.p-resources .rs-card__ondemand {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-grey-50) 88%, transparent);
  padding: 5px 12px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-foreground);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ----- speakers facepile: overlapping headshots; hovering one grows it
   and reveals a name/role tooltip (kept inside the card — the card is
   overflow:hidden, so tips anchor to the face's left edge) ----- */
.p-resources .rs-card__cast {
  margin-top: 16px;
}

.p-resources .rs-card__cast-label {
  margin-bottom: 10px;
  font-size: var(--fs-xs);
  line-height: 16px;
  color: var(--color-grey-on-white);
}

.p-resources .rs-face-pile {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-resources .rs-face {
  position: relative;
  width: 56px;
  height: 56px;
}

.p-resources .rs-face + .rs-face {
  margin-left: -14px;
}

.p-resources .rs-face__img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid var(--color-white);
  object-fit: cover;
  background: var(--color-grey-50);
  transition: transform 0.2s var(--ease-out-expo);
}

.p-resources .rs-face__img--initial {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-body);
  font-weight: 500;
  color: var(--color-foreground);
}

.p-resources .rs-face:hover {
  z-index: 3;
}

.p-resources .rs-face:hover .rs-face__img {
  transform: scale(1.18);
}

.p-resources .rs-face__tip {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 0;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: max-content;
  max-width: 230px;
  border-radius: 10px;
  background: var(--color-grey-600);
  padding: 8px 12px;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.2s ease, transform 0.2s var(--ease-out-expo);
  pointer-events: none;
}

.p-resources .rs-face:hover .rs-face__tip {
  opacity: 1;
  transform: translateY(0);
}

.p-resources .rs-face__tip-name {
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-white);
}

.p-resources .rs-face__tip-role {
  font-size: var(--fs-xs);
  line-height: 16px;
  color: var(--color-blue-200);
}

.p-resources .rs-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.p-resources .rs-card__chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid var(--color-border-light);
  background: var(--color-grey-50);
  padding: 4px 12px;
  font-size: var(--fs-xs);
  line-height: 16px;
  font-weight: 500;
  color: var(--color-foreground);
}

/* /webinars/ + /reports-guides/ cards a step smaller (Sofia 2026-08-14
   night: "make the webinar's cards smaller, the exact same size that the
   reports and guides cards are" — supersedes the evening 2-up revert on
   /webinars/): both indexes ride the same three-up desktop grid. */
@media (min-width: 1024px) {
  .p-resources--reports-guides .rs-grid,
  .p-resources--webinars .rs-grid,
  .p-resources--e-books .rs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}

/* ---------- /press/ featured newsroom hero (rs-hero) — SIMPLIFIED
   (Sofia 2026-08-18: "go back to something like this, don't show the
   other entries on the right"): ONE lead announcement as a split card,
   image left, meta + title + excerpt right, vertically centered. The
   2026-08-17 lead+rail layout lives in git (#1502/#1553). ---------- */

.p-resources--press .rs-hero { margin-top: 40px; }
.p-resources--press .rs-hero__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: center;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 900px) {
  .p-resources--press .rs-hero__lead {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 64px;
  }
}
.p-resources--press .rs-hero__media {
  position: relative;
  /* matches the 2000×1130 newsroom visuals so the lead image never crops */
  aspect-ratio: 2000 / 1130;
  overflow: hidden;
  border-radius: 16px;
}
.p-resources--press .rs-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-resources--press .rs-hero__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.p-resources--press .rs-hero__title {
  margin: 0;
  font-weight: 500;
  font-size: clamp(26px, 2.6vw, 38px);
  line-height: 1.18;
  letter-spacing: var(--track-tighter);
  color: var(--color-foreground);
  transition: color 0.25s ease;
}
.p-resources--press .rs-hero__lead:hover .rs-hero__title { color: var(--color-blue); }
.p-resources--press .rs-hero__excerpt {
  margin: 0;
  max-width: 56ch;
  font-size: var(--fs-body);
  line-height: 1.6;
  color: var(--color-grey-on-white);
}
