/*
 * GXD subtle honeycomb spotlight background — V24.2.9.25
 * Static, lightweight and full-page. No animation, noise image or particle system.
 * The hex tile is embedded directly in this CSS as a tiny seamless SVG pattern.
 */

:root {
    --gxd-honeycomb-opacity: .07;
    --gxd-honeycomb-tile-width: 30px;
    --gxd-honeycomb-tile-height: 34.64px;
    --gxd-honeycomb-spot-height: 860px;
}

html,
body {
    min-height: 100%;
}

body {
    position: relative;
    overflow-x: clip;
}

/* Keep the old snow, stars, grids and animated pattern systems disabled. */
#global-stars-container,
#gxd-v59-cosmic-drift,
.gxd-halftone-overlay,
.tech-grid-overlay,
.hex-pattern,
.stars-container,
.snowflake,
.star {
    display: none !important;
}

.gxd-geo-pattern {
    display: block;
    position: absolute;
    inset: 0 0 auto;
    width: 100%;
    height: var(--gxd-document-pattern-height, 100vh);
    min-height: 100vh;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
    isolation: isolate;
    contain: layout paint;
    transform: translateZ(0);
    backface-visibility: hidden;

    /* A broad spotlight repeats down long pages. It never reaches full
       transparency, so the texture continues through the whole scroll. */
    -webkit-mask-image: radial-gradient(
        ellipse 72% 48% at 50% 48%,
        #000 0%,
        rgba(0,0,0,.96) 28%,
        rgba(0,0,0,.72) 52%,
        rgba(0,0,0,.30) 76%,
        rgba(0,0,0,.12) 100%
    );
    mask-image: radial-gradient(
        ellipse 72% 48% at 50% 48%,
        #000 0%,
        rgba(0,0,0,.96) 28%,
        rgba(0,0,0,.72) 52%,
        rgba(0,0,0,.30) 76%,
        rgba(0,0,0,.12) 100%
    );
    -webkit-mask-size: 100% var(--gxd-honeycomb-spot-height);
    mask-size: 100% var(--gxd-honeycomb-spot-height);
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-repeat: repeat-y;
    mask-repeat: repeat-y;
}

/* Real small hexagon outlines. The dark copy is offset by one pixel to add
   the same restrained depth visible in the supplied reference. */
.gxd-geo-pattern::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: var(--gxd-honeycomb-opacity);
    background-image:
        url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2241.569%22%20viewBox%3D%220%200%2036%2041.569%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%238fb1c4%22%20stroke-opacity%3D%220.96%22%20stroke-width%3D%221.05%22%3E%3Cpolygon%20points%3D%2212%2C0%206%2C10.392%20-6%2C10.392%20-12%2C0%20-6%2C-10.392%206%2C-10.392%22%2F%3E%3Cpolygon%20points%3D%2248%2C0%2042%2C10.392%2030%2C10.392%2024%2C0%2030%2C-10.392%2042%2C-10.392%22%2F%3E%3Cpolygon%20points%3D%2230%2C20.785%2024%2C31.177%2012%2C31.177%206%2C20.785%2012%2C10.392%2024%2C10.392%22%2F%3E%3Cpolygon%20points%3D%2212%2C41.569%206%2C51.962%20-6%2C51.962%20-12%2C41.569%20-6%2C31.177%206%2C31.177%22%2F%3E%3Cpolygon%20points%3D%2248%2C41.569%2042%2C51.962%2030%2C51.962%2024%2C41.569%2030%2C31.177%2042%2C31.177%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"),
        url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2241.569%22%20viewBox%3D%220%200%2036%2041.569%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000812%22%20stroke-opacity%3D%221%22%20stroke-width%3D%221.35%22%3E%3Cpolygon%20points%3D%2212%2C0%206%2C10.392%20-6%2C10.392%20-12%2C0%20-6%2C-10.392%206%2C-10.392%22%2F%3E%3Cpolygon%20points%3D%2248%2C0%2042%2C10.392%2030%2C10.392%2024%2C0%2030%2C-10.392%2042%2C-10.392%22%2F%3E%3Cpolygon%20points%3D%2230%2C20.785%2024%2C31.177%2012%2C31.177%206%2C20.785%2012%2C10.392%2024%2C10.392%22%2F%3E%3Cpolygon%20points%3D%2212%2C41.569%206%2C51.962%20-6%2C51.962%20-12%2C41.569%20-6%2C31.177%206%2C31.177%22%2F%3E%3Cpolygon%20points%3D%2248%2C41.569%2042%2C51.962%2030%2C51.962%2024%2C41.569%2030%2C31.177%2042%2C31.177%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: 0 0, 1px 1px;
    background-size:
        var(--gxd-honeycomb-tile-width) var(--gxd-honeycomb-tile-height),
        var(--gxd-honeycomb-tile-width) var(--gxd-honeycomb-tile-height);
    background-repeat: repeat;
}

/* Very soft blue-grey illumination behind each repeated spotlight section. */
.gxd-geo-pattern::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .045;
    background-image:
        radial-gradient(ellipse 43% 24% at 50% 46%, rgba(115,169,198,.70), transparent 72%),
        radial-gradient(ellipse 65% 38% at 50% 52%, rgba(0,6,15,.82), transparent 84%);
    background-size: 100% var(--gxd-honeycomb-spot-height);
    background-position: center top;
    background-repeat: repeat-y;
}

.enhanced-footer {
    position: relative;
    z-index: 2;
}

@media (max-width: 768px) {
    :root {
        --gxd-honeycomb-opacity: .055;
        --gxd-honeycomb-tile-width: 27px;
        --gxd-honeycomb-tile-height: 31.18px;
        --gxd-honeycomb-spot-height: 720px;
    }
}

@supports not ((mask-image: radial-gradient(#000, transparent)) or
               (-webkit-mask-image: radial-gradient(#000, transparent))) {
    .gxd-geo-pattern {
        -webkit-mask-image: none;
        mask-image: none;
    }
}
