.brand-opening{overflow-y:hidden}
.brand-launch{position:fixed;inset:0;z-index:1000;background:#143d30;color:#f8f5ed;display:grid;place-items:center;overflow:hidden}
.launch-surface{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:#143d30}
.launch-mark{position:relative;width:min(80vw,640px);aspect-ratio:1280/360}
.launch-wordmark{display:block;width:100%;height:auto;clip-path:inset(0 100% 0 0)}
.launch-sweep{position:absolute;top:14%;bottom:14%;left:0;width:2px;border-radius:2px;background:#c4a46e;opacity:0}
.launch-zh{margin:0;font:400 clamp(22px,6vw,30px)/1 'Moon Stars Kai',serif;letter-spacing:.42em;padding-left:.42em;color:#c4a46e;opacity:0;transform:translateY(8px)}
.launch-rule{display:block;width:min(30vw,120px);height:1px;background:#c4a46e;opacity:.7;transform:scaleX(0);transform-origin:center}
.launch-skip{position:absolute;right:22px;bottom:max(28px,env(safe-area-inset-bottom));min-height:44px;padding:0 20px;border:1px solid #f8f5ed55;background:transparent;border-radius:24px;color:#f8f5ed;font:14px system-ui,'Segoe UI',sans-serif;cursor:pointer}
.launch-skip:focus-visible{outline:2px solid #f8f5ed;outline-offset:5px}
@media(prefers-reduced-motion:no-preference){
 .is-playing .launch-wordmark{animation:launch-draw 1150ms cubic-bezier(.65,0,.2,1) 250ms forwards}
 .is-playing .launch-sweep{animation:launch-sweep 1150ms cubic-bezier(.65,0,.2,1) 250ms forwards}
 .is-playing .launch-zh{animation:launch-rise 650ms cubic-bezier(.16,1,.3,1) 1250ms forwards}
 .is-playing .launch-rule{animation:launch-rule 800ms cubic-bezier(.16,1,.3,1) 1350ms forwards}
 .brand-launch.is-exiting{opacity:0;pointer-events:none;transition:opacity 420ms cubic-bezier(.4,0,.2,1)}
 .is-exiting .launch-skip{opacity:0;transition:opacity 120ms ease}
 .is-exiting .launch-surface{transform:scale(1.03);transition:transform 420ms cubic-bezier(.4,0,.2,1)}
}
@keyframes launch-draw{to{clip-path:inset(0 0 0 0)}}
@keyframes launch-sweep{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 2px);opacity:0}}
@keyframes launch-rise{to{opacity:1;transform:none}}
@keyframes launch-rule{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.brand-launch{display:none}}
