.entrance{position:absolute;inset:0;z-index:8;background:#282a2c;pointer-events:none;display:flex;align-items:center;justify-content:center}.entrance[hidden]{display:none}.entrance svg{position:absolute;top:58%;width:250px;height:105px;overflow:visible}.is-entering .hero header{z-index:9;will-change:transform;pointer-events:none}.is-entering .hero .intro,.is-entering .hero footer,.is-entering .hero:after{animation:home-arrive 2.7s both}.entrance .node-left{animation:sync-left 2.2s ease-in-out both}.entrance .node-right{animation:sync-right 2.2s ease-in-out both}.entrance .node-center{animation:sync-center 2.2s ease-in-out both}.entrance .neck{animation:sync-neck 2.2s ease-in-out both;transform-origin:center;transform-box:fill-box}@keyframes home-arrive{0%,55%{opacity:0}100%{opacity:1}}@keyframes sync-left{0%{transform:translateX(-13px)}50%{transform:translateX(0)}100%{transform:translateX(-6px)}}@keyframes sync-right{0%{transform:translateX(13px)}50%{transform:translateX(0)}100%{transform:translateX(6px)}}@keyframes sync-center{0%,100%{transform:translateY(-5px)}50%{transform:translateY(0)}}@keyframes sync-neck{0%,100%{opacity:.2;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}@media(max-width:700px){.entrance svg{width:200px;top:58%}}@media(prefers-reduced-motion:reduce){.entrance{display:none}.is-entering .hero .intro,.is-entering .hero footer,.is-entering .hero:after{animation:none}}

/* Desktop: the scene itself performs the opening; no duplicate overlay shapes. */
.desktop-entering .hero .intro,.desktop-entering .hero footer,.desktop-entering .hero:after{opacity:var(--entry-reveal,0);pointer-events:none}
.desktop-entering .hero header{z-index:9;pointer-events:none}
.desktop-entering .hero .brand,.desktop-entering .hero .header-links{will-change:transform,opacity;transform-origin:left center}

/* The flag keeps its place during the opening and appears once logo and signature have arrived. */
.hero .language-switch{transition:opacity .6s ease .15s}
.desktop-entering .hero .language-switch{opacity:0;pointer-events:none;transition:none}
@media(prefers-reduced-motion:reduce){.hero .language-switch{transition:none}}
