/* Finite logo opening. The page remains available beneath this decorative layer. */
.tp-brand-intro{position:fixed;inset:0;z-index:10050;pointer-events:none;overflow:hidden;isolation:isolate}
.tp-intro-curtain{position:absolute;inset:0;background:#080808}
.tp-intro-mark{position:absolute;left:50%;top:50%;width:min(82vw,1100px);aspect-ratio:500/140;transform:translate3d(-50%,-50%,0) scale(.54);transform-origin:center;will-change:transform}
.tp-intro-piece{position:absolute;inset:0;will-change:transform,opacity}
.tp-intro-talk{clip-path:inset(0 54% 0 0)}
.tp-intro-plast{clip-path:inset(0 0 0 46%)}
.tp-intro-piece img{display:block;width:100%;height:100%;max-width:none;object-fit:contain;user-select:none;-webkit-user-drag:none;filter:none}
.tp-intro-active .tp-intro-dock-hidden{opacity:0!important}
/* Optional early head flag; its CSS deadline also releases content if JS fails. */
html.tp-intro-preparing:before{content:"";position:fixed;inset:0;z-index:10040;background:#080808;pointer-events:none;animation:tp-intro-guard 1ms step-end 4s forwards}
@keyframes tp-intro-guard{to{opacity:0;visibility:hidden}}
@media(max-width:600px){.tp-intro-mark{width:calc(100vw - 36px)}}
@media(prefers-reduced-motion:reduce){.tp-brand-intro,html.tp-intro-preparing:before{display:none!important}.tp-intro-active .tp-intro-dock-hidden{opacity:1!important}}
