/* VoteMotta2028 Campaign Visual Runtime v12.2 */
:root{
  --vm12-blue:#0759c7;
  --vm12-navy:#071d3c;
  --vm12-red:#e3182d;
  --vm12-line:#d8e1ec;
  --vm12-soft:#f6f9fd;
  --vm12-shadow:0 18px 55px rgba(7,29,60,.13);
}

.vm12HeroFigure{
  margin:0;
  width:100%;
  border:1px solid var(--vm12-line);
  border-radius:22px;
  overflow:hidden;
  background:linear-gradient(135deg,#eef5ff,#fff);
  box-shadow:var(--vm12-shadow);
}
.vm12HeroFigure img{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:contain;
  object-position:center top;
  background:#eef5ff;
}
.vm12HeroFigure figcaption,
.vm12RouteVisual figcaption{
  padding:9px 12px;
  color:#647184;
  background:#fff;
  font-size:.72rem;
  border-top:1px solid var(--vm12-line);
}

.vm12IssueCard{overflow:hidden!important;align-content:start!important}
.vm12IssueCard>span:first-of-type{display:none!important}

.vm12IssueImg,
.vm12FeatureImage,
.vm12MediaPoster,
.vm12RouteVisual img{
  display:block;
  width:100%;
  border-radius:12px;
  background:#eef4fb;
  border:1px solid var(--vm12-line);
}

.vm12IssueImg{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9;
  margin:0 0 9px!important;
}

/* Photos/wide art: fill the card with controlled focal point. */
.vm12-asset-photo .vm12IssueImg,
.vm12-asset-wide .vm12IssueImg,
.vm12FeatureImage--photo,
.vm12RouteVisual--photo img{
  object-fit:cover!important;
}

/* Posters/text-heavy/illustrations: show the entire image. */
.vm12-asset-poster .vm12IssueImg,
.vm12-asset-illustration .vm12IssueImg,
.vm12FeatureImage--poster,
.vm12MediaPoster,
.vm12RouteVisual--poster img{
  object-fit:contain!important;
  object-position:center center!important;
  padding:8px;
  background:linear-gradient(135deg,#eef5ff,#fff)!important;
}

.vm12FeatureImage{
  aspect-ratio:16/9;
  object-fit:cover;
  margin:0 0 14px;
}
.vm12MediaPoster{
  width:min(460px,100%);
  height:auto;
  aspect-ratio:1/1;
  margin:0 auto 14px;
  border-radius:16px;
  box-shadow:0 14px 40px rgba(7,29,60,.14);
}

.vm12RouteVisual{
  width:min(1180px,calc(100% - 28px));
  margin:18px auto 6px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--vm12-line);
  box-shadow:0 12px 38px rgba(7,29,60,.10);
  background:#fff;
}
.vm12RouteVisual img{
  aspect-ratio:16/7;
  object-fit:cover;
}

.vm12ZoomHint{
  display:block;
  margin:-4px 0 12px;
  color:#637083;
  font-size:.72rem;
}

#vm12Lightbox{
  position:fixed;
  inset:0;
  z-index:2147483646;
  background:rgba(6,16,28,.88);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
}
#vm12Lightbox.open{display:flex}
#vm12Lightbox .vm12LbInner{max-width:min(1200px,96vw);max-height:92vh;width:auto}
#vm12Lightbox img{
  display:block;
  max-width:100%;
  max-height:82vh;
  width:auto;
  height:auto;
  margin:auto;
  border-radius:16px;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
#vm12Lightbox button{
  position:absolute;
  top:14px;
  right:14px;
  border:0;
  border-radius:999px;
  min-width:44px;
  min-height:44px;
  background:#fff;
  color:#0f1720;
  font-size:24px;
  font-weight:800;
  cursor:pointer;
}
#vm12Lightbox .vm12LbCaption{
  margin-top:10px;
  color:#fff;
  text-align:center;
  font-size:.9rem;
  line-height:1.35;
}

@media(min-width:760px){
  .topic-grid a.vm12IssueCard{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
}
@media(max-width:759px){
  .vm12HeroFigure img{max-height:none}
  .vm12RouteVisual img{aspect-ratio:16/9}
  .vm12MediaPoster{width:100%}
  .vm12IssueImg{aspect-ratio:16/10}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
}
