/* Filmszerű, egyszer lefutó nyitóanimáció a kezdőlaphoz. */
.cinematic-opening-active { overflow:hidden; }
.cinematic-opening-active .home-hero .hero-content,
.cinematic-opening-active .home-hero .scroll-cue { opacity:0; transform:translateY(20px); }
.cinematic-hero-revealed .home-hero .hero-content,
.cinematic-hero-revealed .home-hero .scroll-cue { animation:hero-content-arrive .55s .08s cubic-bezier(.2,.8,.2,1) forwards; }

.opening-screen {
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  overflow:hidden;
  place-items:center;
  background:#041525;
  color:#fff;
  isolation:isolate;
}
.opening-screen::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 50% 46%,rgba(38,83,113,.32),transparent 38%),linear-gradient(135deg,#071d33,#020b14 78%);
}
.opening-inner { position:relative; display:grid; justify-items:center; text-align:center; }
.opening-logo-wrap { position:relative; line-height:0; }
.opening-logo {
  display:block;
  width:clamp(158px,25vw,224px);
  height:auto;
  opacity:1;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  transform:none;
  animation:logo-arrive .5s .05s cubic-bezier(.2,.8,.2,1) both;
}
.opening-logo-plane {
  position:absolute;
  z-index:3;
  top:3.5%;
  left:85.5%;
  width:15%;
  height:auto;
  opacity:0;
  border:0;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  pointer-events:none;
  transform:translate3d(-8%,-3%,0);
  transform-origin:50% 50%;
  backface-visibility:hidden;
  will-change:transform,opacity;
  contain:paint;
}
.opening-logo-plane.ready { opacity:1; }
.opening-route { width:min(340px,78vw); height:105px; margin:-1.25rem 0 -1rem; overflow:visible; }
.opening-route path {
  fill:none;
  stroke:#d8b270;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-dasharray:390;
  stroke-dashoffset:390;
  animation:route-draw 1.04s .47s ease-out forwards;
}
.opening-plane { display:none; }
.opening-tagline {
  margin:.85rem 0 0;
  color:#f7f2e8;
  opacity:.88;
  font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.05rem,2.5vw,1.42rem);
  letter-spacing:.01em;
  animation:tagline-arrive .36s .34s ease both;
}
.opening-screen.is-leaving { opacity:0; visibility:hidden; transition:opacity .42s ease,visibility 0s .42s; }

@keyframes logo-arrive { from { opacity:0; transform:scale(.965); } to { opacity:1; transform:none; } }
@keyframes route-draw { to { stroke-dashoffset:0; } }
@keyframes tagline-arrive { from { opacity:0; } to { opacity:.88; } }
@keyframes hero-content-arrive { to { opacity:1; transform:translateY(0); } }

@media (max-width:600px) {
  .opening-logo { width:174px; }
}

@media (prefers-reduced-motion:reduce) {
  .opening-screen { transition:opacity .14s ease,visibility 0s .14s; }
  .cinematic-hero-revealed .home-hero .hero-content,
  .cinematic-hero-revealed .home-hero .scroll-cue { animation:none; opacity:1; transform:none; }
}
