/* Closed slots occupy no space, including when a page has other display rules. */
.image-ad[hidden] { display: none !important; }
.image-ad {
  box-sizing: border-box;
  width: min(970px, 100%);
  margin: 18px auto;
  padding: 6px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #f8fafc;
}
.image-ad-label {
  display: block;
  margin-bottom: 4px;
  color: #64748b;
  font: 500 11px/1.4 system-ui, sans-serif;
  text-align: center;
}
.image-ad a { display: block; height: 90px; overflow: hidden; border-radius: 6px; }
.image-ad a:focus-visible { outline: 2px solid #2563eb; outline-offset: 4px; }
.image-ad img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; border-radius: 6px; }
.hero-copy > .image-ad { margin-bottom: 0; }
@media (max-width: 640px) {
  .image-ad { margin-block: 16px; padding: 5px; }
  .image-ad a { height: 80px; }
}
