:root{--intro-orange:#ff6825;--intro-ink:#261f1b}
.linqdo-intro{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;overflow:hidden;background:#fff;color:var(--intro-ink);opacity:1;visibility:visible;pointer-events:auto;animation:introExit .45s cubic-bezier(.4,0,.2,1) 4.1s forwards}
.linqdo-intro[hidden],.intro-skip .linqdo-intro{display:none!important}
.linqdo-intro.is-leaving{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility 0s linear .55s}
.linqdo-intro-stage{position:relative;width:min(78vw,500px);aspect-ratio:3/1.25;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:translateY(-1vh)}
.intro-dot{position:absolute;left:50%;top:43%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--intro-orange);opacity:0;box-shadow:0 0 0 0 rgba(255,104,37,0);animation:dotBirth .55s ease-out forwards,dotLeave .22s ease .68s forwards}
.intro-q-draw{position:absolute;left:50%;top:43%;width:clamp(82px,18vw,124px);aspect-ratio:1;transform:translate(-50%,-50%);overflow:visible;opacity:0;filter:drop-shadow(0 0 0 rgba(255,104,37,0));animation:qAppear .1s linear .55s forwards,qVanish .18s ease 1.5s forwards}
.intro-q-draw circle,.intro-q-draw path{fill:none;stroke:var(--intro-orange);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320;animation:qDraw .65s cubic-bezier(.65,0,.25,1) .55s forwards}
.intro-q-draw path{stroke-dasharray:90;stroke-dashoffset:90;animation-delay:.86s}
.intro-logo-wrap{position:relative;width:100%;opacity:0;transform:translateY(6px);filter:blur(4px);clip-path:inset(0 38.5% 0 38.5%);animation:logoQIn .16s ease 1.68s forwards,logoReveal .58s cubic-bezier(.22,.75,.2,1) 1.84s forwards}
.intro-logo{display:block;width:100%;height:auto}
.intro-shine{position:absolute;inset:-20% auto -20% -35%;width:16%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);opacity:0;mix-blend-mode:screen;animation:shine .58s ease 2.08s forwards}
.intro-line{width:82%;height:2px;margin-top:5px;border-radius:100%;opacity:0;transform:scaleX(0);background:linear-gradient(90deg,transparent,rgba(255,104,37,.45) 22%,var(--intro-orange) 50%,rgba(255,104,37,.45) 78%,transparent);box-shadow:0 0 10px rgba(255,104,37,.15);animation:lineDraw .55s cubic-bezier(.2,.8,.2,1) 2.62s forwards}
.intro-tagline{margin:clamp(15px,3vw,24px) 0 0;font-size:clamp(19px,4vw,28px);font-weight:700;letter-spacing:.02em;opacity:0;transform:translateY(7px);animation:taglineIn .45s ease 3.15s forwards}
.intro-tagline span{color:var(--intro-orange)}
@keyframes dotBirth{0%{opacity:0;transform:scale(.15);box-shadow:0 0 0 0 rgba(255,104,37,0)}55%{opacity:1}100%{opacity:1;transform:scale(1);box-shadow:0 0 18px 6px rgba(255,104,37,.16)}}
@keyframes dotLeave{to{opacity:0;transform:scale(1.8)}}
@keyframes qAppear{to{opacity:1}}
@keyframes qDraw{to{stroke-dashoffset:0}}
@keyframes qVanish{0%{opacity:1;filter:drop-shadow(0 0 10px rgba(255,104,37,.4))}100%{opacity:0;visibility:hidden;filter:drop-shadow(0 0 0 rgba(255,104,37,0))}}
@keyframes logoQIn{to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes logoReveal{0%{clip-path:inset(0 38.5% 0 38.5%)}100%{clip-path:inset(0 0 0 0)}}
@keyframes shine{0%{left:-35%;opacity:0}20%{opacity:.7}75%{opacity:.35}100%{left:120%;opacity:0}}
@keyframes lineDraw{0%{opacity:0;transform:scaleX(0)}25%{opacity:1}100%{opacity:1;transform:scaleX(1)}}
@keyframes taglineIn{to{opacity:1;transform:translateY(0)}}
@keyframes introExit{to{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:560px){.linqdo-intro-stage{width:min(80vw,430px);aspect-ratio:3/1.55}.intro-logo-wrap{width:100%}.intro-line{width:88%}}
@media(prefers-reduced-motion:reduce){.linqdo-intro{animation:introExit .25s ease .55s forwards}.intro-dot,.intro-q-draw,.intro-shine,.intro-line{display:none}.intro-logo-wrap{opacity:1;transform:none;filter:none;clip-path:none;animation:none}.intro-tagline{opacity:1;transform:none;animation:none;margin-top:18px}}
