/* ---------- Logo ---------- */
.sig{display:block;overflow:visible;filter:drop-shadow(0 0 1px var(--neon)) drop-shadow(0 0 6px var(--neon)) drop-shadow(0 0 18px var(--neon-far))}
.sig use,.sig path{fill:var(--sig);stroke:var(--sig);stroke-linejoin:round;stroke-linecap:round}
@keyframes flicker{0%,100%{opacity:1}8%{opacity:.3}12%{opacity:1}20%{opacity:.45}24%{opacity:1}55%{opacity:.75}58%{opacity:1}}

/* ---------- Intro ---------- */
#intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;pointer-events:auto;cursor:pointer}
#intro .veil{position:absolute;inset:0;background:var(--bg);transition:opacity .7s ease .15s}
#intro .veil::after{content:"";position:absolute;inset:0;background:radial-gradient(500px circle at 50% 45%,var(--glow-a),transparent 70%)}
#intro .stage{position:relative;display:grid;justify-items:center;gap:26px}
#intro .sig{width:min(230px,50vw);height:auto;transform-origin:center;transition:transform 1s var(--ease-io);animation:flicker .9s 1.25s linear both}
#intro .sig path{fill:transparent;stroke-width:12;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.4s var(--ease-io) forwards,fillin .5s 1.05s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill:var(--sig)}}
#intro .iname{display:flex;gap:.02em;font-family:var(--f-display);font-weight:600;font-size:clamp(15px,2vw,19px);letter-spacing:.34em;overflow:hidden;padding-left:.34em;transition:opacity .4s,transform .6s var(--ease-io)}
#intro .iname span{display:inline-block;transform:translateY(110%);animation:rise .8s var(--ease) forwards}
#intro .bar{width:120px;height:1px;background:var(--line-2);position:relative;overflow:hidden;transition:opacity .3s}
#intro .bar::after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);animation:load 1.6s var(--ease-io) forwards}
@keyframes load{to{transform:scaleX(1)}}
@keyframes rise{to{transform:none}}
#intro.leave{pointer-events:none}
#intro.leave .veil{opacity:0}
#intro.leave .iname{opacity:0;transform:translateY(-14px)}
#intro.leave .bar{opacity:0}
html.js.intro .brand .sig{opacity:0}

