/* A decorative layer changes neither hero text nor the header's original box. */
body.site-kv-enabled {
    position: relative;
    isolation: isolate;
}
body.has-site-kv::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 2560px;
    height: 440px;
    background-image: linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0.3)),var(--site-kv-image,none);
    background-position: center center,var(--site-kv-position-x,center) var(--site-kv-position-y,center);
    background-repeat: no-repeat;
    background-size: auto;
}
body.site-kv-enabled .shell>.site-header,body.site-kv-enabled .page>.header {
    position: relative;
    isolation: isolate;
    background: transparent;
    border-bottom-color: transparent;
}
body.site-kv-enabled .shell>.site-header::before,body.site-kv-enabled .page>.header::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(var(--site-page-width,100vw),2560px);
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    pointer-events: none;
}
body.site-kv-enabled .shell>.site-header:not(.is-floating)::after,body.site-kv-enabled .shell>.site-header.is-floating::after,body.site-kv-enabled .page>.header::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(var(--site-page-width,100vw),2560px);
    height: 1px;
    background: var(--line,#e6e8ec);
    pointer-events: none;
}
body.site-kv-enabled .shell>.site-header.is-floating {
    position: fixed;
    background: #fff;
}
body.site-kv-enabled .shell>.site-header.is-floating::before {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(var(--site-page-width,100vw),2560px);
    background: #fff;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
body.site-kv-enabled .shell>.footer,body.site-kv-enabled .page>.footer {
    position: relative;
    border-top-color: transparent;
}
body.site-kv-enabled .shell>.footer::before,body.site-kv-enabled .page>.footer::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(var(--site-page-width,100vw),2560px);
    height: 1px;
    background: var(--line,#e6e8ec);
    pointer-events: none;
}
.site-kv-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(250px,100%),1fr));
    gap: 20px;
    margin: 24px 0;
}
.site-kv-admin-grid img {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
}
@media print {
    body.has-site-kv::before {
        display: none;
    }
}
/* Fade every common KV, including visits without URL parameters. */
body.has-site-kv::before {
    -webkit-mask-image: linear-gradient(to bottom,#000 0,#000 calc(100% - var(--site-kv-fade,80px)),transparent 100%);
    mask-image: linear-gradient(to bottom,#000 0,#000 calc(100% - var(--site-kv-fade,80px)),transparent 100%);
}
@media(max-width:767px) {
    body.has-site-kv::before {
        height: 370px;
        --site-kv-fade: 70px;
    }
}
