*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  height: 100%;
  overflow: hidden;
}

body {
  /* Fallback chain: solid colour -> still image -> video (layered above). */
  background: #20555f url("assets/poster.webp") center / cover no-repeat;
  color: #e6f2f3;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.bg {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.2s ease;
  pointer-events: none;
}

.bg.is-playing {
  opacity: 1;
}

.mark {
  position: fixed;
  left: 0;
  right: 0;
  bottom: max(1.5rem, env(safe-area-inset-bottom));
  margin: 0;
  text-align: center;
  font-size: clamp(0.65rem, 1.6vw, 0.85rem);
  font-weight: 300;
  letter-spacing: 0.45em;
  text-transform: lowercase;
  opacity: 0.35;
  user-select: none;
}

@media (prefers-reduced-motion: reduce) {
  .bg {
    display: none;
  }
}
