/* Same recorded 20s wave video and geometry; colors adapted to the white surface. */
body:has(.entry-atmosphere) { position:relative;isolation:isolate;background:#fff; }
.entry-atmosphere {
 position:absolute;z-index:-1;inset:0 0 auto;width:100%;
 /* Keep the decoration on the first screen when more sections follow. */
 height:100svh;
 overflow:hidden;pointer-events:none;background:#fff;
}
.entry-atmosphere video {
 position:absolute;left:0;top:var(--entry-header-height,90px);width:100%;height:100svh;
 display:block;object-fit:cover;object-position:center;
 filter:var(--entry-wave-filter,invert(1) hue-rotate(180deg));opacity:var(--entry-wave-opacity,.48);
}
.entry-atmosphere::before { content:"";position:absolute;z-index:1;left:0;top:var(--entry-header-height,90px);width:100%;height:100svh;background:var(--entry-wave-tint,#94bfff);opacity:var(--entry-wave-tint-opacity,0);mix-blend-mode:color;pointer-events:none; }
.entry-dots { position:absolute;z-index:2;inset:0 0 auto;width:100%;height:100svh;pointer-events:none;opacity:var(--entry-dots-opacity,.12);mix-blend-mode:multiply; }
.entry-dots canvas { display:block;position:absolute;inset:0;width:100%;height:100%; }
.entry-atmosphere::after {
 content:"";position:absolute;z-index:3;inset:auto 0 0;height:40%;
 /* End at pure white by 88vh; the last 12vh joins later white sections.
    Keep these stops in sync with the glass backdrop sampler. */
 background:linear-gradient(to bottom,rgb(255 255 255 / 0) 0%,rgb(255 255 255 / .1) 25%,rgb(255 255 255 / .5) 50%,#fff 70%,#fff 100%);
 pointer-events:none;
}
@media(prefers-reduced-motion:reduce) { .entry-dots { transition:none!important; } }
