.duv-backdrop,
.duv-poster-front,
.duv-still-front { display: none; }

.duv-frame {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.duv-shade { z-index: 2; }

@media (max-width: 680px) {
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { width: 0; }
  .duv-hero { min-height: 100svh; }

  .duv-visual {
    inset: 0;
    width: 100%;
    height: 100%;
  }

  .duv-poster,
  .duv-backdrop,
  .duv-still {
    position: absolute;
    inset: -20px;
    width: calc(100% + 40px);
    height: calc(100% + 40px);
    object-fit: cover;
    object-position: 52% 50%;
    filter: blur(12px) brightness(.8);
  }

  .duv-backdrop { display: block; opacity: 0; }
  .duv-hero[data-painted="true"] .duv-backdrop { opacity: 1; }
  .duv-hero[data-mode="static"] .duv-backdrop { display: none; }

  .duv-frame {
    inset: 5svh 0 auto;
    width: 100%;
    height: 90svh;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(180deg, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(180deg, transparent, #000 5%, #000 95%, transparent);
  }

  .duv-poster-front,
  .duv-still-front {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 52% 50%;
  }

  .duv-still-front { display: none; }
  .duv-hero[data-painted="true"] .duv-poster-front { display: none; }
  .duv-hero[data-mode="static"] .duv-poster-front { display: none; }
  .duv-hero[data-mode="static"] .duv-still-front { display: block; }

  .duv-shade {
    background:
      linear-gradient(180deg, #09151eb3 0%, #09151e22 22%, transparent 38%, #07111568 57%, #071115df 100%),
      linear-gradient(90deg, #07111532, transparent 76%);
  }

  .duv-copy {
    bottom: clamp(96px, 12svh, 128px);
    left: max(20px, env(safe-area-inset-left));
    right: max(20px, env(safe-area-inset-right));
    z-index: 3;
    text-shadow: 0 2px 20px #07111596;
  }

  .duv-hero h1 {
    font-size: clamp(36px, 10.2vw, 64px);
    line-height: .96;
    margin-bottom: 25px;
  }

  .duv-button {
    font-size: 9px;
    letter-spacing: .04em;
    gap: 5px;
    text-shadow: none;
  }

  .duv-foot { z-index: 3; bottom: max(25px, env(safe-area-inset-bottom)); }
  .duv-progress { z-index: 3; }
  .duv-load { z-index: 4; }
}

@media (max-width: 680px) and (max-height: 690px) {
  .duv-copy { bottom: 72px; }
  .duv-hero h1 { font-size: clamp(33px, 9.6vw, 46px); margin-bottom: 15px; }
  .duv-eyebrow { margin-bottom: 10px; }
  .duv-button { min-height: 42px; padding: 10px 9px; }
  .duv-foot { bottom: 19px; }
}

@media (max-width: 360px) {
  .duv-actions { flex-direction: column; gap: 7px; }
  .duv-button { font-size: 9px; letter-spacing: .06em; min-height: 39px; }
  .duv-button span { font-size: 16px; }
  .duv-eyebrow { letter-spacing: .02em; }
}

@media (prefers-reduced-motion: reduce) and (max-width: 680px) {
  .duv-backdrop { display: none; }
  .duv-poster-front { display: none; }
  .duv-still-front { display: block; }
}
