/* Intact ocean photograph and continuous digitisation. */
.sea-sequence .film{isolation:isolate;background:rgba(3,6,9,var(--scene-bg,1))!important;mask-image:none!important;perspective:1200px}
.film::after{display:none}
.scene-world{position:absolute;inset:0;overflow:hidden;background:#030609;transform-origin:50% 50%;opacity:var(--world-opacity,1)}
.scene-world::after{content:'';position:absolute;inset:0;background:#030609;opacity:var(--sea-dark,0);z-index:1;pointer-events:none}
.film-image{transform:translateY(var(--ocean-y,0px)) scale(var(--ocean-scale,1));transform-origin:50% 20%;object-position:50% 50%;will-change:transform}
.shade{z-index:1;background:linear-gradient(90deg,#03141bb3,transparent 63%),linear-gradient(0deg,#03141b66,transparent 25%)}
.film header{position:relative;z-index:5}
.film-copy{z-index:2;padding-top:clamp(28px,5svh,70px);opacity:var(--sea-copy,1);transform:translate3d(0,var(--sea-lift,0px),0) scale(var(--copy-scale,1));transform-origin:0 20%}
.film h1{font-size:clamp(70px,7.6vw,112px);max-width:520px;line-height:.94;letter-spacing:-.045em;margin-top:26px}
.film-bottom{margin-top:40px;max-width:600px;display:flex;gap:100px}.film-bottom p{font-size:18px}
.sea-intro{z-index:4}.portrait-frame{transform:translate3d(var(--portrait-x,100px),var(--portrait-rise,24px),0) rotateY(var(--portrait-tilt,-10deg)) scale(var(--portrait-scale,.88));transform-origin:50% 50%;box-shadow:0 24px 60px #0005}
.sea-intro-copy{transform:translateY(var(--digit-lift,0px))}
@media(prefers-reduced-motion:no-preference){body:not(.camera-off) .sea-sequence{height:390svh}}
@media(max-width:700px){
 .film-copy{padding-top:32px}.film h1{font-size:clamp(48px,15.9vw,62px);max-width:100%;line-height:.96;margin-top:24px;margin-bottom:24px}
 .film-bottom{margin-top:24px;display:block}.film-bottom p{font-size:14px}.film-bottom .circle{margin-top:18px}
 .film-image{object-position:44% 50%}
 .sea-intro{top:50%;gap:24px}.portrait-frame{height:min(32svh,270px)}
 .sea-intro h2{font-size:clamp(40px,12.3vw,52px)}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){body:not(.camera-off) .sea-sequence{height:350svh}}
@media(prefers-reduced-motion:reduce){
 .scene-world{opacity:1;mask-image:none!important}
 .film-image{content:url('assets/jason-sea-expanded.png');transform:none!important}
 .scene-world::after{display:none}.film-copy{transform:none!important;opacity:1!important}
 .film h1{font-size:clamp(68px,8vw,112px)}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.film h1{font-size:62px}}


/* Keep the intact photograph. The original scene gently resolves into a fixed dot grid. */
@media(min-width:701px){.film-bottom{max-width:440px;gap:40px}}

/* Published exit: a stationary dot scene dissolves to reveal Highlights. */
.flow-particles{position:absolute;inset:0;width:100%;height:100%;z-index:6;pointer-events:none;opacity:0}
@media(prefers-reduced-motion:reduce){.flow-particles{display:none}}

/* Anchor links land after the overlay has fully cleared. */
@media(prefers-reduced-motion:no-preference){#work{scroll-margin-top:0}}
