.intro-mascot{position:absolute;z-index:3;top:58%;right:25%;width:118px;padding:0;border:0;background:none;color:#fff;cursor:pointer;display:grid;justify-items:center;gap:6px}
.intro-mascot img{width:104px;height:156px;object-fit:contain;transform-origin:50% 90%;animation:mascot-hello 5s ease-in-out infinite}
.intro-mascot span{font:600 14px/1.3 "DM Sans",sans-serif;background:#2d4135;padding:8px 12px;border:1px solid #ffffff80;border-radius:30px;white-space:nowrap;box-shadow:0 3px 15px #0003}
.intro-mascot:hover img{animation-duration:2s}.intro-mascot:focus-visible{outline:3px solid #fff;outline-offset:6px;border-radius:14px}
@keyframes mascot-hello{0%,45%,100%{transform:rotate(0)}8%,24%{transform:rotate(-7deg)}16%,32%{transform:rotate(6deg)}}
.intro-dialog{padding:12px;border:1px solid #ffffff40;border-radius:20px;background:#17221c;color:white;width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;box-shadow:0 24px 100px #0008}
.intro-dialog::backdrop{background:#102017d9;backdrop-filter:blur(6px)}
.intro-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 10px}.intro-dialog h2{font:600 16px/1.4 "DM Sans",sans-serif;margin:0}.intro-close{width:44px;height:44px;border-radius:50%;border:1px solid #ffffff70;background:transparent;color:white;font-size:28px;cursor:pointer}.intro-close:focus-visible{outline:3px solid #f0c39f}
.intro-dialog video{display:block;width:100%;max-height:calc(100dvh - 110px);aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:10px}.intro-video-fallback{font-size:14px;margin:8px}.intro-video-fallback a{text-decoration:underline}
body.intro-video-open{overflow:hidden}
@media(max-width:980px){.intro-mascot{top:52%;right:20%}}
@media(max-width:620px){.intro-mascot{top:54%;right:17%;width:92px}.intro-mascot img{width:72px;height:108px}.intro-mascot span{padding:6px 9px}.hero .hero-copy{padding-top:110px}}
@media(prefers-reduced-motion:reduce){.intro-mascot img{animation:none}}
