/* ── modules/logo/style.css ── */
/* Unified logo positioning pattern. All slide logos follow the same pattern. */

/* Reusable top-center small logo (navigation bar position) */
.dw-logo {
  position: absolute;
  top: var(--space-top);
  left: calc(50% - 74.6px);
  width: 149.2px;
  height: 21.02px;
  display: block;
  z-index: 2;
}

/* Filter variants */
.dw-logo--navy   { filter: url(#navyFilter); }  /* on white/light backgrounds */
.dw-logo--invert { filter: invert(1); }          /* on dark backgrounds */

/* Large center logo (video hero / opening slide) */
.dw-logo--hero {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 864px;
  height: 121px;
  transform: translate(-50%, calc(-50% - 21px));
  display: block;
  filter: invert(1);
  z-index: 2;
}

/* Legacy per-slide aliases — same values, kept for backward compat */
.sSV-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.sPSR-logo { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s29-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s30-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 3; filter: invert(1); }
.sFC-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; filter: invert(1); z-index: 2; }
.sCB-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.sCC-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; filter: invert(1); z-index: 2; }
.s26-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s27-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s28-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s22-logo  { position: absolute; top: 50%; left: 50%; width: 864px; height: 121px; transform: translate(-50%, calc(-50% - 21px)); display: block; filter: invert(1); z-index: 2; }
.s21-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.s1-logo   { position: absolute; top: 50%; left: 50%; width: 864px; height: 121px; transform: translate(-50%, calc(-50% - 21px)); display: block; filter: invert(1); z-index: 2; }
.s4-logo   { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; filter: invert(1); z-index: 2; }
.s25-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; z-index: 2; filter: url(#navyFilter); }
.sIH-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; filter: invert(1); z-index: 2; }
.s4v-logo  { position: absolute; top: var(--space-top); left: calc(50% - 74.6px); width: 149.2px; height: 21.02px; display: block; filter: invert(1); z-index: 2; }
