.experience::before,
.waitlist::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .5;
    background-image:
        radial-gradient(circle, #d6ae5226 1px, transparent 1.6px),
        radial-gradient(circle, #d6ae5214 1px, transparent 1.6px);
    background-size: 26px 26px, 26px 26px;
    background-position: 0 0, 13px 13px;
    -webkit-mask-image: radial-gradient(120% 80% at 50% 0%, #000 0%, transparent 72%);
    mask-image: radial-gradient(120% 80% at 50% 0%, #000 0%, transparent 72%)
}

.experience {
    position: relative
}

.experience>* {
    position: relative;
    z-index: 1
}

.experience,
.hospitality {
    overflow-x: clip
}

.experience,
.hospitality,
.waitlist {
    border-top: 1px solid var(--panel-rule-gold)
}

.date-card,
.visit__card,
.opening {
    border-top: 3px solid transparent;
    border-image: var(--foil) 1
}

.opening {
    border-top-width: 4px
}

.hospitality::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -14vw;
    bottom: -18vw;
    width: min(48vw, 620px);
    aspect-ratio: 1;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, #8b402c1c, transparent 68%);
    box-shadow: 0 0 0 1px #c99e4324, 0 0 0 60px #c99e430f
}

.experience::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -10vw;
    top: -8vw;
    width: min(42vw, 540px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid #d6ae521f;
    pointer-events: none;
    box-shadow: 0 0 0 44px #d6ae5208, 0 0 0 90px #d6ae5205
}

.gallery {
    position: relative
}

.gallery>* {
    position: relative;
    z-index: 1
}

footer {
    position: relative;
    border-top: 3px solid transparent;
    border-image: var(--foil) 1
}

@media (max-width:600px) {

    .hospitality::after,
    .experience::after {
        display: none
    }
}
