.videos-page h1, .videos-page h2, .videos-page h3, .videos-page .campaign-kicker { letter-spacing: 0; }
.videos-page .intro { height: auto; min-height: 420px; padding: 70px 24px; }
.videos-page .intro-content { width: 100%; max-width: 1000px; margin: auto; }
.videos-page .intro-big { font-size: 48px; line-height: 1.12; overflow-wrap: anywhere; }
.videos-page .intro-sub { font-size: 24px; margin: 20px 0 24px; }
.videos-page .intro .panel-action-link { background: #fff; color: #a63f0f; }
.video-section { max-width: 1180px; margin: 0 auto; scroll-margin-top: 120px; }
.video-section + .video-section { margin-top: 60px; }
.election-video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.election-video { min-width: 0; background: #fff; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; }
.election-video-player, .election-video-placeholder { aspect-ratio: 16 / 9; background: #111; }
.election-video-player iframe { display: block; width: 100%; height: 100%; border: 0; }
.election-video-content { padding: 22px; }
.election-video-content h3 { font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
.election-video-content p { margin-top: 12px; color: #52525b; }
.election-video-views { display: flex; align-items: center; gap: 8px; min-height: 24px; font-size: 15px; }
.election-video-links { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 20px; }
.election-video-links a, .videos-page .campaign-section-head a { white-space: normal; }
.videos-page .panel-action-link { gap: 8px; }
.election-video-links .panel-action-link { background: #f4f4f4; }
.election-video-links .panel-inline-link { color: #a63f0f; text-decoration-color: #e7591c; }
.election-video-links .panel-inline-link:hover { color: #111; text-decoration-color: #111; }
.election-video-links .panel-action-link:hover { background: #ffd400; }
.election-video-grid-upcoming { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.election-video-placeholder { background: #f5ecd9; color: #704617; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; font-weight: 700; }
.election-video-placeholder i { font-size: 36px; }
.videos-page a:focus-visible, .videos-page button:focus-visible { outline: 3px solid #13746b; outline-offset: 4px; }
.video-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 768px) {
  .videos-page .intro { min-height: 360px; padding: 48px 20px; }
  .videos-page .intro-big { font-size: 32px; }
  .videos-page .intro-sub { font-size: 20px; }
  .videos-page .campaign-main { padding: 40px 20px 60px; }
  .videos-page .campaign-section-head { flex-direction: column; }
  .election-video-grid, .election-video-grid-upcoming { grid-template-columns: minmax(0, 1fr); }
  .election-video-content { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
