/* Short editorial entrance; never hides the document when scripting is unavailable. */
.intro-loader{display:none;position:fixed;inset:0;z-index:1000;background:var(--bg,#fff);color:var(--ink,#111);pointer-events:none;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:24px;overflow:hidden}
.intro-loader.is-active{display:flex;animation:intro-safety 1.7s step-end forwards}
.intro-loader.is-leaving{opacity:0;transform:translateY(-16px);transition:opacity .32s ease,transform .4s cubic-bezier(.16,1,.3,1)}
.intro-loader-mark{display:flex;align-items:center;gap:14px;font-family:var(--sans,Arial,sans-serif);font-size:clamp(25px,5vw,48px);font-weight:600;letter-spacing:-.055em;line-height:1.2}
.intro-loader-name{display:inline-block;animation:intro-name .65s cubic-bezier(.16,1,.3,1) both}
.intro-loader-dot{width:12px;height:12px;border-radius:50%;background:var(--blue,#7a1dac);animation:intro-dot .9s ease-in-out both;flex:none}
.intro-loader-caption{font:10px/1.6 var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary,#525252);animation:intro-name .6s .12s both}
.intro-loader-line{width:80px;height:1px;background:var(--line,#ddd);overflow:hidden}.intro-loader-line:after{content:'';display:block;width:100%;height:100%;background:var(--blue,#7a1dac);transform-origin:left;animation:intro-line .85s cubic-bezier(.16,1,.3,1) both}
@keyframes intro-name{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes intro-dot{0%{opacity:0;transform:scale(.4)}45%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
@keyframes intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-safety{to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.intro-loader.is-active{display:none}.intro-loader *{animation:none!important}.intro-loader.is-leaving{transition:none}}
