/* Public-page motion: quiet reveals, native scrolling, no portal styling. */
.zc-intro{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;pointer-events:none;background:#11283e;color:#f5fbff;animation:zc-intro-exit .65s cubic-bezier(.76,0,.24,1) 3.35s both}
.zc-intro::before,.zc-intro::after{content:"";position:absolute;inset:-30%;pointer-events:none}
.zc-intro::before{background:linear-gradient(130deg,transparent 42%,#2753694d 42%,#2753694d 55%,transparent 55%);animation:zc-intro-drift 3.5s ease-out both}
.zc-intro::after{background:radial-gradient(ellipse at 25% 75%,#7a4de230,transparent 40%)}
.zc-intro-brand{position:relative;z-index:1;text-align:center;padding:28px;animation:zc-intro-word .85s cubic-bezier(.22,1,.36,1) both}
.zc-intro-line{display:block;margin:32px auto 24px;width:min(330px,65vw);height:2px;background:linear-gradient(90deg,#7a4de2,#34cbd5);transform-origin:left;animation:zc-intro-line 2.65s cubic-bezier(.4,0,.2,1) .2s both}
.zc-intro-brand p{font-size:clamp(.875rem,1.4vw,1.05rem);color:#b5cede;letter-spacing:.01em;animation:zc-intro-word .8s ease .45s both}
[data-zc-reveal].zc-awaiting{opacity:0;transform:translateY(26px)}
[data-zc-reveal=left].zc-awaiting{transform:translateX(-30px)}
[data-zc-reveal=right].zc-awaiting{transform:translateX(30px)}
[data-zc-reveal=frame].zc-awaiting{transform:scale(.975);opacity:0}
[data-zc-reveal].zc-entered{animation:zc-rise .85s cubic-bezier(.22,1,.36,1) var(--zc-delay,0ms) both}
[data-zc-reveal=left].zc-entered{animation-name:zc-from-left}
[data-zc-reveal=right].zc-entered{animation-name:zc-from-right}
[data-zc-reveal=frame].zc-entered{animation-name:zc-frame;animation-duration:1.15s}
[data-zc-reveal]:focus-within{opacity:1;transform:none;animation:none}
@keyframes zc-intro-word{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes zc-intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes zc-intro-drift{from{transform:translateX(-6%)}to{transform:translateX(0)}}
@keyframes zc-intro-exit{from{clip-path:inset(0);visibility:visible}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes zc-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes zc-from-left{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes zc-from-right{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes zc-frame{from{opacity:0;transform:scale(.975);clip-path:inset(3% 2% round 8px)}to{opacity:1;transform:none;clip-path:inset(0 round 8px)}}
@media(max-width:600px){[data-zc-reveal=left].zc-awaiting,[data-zc-reveal=right].zc-awaiting{transform:translateY(20px)}[data-zc-reveal=left].zc-entered,[data-zc-reveal=right].zc-entered{animation-name:zc-rise}}
@media(prefers-reduced-motion:reduce){.zc-intro{display:none!important}[data-zc-reveal].zc-awaiting,[data-zc-reveal].zc-entered{opacity:1!important;transform:none!important;animation:none!important;clip-path:none!important}html{scroll-behavior:auto!important}}
@media print{.zc-intro{display:none!important}[data-zc-reveal]{opacity:1!important;transform:none!important;animation:none!important}}
