/* A2PSDM brand-film tile + viewer (see film.js) */
[data-film]:not([data-film-mode="button"]) { position: relative; background: #04050b; }
[data-film]:not([data-film-mode="button"]) > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }

.a2film-card {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: block; margin: 0; padding: 0; border: 0; cursor: pointer;
  background: #04050b; color: #fff; overflow: hidden;
}
.a2film-bg { position: absolute; inset: -8%; width: 116%; height: 116%; object-fit: cover; filter: blur(26px) saturate(1.3) brightness(.7); }
.a2film-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: transform .6s ease; }
.a2film-card:hover .a2film-img, .a2film-card:focus-visible .a2film-img { transform: scale(1.03); }
.a2film-card:focus-visible { outline: 3px solid #3de7ff; outline-offset: -3px; }

.a2film-bar {
  position: absolute; z-index: 2; left: 50%; bottom: 14px; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; max-width: calc(100% - 24px);
  padding: 6px 16px 6px 6px; border-radius: 999px;
  background: rgba(6,10,26,.62); border: 1px solid rgba(255,255,255,.28);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.a2film-play {
  flex: none; width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; color: #04050b;
  background: linear-gradient(135deg, #3de7ff, #b58cff); animation: a2filmPulse 2.4s ease-out infinite;
}
.a2film-play svg { margin-left: 2px; }
.a2film-cta { font-size: .9rem; font-weight: 600; letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; }
@keyframes a2filmPulse {
  0% { box-shadow: 0 0 0 0 rgba(61,231,255,.5); }
  70% { box-shadow: 0 0 0 12px rgba(61,231,255,0); }
  100% { box-shadow: 0 0 0 0 rgba(61,231,255,0); }
}
@media (prefers-reduced-motion: reduce) {
  .a2film-play { animation: none; }
  .a2film-img { transition: none; }
}

.a2film-modal {
  position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center;
  background: rgba(2,6,16,.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); padding: 16px;
}
.a2film-modal[hidden] { display: none; }
.a2film-box { position: relative; width: min(1100px, 100%); }
.a2film-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,.6); }
.a2film-stage video, .a2film-stage .a2film-fallback { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.a2film-close {
  position: absolute; z-index: 3; right: 10px; top: 10px; width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.4); background: rgba(0,0,0,.55); color: #fff; font-size: 24px; line-height: 1; cursor: pointer;
}
.a2film-close:hover { background: rgba(255,255,255,.22); }
.a2film-msg { margin: 14px 4px 0; color: #dbe7ff; font-size: .95rem; text-align: center; }
.a2film-msg a { color: #3de7ff; text-decoration: underline; }
/* portrait teaser fills tall tiles edge to edge */
.a2film-card.is-tile .a2film-bg { display: none; }
.a2film-card.is-tile .a2film-img { object-fit: cover; }
body.a2film-lock { overflow: hidden; }


/* compact play button (data-film-mode="button") — sits next to the page's own buttons */
[data-film-mode="button"] { display: inline-flex; }
[data-film-mode="button"]:empty { display: none; }
.a2film-btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font: inherit; }
.a2film-btn .a2film-play { width: 24px; height: 24px; animation: none; }
.a2film-btn .a2film-play svg { width: 14px; height: 14px; }
.a2film-btn .a2film-cta { font-size: inherit; font-weight: inherit; letter-spacing: 0; }
