.i-footer > .footer-light{--light-height:190px;position:absolute;inset:0;width:100%;max-width:none;margin:0;padding:0;display:block;pointer-events:none;z-index:4;opacity:0;transition:opacity .35s ease}
.i-footer > .footer-light.light-near{opacity:1}
.footer-light svg{position:absolute;top:calc(-1 * var(--light-height));left:0;width:100%;height:calc(var(--light-height) + 3px);overflow:visible;fill:none;stroke-linejoin:miter;stroke-linecap:butt}
.light-rail{stroke:#b7924e;stroke-width:1;opacity:.15;vector-effect:non-scaling-stroke}
.light-trace{stroke:#d7ad63;stroke-width:1;opacity:.6;stroke-dasharray:1000;stroke-dashoffset:1000;vector-effect:non-scaling-stroke}
.light-head{stroke:#fff0c6;stroke-width:2;stroke-dasharray:58 1000;stroke-dashoffset:58;opacity:0;filter:drop-shadow(0 0 4px #efbf65);vector-effect:non-scaling-stroke}
.light-arrive .light-trace{animation:footer-trace 1.65s cubic-bezier(.3,.05,.3,1) forwards!important}
.light-arrive .light-head{animation:footer-head 1.65s cubic-bezier(.3,.05,.3,1) forwards!important}
.light-join{position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;background:#ffecc0;opacity:0;transform:rotate(45deg);box-shadow:0 0 9px #ffdf9f,0 0 24px #e7a447}
.light-arrive .light-join{animation:footer-join 1.2s 1.5s ease-out forwards!important}
.light-edge{position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#b7924e33,#f7dba0,#b7924e33);transform:scaleX(0);transform-origin:center;box-shadow:0 0 10px #e6b65d80}
.light-arrive .light-edge{animation:footer-edge .85s 1.6s cubic-bezier(.16,1,.3,1) forwards!important}
.light-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0,rgba(216,166,74,.17),transparent 72%);opacity:0}
.light-arrive .light-wash{animation:footer-wash 1.8s 1.6s ease-out forwards!important}
.i-footer:has(.light-arrive) .i-footer-brand{transition:filter 1s 1.65s;filter:drop-shadow(0 0 9px #d8a64a48)}
@keyframes footer-trace{to{stroke-dashoffset:0}}
@keyframes footer-head{0%{opacity:0;stroke-dashoffset:58}8%{opacity:1}92%{opacity:1}100%{opacity:0;stroke-dashoffset:-1000}}
@keyframes footer-join{0%{opacity:0;transform:rotate(45deg) scale(.4)}25%{opacity:1;transform:rotate(45deg) scale(1.3)}100%{opacity:.75;transform:rotate(45deg) scale(.75)}}
@keyframes footer-edge{to{transform:scaleX(1)}}
@keyframes footer-wash{0%{opacity:0}30%{opacity:1}100%{opacity:.55}}
.light-follow .light-trace{animation:none!important;stroke-dashoffset:calc(1000 * (1 - var(--light-progress,0)))}
.light-follow .light-head{animation:none!important;opacity:1;stroke-width:5;stroke-linecap:round;stroke-dasharray:0 1000;stroke-dashoffset:calc(-1000 * var(--light-progress,0))}
.light-follow.light-arrive .light-trace{animation:none!important;stroke-dashoffset:0}
.light-follow.light-arrive .light-head{animation:none!important}
.light-follow.light-arrive .light-head{opacity:0;transition:opacity .2s}
.light-follow.light-arrive .light-join{animation-delay:0s!important}
.light-follow.light-arrive .light-edge,.light-follow.light-arrive .light-wash{animation-delay:.1s!important}
.i-footer:has(.light-follow.light-arrive) .i-footer-brand{transition-delay:.1s}
.i-footer:has(.light-follow.light-arrive) .i-footer-links a{color:#cfb783;transition:color .6s ease!important}
.i-footer:has(.footer-motto){min-height:220px;padding-top:130px;padding-bottom:40px}
.i-footer > .footer-motto{position:absolute;top:26px;left:5%;width:90%;margin:0;text-align:center;font-size:clamp(23px,3.2vw,43px);line-height:1.2;letter-spacing:-.045em;font-weight:400;color:#ece5d4;pointer-events:none;opacity:0;clip-path:inset(0 50% 0 50%)}
.footer-motto span:last-child{color:#d1b67a}
.i-footer:has(.light-arrive) > .footer-motto{animation:motto-emerge 1.15s .15s cubic-bezier(.16,1,.3,1) forwards!important}
@keyframes motto-emerge{0%{opacity:0;clip-path:inset(0 50% 0 50%);transform:translateY(5px)}30%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@media(max-width:650px){.i-footer > .footer-motto{top:24px;font-size:27px}.footer-motto span{display:block}.i-footer:has(.footer-motto){padding-top:130px}}
