/* video-embed.css (2026-10-12). Click-to-play video cards. Colours follow the site theme variables. */
.ni-video { margin: 0; }
.ni-video[hidden] { display: none; }
.ni-video-stage { position: relative; width: 100%; background: #0d1f16; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 28px rgba(0,0,0,.18); }
.ni-video-play { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; display: block; }
.ni-video-poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.ni-video-icon { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 68px; height: 68px; border-radius: 50%;
  background: #2d6a4f; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 18px rgba(0,0,0,.35); transition: transform .15s ease, background .15s ease; }
.ni-video-icon svg { margin-left: 3px; }
.ni-video-play:hover .ni-video-icon { background: #1b4332; transform: translate(-50%, -50%) scale(1.06); }
.ni-video-play:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.ni-video-play:focus-visible .ni-video-icon { outline: 3px solid #52b788; outline-offset: 3px; }
.ni-video-time { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.78); color: #fff; font-size: .78rem; font-weight: 700; padding: 2px 7px; border-radius: 4px; }
.ni-video-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ni-video-caption { display: flex; flex-direction: column; gap: 3px; margin-top: 10px; font-size: .9rem; }
.ni-video-title { color: var(--text-primary); }
.ni-video-blurb { color: var(--text-secondary); line-height: 1.5; }
.ni-video-more { color: #2d6a4f; font-weight: 600; text-decoration: none; }
[data-theme="dark"] .ni-video-more { color: #52b788; }
.ni-video-more:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .ni-video-icon { transition: none; } }

/* Funding page: compact card above the page content, the player opens full width on click. */
.ni-video-explainer { max-width: none; margin: 0 0 22px; }
@media (min-width: 720px) {
  .ni-video-explainer:not(.ni-video-open) { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 18px; align-items: center; }
  .ni-video-explainer:not(.ni-video-open) .ni-video-caption { margin-top: 0; }
}

/* Homepage hero: the 16:9 teaser sits in a right-hand column on wide screens, below the content on small ones. */
.ni-hero-grid { display: block; }
.ni-hero-aside { margin-top: 28px; max-width: 480px; }
@media (min-width: 1040px) {
  .ni-hero-inner.ni-has-aside { max-width: 1180px; display: grid; grid-template-columns: minmax(0, 1fr) 440px; column-gap: 48px; align-items: start; }
  .ni-hero-inner.ni-has-aside > .ni-hero-main { min-width: 0; }
  .ni-hero-aside { margin-top: 8px; }
}
.ni-hero-searched .ni-hero-aside { display: none; }
.ni-hero-searched .ni-hero-inner.ni-has-aside { display: block; max-width: 860px; }
