Занавес из панелей
lightshiprv.com Вордмарк по буквам →

Интро (загрузка сайта)

Занавес из панелей

Панели разъезжаются со ступенькой, за ними — фото с мягким оседанием масштаба и заголовком из маски.

Интро играет само. «Повторить» — в углу.

За занавесом
уже готова сцена
Код
<div class="curtain c1"></div>
<div class="curtain c2"></div>
<header class="hero">
  <img class="photo" src="photo.jpg">
  <h1 class="line"><span>Заголовок</span></h1>
</header>

<style>
.curtain { position: fixed; left: 0; right: 0; z-index: 99; background: #101010; }
.c1 { top: 0; height: 50.5%; animation: cUp .9s cubic-bezier(.16,1,.3,1) .5s forwards; }
.c2 { bottom: 0; height: 50.5%; animation: cDown .9s cubic-bezier(.16,1,.3,1) .62s forwards; }
@keyframes cUp   { to { transform: translateY(-101%); } }
@keyframes cDown { to { transform: translateY(101%); } }

/* фото за занавесом мягко «оседает» из увеличенного масштаба */
.hero .photo { transform: scale(1.14);
  animation: settle 2.4s cubic-bezier(.16,1,.3,1) .6s forwards; }
@keyframes settle { to { transform: scale(1); } }

.hero .line { overflow: hidden; }
.hero .line span { display: block; transform: translateY(115%);
  animation: lineUp .7s cubic-bezier(.16,1,.3,1) 1.1s forwards; }
@keyframes lineUp { to { transform: none; } }
</style>
Промпт для ИИ
Сделай интро «занавес»: два фиксированных тёмных блока (верхняя и нижняя половины экрана, высота 50.5% для нахлёста), z-index 99. Верхний уезжает вверх translateY(-101%) за 0.9s с задержкой 0.5s, нижний вниз с задержкой 0.62s (ступенька = дороже). За занавесом фото хиро «оседает» из scale(1.14) к 1 за 2.4s, заголовок выезжает из маски с задержкой 1.1s. Все кривые cubic-bezier(0.16,1,0.3,1). Показывай раз за сессию (sessionStorage), при prefers-reduced-motion не показывай.