/* Mobile-only background and footer framing; preserve the original content layout. */
@media (max-width: 768px) {
  body {
    isolation: isolate;
    background-image: none;
  }

  body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url('/assets/bg.png') center center / cover no-repeat;
  }

  .footer {
    position: fixed;
    bottom: 0;
    box-sizing: border-box;
    font-size: clamp(0.75rem, 4.1vw, 1rem);
    line-height: 1.4;
    padding: 2dvh 0 max(2dvh, env(safe-area-inset-bottom));
  }
}
