/* Project detail pages only. First viewport, behind content, never captures input. */
.site-page.project-page { position: relative; isolation: isolate; }
.page-dithering { position: absolute; inset: 0 0 auto; height: 100vh; height: 100svh; z-index: -1; overflow: hidden; pointer-events: none; background: #000; opacity: .25; }
.page-dithering::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 25% 15%, var(--dithering-color, #0061fb), transparent 55%), radial-gradient(ellipse at 85% 45%, var(--dithering-color, #0061fb), transparent 55%); }
.page-dithering.is-ready::before { display: none; }
.page-dithering canvas { display: block; width: 100%; height: 100%; }
.page-dithering::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 0%, transparent 45%, #000 100%); }
.site-page.project-page::before { display: none; }
html .site-page.project-page > .header:not(.scrolled) { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html[data-theme=light] .page-dithering { display: none; }
@media (forced-colors: active) { .page-dithering { display: none; } }
