.cb-intro-lock { overflow:hidden; }
.cb-intro { position:fixed; inset:0; z-index:10000; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#000; opacity:1; transition:opacity .7s ease, visibility .7s ease; }
.cb-intro.is-leaving { opacity:0; visibility:hidden; }
.cb-intro::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%, rgba(159,126,58,.16), transparent 34%), radial-gradient(circle at 50% 54%, rgba(255,255,255,.05), transparent 55%); }
.cb-intro-glow { position:absolute; width:42vw; height:42vw; max-width:620px; max-height:620px; border-radius:50%; background:radial-gradient(circle, rgba(255,220,150,.23), rgba(160,120,50,.08) 35%, transparent 70%); filter:blur(12px); animation:intro-breathe 2.6s ease-in-out infinite; }
.cb-intro-logo { position:relative; color:#f4efe4; font-family:"Helvetica Neue",Arial,"PingFang SC",sans-serif; font-size:clamp(22px,3.1vw,54px); font-weight:300; letter-spacing:.32em; padding-left:.32em; text-shadow:0 0 18px rgba(255,235,190,.46), 0 0 52px rgba(224,180,92,.2); animation:intro-word 1.6s cubic-bezier(.22,.8,.25,1) both; }
.cb-intro-logo::after { content:""; position:absolute; inset:-30% -16%; background:linear-gradient(105deg, transparent 35%, rgba(255,240,200,.32) 50%, transparent 64%); transform:translateX(-70%); animation:intro-shine 2.1s .15s ease-in-out infinite; mix-blend-mode:screen; }
.cb-intro-cn { position:relative; margin-top:18px; color:rgba(232,216,188,.58); font-size:12px; letter-spacing:.45em; padding-left:.45em; animation:intro-cn 1.5s .25s ease-out both; }
.cb-intro-particles { position:absolute; inset:0; opacity:.8; background-image:radial-gradient(circle, rgba(255,218,142,.9) 0 1px, transparent 1.5px), radial-gradient(circle, rgba(255,239,196,.65) 0 1px, transparent 1.5px); background-size:170px 190px, 280px 240px; background-position:10% 70%, 70% 25%; animation: intro-particles 7s linear infinite; mask-image:radial-gradient(circle at 50% 55%, #000 0 35%, transparent 72%); }
@keyframes intro-word { 0% { opacity:0; transform:translateY(12px) scale(.97); letter-spacing:.52em; filter:blur(5px); } 100% { opacity:1; transform:none; letter-spacing:.32em; filter:blur(0); } }
@keyframes intro-cn { 0% { opacity:0; transform:translateY(8px); } 100% { opacity:1; transform:none; } }
@keyframes intro-shine { 0%, 45% { transform:translateX(-75%); } 75%, 100% { transform:translateX(75%); } }
@keyframes intro-breathe { 0%,100% { transform:scale(.9); opacity:.55; } 50% { transform:scale(1.08); opacity:1; } }
@keyframes intro-particles { from { background-position:10% 70%, 70% 25%; } to { background-position:20% 40%, 60% 55%; } }
@media (prefers-reduced-motion: reduce) { .cb-intro-logo, .cb-intro-logo::after, .cb-intro-cn, .cb-intro-glow, .cb-intro-particles { animation:none; } }

.cb-intro-gif { display:block; width:100%; height:100%; object-fit:cover; }
.cb-intro-glow,.cb-intro-logo,.cb-intro-cn,.cb-intro-particles { display:none; }
