/* On Seven cinematic opening and adaptive motion orchestrator — stage 7. */

body.stage7-opening {
  overflow: hidden;
}

.cinematic-opening-stage7 {
  position: fixed;
  z-index: 270;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: #fff;
  background: #07182f;
  pointer-events: all;
  animation: stage7CurtainExit 560ms cubic-bezier(.76,0,.24,1) 1260ms both;
}

.cinematic-opening-stage7::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 7px;
  background: #d85d1a;
  transform: scaleX(0);
  transform-origin: left;
  animation: stage7OrangeLine 760ms cubic-bezier(.22,1,.36,1) 180ms both;
}

.cinematic-opening-stage7::after {
  content: "DISIPLIN   •   PERSAUDARAAN   •   PRESTASI";
  position: absolute;
  right: 24px;
  bottom: 26px;
  color: rgba(255,255,255,.48);
  font: 700 8px/1 var(--font-body);
  letter-spacing: .15em;
  opacity: 0;
  animation: stage7MetaIn 360ms ease 480ms both;
}

.cinematic-opening-brand {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  text-align: center;
  opacity: 0;
  transform: translate3d(0,18px,0);
  animation: stage7BrandIn 520ms cubic-bezier(.22,1,.36,1) 80ms both;
}

.cinematic-opening-brand img {
  width: 92px;
  height: 92px;
  display: block;
  margin-bottom: 22px;
  object-fit: contain;
}

.cinematic-opening-brand strong {
  font: 800 clamp(26px,4vw,44px)/1 var(--font-heading);
  letter-spacing: -.035em;
}

.cinematic-opening-brand small {
  margin-top: 10px;
  color: #f5b91f;
  font: 700 9px/1 var(--font-body);
  letter-spacing: .24em;
}

.cinematic-opening-index {
  position: absolute;
  top: 24px;
  left: 24px;
  color: rgba(255,255,255,.42);
  font: 700 9px/1 var(--font-body);
  letter-spacing: .14em;
}

body:not(.stage7-opening) .hero.stage7-opening-complete .hero-copy {
  animation: stage7HeroRelease 620ms cubic-bezier(.22,1,.36,1) both;
}

html.motion-page-hidden *,
html.motion-page-hidden *::before,
html.motion-page-hidden *::after {
  animation-play-state: paused !important;
}

@keyframes stage7BrandIn {
  from { opacity: 0; transform: translate3d(0,18px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@keyframes stage7OrangeLine {
  0% { transform: scaleX(0); }
  58%,100% { transform: scaleX(1); }
}

@keyframes stage7MetaIn {
  from { opacity: 0; transform: translate3d(0,6px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@keyframes stage7CurtainExit {
  from { transform: translate3d(0,0,0); }
  to { transform: translate3d(0,-101%,0); }
}

@keyframes stage7HeroRelease {
  from { opacity: .35; transform: translate3d(0,16px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}

@media(max-width:820px) {
  .cinematic-opening-stage7::after {
    right: 16px;
    bottom: 22px;
    max-width: calc(100% - 32px);
    font-size: 7px;
    letter-spacing: .1em;
  }

  .cinematic-opening-stage7::before {
    height: 5px;
  }

  .cinematic-opening-brand img {
    width: 78px;
    height: 78px;
    margin-bottom: 18px;
  }

  .cinematic-opening-brand strong {
    font-size: 30px;
  }

  .cinematic-opening-index {
    top: 18px;
    left: 16px;
  }
}

@media(prefers-reduced-motion:reduce) {
  .cinematic-opening-stage7 {
    display: none !important;
    animation: none !important;
  }

  body.stage7-opening {
    overflow: auto;
  }
}

html[data-motion-mode="reduced"] .cinematic-opening-stage7 {
  display: none !important;
}
