/* Expanding image panels for the ten latest publications. */
.home-hover-gallery { position: relative; isolation: isolate; display: flex; align-items: stretch; gap: 8px; width: 100%; height: 430px; overflow: hidden; border: 0; border-radius: 22px; background: #10151c; }
.home-hover-gallery::after { content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: .13; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.home-hover-gallery .story { position: relative; flex: .65 1 0; min-width: 0; height: 100%; overflow: hidden; border: 1px solid #ffffff15; border-radius: 20px; background: #202934; box-shadow: none; transform: none; transition: flex 500ms cubic-bezier(.2,.8,.2,1), border-color 250ms; }
.home-hover-gallery .story[data-expanded] { flex: 4.5 1 0; border-color: #5b91ceaa; }
.home-hover-gallery .story:is(:hover,:focus-within) { transform: none; box-shadow: none; }
.home-hover-gallery .story::before { content: attr(data-card-number); position: absolute; left: 10px; top: 12px; z-index: 4; padding: 5px 7px; border: 1px solid #ffffff30; border-radius: 6px; background: #10151c99; color: #fff; font: 700 .85rem 'Barlow Condensed',sans-serif; pointer-events: none; }
.home-hover-gallery .story-link { position: relative; display: block; min-height: 0; height: 100%; padding: 0; border-radius: inherit; }
.home-hover-gallery .story-cover { position: absolute; inset: 0; display: block; width: 100%; height: 100%; aspect-ratio: auto; border: 0; border-radius: inherit; }
.home-hover-gallery .story-cover img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.01); transition: transform 500ms ease, filter 500ms ease; filter: brightness(.75); }
.home-hover-gallery .story[data-expanded] .story-cover img { transform: scale(1.05); filter: brightness(1); }
.home-hover-gallery .story-link::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg,#10151c05 15%,#10151c30 40%,#10151cf5 100%); pointer-events: none; }
.home-hover-gallery .story-copy { position: absolute; inset: auto 0 0; z-index: 3; min-width: 0; padding: 24px; color: #fff; opacity: 0; transform: translateY(12px); transition: opacity 220ms, transform 350ms; background: none; }
.home-hover-gallery .story[data-expanded] .story-copy { opacity: 1; transform: translateY(0); transition-delay: 120ms; }
.home-hover-gallery .story-meta { font-size: .8rem; line-height: 1.25; color: #a9d2ff; }
.home-hover-gallery .story h3 { font-size: clamp(1.4rem,2.5vw,2.3rem); line-height: 1.03; margin: 14px 0 20px; }
.home-hover-gallery .story-index, .home-hover-gallery .story-rule, .home-hover-gallery .story-copy > p { display: none; }
.home-hover-gallery .story-bottom { padding-top: 14px; border-color: #ffffff35; gap: 8px; }
.home-hover-gallery .story-source { color: #cbd6df; font-size: .82rem; }
.home-hover-gallery .story-cta { color: #a9d2ff; }
.home-hover-gallery .story:focus-within { outline: 2px solid #a9d2ff; outline-offset: -4px; }
.home-hover-gallery .story-link:focus-visible { outline: none; }
@media (max-width:700px) {
  .home-hover-gallery { flex-direction: column; height: auto; gap: 8px; border-radius: 14px; }
  .home-hover-gallery .story { flex: none; width: 100%; height: 70px; border-radius: 14px; transition: height 450ms cubic-bezier(.2,.8,.2,1), border-color 250ms; }
  .home-hover-gallery .story[data-expanded] { flex: none; height: 340px; }
  .home-hover-gallery .story-copy { padding: 12px 16px 12px 54px; inset: 0; display: flex; flex-direction: column; justify-content: center; opacity: 1; transform: none; }
  .home-hover-gallery .story h3 { margin: 0; font-size: 1.05rem; line-height: 1.12; }
  .home-hover-gallery .story:not([data-expanded]) :is(.story-meta,.story-bottom) { display: none; }
  .home-hover-gallery .story[data-expanded] .story-copy { inset: auto 0 0; padding: 22px; }
  .home-hover-gallery .story[data-expanded] h3 { margin: 12px 0 18px; font-size: 1.65rem; }
  .home-hover-gallery .story-link::after { background: linear-gradient(90deg,#10151c90,#10151c60); }
  .home-hover-gallery .story[data-expanded] .story-link::after { background: linear-gradient(180deg,#10151c00 10%,#10151cf5 100%); }
}
@media (prefers-reduced-motion:reduce) {
  .home-hover-gallery .story, .home-hover-gallery .story-cover img, .home-hover-gallery .story-copy { transition: none; }
  .home-hover-gallery .story-cover img { transform: none !important; }
}
