.project-scene,.photo-scene{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(1300px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.scene-image-wrap{position:relative;overflow:hidden;isolation:isolate}
.scene-image-wrap>img{display:block;transition:filter .65s ease}
.night-scene-overlay,.glow-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .65s ease}
.night-scene-overlay{z-index:1}.glow-overlay{z-index:2;mix-blend-mode:screen}
[data-night-scene][data-glow-active=true] .glow-overlay,.project-scene[data-glow-active=true] .glow-overlay{opacity:.46}
html[data-lights=off] [data-night-scene] img,html[data-lights=off] .project-scene[data-glow] img{filter:brightness(.15) saturate(.55)!important}
html[data-lights=off] [data-night-ready=true] .night-scene-overlay,html[data-lights=off] [data-night-ready=true] .glow-overlay{opacity:1}
html[data-lights=off] #lights-toggle{box-shadow:0 0 0 1px #dbff5c3d,0 0 28px #dbff5c1f}
#lights-toggle{-webkit-tap-highlight-color:transparent}#lights-toggle:focus-visible{outline:3px solid var(--lime,#d8f06b);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.project-scene,.photo-scene{transform:none!important;transition:none!important}.night-scene-overlay,.glow-overlay,.scene-image-wrap>img{transition:none!important}}
@media(hover:none),(pointer:coarse){.project-scene,.photo-scene{transform:none}}

/* The full portfolio follows the light switch, even before its controller starts. */
html[data-lights=off] .portfolio .project-card[data-project-lit=false]{display:none}
[data-portfolio-filter] .project-card[hidden]{display:none}
.portfolio-mode-note{font-size:16px;line-height:1.65;margin:-13px 0 30px;padding:14px 18px;background:var(--surface);border-left:3px solid var(--green);color:var(--ink)}
[data-portfolio-filter] .portfolio-empty{font-size:18px;line-height:1.75;max-width:65ch}
/* Keep the arched school identification faces and their displays in view. */
@media(min-width:651px){.project-card .project-scene:is([data-glow=evans],[data-glow=greenbrier]) .scene-image-wrap img{aspect-ratio:1.35}}
