#lictor-intro{position:fixed;inset:0;z-index:9999;overflow:hidden;cursor:pointer;background:radial-gradient(120% 95% at 50% 36%,#0a0705 0%,#050505 62%,#040404 100%);will-change:transform;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
#lictor-intro.le-exit{transition:transform .8s cubic-bezier(.76,0,.24,1);transform:translateY(-100%)}
#lictor-intro .le-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
/* ---- lockup (positioned under the badge by JS) ---- */
#lictor-intro .le-lockup{position:absolute;left:0;width:100%;text-align:center;pointer-events:none;padding:0 24px;box-sizing:border-box}
#lictor-intro .le-word{display:flex;justify-content:center;font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:clamp(30px,5vw,52px);letter-spacing:.28em;padding-left:.28em;line-height:1.1;white-space:nowrap}
#lictor-intro .le-ch{display:inline-block;opacity:0;filter:blur(7px);will-change:transform;transition:opacity .7s ease,filter .9s ease;background-image:linear-gradient(115deg,rgba(255,240,200,0) 43%,rgba(255,243,208,.95) 50%,rgba(255,240,200,0) 57%),linear-gradient(180deg,#FBEEDD 10%,#F4DCC4 55%,#D9B88F 95%);background-size:260% 100%,100% 100%;background-position:-170% 0,0 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent}
#lictor-intro .le-ch.gold{background-image:linear-gradient(115deg,rgba(255,240,200,0) 43%,rgba(255,246,214,.95) 50%,rgba(255,240,200,0) 57%),linear-gradient(180deg,#F6D48E 8%,#E8A33D 52%,#A06A22 95%)}
#lictor-intro .le-ch.on{opacity:1;filter:blur(0)}
#lictor-intro .le-ch.sw{animation:leSweep 1.05s ease-out forwards}
@keyframes leSweep{from{background-position:-170% 0,0 0}to{background-position:250% 0,0 0}}
#lictor-intro .le-sp{background:none;min-width:.5em}
#lictor-intro .le-rule{width:min(320px,64vw);height:1px;margin:18px auto 14px;background:linear-gradient(90deg,rgba(232,163,61,0),rgba(232,163,61,.85) 22%,#F6D48E 50%,rgba(232,163,61,.85) 78%,rgba(232,163,61,0));box-shadow:0 0 6px rgba(232,163,61,.4);transform:scaleX(0);transition:transform .95s cubic-bezier(.22,1,.36,1)}
#lictor-intro .le-rule.on{transform:scaleX(1)}
#lictor-intro .le-tag{display:flex;justify-content:center;align-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(15px,2.1vw,19px);letter-spacing:.045em;color:rgba(244,220,196,.78);min-height:1.6em}
#lictor-intro .le-caret{display:inline-block;width:1px;height:1.05em;margin-left:3px;background:rgba(232,163,61,.9);opacity:0}
#lictor-intro .le-caret.on{opacity:1;animation:leBlink .85s steps(1) infinite}
@keyframes leBlink{50%{opacity:0}}
#lictor-intro .le-caret.off{opacity:0;animation:none;transition:opacity .4s ease}
/* ---- thin gold corner frames (from B) ---- */
#lictor-intro .le-corner{position:absolute;width:60px;height:60px;pointer-events:none}
#lictor-intro .le-k0{top:26px;left:26px}
#lictor-intro .le-k1{top:26px;right:26px}
#lictor-intro .le-k2{bottom:26px;left:26px}
#lictor-intro .le-k3{bottom:26px;right:26px}
#lictor-intro .le-corner:before,#lictor-intro .le-corner:after{content:"";position:absolute;background:rgba(232,163,61,.38)}
#lictor-intro .le-corner:before{width:100%;height:1px;transform:scaleX(0);animation:leLineX .9s cubic-bezier(.22,1,.36,1) .6s forwards}
#lictor-intro .le-corner:after{width:1px;height:100%;transform:scaleY(0);animation:leLineY .9s cubic-bezier(.22,1,.36,1) .74s forwards}
#lictor-intro .le-k0:before{top:0;left:0;transform-origin:0 0}
#lictor-intro .le-k0:after{top:0;left:0;transform-origin:0 0}
#lictor-intro .le-k1:before{top:0;right:0;transform-origin:100% 0}
#lictor-intro .le-k1:after{top:0;right:0;transform-origin:100% 0}
#lictor-intro .le-k2:before{bottom:0;left:0;transform-origin:0 100%}
#lictor-intro .le-k2:after{bottom:0;left:0;transform-origin:0 100%}
#lictor-intro .le-k3:before{bottom:0;right:0;transform-origin:100% 100%}
#lictor-intro .le-k3:after{bottom:0;right:0;transform-origin:100% 100%}
@keyframes leLineX{to{transform:scaleX(1)}}
@keyframes leLineY{to{transform:scaleY(1)}}
@media (max-width:560px){#lictor-intro .le-k0,#lictor-intro .le-k1{top:16px}#lictor-intro .le-k2,#lictor-intro .le-k3{bottom:16px}#lictor-intro .le-k0,#lictor-intro .le-k2{left:16px}#lictor-intro .le-k1,#lictor-intro .le-k3{right:16px}#lictor-intro .le-corner{width:44px;height:44px}}
/* ---- done snap (skip / reduced-motion): descendants only, host exit transition untouched ---- */
#lictor-intro.le-done *{transition:none!important;animation:none!important}
#lictor-intro.le-done .le-ch{opacity:1;filter:none}
#lictor-intro.le-done .le-rule{transform:scaleX(1)}
#lictor-intro.le-done .le-caret{opacity:0}
#lictor-intro.le-done .le-corner:before{transform:scaleX(1)}
#lictor-intro.le-done .le-corner:after{transform:scaleY(1)}

/* --- production guards (added at port time) --- */
/* repeat visits / reduced motion: inline head guard sets html.intro-skip */
html.intro-skip .intro-overlay, html.intro-skip #lictor-intro { display: none !important; }
/* pure-CSS failsafe: if intro.js never executes, the overlay self-hides at 9s */
@keyframes liOverlayFailsafe { to { visibility: hidden; opacity: 0; z-index: -1; } }
#lictor-intro { animation: liOverlayFailsafe 0.3s 9s forwards; }
