/* Small interaction feedback only: content never waits for a reveal animation. */
.video-link-panel {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid var(--line, #deded8);
  border-radius: 16px;
  background: var(--surface, #fff);
}
.video-intro .eyebrow {
  margin-bottom: 10px;
  color: var(--brand);
}
.video-intro h3 {
  margin-bottom: 24px;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 600;
}
.video-intro h3 strong {
  color: var(--brand);
  font-weight: inherit;
}
.video-intro > p:not(.eyebrow) + p {
  margin-top: 16px;
}
.video-embed {
  width: 100%;
  aspect-ratio: 16 / 9;
  margin-bottom: 16px;
  overflow: hidden;
  border: 1px solid var(--line, #deded8);
  border-radius: 12px;
  background: #111;
}
.video-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media (max-width: 760px) {
  .video-link-panel {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .button, .thumb, .news-card a { transition: transform 160ms ease; }
  .button:active { transform: translateY(1px); }
  .thumb:active { transform: scale(.97); }
  #image-preview[open] { animation: dialog-arrive 160ms ease-out; }
  @keyframes dialog-arrive {
    from { opacity: .65; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .news-card a:hover { transform: translateY(-3px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
