html{scroll-behavior:smooth}
:root{--heroMinH:clamp(480px,64vw,860px);--heroAlign:center;--heroJustify:flex-end;--ctaWrapMt:44px;--badgeL:-8px;--badgeTop:50%;--badgeMt:-54px;--badgeTf:rotate(-10deg);--heroDir:row;--lionPos:absolute;--lionW:auto;--lionMt:0;--logoMt:0;--titleW:100%;--lionH:112%;--lionTx:translateX(-5%);--logoW:48%;--logoPad:40px clamp(16px,5vw,72px) 40px 0;--copyFs:clamp(14px,2.7vw,40px);--photoMinH:max(48.13vw,560px);--photoDisplay:flex;--photoImgPos:absolute;--photoImgH:100%;--photoAr:auto;--overlayDisplay:block;--photoTextPad:40px clamp(20px,5vw,80px);--photoTextW:max(42%,280px);--photoTextMax:540px;--photoTextFs:clamp(13px,1.4vw,16px)}
@media (max-width:640px){:root{--ctaWrapMt:56px;--badgeL:-10px;--badgeTop:-104px;--badgeMt:0;--badgeTf:rotate(-10deg) scale(.82);--heroMinH:0;--heroDir:column;--heroAlign:center;--heroJustify:flex-start;--lionPos:relative;--lionH:auto;--lionW:124%;--lionMt:-10%;--lionTx:none;--logoW:84%;--logoMt:-64%;--titleW:80%;--logoPad:0 0 40px;--copyFs:clamp(17px,4.6vw,22px);--photoMinH:0;--photoDisplay:block;--photoImgPos:relative;--photoImgH:auto;--photoAr:4/3;--overlayDisplay:none;--photoTextPad:8px 20px 0;--photoTextW:100%;--photoTextMax:none;--photoTextFs:15px}}
body{margin:0;background:#0e1220;color:#f3efe6;font-family:"Zen Kaku Gothic New",sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#f08a3c;text-decoration:none}
a:hover{color:#ffc9a0}
@keyframes nsTicketGlow{0%,100%{box-shadow:0 0 0 0 rgba(240,138,60,.55),0 0 12px rgba(240,138,60,.35)}50%{box-shadow:0 0 0 6px rgba(240,138,60,0),0 0 28px rgba(240,138,60,.8)}}
@keyframes nsTicketShine{0%{left:-60%}60%,100%{left:130%}}
@keyframes nsHaze{0%{opacity:0;filter:blur(18px);transform:translateY(10px) scale(1.15);letter-spacing:.3em}60%{opacity:.8;filter:blur(4px)}100%{opacity:1;filter:blur(0);transform:none;letter-spacing:.06em}}
@keyframes nsHazeGlow{0%,100%{text-shadow:0 0 18px rgba(230,198,122,.25),0 0 40px rgba(230,198,122,.1)}50%{text-shadow:0 0 28px rgba(230,198,122,.55),0 0 70px rgba(230,198,122,.25)}}
@keyframes nsGlowIn{0%{opacity:0;color:#2a2618;filter:blur(8px);text-shadow:0 0 0 rgba(230,198,122,0)}55%{opacity:.75;color:#9c8756;filter:blur(1.5px);text-shadow:0 0 20px rgba(230,198,122,.15)}100%{opacity:1;color:#e6c67a;filter:blur(0);text-shadow:0 0 18px rgba(230,198,122,.25),0 0 40px rgba(230,198,122,.1)}}
@keyframes nsStep{0%{opacity:0;transform:var(--r) scale(.85)}22%{opacity:.7;transform:var(--r) scale(1)}55%{opacity:.5}100%{opacity:0;transform:var(--r) scale(1.04)}}
@keyframes nsMist{0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.12)}}
@media (prefers-reduced-motion:reduce){[data-glow]{animation:none!important}[data-glow] span[data-shine]{display:none}}
.lp-link:hover{color:#f2cf73!important}
[data-haze] [data-mist]{opacity:0;transition:opacity 2s ease 1s}
[data-haze].on [data-mist]{opacity:1;animation:nsMist 6s ease-in-out 2.8s infinite}
[data-haze].on [data-fp]{animation:nsStep 1.9s ease-in-out var(--d) forwards}
[data-haze].on [data-ch]{animation:nsGlowIn 2.8s cubic-bezier(.4,0,.2,1) var(--d) forwards}
[data-haze].on h2{animation:nsHazeGlow 5s ease-in-out 3.4s infinite}
