/* Decorative layer only. Keep the page's content in a higher stacking layer. */
.avnr-geometry {
    --avnr-geometry-line-opacity: 0.085;
    --avnr-geometry-hero-opacity: 0.16;
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    contain: strict;
    color: var(--avnr-geometry-ink, #fff);
}

.avnr-geometry-field {
    position: absolute;
    top: -64px;
    left: -64px;
    width: calc(100% + 128px);
    height: calc(100% + 128px);
    opacity: var(--avnr-geometry-line-opacity);
    transform: translate3d(var(--avnr-geometry-x, 0px), var(--avnr-geometry-y, 0px), 0);
    mask-image: radial-gradient(ellipse at 50% 42%, rgba(0, 0, 0, 0.35), #000 76%);
    -webkit-mask-image: radial-gradient(ellipse at 50% 42%, rgba(0, 0, 0, 0.35), #000 76%);
}

.avnr-geometry-line {
    fill: none;
    stroke: currentColor;
    stroke-width: 0.8;
    stroke-linecap: butt;
    stroke-linejoin: miter;
}

.avnr-geometry-hero {
    position: absolute;
    top: -14rem;
    right: -18vw;
    width: clamp(32rem, 76vw, 72rem);
    height: auto;
    aspect-ratio: 1;
    opacity: var(--avnr-geometry-hero-opacity);
    transform: translate3d(var(--avnr-geometry-hero-x, 0px), var(--avnr-geometry-hero-y, 0px), 0);
}

@media (max-width: 600px) {
    .avnr-geometry-hero {
        top: -4rem;
        right: -25rem;
        width: 42rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .avnr-geometry-field,
    .avnr-geometry-hero {
        transform: none;
    }
}
