/* Respondo AI cinematic logo reveal (2026-10-18).
   Isolated presentation layer: existing theme, copy, navigation and app logic stay intact. */
.rl-logo-lock{overflow:hidden!important}
.rl-intro{position:fixed;inset:0;z-index:2147483100;display:grid;place-items:center;overflow:hidden;background:#020306;color:#fff;isolation:isolate;clip-path:inset(0 0 0 0);will-change:clip-path}
.rl-intro::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 50%,rgba(44,91,159,.22),transparent 29%),radial-gradient(circle at 50% 50%,rgba(255,255,255,.045),transparent 48%);animation:rl-light 3.2s ease both;pointer-events:none}
.rl-intro::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.93%,rgba(255,255,255,.11) 50%,transparent 50.07%),linear-gradient(0deg,transparent 49.93%,rgba(255,255,255,.11) 50%,transparent 50.07%);opacity:0;animation:rl-gridflash 1.7s .15s ease-out both;pointer-events:none}
.rl-intro.rl-is-leaving{transition:clip-path .78s cubic-bezier(.72,0,.19,1);clip-path:inset(0 0 100% 0)}
.rl-intro-inner{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;transform:translate3d(0,-2vh,0)}
.rl-intro-rings{position:absolute;width:min(68vw,460px);aspect-ratio:1;border:1px solid rgba(188,216,255,.13);border-radius:50%;box-shadow:0 0 0 51px rgba(142,188,255,.017),0 0 0 106px rgba(142,188,255,.014);animation:rl-rings 2.7s cubic-bezier(.16,.78,.15,1) both}
.rl-intro-rings::before,.rl-intro-rings::after{content:"";position:absolute;border-radius:50%;inset:12%;border:1px solid rgba(229,239,255,.20);border-right-color:transparent;border-bottom-color:transparent;animation:rl-turn 3s linear infinite}
.rl-intro-rings::after{inset:-22%;opacity:.5;animation-direction:reverse;animation-duration:5s}
.rl-intro-graphic{position:relative;width:clamp(162px,29vw,240px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 34px rgba(178,214,255,.17))}
.rl-intro-graphic svg{width:100%;height:100%;display:block;overflow:visible}
.rl-intro-trace{fill:none;stroke:#d3eaff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100;animation:rl-draw 1.03s .28s cubic-bezier(.28,.07,.17,1) forwards}
.rl-intro-solid{fill:#fff;opacity:0;filter:blur(6px);transform-box:fill-box;transform-origin:center;animation:rl-solid-in .7s 1.16s cubic-bezier(.1,.74,.14,1) forwards}
.rl-intro-burst{position:absolute;inset:-44%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.23),rgba(114,171,255,.11) 24%,transparent 60%);opacity:0;transform:scale(.2);animation:rl-burst .9s 1.20s ease-out both;pointer-events:none}
.rl-intro-name{position:relative;margin:13px 0 0;padding-left:.21em;font-size:clamp(25px,5.3vw,46px);font-weight:720;letter-spacing:.21em;line-height:1.18;color:#f5f8ff;opacity:0;transform:translate3d(0,27px,0);animation:rl-copy-in .8s 1.62s cubic-bezier(.16,.8,.24,1) forwards}
.rl-intro-caption{margin:12px 0 0;color:#a7b1c6;font-size:clamp(10px,1.8vw,13px);font-weight:550;letter-spacing:.07em;line-height:1.65;opacity:0;transform:translateY(12px);animation:rl-copy-in .7s 1.92s ease-out forwards}
.rl-intro-lines{position:absolute;inset:-20%;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 23deg at 50% 50%,rgba(159,195,255,.11) 0deg,transparent 1.5deg,transparent 23deg);mask-image:radial-gradient(circle,transparent 14%,#000 33%,transparent 66%);animation:rl-flare 1.0s 1.12s ease-out both}

@media(prefers-reduced-motion:reduce) { .rl-intro { display:none!important } }
@keyframes rl-light{0%{opacity:0;transform:scale(1.4)}30%{opacity:1}100%{opacity:1;transform:scale(1)}}
@keyframes rl-gridflash{0%,30%{opacity:0}55%{opacity:.4}100%{opacity:0}}
@keyframes rl-rings{0%{opacity:0;transform:scale(1.55) rotate(-28deg)}36%{opacity:1}80%{opacity:.7}100%{opacity:.15;transform:scale(.87) rotate(28deg)}}
@keyframes rl-turn{to{transform:rotate(360deg)}}
@keyframes rl-draw{to{stroke-dashoffset:0}}
@keyframes rl-solid-in{0%{opacity:0;filter:blur(7px);transform:scale(.93)}40%{opacity:1}100%{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes rl-burst{0%{opacity:0;transform:scale(.15)}25%{opacity:.8}100%{opacity:0;transform:scale(1.25)}}
@keyframes rl-copy-in{to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rl-flare{0%{opacity:0;transform:scale(.55) rotate(-25deg)}28%{opacity:.62}100%{opacity:0;transform:scale(1.15) rotate(8deg)}}
