/* Official delivery geometry; the central negative space becomes the aperture. */
.brand-entry{position:fixed;inset:0;z-index:10000;pointer-events:none;display:grid;place-items:center;overflow:hidden}
.entry-backing{position:absolute;inset:0;background:#080808;}
.entry-join,.entry-portal{width:160px;height:94.6px;position:absolute}
.entry-join{animation:none}
.symbol-half{position:absolute;inset:0;transform:translateX(var(--from));opacity:0}
.symbol-half svg{display:block;width:100%;height:100%}
.half-left{clip-path:inset(0 50% 0 0);--from:-100px}.half-right{clip-path:inset(0 0 0 49.9%);--from:100px}
.entry-portal{visibility:hidden;transform-origin:49% 61%;will-change:transform}
.entry-portal svg{width:100%;height:100%;overflow:visible}
@keyframes mark-join{from{transform:translateX(var(--from));opacity:0}25%{opacity:1}to{transform:translateX(0);opacity:1}}
@keyframes join-away{to{visibility:hidden}}
@keyframes backing-away{to{visibility:hidden}}
@keyframes portal-open{0%{visibility:visible;transform:scale(1)}15%{visibility:visible;transform:scale(1.12)}30%{visibility:visible;transform:scale(1.65)}45%{visibility:visible;transform:scale(2.9)}60%{visibility:visible;transform:scale(5.8)}75%{visibility:visible;transform:scale(12)}90%{visibility:visible;transform:scale(25)}100%{visibility:visible;transform:scale(42)}}
@media(prefers-reduced-motion:reduce){.brand-entry{display:none}}

.brand-entry.is-opening .entry-backing,.brand-entry.is-opening .entry-join{visibility:hidden;animation:none}.brand-entry.is-opening .entry-portal{animation:portal-open .48s linear forwards}@keyframes logo-breathe{50%{opacity:.65}}

.brand-entry.is-joining .symbol-half{animation:mark-join .36s cubic-bezier(.22,.8,.3,1) .04s both}.brand-entry.is-joining:not(.is-opening) .entry-join{animation:logo-breathe 1.6s ease-in-out .46s infinite}
