.home-popup {
    border: 0;
    padding: 0;
    margin: auto;
    background: transparent;
    max-width: none;
    max-height: none;
    overflow: visible;
    color: #fff;
}
.home-popup::backdrop { background: rgba(0, 0, 0, .75); }
html.home-popup-open { overflow: hidden; }
.home-popup__frame { position: relative; outline: none; }
.home-popup .home-popup__image {
    display: block;
    width: auto;
    height: auto;
    max-width: calc(100vw - 56px);
    max-height: calc(100vh - 56px);
    max-height: calc(100dvh - 56px);
    object-fit: contain;
}
.home-popup .home-popup__image[hidden] { display: none; }
.home-popup__close {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #222;
    color: #fff;
    font: 32px/1 Arial, sans-serif;
    cursor: pointer;
    box-shadow: 0 2px 8px #0005;
}
.home-popup__close svg { width: 20px; height: 20px; }
.home-popup button:focus-visible { outline: 3px solid #9ee500; outline-offset: 3px; }
