/* Ambient backgrounds for inner pages only; the homepage uses its video. */
body.ambient-page main>:is(section,.container-fluid,.container):not(.about){position:relative;isolation:isolate;overflow:hidden}
body.ambient-page main>:is(section,.container-fluid,.container):not(.about)::before{
    content:"";position:absolute;inset:-12%;z-index:-1;pointer-events:none;
    background-image:radial-gradient(ellipse at 15% 25%,#ffffff0d,transparent 48%),radial-gradient(ellipse at 85% 70%,#a8adb510,transparent 46%),radial-gradient(ellipse at 55% 10%,#ffffff08,transparent 50%),linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);
    background-size:auto,auto,auto,64px 64px,64px 64px;
    border-radius:0;filter:none;width:auto;height:auto;opacity:1;
    mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 100%);
    animation:inner-ambient-flow 20s ease-in-out infinite alternate;
}
html[data-theme=light] body.ambient-page main>:is(section,.container-fluid,.container):not(.about):not(.page-header)::before{
    background-image:radial-gradient(ellipse at 15% 25%,#20242c09,transparent 48%),radial-gradient(ellipse at 85% 70%,#20242c06,transparent 46%),radial-gradient(ellipse at 55% 10%,#20242c04,transparent 50%),linear-gradient(#20242c04 1px,transparent 1px),linear-gradient(90deg,#20242c04 1px,transparent 1px);
}
body.ambient-page .page-header{background:#080f21;isolation:isolate;overflow:hidden}
html[data-theme=light] body.ambient-page .page-header{background:#080f21}
body.ambient-page main>.page-header:not(.about)::before{
    background-image:radial-gradient(ellipse at 18% 20%,#ffffff12,transparent 48%),radial-gradient(ellipse at 85% 80%,#9da3ad14,transparent 45%),radial-gradient(ellipse at 60% 5%,#ffffff08,transparent 55%),linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);
    animation-duration:16s;mask-image:none;
}
body.ambient-page .page-header::after{
    content:"";position:absolute;left:auto;right:-140px;top:-260px;bottom:auto;width:650px;height:650px;border-radius:50%;z-index:-1;pointer-events:none;filter:none;opacity:.5;
    border:1px solid #ffffff18;background:conic-gradient(from 45deg,transparent,#ffffff08,transparent,#a8adb50a,transparent);
    box-shadow:0 0 0 75px #ffffff04,0 0 0 150px #ffffff03;
    animation:inner-orbit-turn 35s linear infinite;
}
body.ambient-page .page-header>.container{position:relative;z-index:1}
body.ambient-page .ambient-particles{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
body.ambient-page .ambient-particles span{position:absolute;left:var(--x);top:var(--y);width:4px;height:4px;border-radius:50%;background:#d7dbe2;opacity:.45;box-shadow:0 0 12px #ffffff30;animation:inner-particle-drift var(--duration,8s) ease-in-out var(--delay,0s) infinite alternate}
body.ambient-page .ambient-particles span:nth-child(even){width:3px;height:3px;background:#a8adb5}
@keyframes inner-ambient-flow{0%{transform:translate3d(-2%,-1%,0) scale(1)}100%{transform:translate3d(3%,2%,0) scale(1.06)}}
@keyframes inner-orbit-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes inner-particle-drift{0%{transform:translate3d(0,0,0);opacity:.25}100%{transform:translate3d(16px,-28px,0);opacity:.65}}
@media(max-width:767px){
    body.ambient-page .page-header::after{width:420px;height:420px;top:-200px;right:-200px}
    body.ambient-page .ambient-particles span:nth-child(n+5){display:none}
    body.ambient-page main>:is(section,.container-fluid,.container):not(.about)::before{background-size:auto,auto,auto,48px 48px,48px 48px}
}
@media(prefers-reduced-motion:reduce){
    body.ambient-page main>:is(section,.container-fluid,.container):not(.about)::before,body.ambient-page .page-header::after,body.ambient-page .ambient-particles span{animation:none!important}
}
