/* IMPÉRIUM — cinematic opening vignette */
.imperium-root { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:#000; overflow:hidden; z-index:999999; opacity:1; }
.imperium-stage { position:relative; width:min(92vw,1200px); height:min(58vh,460px); display:flex; align-items:center; justify-content:center; transform:scale(var(--stage-scale,1)); transform-origin:center; will-change:transform,opacity; }
.imperium-wordmark-svg { width:100%; height:100%; overflow:visible; }
.imperium-wordmark-svg path,.imperium-wordmark-svg circle { stroke:#c9a14a; stroke-width:6; stroke-linecap:round; stroke-linejoin:round; fill:none; }
.imperium-wordmark-svg circle { fill:#c9a14a; stroke:none; }
.imp-crown { transform-origin:70px 64px; transform-box:fill-box; opacity:0; will-change:transform,opacity; }
.imp-letter { opacity:0; will-change:transform,opacity; }
.imp-letter path { will-change:stroke-dashoffset,opacity; }
.imp-draw path { stroke-dasharray:100; stroke-dashoffset:100; }
.phase-intro .imp-crown,.phase-intro .imp-letter { opacity:0; }
.phase-reveal .imp-crown { opacity:1; transform:translateX(430px); transition:opacity 1050ms cubic-bezier(.22,1,.36,1) 320ms,transform 1250ms cubic-bezier(.22,1,.36,1) 320ms; }
.phase-reveal .imp-moves { opacity:1; transition:opacity 1050ms cubic-bezier(.22,1,.36,1); }
.phase-reveal .imp-letter-0 { transform:translateX(430px); }
.phase-reveal .imp-letter-7 { transform:translateX(-375px); }
.phase-hold .imp-crown { opacity:1; transform:translateX(430px); }
.phase-hold .imp-moves { opacity:1; }
.phase-hold .imp-letter-0 { transform:translateX(430px); }
.phase-hold .imp-letter-7 { transform:translateX(-375px); }
.phase-transform .imp-crown { opacity:1; transform:translateX(0); transition:transform 1650ms cubic-bezier(.65,0,.35,1); }
.phase-transform .imp-moves { opacity:1; transition:transform 1650ms cubic-bezier(.65,0,.35,1); }
.phase-transform .imp-letter-0,.phase-transform .imp-letter-7 { transform:translateX(0); }
.phase-transform .imp-draw { opacity:1; transition:opacity 500ms ease-out; }
.phase-transform .imp-draw path { stroke-dashoffset:0; transition:stroke-dashoffset 800ms cubic-bezier(.45,0,.25,1),opacity 500ms ease-out; }
.phase-transform .imp-letter-2 { transition-delay:220ms; }
.phase-transform .imp-letter-3 { transition-delay:410ms; }
.phase-transform .imp-letter-4 { transition-delay:600ms; }
.phase-transform .imp-letter-5 { transition-delay:790ms; }
.phase-transform .imp-letter-6 { transition-delay:980ms; }
.phase-sweep .imp-crown { opacity:1; transform:translateX(0); }
.phase-sweep .imp-letter { opacity:1; }
.phase-sweep .imp-draw path { stroke-dashoffset:0; }
.phase-sweep .imp-letter-0,.phase-sweep .imp-letter-7 { transform:translateX(0); }
.phase-sweep .imperium-light { opacity:1; transform:translate(-50%,-50%) translateX(60%) scaleX(1.4); transition:transform 1050ms cubic-bezier(.33,1,.68,1),opacity 350ms ease-out; }
.phase-final .imp-crown { opacity:1; transform:translateX(0); filter:drop-shadow(0 0 10px rgba(201,161,74,.35)); transition:transform 650ms cubic-bezier(.22,1,.36,1),filter 750ms ease-out; }
.phase-final .imp-letter { opacity:1; }
.phase-final .imp-draw path { stroke-dashoffset:0; }
.phase-final .imp-letter-0,.phase-final .imp-letter-7 { transform:translateX(0); }
.phase-final .imperium-light { opacity:0; transform:translate(-50%,-50%) translateX(60%) scaleX(1.4); transition:opacity 550ms ease-out; }
.phase-outro .imperium-stage { transform:scale(var(--stage-scale,1)) scale(.985); opacity:.82; transition:transform 650ms cubic-bezier(.4,0,.2,1),opacity 650ms cubic-bezier(.4,0,.2,1); }
.phase-outro .imp-crown { opacity:1; transform:translateX(0); }
.phase-outro .imp-letter { opacity:1; }
.phase-outro .imp-draw path { stroke-dashoffset:0; }
.phase-outro .imp-letter-0,.phase-outro .imp-letter-7 { transform:translateX(0); }
.phase-complete { opacity:0; pointer-events:none; transition:opacity 450ms ease-out; }
.imperium-light { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scaleX(0); width:130%; height:160%; background:linear-gradient(100deg,transparent 38%,rgba(231,200,120,.08) 47%,rgba(231,200,120,.18) 50%,rgba(231,200,120,.08) 53%,transparent 62%); opacity:0; pointer-events:none; mix-blend-mode:screen; will-change:transform,opacity; }
@media(max-width:768px){.imperium-stage{--stage-scale:.82}}
@media(max-width:430px){.imperium-stage{--stage-scale:.66}}
@media(min-width:1920px){.imperium-stage{--stage-scale:1.15}}
.reduced-motion.phase-reveal .imp-crown { transform:translateX(430px); transition:opacity 900ms ease-out 150ms; }
.reduced-motion.phase-reveal .imp-moves { transition:opacity 900ms ease-out; }
.reduced-motion .imp-letter-0 { transform:translateX(430px)!important; transition:opacity 650ms ease-out!important; }
.reduced-motion .imp-letter-7 { transform:translateX(-375px)!important; transition:opacity 650ms ease-out!important; }
.reduced-motion.phase-transform .imp-crown { transform:translateX(0)!important; transition:transform 750ms ease-out 500ms; }
.reduced-motion.phase-transform .imp-letter-0,.reduced-motion.phase-transform .imp-letter-7 { transform:translateX(0)!important; transition:opacity 550ms ease-out!important; }
.reduced-motion.phase-transform .imp-draw { opacity:1; transition:opacity 650ms ease-out; }
.reduced-motion.phase-transform .imp-draw path { stroke-dashoffset:0; transition:opacity 550ms ease-out; }
.reduced-motion .imperium-light { display:none; }
.reduced-motion.phase-outro .imperium-stage { transform:scale(var(--stage-scale,1)); transition:opacity 650ms ease-out; }
