/* Intro — riso print full-screen opener (3 scenes, matches storyboard) */
#mh-intro{position:fixed;inset:0;z-index:200;overflow:hidden;cursor:pointer;font-family:'LXGW WenKai TC',sans-serif;color:#171717}
#mh-intro *{box-sizing:border-box}
.in-scene{position:absolute;inset:0;background:#F2EEE4}
.in-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100vmin;height:100vmin}
.in-tex::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(23,23,23,.05) 0 1px,transparent 1px 7px);pointer-events:none;z-index:9}
.in-coral{background:#E15A5A}
@keyframes inPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.06);opacity:1}100%{transform:scale(1)}}
@keyframes inWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes inSlide{from{transform:translateX(-8%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes inRise{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
@keyframes inSpin{to{transform:rotate(360deg)}}
@keyframes inArrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes inGhost{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
.in-pop{animation:inPop 260ms cubic-bezier(.34,1.56,.64,1) both}
.in-wipe{animation:inWipe 280ms cubic-bezier(.22,1,.36,1) both}
.in-slide{animation:inSlide 360ms cubic-bezier(0,0,.2,1) both}
.in-rise{animation:inRise 300ms cubic-bezier(0,0,.2,1) both}
.in-mega{font-family:'LXGW WenKai TC',sans-serif;font-weight:700;line-height:.95;white-space:nowrap}
.in-label{font-family:'Space Mono',monospace;font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:clamp(9px,1.6vmin,13px)}
.in-zh{font-family:'LXGW WenKai TC',sans-serif;font-weight:700;letter-spacing:.15em}
/* BRAND */
.in-avatar-wrap{position:absolute;left:50%;top:4vmin;width:50vmin;height:50vmin;margin-left:-25vmin}
.in-avatar{position:relative;width:100%;height:100%;border-radius:50%;background:#E15A5A;overflow:hidden}
.in-avatar-ring{position:absolute;inset:-2.4vmin;border-radius:50%;animation:inSpin 14s linear infinite;z-index:2}
.in-avatar img{width:132%;height:132%;object-fit:cover;margin-left:-16%;margin-top:-16%}
.in-brandname{position:absolute;left:0;top:57vmin;width:100%;text-align:center;white-space:nowrap}
.in-brandname .zhname{font-family:'LXGW WenKai TC',sans-serif;font-weight:700;font-size:9.5vmin}
.in-brandname .enname{font-family:'Great Vibes','LXGW WenKai TC',cursive;font-weight:400;font-size:12vmin;color:#E15A5A;margin-left:2.2vmin}
.in-brandbar{position:absolute;left:50%;top:75vmin;transform:translateX(-50%);min-width:64vmin;max-width:92vmin;height:7.4vmin;padding:0 3vmin;background:#E15A5A;display:flex;align-items:center;justify-content:center}
.in-brandbar .in-zh{font-size:3.1vmin;color:#F2EEE4;white-space:nowrap}
.in-brandlabel{position:absolute;left:0;top:87vmin;width:100%;text-align:center;color:#E15A5A}
.in-scatter{position:absolute}
.in-scatter svg{width:7.5vmin;height:7.5vmin;display:block}
/* ABOUT rows */
.in-rows{position:absolute;left:7vmin;right:7vmin;top:14vmin}
.in-row{position:relative;height:23vmin;border-top:2px solid #171717;padding-top:3vmin}
.in-row:last-child{border-bottom:2px solid #171717}
.in-row .in-mega{font-size:8.6vmin}
.in-row .rzh{position:absolute;left:0;bottom:2.4vmin;font-size:3vmin;color:#43403a;white-space:nowrap}
.in-row svg{position:absolute;right:1vmin;top:5.5vmin;width:8vmin;height:8vmin}
/* OUTPUT */
.in-ghost{position:absolute;right:0;top:2vmin;font-family:'LXGW WenKai TC',sans-serif;font-weight:700;font-size:32vmin;color:#6B2B2A;line-height:1}
.in-out-mega{position:absolute;left:2vmin;top:30vmin;font-size:21vmin}
.in-out-arrow{position:absolute;left:0;top:60vmin;width:100%;height:11vmin;background:#171717;transform-origin:0 50%}
.in-out-word{position:absolute;left:8vmin;top:62.8vmin;font-size:5vmin;color:#F2EEE4;z-index:2;font-weight:700}
/* skip */
.in-skip{position:absolute;right:3.5vmin;top:3.5vmin;z-index:5;border:1.5px solid #171717;background:transparent;color:#171717;font-family:'Space Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.2em;padding:.55em 1em;cursor:pointer;opacity:0;animation:inRise 400ms ease-out 2s forwards}
.in-tap{position:absolute;left:50%;transform:translateX(-50%);bottom:4vmin;z-index:5;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.2em;color:#171717;opacity:0;animation:inTapBlink 2.2s ease-in-out 1s infinite}
@keyframes inTapBlink{0%,100%{opacity:.25}50%{opacity:.8}}
/* dark theme */
#mh-intro.in-dark{color:#F2EEE4}
.in-dark .in-scene{background:#211E1B}
.in-dark .in-tex::before{background:repeating-linear-gradient(45deg,rgba(242,238,228,.05) 0 1px,transparent 1px 7px)}
.in-dark .in-scene.in-coral{background:#E15A5A;color:#171717}
.in-dark .in-row{border-color:#F2EEE4}
.in-dark .in-row .rzh{color:#C9C3B8}
.in-dark .in-skip{border-color:#F2EEE4;color:#F2EEE4}
.in-dark .in-tap{color:#F2EEE4}
