/* Homepage story module. Its geometry stays fixed across changing editorial editions. */
#story-grid.home-feed {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: clamp(18px, 2.2vw, 32px);
  align-items: stretch;
}
#story-grid.home-feed .home-story-card {
  position: relative;
  grid-column: auto;
  min-width: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ink);
}
#story-grid.home-feed .home-story-card:first-child {
  grid-column: 1;
  grid-row: span 2;
}
#story-grid.home-feed .home-story-card:nth-child(2),
#story-grid.home-feed .home-story-card:nth-child(3) { grid-column: 2; }
.home-story-media {
  position: relative;
  display: grid;
  height: clamp(190px, 18vw, 300px);
  place-items: center;
  overflow: hidden;
  background: #e8e8e5;
}
.home-story-card:first-child .home-story-media { height: clamp(440px, 43vw, 680px); }
.home-story-media .article-picture { display: block; width: 100%; height: 100%; }
.home-story-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--home-image-fit, contain);
  object-position: var(--home-image-focus, center);
  transition: transform .4s ease;
}
.home-story-card:hover .home-story-media img { transform: scale(1.015); }
.home-story-content { padding-top: 18px; }
.home-story-section { margin: 0 0 6px; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.home-story-content h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.4vw, 2.3rem);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.home-story-card:first-child h3 { font-size: clamp(2.2rem, 3.7vw, 3.7rem); }
.home-story-deck { margin: 10px 0 0; max-width: 55ch; color: var(--muted); font-size: 1rem; line-height: 1.6; }
.home-story-card:not(:first-child) .home-story-deck { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.home-story-content .story-byline { margin: 12px 0 0; padding: 0; border: 0; }
.home-story-link { position: absolute; inset: 0; z-index: 1; }
.home-story-link:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.home-story-content .credit-author-link { position: relative; z-index: 2; }
@media (max-width: 900px) {
  #story-grid.home-feed { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #story-grid.home-feed .home-story-card:first-child { grid-column: 1 / -1; grid-row: auto; }
  #story-grid.home-feed .home-story-card:nth-child(n) { grid-column: auto; }
  #story-grid.home-feed .home-story-card:first-child { grid-column: 1 / -1; }
  .home-story-card:first-child .home-story-media { height: clamp(350px, 54vw, 600px); }
  .home-story-media { height: clamp(200px, 29vw, 320px); }
}
@media (max-width: 600px) {
  #story-grid.home-feed { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  #story-grid.home-feed .home-story-card,
  #story-grid.home-feed .home-story-card:first-child { grid-column: 1; }
  .home-story-media,
  .home-story-card:first-child .home-story-media { height: auto; aspect-ratio: 4 / 3; }
  .home-story-card:not(:first-child) .home-story-media { aspect-ratio: 16 / 10; }
  .home-story-card:first-child h3 { font-size: clamp(2rem, 9vw, 3rem); }
  .home-story-content h3 { font-size: clamp(1.6rem, 7vw, 2.2rem); }
  .home-story-card:not(:first-child) .home-story-deck { -webkit-line-clamp: 3; }
}
@media (prefers-reduced-motion: reduce) { .home-story-media img { transition: none; } }
