.zfi-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;color:#eaf4fa;overflow:hidden;font-family:Inter,"Segoe UI",sans-serif}
.zfi-dialog::backdrop{background:#000}
.zfi-scene{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:32px 28px 90px}
.zfi-vector{display:block;width:min(540px,78vw);height:auto;overflow:visible;flex-shrink:0}
.zfi-caption{margin:0;font-size:10px;line-height:1.5;letter-spacing:4px;font-weight:500;color:#8197a4;text-align:center}
.zfi-skip{position:absolute;right:clamp(22px,4vw,60px);bottom:clamp(24px,5vh,48px);border:1px solid #28353d;border-radius:100px;padding:10px 17px;background:#10171c;color:#d8e6ed;font:500 12px "Segoe UI",sans-serif;cursor:pointer}
.zfi-skip:hover{border-color:#4b7184;background:#19262e}
.zfi-skip:focus-visible{outline:2px solid #16c9ed;outline-offset:5px}
.zfi-skip span{margin-left:11px;color:#16c9ed}
.zfi-dialog.zfi-exit{animation:zfi-exit 320ms ease forwards}
.zfi-trace{opacity:0;animation:zfi-trace-opacity 1650ms linear var(--part-delay) both}
.zfi-trace path,.zfi-trace polygon{stroke-width:4;stroke-dasharray:1;stroke-dashoffset:1;animation:zfi-draw 1250ms cubic-bezier(.35,0,.2,1) var(--part-delay) both}
.zfi-dots{opacity:0;animation:zfi-dotted-build 1450ms cubic-bezier(.25,.8,.25,1) var(--part-delay) both;transform-box:fill-box;transform-origin:center}
.zfi-fill{opacity:0;animation:zfi-fill 820ms cubic-bezier(.16,1,.3,1) both;transform-box:fill-box;transform-origin:center}
.zfi-fill-0{--shift-x:-23px;--shift-y:9px;animation-delay:730ms}
.zfi-fill-1{--shift-x:22px;--shift-y:-7px;animation-delay:850ms}
.zfi-fill-2{--shift-x:-9px;--shift-y:14px;animation-delay:1010ms}
.zfi-fill-3{--shift-x:13px;--shift-y:-11px;animation-delay:1180ms}
.zfi-fill-4{--shift-x:20px;--shift-y:8px;animation-delay:1320ms}
.zfi-tagline{opacity:0;animation:zfi-tagline 550ms ease 1760ms both}
.zfi-detail{opacity:0;animation:zfi-tagline 450ms ease 1740ms both}
.zfi-caption{opacity:0;animation:zfi-tagline 600ms ease 2000ms both}
.zfi-flecks{opacity:0;animation:zfi-flecks 1400ms steps(1,end) 70ms both}
@keyframes zfi-draw{0%{stroke-dashoffset:1}30%{stroke-dashoffset:.82}60%{stroke-dashoffset:.35}100%{stroke-dashoffset:0}}
@keyframes zfi-trace-opacity{0%{opacity:0}8%,68%{opacity:1}100%{opacity:0}}
@keyframes zfi-dotted-build{0%,16%{opacity:0;transform:translate(7px,9px);clip-path:inset(100% 0 0 0)}28%{opacity:.7;clip-path:inset(72% 0 0 0)}67%{opacity:.55;transform:translate(0,0);clip-path:inset(0 0 0 0)}100%{opacity:0;transform:translate(0,0);clip-path:inset(0 0 0 0)}}
@keyframes zfi-fill{0%{opacity:0;transform:translate(var(--shift-x),var(--shift-y));clip-path:inset(0 100% 0 0)}24%{opacity:.15}100%{opacity:1;transform:translate(0,0);clip-path:inset(0 0 0 0)}}
@keyframes zfi-tagline{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes zfi-flecks{0%{opacity:0}12%{opacity:.8}26%{opacity:.15}39%{opacity:.9}52%{opacity:0}63%{opacity:.6}81%,100%{opacity:0}}
@keyframes zfi-exit{to{opacity:0}}
@media(max-width:600px){.zfi-vector{width:88vw}.zfi-scene{gap:24px;padding-bottom:90px}.zfi-caption{font-size:9px;letter-spacing:3px}}
@media(prefers-reduced-motion:reduce){.zfi-dialog{display:none!important}.zfi-dialog *{animation:none!important}}

:root{--zfdn-intro-ready:1}
.zfi-skip{min-height:44px}

/* Official outer light treatment; the logo uses a solid original blue. */
.zfi-scene{gap:0;isolation:isolate}
.zfi-scene::before{content:"";position:absolute;z-index:-1;left:50%;top:46%;width:min(900px,110vw);aspect-ratio:1.7;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(11,116,246,.19) 0%,rgba(0,130,205,.055) 43%,transparent 70%);opacity:0;animation:zfi-official-aura 4200ms ease 250ms both;pointer-events:none}
.zfi-flecks{display:none}
.zfi-official-bloom{opacity:0;animation:zfi-official-bloom 3700ms cubic-bezier(.2,.6,.3,1) 550ms both}
@keyframes zfi-official-aura{0%{opacity:0}35%{opacity:.65}70%{opacity:.9}100%{opacity:.55}}
@keyframes zfi-official-bloom{0%{opacity:0}28%{opacity:.1}48%,76%{opacity:.6}100%{opacity:.35}}
@media(max-width:600px){.zfi-scene::before{width:116vw}}
@media(prefers-reduced-motion:reduce){.zfi-scene::before{animation:none!important;opacity:0}.zfi-official-bloom{animation:none!important;opacity:0}}
