.celebration-lights i:nth-child(17) { animation-delay: -2.5s; left: 69%; top: 49%; transform: scale(.11); }
.celebration-lights i:nth-child(18) { animation-delay: -.7s; left: 19%; top: 8%; transform: scale(.12); }
.stage-frame { border: 1px solid rgba(215,182,91,.32); inset: 22px; pointer-events: none; position: absolute; z-index: 4; }
.stage-frame::before, .stage-frame::after { background: linear-gradient(90deg, transparent, var(--accent), transparent); content: ""; height: 1px; left: 18%; opacity: .7; position: absolute; right: 18%; }
.stage-frame::before { top: -1px; }
.stage-frame::after { bottom: -1px; }
.frame-corner { border-color: var(--accent); border-style: solid; height: 46px; opacity: .9; position: absolute; width: 46px; }
.frame-corner::before { border-color: var(--accent); border-style: solid; content: ""; height: 23px; opacity: .55; position: absolute; width: 23px; }
.frame-corner--tr { border-width: 2px 2px 0 0; right: -4px; top: -4px; }
.frame-corner--tr::before { border-width: 1px 1px 0 0; right: 8px; top: 8px; }
.frame-corner--tl { border-width: 2px 0 0 2px; left: -4px; top: -4px; }
.frame-corner--tl::before { border-width: 1px 0 0 1px; left: 8px; top: 8px; }
.frame-corner--br { border-width: 0 2px 2px 0; bottom: -4px; right: -4px; }
.frame-corner--br::before { border-width: 0 1px 1px 0; bottom: 8px; right: 8px; }
.frame-corner--bl { border-width: 0 0 2px 2px; bottom: -4px; left: -4px; }
.frame-corner--bl::before { border-width: 0 0 1px 1px; bottom: 8px; left: 8px; }
.stage-arc { border: 1px solid color-mix(in srgb, var(--accent) 24%, transparent); border-radius: 50% 50% 0 0; position: absolute; }
.stage-arc::after { border: 1px solid color-mix(in srgb, var(--accent) 10%, transparent); border-radius: inherit; content: ""; inset: 28px; position: absolute; }
.stage-arc--one { height: 1050px; right: -540px; top: -460px; width: 960px; }
.stage-arc--two { bottom: -650px; height: 1120px; left: -470px; width: 1050px; }
.stage-logo { background: linear-gradient(145deg, #fffdf7, #e8dab7); border: 1px solid rgba(215,182,91,.8); border-radius: 3px; box-shadow: 0 12px 42px rgba(0,0,0,.22); left: 52px; padding: 5px 8px; position: absolute; top: 36px; width: 148px; z-index: 5; }
.stage-logo img { display: block; mix-blend-mode: multiply; width: 100%; }
.stage-signature { align-items: center; color: rgba(255,255,255,.42); display: flex; font-size: 9px; gap: 10px; left: 225px; letter-spacing: .12em; position: absolute; top: 51px; z-index: 5; }
.stage-signature i { background: linear-gradient(90deg, rgba(255,255,255,.35), transparent); height: 1px; width: 60px; }
.stage-signature b { color: var(--accent); font-size: 11px; font-weight: 500; }
.stage-counter { align-items: center; display: flex; font: 11px Georgia, serif; gap: 8px; position: absolute; right: 52px; top: 43px; z-index: 5; }
.stage-counter span { color: var(--accent); }
.stage-counter b { color: rgba(255,255,255,.35); font-weight: 400; }
.stage-counter i { background: rgba(255,255,255,.3); height: 1px; width: 34px; }
.stage-slide { align-items: center; animation: slide-reveal .95s cubic-bezier(.2,.75,.2,1) both; display: flex; height: 100%; justify-content: center; padding: 105px clamp(60px, 7vw, 138px) 85px; position: relative; z-index: 2; }
.stage-kicker { color: var(--accent); font-size: clamp(12px, 1.2vw, 17px); font-weight: 500; letter-spacing: .12em; }
.intro-slide, .closing-slide { text-align: center; }
.intro-crown { align-items: center; color: var(--accent); display: flex; gap: 15px; justify-content: center; margin: 0 auto 24px; }
.intro-crown i { background: linear-gradient(90deg, transparent, var(--accent)); height: 1px; width: 74px; }
.intro-crown i:last-child { transform: scaleX(-1); }
.intro-crown span { align-items: center; border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent); border-radius: 50%; display: flex; height: 33px; justify-content: center; width: 33px; }
.intro-slide h1, .closing-slide h1 { font-size: clamp(100px, 15vw, 220px); font-weight: 800; letter-spacing: -.06em; line-height: .95; margin: 25px 0 34px; text-shadow: 0 18px 65px rgba(0,0,0,.26); }
.intro-slide h1 i { background: linear-gradient(110deg, #9a711b, #f5dda0 52%, #bd9030); -webkit-background-clip: text; background-clip: text; color: transparent; font-style: normal; }
.intro-slide p, .closing-slide p { color: rgba(255,255,255,.62); font-size: clamp(15px, 1.8vw, 25px); letter-spacing: .08em; }
.intro-seal { align-items: center; border: 1px solid color-mix(in srgb, var(--accent) 50%, transparent); border-radius: 50%; display: inline-flex; height: 68px; justify-content: center; margin-top: 28px; width: 68px; }
.intro-seal span { color: var(--accent); font: 18px Georgia, serif; }
.intro-seal small { font-size: 9px; margin-right: 2px; }
.person-slide { align-items: center; display: flex; flex-direction: column; gap: clamp(26px, 3.5vh, 42px); justify-content: center; max-width: 1660px; width: 100%; }
.person-portrait { flex: 0 0 auto; height: clamp(220px, 29vh, 310px); position: relative; width: clamp(220px, 29vh, 310px); }
.person-portrait > img, .person-portrait > span { border: 3px solid #ead18b; border-radius: 50%; box-shadow: 0 20px 70px rgba(0,0,0,.38), inset 0 0 30px rgba(0,0,0,.18); height: 100%; object-fit: cover; position: relative; width: 100%; z-index: 3; }
.person-portrait > span { align-items: center; background: radial-gradient(circle at 50% 30%, #1b6554, #0a2e26 52%, #03120f); color: var(--accent); display: flex; font-size: clamp(72px, 9vh, 120px); font-weight: 800; justify-content: center; text-shadow: 0 8px 35px rgba(0,0,0,.3); }
.person-portrait::after { background: linear-gradient(to top, rgba(4,23,18,.34), transparent 50%); border-radius: 50%; content: ""; inset: 3px; position: absolute; z-index: 4; }
.portrait-glow { background: radial-gradient(circle, color-mix(in srgb, var(--accent) 40%, transparent), transparent 66%); border-radius: 50%; filter: blur(12px); inset: -88px; position: absolute; }
.portrait-ring { border: 1px solid color-mix(in srgb, var(--accent) 68%, transparent); border-radius: 50%; position: absolute; }
.portrait-ring::before { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; inset: 7px; position: absolute; }
.portrait-ring--inner { inset: -15px; }
.portrait-ring--middle { animation: ring-pulse 4s ease-in-out infinite; border-style: dashed; inset: -38px; opacity: .68; }
.portrait-ring--outer { animation: ring-spin 30s linear infinite; border-style: dashed; inset: -69px; opacity: .4; }
.portrait-orbit { animation: ring-spin 18s linear infinite reverse; inset: -55px; position: absolute; z-index: 2; }
.portrait-orbit i { background: var(--accent); border-radius: 50%; box-shadow: 0 0 15px var(--accent); height: 7px; position: absolute; width: 7px; }
.portrait-orbit i:nth-child(1) { left: 50%; top: 0; }
.portrait-orbit i:nth-child(2) { right: 7%; top: 22%; }
.portrait-orbit i:nth-child(3) { bottom: 18%; right: 9%; }
.portrait-orbit i:nth-child(4) { bottom: 0; left: 48%; }
.portrait-orbit i:nth-child(5) { bottom: 22%; left: 8%; }
.portrait-orbit i:nth-child(6) { left: 6%; top: 20%; }
.person-portrait em { align-items: center; background: linear-gradient(145deg, #f4dfa3, #b88b2d); border: 3px solid #082c24; border-radius: 50%; bottom: -14px; box-shadow: 0 8px 28px rgba(0,0,0,.3); color: var(--ink); display: flex; font-style: normal; height: 52px; justify-content: center; position: absolute; right: 12px; width: 52px; z-index: 5; }
.person-content { max-width: 1480px; padding: 0 36px; position: relative; text-align: center; width: 100%; }
