.news__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  justify-content:center;
  gap:20px;
}
.news__heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; margin-bottom:40px; }
.news .news__heading h2 { margin:0; }
.news-list, .article-page { padding:190px var(--page-gutter) 100px; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px 50px; align-items:start; }
.article-heading { grid-column:2; grid-row:1; }
.article-heading time { display:block; margin-bottom:16px; }
.article-heading h1 { font:400 clamp(22px,1.7vw,28px)/1.2 var(--font-body); }
.article-visual { grid-column:1; grid-row:1 / 3; }
.article-visual img { display:block; width:100%; height:auto; }
.article-lead { margin-top:64px; max-width:30ch; font-size:24px; line-height:1.2; }
.article-body { grid-column:2; grid-row:2; min-width:0; font-size:18px; line-height:1.45; }
.article-body p + p { margin-top:24px; }
.article-back { display:inline-block; margin-top:48px; }
@media(max-width:1000px) {
  .news__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .article-layout { gap:32px; }
  .article-lead { margin-top:32px; font-size:21px; }
}
@media(max-width:700px) {
  .article-layout { display:flex; flex-direction:column; gap:28px; }
  .article-lead { max-width:none; }
  .article-body { font-size:17px; }
}
@media(max-width:600px) {
  .news__grid { grid-template-columns:minmax(0,1fr); }
  .news-list, .article-page { padding:140px var(--page-gutter) 64px; }
  .news-card__content { min-height:0; }
}
.news-card {
  overflow:hidden;
  min-width:0;
  width:100%;

  justify-self:center;
  background:var(--color-background);
  border:1px solid #ffffff99;
  display:flex;
  flex-direction:column;
  overflow-wrap:anywhere;
}

.news-card__image {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:439 / 247;
  object-fit:cover;
}
.news-card__content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:28px;
  padding:22px;
  flex:1;
  min-height:238px;
}
.news-card__label {
  font-size:14px;
  line-height:1.4;
}
.news-card h3 {
  font:400 18px/24px var(--font-body);
}
.news-card time {
  font-size:14px;
  line-height:18px;
  margin-top:auto;
}
@media(max-width:600px) { .news-card__content { min-height:0; } }

@media(min-width:701px) {
  .article-visual { position:sticky; top:110px; align-self:start; }
  .article-visual img { max-height:calc(100dvh - 134px); object-fit:contain; object-position:top; }
}
.article-body .article-lead { margin-top:0; margin-bottom:32px; max-width:none; }
.news-card { position:relative; }
.news-card h3 a { text-decoration:underline; text-underline-offset:3px; }
.news-card h3 a::after { content:""; position:absolute; inset:0; }
.news-card__image {
  filter: grayscale(0);
  transform: scale(1);
  transition: filter .35s ease, transform .35s ease;
  clip-path: inset(0);
  will-change: filter, transform;
}
@media(hover:hover) {
  .news-card:hover .news-card__image,
  .news-card:focus-within .news-card__image {
    filter: grayscale(0);
    transform: scale(1.03);
  }
  .news__grid:has(.news-card:hover) .news-card:not(:hover) .news-card__image,
  .news__grid:has(.news-card:focus-within) .news-card:not(:focus-within) .news-card__image {
    filter: grayscale(1);
    transform: scale(1);
  }
}
.news-card a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.article-heading h1 { text-decoration:underline; text-underline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .news-card, .news-card__image { transition:none; transform:none; } }


/* Revisión responsive 21/10/2026. */
@media(min-width:1440px) { .news__grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(min-width:601px) and (max-width:1439px) { .news .news-card:nth-child(n+4) { display:none; } }
@media(max-width:600px) {
 .news__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .news .news-card:nth-child(n+3) { display:none; }
 .news-card__content { padding:14px 10px; gap:20px; }
 .news-card h3 { font-size:14px; line-height:19px; }
 .news-card__label,.news-card time { font-size:11px; line-height:15px; }
}

@media(prefers-reduced-motion:reduce) { .news-card:hover .news-card__image { transform:none; } }
@media(max-height:700px) { .article-visual { position:static; } }
