/* Door geometry is the single reveal gate, including autoplay and paused text rules. */
body.portal-waiting #begin .copy,body.portal-waiting #begin .copy *{visibility:hidden!important;pointer-events:none!important;animation:none!important}
body.portal-waiting #begin .copy>*{opacity:0!important}
body.portal-ready #begin .copy{visibility:visible}

/* Text travels from the space behind the doorway toward the reader. */
body.portal-ready #begin .copy>*{animation:portal-emerge .65s cubic-bezier(.16,.72,.2,1) both;transform-origin:50% 42%;backface-visibility:hidden}
body.portal-ready #begin .copy>.eyebrow{animation-delay:0s}
body.portal-ready #begin .copy>h2{animation-delay:.03s}
body.portal-ready #begin .copy>p:not(.eyebrow){animation-delay:.10s}
body.portal-ready #begin .copy>.primary{animation-delay:.16s}
body.portal-ready #begin .copy>small{animation-delay:.22s}
@keyframes portal-emerge{0%{opacity:0;filter:blur(5px);transform:translate3d(0,-14px,-260px) scale(.72);clip-path:inset(0 20% 0 20%)}45%{opacity:.9;filter:blur(1px);clip-path:inset(0 4% 0 4%)}100%{opacity:1;filter:none;transform:translate3d(0,0,0) scale(1);clip-path:inset(0)}}
@media(prefers-reduced-motion:reduce){body.portal-ready #begin .copy>*{animation:none;opacity:1;filter:none;transform:none;clip-path:none}}
