/* Greenekka V9.0: progressive-enhancement story motion.
   No elements are hidden before JS opts them in. */
:root { --gk-motion-ease: cubic-bezier(.21,.72,.25,1); }

/* Keep featured and editorial card images consistently framed. */
#home-root .story-card img,
#category-root .story-card img,
#story-root .story-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Image hover remains subtle and does not change the card's layout. */
@media (hover: hover) and (pointer: fine) {
  #home-root .story-card,
  #category-root .story-card,
  #story-root .story-card { transition: transform 220ms var(--gk-motion-ease); }
  #home-root .story-card:hover,
  #category-root .story-card:hover,
  #story-root .story-card:hover { transform: translateY(-3px); }
  #home-root .story-card img,
  #category-root .story-card img,
  #story-root .story-card img { transition: filter 260ms ease; }
  #home-root .story-card:hover img,
  #category-root .story-card:hover img,
  #story-root .story-card:hover img { filter: brightness(.97) saturate(1.04); }
}

/* Apply movement only to elements explicitly activated by JS. */
.gk-motion-play.gk-motion-headline { animation: gk-headline-reveal 420ms var(--gk-motion-ease) both; }
.gk-motion-play.gk-motion-cover { animation: gk-cover-reveal 620ms var(--gk-motion-ease) both; }
.gk-motion-play.gk-motion-inline { animation: gk-inline-reveal 500ms var(--gk-motion-ease) both; }
.gk-motion-play.gk-motion-card { animation: gk-card-reveal 480ms var(--gk-motion-ease) both; }
@keyframes gk-headline-reveal { from { opacity:.4; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@keyframes gk-cover-reveal { from { opacity:.45; transform:translateY(13px); } to { opacity:1; transform:translateY(0); } }
@keyframes gk-inline-reveal { from { opacity:.5; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes gk-card-reveal { from { opacity:.65; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

/* No animation or transform with reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .gk-motion-play,
  .gk-motion-play.gk-motion-headline,
  .gk-motion-play.gk-motion-cover,
  .gk-motion-play.gk-motion-inline,
  .gk-motion-play.gk-motion-card {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
  #home-root .story-card,
  #category-root .story-card,
  #story-root .story-card,
  #home-root .story-card img,
  #category-root .story-card img,
  #story-root .story-card img { transition: none !important; transform:none !important; }
}
