/* Bigmouth Studios first-visit splash. Kept separate from existing page styling. */
.bm-site-intro[hidden] { display: none !important; }
.bm-site-intro {
  position: fixed; inset: 0; z-index: 2147482000;
  background: #000000; display: flex; align-items: center; justify-content: center;
  opacity: 1; visibility: visible; overflow: hidden;
  transition: opacity 560ms ease, visibility 560ms ease;
}
.bm-site-intro.is-ending { opacity: 0; visibility: hidden; pointer-events: none; }
.bm-site-intro__video {
  display: block; width: 100%; height: 100%; max-width: none;
  object-fit: contain; background: #000000;
}
.bm-site-intro__controls {
  position: absolute; bottom: max(23px, env(safe-area-inset-bottom)); right: max(24px, env(safe-area-inset-right));
  z-index: 2; display: flex; align-items: center; justify-content: flex-end;
  gap: 10px; flex-wrap: wrap;
}
.bm-site-intro__button {
  -webkit-appearance: none; appearance: none; cursor: pointer;
  border: 1px solid rgba(255,255,255,.55); border-radius: 5px;
  background: rgba(22,22,25,.88); color: #ffffff;
  padding: 11px 16px; min-height: 43px;
  font: 700 11px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .1em; text-transform: uppercase;
  transition: background .18s ease, border-color .18s ease;
}
.bm-site-intro__button:hover { background: #bb0127; border-color: #bb0127; }
.bm-site-intro__button:focus-visible { outline: 3px solid #fe750f; outline-offset: 3px; }
.bm-site-intro__button--skip { background: #bb0127; border-color: #bb0127; }
@media (max-width: 640px) {
  .bm-site-intro__controls { left: 16px; right: 16px; bottom: max(18px, env(safe-area-inset-bottom)); justify-content: center; }
  .bm-site-intro__button { font-size: 10px; padding: 11px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .bm-site-intro { transition: none; }
}
/* While the opening video is visible, prevent background scrolling. */
html.bm-site-intro-is-playing,
html.bm-site-intro-is-playing body { overflow: hidden !important; }
